IPlane_DG Interface
A 3D plane defined by a point and a normal vector.
A standalone plane can be constructed via IObjectGenerator_DG.Create("IPlane_DG") > IPlane_DG query.
Implements also: IObject_DG.
Properties
 PointDg Origin
 VectDg Normal
 IFrame_DG Location
Methods
 Init
 GetDistance
 GetPointLocation
 GetLineIntersection
 GetPlaneIntersection
 Mirror
 MirrorVector
 MirrorLine
 Copy
 Clone
 GetPointProjection
 GetVectorProjection
 GetNormalRay
bool Init(PointDg point0, PointDg point1, PointDg point2)
Returns false if the points are not in general position and the initialisation has failed
double GetDistance(PointDg point, out PointDg pointNearestInPlane)
Returns distance from point. The out pointNearestInPlane is the nearest point on this plane
int GetPointLocation(PointDg point, double tolerance)
Returns 0 is the point is inside the plane, 1 if is on the side where normal points to and 1 otherwise
bool GetLineIntersection(ILine_DG line, out PointDg intersection, out double positionLine)
Returns false if line is parallel to this or lies in this. [out] positionLine is parameter along line, which is the distance from origin of the line.
ILine_DG GetPlaneIntersection(IPlane_DG plane)
Returns intersection line of the two planes.
void Mirror(ref PointDg point)
Mirros [in,out] point across this plane.
void MirrorVector(ref VectDg vector)
Mirros [in,out] vector across this plane.
void MirrorLine(ref ILine_DG line)
Mirros [in,out] line across this plane.
void Copy(IPlane_DG plane)
IPlane_DG Clone()
Returns a new copy of this.
PointDg GetPointProjection(PointDg point)
VectDg GetVectorProjection(VectDg vector)
ILine_DG GetNormalRay(VectDg vector)
Returns a ray along the normal at the origin of this.
