| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
The class Direction specifies a vector that is never null. It is a unit vector. More...
#include <Geom_Direction.hxx>

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.   | |
| 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.   | |
| 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>.   | |
| void | SetY (const Standard_Real Y) | 
| Changes the Y coordinate of <me>.   | |
| void | SetZ (const Standard_Real Z) | 
| Changes the Z coordinate of <me>.   | |
| gp_Dir | Dir () const | 
| Returns the non transient direction with the same coordinates as <me>.   | |
| Standard_Real | Magnitude () const override | 
| returns 1.0 which is the magnitude of any unit vector.   | |
| Standard_Real | SquareMagnitude () const override | 
| returns 1.0 which is the square magnitude of any unit vector.   | |
| void | Cross (const Handle< Geom_Vector > &Other) override | 
| Computes the cross product between <me> and <Other>.   | |
| void | CrossCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) override | 
| Computes the triple vector product <me> ^(V1 ^ V2).   | |
| Handle< Geom_Vector > | Crossed (const Handle< Geom_Vector > &Other) const override | 
| Computes the cross product between <me> and <Other>. A new direction is returned.   | |
| Handle< Geom_Vector > | CrossCrossed (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) const override | 
| Computes the triple vector product <me> ^(V1 ^ V2).   | |
| void | Transform (const gp_Trsf &T) override | 
| Applies the transformation T to this unit vector, then normalizes it.   | |
| Handle< Geom_Geometry > | Copy () const override | 
| Creates a new object which is a copy of this unit vector.   | |
  Public Member Functions inherited from Geom_Vector | |
| void | Reverse () | 
| Reverses the vector <me>.   | |
| Handle< Geom_Vector > | Reversed () const | 
| Returns a copy of <me> reversed.   | |
| Standard_Real | Angle (const Handle< Geom_Vector > &Other) const | 
| Computes the angular value, in radians, between this vector and vector Other. The result is a value between 0 and Pi. Exceptions gp_VectorWithNullMagnitude if:   | |
| Standard_Real | AngleWithRef (const Handle< Geom_Vector > &Other, const Handle< Geom_Vector > &VRef) const | 
| Computes the angular value, in radians, between this vector and vector Other. The result is a value between -Pi and Pi. The vector VRef defines the positive sense of rotation: the angular value is positive if the cross product this ^ Other has the same orientation as VRef (in relation to the plane defined by this vector and vector Other). Otherwise, it is negative. Exceptions Standard_DomainError if this vector, vector Other and vector VRef are coplanar, except if this vector and vector Other are parallel. gp_VectorWithNullMagnitude if the magnitude of this vector, vector Other or vector VRef is less than or equal to gp::Resolution().   | |
| void | Coord (Standard_Real &X, Standard_Real &Y, Standard_Real &Z) const | 
| Returns the coordinates X, Y and Z of this vector.   | |
| Standard_Real | X () const | 
| Returns the X coordinate of <me>.   | |
| Standard_Real | Y () const | 
| Returns the Y coordinate of <me>.   | |
| Standard_Real | Z () const | 
| Returns the Z coordinate of <me>.   | |
| Standard_Real | Dot (const Handle< Geom_Vector > &Other) const | 
| Computes the scalar product of this vector and vector Other.   | |
| Standard_Real | DotCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) const | 
| Computes the triple scalar product. Returns me . (V1 ^ V2)   | |
| const gp_Vec & | Vec () const | 
| Converts this vector into a gp_Vec vector.   | |
  Public Member Functions inherited from Geom_Geometry | |
| void | Mirror (const gp_Pnt &P) | 
| Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry.   | |
| void | Mirror (const gp_Ax1 &A1) | 
| Performs the symmetrical transformation of a Geometry with respect to an axis placement which is the axis of the symmetry.   | |
| void | Mirror (const gp_Ax2 &A2) | 
| Performs the symmetrical transformation of a Geometry with respect to a plane. The axis placement A2 locates the plane of the symmetry : (Location, XDirection, YDirection).   | |
| void | Rotate (const gp_Ax1 &A1, const Standard_Real Ang) | 
| Rotates a Geometry. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians.   | |
| void | Scale (const gp_Pnt &P, const Standard_Real S) | 
| Scales a Geometry. S is the scaling value.   | |
| void | Translate (const gp_Vec &V) | 
| Translates a Geometry. V is the vector of the translation.   | |
| void | Translate (const gp_Pnt &P1, const gp_Pnt &P2) | 
| Translates a Geometry from the point P1 to the point P2.   | |
| Handle< Geom_Geometry > | Mirrored (const gp_Pnt &P) const | 
| Handle< Geom_Geometry > | Mirrored (const gp_Ax1 &A1) const | 
| Handle< Geom_Geometry > | Mirrored (const gp_Ax2 &A2) const | 
| Handle< Geom_Geometry > | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const | 
| Handle< Geom_Geometry > | Scaled (const gp_Pnt &P, const Standard_Real S) const | 
| Handle< Geom_Geometry > | Transformed (const gp_Trsf &T) const | 
| Handle< Geom_Geometry > | Translated (const gp_Vec &V) const | 
| Handle< Geom_Geometry > | Translated (const gp_Pnt &P1, const gp_Pnt &P2) const | 
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const | 
| Dumps the content of me into the stream.   | |
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const | 
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const | 
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.   | |
| Standard_Transient * | This () const | 
| Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
  Protected Attributes inherited from Geom_Vector | |
| gp_Vec | gpVec | 
The class Direction specifies a vector that is never null. It is a unit vector.
| Geom_Direction::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.
      
  | 
  overridevirtual | 
Creates a new object which is a copy of this unit vector.
Implements Geom_Geometry.
      
  | 
  overridevirtual | 
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.
Implements Geom_Vector.
      
  | 
  overridevirtual | 
Computes the triple vector product <me> ^(V1 ^ V2).
Raised if V1 and V2 are parallel or <me> and (V1 ^ V2) are parallel
Implements Geom_Vector.
      
  | 
  overridevirtual | 
Computes the triple vector product <me> ^(V1 ^ V2).
Raised if V1 and V2 are parallel or <me> and (V1 ^ V2) are parallel
Implements Geom_Vector.
      
  | 
  overridevirtual | 
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.
Implements Geom_Vector.
| gp_Dir Geom_Direction::Dir | ( | ) | const | 
Returns the non transient direction with the same coordinates as <me>.
      
  | 
  overridevirtual | 
returns 1.0 which is the magnitude of any unit vector.
Implements Geom_Vector.
| void Geom_Direction::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.
Converts the gp_Dir unit vector V into this unit vector.
| void Geom_Direction::SetX | ( | const Standard_Real | X | ) | 
Changes the X coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
| void Geom_Direction::SetY | ( | const Standard_Real | Y | ) | 
Changes the Y coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
| void Geom_Direction::SetZ | ( | const Standard_Real | Z | ) | 
Changes the Z coordinate of <me>.
Raised if Sqrt( X*X + Y*Y + Z*Z) <= Resolution from gp.
      
  | 
  overridevirtual | 
returns 1.0 which is the square magnitude of any unit vector.
Implements Geom_Vector.
Applies the transformation T to this unit vector, then normalizes it.
Implements Geom_Geometry.