SurgSim::Graphics::OsgTextureUniform< T > Class Template Reference

OSG implementation of graphics uniform with a texture value. More...

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

Inheritance diagram for SurgSim::Graphics::OsgTextureUniform< T >:

## Public Member Functions

| OsgTextureUniform (const std::string &name)
| Constructor. More...
void | setMinimumTextureUnit (size_t unit)
| This is the texture unit from where the search for a free texture unit will start. More...
size_t | getMinimumTextureUnit () const
virtual void | set (const std::shared_ptr< T > &value)
| Sets the value of the uniform. More...
virtual void | set (const YAML::Node &node)
| Sets the value of the uniform from a YAML Node, the uniform is responsible for converting the node to its own value. More...
virtual const std::shared_ptr< T > & | get () const
| Returns the value of the 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...
Public Member Functions inherited from SurgSim::Graphics::Uniform< std::shared_ptr< T > >
| Uniform ()
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...
osg::ref_ptr< osg::Uniform > | getOsgUniform () const
| Returns the OSG uniform node. More...

## Private Attributes

std::shared_ptr< T > | m_texture
| Texture. More...
osg::ref_ptr< osg::StateSet > | m_stateset
ptrdiff_t | m_unit
| Texture unit. More...
size_t | m_minimumTextureUnit
| The smallest unit to be used. 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::OsgTextureUniform< T >

OSG implementation of graphics uniform with a texture value.

Template Parameters

  T | Texture type

## Constructor & Destructor Documentation

## OsgTextureUniform()

template<class T >

SurgSim::Graphics::OsgTextureUniform< T >::OsgTextureUniform | ( | const std::string & | name | ) |

explicit

Constructor.

Parameters

  name | Name used in shader code to access this uniform

## Member Function Documentation

## addToStateSet()

template<class T >

void SurgSim::Graphics::OsgTextureUniform< T >::addToStateSet | ( | osg::StateSet * | stateSet | ) |

virtual

Adds this uniform to the OSG state set.

Parameters

  stateSet | OSG state set

Reimplemented from SurgSim::Graphics::OsgUniformBase.

## get()

template<class T >

const std::shared_ptr< T > & SurgSim::Graphics::OsgTextureUniform< T >::get | ( |  | ) | const

virtual

Returns the value of the uniform.

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

## getMinimumTextureUnit()

template<class T >

size_t SurgSim::Graphics::OsgTextureUniform< T >::getMinimumTextureUnit | ( |  | ) | const

Returns
  the value of the lowest texture unit to use for this uniform

## removeFromStateSet()

template<class T >

void SurgSim::Graphics::OsgTextureUniform< T >::removeFromStateSet | ( | osg::StateSet * | stateSet | ) |

virtual

Removes this uniform from the OSG state set.

Parameters

  stateSet | OSG state set

Reimplemented from SurgSim::Graphics::OsgUniformBase.

## set() [1/2]

template<class T>

void SurgSim::Graphics::OsgTextureUniform< T >::set | ( | const std::shared_ptr< T > & | value | ) |

virtual

Sets the value of the uniform.

Note
  using this directly might make the state of the uniform incosistent with the texture that was used to create this uniform

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

## set() [2/2]

template<class T>

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

virtual

Sets the value of the uniform from a YAML Node, the uniform is responsible for converting the node to its own value.

Parameters

  node | YAML node for setting the uniform value

Implements SurgSim::Graphics::OsgUniformBase.

## setMinimumTextureUnit()

template<class T >

void SurgSim::Graphics::OsgTextureUniform< T >::setMinimumTextureUnit | ( | size_t | unit | ) |

This is the texture unit from where the search for a free texture unit will start.

Parameters

  unit | lowest texture unit to use, default is 0

## Member Data Documentation

## m_minimumTextureUnit

template<class T>

size_t SurgSim::Graphics::OsgTextureUniform< T >::m_minimumTextureUnit

private

The smallest unit to be used.

## m_stateset

template<class T>

osg::ref_ptr<osg::StateSet> SurgSim::Graphics::OsgTextureUniform< T >::m_stateset

private

## m_texture

template<class T>

std::shared_ptr<T> SurgSim::Graphics::OsgTextureUniform< T >::m_texture

private

Texture.

## m_unit

template<class T>

ptrdiff_t SurgSim::Graphics::OsgTextureUniform< T >::m_unit

private

Texture unit.

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

- SurgSim/Graphics/OsgTextureUniform.h
- SurgSim/Graphics/OsgTextureUniform-inl.h