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.
- GetOrigin
- SetOrigin
- GetNormal
- SetNormal
- Init
- GetLocation
- SetLocation
- GetDistance
- GetPointLocation
- GetLineIntersection
- GetPlaneIntersection
- Mirror
- MirrorVector
- MirrorLine
- Copy
- Clone
- GetPointProjection
- GetVectorProjection
- GetNormalRay
Point_DG GetOrigin()
void SetOrigin(Point_DG origin)
Vect_DG GetNormal()
void SetNormal(Vect_DG normal)
bool Init(Point_DG point0, Point_DG point1, Point_DG point2)
Returns false if the points are not in general position and the initialisation has failed
IFrame_DG GetLocation()
Returns frame x,y plane of which is this plane and z axis is a normal.
void SetLocation(IFrame_DG frame)
Defines this plane as coinsiding with x,y plane of frame
double GetDistance(Point_DG point, out Point_DG pointNearestInPlane)
Returns distance from point. The out pointNearestInPlane is the nearest point on this plane
int GetPointLocation(Point_DG 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 Point_DG 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 Point_DG point)
Mirros [in,out] point across this plane.
void MirrorVector(ref Vect_DG 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.
Point_DG GetPointProjection(Point_DG point)
Vect_DG GetVectorProjection(Vect_DG vector)
ILine_DG GetNormalRay(Vect_DG vector)
Returns a ray along the normal at the origin of this.
|