Editing BoT
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
The “Bag o’ Triangles” (BoT) is a BRL-CAD primitive object used for representing triangle mesh objects. BoT objects may be surfaces or solids; topologically closed or open; clockwise, counter-clockwise, or unoriented; and with an optional global or per-face thickness for surfaces depending on the BoT mesh type. | The “Bag o’ Triangles” (BoT) is a BRL-CAD primitive object used for representing triangle mesh objects. BoT objects may be surfaces or solids; topologically closed or open; clockwise, counter-clockwise, or unoriented; and with an optional global or per-face thickness for surfaces depending on the BoT mesh type. | ||
− | = | + | == BoT types == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | ||
There are four primary BoT mesh modes implemented in BRL-CAD: | There are four primary BoT mesh modes implemented in BRL-CAD: | ||
− | # | + | # “surf” is a surface-only object with no volume information. Rays hitting a surf object should return a hit with a zero-thickness. Our obj, ply, and dxf importers presently create BoTs marked as this type. |
− | # | + | # “volume” is an explicit solid object that is topologically closed and should enclose some non-zero volume of space. Our proe export plugin; the stl, intaval, fastgen, and enf importers; and the make, inside, E, and facetize commands create BoTs marked as this type. |
− | # | + | # “plate” is an implicit solid object defined by a surface (which may or may not be topologically closed) and a specified thickness (similar to extrude). There can be e either a global thickness or a per-face thickness. The thickness is specified to either be centered about the surface (1/2 + 1/2 thickness) or a bidirectional extrusion distance (1 + 1 thickness). The shotliner mimics FASTGEN’s raytrace behavior when encountering this type of BoT object. Our fastgen and intaval converters create BoTs marked as this type. |
− | # | + | # “plate_nocos” is a plate mode specialization that is identical in all respects except that shotlining ignores the obliquity angle. This means that rays hitting this type of BoT return a segment distance equal to the BoT’s thickness regardless of the angle of intersection. None of our tools directly generate this object type. |
The first three modes are exactly what one would expect in order to represent the variety of triangle meshes that are commonly created by other CAD systems. The last mode, mode #4 (plate_nocose), is obviously a peculiar curiosity and prime for removal (in my opinion), but was undoubtedly added for some analysis customization. Some investigative research would have to be performed if we decide to deprecate this mode type (if you’re someone using this mode type, please speak up). | The first three modes are exactly what one would expect in order to represent the variety of triangle meshes that are commonly created by other CAD systems. The last mode, mode #4 (plate_nocose), is obviously a peculiar curiosity and prime for removal (in my opinion), but was undoubtedly added for some analysis customization. Some investigative research would have to be performed if we decide to deprecate this mode type (if you’re someone using this mode type, please speak up). | ||
Line 25: | Line 14: | ||
There’s also obviously not much difference between a #1 (surf) and a #3 (plate) with a zero thickness except the following: a) plates are defined as implicitly solid (by definition), b) surfaces are not solid (by definition), and c) there are a variety of plate mode raytrace behaviors implemented specifically to mimic FASTGEN behavior. | There’s also obviously not much difference between a #1 (surf) and a #3 (plate) with a zero thickness except the following: a) plates are defined as implicitly solid (by definition), b) surfaces are not solid (by definition), and c) there are a variety of plate mode raytrace behaviors implemented specifically to mimic FASTGEN behavior. | ||
− | = BoT | + | == Determining the mode of a BoT == |
− | + | Reading the 'mode' parameter will report the BoT mesh type: | |
− | + | mged> get YOUR_BOT_NAME mode | |
− | + | volume | |
− | + | mged> get YOUR_BOT_NAME orient | |
+ | rh | ||
− | + | That example shows that "YOUR_BOT_NAME" is a volume mode bot that has a right-hand (counter-clockwise) face orientation. |