ofxDabGeom
Author: Daniel Bisig - Coventry University, UK - ad5041@coventry.ac.uk - Zurich University of the Arts, CH - daniel.bisig@zhdk.ch
Dependencies: ofxDabBase, ofxDabMath, ofxAssimpModelLoader
Summary
ofxDabGeom provides a variety of two and three dimensional geometrical objects including methods for calculating their axis aligned bounding boxes, closest points, and intersections. The following geometrical objects are available: Ray, Line, Polyline, Triangle, Plane, Cuboid, Polysurface, Spline, Splinesurface, and Mesh. The code is compatible with OpenFrameworks 0.11 and has been tested on Windows and MacOS. The following classes are available.
Geometry: base class of all geometrical objects
GeometryGroup: composite geometry consisting of other geometries and geometry groups.
Ray: infinite line with origin and direction
Line: finite line with start and end point
PolyLine: consecutive line segments
LineTools: calculate closest points between point and ray, point and line, point and polyline, and intersection between two rays, ray and line, two lines, ray and polyline, line and polyline
Triangle: triangle defined by three corner points
TrangleTools: calculate distance between point and triangle, projection of point into triangle, closest point to triangle
Plane: infinite plan with origin and normal
PlaneTools: calculate closest point, intersection between ray and plane, line intersection of two planes
Cuboid: Axis aligned bounding box with minimum and maximum position
CuboidTools: calculate closest point to cuboid surface, interaction between ray and cuboid
PolySurface: Surface consisting of vertices organised in rows and columns
Spline: Polyline consisting of control points and vertices, the latter of which are calculated using a line interpolation algorithm
SplineGroup: Multiple splines sharing the same interpolation algorithm
SplineAlgorithm: base class for calculating interpolated vertices from control points
LineAlg: Linear interpolation algorithm
BSplineAlg: BSpline based interpolation algorithm
BezierSplineAlg: Bezier based interpolation algorithm
HermiteSplineAlg: Hermite based interpolation algorithm
SplineTools: calculate closest points or closest indices between point and spline
SplineSurface: Polysurface consisting of control points and vertices, the latter of which are calculated using a surface interpolation algorithm
LineSurfaceAlg: Linear surface interpolation algorithm
BSurfaceAlg: BSpline based surface interpolation algorithm
BezierSurfaceAlg: Bezier based surface interpolation algorithm