Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
itascaxd::IPlane Class Referenceabstract

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 DVectgetOrigin () const =0
 Returns the plane origin.
 
virtual const OrientationgetOrientation () 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.
 

Detailed Description

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).

Member Enumeration Documentation

◆ IntersectCode

enum itascaxd::IPlane::IntersectCode

Possible intersection types.

Enumerator
icFront 

On the same side as the normal vector is pointing

icBehind 

On the opposide side as the normal vector is pointing.

icIntersect1 

Intersection with beginning on backside and end on frontside.

icIntersect2 

Intersection with beginning on frontside and end on backside.

Member Function Documentation

◆ getDistance()

virtual double itascaxd::IPlane::getDistance ( const DVect & v) const
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.

◆ getIntersection()

virtual IntersectCode itascaxd::IPlane::getIntersection ( const DVect & begin,
const DVect & end,
DVect * loc = 0,
double * dist = 0 ) const
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.


The documentation for this class was generated from the following file: