|
Open CASCADE Technology
6.7.1
|
Defines a non-persistent vector in 3D space.
More...
#include <gp_Vec.hxx>
Public Member Functions | |
| gp_Vec () | |
| Creates a zero vector. More... | |
| gp_Vec (const gp_Dir &V) | |
| Creates a unitary vector from a direction V. More... | |
| gp_Vec (const gp_XYZ &Coord) | |
| Creates a vector with a triplet of coordinates. More... | |
| gp_Vec (const Standard_Real Xv, const Standard_Real Yv, const Standard_Real Zv) | |
| Creates a point with its three cartesian coordinates. More... | |
| 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 More... | |
| void | SetCoord (const Standard_Integer Index, const Standard_Real Xi) |
Changes the coordinate of range Index <br> Index = 1 => X is modified | |
| void | SetCoord (const Standard_Real Xv, const Standard_Real Yv, const Standard_Real Zv) |
| For this vector, assigns More... | |
| void | SetX (const Standard_Real X) |
| Assigns the given value to the X coordinate of this vector. More... | |
| void | SetY (const Standard_Real Y) |
| Assigns the given value to the X coordinate of this vector. More... | |
| void | SetZ (const Standard_Real Z) |
| Assigns the given value to the X coordinate of this vector. More... | |
| void | SetXYZ (const gp_XYZ &Coord) |
| Assigns the three coordinates of Coord to this vector. More... | |
| 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}. More... | |
| void | Coord (Standard_Real &Xv, Standard_Real &Yv, Standard_Real &Zv) const |
| For this vector returns its three coordinates Xv, Yv, and Zvinline More... | |
| Standard_Real | X () const |
| For this vector, returns its X coordinate. More... | |
| Standard_Real | Y () const |
| For this vector, returns its Y coordinate. More... | |
| Standard_Real | Z () const |
| For this vector, returns its Z coordinate. More... | |
| const gp_XYZ & | XYZ () const |
| For this vector, returns More... | |
| 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. More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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. More... | |
| Standard_Real | AngleWithRef (const gp_Vec &Other, const gp_Vec &VRef) const |
Computes the angle, in radians, between this vector and <br> vector Other. The result is a value between -Pi and Pi. | |
| Standard_Real | Magnitude () const |
| Computes the magnitude of this vector. More... | |
| Standard_Real | SquareMagnitude () const |
| Computes the square magnitude of this vector. //! Adds two vectors More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 || More... | |
| 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) More... | |
| 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. <br> <me> ^ (V1 ^ V2) | |
| Standard_Real | Dot (const gp_Vec &Other) const |
| computes the scalar product More... | |
| 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). <br>//! normalizes a vector <br> Raises an exception if the magnitude of the vector is | |
| void | Normalize () |
| gp_Vec | Normalized () const |
normalizes a vector <br> Raises an exception if the magnitude of the vector is | |
| void | Reverse () |
| gp_Vec | Reversed () const |
| Reverses the direction of a vector More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| 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 More... | |
| void | SetLinearForm (const gp_Vec &V1, const gp_Vec &V2) |
| <me> is setted to the following linear form : V1 + V2 More... | |
| void | Mirror (const gp_Vec &V) |
| 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. More... | |
| void | Mirror (const gp_Ax1 &A1) |
| 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. More... | |
| void | Mirror (const gp_Ax2 &A2) |
| 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). More... | |
| 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. More... | |
| 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. More... | |
| void | Transform (const gp_Trsf &T) |
| gp_Vec | Transformed (const gp_Trsf &T) const |
| Transforms a vector with the transformation T. More... | |
| const gp_XYZ & | _CSFDB_Getgp_Veccoord () const |
Defines a non-persistent vector in 3D space.
| gp_Vec::gp_Vec | ( | ) |
Creates a zero vector.
| gp_Vec::gp_Vec | ( | const gp_Dir & | V | ) |
Creates a unitary vector from a direction V.
| gp_Vec::gp_Vec | ( | const gp_XYZ & | Coord | ) |
Creates a vector with a triplet of coordinates.
| gp_Vec::gp_Vec | ( | const Standard_Real | Xv, |
| const Standard_Real | Yv, | ||
| const Standard_Real | Zv | ||
| ) |
Creates a point with its three cartesian coordinates.
Creates a vector from two points. The length of the vector
is the distance between P1 and P2
|
inline |
| void gp_Vec::Add | ( | const gp_Vec & | Other | ) |
| Standard_Real gp_Vec::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 gp_Vec::AngleWithRef | ( | const gp_Vec & | Other, |
| const gp_Vec & | VRef | ||
| ) | const |
Computes the angle, in radians, between this vector and <br>
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 gp_Vec::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 gp_Vec::Coord | ( | Standard_Real & | Xv, |
| Standard_Real & | Yv, | ||
| Standard_Real & | Zv | ||
| ) | const |
For this vector returns its three coordinates Xv, Yv, and Zvinline
| void gp_Vec::Cross | ( | const gp_Vec & | Right | ) |
Computes the triple vector product. <br>
<me> ^ (V1 ^ V2)
| Standard_Real gp_Vec::CrossMagnitude | ( | const gp_Vec & | Right | ) | const |
Computes the magnitude of the cross
product between <me> and Right.
Returns || <me> ^ Right ||
| Standard_Real gp_Vec::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 gp_Vec::Divide | ( | const Standard_Real | Scalar | ) |
| gp_Vec gp_Vec::Divided | ( | const Standard_Real | Scalar | ) | const |
Divides a vector by a scalar
//! computes the cross product between two vectors
| Standard_Real gp_Vec::Dot | ( | const gp_Vec & | Other | ) | const |
computes the scalar product
| Standard_Real gp_Vec::DotCross | ( | const gp_Vec & | V1, |
| const gp_Vec & | V2 | ||
| ) | const |
Computes the triple scalar product <me> * (V1 ^ V2). <br>//! normalizes a vector <br>
Raises an exception if the magnitude of the vector is
lower or equal to Resolution from gp.
| Standard_Boolean gp_Vec::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 gp_Vec::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 gp_Vec::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 gp_Vec::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 gp_Vec::Magnitude | ( | ) | const |
Computes the magnitude of this vector.
| void gp_Vec::Mirror | ( | const gp_Vec & | V | ) |
| void gp_Vec::Mirror | ( | const gp_Ax1 & | A1 | ) |
| void gp_Vec::Mirror | ( | const gp_Ax2 & | A2 | ) |
Performs the symmetrical transformation of a vector
with respect to the vector V which is the center of
the symmetry.
Performs the symmetrical transformation of a vector
with respect to an axis placement which is the axis
of the symmetry.
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).
| gp_Vec gp_Vec::Multiplied | ( | const Standard_Real | Scalar | ) | const |
Multiplies a vector by a scalar
//! Divides a vector by a scalar
| void gp_Vec::Multiply | ( | const Standard_Real | Scalar | ) |
| void gp_Vec::Normalize | ( | ) |
| gp_Vec gp_Vec::Normalized | ( | ) | const |
normalizes a vector <br>
Raises an exception if the magnitude of the vector is
lower or equal to Resolution from gp.
//! Reverses the direction of a vector
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void gp_Vec::Reverse | ( | ) |
| gp_Vec gp_Vec::Reversed | ( | ) | const |
Reverses the direction of a vector
| void gp_Vec::Rotate | ( | const gp_Ax1 & | A1, |
| const Standard_Real | Ang | ||
| ) |
| gp_Vec 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 gp_Vec::Scale | ( | const Standard_Real | S | ) |
| gp_Vec gp_Vec::Scaled | ( | const Standard_Real | S | ) | const |
Scales a vector. S is the scaling value.
//! Transforms a vector with the transformation T.
| void gp_Vec::SetCoord | ( | const Standard_Integer | Index, |
| const Standard_Real | Xi | ||
| ) |
Changes the coordinate of range Index <br>
Index = 1 => X is modified
Index = 2 => Y is modified
Index = 3 => Z is modified
//! Raised if Index != {1, 2, 3}.
| void gp_Vec::SetCoord | ( | const Standard_Real | Xv, |
| const Standard_Real | Yv, | ||
| const Standard_Real | Zv | ||
| ) |
For this vector, assigns
| void gp_Vec::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 gp_Vec::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 gp_Vec::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 gp_Vec::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 gp_Vec::SetLinearForm | ( | const Standard_Real | A1, |
| const gp_Vec & | V1, | ||
| const gp_Vec & | V2 | ||
| ) |
<me> is setted to the following linear form : A1 * V1 + V2
<me> is setted to the following linear form : V1 + V2
| void gp_Vec::SetX | ( | const Standard_Real | X | ) |
Assigns the given value to the X coordinate of this vector.
| void gp_Vec::SetXYZ | ( | const gp_XYZ & | Coord | ) |
Assigns the three coordinates of Coord to this vector.
| void gp_Vec::SetY | ( | const Standard_Real | Y | ) |
Assigns the given value to the X coordinate of this vector.
| void gp_Vec::SetZ | ( | const Standard_Real | Z | ) |
Assigns the given value to the X coordinate of this vector.
| Standard_Real gp_Vec::SquareMagnitude | ( | ) | const |
Computes the square magnitude of this vector.
//! Adds two vectors
| void gp_Vec::Subtract | ( | const gp_Vec & | Right | ) |
Subtracts two vectors
//! Multiplies a vector by a scalar
| void gp_Vec::Transform | ( | const gp_Trsf & | T | ) |
Transforms a vector with the transformation T.
| Standard_Real gp_Vec::X | ( | ) | const |
For this vector, returns its X coordinate.
| const gp_XYZ& gp_Vec::XYZ | ( | ) | const |
For this vector, returns
| Standard_Real gp_Vec::Y | ( | ) | const |
For this vector, returns its Y coordinate.
| Standard_Real gp_Vec::Z | ( | ) | const |
For this vector, returns its Z coordinate.
1.8.5