#include <gp_Vec.hxx>
Public Member Functions | |
void * | operator new (size_t, void *anAddress) |
void * | operator new (size_t size) |
void | operator delete (void *anAddress) |
gp_Vec () | |
Creates an indefinite vector. . | |
gp_Vec (const gp_Dir &V) | |
Creates a unitary vector from a direction V. . | |
gp_Vec (const gp_XYZ &Coord) | |
Creates a vector with a triplet of coordinates. . | |
gp_Vec (const Standard_Real Xv, const Standard_Real Yv, const Standard_Real Zv) | |
Creates a point with its three cartesian coordinates. . | |
gp_Vec (const gp_Pnt &P1, const gp_Pnt &P2) | |
Creates a vector from two points. The length of the vector is the distance between P1 and P2 . | |
void | SetCoord (const Standard_Integer Index, const Standard_Real Xi) |
Changes the coordinate of range Index Index = 1 => X is modified Index = 2 => Y is modified Index = 3 => Z is modified //! Raised if Index != {1, 2, 3}. . | |
void | SetCoord (const Standard_Real Xv, const Standard_Real Yv, const Standard_Real Zv) |
For this vector, assigns - the values Xv, Yv and Zv to its three coordinates. . | |
void | SetX (const Standard_Real X) |
Assigns the given value to the X coordinate of this vector. . | |
void | SetY (const Standard_Real Y) |
Assigns the given value to the X coordinate of this vector. . | |
void | SetZ (const Standard_Real Z) |
Assigns the given value to the X coordinate of this vector. . | |
void | SetXYZ (const gp_XYZ &Coord) |
Assigns the three coordinates of Coord to this vector. . | |
Standard_Real | Coord (const Standard_Integer Index) const |
Returns the coordinate of range Index : Index = 1 => X is returned Index = 2 => Y is returned Index = 3 => Z is returned //! Raised if Index != {1, 2, 3}. . | |
void | Coord (Standard_Real &Xv, Standard_Real &Yv, Standard_Real &Zv) const |
For this vector returns its three coordinates Xv, Yv, and Zvinline . | |
Standard_Real | X () const |
For this vector, returns its X coordinate. . | |
Standard_Real | Y () const |
For this vector, returns its Y coordinate. . | |
Standard_Real | Z () const |
For this vector, returns its Z coordinate. . | |
const gp_XYZ & | XYZ () const |
For this vector, returns - its three coordinates as a number triple . | |
Standard_EXPORT Standard_Boolean | IsEqual (const gp_Vec &Other, const Standard_Real LinearTolerance, const Standard_Real AngularTolerance) const |
Returns True if the two vectors have the same magnitude value and the same direction. The precision values are LinearTolerance for the magnitude and AngularTolerance for the direction. . | |
Standard_Boolean | IsNormal (const gp_Vec &Other, const Standard_Real AngularTolerance) const |
Returns True if abs(<me>.Angle(Other) - PI/2.) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp . | |
Standard_Boolean | IsOpposite (const gp_Vec &Other, const Standard_Real AngularTolerance) const |
Returns True if PI - <me>.Angle(Other) <= AngularTolerance Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp . | |
Standard_Boolean | IsParallel (const gp_Vec &Other, const Standard_Real AngularTolerance) const |
Returns True if Angle(<me>, Other) <= AngularTolerance or PI - Angle(<me>, Other) <= AngularTolerance This definition means that two parallel vectors cannot define a plane but two vectors with opposite directions are considered as parallel. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution or Other.Magnitude() <= Resolution from gp . | |
Standard_Real | Angle (const gp_Vec &Other) const |
Computes the angular value between <me> and <other> Returns the angle value between 0 and PI in radian. Raises VectorWithNullMagnitude if <me>.Magnitude() <= Resolution from gp or Other.Magnitude() <= Resolution because the angular value is indefinite if one of the vectors has a null magnitude. . | |
Standard_Real | AngleWithRef (const gp_Vec &Other, const gp_Vec &VRef) const |
Computes the angle, in radians, between this vector and vector Other. The result is a value between -Pi and Pi. For this, VRef defines the positive sense of rotation: the angular value is positive, if the cross product this ^ Other has the same orientation as VRef relative to the plane defined by the vectors this and Other. Otherwise, the angular value is negative. Exceptions gp_VectorWithNullMagnitude if the magnitude of this vector, the vector Other, or the vector VRef is less than or equal to gp::Resolution(). Standard_DomainError if this vector, the vector Other, and the vector VRef are coplanar, unless this vector and the vector Other are parallel. . | |
Standard_Real | Magnitude () const |
Computes the magnitude of this vector. . | |
Standard_Real | SquareMagnitude () const |
Computes the square magnitude of this vector. //! Adds two vectors . | |
void | Add (const gp_Vec &Other) |
void | operator+= (const gp_Vec &Other) |
gp_Vec | Added (const gp_Vec &Other) const |
Adds two vectors //! Subtracts two vectors . | |
gp_Vec | operator+ (const gp_Vec &Other) const |
void | Subtract (const gp_Vec &Right) |
void | operator-= (const gp_Vec &Right) |
gp_Vec | Subtracted (const gp_Vec &Right) const |
Subtracts two vectors //! Multiplies a vector by a scalar . | |
gp_Vec | operator- (const gp_Vec &Right) const |
void | Multiply (const Standard_Real Scalar) |
void | operator *= (const Standard_Real Scalar) |
gp_Vec | Multiplied (const Standard_Real Scalar) const |
Multiplies a vector by a scalar //! Divides a vector by a scalar . | |
gp_Vec | operator * (const Standard_Real Scalar) const |
void | Divide (const Standard_Real Scalar) |
void | operator/= (const Standard_Real Scalar) |
gp_Vec | Divided (const Standard_Real Scalar) const |
Divides a vector by a scalar //! computes the cross product between two vectors . | |
gp_Vec | operator/ (const Standard_Real Scalar) const |
void | Cross (const gp_Vec &Right) |
void | operator^= (const gp_Vec &Right) |
gp_Vec | Crossed (const gp_Vec &Right) const |
computes the cross product between two vectors | |
gp_Vec | operator^ (const gp_Vec &Right) const |
Standard_Real | CrossMagnitude (const gp_Vec &Right) const |
Computes the magnitude of the cross product between <me> and Right. Returns || <me> ^ Right || . | |
Standard_Real | CrossSquareMagnitude (const gp_Vec &Right) const |
Computes the square magnitude of the cross product between <me> and Right. Returns || <me> ^ Right ||**2 //! Computes the triple vector product. <me> ^ (V1 ^ V2) . | |
void | CrossCross (const gp_Vec &V1, const gp_Vec &V2) |
gp_Vec | CrossCrossed (const gp_Vec &V1, const gp_Vec &V2) const |
Computes the triple vector product. <me> ^ (V1 ^ V2) . | |
Standard_Real | Dot (const gp_Vec &Other) const |
computes the scalar product | |
Standard_Real | operator * (const gp_Vec &Other) const |
Standard_Real | DotCross (const gp_Vec &V1, const gp_Vec &V2) const |
Computes the triple scalar product <me> * (V1 ^ V2). //! normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from gp. . | |
void | Normalize () |
gp_Vec | Normalized () const |
normalizes a vector Raises an exception if the magnitude of the vector is lower or equal to Resolution from gp. //! Reverses the direction of a vector | |
void | Reverse () |
gp_Vec | Reversed () const |
Reverses the direction of a vector . | |
gp_Vec | operator- () const |
void | SetLinearForm (const Standard_Real A1, const gp_Vec &V1, const Standard_Real A2, const gp_Vec &V2, const Standard_Real A3, const gp_Vec &V3, const gp_Vec &V4) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 + A3 * V3 + V4 | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec &V1, const Standard_Real A2, const gp_Vec &V2, const Standard_Real A3, const gp_Vec &V3) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 + A3 * V3 | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec &V1, const Standard_Real A2, const gp_Vec &V2, const gp_Vec &V3) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 + V3 | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec &V1, const Standard_Real A2, const gp_Vec &V2) |
<me> is setted to the following linear form : A1 * V1 + A2 * V2 | |
void | SetLinearForm (const Standard_Real A1, const gp_Vec &V1, const gp_Vec &V2) |
<me> is setted to the following linear form : A1 * V1 + V2 | |
void | SetLinearForm (const gp_Vec &V1, const gp_Vec &V2) |
<me> is setted to the following linear form : V1 + V2 | |
Standard_EXPORT void | Mirror (const gp_Vec &V) |
Standard_EXPORT gp_Vec | Mirrored (const gp_Vec &V) const |
Performs the symmetrical transformation of a vector with respect to the vector V which is the center of the symmetry. . | |
Standard_EXPORT void | Mirror (const gp_Ax1 &A1) |
Standard_EXPORT gp_Vec | Mirrored (const gp_Ax1 &A1) const |
Performs the symmetrical transformation of a vector with respect to an axis placement which is the axis of the symmetry. . | |
Standard_EXPORT void | Mirror (const gp_Ax2 &A2) |
Standard_EXPORT gp_Vec | Mirrored (const gp_Ax2 &A2) const |
Performs the symmetrical transformation of a vector 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) |
gp_Vec | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const |
Rotates a vector. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. . | |
void | Scale (const Standard_Real S) |
gp_Vec | Scaled (const Standard_Real S) const |
Scales a vector. S is the scaling value. //! Transforms a vector with the transformation T. . | |
Standard_EXPORT void | Transform (const gp_Trsf &T) |
gp_Vec | Transformed (const gp_Trsf &T) const |
Transforms a vector with the transformation T. . | |
const gp_XYZ & | _CSFDB_Getgp_Veccoord () const |
Private Attributes | |
gp_XYZ | coord |
Friends | |
Standard_EXPORT friend Handle_Standard_Type & | gp_Vec_Type_ () |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|