The following is an overview of our triangle mesh types in BRL-CAD.  Read on
if that sounds interesting to you.

This has come up several times before, so I thought I¹d share a brief
refresher/overview on the available ³Bag of Triangles² (BoT) mesh modes that
we have implemented in BRL-CAD.  As far as I know, these are all modes that
are still or have been in active use at some point in time, though one of
them could be under removal consideration.  The four modes are:

1. ³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.
2. ³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.
3. ³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 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. 
4. ³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 that I¹m not familiar with.  Some
investigative research would have to be performed if we wanted to deprecate
it (if you¹re someone using this mode type, please speak up).

There¹s also not much difference between a #1 (surf) and a #3 (plate) with a
zero thickness that I¹m aware of 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.

I¹ve uploaded this content to the BRL-CAD wiki at:
http://brlcad.org/wiki/BoT
Feel free to expand upon it with additional pertinent information.

Cheers!
Sean

------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
BRL-CAD Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-users

Reply via email to