Open CASCADE Technology 7.8.0
|
The abstract class Vector describes the common behavior of vectors in 3D space. The Geom package provides two concrete classes of vectors: Geom_Direction (unit vector) and Geom_VectorWithMagnitude. More...
#include <Geom_Vector.hxx>
Public Member Functions | |
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. | |
virtual Standard_Real | Magnitude () const =0 |
Returns the Magnitude of <me>. | |
virtual Standard_Real | SquareMagnitude () const =0 |
Returns the square magnitude of <me>. | |
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>. | |
virtual void | Cross (const Handle< Geom_Vector > &Other)=0 |
Computes the cross product between <me> and <Other>. | |
virtual Handle< Geom_Vector > | Crossed (const Handle< Geom_Vector > &Other) const =0 |
Computes the cross product between <me> and <Other>. A new direction is returned. | |
virtual void | CrossCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2)=0 |
Computes the triple vector product <me> ^(V1 ^ V2). | |
virtual Handle< Geom_Vector > | CrossCrossed (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) const =0 |
Computes the triple vector product <me> ^(V1 ^ V2). | |
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. | |
virtual void | Transform (const gp_Trsf &T)=0 |
Transformation of a geometric object. This tansformation can be a translation, a rotation, a symmetry, a scaling or a complex transformation obtained by combination of the previous elementaries transformations. (see class Transformation of the package Geom). | |
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 Handle< Geom_Geometry > | Copy () const =0 |
Creates a new object which is a copy of this geometric object. | |
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. | |
Protected Attributes | |
gp_Vec | gpVec |
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. | |
The abstract class Vector describes the common behavior of vectors in 3D space. The Geom package provides two concrete classes of vectors: Geom_Direction (unit vector) and Geom_VectorWithMagnitude.
Standard_Real Geom_Vector::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 Geom_Vector::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 Geom_Vector::Coord | ( | Standard_Real & | X, |
Standard_Real & | Y, | ||
Standard_Real & | Z | ||
) | const |
Returns the coordinates X, Y and Z of this vector.
|
pure virtual |
Computes the cross product between <me> and <Other>.
Raised if <me> is a "Direction" and if <me> and <Other> are parallel because it is not possible to build a "Direction" with null length.
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
|
pure virtual |
Computes the triple vector product <me> ^(V1 ^ V2).
Raised if <me> is a "Direction" and if V1 and V2 are parallel or <me> and (V1 ^ V2) are parallel
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
|
pure virtual |
Computes the triple vector product <me> ^(V1 ^ V2).
Raised if <me> is a direction and if V1 and V2 are parallel or <me> and (V1 ^ V2) are parallel
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
|
pure virtual |
Computes the cross product between <me> and <Other>. A new direction is returned.
Raised if <me> is a "Direction" and if the two vectors are parallel because it is not possible to create a "Direction" with null length.
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
Standard_Real Geom_Vector::Dot | ( | const Handle< Geom_Vector > & | Other | ) | const |
Computes the scalar product of this vector and vector Other.
Standard_Real Geom_Vector::DotCross | ( | const Handle< Geom_Vector > & | V1, |
const Handle< Geom_Vector > & | V2 | ||
) | const |
Computes the triple scalar product. Returns me . (V1 ^ V2)
|
pure virtual |
Returns the Magnitude of <me>.
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
void Geom_Vector::Reverse | ( | ) |
Reverses the vector <me>.
Handle< Geom_Vector > Geom_Vector::Reversed | ( | ) | const |
Returns a copy of <me> reversed.
|
pure virtual |
Returns the square magnitude of <me>.
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
Standard_Real Geom_Vector::X | ( | ) | const |
Returns the X coordinate of <me>.
Standard_Real Geom_Vector::Y | ( | ) | const |
Returns the Y coordinate of <me>.
Standard_Real Geom_Vector::Z | ( | ) | const |
Returns the Z coordinate of <me>.
|
protected |