Itasca C++ Interface
|
Interface for the definition of a Plane in 3D space. More...
#include <iplane.h>
Public Types | |
enum | IntersectCode { icFront =0x01 , icBehind =0x02 , icIntersect1 =0x04 , icIntersect2 =0x08 } |
Possible intersection types. More... | |
Public Member Functions | |
virtual const DVect & | getOrigin () const =0 |
Returns the plane origin. | |
virtual const Orientation & | getOrientation () const =0 |
Returns the plane orientation. | |
virtual double | getDistance (const DVect &v) const =0 |
virtual IntersectCode | getIntersection (const DVect &begin, const DVect &end, DVect *loc=0, double *dist=0) const =0 |
virtual DVect | getClosestPoint (const DVect &v) const =0 |
Returns the closest point in the plane to v. | |
virtual void | setOrigin (const DVect &v)=0 |
Sets the plane origin. | |
virtual void | setOrientation (const Orientation &o)=0 |
Sets the plane orientation. | |
Interface for the definition of a Plane in 3D space.
This is the interface for the definition of a Plane in 3D space Either Normal or Dip an DipDirection may be specified to indication the planes orientation. Function wasDefinedByNormal() may be called to determine which was used, based on whether setNormal() or setDip(), setDipDirection() was called last.
In a Right Handed system: Dip is defined by the angle between the normal vector and the Z axis. Dip-Direction is defined as the angle of the projection of the normal vector onto the XY plane with the Y axis (clockwise position looking from +Z).
enum itascaxd::IPlane::IntersectCode |
Possible intersection types.
|
pure virtual |
Returns the distance of the point v from the plane, with a negative value indicating that it is on the side facing away from the normal vector.
|
pure virtual |
Calculates the intersection of the plane with a line segment (if any). The location of the intersection if present is placed in loc. dist is filled with the distance from begin to the intersection point.