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.
Geom_Direction::Geom_Direction | ( | const gp_Dir & | V | ) |
Creates a transient copy of <me>.
|
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.
void Geom_Direction::SetDir | ( | const gp_Dir & | V | ) |
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.
|
overridevirtual |
Applies the transformation T to this unit vector, then normalizes it.
Implements Geom_Geometry.