openscenegraph
|
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.
osg::Vec3f::Vec3f | ( | ) | [inline] |
Constructor that sets all components of the vector to zero
References _v.
Referenced by operator*(), operator+(), operator-(), operator/(), and operator^().
osg::Vec3f::Vec3f | ( | value_type | x, |
value_type | y, | ||
value_type | z | ||
) | [inline] |
osg::Vec3f::Vec3f | ( | const Vec2f & | v2, |
value_type | zz | ||
) | [inline] |
References _v.
bool osg::Vec3f::isNaN | ( | ) | const [inline] |
value_type osg::Vec3f::length | ( | ) | const [inline] |
Length of the vector = sqrt( vec . vec )
References _v.
Referenced by osgUtil::ReflectionMapGenerator::compute_color(), osgUtil::HalfWayMapGenerator::compute_color(), osgUtil::HighlightMapGenerator::compute_color(), osgSim::ElevationRange::elevationSector(), normalize(), osgParticle::OrbitOperator::operate(), osgParticle::ExplosionOperator::operate(), and osgUtil::CubeMapGenerator::vector_to_color().
value_type osg::Vec3f::length2 | ( | void | ) | const [inline] |
Length squared of the vector = vec . vec
References _v.
Referenced by osgParticle::AngularDampingOperator::operate(), and osgParticle::DampingOperator::operate().
value_type osg::Vec3f::normalize | ( | ) | [inline] |
Normalize the vector so that it has length unity. Returns the previous length of the vector.
Referenced by osgShadow::OccluderGeometry::isLightPointSilhouetteEdge().
value_type osg::Vec3f::operator* | ( | const Vec3f & | rhs | ) | const [inline] |
Dot product.
References _v.
const Vec3f osg::Vec3f::operator* | ( | value_type | rhs | ) | const [inline] |
Vec3f& osg::Vec3f::operator*= | ( | value_type | rhs | ) | [inline] |
Unary multiply by scalar.
References _v.
Unary vector add. Slightly more efficient because no temporary intermediate object.
References _v.
const Vec3f osg::Vec3f::operator- | ( | ) | const [inline] |
const Vec3f osg::Vec3f::operator/ | ( | value_type | rhs | ) | const [inline] |
Vec3f& osg::Vec3f::operator/= | ( | value_type | rhs | ) | [inline] |
Unary divide by scalar.
References _v.
value_type& osg::Vec3f::operator[] | ( | int | i | ) | [inline] |
References _v.
value_type osg::Vec3f::operator[] | ( | int | i | ) | const [inline] |
References _v.
value_type* osg::Vec3f::ptr | ( | ) | [inline] |
References _v.
const value_type* osg::Vec3f::ptr | ( | ) | const [inline] |
References _v.
void osg::Vec3f::set | ( | value_type | x, |
value_type | y, | ||
value_type | z | ||
) | [inline] |
References _v, x(), y(), and z().
Referenced by osgAnimation::Vec3ArrayPacked::analyze(), osgParticle::DomainOperator::computeNewBasis(), osgParticle::DampingOperator::DampingOperator(), osgParticle::CenteredPlacer::setCenter(), osgParticle::DampingOperator::setDamping(), osgParticle::AngularDampingOperator::setDamping(), osgParticle::AccelOperator::setToGravity(), osgParticle::SegmentPlacer::setVertexA(), and osgParticle::SegmentPlacer::setVertexB().
void osg::Vec3f::set | ( | const Vec3f & | rhs | ) | [inline] |
References _v.
bool osg::Vec3f::valid | ( | ) | const [inline] |
Returns true if all components have values that are not NaN.
References isNaN().
Referenced by osgUtil::LineSegmentIntersector::Intersection::getWorldIntersectNormal().
value_type& osg::Vec3f::x | ( | ) | [inline] |
References _v.
Referenced by osgSim::AzimRange::azimSector(), osgParticle::DomainOperator::computeNewBasis(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osgParticle::DampingOperator::getDamping(), osgParticle::AngularDampingOperator::getDamping(), 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::Matrixf::transform3x3(), osg::Matrixf::translate(), osg::Matrixd::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
value_type osg::Vec3f::x | ( | ) | const [inline] |
References _v.
value_type& osg::Vec3f::y | ( | ) | [inline] |
References _v.
Referenced by osgSim::AzimRange::azimSector(), osgParticle::DomainOperator::computeNewBasis(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osgParticle::DampingOperator::getDamping(), osgParticle::AngularDampingOperator::getDamping(), osgParticle::Interpolator::interpolate(), osgParticle::AngularDampingOperator::operate(), osgParticle::DampingOperator::operate(), osgTerrain::ValidDataOperator::operator()(), osgParticle::BoxPlacer::place(), 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::Matrixf::transform3x3(), osg::Matrixf::translate(), osg::Matrixd::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
value_type osg::Vec3f::y | ( | ) | const [inline] |
References _v.
value_type& osg::Vec3f::z | ( | ) | [inline] |
References _v.
Referenced by osgParticle::DomainOperator::computeNewBasis(), osg::Plane::distance(), osg::Plane::dotProductNormal(), osgSim::ElevationRange::elevationSector(), osgParticle::DampingOperator::getDamping(), osgParticle::AngularDampingOperator::getDamping(), osgParticle::Interpolator::interpolate(), osgParticle::AngularDampingOperator::operate(), osgParticle::DampingOperator::operate(), osgTerrain::ValidDataOperator::operator()(), osgParticle::BoxPlacer::place(), 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::Matrixf::transform3x3(), osg::Matrixf::translate(), osg::Matrixd::translate(), osgParticle::ParticleSystem::update_bounds(), Vec3f(), and osgUtil::CubeMapGenerator::vector_to_color().
value_type osg::Vec3f::z | ( | ) | const [inline] |
References _v.
Referenced by isNaN(), length(), length2(), normalize(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), osg::operator<<(), operator==(), osg::operator>>(), operator[](), operator^(), ptr(), set(), osg::Vec3d::Vec3d(), Vec3f(), x(), y(), and z().