OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
gp


gp_Vec Class Reference

Defines a non-persistent vector in 3D space.
.

#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_XYZXYZ () 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_ ()


Constructor & Destructor Documentation

gp_Vec::gp_Vec  )  [inline]
 

gp_Vec::gp_Vec const gp_Dir V  )  [inline]
 

gp_Vec::gp_Vec const gp_XYZ Coord  )  [inline]
 

gp_Vec::gp_Vec const Standard_Real  Xv,
const Standard_Real  Yv,
const Standard_Real  Zv
[inline]
 

gp_Vec::gp_Vec const gp_Pnt P1,
const gp_Pnt P2
[inline]
 


Member Function Documentation

const gp_XYZ& gp_Vec::_CSFDB_Getgp_Veccoord  )  const [inline]
 

void gp_Vec::Add const gp_Vec Other  )  [inline]
 

gp_Vec gp_Vec::Added const gp_Vec Other  )  const [inline]
 

Standard_Real gp_Vec::Angle const gp_Vec Other  )  const [inline]
 

Standard_Real gp_Vec::AngleWithRef const gp_Vec Other,
const gp_Vec VRef
const [inline]
 

void gp_Vec::Coord Standard_Real Xv,
Standard_Real Yv,
Standard_Real Zv
const [inline]
 

Standard_Real gp_Vec::Coord const Standard_Integer  Index  )  const [inline]
 

void gp_Vec::Cross const gp_Vec Right  )  [inline]
 

void gp_Vec::CrossCross const gp_Vec V1,
const gp_Vec V2
[inline]
 

gp_Vec gp_Vec::CrossCrossed const gp_Vec V1,
const gp_Vec V2
const [inline]
 

gp_Vec gp_Vec::Crossed const gp_Vec Right  )  const [inline]
 

Standard_Real gp_Vec::CrossMagnitude const gp_Vec Right  )  const [inline]
 

Standard_Real gp_Vec::CrossSquareMagnitude const gp_Vec Right  )  const [inline]
 

void gp_Vec::Divide const Standard_Real  Scalar  )  [inline]
 

gp_Vec gp_Vec::Divided const Standard_Real  Scalar  )  const [inline]
 

Standard_Real gp_Vec::Dot const gp_Vec Other  )  const [inline]
 

Standard_Real gp_Vec::DotCross const gp_Vec V1,
const gp_Vec V2
const [inline]
 

Standard_EXPORT Standard_Boolean gp_Vec::IsEqual const gp_Vec Other,
const Standard_Real  LinearTolerance,
const Standard_Real  AngularTolerance
const
 

Standard_Boolean gp_Vec::IsNormal const gp_Vec Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Boolean gp_Vec::IsOpposite const gp_Vec Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Boolean gp_Vec::IsParallel const gp_Vec Other,
const Standard_Real  AngularTolerance
const [inline]
 

Standard_Real gp_Vec::Magnitude  )  const [inline]
 

Standard_EXPORT void gp_Vec::Mirror const gp_Ax2 A2  ) 
 

Standard_EXPORT void gp_Vec::Mirror const gp_Ax1 A1  ) 
 

Standard_EXPORT void gp_Vec::Mirror const gp_Vec V  ) 
 

Standard_EXPORT gp_Vec gp_Vec::Mirrored const gp_Ax2 A2  )  const
 

Standard_EXPORT gp_Vec gp_Vec::Mirrored const gp_Ax1 A1  )  const
 

Standard_EXPORT gp_Vec gp_Vec::Mirrored const gp_Vec V  )  const
 

gp_Vec gp_Vec::Multiplied const Standard_Real  Scalar  )  const [inline]
 

void gp_Vec::Multiply const Standard_Real  Scalar  )  [inline]
 

void gp_Vec::Normalize  )  [inline]
 

gp_Vec gp_Vec::Normalized  )  const [inline]
 

Standard_Real gp_Vec::operator * const gp_Vec Other  )  const [inline]
 

gp_Vec gp_Vec::operator * const Standard_Real  Scalar  )  const [inline]
 

void gp_Vec::operator *= const Standard_Real  Scalar  )  [inline]
 

void gp_Vec::operator delete void *  anAddress  )  [inline]
 

void* gp_Vec::operator new size_t  size  )  [inline]
 

void* gp_Vec::operator new size_t  ,
void *  anAddress
[inline]
 

gp_Vec gp_Vec::operator+ const gp_Vec Other  )  const [inline]
 

void gp_Vec::operator+= const gp_Vec Other  )  [inline]
 

gp_Vec gp_Vec::operator-  )  const [inline]
 

gp_Vec gp_Vec::operator- const gp_Vec Right  )  const [inline]
 

void gp_Vec::operator-= const gp_Vec Right  )  [inline]
 

gp_Vec gp_Vec::operator/ const Standard_Real  Scalar  )  const [inline]
 

void gp_Vec::operator/= const Standard_Real  Scalar  )  [inline]
 

gp_Vec gp_Vec::operator^ const gp_Vec Right  )  const [inline]
 

void gp_Vec::operator^= const gp_Vec Right  )  [inline]
 

void gp_Vec::Reverse  )  [inline]
 

gp_Vec gp_Vec::Reversed  )  const [inline]
 

void gp_Vec::Rotate const gp_Ax1 A1,
const Standard_Real  Ang
[inline]
 

gp_Vec gp_Vec::Rotated const gp_Ax1 A1,
const Standard_Real  Ang
const [inline]
 

void gp_Vec::Scale const Standard_Real  S  )  [inline]
 

gp_Vec gp_Vec::Scaled const Standard_Real  S  )  const [inline]
 

void gp_Vec::SetCoord const Standard_Real  Xv,
const Standard_Real  Yv,
const Standard_Real  Zv
[inline]
 

void gp_Vec::SetCoord const Standard_Integer  Index,
const Standard_Real  Xi
[inline]
 

void gp_Vec::SetLinearForm const gp_Vec V1,
const gp_Vec V2
[inline]
 

void gp_Vec::SetLinearForm const Standard_Real  A1,
const gp_Vec V1,
const gp_Vec V2
[inline]
 

void gp_Vec::SetLinearForm const Standard_Real  A1,
const gp_Vec V1,
const Standard_Real  A2,
const gp_Vec V2
[inline]
 

void gp_Vec::SetLinearForm const Standard_Real  A1,
const gp_Vec V1,
const Standard_Real  A2,
const gp_Vec V2,
const gp_Vec V3
[inline]
 

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
[inline]
 

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
[inline]
 

void gp_Vec::SetX const Standard_Real  X  )  [inline]
 

void gp_Vec::SetXYZ const gp_XYZ Coord  )  [inline]
 

void gp_Vec::SetY const Standard_Real  Y  )  [inline]
 

void gp_Vec::SetZ const Standard_Real  Z  )  [inline]
 

Standard_Real gp_Vec::SquareMagnitude  )  const [inline]
 

void gp_Vec::Subtract const gp_Vec Right  )  [inline]
 

gp_Vec gp_Vec::Subtracted const gp_Vec Right  )  const [inline]
 

Standard_EXPORT void gp_Vec::Transform const gp_Trsf T  ) 
 

gp_Vec gp_Vec::Transformed const gp_Trsf T  )  const [inline]
 

Standard_Real gp_Vec::X  )  const [inline]
 

const gp_XYZ & gp_Vec::XYZ  )  const [inline]
 

Standard_Real gp_Vec::Y  )  const [inline]
 

Standard_Real gp_Vec::Z  )  const [inline]
 


Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Vec_Type_  )  [friend]
 


Field Documentation

gp_XYZ gp_Vec::coord [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:12:41 2008 for OpenCASCADE by  doxygen 1.4.1