gazebo::math::Vector3 Class Reference

The Vector3 class represents the generic vector containing 3 elements. More...

`#include <math/gzmath.hh>`

## Public Member Functions

Vector3 ()
Constructor. More...

Vector3 (const double &_x, const double &_y, const double &_z)
Constructor. More...

Vector3 (const Vector3 &_v)
Copy constructor. More...

virtual ~Vector3 ()
Destructor. More...

void Correct ()
Corrects any nan values. More...

Vector3 Cross (const Vector3 &_pt) const
Return the cross product of this vector and pt. More...

double Distance (const Vector3 &_pt) const
Calc distance to the given point. More...

double Distance (double _x, double _y, double _z) const
Calc distance to the given point. More...

double Dot (const Vector3 &_pt) const
Return the dot product of this vector and pt. More...

bool Equal (const Vector3 &_v) const
Equality test. More...

Vector3 GetAbs () const
Get the absolute value of the vector. More...

double GetDistToLine (const Vector3 &_pt1, const Vector3 &_pt2)
Get distance to a line. More...

double GetLength () const
Returns the length (magnitude) of the vector \ return the length. More...

double GetMax () const
Get the maximum value in the vector. More...

double GetMin () const
Get the minimum value in the vector. More...

Vector3 GetPerpendicular () const
Return a vector that is perpendicular to this one. More...

Vector3 GetRounded () const
Get a rounded version of this vector. More...

double GetSquaredLength () const
Return the square of the length (magnitude) of the vector. More...

double GetSum () const
Return the sum of the values. More...

bool IsFinite () const
See if a point is finite (e.g., not nan) More...

Vector3 Normalize ()
Normalize the vector length. More...

bool operator!= (const Vector3 &_v) const
Not equal to operator. More...

Vector3 operator* (const Vector3 &_p) const
Multiplication operator. More...

Vector3 operator* (double _v) const
Multiplication operators. More...

const Vector3operator*= (const Vector3 &_v)
Multiplication operators. More...

const Vector3operator*= (double _v)
Multiplication operator. More...

Vector3 operator+ (const Vector3 &_v) const

const Vector3operator+= (const Vector3 &_v)

Vector3 operator- () const
Negation operator. More...

Vector3 operator- (const Vector3 &_pt) const
Subtraction operators. More...

const Vector3operator-= (const Vector3 &_pt)
Subtraction operators. More...

const Vector3 operator/ (const Vector3 &_pt) const
Division operator. More...

const Vector3 operator/ (double _v) const
Division operator. More...

const Vector3operator/= (const Vector3 &_pt)
Division assignment operator. More...

const Vector3operator/= (double _v)
Division operator. More...

Vector3operator= (const Vector3 &_v)
Assignment operator. More...

Vector3operator= (double _value)
Assignment operator. More...

bool operator== (const Vector3 &_pt) const
Equal to operator. More...

double operator[] (unsigned int index) const
[] operator More...

Vector3 Round ()
Round to near whole number, return the result. More...

void Round (int _precision)
Round all values to _precision decimal places. More...

void Set (double _x=0, double _y=0, double _z=0)
Set the contents of the vector. More...

void SetToMax (const Vector3 &_v)
Set this vector's components to the maximum of itself and the passed in vector. More...

void SetToMin (const Vector3 &_v)
Set this vector's components to the minimum of itself and the passed in vector. More...

## Static Public Member Functions

static Vector3 GetNormal (const Vector3 &_v1, const Vector3 &_v2, const Vector3 &_v3)
Get a normal vector to a triangle. More...

## Public Attributes

double x
X location. More...

double y
Y location. More...

double z
Z location. More...

## Static Public Attributes

static const Vector3 One
math::Vector3(1, 1, 1) More...

static const Vector3 UnitX
math::Vector3(1, 0, 0) More...

static const Vector3 UnitY
math::Vector3(0, 1, 0) More...

static const Vector3 UnitZ
math::Vector3(0, 0, 1) More...

static const Vector3 Zero
math::Vector3(0, 0, 0) More...

## Friends

Vector3 operator* (double _s, const Vector3 &_v)
Multiplication operators. More...

std::ostream & operator<< (std::ostream &_out, const gazebo::math::Vector3 &_pt)
Stream insertion operator. More...

std::istream & operator>> (std::istream &_in, gazebo::math::Vector3 &_pt)
Stream extraction operator. More...

## Detailed Description

The Vector3 class represents the generic vector containing 3 elements.

Since it's commonly used to keep coordinate system related information, its elements are labeled by x, y, z.

## Constructor & Destructor Documentation

 gazebo::math::Vector3::Vector3 ( )

Constructor.

 gazebo::math::Vector3::Vector3 ( const double & _x, const double & _y, const double & _z )

Constructor.

Parameters
 [in] _x value along x [in] _y value along y [in] _z value along z
 gazebo::math::Vector3::Vector3 ( const Vector3 & _v )

Copy constructor.

Parameters
 [in] _v a vector
 virtual gazebo::math::Vector3::~Vector3 ( )
virtual

Destructor.

## Member Function Documentation

 void gazebo::math::Vector3::Correct ( )
inline

Corrects any nan values.

 Vector3 gazebo::math::Vector3::Cross ( const Vector3 & _pt ) const

Return the cross product of this vector and pt.

Returns
the product
 double gazebo::math::Vector3::Distance ( const Vector3 & _pt ) const

Calc distance to the given point.

Parameters
 [in] _pt the point
Returns
the distance
 double gazebo::math::Vector3::Distance ( double _x, double _y, double _z ) const

Calc distance to the given point.

Parameters
 [in] _x value along x [in] _y value along y [in] _z value along z
Returns
the distance
 double gazebo::math::Vector3::Dot ( const Vector3 & _pt ) const

Return the dot product of this vector and pt.

Returns
the product
 bool gazebo::math::Vector3::Equal ( const Vector3 & _v ) const

Equality test.

Remarks
This is equivalent to the == operator
Parameters
 [in] _v the other vector
Returns
true if the 2 vectors have the same values, false otherwise
 Vector3 gazebo::math::Vector3::GetAbs ( ) const

Get the absolute value of the vector.

Returns
a vector with positive elements
 double gazebo::math::Vector3::GetDistToLine ( const Vector3 & _pt1, const Vector3 & _pt2 )

Get distance to a line.

Parameters
 [in] _pt1 first point on the line [in] _pt2 second point on the line
Returns
the minimum distance from this point to the line
 double gazebo::math::Vector3::GetLength ( ) const

Returns the length (magnitude) of the vector \ return the length.

 double gazebo::math::Vector3::GetMax ( ) const

Get the maximum value in the vector.

Returns
the maximum element
 double gazebo::math::Vector3::GetMin ( ) const

Get the minimum value in the vector.

Returns
the minimum element
 static Vector3 gazebo::math::Vector3::GetNormal ( const Vector3 & _v1, const Vector3 & _v2, const Vector3 & _v3 )
static

Get a normal vector to a triangle.

Parameters
 [in] _v1 first vertex of the triangle [in] _v2 second vertex [in] _v3 third vertex
Returns
the normal
 Vector3 gazebo::math::Vector3::GetPerpendicular ( ) const

Return a vector that is perpendicular to this one.

Returns
an orthogonal vector
 Vector3 gazebo::math::Vector3::GetRounded ( ) const

Get a rounded version of this vector.

Returns
a rounded vector
 double gazebo::math::Vector3::GetSquaredLength ( ) const

Return the square of the length (magnitude) of the vector.

Returns
the squared length
 double gazebo::math::Vector3::GetSum ( ) const

Return the sum of the values.

Returns
the sum
 bool gazebo::math::Vector3::IsFinite ( ) const

See if a point is finite (e.g., not nan)

 Vector3 gazebo::math::Vector3::Normalize ( )

Normalize the vector length.

Returns
unit length vector
 bool gazebo::math::Vector3::operator!= ( const Vector3 & _v ) const

Not equal to operator.

Parameters
 [in] _v The vector to compare against
Returns
true if each component is equal withing a default tolerence (1e-6), false otherwise
 Vector3 gazebo::math::Vector3::operator* ( const Vector3 & _p ) const

Multiplication operator.

Remarks
this is an element wise multiplication, not a cross product
Parameters
 [in] _v
 Vector3 gazebo::math::Vector3::operator* ( double _v ) const

Multiplication operators.

Parameters
 [in] _v the scaling factor
Returns
a scaled vector
 const Vector3& gazebo::math::Vector3::operator*= ( const Vector3 & _v )

Multiplication operators.

Remarks
this is an element wise multiplication, not a cross product
Parameters
 [in] _v a vector
Returns
this
 const Vector3& gazebo::math::Vector3::operator*= ( double _v )

Multiplication operator.

Parameters
 [in] _v scaling factor
Returns
this
 Vector3 gazebo::math::Vector3::operator+ ( const Vector3 & _v ) const

Parameters
Returns
the sum vector
 const Vector3& gazebo::math::Vector3::operator+= ( const Vector3 & _v )

Parameters
 Vector3 gazebo::math::Vector3::operator- ( ) const
inline

Negation operator.

Returns
negative of this vector
 Vector3 gazebo::math::Vector3::operator- ( const Vector3 & _pt ) const
inline

Subtraction operators.

Parameters
 [in] _pt a vector to substract
Returns
a vector

References x, y, and z.

 const Vector3& gazebo::math::Vector3::operator-= ( const Vector3 & _pt )

Subtraction operators.

Parameters
 [in] _pt subtrahend
 const Vector3 gazebo::math::Vector3::operator/ ( const Vector3 & _pt ) const

Division operator.

[in] _pt the vector divisor

Remarks
this is an element wise division
Returns
a vector
 const Vector3 gazebo::math::Vector3::operator/ ( double _v ) const

Division operator.

Remarks
this is an element wise division
Returns
a vector
 const Vector3& gazebo::math::Vector3::operator/= ( const Vector3 & _pt )

Division assignment operator.

[in] _pt the vector divisor

Remarks
this is an element wise division
Returns
a vector
 const Vector3& gazebo::math::Vector3::operator/= ( double _v )

Division operator.

Remarks
this is an element wise division
Returns
this
 Vector3& gazebo::math::Vector3::operator= ( const Vector3 & _v )

Assignment operator.

Parameters
 [in] _v a new value
Returns
this
 Vector3& gazebo::math::Vector3::operator= ( double _value )

Assignment operator.

Parameters
 [in] _value assigned to all elements
Returns
this
 bool gazebo::math::Vector3::operator== ( const Vector3 & _pt ) const

Equal to operator.

Parameters
 [in] _pt The vector to compare against
Returns
true if each component is equal withing a default tolerence (1e-6), false otherwise
 double gazebo::math::Vector3::operator[] ( unsigned int index ) const

[] operator

 Vector3 gazebo::math::Vector3::Round ( )

Round to near whole number, return the result.

Returns
the result
 void gazebo::math::Vector3::Round ( int _precision )

Round all values to _precision decimal places.

Parameters
 [in] _precision the decimal places
 void gazebo::math::Vector3::Set ( double _x = `0`, double _y = `0`, double _z = `0` )
inline

Set the contents of the vector.

Parameters
 [in] _x value along x [in] _y value along y [in] _z value aling z
 void gazebo::math::Vector3::SetToMax ( const Vector3 & _v )

Set this vector's components to the maximum of itself and the passed in vector.

Parameters
 [in] _v the maximum clamping vector
 void gazebo::math::Vector3::SetToMin ( const Vector3 & _v )

Set this vector's components to the minimum of itself and the passed in vector.

Parameters
 [in] _v the minimum clamping vector

## Friends And Related Function Documentation

 Vector3 operator* ( double _s, const Vector3 & _v )
friend

Multiplication operators.

Parameters
 [in] _s the scaling factor [in] _v input vector
Returns
a scaled vector
 std::ostream& operator<< ( std::ostream & _out, const gazebo::math::Vector3 & _pt )
friend

Stream insertion operator.

Parameters
 _out output stream _pt Vector3 to output
Returns
the stream
 std::istream& operator>> ( std::istream & _in, gazebo::math::Vector3 & _pt )
friend

Stream extraction operator.

Parameters
 _in input stream _pt vector3 to read values into
Returns
the stream

## Member Data Documentation

 const Vector3 gazebo::math::Vector3::One
static

math::Vector3(1, 1, 1)

 const Vector3 gazebo::math::Vector3::UnitX
static

math::Vector3(1, 0, 0)

 const Vector3 gazebo::math::Vector3::UnitY
static

math::Vector3(0, 1, 0)

 const Vector3 gazebo::math::Vector3::UnitZ
static

math::Vector3(0, 0, 1)

 const Vector3 gazebo::math::Vector3::Zero
static

math::Vector3(0, 0, 0)