AnyCAD Rapid SDK  2020
The Rapid CAD SDK
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
GAx3 Class Reference

Public Member Functions

synchronized void delete ()
 
 GAx3 ()
 
 GAx3 (GAx2 A)
 
 GAx3 (GPnt P, GDir N, GDir Vx)
 
 GAx3 (GPnt P, GDir V)
 
void XReverse ()
 
void YReverse ()
 
void ZReverse ()
 
void SetAxis (GAx1 A1)
 
void SetDirection (GDir V)
 
void SetLocation (GPnt P)
 
void SetXDirection (GDir Vx)
 
void SetYDirection (GDir Vy)
 
double Angle (GAx3 Other)
 
GAx1 Axis ()
 
GAx2 Ax2 ()
 
GDir Direction ()
 
GPnt Location ()
 
GDir XDirection ()
 
GDir YDirection ()
 
boolean Direct ()
 
boolean IsCoplanar (GAx3 Other, double LinearTolerance, double AngularTolerance)
 
boolean IsCoplanar (GAx1 A1, double LinearTolerance, double AngularTolerance)
 
void Mirror (GPnt P)
 
GAx3 Mirrored (GPnt P)
 
void Mirror (GAx1 A1)
 
GAx3 Mirrored (GAx1 A1)
 
void Mirror (GAx2 A2)
 
GAx3 Mirrored (GAx2 A2)
 
void Rotate (GAx1 A1, double Ang)
 
GAx3 Rotated (GAx1 A1, double Ang)
 
void Scale (GPnt P, double S)
 
GAx3 Scaled (GPnt P, double S)
 
void Transform (GTrsf T)
 
GAx3 Transformed (GTrsf T)
 
void Translate (GVec V)
 
GAx3 Translated (GVec V)
 
void Translate (GPnt P1, GPnt P2)
 
GAx3 Translated (GPnt P1, GPnt P2)
 

Protected Member Functions

 GAx3 (long cPtr, boolean cMemoryOwn)
 
void finalize ()
 

Static Protected Member Functions

static long getCPtr (GAx3 obj)
 

Protected Attributes

transient boolean swigCMemOwn
 

Detailed Description

Describes a coordinate system in 3D space. Unlike a gp_Ax2 coordinate system, a gp_Ax3 can be right-handed ("direct sense") or left-handed ("indirect sense"). A coordinate system is defined by: - its origin (also referred to as its "Location point"), and - three orthogonal unit vectors, termed the "X Direction", the "Y Direction" and the "Direction" (also referred to as the "main Direction"). The "Direction" of the coordinate system is called its "main Direction" because whenever this unit vector is modified, the "X Direction" and the "Y Direction" are recomputed. However, when we modify either the "X Direction" or the "Y Direction", "Direction" is not modified. "Direction" is also the "Z Direction". The "main Direction" is always parallel to the cross product of its "X Direction" and "Y Direction". If the coordinate system is right-handed, it satisfies the equation: "main Direction" = "X Direction" ^ "Y Direction" and if it is left-handed, it satisfies the equation: "main Direction" = -"X Direction" ^ "Y Direction" A coordinate system is used: - to describe geometric entities, in particular to position them. The local coordinate system of a geometric entity serves the same purpose as the STEP function "axis placement three axes", or - to define geometric transformations. Note: - We refer to the "X Axis", "Y Axis" and "Z Axis", respectively, as the axes having: - the origin of the coordinate system as their origin, and - the unit vectors "X Direction", "Y Direction" and "main Direction", respectively, as their unit vectors. - The "Z Axis" is also the "main Axis". - gp_Ax2 is used to define a coordinate system that must be always right-handed.

Constructor & Destructor Documentation

GAx3.GAx3 ( )

Creates an object corresponding to the reference coordinate system (OXYZ).

GAx3.GAx3 ( GAx2  A)

Creates a coordinate system from a right-handed coordinate system.

GAx3.GAx3 ( GPnt  P,
GDir  N,
GDir  Vx 
)

Creates a right handed axis placement with the "Location" point P and two directions, N gives the "Direction" and Vx gives the "XDirection". Raises ConstructionError if N and Vx are parallel (same or opposite orientation).

GAx3.GAx3 ( GPnt  P,
GDir  V 
)

Creates an axis placement with the "Location" point

and the normal direction <V>.

Member Function Documentation

double GAx3.Angle ( GAx3  Other)

Computes the angular value between the main direction of <me> and the main direction of <Other>. Returns the angle between 0 and PI in radians.

GAx2 GAx3.Ax2 ( )

Computes a right-handed coordinate system with the same "X Direction" and "Y Direction" as those of this coordinate system, then recomputes the "main Direction". If this coordinate system is right-handed, the result returned is the same coordinate system. If this coordinate system is left-handed, the result is reversed.

GAx1 GAx3.Axis ( )

Returns the main axis of <me>. It is the "Location" point and the main "Direction".

boolean GAx3.Direct ( )

Returns True if the coordinate system is right-handed. i.e. XDirection().Crossed(YDirection()).Dot(Direction()) > 0

GDir GAx3.Direction ( )

Returns the main direction of <me>.

boolean GAx3.IsCoplanar ( GAx3  Other,
double  LinearTolerance,
double  AngularTolerance 
)

Returns True if . the distance between the "Location" point of <me> and <Other> is lower or equal to LinearTolerance and . the distance between the "Location" point of <Other> and <me> is lower or equal to LinearTolerance and . the main direction of <me> and the main direction of <Other> are parallel (same or opposite orientation).

boolean GAx3.IsCoplanar ( GAx1  A1,
double  LinearTolerance,
double  AngularTolerance 
)

Returns True if . the distance between <me> and the "Location" point of A1 is lower of equal to LinearTolerance and . the distance between A1 and the "Location" point of <me> is lower or equal to LinearTolerance and . the main direction of <me> and the direction of A1 are normal.

GPnt GAx3.Location ( )

Returns the "Location" point (origin) of <me>.

GAx3 GAx3.Mirrored ( GPnt  P)

Performs the symmetrical transformation of an axis placement with respect to the point P which is the center of the symmetry. Warnings : The main direction of the axis placement is not changed. The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed.

GAx3 GAx3.Mirrored ( GAx1  A1)

Performs the symmetrical transformation of an axis placement with respect to an axis placement which is the axis of the symmetry. The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation.

GAx3 GAx3.Mirrored ( GAx2  A2)

Performs the symmetrical transformation of an axis placement with respect to a plane. The axis placement <A2> locates the plane of the symmetry : (Location, XDirection, YDirection). The transformation is performed on the "Location" point, on the "XDirection" and "YDirection". The resulting main "Direction" is the cross product between the "XDirection" and the "YDirection" after transformation.

GAx3 GAx3.Rotated ( GAx1  A1,
double  Ang 
)

Rotates an axis placement. <A1> is the axis of the rotation . Ang is the angular value of the rotation in radians.

GAx3 GAx3.Scaled ( GPnt  P,
double  S 
)

Applies a scaling transformation on the axis placement. The "Location" point of the axisplacement is modified. Warnings : If the scale <S> is negative : . the main direction of the axis placement is not changed. . The "XDirection" and the "YDirection" are reversed. So the axis placement stay right handed.

void GAx3.SetAxis ( GAx1  A1)

Assigns the origin and "main Direction" of the axis A1 to this coordinate system, then recomputes its "X Direction" and "Y Direction". Note: - The new "X Direction" is computed as follows: new "X Direction" = V1 ^(previous "X Direction" ^ V) where V is the "Direction" of A1. - The orientation of this coordinate system (right-handed or left-handed) is not modified. Raises ConstructionError if the "Direction" of <A1> and the "XDirection" of <me> are parallel (same or opposite orientation) because it is impossible to calculate the new "XDirection" and the new "YDirection".

void GAx3.SetDirection ( GDir  V)

Changes the main direction of this coordinate system, then recomputes its "X Direction" and "Y Direction". Note: - The new "X Direction" is computed as follows: new "X Direction" = V ^ (previous "X Direction" ^ V). - The orientation of this coordinate system (left- or right-handed) is not modified. Raises ConstructionError if <V< and the previous "XDirection" are parallel because it is impossible to calculate the new "XDirection" and the new "YDirection".

void GAx3.SetLocation ( GPnt  P)

Changes the "Location" point (origin) of <me>.

void GAx3.SetXDirection ( GDir  Vx)

Changes the "Xdirection" of <me>. The main direction "Direction" is not modified, the "Ydirection" is modified. If <Vx> is not normal to the main direction then <XDirection> is computed as follows XDirection = Direction ^ (Vx ^ Direction). Raises ConstructionError if <Vx> is parallel (same or opposite orientation) to the main direction of <me>

void GAx3.SetYDirection ( GDir  Vy)

Changes the "Ydirection" of <me>. The main direction is not modified but the "Xdirection" is changed. If <Vy> is not normal to the main direction then "YDirection" is computed as follows YDirection = Direction ^ (<Vy> ^ Direction). Raises ConstructionError if <Vy> is parallel to the main direction of <me>

GAx3 GAx3.Transformed ( GTrsf  T)

Transforms an axis placement with a Trsf. The "Location" point, the "XDirection" and the "YDirection" are transformed with T. The resulting main "Direction" of <me> is the cross product between the "XDirection" and the "YDirection" after transformation.

GAx3 GAx3.Translated ( GVec  V)

Translates an axis plaxement in the direction of the vector <V>. The magnitude of the translation is the vector's magnitude.

GAx3 GAx3.Translated ( GPnt  P1,
GPnt  P2 
)

Translates an axis placement from the point <P1> to the point <P2>.

GDir GAx3.XDirection ( )

Returns the "XDirection" of <me>.

void GAx3.XReverse ( )

Reverses the X direction of <me>.

GDir GAx3.YDirection ( )

Returns the "YDirection" of <me>.

void GAx3.YReverse ( )

Reverses the Y direction of <me>.

void GAx3.ZReverse ( )

Reverses the Z direction of <me>.