Open CASCADE Technology
6.5.4
|
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.
#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>. 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. | |
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. 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. | |
virtual void | CrossCross (const Handle< Geom_Vector > &V1, const Handle< Geom_Vector > &V2)=0 |
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 | |
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). Raised if <me> is a direction and if V1 and V2 are parallel or <me> and (V1 ^ V2) are parallel | |
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. | |
Protected Attributes | |
gp_Vec | gpVec |
Standard_Real Geom_Vector::Angle | ( | const Handle< Geom_Vector > & | Other | ) | const |
Standard_Real Geom_Vector::AngleWithRef | ( | const Handle< Geom_Vector > & | Other, |
const Handle< Geom_Vector > & | VRef | ||
) | const |
void Geom_Vector::Coord | ( | Standard_Real & | X, |
Standard_Real & | Y, | ||
Standard_Real & | Z | ||
) | const |
virtual void Geom_Vector::Cross | ( | const Handle< Geom_Vector > & | Other | ) | [pure virtual] |
Implemented in Geom_VectorWithMagnitude, and Geom_Direction.
virtual void Geom_Vector::CrossCross | ( | const Handle< Geom_Vector > & | V1, |
const Handle< Geom_Vector > & | V2 | ||
) | [pure virtual] |
Implemented in Geom_VectorWithMagnitude, and Geom_Direction.
virtual Handle_Geom_Vector Geom_Vector::CrossCrossed | ( | const Handle< Geom_Vector > & | V1, |
const Handle< Geom_Vector > & | V2 | ||
) | const [pure virtual] |
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
virtual Handle_Geom_Vector Geom_Vector::Crossed | ( | const Handle< Geom_Vector > & | Other | ) | const [pure virtual] |
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
Standard_Real Geom_Vector::Dot | ( | const Handle< Geom_Vector > & | Other | ) | const |
Standard_Real Geom_Vector::DotCross | ( | const Handle< Geom_Vector > & | V1, |
const Handle< Geom_Vector > & | V2 | ||
) | const |
virtual Standard_Real Geom_Vector::Magnitude | ( | ) | const [pure virtual] |
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
Handle_Geom_Vector Geom_Vector::Reversed | ( | ) | const |
virtual Standard_Real Geom_Vector::SquareMagnitude | ( | ) | const [pure virtual] |
Implemented in Geom_Direction, and Geom_VectorWithMagnitude.
const gp_Vec& Geom_Vector::Vec | ( | ) | const |
Standard_Real Geom_Vector::X | ( | ) | const |
Standard_Real Geom_Vector::Y | ( | ) | const |
Standard_Real Geom_Vector::Z | ( | ) | const |
gp_Vec Geom_Vector::gpVec [protected] |