Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
ofxDabGeom/README.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
61 lines (31 sloc)
2.89 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## ofxDabGeom | |
**Author**: Daniel Bisig - Coventry University, UK - [ad5041@coventry.ac.uk](ad5041@coventry.ac.uk) - Zurich University of the Arts, CH - [daniel.bisig@zhdk.ch](daniel.bisig@zhdk.ch) | |
**Dependencies**: [ofxDabBase](https://bitbucket.org/dbisig/ofxdabbase_011/src/master/), [ofxDabMath](https://bitbucket.org/dbisig/ofxdabmath_011/src/master/), [ofxAssimpModelLoader](https://openframeworks.cc/documentation/ofxAssimpModelLoader/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 |