OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKG3d
Geom


Geom_Axis2Placement Class Reference

Describes a right-handed coordinate system in 3D space.
A coordinate system is defined by:
- its origin, also termed the "Location point" of the coordinate system,
- three orthogonal unit vectors, termed respectively
the "X Direction", "Y Direction" and "Direction" (or
"main Direction") of the coordinate system.
As a Geom_Axis2Placement coordinate system is
right-handed, its "Direction" is always equal to the
cross product of its "X Direction" and "Y Direction".
The "Direction" of a coordinate system is called the
"main Direction" because when this unit vector is
modified, the "X Direction" and "Y Direction" are
recomputed, whereas when the "X Direction" or "Y <br> Direction" is changed, the "main Direction" is
retained. The "main Direction" is also the "Z Direction".
Note: Geom_Axis2Placement coordinate systems
provide the same kind of "geometric" services as
gp_Ax2 coordinate systems but have more complex
data structures. The geometric objects provided by
the Geom package use gp_Ax2 objects to include
coordinate systems in their data structures, or to
define the geometric transformations, which are applied to them.
Geom_Axis2Placement coordinate systems are
used in a context where they can be shared by
several objects contained inside a common data structure.
.

#include <Geom_Axis2Placement.hxx>

Inheritance diagram for Geom_Axis2Placement:

Inheritance graph
[legend]

Public Member Functions

Standard_EXPORT Geom_Axis2Placement (const gp_Ax2 &A2)
 Returns a transient copy of A2.
.
Standard_EXPORT Geom_Axis2Placement (const gp_Pnt &P, const gp_Dir &N, const gp_Dir &Vx)
 P is the origin of the axis placement, N is the main
direction of the axis placement and Vx is the "XDirection".
If the two directions N and Vx are not orthogonal the
"XDirection" is computed as follow :
XDirection = N ^ (Vx ^ N).
//! Raised if N and Vx are parallel.
.
Standard_EXPORT void SetAx2 (const gp_Ax2 &A2)
 Assigns the origin and the three unit vectors of A2 to
this coordinate system.
.
Standard_EXPORT void SetDirection (const gp_Dir &V)
 Changes the main direction of the axis placement.
The "Xdirection" is modified :
New XDirection = V ^ (Previous_Xdirection ^ V).
Raised if V and the previous "XDirection" are parallel
because it is impossible to calculate the new "XDirection"
and the new "YDirection".
.
Standard_EXPORT void SetXDirection (const gp_Dir &Vx)
 Changes the "XDirection" of the axis placement, Vx is the
new "XDirection". If Vx is not normal to the main direction
then "XDirection" is computed as follow :
XDirection = Direction ^ ( Vx ^ Direction).
The main direction is not modified.
//! Raised if Vx and "Direction" are parallel.
.
Standard_EXPORT void SetYDirection (const gp_Dir &Vy)
 Changes the "YDirection" of the axis placement, Vy is the
new "YDirection". If Vy is not normal to the main direction
then "YDirection" is computed as follow :
YDirection = Direction ^ ( Vy ^ Direction).
The main direction is not modified. The "XDirection" is
modified.
//! Raised if Vy and the main direction are parallel.
.
Standard_EXPORT gp_Ax2 Ax2 () const
 Returns a non transient copy of <me>.
.
Standard_EXPORT const gp_Dir & XDirection () const
 Returns the "XDirection". This is a unit vector.
.
Standard_EXPORT const gp_Dir & YDirection () const
 Returns the "YDirection". This is a unit vector.
.
Standard_EXPORT void Transform (const gp_Trsf &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.
.
Standard_EXPORT Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this coordinate system.
.
Standard_EXPORT const Handle (Standard_Type)&DynamicType() const

Private Member Functions

Standard_EXPORT Geom_Axis2Placement (const gp_Pnt &P, const gp_Dir &Vz, const gp_Dir &Vx, const gp_Dir &Vy)

Private Attributes

gp_Dir vxdir
gp_Dir vydir

Constructor & Destructor Documentation

Standard_EXPORT Geom_Axis2Placement::Geom_Axis2Placement const gp_Ax2 &  A2  ) 
 

Standard_EXPORT Geom_Axis2Placement::Geom_Axis2Placement const gp_Pnt &  P,
const gp_Dir &  N,
const gp_Dir &  Vx
 

Standard_EXPORT Geom_Axis2Placement::Geom_Axis2Placement const gp_Pnt &  P,
const gp_Dir &  Vz,
const gp_Dir &  Vx,
const gp_Dir &  Vy
[private]
 


Member Function Documentation

Standard_EXPORT gp_Ax2 Geom_Axis2Placement::Ax2  )  const
 

Standard_EXPORT Handle_Geom_Geometry Geom_Axis2Placement::Copy  )  const [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT const Geom_Axis2Placement::Handle Standard_Type   )  const
 

Reimplemented from Geom_AxisPlacement.

Standard_EXPORT void Geom_Axis2Placement::SetAx2 const gp_Ax2 &  A2  ) 
 

Standard_EXPORT void Geom_Axis2Placement::SetDirection const gp_Dir &  V  )  [virtual]
 

Implements Geom_AxisPlacement.

Standard_EXPORT void Geom_Axis2Placement::SetXDirection const gp_Dir &  Vx  ) 
 

Standard_EXPORT void Geom_Axis2Placement::SetYDirection const gp_Dir &  Vy  ) 
 

Standard_EXPORT void Geom_Axis2Placement::Transform const gp_Trsf &  T  )  [virtual]
 

Implements Geom_Geometry.

Standard_EXPORT const gp_Dir& Geom_Axis2Placement::XDirection  )  const
 

Standard_EXPORT const gp_Dir& Geom_Axis2Placement::YDirection  )  const
 


Field Documentation

gp_Dir Geom_Axis2Placement::vxdir [private]
 

gp_Dir Geom_Axis2Placement::vydir [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:22:51 2008 for OpenCASCADE by  doxygen 1.4.1