Open CASCADE Technology 7.8.0
|
Defines a vector with magnitude. A vector with magnitude can have a zero length. More...
#include <Geom_VectorWithMagnitude.hxx>
Public Member Functions | |
Geom_VectorWithMagnitude (const gp_Vec &V) | |
Creates a transient copy of V. | |
Geom_VectorWithMagnitude (const Standard_Real X, const Standard_Real Y, const Standard_Real Z) | |
Creates a vector with three cartesian coordinates. | |
Geom_VectorWithMagnitude (const gp_Pnt &P1, const gp_Pnt &P2) | |
Creates a vector from the point P1 to the point P2. The magnitude of the vector is the distance between P1 and P2. | |
void | SetCoord (const Standard_Real X, const Standard_Real Y, const Standard_Real Z) |
Assigns the values X, Y and Z to the coordinates of this vector. | |
void | SetVec (const gp_Vec &V) |
Converts the gp_Vec vector V into this 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>. | |
Standard_Real | Magnitude () const override |
Returns the magnitude of <me>. | |
Standard_Real | SquareMagnitude () const override |
Returns the square magnitude of <me>. | |
void | Add (const Handle< Geom_Vector > &Other) |
Adds the Vector Other to <me>. | |
Handle< Geom_VectorWithMagnitude > | Added (const Handle< Geom_Vector > &Other) const |
Adds the vector Other to <me>. | |
void | Cross (const Handle< Geom_Vector > &Other) override |
Computes the cross product between <me> and Other <me> ^ Other. | |
Handle< Geom_Vector > | Crossed (const Handle< Geom_Vector > &Other) const override |
Computes the cross product between <me> and Other <me> ^ Other. A new vector is returned. | |
void | CrossCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) override |
Computes the triple vector product <me> ^ (V1 ^ V2). | |
Handle< Geom_Vector > | CrossCrossed (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2) const override |
Computes the triple vector product <me> ^ (V1 ^ V2). A new vector is returned. | |
void | Divide (const Standard_Real Scalar) |
Divides <me> by a scalar. | |
Handle< Geom_VectorWithMagnitude > | Divided (const Standard_Real Scalar) const |
Divides <me> by a scalar. A new vector is returned. | |
Handle< Geom_VectorWithMagnitude > | Multiplied (const Standard_Real Scalar) const |
Computes the product of the vector <me> by a scalar. A new vector is returned. | |
void | Multiply (const Standard_Real Scalar) |
Computes the product of the vector <me> by a scalar. | |
void | Normalize () |
Normalizes <me>. | |
Handle< Geom_VectorWithMagnitude > | Normalized () const |
Returns a copy of <me> Normalized. | |
void | Subtract (const Handle< Geom_Vector > &Other) |
Subtracts the Vector Other to <me>. | |
Handle< Geom_VectorWithMagnitude > | Subtracted (const Handle< Geom_Vector > &Other) const |
Subtracts the vector Other to <me>. A new vector is returned. | |
void | Transform (const gp_Trsf &T) override |
Applies the transformation T to this vector. | |
Handle< Geom_Geometry > | Copy () const override |
Creates a new object which is a copy of this 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 |
Defines a vector with magnitude. A vector with magnitude can have a zero length.
Creates a transient copy of V.
Geom_VectorWithMagnitude::Geom_VectorWithMagnitude | ( | const Standard_Real | X, |
const Standard_Real | Y, | ||
const Standard_Real | Z | ||
) |
Creates a vector with three cartesian coordinates.
Creates a vector from the point P1 to the point P2. The magnitude of the vector is the distance between P1 and P2.
void Geom_VectorWithMagnitude::Add | ( | const Handle< Geom_Vector > & | Other | ) |
Adds the Vector Other to <me>.
Handle< Geom_VectorWithMagnitude > Geom_VectorWithMagnitude::Added | ( | const Handle< Geom_Vector > & | Other | ) | const |
Adds the vector Other to <me>.
|
overridevirtual |
Creates a new object which is a copy of this vector.
Implements Geom_Geometry.
|
overridevirtual |
Computes the cross product between <me> and Other <me> ^ Other.
Implements Geom_Vector.
|
overridevirtual |
Computes the triple vector product <me> ^ (V1 ^ V2).
Implements Geom_Vector.
|
overridevirtual |
Computes the triple vector product <me> ^ (V1 ^ V2). A new vector is returned.
Implements Geom_Vector.
|
overridevirtual |
Computes the cross product between <me> and Other <me> ^ Other. A new vector is returned.
Implements Geom_Vector.
void Geom_VectorWithMagnitude::Divide | ( | const Standard_Real | Scalar | ) |
Divides <me> by a scalar.
Handle< Geom_VectorWithMagnitude > Geom_VectorWithMagnitude::Divided | ( | const Standard_Real | Scalar | ) | const |
Divides <me> by a scalar. A new vector is returned.
|
overridevirtual |
Returns the magnitude of <me>.
Implements Geom_Vector.
Handle< Geom_VectorWithMagnitude > Geom_VectorWithMagnitude::Multiplied | ( | const Standard_Real | Scalar | ) | const |
Computes the product of the vector <me> by a scalar. A new vector is returned.
void Geom_VectorWithMagnitude::Multiply | ( | const Standard_Real | Scalar | ) |
Computes the product of the vector <me> by a scalar.
void Geom_VectorWithMagnitude::Normalize | ( | ) |
Normalizes <me>.
Raised if the magnitude of the vector is lower or equal to Resolution from package gp.
Handle< Geom_VectorWithMagnitude > Geom_VectorWithMagnitude::Normalized | ( | ) | const |
Returns a copy of <me> Normalized.
Raised if the magnitude of the vector is lower or equal to Resolution from package gp.
void Geom_VectorWithMagnitude::SetCoord | ( | const Standard_Real | X, |
const Standard_Real | Y, | ||
const Standard_Real | Z | ||
) |
Assigns the values X, Y and Z to the coordinates of this vector.
Converts the gp_Vec vector V into this vector.
void Geom_VectorWithMagnitude::SetX | ( | const Standard_Real | X | ) |
Changes the X coordinate of <me>.
void Geom_VectorWithMagnitude::SetY | ( | const Standard_Real | Y | ) |
Changes the Y coordinate of <me>
void Geom_VectorWithMagnitude::SetZ | ( | const Standard_Real | Z | ) |
Changes the Z coordinate of <me>.
|
overridevirtual |
Returns the square magnitude of <me>.
Implements Geom_Vector.
void Geom_VectorWithMagnitude::Subtract | ( | const Handle< Geom_Vector > & | Other | ) |
Subtracts the Vector Other to <me>.
Handle< Geom_VectorWithMagnitude > Geom_VectorWithMagnitude::Subtracted | ( | const Handle< Geom_Vector > & | Other | ) | const |
Subtracts the vector Other to <me>. A new vector is returned.
Applies the transformation T to this vector.
Implements Geom_Geometry.