opensurgsim
Public Member Functions | List of all members
SurgSim::Graphics::UniformBase Class Referenceabstract

Common base class for all graphics uniforms. More...

#include <UniformBase.h>

Inheritance diagram for SurgSim::Graphics::UniformBase:
SurgSim::Framework::Accessible SurgSim::Graphics::MockUniform SurgSim::Graphics::OsgUniformBase SurgSim::Graphics::Uniform< T > SurgSim::Graphics::Uniform< std::vector< T > > SurgSim::Graphics::Uniform< std::shared_ptr< OsgTexture1d > > SurgSim::Graphics::Uniform< std::shared_ptr< OsgTexture2d > > SurgSim::Graphics::Uniform< std::shared_ptr< OsgTexture3d > > SurgSim::Graphics::Uniform< std::shared_ptr< OsgTextureCubeMap > > SurgSim::Graphics::Uniform< std::shared_ptr< OsgTextureRectangle > > SurgSim::Graphics::Uniform< std::shared_ptr< T > >

Public Member Functions

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
 

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

Common base class for all graphics uniforms.

Graphics uniforms act as parameters to shader programs.

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

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