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 Vector3 & | operator*= (const Vector3 &_v) |
Multiplication operators. More... | |
const Vector3 & | operator*= (double _v) |
Multiplication operator. More... | |
Vector3 | operator+ (const Vector3 &_v) const |
Addition operator. More... | |
const Vector3 & | operator+= (const Vector3 &_v) |
Addition assignment operator. More... | |
Vector3 | operator- () const |
Negation operator. More... | |
Vector3 | operator- (const Vector3 &_pt) const |
Subtraction operators. More... | |
const Vector3 & | operator-= (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 Vector3 & | operator/= (const Vector3 &_pt) |
Division assignment operator. More... | |
const Vector3 & | operator/= (double _v) |
Division operator. More... | |
Vector3 & | operator= (const Vector3 &_v) |
Assignment operator. More... | |
Vector3 & | operator= (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... | |
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.
gazebo::math::Vector3::Vector3 | ( | ) |
Constructor.
Referenced by operator-().
gazebo::math::Vector3::Vector3 | ( | const double & | _x, |
const double & | _y, | ||
const double & | _z | ||
) |
Constructor.
[in] | _x | value along x |
[in] | _y | value along y |
[in] | _z | value along z |
gazebo::math::Vector3::Vector3 | ( | const Vector3 & | _v | ) |
Copy constructor.
[in] | _v | a vector |
|
virtual |
Destructor.
|
inline |
Return the cross product of this vector and pt.
double gazebo::math::Vector3::Distance | ( | const Vector3 & | _pt | ) | const |
Calc distance to the given point.
[in] | _pt | the point |
double gazebo::math::Vector3::Distance | ( | double | _x, |
double | _y, | ||
double | _z | ||
) | const |
Calc distance to the given point.
[in] | _x | value along x |
[in] | _y | value along y |
[in] | _z | value along z |
double gazebo::math::Vector3::Dot | ( | const Vector3 & | _pt | ) | const |
Return the dot product of this vector and pt.
bool gazebo::math::Vector3::Equal | ( | const Vector3 & | _v | ) | const |
Equality test.
[in] | _v | the other vector |
Vector3 gazebo::math::Vector3::GetAbs | ( | ) | const |
Get the absolute value of the vector.
Get distance to a line.
[in] | _pt1 | first point on the line |
[in] | _pt2 | second point on 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.
double gazebo::math::Vector3::GetMin | ( | ) | const |
Get the minimum value in the vector.
|
static |
Get a normal vector to a triangle.
[in] | _v1 | first vertex of the triangle |
[in] | _v2 | second vertex |
[in] | _v3 | third vertex |
Vector3 gazebo::math::Vector3::GetPerpendicular | ( | ) | const |
Return a vector that is perpendicular to this one.
Vector3 gazebo::math::Vector3::GetRounded | ( | ) | const |
Get a rounded version of this vector.
double gazebo::math::Vector3::GetSquaredLength | ( | ) | const |
Return the square of the length (magnitude) of the vector.
double gazebo::math::Vector3::GetSum | ( | ) | const |
Return the sum of the values.
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.
bool gazebo::math::Vector3::operator!= | ( | const Vector3 & | _v | ) | const |
Not equal to operator.
[in] | _v | The vector to compare against |
Multiplication operator.
[in] | _v |
Vector3 gazebo::math::Vector3::operator* | ( | double | _v | ) | const |
Multiplication operators.
[in] | _v | the scaling factor |
Multiplication operators.
[in] | _v | a vector |
const Vector3& gazebo::math::Vector3::operator*= | ( | double | _v | ) |
Multiplication operator.
[in] | _v | scaling factor |
Addition operator.
[in] | _v | vector to add |
Addition assignment operator.
[in] | _v | vector to add |
|
inline |
Subtraction operators.
[in] | _pt | subtrahend |
Division operator.
[in] _pt the vector divisor
const Vector3 gazebo::math::Vector3::operator/ | ( | double | _v | ) | const |
Division operator.
Division assignment operator.
[in] _pt the vector divisor
const Vector3& gazebo::math::Vector3::operator/= | ( | double | _v | ) |
Division operator.
Assignment operator.
[in] | _v | a new value |
Vector3& gazebo::math::Vector3::operator= | ( | double | _value | ) |
Assignment operator.
[in] | _value | assigned to all elements |
bool gazebo::math::Vector3::operator== | ( | const Vector3 & | _pt | ) | const |
Equal to operator.
[in] | _pt | The vector to compare against |
double gazebo::math::Vector3::operator[] | ( | unsigned int | index | ) | const |
[] operator
Vector3 gazebo::math::Vector3::Round | ( | ) |
Round to near whole number, return the result.
void gazebo::math::Vector3::Round | ( | int | _precision | ) |
Round all values to _precision decimal places.
[in] | _precision | the decimal places |
|
inline |
void gazebo::math::Vector3::SetToMax | ( | const Vector3 & | _v | ) |
Set this vector's components to the maximum of itself and the passed in vector.
[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.
[in] | _v | the minimum clamping vector |
Multiplication operators.
[in] | _s | the scaling factor |
[in] | _v | input vector |
|
friend |
|
friend |
Stream extraction operator.
_in | input stream |
_pt | vector3 to read values into |
|
static |
math::Vector3(1, 1, 1)
|
static |
math::Vector3(1, 0, 0)
|
static |
math::Vector3(0, 1, 0)
|
static |
math::Vector3(0, 0, 1)
double gazebo::math::Vector3::x |
double gazebo::math::Vector3::y |
double gazebo::math::Vector3::z |
|
static |
math::Vector3(0, 0, 0)