IFrame_DG Interface
IFrame_DG is implemented by Frames.
A standalone frame can be constructed with a IObjectGenerator_DG.Create<IPointMatrix_DG>() call.
Properties
 PointDgOrigin
Methods
 GetOrigin
 SetOrigin
 GetAxis
 GetAxisRay
 GetPlane
 Translate
 Translate
 TranslateGlobal
 TranslateGlobal
 Rotate
 Rotate
 Rotate
 Rotate
 Rotate
 RotateGlobal
 RotateGlobal
 RotateGlobal
 SetAxes
 SetupAxes
 Reset
 ResetOrientation
 Copy
 Push
 Pop
 ToLocal
 ToLocal
 ToGlobal
 ToGlobal
 ToLocalVector
 ToLocalVector
 ToGlobalVector
 ToGlobalVector
 ToLocalFrame
 ToGlobalFrame
 Invert
 Clone
 IsSame
 IsIdentity
void GetOrigin(out double x, out double y, out double z)
Returns global coordinates of the origin
void SetOrigin(double x, double y, double z)
x,y,z mist be global coordinates
void GetAxis(int index, out VectDg axis)
Coordinates of the returned vector are global
LineDg GetAxisRay(int index)
PlaneDg GetPlane(int index)
void Translate(VectDg vectBy)
vectBy is expected to have local coordinates (coordinates relative to the current state of the frame)
void Translate(double vx, double vy, double vz)
The coordinates are expected to be local (relative to the current state of the frame)
void TranslateGlobal(VectDg vectBy)
Coordinates of vectBy are assumed to be global.
void TranslateGlobal(double vx, double vy, double vz)
The parameters are assumed to be global coordinates.
void Rotate(double angle, VectDg axis)
angle is expected in radians. axis is expected to have coordinates relative to the current state of the frame
void Rotate(double angle, double vx, double vy, double vz)
angle is expected in radians. vx,vy,vz are expected to be relative to the current state of the frame.
void Rotate(double angle, Line_DG axis)
angle is expected in radians. axis is expected to have coordinates relative to the current state of the frame.
void Rotate(double angle, double xLocnAxis, double yLocnAxis, double zLocnAxis, double xDirAxis, double yDirAxis, double zDirAxis)
angle is expected in radians.
The coordinates are expected to be relative to the current state of the frame.
void Rotate(double angle, int axis)
angle is expected in radians.
axis is a 0based index of axis of this frame.
void RotateGlobal(double angle, VectDg axisGlobal)
angle is expected in radians.
Coordinates of axisGlobal are assumed to be global.
void RotateGlobal(double angle, Line_DG axisGlobal)
angle is expected in radians. Coordinates of axisGlobal are assumed to be global.
void RotateGlobal(double angle, int axis)
angle is expected in radians.
axis is a 0based index of axis of this frame.
void SetAxes(int axisInd0, VectDg axis0, int axisInd1, VectDg axis1)
angle is expected in radians. Coordinates of axis0 and axis1 are assumed to be global.
void SetupAxes(int axis0, VectDg axis, int axis1)
This method is designed to define orientation of the axes when direction of only one axis is specified and direction of the others are not important
so they can be constructed by an internal algorithm.
axis specifies direction of axis0th axis. axis1th axis is constructed to as orthogonal to axis
and points into an unspecified direction. The remaining axis is constructed as orthogonal to the first two.
void Reset()
Resets to default state: This frame coincides with the global frame
void ResetOrientation()
Resets axes to default state: Axes of this frame coincide with axes of the global frame. The origin remains unchanged
void Copy(IFrame_DG frame)
void Push()
Pushed the current state of the frame into an internal state stack
void Pop()
Restores this frame to the last state stored with Push(). Pops the stack
PointDg ToLocal(PointDg point)
Returns a copy of point with coordinates converted from global to local (to coordinates relative to this).
PointDg ToGlobal(PointDg point)
Returns a copy of point with coordinates converted from local to global.
VectDg ToLocalVector(VectDg vect)
Returns a copy of vect with coordinates converted from global to local.
VectDg ToGlobalVector(VectDg vect)
Returns a copy of vect with coordinates converted from local to global.
IFrame_DG ToLocalFrame(IFrame_DG frame)
Returns a new frame with coordinates of origin and axes converted from global to local (to this).
IFrame_DG ToGlobalFrame(IFrame_DG frame)
Returns a new frame with coordinates of origin and axes converted from local (from this) to global.
void Invert()
Inverts this frame. See Frames.
IFrame_DG Clone()
bool IsSame(IFrame_DG frame, double tolerance)
Returns true if frame is geometrically the same up to the tolerance.
bool IsIdentity(double tolerance)
