PointCloud2BIM Library  1.0
Library to facilitate the transpormation of point clouds into digital BIM representation
Public Member Functions | Public Attributes | List of all members
Vector3 Class Reference

Public Member Functions

 Vector3 ()
 Creates a zero vector.
 
 Vector3 (double vx, double vy, double vz)
 Creates a new vector with specified coordinates. More...
 
 Vector3 (double vx, double vy)
 Creates a new 2D vector with specified coordinates. More...
 
 Vector3 (PointXYZ &p)
 Creates vector from 3D point. More...
 
 Vector3 (PointXYZNormal &p)
 Creates vector from 3D point with normals. More...
 
Vector3 operator+ (const Vector3 &o)
 Operator for vector addition. More...
 
Vector3operator+= (const Vector3 &o)
 Operator for addition to a vector. More...
 
Vector3 operator- ()
 Operator for vector inversion. More...
 
Vector3 operator- (const Vector3 o)
 Operator for vector subtraction. More...
 
Vector3operator-= (const Vector3 o)
 Operator for subtraction from a vector. More...
 
Vector3 operator* (const double s)
 Operator for vector multiplication. More...
 
Vector3operator*= (const double s)
 Operator for vector multiplication. More...
 
Vector3 operator/ (const double s)
 Operator for vector division. More...
 
Vector3operator/= (const double s)
 Operator for vector division. More...
 
double length ()
 Calculates length of a vector. More...
 
double length_sqr ()
 Calculates squared length of a vector. More...
 
Vector3 normalized ()
 Normalize vector. More...
 
Vector3normalize ()
 Normalize vector. More...
 
double operator* (const Vector3 o)
 Operator for dot product of two vectors. More...
 
Vector3 operator^ (const Vector3 o)
 Calculates cross product of two vectors. More...
 
Vector3operator^= (const Vector3 o)
 Calculates cross product of two vectors. More...
 

Public Attributes

double x
 X component.
 
double y
 Y component.
 
double z
 Z component.
 

Constructor & Destructor Documentation

Vector3::Vector3 ( double  vx,
double  vy,
double  vz 
)
inline

Creates a new vector with specified coordinates.

Parameters
vxX component
vyY component
vzZ component
Vector3::Vector3 ( double  vx,
double  vy 
)
inline

Creates a new 2D vector with specified coordinates.

Parameters
vxX component
vyY component
Vector3::Vector3 ( PointXYZ p)
inline

Creates vector from 3D point.

Parameters
pPointXYZ
Vector3::Vector3 ( PointXYZNormal p)
inline

Creates vector from 3D point with normals.

Parameters
pPointXYZNormal

Member Function Documentation

double Vector3::length ( )
inline

Calculates length of a vector.

Returns
Vector length
double Vector3::length_sqr ( )
inline

Calculates squared length of a vector.

Returns
Squared vector length
Vector3& Vector3::normalize ( )
inline

Normalize vector.

Returns
Normalized vector
Vector3 Vector3::normalized ( )
inline

Normalize vector.

Returns
Normalized vector
Vector3 Vector3::operator* ( const double  s)
inline

Operator for vector multiplication.

Parameters
sScalar
Returns
New vector
double Vector3::operator* ( const Vector3  o)
inline

Operator for dot product of two vectors.

Parameters
oVector
Returns
Dot product
Vector3& Vector3::operator*= ( const double  s)
inline

Operator for vector multiplication.

Parameters
sScalar
Returns
Current vector
Vector3 Vector3::operator+ ( const Vector3 o)
inline

Operator for vector addition.

Parameters
oVector to be added
Returns
New Vector
Vector3& Vector3::operator+= ( const Vector3 o)
inline

Operator for addition to a vector.

Parameters
oVector to be added
Returns
Current vector
Vector3 Vector3::operator- ( )
inline

Operator for vector inversion.

Returns
New vector with reversed signs
Vector3 Vector3::operator- ( const Vector3  o)
inline

Operator for vector subtraction.

Parameters
oVector to be subtracted
Returns
New vector
Vector3& Vector3::operator-= ( const Vector3  o)
inline

Operator for subtraction from a vector.

Parameters
oVector to subtract
Returns
Current vector
Vector3 Vector3::operator/ ( const double  s)
inline

Operator for vector division.

Parameters
sScalar
Returns
New vector
Vector3& Vector3::operator/= ( const double  s)
inline

Operator for vector division.

Parameters
sScalar
Returns
Current vector
Vector3 Vector3::operator^ ( const Vector3  o)
inline

Calculates cross product of two vectors.

Parameters
oVector
Returns
Cross product
Vector3& Vector3::operator^= ( const Vector3  o)
inline

Calculates cross product of two vectors.

Parameters
oVector
Returns
Current vector

The documentation for this class was generated from the following file: