OpenSceneGraph 3.6.5
|
General purpose float triple for use as vertices, vectors and normals. More...
#include <Vec3f>
Public Types | |
enum | { num_components = 3 } |
Number of vector components. More... | |
typedef float | value_type |
Data type of vector components. |
Public Member Functions | |
Vec3f () | |
Constructor that sets all components of the vector to zero. | |
Vec3f (value_type x, value_type y, value_type z) | |
Vec3f (const Vec2f &v2, value_type zz) | |
bool | operator== (const Vec3f &v) const |
bool | operator!= (const Vec3f &v) const |
bool | operator< (const Vec3f &v) const |
value_type * | ptr () |
const value_type * | ptr () const |
void | set (value_type x, value_type y, value_type z) |
void | set (const Vec3f &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 Vec3f &rhs) const |
Dot product. | |
const Vec3f | operator^ (const Vec3f &rhs) const |
Cross product. | |
const Vec3f | operator* (value_type rhs) const |
Multiply by scalar. | |
Vec3f & | operator*= (value_type rhs) |
Unary multiply by scalar. | |
const Vec3f | operator/ (value_type rhs) const |
Divide by scalar. | |
Vec3f & | operator/= (value_type rhs) |
Unary divide by scalar. | |
const Vec3f | operator+ (const Vec3f &rhs) const |
Binary vector add. | |
Vec3f & | operator+= (const Vec3f &rhs) |
Unary vector add. | |
const Vec3f | operator- (const Vec3f &rhs) const |
Binary vector subtract. | |
Vec3f & | operator-= (const Vec3f &rhs) |
Unary vector subtract. | |
const Vec3f | 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 float triple for use as vertices, vectors and normals.
Provides general math operations from addition through to cross products. No support yet added for float * Vec3f - is it necessary? Need to define a non-member non-friend operator* etc. Vec3f * float is okay
typedef float osg::Vec3f::value_type |
Data type of vector components.
|
inline |
Constructor that sets all components of the vector to zero.
References _v.
Referenced by operator!=(), operator*(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<(), operator==(), operator^(), and set().
|
inline |
|
inline |
References _v.
|
inline |
Returns true if at least one component has value NaN.
References _v, and osg::isNaN().
Referenced by valid().
|
inline |
Length of the vector = sqrt( vec .
vec )
References _v.
Referenced by osgUtil::HalfWayMapGenerator::compute_color(), osgUtil::HighlightMapGenerator::compute_color(), osgUtil::ReflectionMapGenerator::compute_color(), osgSim::ElevationRange::elevationSector(), normalize(), osgParticle::ExplosionOperator::operate(), osgParticle::OrbitOperator::operate(), and osgUtil::CubeMapGenerator::vector_to_color().
|
inline |
Length squared of the vector = vec .
vec
References _v.
Referenced by osgParticle::AngularDampingOperator::operate(), and osgParticle::DampingOperator::operate().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References _v.
|
inline |
References _v.
|
inline |
References _v.
|
inline |
References _v.
|
inline |
|
inline |
Returns true if all components have values that are not NaN.
References isNaN().
|
inline |
References _v.
Referenced by osgSim::AzimRange::azimSector(), osgParticle::DomainOperator::computeNewBasis(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osg::BoundingBoxImpl< Vec3f >::expandBy(), osgParticle::Interpolator::interpolate(), osgParticle::AngularDampingOperator::operate(), osgParticle::DampingOperator::operate(), osgTerrain::ValidDataOperator::operator()(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::TexEnvCombine::setConstantColorAsLightDirection(), osg::Matrixd::transform3x3(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
|
inline |
References _v.
|
inline |
References _v.
Referenced by osgSim::AzimRange::azimSector(), osgParticle::DomainOperator::computeNewBasis(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osg::BoundingBoxImpl< Vec3f >::expandBy(), osgParticle::Interpolator::interpolate(), osgParticle::AngularDampingOperator::operate(), osgParticle::DampingOperator::operate(), osgTerrain::ValidDataOperator::operator()(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::TexEnvCombine::setConstantColorAsLightDirection(), osg::Matrixd::transform3x3(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
|
inline |
References _v.
|
inline |
References _v.
Referenced by osgParticle::DomainOperator::computeNewBasis(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::BoundingBoxImpl< Vec3f >::contains(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osgSim::ElevationRange::elevationSector(), osg::BoundingBoxImpl< Vec3f >::expandBy(), osgParticle::Interpolator::interpolate(), osgParticle::AngularDampingOperator::operate(), osgParticle::DampingOperator::operate(), osgTerrain::ValidDataOperator::operator()(), osg::Matrixd::postMult(), osg::Matrixf::postMult(), osg::Matrixd::preMult(), osg::Matrixf::preMult(), osg::Matrixd::scale(), osg::Matrixf::scale(), set(), osg::TexEnvCombine::setConstantColorAsLightDirection(), osg::Matrixd::transform3x3(), osg::Matrixd::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixf::transform3x3(), osg::Matrixd::translate(), osg::Matrixf::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
|
inline |
References _v.
value_type osg::Vec3f::_v[3] |
Referenced by isNaN(), length(), length2(), normalize(), operator!=(), operator*(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<(), osg::operator<<(), operator==(), osg::operator>>(), operator[](), operator[](), operator^(), ptr(), ptr(), set(), set(), osg::Vec3d::Vec3d(), Vec3f(), Vec3f(), Vec3f(), x(), x(), y(), y(), z(), and z().
![]() | Generated at Sun Jul 27 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0. |