| public | 
Inheritance Graph
graph BT
	_Vec3
	click _Vec3 "classGeometry_1_1__Vec3"
Description
Three-dimensional vector.
[ _Vec3 ]
Classes
| class | Geometry::_Vec3::Comparator  | 
    
Main
| _Vec3() | |
| _Vec3( value_t _x, value_t _y, value_t _z) | |
| template< class other_t > | |
| _Vec3(const _Vec3 < other_t > & v) | |
| _Vec3(const vec3_t & v1, const vec3_t & v2, value_t blend) | |
| _Vec3(const value_t * v) | |
| _Vec3(const value_t v) | 
Information
| value_t & | operator[](uint_fast8_t nr) | 
| const value_t & | operator[](uint_fast8_t nr) const | 
| const value_t * | getVec() const | 
| const value_t | getX() const | 
| const value_t | x() const | 
| const value_t | get(const int & i) const | 
| const value_t | getY() const | 
| const value_t | y() const | 
| const value_t | getZ() const | 
| const value_t | z() const | 
| value_t | maxAbsValue() const | 
| template< typename float_t > | |
| float_t | length() const | 
| value_t | length() const | 
| value_t | lengthSquared() const | 
| value_t | dot(const vec3_t & p) const | 
| template< typename float_t > | |
| float_t | distance(const vec3_t & p) const | 
| value_t | distance(const vec3_t & p) const | 
| value_t | distanceSquared(const vec3_t & p) const | 
| bool | isZero() const | 
| value_t | planeTest(const vec3_t & planePosition, const vec3_t & planeNormal) const | 
| value_t | planeTest(const vec3_t & planeNormal, const value_t planeDist) const | 
Modification
| void | setValue(const value_t _x, const value_t _y, const value_t _z) | 
| void | setValue(const value_t t) | 
| void | setValue(const value_t * v) | 
| void | setX(const value_t _x) | 
| void | x(const value_t v) | 
| void | setY(const value_t _y) | 
| void | y(const value_t v) | 
| void | setZ(const value_t _z) | 
| void | z(const value_t v) | 
| vec3_t & | operator+=(const vec3_t & p) | 
| vec3_t & | operator-=(const vec3_t & p1) | 
| vec3_t & | operator*=(const value_t & f) | 
| vec3_t & | operator/=(const value_t & f) | 
| vec3_t & | normalize() | 
| vec3_t & | reflect(const vec3_t & planeNormal) | 
Creation
| const vec3_t | operator+(const vec3_t & p) const | 
| const vec3_t | operator-(const vec3_t & p) const | 
| const vec3_t | operator-() const | 
| const vec3_t | operator*(const value_t & f) const | 
| const vec3_t | operator*(const vec3_t & p) const | 
| const vec3_t | operator/(const value_t & f) const | 
| const vec3_t | operator/(const vec3_t & p) const | 
| vec3_t | cross(const vec3_t & p) const | 
| vec3_t | getNormalized() const | 
| vec3_t | getAbs() const | 
| vec3_t | getProjection(const vec3_t & planeBase, const vec3_t & planeNormal) const | 
Comparators
| bool | equals(const vec3_t & other, value_t epsilon) const | 
| bool | operator==(const vec3_t & p) const | 
| bool | operator!=(const vec3_t & p) const | 
| vec3_t | pairwiseMin(const vec3_t & a, const vec3_t & b) | 
| vec3_t | pairwiseMax(const vec3_t & a, const vec3_t & b) | 
Conversion
| void | toArray( value_t * t) const | 
Serialization
Public Types
| typedef T_ | value_t | 
| typedef _Vec3 < value_t > | vec3_t | 
Documentation
function
 Geometry::_Vec3::_Vec3
| public | inline | 
| _Vec3( | ) | 
[ctor]
Note: all components are initialized with 0
Defined in Geometry/Vec3.h:59
function
 Geometry::_Vec3::_Vec3
| public | inline | 
| _Vec3( | value_t | _x, | 
| value_t | _y, | |
| value_t | _z | |
| ) | 
[ctor]
Parameters
- x
 - used to initialize the first component
 - y
 - used to initialize the second component
 - z
 - used to initialize the third component
 
Defined in Geometry/Vec3.h:67
function
 Geometry::_Vec3::_Vec3
| public | inline | explicit | 
| template< class other_t > | ||
| _Vec3( | const _Vec3 < other_t > & | v ) | 
[ctor]
Parameters
- v
 - used to initialize the new Vec3
 
Note: values are converted by casting
Defined in Geometry/Vec3.h:75
function
 Geometry::_Vec3::_Vec3
| public | inline | 
| _Vec3( | const vec3_t & | v1, | 
| const vec3_t & | v2, | |
| value_t | blend | |
| ) | 
[ctor] interpolation between v1 and sv2, according to the factor blend
Parameters
- v1v2
 - vectors to be interpolated
 - blend
 - blendingfactor (should be between 0 and 1)
 
Defined in Geometry/Vec3.h:83
function
 Geometry::_Vec3::_Vec3
| public | inline | explicit | 
| _Vec3( | const value_t * | v ) | 
[ctor]
Parameters
- v
 - the first three entries of v are used for for initialisation
 
Defined in Geometry/Vec3.h:90
function
 Geometry::_Vec3::_Vec3
| public | inline | explicit | 
| _Vec3( | const value_t | v ) | 
[ctor]
Parameters
- v
 - used for initialisation of all components
 
Defined in Geometry/Vec3.h:96
function
 Geometry::_Vec3::operator[]
| public | inline | 
| value_t & operator[]( | uint_fast8_t | nr ) | 
array-access operator
Defined in Geometry/Vec3.h:106
function
 Geometry::_Vec3::operator[]
| public | const | inline | 
| const value_t & operator[]( | uint_fast8_t | nr ) const | 
const array-access operator
Defined in Geometry/Vec3.h:111
function
 Geometry::_Vec3::getVec
| public | const | inline | 
| const value_t * getVec( | ) const | 
Returns
the underlying array of this
Defined in Geometry/Vec3.h:116
function
 Geometry::_Vec3::getX
| public | const | inline | 
| const value_t getX( | ) const | 
Returns
the x component of this
Note: equal to this[0]
Defined in Geometry/Vec3.h:122
function
 Geometry::_Vec3::x
| public | const | inline | 
| const value_t x( | ) const | 
Defined in Geometry/Vec3.h:125
function
 Geometry::_Vec3::get
| public | const | inline | 
| const value_t get( | const int & | i ) const | 
Returns
the i-th component of this
Defined in Geometry/Vec3.h:130
function
 Geometry::_Vec3::getY
| public | const | inline | 
| const value_t getY( | ) const | 
Returns
the y component of this
Note: equal to this[1]
Defined in Geometry/Vec3.h:136
function
 Geometry::_Vec3::y
| public | const | inline | 
| const value_t y( | ) const | 
Defined in Geometry/Vec3.h:139
function
 Geometry::_Vec3::getZ
| public | const | inline | 
| const value_t getZ( | ) const | 
Returns
the z component of this
Note: equal to this[2]
Defined in Geometry/Vec3.h:145
function
 Geometry::_Vec3::z
| public | const | inline | 
| const value_t z( | ) const | 
Defined in Geometry/Vec3.h:148
function
 Geometry::_Vec3::maxAbsValue
| public | const | inline | 
| value_t maxAbsValue( | ) const | 
Returns
the maximum absolute value of the components of this
Defined in Geometry/Vec3.h:153
function
 Geometry::_Vec3::length
| public | const | inline | 
| template< typename float_t > | |
| float_t length( | ) const | 
Returns
the length of this
Defined in Geometry/Vec3.h:168
function
 Geometry::_Vec3::length
| public | const | inline | 
| value_t length( | ) const | 
Defined in Geometry/Vec3.h:172
function
 Geometry::_Vec3::lengthSquared
| public | const | inline | 
| value_t lengthSquared( | ) const | 
Returns
the quadrated length of this
Defined in Geometry/Vec3.h:177
function
 Geometry::_Vec3::dot
| public | const | inline | 
| value_t dot( | const vec3_t & | p ) const | 
calculates the dotproduct of this and another Vec3
Parameters
- p
 - the vector to be used for calculation
 
Returns
the dotproduct of this and p
Defined in Geometry/Vec3.h:184
function
 Geometry::_Vec3::distance
| public | const | inline | 
| template< typename float_t > | ||
| float_t distance( | const vec3_t & | p ) const | 
calculates the distance between this and another Vec3
Parameters
- p
 - the vector to be used for calculation
 
Returns
the distance between this and p
Defined in Geometry/Vec3.h:192
function
 Geometry::_Vec3::distance
| public | const | inline | 
| value_t distance( | const vec3_t & | p ) const | 
Defined in Geometry/Vec3.h:196
function
 Geometry::_Vec3::distanceSquared
| public | const | inline | 
| value_t distanceSquared( | const vec3_t & | p ) const | 
calculates the squared distance between this and another Vec3
Parameters
- p
 - the vector to be used for calculation
 
Returns
the squared distance between this and p
Defined in Geometry/Vec3.h:203
function
 Geometry::_Vec3::isZero
| public | const | inline | 
| bool isZero( | ) const | 
Returns
vec == (0,0,0)
Defined in Geometry/Vec3.h:211
function
 Geometry::_Vec3::planeTest
| public | const | inline | 
| value_t planeTest( | const vec3_t & | planePosition, | 
| const vec3_t & | planeNormal | |
| ) const | 
Returns
on plane = 0 below plane < 0 above plane > 0
Defined in Geometry/Vec3.h:219
function
 Geometry::_Vec3::planeTest
| public | const | inline | 
| value_t planeTest( | const vec3_t & | planeNormal, | 
| const value_t | planeDist | |
| ) const | 
Determine the location of the point relative to the given plane.
Parameters
- planeNormal
 - Normal vector of the plane
 - planeDist
 - Distance of the plane to the origin
 
Returns
Distance of the point to the plane
Defined in Geometry/Vec3.h:230
function
 Geometry::_Vec3::setValue
| public | inline | 
| void setValue( | const value_t | _x, | 
| const value_t | _y, | |
| const value_t | _z | |
| ) | 
sets the components of this
Parameters
- _x
 - used to set the first component
 - _y
 - used to set the second component
 - _z
 - used to set the third component
 
Defined in Geometry/Vec3.h:243
function
 Geometry::_Vec3::setValue
| public | inline | 
| void setValue( | const value_t | t ) | 
sets all components of this
Parameters
- t
 - used to set all components
 
Defined in Geometry/Vec3.h:251
function
 Geometry::_Vec3::setValue
| public | inline | 
| void setValue( | const value_t * | v ) | 
sets the components of this
Parameters
- v
 - the first three values of v are used to set the components of this
 
Defined in Geometry/Vec3.h:257
function
 Geometry::_Vec3::setX
| public | inline | 
| void setX( | const value_t | _x ) | 
sets the x component
Parameters
- x
 - the value the x component of this is set to
 
Note: equal to this[0]=x
Defined in Geometry/Vec3.h:264
function
 Geometry::_Vec3::x
| public | inline | 
| void x( | const value_t | v ) | 
Defined in Geometry/Vec3.h:267
function
 Geometry::_Vec3::setY
| public | inline | 
| void setY( | const value_t | _y ) | 
sets the y component
Parameters
- y
 - the value the y component of this is set to
 
Note: equal to this[1]=y
Defined in Geometry/Vec3.h:274
function
 Geometry::_Vec3::y
| public | inline | 
| void y( | const value_t | v ) | 
Defined in Geometry/Vec3.h:277
function
 Geometry::_Vec3::setZ
| public | inline | 
| void setZ( | const value_t | _z ) | 
sets the z component
Parameters
- z
 - the value the z component of this is set to
 
Note: equal to this[2]=z
Defined in Geometry/Vec3.h:284
function
 Geometry::_Vec3::z
| public | inline | 
| void z( | const value_t | v ) | 
Defined in Geometry/Vec3.h:287
function
 Geometry::_Vec3::operator+=
| public | inline | 
| vec3_t & operator+=( | const vec3_t & | p ) | 
adds another Vec3 to this
Parameters
- the
 - Vec3 to be added
 
Returns
this
Note: this will be modified
Defined in Geometry/Vec3.h:295
function
 Geometry::_Vec3::operator-=
| public | inline | 
| vec3_t & operator-=( | const vec3_t & | p1 ) | 
subtracts another Vec3 from this
Parameters
- the
 - Vec3 to be substracted
 
Returns
this
Note: this will be modified
Defined in Geometry/Vec3.h:306
function
 Geometry::_Vec3::operator*=
| public | inline | 
| vec3_t & operator*=( | const value_t & | f ) | 
multiplies this componentwise with a scalar value
Parameters
- f
 - the scalar
 
Returns
this
Note: this will be modified
Defined in Geometry/Vec3.h:317
function
 Geometry::_Vec3::operator/=
| public | inline | 
| vec3_t & operator/=( | const value_t & | f ) | 
divides this componentwise by a scalar value
Parameters
- f
 - the scalar
 
Returns
a new Vec3
Note: this will be modified
Defined in Geometry/Vec3.h:329
function
 Geometry::_Vec3::normalize
| public | inline | 
| vec3_t & normalize( | ) | 
normalizes this
Returns
this
Note: this will be modified
Defined in Geometry/Vec3.h:340
function
 Geometry::_Vec3::reflect
| public | inline | 
| vec3_t & reflect( | const vec3_t & | planeNormal ) | 
Change direction as reflected on a plane
Parameters
- planeNormal
 
Defined in Geometry/Vec3.h:358
function
 Geometry::_Vec3::operator+
| public | const | inline | 
| const vec3_t operator+( | const vec3_t & | p ) const | 
adds another Vec3 to this
Parameters
- the
 - Vec3 to be added
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:373
function
 Geometry::_Vec3::operator-
| public | const | inline | 
| const vec3_t operator-( | const vec3_t & | p ) const | 
subtracts another Vec3 from this
Parameters
- the
 - Vec3 to be substracted
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:381
function
 Geometry::_Vec3::operator-
| public | const | inline | 
| const vec3_t operator-( | ) const | 
Returns
a new Vec3 representing the negation of this
Note: this remains unchanged
Defined in Geometry/Vec3.h:387
function
 Geometry::_Vec3::operator*
| public | const | inline | 
| const vec3_t operator*( | const value_t & | f ) const | 
multiplies this componentwise with a scalar value
Parameters
- f
 - the scalar
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:395
function
 Geometry::_Vec3::operator*
| public | const | inline | 
| const vec3_t operator*( | const vec3_t & | p ) const | 
multiplies this componentwise with another vector
Parameters
- p
 - the other vector
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:403
function
 Geometry::_Vec3::operator/
| public | const | inline | 
| const vec3_t operator/( | const value_t & | f ) const | 
divides this componentwise by a scalar value
Parameters
- f
 - the scalar
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:411
function
 Geometry::_Vec3::operator/
| public | const | inline | 
| const vec3_t operator/( | const vec3_t & | p ) const | 
divides this componentwise by a another vector
Parameters
- p
 - the other vector
 
Returns
a new Vec3
Note: this remains unchanged
Defined in Geometry/Vec3.h:419
function
 Geometry::_Vec3::cross
| public | const | inline | 
| vec3_t cross( | const vec3_t & | p ) const | 
calculates the crossproduct of this and another Vec3
Parameters
- p
 - the vector to be used for calculation
 
Returns
a vector standing orthogonal on the plane defined by this and p
Note: the returned vector is a normalvector iff this and p are normalvectors
Defined in Geometry/Vec3.h:426
function
 Geometry::_Vec3::getNormalized
| public | const | inline | 
| vec3_t getNormalized( | ) const | 
returns a normalized copy of this.
Defined in Geometry/Vec3.h:432
function
 Geometry::_Vec3::getAbs
| public | const | inline | 
| vec3_t getAbs( | ) const | 
returns a normalized copy of this.
Defined in Geometry/Vec3.h:438
function
 Geometry::_Vec3::getProjection
| public | const | inline | 
| vec3_t getProjection( | const vec3_t & | planeBase, | 
| const vec3_t & | planeNormal | |
| ) const | 
calculates the projection of this on a plane.
Parameters
- planeBase
 - plane base point
 - planeNormal
 - planeNormal
 
Defined in Geometry/Vec3.h:445
function
 Geometry::_Vec3::equals
| public | const | inline | 
| bool equals( | const vec3_t & | other, | 
| value_t | epsilon | |
| ) const | 
compares this with other componentwise
Parameters
- other
 - the object to compare with
 - epsilon
 - the maximum allowed difference between the component pairs
 
Returns
true iff any the absolute difference between any pai of components is larger than epsilon
Defined in Geometry/Vec3.h:460
function
 Geometry::_Vec3::operator==
| public | const | inline | 
| bool operator==( | const vec3_t & | p ) const | 
compares this with another Vec3
Parameters
- p
 - the Vec3 this shall be compared to
 
Returns
true iff all components of this are equal to the corresponding ones in p
Defined in Geometry/Vec3.h:467
function
 Geometry::_Vec3::operator!=
| public | const | inline | 
| bool operator!=( | const vec3_t & | p ) const | 
compares this with another Vec3
Parameters
- p
 - the Vec3 this shall be compared to
 
Returns
true iff at least one component of this is not equal to the corresponding one in p
Defined in Geometry/Vec3.h:474
function
 Geometry::_Vec3::pairwiseMin
| public | static | inline | 
| vec3_t pairwiseMin( | const vec3_t & | a, | 
| const vec3_t & | b | |
| ) | 
Defined in Geometry/Vec3.h:478
function
 Geometry::_Vec3::pairwiseMax
| public | static | inline | 
| vec3_t pairwiseMax( | const vec3_t & | a, | 
| const vec3_t & | b | |
| ) | 
Defined in Geometry/Vec3.h:482
function
 Geometry::_Vec3::toArray
| public | const | inline | 
| void toArray( | value_t * | t ) const | 
copies the components of this into the first three values of an array
Parameters
- the
 - arra in which the components shall be copied
 
Defined in Geometry/Vec3.h:494
typedef
 Geometry::_Vec3::value_t
| public | 
| typedef T_ value_t | 
Defined in Geometry/Vec3.h:31
typedef
 Geometry::_Vec3::vec3_t
| public | 
| typedef _Vec3 < value_t > vec3_t | 
Defined in Geometry/Vec3.h:32