SurgSim::Graphics::OsgUniform< std::vector< T > > Class Template Reference

Specialization of OsgUniform for vectors of values. More...

`#include <SurgSim/Graphics/OsgUniform.h>`

Inheritance diagram for SurgSim::Graphics::OsgUniform< std::vector< T > >:

## Public Member Functions

| OsgUniform (const std::string &name, size_t numElements)
| Constructor. More...
virtual size_t | getNumElements () const
virtual void | setElement (size_t index, const T &value)
| Sets the value of one of the uniform's elements. More...
virtual void | set (const std::vector< T > &value)
| Sets the value of all of the uniform's elements. More...
virtual void | set (const YAML::Node &node)
| Sets the value of the uniform from a YAML Node doing the correct conversion. More...
virtual std::vector< T >::const_reference | getElement (size_t index) const
| Gets the value of one of the uniform's elements. More...
virtual const std::vector< T > & | get () const
| Gets the value of all of the uniform's elements. More...
Public Member Functions inherited from SurgSim::Graphics::UniformBase
virtual | ~UniformBase ()=0
| Destructor. More...
Public Member Functions inherited from SurgSim::Framework::Accessible
| Accessible ()
| Default Constructor. More...
| ~Accessible ()
| Destructor. More...
template<class T >
T | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More...
boost::any | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found. More...
template<class T >
bool | getValue (const std::string &name, T *value) const
| Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More...
void | setValue (const std::string &name, const boost::any &value)
| Sets a value of a property that has setter. More...
bool | isReadable (const std::string &name) const
| Check whether a property is readable. More...
bool | isWriteable (const std::string &name) const
| Check whether a property is writable. More...
void | setGetter (const std::string &name, GetterType func)
| Sets a getter for a given property. More...
void | setSetter (const std::string &name, SetterType func)
| Sets a setter for a given property. More...
void | setAccessors (const std::string &name, GetterType getter, SetterType setter)
| Sets the accessors getter and setter in one function. More...
void | removeAccessors (const std::string &name)
| Removes all the accessors (getter and setter) for a given property. More...
void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty)
| Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More...
void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder)
| Sets the functions used to convert data from and to a YAML::Node. More...
void | setDecoder (const std::string &name, DecoderType decoder)
| Sets the functions used to convert data from a YAML::Node. More...
YAML::Node | encode () const
| Encode this Accessible to a YAML::Node. More...
void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >())
| Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More...
template<>
boost::any | getValue (const std::string &name) const
Public Member Functions inherited from SurgSim::Graphics::OsgUniformBase
const std::string & | getName () const
| Returns the name used in shader code to access this uniform. More...
virtual void | addToStateSet (osg::StateSet *stateSet)
| Adds this uniform to the OSG state set. More...
virtual void | removeFromStateSet (osg::StateSet *stateSet)
| Removes this uniform from the OSG state set. More...
osg::ref_ptr< osg::Uniform > | getOsgUniform () const
| Returns the OSG uniform node. More...

## Private Attributes

std::vector< T > | m_value
| Vector containing the values of the uniform's elements. More...

## Additional Inherited Members

Public Types inherited from SurgSim::Framework::Accessible
typedef std::function< boost::any(void)> | GetterType
typedef std::function< void(boost::any)> | SetterType
typedef std::function< YAML::Node(void)> | EncoderType
typedef std::function< void(const YAML::Node *)> | DecoderType
Protected Member Functions inherited from SurgSim::Graphics::OsgUniformBase
| OsgUniformBase (const std::string &name)
| Constructor. More...
Protected Attributes inherited from SurgSim::Graphics::OsgUniformBase
osg::ref_ptr< osg::Uniform > | m_uniform
| OSG uniform node. More...

## Detailed Description

### template<class T>
class SurgSim::Graphics::OsgUniform< std::vector< T > >

Specialization of OsgUniform for vectors of values.

Template Parameters

  Value | type stored in the vector

## Constructor & Destructor Documentation

## OsgUniform()

template<class T >

SurgSim::Graphics::OsgUniform< std::vector< T > >::OsgUniform | ( | const std::string & | name,
|  | size_t | numElements
| ) |  |

Constructor.

Parameters

  name | Name used in shader code to access this uniform
  numElements | Number of elements

## Member Function Documentation

## get()

template<class T >

const std::vector< T > & SurgSim::Graphics::OsgUniform< std::vector< T > >::get | ( |  | ) | const

virtual

Gets the value of all of the uniform's elements.

Returns
  Vector of values

Implements SurgSim::Graphics::Uniform< std::vector< T > >.

## getElement()

template<class T >

std::vector< T >::const_reference SurgSim::Graphics::OsgUniform< std::vector< T > >::getElement | ( | size_t | index | ) | const

virtual

Gets the value of one of the uniform's elements.

Parameters

  index | Index of the element

Returns
  Value of the element

Implements SurgSim::Graphics::Uniform< std::vector< T > >.

## getNumElements()

template<class T >

size_t SurgSim::Graphics::OsgUniform< std::vector< T > >::getNumElements | ( |  | ) | const

virtual

Returns
  the number of elements in the uniform

Implements SurgSim::Graphics::Uniform< std::vector< T > >.

## set() [1/2]

template<class T >

void SurgSim::Graphics::OsgUniform< std::vector< T > >::set | ( | const std::vector< T > & | value | ) |

virtual

Sets the value of all of the uniform's elements.

Parameters

  value | Array of values

Implements SurgSim::Graphics::Uniform< std::vector< T > >.

## set() [2/2]

template<class T >

void SurgSim::Graphics::OsgUniform< std::vector< T > >::set | ( | const YAML::Node & | node | ) |

virtual

Sets the value of the uniform from a YAML Node doing the correct conversion.

Parameters

  node | that contains the values for this uniform (needs to be sequence type)

Exceptions

  if | the node is not of sequence type

Implements SurgSim::Graphics::OsgUniformBase.

## setElement()

template<class T >

void SurgSim::Graphics::OsgUniform< std::vector< T > >::setElement | ( | size_t | index,
|  | const T & | value
| ) |  |

virtual

Sets the value of one of the uniform's elements.

Parameters

  index | Index of the element
  value | Value to set

Implements SurgSim::Graphics::Uniform< std::vector< T > >.

## Member Data Documentation

## m_value

template<class T >

std::vector<T> SurgSim::Graphics::OsgUniform< std::vector< T > >::m_value

private

Vector containing the values of the uniform's elements.

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

- SurgSim/Graphics/OsgUniform.h
- SurgSim/Graphics/OsgUniform-inl.h