| 01:10.50 | brlcad | woooo |
| 04:08.15 | pra5ad_ | ^_^# |
| 04:22.26 | Twingy | can't get enough of that sea urchin eh? |
| 04:36.06 | brlcad | never |
| 04:49.18 | *** join/#brlcad cad613 (n=1805bd65@bz.bzflag.bz) | |
| 04:58.05 | pra5ad | @_@' |
| 06:59.07 | archivist_ | 4325 |
| 08:12.34 | *** join/#brlcad clock_ (n=clock@84-72-93-98.dclient.hispeed.ch) | |
| 09:12.31 | *** join/#brlcad Maloeran (n=alexis@modemcable084.164-81-70.mc.videotron.ca) | |
| 09:41.35 | *** join/#brlcad docelic (n=docelic@195.246.23.200) | |
| 12:36.21 | *** join/#brlcad cad438 (n=8028ff32@bz.bzflag.bz) | |
| 12:38.10 | cad438 | Hello, I have a problem using MGED. I hope this is the right place to get advice? |
| 12:39.56 | cad438 | I have version 7.2.4 installed, and it seems I can only select primitive shapes. I can't find anything like "solid selection" that is referred to on page 105 of the Butler et. al. manual |
| 12:40.23 | cad438 | Is there anyone actively following this box? |
| 13:14.58 | *** join/#brlcad AchiestDragon (n=dave@whipy.demon.co.uk) | |
| 14:40.13 | brlcad | cad438: sure is |
| 14:43.31 | brlcad | cad438: primitives are solids, some of the interface in mged has been reworded slightly since, but the words solids and primitives are pretty much interchangeable (i.e. there's a primitive select on the menu) |
| 14:56.06 | brlcad | or "Prim Select" to be more exact |
| 14:56.14 | brlcad | on the Edit menu |
| 15:04.56 | cad438 | Thank you! |
| 15:05.09 | cad438 | But that leaves me with another problem. |
| 15:06.39 | cad438 | What I am trying to do is to combine primitives into a combination (or region or whatever) and change the position of the assembly by rotating or translating. |
| 15:07.01 | brlcad | okay |
| 15:07.39 | cad438 | I am sure there must be an easy way to do that |
| 15:07.56 | cad438 | But I haven't found it yet. |
| 15:08.07 | brlcad | ah, well of course there is ;-) |
| 15:08.21 | brlcad | you've not gotten through the tutorial covering combinations yet? |
| 15:08.44 | cad438 | I have |
| 15:09.08 | cad438 | I even made the nice looking globe :-) |
| 15:09.59 | brlcad | say you create a couple primitives (e.g. make sph sph and make box arb8) |
| 15:10.16 | cad438 | yes? |
| 15:10.35 | brlcad | you position then where you like (e.g. sed sph and tra 1000 0 0) |
| 15:11.20 | brlcad | then you combine them into a region (r some_region.r u box - sph) |
| 15:11.52 | cad438 | Yes, I know how to do that, but what I was looking for is a way to do it the other way rounr. |
| 15:12.02 | cad438 | For instance... |
| 15:12.33 | brlcad | when you make regions, it doesn't automatically display them, so you can display it up (B some_region.r) |
| 15:12.38 | brlcad | not done yet ;) |
| 15:12.54 | brlcad | now say you want to translate/rotate/scale/whatever that region |
| 15:13.24 | brlcad | the gui way is to select Edit -> Matrix Selection |
| 15:14.19 | brlcad | you'd pic either the /some_region.r/sph or /some_region.r/box line and then some_region.r in the subsequent dialog to indicate that you want to edit the matrix over some_region.r |
| 15:15.24 | brlcad | The edit menu now has all the options you might hope for including scale, move, rotate |
| 15:16.10 | brlcad | or you can just issue the command line verisons: rot 100 0 0 and tra 0 1000 1000 and sca 1.2 etc |
| 15:16.34 | cad438 | I tried it this way, but as you explain it I am still acting on primitives, right? |
| 15:16.49 | cad438 | Or can I do this with a region within a region? |
| 15:16.50 | brlcad | nope |
| 15:17.15 | brlcad | a region within a region is a modeling error, but a combination with a region or region within a combination is okay |
| 15:17.23 | brlcad | or a combination within a combination |
| 15:18.11 | cad438 | yes, okay, that's what I meant really. But can I move a combination within a combination in the way you described it? |
| 15:18.23 | brlcad | when you make a region, that's akin to making a 'part' in other cad packages -- you're denoting the intent that it's something that takes up physical space instead of just being some template shape |
| 15:19.09 | brlcad | combinations of regions are akin to 'assemblies', combinations of primitives are merely grouped template shapes |
| 15:19.27 | brlcad | to answer your question, yes you can |
| 15:19.44 | brlcad | you go into matrix select, and select the matrix over the combination you wish you apply the modification to |
| 15:20.59 | cad438 | Thanks! I am trying to create a disk with a few boreholes equidistantly distributed over a ring. The boreholes themselves are not simpe cylinders, but are a combination of a few primitives. |
| 15:21.23 | cad438 | And I don't want to redraw them every time, you see. |
| 15:21.46 | cad438 | I'll try again to do it the way you suggest. |
| 15:22.47 | brlcad | yeah, that should be fine |
| 15:23.29 | brlcad | you can make a copy of the 'combination of a few primitives' template that you have positioning each one where you want it to be using the matrix selection |
| 15:24.12 | cad438 | That is indeed exactly what I want to do. |
| 15:24.43 | brlcad | just be sure to give each copy a unique name so that you can find it in the matrix selection |
| 15:25.08 | brlcad | it's all simple references, so it's very fast and compact |
| 15:33.32 | cad438 | I don't get it to work :-( |
| 15:33.44 | cad438 | When I choose for matrix select... |
| 15:33.55 | cad438 | I first have to select a primitive |
| 15:34.10 | cad438 | The combinations do not appear in the drop-down menu |
| 15:34.26 | brlcad | then you're not displaying the combination |
| 15:34.37 | brlcad | it only gives you a list of what's been "e"'d up |
| 15:34.48 | brlcad | type "who" to see what is currently being edited |
| 15:35.14 | brlcad | when you create the combination, it doesn't display/e it for you |
| 15:35.27 | brlcad | so you'd still be looking at the primitives only |
| 15:35.39 | cad438 | oops |
| 15:35.51 | brlcad | that was the B some_region.r in the example I gave to redisplay the newly created region or combination |
| 15:36.03 | cad438 | you're right, that's what's going on! |
| 15:40.30 | cad438 | No.... |
| 15:41.17 | brlcad | problem? |
| 15:41.32 | cad438 | In the first drop down that comes up after selecting "matrix select..." I have to select a primitive. |
| 15:42.00 | brlcad | the first drop down should have a path like /comb1/prim1 |
| 15:42.15 | cad438 | There are no combinations there, only the primitives belonging to the shown combinations |
| 15:42.30 | cad438 | yes |
| 15:43.11 | brlcad | /comb1/prim1 /comb1/prim2 etc yes? |
| 15:43.33 | cad438 | but I am trying to rotates /comb1/comb2/* within /comb1 |
| 15:44.01 | brlcad | okay, so then it's listing /comb1/comb2/prim1 /comb1/comb2/prim2 etc .. yes? |
| 15:44.22 | brlcad | or are you only seeing /comb2/prim1 /comb2/prim2 etc |
| 15:45.34 | cad438 | yes, it says /comb1/comb2/prim1 |
| 15:45.41 | brlcad | you want to edit the matrices of the combinations inside the combination, so you need to display that top-level comb1 |
| 15:45.46 | brlcad | okay, that's good |
| 15:46.06 | brlcad | you can select any one of the lines that says comb2 |
| 15:46.27 | brlcad | i presume you have a comb2 a comb3 a comb4 etc inside comb1 yes? |
| 15:46.52 | cad438 | yes |
| 15:46.59 | brlcad | good |
| 15:47.25 | brlcad | so yeah, select any one of the comb[2 through whatever] lines -- it doesn't matter that it displays the primitives underneath it |
| 15:48.14 | brlcad | it's effectively asking you what you want to treat as a coordinate system point of reference at the same time in case you need to position things exactly |
| 15:48.47 | brlcad | the second dialog will list comb2 prim1 prim2 prim3 -- select comb2 and you'll be editing the matrix over comb2 inside comb1 |
| 15:50.49 | *** join/#brlcad pra5ad (n=prasad@pool-70-17-248-207.balt.east.verizon.net) | |
| 15:56.56 | cad438 | No, it seems I am editing the matrix over comb2 inside comb1 relative to comb1/comb2/prim1 (which I selected in the first menu) |
| 15:57.22 | cad438 | Or else, the boreholes are rotating around themselves, rather than around the disk... |
| 15:58.18 | cad438 | Whci makes sense, because at no point I have told the software to use comb1 as a reference |
| 15:59.02 | cad438 | right? |
| 16:00.03 | cad438 | In fact, in the procedure I just followed, comb2 could as well have been the top-level combination, rather than comb1. |
| 16:05.43 | brlcad | right |
| 16:05.54 | brlcad | that's what I meant about the prim being the point of reference |
| 16:06.28 | brlcad | mged wants to use something inside comb2 as a point of reference for the coordinate system |
| 16:08.28 | brlcad | there is a way to set up alternative modeling axes too, but that's a rather advanced modeling technique that I wouldn't recommend until you've been using mged for a long time ;) |
| 16:11.15 | brlcad | if it's rotations you are having trouble with, you might be interested in Settings->Rotate About |
| 16:12.08 | brlcad | also Modes -> Axes to actually see the axes you are working with |
| 16:34.21 | cad438 | You have solved my problem! |
| 16:34.49 | cad438 | Thank you. |
| 16:34.52 | *** join/#brlcad DTRemenak (n=DTRemena@DHCP-170-143.caltech.edu) | |
| 16:36.42 | cad438 | It was not necessary to pack comb2 within comb1, the latter being the body of reference for rotation, as it is not possible to go up in the hierarchy to set the reference system. |
| 16:38.03 | cad438 | Instead I proceeded as you told me, picking any primitive in the region-to-be-rotated, and subsequently picking the region itself in the two menus of "matrix selection..." |
| 16:39.42 | cad438 | I then make sure that the axes of reference are set conveniently (in my case that was just the model origin, so that was easy) so that the choice made in the first menu is effectively disgarded. |
| 16:40.19 | cad438 | And finally the right commands for rotation can be given. |
| 16:40.28 | cad438 | Again, thanks a lot! |
| 16:40.47 | brlcad | no problem |
| 16:40.59 | brlcad | glad it all worked out :) |
| 16:44.20 | *** join/#brlcad pra5ad (n=prasad@pool-70-16-5-180.balt.east.verizon.net) | |
| 16:47.28 | cad438 | I got to go now, but I'll remeber this place! See you next time ;-) |
| 16:48.46 | brlcad | see you around |
| 17:10.35 | CIA-5 | BRL-CAD: 03brlcad * 10brlcad/autogen.sh: search for libtoolize14, make sure that we can pinpoint the alternate libtoolize's location via which/dirname in order to print instructions correctly. fix typo on glti |
| 17:28.38 | *** join/#brlcad clock_ (n=clock@84-72-95-186.dclient.hispeed.ch) | |
| 17:36.40 | *** join/#brlcad PrezKennedy (n=Apathy@pcp0011645240pcs.aberdn01.md.comcast.net) | |
| 20:10.03 | *** join/#brlcad mahesh (n=mahesh@12-217-228-235.client.mchsi.com) | |
| 20:40.29 | *** join/#brlcad mahesh (n=mahesh@12-217-228-235.client.mchsi.com) | |
| 20:52.45 | mahesh | Sean, are you there? |
| 20:57.02 | brlcad | perhaps ;) |
| 20:57.14 | mahesh | ha ha |
| 20:57.47 | mahesh | another question for you if you are not yet tired of answering |
| 20:57.54 | brlcad | never tired |
| 20:58.21 | mahesh | i am not able to understand clearly the function do_pixel in worker.c |
| 20:58.38 | mahesh | could you just tell me what it does with each pixel it takes as argument |
| 20:59.47 | brlcad | sure, give me sec |
| 21:01.05 | brlcad | do_pixel actually handles the processing of exactly one pixel |
| 21:02.25 | mahesh | but after processing that pixel, it should be writing to framebuffer or to a file? |
| 21:03.32 | brlcad | neither |
| 21:03.40 | brlcad | it stores the pixel result in memory |
| 21:04.02 | brlcad | in the application structure, there is a_color |
| 21:04.13 | brlcad | that is filled in with the rgb result |
| 21:04.38 | mahesh | oh ok...got it |
| 21:04.43 | brlcad | view_pixel() is called at the end to |
| 21:05.05 | brlcad | let the application handle what it wants to do with the pixel |
| 21:05.24 | brlcad | (it's a raytracer-specific function in view.c) |
| 21:07.00 | mahesh | how about making each node in the network call do_pixel on a chunk of pixels allocated to it? |
| 21:08.35 | brlcad | yes definitely |
| 21:08.48 | brlcad | you're basically going to need to define your own worker() |
| 21:08.59 | mahesh | cant be so simple isnt it :) ? |
| 21:09.09 | brlcad | :) |
| 21:09.24 | brlcad | not sure for certain until it's done ;) |
| 21:09.30 | mahesh | true |
| 21:14.38 | brlcad | bu_parallel() is called with worker() to run worker() on each processor |
| 21:16.17 | brlcad | all the worker()'s running in parallel on the various cpus available coordinate processing chunks of pixels at a time |
| 21:18.41 | brlcad | so I imagine that there's effectively two functions that you'll have to write |
| 21:19.11 | mahesh | bu_distributed and worker? |
| 21:19.13 | brlcad | a bu_parallel of your own (call it bu_parallel or bu_distributed or whatever) |
| 21:20.05 | brlcad | and yes, a worker (mpi_worker perhaps) routine that will handle actually shoveling off work to remote hosts (who could in turn call bu_parallel with worker) |
| 21:27.05 | mahesh | right...things are more clear now |
| 23:11.46 | *** join/#brlcad Twingy (n=justin@pcp0011647505pcs.aberdn01.md.comcast.net) | |