IFrame_DG Interface
IFrame_DG is implemented by Frames.
A standalone frame can be constructed with a IObjectGenerator_DG.Create("IPointMatrix_DG") call.
- GetOrigin
- GetOrigin1
- SetOrigin
- SetOrigin1
- GetAxis
- GetAxisRay
- GetPlane
- Translate
- Translate1
- TranslateGlobal
- TranslateGlobal
- Rotate
- Rotate1
- Rotate2
- Rotate3
- Rotate4
- RotateGlobal
- RotateGlobal1
- RotateGlobal2
- SetAxes
- SetupAxes
- Reset
- ResetOrientation
- Copy
- Push
- Pop
- ToLocal
- ToLocal1
- ToGlobal
- ToGlobal1
- ToLocalVector
- ToLocalVector1
- ToGlobalVector
- ToGlobalVector1
- ToLocalFrame
- ToGlobalFrame
- Invert
- Clone
- IsSame
- IsIdentity
Point_DG GetOrigin()
Coordinates of the returned point are global
void GetOrigin1(out double x, out double y, out double z)
Returns global coordinates of the origin
void SetOrigin(Point_DG origin)
origin mist have global coordinates
void SetOrigin1(double x, double y, double z)
x,y,z mist be global coordinates
void GetAxis(int index, out Vect_DG axis)
Coordinates of the returned vector are global
LineDg GetAxisRay(int index)
PlaneDg GetPlane(int index)
Returns a standard plane perpendicular to one of the axes. index is a zero-based index of the normal axis.
void Translate(Vect_DG vectBy)
vectBy is expected to have local coordinates (coordinates relative to the current state of the frame)
void Translate1(double vx, double vy, double vz)
The coordinates are expected to be local (relative to the current state of the frame)
void TranslateGlobal(Vect_DG 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, Vect_DG axis)
angle is expected in radians. axis is expected to have coordinates relative to the current state of the frame
void Rotate1(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 Rotate2(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 Rotate3(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 Rotate4(double angle, int axis)
angle is expected in radians.
axis is a 0-based index of axis of this frame.
void RotateGlobal(double angle, Vect_DG axisGlobal)
angle is expected in radians.
Coordinates of axisGlobal are assumed to be global.
void RotateGlobal1(double angle, Line_DG axisGlobal)
angle is expected in radians. Coordinates of axisGlobal are assumed to be global.
void RotateGlobal2(double angle, int axis)
angle is expected in radians.
axis is a 0-based index of axis of this frame.
void SetAxes(int axisInd0, Vect_DG axis0, int axisInd1, Vect_DG axis1)
Coordinates of axis0 and axis1 are assumed to be global. axis0 and axis1 must not be collinear. The method applies orthogonalisation to axis1 and normalises both vectors. The third axis is calculated using the input.
void SetupAxes(int axis0, Vect_DG 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 axis0-th axis. axis1-th 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
Point_DG ToLocal(Point_DG point)
Returns a copy of point with coordinates converted from global to local (to coordinates relative to this).
void ToLocal1(ref Point_DG point)
Converts coordinates of point from global to local (to coordinates relative to this).
Point_DG ToGlobal(Point_DG point)
Returns a copy of point with coordinates converted from local to global.
void ToGlobal1(ref Point_DG point)
Converts coordinates of point from local to global.
Vect_DG ToLocalVector(Vect_DG vect)
Returns a copy of vect with coordinates converted from global to local.
void ToLocalVector1(ref Vect_DG vect)
Converts coordinates of vect from global to local.
Vect_DG ToGlobalVector(Vect_DG vect)
Returns a copy of vect with coordinates converted from local to global.
void ToGlobalVector1(ref Vect_DG vect)
Converts coordinates of vect from local to global.
void ToLocalFrame(IFrame_DG frame)
Converts coordinates of origin and axes of frame from global to local.
void ToGlobalFrame(IFrame_DG frame)
Converts coordinates of origin and axes of frame from local 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)
|