opensurgsim
Public Member Functions | List of all members
SurgSim::Graphics::OsgTextureUniform< T > Class Template Reference

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

#include <OsgTextureUniform.h>

Inheritance diagram for SurgSim::Graphics::OsgTextureUniform< T >:
SurgSim::Graphics::Uniform< std::shared_ptr< T > > SurgSim::Graphics::OsgUniformBase SurgSim::Graphics::UniformBase SurgSim::Graphics::UniformBase SurgSim::Framework::Accessible SurgSim::Framework::Accessible

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.
 
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...
 
virtual const std::string getGlslType () const
 
- Public Member Functions inherited from SurgSim::Graphics::UniformBase
virtual ~UniformBase ()=0
 Destructor.
 
- Public Member Functions inherited from SurgSim::Framework::Accessible
 Accessible ()
 Default Constructor.
 
 ~Accessible ()
 Destructor.
 
template<class 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...
 
std::vector< std::string > getProperties ()
 
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.
 
osg::ref_ptr< osg::Uniform > getOsgUniform () const
 Returns the OSG uniform node.
 

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.
 

Detailed Description

template<class T>
class SurgSim::Graphics::OsgTextureUniform< T >

OSG implementation of graphics uniform with a texture value.

Template Parameters
TTexture type

Constructor & Destructor Documentation

§ OsgTextureUniform()

template<class T >
SurgSim::Graphics::OsgTextureUniform< T >::OsgTextureUniform ( const std::string &  name)
explicit

Constructor.

Parameters
nameName 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
stateSetOSG state set

Reimplemented from SurgSim::Graphics::OsgUniformBase.

§ 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
stateSetOSG 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
nodeYAML 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
unitlowest texture unit to use, default is 0

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