DGKC Control Documentation


Skip Navigation Links.
Start page
Quick Start
Search Page
Installation
What is new
Licensing
Collapse ModelsModels
Collapse DG Kernel ControlDG Kernel Control
Collapse API ReferenceAPI Reference
Interface List
Vector Space
Collapse General GeometryGeneral Geometry
Collapse ModelModel
Collapse ViewView
Collapse General ComputingGeneral Computing
Collapse ViewsViews
Collapse Samples and TutorialsSamples and Tutorials
Collapse GraphicsGraphics
Collapse Math ObjectsMath Objects
Collapse DeprecatedDeprecated
Redistribution
Model Viewer
Support
Skip Navigation Links Go to ActiveX docs Search Documentation


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)

Returns a standard plane perpendicular to one of the axes. index is a zero-based index of the normal axis.


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 0-based 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 0-based 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 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


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)