OpenSceneGraph  3.5.1
Public Types | Public Member Functions | Public Attributes | List of all members
osg::Vec4ub Class Reference

General purpose float quad. More...

Public Types

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

Public Member Functions

 Vec4ub ()
 Constructor that sets all components of the vector to zero. More...
 
 Vec4ub (value_type x, value_type y, value_type z, value_type w)
 
bool operator== (const Vec4ub &v) const
 
bool operator!= (const Vec4ub &v) const
 
bool operator< (const Vec4ub &v) const
 
value_typeptr ()
 
const value_typeptr () const
 
void set (value_type r, value_type g, value_type b, value_type a)
 
value_typeoperator[] (unsigned int i)
 
value_type operator[] (unsigned int i) 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
 
Vec4ub operator* (float rhs) const
 Multiply by scalar. More...
 
Vec4uboperator*= (float rhs)
 Unary multiply by scalar. More...
 
Vec4ub operator/ (float rhs) const
 Divide by scalar. More...
 
Vec4uboperator/= (float rhs)
 Unary divide by scalar. More...
 
Vec4ub operator+ (const Vec4ub &rhs) const
 Binary vector add. More...
 
Vec4uboperator+= (const Vec4ub &rhs)
 Unary vector add. More...
 
Vec4ub operator- (const Vec4ub &rhs) const
 Binary vector subtract. More...
 
Vec4uboperator-= (const Vec4ub &rhs)
 Unary vector subtract. More...
 

Public Attributes

value_type _v [4]
 Vec member variable. More...
 

Detailed Description

General purpose float quad.

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

Member Typedef Documentation

typedef unsigned char osg::Vec4ub::value_type

Data type of vector components.

Member Enumeration Documentation

anonymous enum

Number of vector components.

Enumerator
num_components 

Constructor & Destructor Documentation

osg::Vec4ub::Vec4ub ( )
inline

Constructor that sets all components of the vector to zero.

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

Member Function Documentation

value_type& osg::Vec4ub::a ( )
inline
value_type osg::Vec4ub::a ( ) const
inline
value_type& osg::Vec4ub::b ( )
inline
value_type osg::Vec4ub::b ( ) const
inline
value_type& osg::Vec4ub::g ( )
inline
value_type osg::Vec4ub::g ( ) const
inline
bool osg::Vec4ub::operator!= ( const Vec4ub v) const
inline
Vec4ub osg::Vec4ub::operator* ( float  rhs) const
inline

Multiply by scalar.

Vec4ub& osg::Vec4ub::operator*= ( float  rhs)
inline

Unary multiply by scalar.

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

Binary vector add.

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

Unary vector add.

Slightly more efficient because no temporary intermediate object.

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

Binary vector subtract.

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

Unary vector subtract.

Vec4ub osg::Vec4ub::operator/ ( float  rhs) const
inline

Divide by scalar.

Vec4ub& osg::Vec4ub::operator/= ( float  rhs)
inline

Unary divide by scalar.

bool osg::Vec4ub::operator< ( const Vec4ub v) const
inline
bool osg::Vec4ub::operator== ( const Vec4ub v) const
inline
value_type& osg::Vec4ub::operator[] ( unsigned int  i)
inline
value_type osg::Vec4ub::operator[] ( unsigned int  i) const
inline
value_type* osg::Vec4ub::ptr ( )
inline
const value_type* osg::Vec4ub::ptr ( ) const
inline
value_type& osg::Vec4ub::r ( )
inline
value_type osg::Vec4ub::r ( ) const
inline
void osg::Vec4ub::set ( value_type  r,
value_type  g,
value_type  b,
value_type  a 
)
inline

Member Data Documentation

value_type osg::Vec4ub::_v[4]

Vec member variable.


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

osg logo
Generated at Wed Nov 11 2015 22:14:47 for the OpenSceneGraph by doxygen 1.8.10.