OpenSceneGraph 3.6.5
osg::Vec4d Class Reference

General purpose double quad. More...

#include <Vec4d>

Public Types

enum  { num_components = 4 }
 Number of vector components. More...
 
typedef double value_type
 Data type of vector components.
 

Public Member Functions

 Vec4d ()
 Constructor that sets all components of the vector to zero.
 
 Vec4d (value_type x, value_type y, value_type z, value_type w)
 
 Vec4d (const Vec3d &v3, value_type w)
 
 Vec4d (const Vec4f &vec)
 
 operator Vec4f () const
 
bool operator== (const Vec4d &v) const
 
bool operator!= (const Vec4d &v) const
 
bool operator< (const Vec4d &v) const
 
value_typeptr ()
 
const value_typeptr () const
 
void set (value_type x, value_type y, value_type z, value_type w)
 
value_typeoperator[] (unsigned int i)
 
value_type operator[] (unsigned int i) const
 
value_typex ()
 
value_typey ()
 
value_typez ()
 
value_typew ()
 
value_type x () const
 
value_type y () const
 
value_type z () const
 
value_type w () const
 
value_typer ()
 
value_typeg ()
 
value_typeb ()
 
value_typea ()
 
value_type r () const
 
value_type g () const
 
value_type b () const
 
value_type a () const
 
unsigned int asABGR () const
 
unsigned int asRGBA () 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 Vec4d &rhs) const
 Dot product.
 
Vec4d operator* (value_type rhs) const
 Multiply by scalar.
 
Vec4doperator*= (value_type rhs)
 Unary multiply by scalar.
 
Vec4d operator/ (value_type rhs) const
 Divide by scalar.
 
Vec4doperator/= (value_type rhs)
 Unary divide by scalar.
 
Vec4d operator+ (const Vec4d &rhs) const
 Binary vector add.
 
Vec4doperator+= (const Vec4d &rhs)
 Unary vector add.
 
Vec4d operator- (const Vec4d &rhs) const
 Binary vector subtract.
 
Vec4doperator-= (const Vec4d &rhs)
 Unary vector subtract.
 
const Vec4d 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 [4]
 

Detailed Description

General purpose double quad.

Uses include representation of color coordinates. No support yet added for double * Vec4d - is it necessary? Need to define a non-member non-friend operator* etc. Vec4d * double is okay

Member Typedef Documentation

◆ value_type

typedef double osg::Vec4d::value_type

Data type of vector components.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Number of vector components.

Enumerator
num_components 

Constructor & Destructor Documentation

◆ Vec4d() [1/4]

osg::Vec4d::Vec4d ( )
inline

Constructor that sets all components of the vector to zero.

◆ Vec4d() [2/4]

osg::Vec4d::Vec4d ( value_type x,
value_type y,
value_type z,
value_type w )
inline

◆ Vec4d() [3/4]

osg::Vec4d::Vec4d ( const Vec3d & v3,
value_type w )
inline

◆ Vec4d() [4/4]

osg::Vec4d::Vec4d ( const Vec4f & vec)
inline

Member Function Documentation

◆ a() [1/2]

value_type & osg::Vec4d::a ( )
inline

◆ a() [2/2]

value_type osg::Vec4d::a ( ) const
inline

◆ asABGR()

unsigned int osg::Vec4d::asABGR ( ) const
inline

◆ asRGBA()

unsigned int osg::Vec4d::asRGBA ( ) const
inline

◆ b() [1/2]

value_type & osg::Vec4d::b ( )
inline

◆ b() [2/2]

value_type osg::Vec4d::b ( ) const
inline

◆ g() [1/2]

value_type & osg::Vec4d::g ( )
inline

◆ g() [2/2]

value_type osg::Vec4d::g ( ) const
inline

◆ isNaN()

bool osg::Vec4d::isNaN ( ) const
inline

Returns true if at least one component has value NaN.

◆ length()

value_type osg::Vec4d::length ( ) const
inline

Length of the vector = sqrt( vec .

vec )

◆ length2()

value_type osg::Vec4d::length2 ( ) const
inline

Length squared of the vector = vec .

vec

◆ normalize()

value_type osg::Vec4d::normalize ( )
inline

Normalize the vector so that it has length unity.

Returns the previous length of the vector.

◆ operator Vec4f()

osg::Vec4d::operator Vec4f ( ) const
inline

◆ operator!=()

bool osg::Vec4d::operator!= ( const Vec4d & v) const
inline

◆ operator*() [1/2]

value_type osg::Vec4d::operator* ( const Vec4d & rhs) const
inline

Dot product.

◆ operator*() [2/2]

Vec4d osg::Vec4d::operator* ( value_type rhs) const
inline

Multiply by scalar.

◆ operator*=()

Vec4d & osg::Vec4d::operator*= ( value_type rhs)
inline

Unary multiply by scalar.

◆ operator+()

Vec4d osg::Vec4d::operator+ ( const Vec4d & rhs) const
inline

Binary vector add.

◆ operator+=()

Vec4d & osg::Vec4d::operator+= ( const Vec4d & rhs)
inline

Unary vector add.

Slightly more efficient because no temporary intermediate object.

◆ operator-() [1/2]

const Vec4d osg::Vec4d::operator- ( ) const
inline

Negation operator.

Returns the negative of the Vec4d.

◆ operator-() [2/2]

Vec4d osg::Vec4d::operator- ( const Vec4d & rhs) const
inline

Binary vector subtract.

◆ operator-=()

Vec4d & osg::Vec4d::operator-= ( const Vec4d & rhs)
inline

Unary vector subtract.

◆ operator/()

Vec4d osg::Vec4d::operator/ ( value_type rhs) const
inline

Divide by scalar.

◆ operator/=()

Vec4d & osg::Vec4d::operator/= ( value_type rhs)
inline

Unary divide by scalar.

◆ operator<()

bool osg::Vec4d::operator< ( const Vec4d & v) const
inline

◆ operator==()

bool osg::Vec4d::operator== ( const Vec4d & v) const
inline

◆ operator[]() [1/2]

value_type & osg::Vec4d::operator[] ( unsigned int i)
inline

◆ operator[]() [2/2]

value_type osg::Vec4d::operator[] ( unsigned int i) const
inline

◆ ptr() [1/2]

value_type * osg::Vec4d::ptr ( )
inline

◆ ptr() [2/2]

const value_type * osg::Vec4d::ptr ( ) const
inline

◆ r() [1/2]

value_type & osg::Vec4d::r ( )
inline

◆ r() [2/2]

value_type osg::Vec4d::r ( ) const
inline

◆ set()

void osg::Vec4d::set ( value_type x,
value_type y,
value_type z,
value_type w )
inline

◆ valid()

bool osg::Vec4d::valid ( ) const
inline

Returns true if all components have values that are not NaN.

◆ w() [1/2]

value_type & osg::Vec4d::w ( )
inline

◆ w() [2/2]

value_type osg::Vec4d::w ( ) const
inline

◆ x() [1/2]

value_type & osg::Vec4d::x ( )
inline

◆ x() [2/2]

value_type osg::Vec4d::x ( ) const
inline

◆ y() [1/2]

value_type & osg::Vec4d::y ( )
inline

◆ y() [2/2]

value_type osg::Vec4d::y ( ) const
inline

◆ z() [1/2]

value_type & osg::Vec4d::z ( )
inline

◆ z() [2/2]

value_type osg::Vec4d::z ( ) const
inline

Member Data Documentation

◆ _v

value_type osg::Vec4d::_v[4]

The documentation for this class was generated from the following file:

osg logo
Generated at Thu Jan 16 2025 00:00:00 for the OpenSceneGraph by doxygen 1.13.2.