|
OpenSceneGraph
3.0.1
|
General purpose double triple for use as vertices, vectors and normals. More...
Public Types | |
| enum | { num_components = 3 } |
| Number of vector components. More... | |
| typedef double | value_type |
| Data type of vector components. | |
Public Member Functions | |
| Vec3d () | |
| Constructor that sets all components of the vector to zero. | |
| Vec3d (const Vec3f &vec) | |
| operator Vec3f () const | |
| Vec3d (value_type x, value_type y, value_type z) | |
| Vec3d (const Vec2d &v2, value_type zz) | |
| bool | operator== (const Vec3d &v) const |
| bool | operator!= (const Vec3d &v) const |
| bool | operator< (const Vec3d &v) const |
| value_type * | ptr () |
| const value_type * | ptr () const |
| void | set (value_type x, value_type y, value_type z) |
| void | set (const Vec3d &rhs) |
| value_type & | operator[] (int i) |
| value_type | operator[] (int i) const |
| value_type & | x () |
| value_type & | y () |
| value_type & | z () |
| value_type | x () const |
| value_type | y () const |
| value_type | z () const |
| bool | valid () const |
| Returns true if all components have values that are not NaN. | |
| bool | isNaN () const |
| Returns true if at least one component has value NaN. | |
| value_type | operator* (const Vec3d &rhs) const |
| Dot product. | |
| const Vec3d | operator^ (const Vec3d &rhs) const |
| Cross product. | |
| const Vec3d | operator* (value_type rhs) const |
| Multiply by scalar. | |
| Vec3d & | operator*= (value_type rhs) |
| Unary multiply by scalar. | |
| const Vec3d | operator/ (value_type rhs) const |
| Divide by scalar. | |
| Vec3d & | operator/= (value_type rhs) |
| Unary divide by scalar. | |
| const Vec3d | operator+ (const Vec3d &rhs) const |
| Binary vector add. | |
| Vec3d & | operator+= (const Vec3d &rhs) |
| Unary vector add. | |
| const Vec3d | operator- (const Vec3d &rhs) const |
| Binary vector subtract. | |
| Vec3d & | operator-= (const Vec3d &rhs) |
| Unary vector subtract. | |
| const Vec3d | operator- () const |
| Negation operator. | |
| value_type | length () const |
| Length of the vector = sqrt( vec . | |
| value_type | length2 () const |
| Length squared of the vector = vec . | |
| value_type | normalize () |
| Normalize the vector so that it has length unity. | |
Public Attributes | |
| value_type | _v [3] |
General purpose double triple for use as vertices, vectors and normals.
Provides general math operations from addition through to cross products. No support yet added for double * Vec3d - is it necessary? Need to define a non-member non-friend operator* etc. Vec3d * double is okay
| typedef double osg::Vec3d::value_type |
Data type of vector components.
| osg::Vec3d::Vec3d | ( | ) | [inline] |
Constructor that sets all components of the vector to zero.
References _v.
Referenced by operator*(), operator+(), operator-(), operator/(), and operator^().
| osg::Vec3d::Vec3d | ( | const Vec3f & | vec | ) | [inline] |
References osg::Vec3f::_v, and _v.
| osg::Vec3d::Vec3d | ( | value_type | x, |
| value_type | y, | ||
| value_type | z | ||
| ) | [inline] |
| osg::Vec3d::Vec3d | ( | const Vec2d & | v2, |
| value_type | zz | ||
| ) | [inline] |
References _v.
| bool osg::Vec3d::isNaN | ( | ) | const [inline] |
| value_type osg::Vec3d::length | ( | ) | const [inline] |
Length of the vector = sqrt( vec .
vec )
References _v.
Referenced by osg::Matrixd::getScale(), osg::Matrixf::getScale(), normalize(), and osg::Plane::set().
| value_type osg::Vec3d::length2 | ( | void | ) | const [inline] |
| value_type osg::Vec3d::normalize | ( | ) | [inline] |
| value_type osg::Vec3d::operator* | ( | const Vec3d & | rhs | ) | const [inline] |
Dot product.
References _v.
| const Vec3d osg::Vec3d::operator* | ( | value_type | rhs | ) | const [inline] |
| Vec3d& osg::Vec3d::operator*= | ( | value_type | rhs | ) | [inline] |
Unary multiply by scalar.
References _v.
| const Vec3d osg::Vec3d::operator- | ( | ) | const [inline] |
| const Vec3d osg::Vec3d::operator/ | ( | value_type | rhs | ) | const [inline] |
| Vec3d& osg::Vec3d::operator/= | ( | value_type | rhs | ) | [inline] |
Unary divide by scalar.
References _v.
| value_type& osg::Vec3d::operator[] | ( | int | i | ) | [inline] |
References _v.
| value_type osg::Vec3d::operator[] | ( | int | i | ) | const [inline] |
References _v.
| value_type* osg::Vec3d::ptr | ( | ) | [inline] |
References _v.
| const value_type* osg::Vec3d::ptr | ( | ) | const [inline] |
References _v.
| void osg::Vec3d::set | ( | value_type | x, |
| value_type | y, | ||
| value_type | z | ||
| ) | [inline] |
References _v, x(), y(), and z().
Referenced by osg::Plane::set().
| void osg::Vec3d::set | ( | const Vec3d & | rhs | ) | [inline] |
References _v.
| bool osg::Vec3d::valid | ( | ) | const [inline] |
Returns true if all components have values that are not NaN.
References isNaN().
Referenced by osgUtil::LineSegmentIntersector::Intersection::getWorldIntersectPoint().
| value_type& osg::Vec3d::x | ( | ) | [inline] |
References _v.
Referenced by osg::Plane::distance(), osg::Plane::dotProductNormal(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), and Vec3d().
| value_type osg::Vec3d::x | ( | ) | const [inline] |
References _v.
| value_type& osg::Vec3d::y | ( | ) | [inline] |
References _v.
Referenced by osg::Plane::distance(), osg::Plane::dotProductNormal(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), and Vec3d().
| value_type osg::Vec3d::y | ( | ) | const [inline] |
References _v.
| value_type& osg::Vec3d::z | ( | ) | [inline] |
References _v.
Referenced by osg::Plane::distance(), osg::Plane::dotProductNormal(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), and Vec3d().
| value_type osg::Vec3d::z | ( | ) | const [inline] |
References _v.
Referenced by isNaN(), length(), length2(), normalize(), operator Vec3f(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), osg::operator<<(), operator==(), osg::operator>>(), operator[](), operator^(), ptr(), set(), Vec3d(), x(), y(), and z().
| Generated at Thu Sep 27 2012 17:03:06 for the OpenSceneGraph by doxygen 1.7.6.1. |