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

OSG implementation of graphics uniform with a value of type T. More...

#include <OsgUniform.h>

Inheritance diagram for SurgSim::Graphics::OsgUniform< T >:
SurgSim::Graphics::Uniform< T > SurgSim::Graphics::OsgUniformBase SurgSim::Graphics::UniformBase SurgSim::Graphics::UniformBase SurgSim::Framework::Accessible SurgSim::Framework::Accessible

Public Member Functions

 OsgUniform (const std::string &name)
 Constructor. More...
 
virtual void set (const 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 doing the correct conversion. More...
 
virtual const T & get () const
 
const std::string getGlslType () const override
 
- 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.
 
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.
 

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::OsgUniform< T >

OSG implementation of graphics uniform with a value of type T.

Template Parameters
Valuethe value type of the uniform

Constructor & Destructor Documentation

§ OsgUniform()

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

Constructor.

Parameters
nameName used in shader code to access this uniform

Member Function Documentation

§ get()

template<class T >
const T & SurgSim::Graphics::OsgUniform< T >::get ( ) const
virtual
Returns
the value of the uniform

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

§ set() [1/2]

template<class T >
void SurgSim::Graphics::OsgUniform< T >::set ( const T &  value)
virtual

Sets the value of the uniform.

Parameters
valuethe value for this uniform

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

§ set() [2/2]

template<class T >
void SurgSim::Graphics::OsgUniform< T >::set ( const YAML::Node &  node)
virtual

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

Parameters
nodethe node that contains the value for this uniform

Implements SurgSim::Graphics::OsgUniformBase.


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