OpenSceneGraph  3.0.1
Public Types | Public Member Functions | Public Attributes
osg::Vec4d Class Reference

General purpose double quad. More...

List of all members.

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

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, x(), y(), z(), and w().

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 osg::clampTo(), and _v.

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

References osg::clampTo(), and _v.

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.

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 length(), and _v.

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 Vec4d(), and _v.

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 Vec4d(), and _v.

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 Vec4d(), and _v.

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

Negation operator.

Returns the negative of the Vec4d.

References Vec4d(), and _v.

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 Vec4d(), and _v.

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, x(), y(), z(), and w().

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


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

osg logo
Generated at Mon Oct 3 2011 12:39:45 for the OpenSceneGraph by doxygen 1.7.5.