![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
The class Direction specifies a vector that is never null. It is a unit vector. More...
#include <Geom2d_Direction.hxx>

Public Member Functions | |
| Geom2d_Direction (const double X, const double Y) | |
| Creates a unit vector with it 2 cartesian coordinates. | |
| Geom2d_Direction (const gp_Dir2d &V) | |
| Creates a persistent copy of <me>. | |
| void | SetCoord (const double X, const double Y) |
| Assigns the coordinates X and Y to this unit vector, then normalizes it. Exceptions Standard_ConstructionError if std::sqrt(X*X + Y*Y) is less than or equal to gp::Resolution(). | |
| void | SetDir2d (const gp_Dir2d &V) |
| Converts the gp_Dir2d unit vector V into this unit vector. | |
| void | SetX (const double X) |
| Assigns a value to the X coordinate of this unit vector, then normalizes it. Exceptions Standard_ConstructionError if the value assigned causes the magnitude of the vector to become less than or equal to gp::Resolution(). | |
| void | SetY (const double Y) |
| Assigns a value to the Y coordinate of this unit vector, then normalizes it. Exceptions Standard_ConstructionError if the value assigned causes the magnitude of the vector to become less than or equal to gp::Resolution(). | |
| gp_Dir2d | Dir2d () const |
| Converts this unit vector into a gp_Dir2d unit vector. | |
| double | Magnitude () const override |
| returns 1.0 | |
| double | SquareMagnitude () const override |
| returns 1.0 | |
| double | Crossed (const occ::handle< Geom2d_Vector > &Other) const override |
| Computes the cross product between <me> and <Other>. | |
| double | operator^ (const occ::handle< Geom2d_Vector > &Other) const |
| void | Transform (const gp_Trsf2d &T) override |
| Applies the transformation T to this unit vector, then normalizes it. | |
| occ::handle< Geom2d_Geometry > | Copy () const override |
| Creates a new object which is a copy of this unit vector. | |
Public Member Functions inherited from Geom2d_Vector | |
| void | Reverse () |
| Reverses the vector <me>. | |
| occ::handle< Geom2d_Vector > | Reversed () const |
| Returns a copy of <me> reversed. | |
| double | Angle (const occ::handle< Geom2d_Vector > &Other) const |
| Computes the angular value, in radians, between this vector and vector Other. The result is a value between -Pi and Pi. The orientation is from this vector to vector Other. Raises VectorWithNullMagnitude if one of the two vectors is a vector with null magnitude because the angular value is indefinite. | |
| void | Coord (double &X, double &Y) const |
| Returns the coordinates of <me>. | |
| double | X () const |
| Returns the X coordinate of <me>. | |
| double | Y () const |
| Returns the Y coordinate of <me>. | |
| double | Dot (const occ::handle< Geom2d_Vector > &Other) const |
| Returns the scalar product of 2 Vectors. | |
| gp_Vec2d | Vec2d () const |
| Returns a non persistent copy of <me>. | |
Public Member Functions inherited from Geom2d_Geometry | |
| void | Mirror (const gp_Pnt2d &P) |
| Performs the symmetrical transformation of a Geometry with respect to the point P which is the center of the symmetry and assigns the result to this geometric object. | |
| void | Mirror (const gp_Ax2d &A) |
| Performs the symmetrical transformation of a Geometry with respect to an axis placement which is the axis of the symmetry. | |
| void | Rotate (const gp_Pnt2d &P, const double Ang) |
| Rotates a Geometry. P is the center of the rotation. Ang is the angular value of the rotation in radians. | |
| void | Scale (const gp_Pnt2d &P, const double S) |
| Scales a Geometry. S is the scaling value. | |
| void | Translate (const gp_Vec2d &V) |
| Translates a Geometry. V is the vector of the translation. | |
| void | Translate (const gp_Pnt2d &P1, const gp_Pnt2d &P2) |
| Translates a Geometry from the point P1 to the point P2. | |
| occ::handle< Geom2d_Geometry > | Mirrored (const gp_Pnt2d &P) const |
| occ::handle< Geom2d_Geometry > | Mirrored (const gp_Ax2d &A) const |
| occ::handle< Geom2d_Geometry > | Rotated (const gp_Pnt2d &P, const double Ang) const |
| occ::handle< Geom2d_Geometry > | Scaled (const gp_Pnt2d &P, const double S) const |
| occ::handle< Geom2d_Geometry > | Transformed (const gp_Trsf2d &T) const |
| occ::handle< Geom2d_Geometry > | Translated (const gp_Vec2d &V) const |
| occ::handle< Geom2d_Geometry > | Translated (const gp_Pnt2d &P1, const gp_Pnt2d &P2) const |
| virtual void | DumpJson (Standard_OStream &theOStream, int 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 ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | 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. | |
| bool | IsKind (const char *const 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. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| 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 Geom2d_Vector | |
| gp_Vec2d | gpVec2d |
The class Direction specifies a vector that is never null. It is a unit vector.
Creates a unit vector with it 2 cartesian coordinates.
Raised if std::sqrt( X*X + Y*Y) <= Resolution from gp.
| Geom2d_Direction::Geom2d_Direction | ( | const gp_Dir2d & | V | ) |
Creates a persistent copy of <me>.
|
overridevirtual |
Creates a new object which is a copy of this unit vector.
Implements Geom2d_Geometry.
|
overridevirtual |
Computes the cross product between <me> and <Other>.
Implements Geom2d_Vector.
|
overridevirtual |
returns 1.0
Implements Geom2d_Vector.
|
inline |
Assigns the coordinates X and Y to this unit vector, then normalizes it. Exceptions Standard_ConstructionError if std::sqrt(X*X + Y*Y) is less than or equal to gp::Resolution().
Converts the gp_Dir2d unit vector V into this unit vector.
Assigns a value to the X coordinate of this unit vector, then normalizes it. Exceptions Standard_ConstructionError if the value assigned causes the magnitude of the vector to become less than or equal to gp::Resolution().
Assigns a value to the Y coordinate of this unit vector, then normalizes it. Exceptions Standard_ConstructionError if the value assigned causes the magnitude of the vector to become less than or equal to gp::Resolution().
|
overridevirtual |
returns 1.0
Implements Geom2d_Vector.
Applies the transformation T to this unit vector, then normalizes it.
Implements Geom2d_Geometry.