CSAD
 All Classes Namespaces Functions Variables Enumerations Enumerator Friends Groups Pages
Public Member Functions | Public Attributes | Friends | List of all members
bt::vector3d Class Reference

vector3d - three-dimensional vector with double precision. More...

Public Member Functions

_FORCEINLINE vector3d ()
 The constructor does not set the initial values to the fields.
 
_FORCEINLINE vector3d (double a)
 Конструктор, задает все параметры равными одному значению.
 
_FORCEINLINE vector3d (double _x, double _y, double _z)
 
_FORCEINLINE void add (vector3d &a, vector3d &b)
 Addition of vectors.
 
_FORCEINLINE double angle (vector3d &b)
 The angle between the vectors.
 
_FORCEINLINE void combine (vector3d &a, vector3d &b, double c, double d)
 Scaling and addition of vectors by the formula a * c + b * d.
 
_FORCEINLINE vector3d cross (vector3d &a)
 Cross product.
 
_FORCEINLINE void cross (vector3d &a, vector3d &b)
 Cross product.
 
_FORCEINLINE double dot (vector3d &a)
 Dot product.
 
_FORCEINLINE void lerp (vector3d &a, vector3d &b, double c)
 The vector interpolation between a and b, с[0.0 .. 1.0].
 
_FORCEINLINE void neg ()
 The appeal of the sign of the vector.
 
_FORCEINLINE const vector3d norm ()
 Converts the vector to a unit length.
 
_FORCEINLINE void normalize ()
 Converts the vector to a unit length.
 
_FORCEINLINE const vector3d operator& (const vector3d &a)
 Cross product of the vectors.
 
_FORCEINLINE const vector3d operator* (const quaterniond &_b)
 Transforming a vector by a quaternion.
 
_FORCEINLINE const vector3d operator* (const vector3d &a)
 Element-by-element multiplication of vectors.
 
_FORCEINLINE const vector3d operator*= (const double &b)
 Scaling vector.
 
_FORCEINLINE const vector3d operator*= (double &b)
 Scaling vector.
 
_FORCEINLINE const vector3d operator+ (const vector3d &a) const
 Addition of vectors.
 
_FORCEINLINE const vector3doperator+= (const vector3d &a)
 Addition of vectors.
 
_FORCEINLINE const vector3d operator- (const vector3d &a) const
 Subtraction of vectors.
 
_FORCEINLINE const vector3doperator-= (const vector3d &a)
 Subtraction of vectors.
 
_FORCEINLINE double & operator[] (unsigned int id) const
 Accessing parameters as array elements.
 
_FORCEINLINE const double operator| (vector3d &a)
 Dot product of the vectors.
 
_FORCEINLINE vector3d reflect (vector3d &a)
 The reflection vector.
 
_FORCEINLINE void scale (double a)
 Scales the vector.
 
_FORCEINLINE double sqrLen ()
 Vector length squared.
 
_FORCEINLINE void sub (vector3d &a, vector3d &b)
 Subtraction of vectors.
 
_FORCEINLINE void zero ()
 Sets the value of the fields to zero.
 

Public Attributes

BT_API TYPEINFO_H
 Статический индентификатор типа vector3d::t()
 
double x
 Параметр оси X.
 
double y
 Параметр оси Y.
 
double z
 Параметр оси Z.
 

Friends

_FORCEINLINE friend vector3d operator& (const vector3d &a, const vector3d &b)
 Cross product of the vectors.
 
_FORCEINLINE friend vector3d operator* (vector3d &a, double &b)
 Scaling vector.
 
_FORCEINLINE friend vector3d operator* (double &b, vector3d &a)
 Scaling vector.
 
_FORCEINLINE friend vector3d operator* (vector3d &a, const double &b)
 Scaling vector.
 
_FORCEINLINE friend vector3d operator* (const double &b, vector3d &a)
 Scaling vector.
 
_FORCEINLINE friend vector3d operator* (vector3d &a, vector3d &b)
 Element-by-element multiplication of vectors.
 
_FORCEINLINE friend vector3d operator* (const vector3d &a, const vector3d &b)
 Element-by-element multiplication of vectors.
 
_FORCEINLINE friend vector3d operator+ (vector3d &a, vector3d &b)
 Addition of vectors.
 
_FORCEINLINE friend vector3d operator+= (vector3d &a, vector3d &b)
 Addition of vectors.
 
_FORCEINLINE friend vector3d operator- (vector3d &a, vector3d &b)
 Subtraction of vectors.
 
_FORCEINLINE friend vector3d operator-= (vector3d &a, vector3d &b)
 Subtraction of vectors.
 
_FORCEINLINE friend vector3d operator/ (vector3d &a, vector3d &b)
 Element-by-element division of vectors.
 
_FORCEINLINE friend vector3d operator/ (const vector3d &a, const vector3d &b)
 Element-by-element division of vectors.
 
_FORCEINLINE friend double operator| (vector3d &a, vector3d &b)
 Dot product of the vectors.
 

Detailed Description

vector3d - three-dimensional vector with double precision.

See Also
vector3f, vector2f, vector2d, vector4f, vector4d, bt: math

Constructor & Destructor Documentation

_FORCEINLINE bt::vector3d::vector3d ( double  _x,
double  _y,
double  _z 
)
inline

Конструктор.

Parameters
_x- vector x
_y- vector y
_z- vector z