opensurgsim
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SurgSim::Graphics::OsgUniformBase Class Referenceabstract

Base OSG implementation of graphics uniforms. More...

#include <OsgUniformBase.h>

Inheritance diagram for SurgSim::Graphics::OsgUniformBase:
SurgSim::Graphics::UniformBase SurgSim::Framework::Accessible SurgSim::Graphics::OsgTextureUniform< OsgTexture1d > SurgSim::Graphics::OsgTextureUniform< OsgTexture2d > SurgSim::Graphics::OsgTextureUniform< OsgTexture3d > SurgSim::Graphics::OsgTextureUniform< OsgTextureCubeMap > SurgSim::Graphics::OsgTextureUniform< OsgTextureRectangle > SurgSim::Graphics::MockOsgUniformBase SurgSim::Graphics::OsgTextureUniform< T > SurgSim::Graphics::OsgUniform< T > SurgSim::Graphics::OsgUniform< std::vector< T > >

Public Member Functions

const std::string & getName () const
 Returns the name used in shader code to access this uniform.
 
virtual void set (const YAML::Node &node)=0
 Sets the value of the uniform from a YAML Node, the uniform is responsible for converting the node to its own value. 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.
 
virtual const std::string getGlslType () const =0
 
- 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
 

Protected Member Functions

 OsgUniformBase (const std::string &name)
 Constructor. More...
 

Protected Attributes

osg::ref_ptr< osg::Uniform > m_uniform
 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
 

Detailed Description

Base OSG implementation of graphics uniforms.

Wraps an osg::Uniform.

Note
SurgSim::Graphics::OsgUniform is templated on the type of value, so this base class allows a pointer to any type of OSG Uniform.

Constructor & Destructor Documentation

§ OsgUniformBase()

OsgUniformBase::OsgUniformBase ( const std::string &  name)
explicitprotected

Constructor.

Parameters
nameName used in shader code to access this uniform

Member Function Documentation

§ addToStateSet()

void OsgUniformBase::addToStateSet ( osg::StateSet *  stateSet)
virtual

§ removeFromStateSet()

void OsgUniformBase::removeFromStateSet ( osg::StateSet *  stateSet)
virtual

§ set()

virtual void SurgSim::Graphics::OsgUniformBase::set ( const YAML::Node &  node)
pure virtual

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