BRL-CAD
|
BRL-CAD geometry library. This library is intended for generic geometry algorithms, such as point-in-polygon, does a line intersect a sphere, ear clipping triangulation of a polygon, etc. More...
Modules | |
Definitions | |
Common definitions for the headers used in bg.h (i.e. the headers found in include/bg) | |
Point Generation | |
Vertex binary search tree | |
View related geometric clipping | |
Line Segments | |
Plane/line/point calculations | |
Triangles | |
Oriented Bounding Rectangles/Rectangular Cuboids | |
Polygons | |
Axis Aligned Bounding Boxes | |
Separating Axis Theorem Tests | |
Convex Hulls | |
Surface Reconstruction | |
Level-of-Detail Geometry Generation | |
Files | |
file | bg.h |
Header file for the BRL-CAD Geometry Library, LIBBG. | |
BRL-CAD geometry library. This library is intended for generic geometry algorithms, such as point-in-polygon, does a line intersect a sphere, ear clipping triangulation of a polygon, etc.
Algorithms in this library should not require solid raytracing of the BRL-CAD CSG boolean hierarchy - routines using those high level constructs should be in libanalyze, which uses librt to do the necessary raytracing. libbg is lower level, and should depend only on the numerics library (libbn) and the libbu utility (libbu)
Strictly numerical algorithms, which do not involve 3D geometry concepts, belong in libbn. An example of something that would belong in libbn would be sparse matrix solving.
The functionality provided by this library is specified in the bg.h header or appropriate included files from the ./bg subdirectory.