Open CASCADE Technology 6.6.0
Public Member Functions
Geom_Direction Class Reference

The class Direction specifies a vector that is never null.
It is a unit vector.

#include <Geom_Direction.hxx>

Inheritance diagram for Geom_Direction:
Inheritance graph
[legend]

Public Member Functions

 Geom_Direction (const Standard_Real X, const Standard_Real Y, const Standard_Real Z)
 Creates a unit vector with it 3 cartesian coordinates.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.

 Geom_Direction (const gp_Dir &V)
 Creates a transient copy of <me>.

void SetCoord (const Standard_Real X, const Standard_Real Y, const Standard_Real Z)
 Sets <me> to X,Y,Z coordinates.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.

void SetDir (const gp_Dir &V)
 Converts the gp_Dir unit vector V into this unit vector.

void SetX (const Standard_Real X)
 Changes the X coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.

void SetY (const Standard_Real Y)
 Changes the Y coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.

void SetZ (const Standard_Real Z)
 Changes the Z coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.

gp_Dir Dir () const
 Returns the non transient direction with the same
coordinates as <me>.

Standard_Real Magnitude () const
 returns 1.0 which is the magnitude of any unit vector.

Standard_Real SquareMagnitude () const
 returns 1.0 which is the square magnitude of any unit vector.

void Cross (const Handle< Geom_Vector > &Other)
 Computes the cross product between <me> and <Other>.
Raised if the two vectors are parallel because it is
not possible to have a direction with null length.

void CrossCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2)
 Computes the triple vector product <me> ^(V1 ^ V2).
Raised if V1 and V2 are parallel or <me> and (V1 ^ V2) are
parallel

Handle_Geom_Vector Crossed (const Handle< Geom_Vector > &Other) const
 Computes the cross product between <me> and <Other>.
A new direction is returned.
Raised if the two vectors are parallel because it is
not possible to have a direction with null length.

Handle_Geom_Vector CrossCrossed (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) const
 Computes the triple vector product <me> ^(V1 ^ V2).
Raised if V1 and V2 are parallel or <me> and (V1 ^ V2) are
parallel

void Transform (const gp_Trsf &T)
 Applies the transformation T to this unit vector, then normalizes it.

Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this unit vector.


Constructor & Destructor Documentation

Geom_Direction::Geom_Direction ( const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z 
)
Geom_Direction::Geom_Direction ( const gp_Dir V)

Member Function Documentation

Handle_Geom_Geometry Geom_Direction::Copy ( ) const [virtual]

Implements Geom_Geometry.

void Geom_Direction::Cross ( const Handle< Geom_Vector > &  Other) [virtual]

Implements Geom_Vector.

void Geom_Direction::CrossCross ( const Handle< Geom_Vector > &  V1,
const Handle< Geom_Vector > &  V2 
) [virtual]

Implements Geom_Vector.

Handle_Geom_Vector Geom_Direction::CrossCrossed ( const Handle< Geom_Vector > &  V1,
const Handle< Geom_Vector > &  V2 
) const [virtual]

Implements Geom_Vector.

Handle_Geom_Vector Geom_Direction::Crossed ( const Handle< Geom_Vector > &  Other) const [virtual]

Implements Geom_Vector.

gp_Dir Geom_Direction::Dir ( ) const
Standard_Real Geom_Direction::Magnitude ( ) const [virtual]

Implements Geom_Vector.

void Geom_Direction::SetCoord ( const Standard_Real  X,
const Standard_Real  Y,
const Standard_Real  Z 
)
void Geom_Direction::SetDir ( const gp_Dir V)
void Geom_Direction::SetX ( const Standard_Real  X)
void Geom_Direction::SetY ( const Standard_Real  Y)
void Geom_Direction::SetZ ( const Standard_Real  Z)
Standard_Real Geom_Direction::SquareMagnitude ( ) const [virtual]

Implements Geom_Vector.

void Geom_Direction::Transform ( const gp_Trsf T) [virtual]

Implements Geom_Geometry.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines