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