openscenegraph
Public Types | Public Member Functions | Public Attributes | List of all members
osg::Vec4d Class Reference

Public Types

enum  { num_components = 4 }
 
typedef double value_type
 

Public Member Functions

 Vec4d ()
 
 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
 
bool isNaN () const
 
value_type operator* (const Vec4d &rhs) const
 
Vec4d operator* (value_type rhs) const
 
Vec4doperator*= (value_type rhs)
 
Vec4d operator/ (value_type rhs) const
 
Vec4doperator/= (value_type rhs)
 
Vec4d operator+ (const Vec4d &rhs) const
 
Vec4doperator+= (const Vec4d &rhs)
 
Vec4d operator- (const Vec4d &rhs) const
 
Vec4doperator-= (const Vec4d &rhs)
 
const Vec4d operator- () const
 
value_type length () const
 
value_type length2 () const
 
value_type normalize ()
 

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

typedef double osg::Vec4d::value_type

Data type of vector components.

Member Enumeration Documentation

anonymous enum

Number of vector components.

Enumerator
num_components 

Constructor & Destructor Documentation

osg::Vec4d::Vec4d ( )
inline

Constructor that sets all components of the vector to zero

References _v.

Referenced by operator*(), operator+(), operator-(), and operator/().

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

References _v, w(), x(), y(), and z().

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

References _v, and w().

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

References _v, and osg::Vec4f::_v.

Member Function Documentation

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

References _v.

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

References _v.

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

References _v, and osg::clampTo().

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

References _v, and osg::clampTo().

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

Returns true if at least one component has value NaN.

References _v, and osg::isNaN().

Referenced by valid().

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

Length of the vector = sqrt( vec . vec )

References _v.

Referenced by normalize().

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

Length squared of the vector = vec . vec

References _v.

value_type osg::Vec4d::normalize ( )
inline

Normalize the vector so that it has length unity. Returns the previous length of the vector.

References _v, and length().

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

References _v.

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

References _v.

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

Dot product.

References _v.

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

Multiply by scalar.

References _v, and Vec4d().

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

Unary multiply by scalar.

References _v.

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

Binary vector add.

References _v, and Vec4d().

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

Unary vector add. Slightly more efficient because no temporary intermediate object.

References _v.

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

Binary vector subtract.

References _v, and Vec4d().

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

Negation operator. Returns the negative of the Vec4d.

References _v, and Vec4d().

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

Unary vector subtract.

References _v.

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

Divide by scalar.

References _v, and Vec4d().

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

Unary divide by scalar.

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v.

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

References _v, w(), x(), y(), and z().

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

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

References isNaN().

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

References _v.

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

References _v.

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

References _v.

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

References _v.

Member Data Documentation

value_type osg::Vec4d::_v[4]

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