All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
SurgSim::Graphics::OsgUniform< std::vector< T > > Class Template Reference

Specialization of OsgUniform for vectors of values. More...

#include <SurgSim/Graphics/OsgUniform.h>

Inheritance diagram for SurgSim::Graphics::OsgUniform< std::vector< T > >:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Graphics::OsgUniform< std::vector< T > >:
Collaboration graph
[legend]

Public Member Functions

 OsgUniform (const std::string &name, size_t numElements)
 Constructor. More...
 
virtual size_t getNumElements () const
 Returns the number of elements. More...
 
virtual void setElement (size_t index, const T &value)
 Sets the value of one of the uniform's elements. More...
 
virtual void set (const std::vector< T > &value)
 Sets the value of all of the uniform's elements. More...
 
virtual std::vector< T >
::const_reference 
getElement (size_t index) const
 Gets the value of one of the uniform's elements. More...
 
virtual const std::vector< T > & get () const
 Gets the value of all of the uniform's elements. More...
 
- 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 >
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...
 
YAML::Node encode () const
 Encode this Accessible to a YAML::Node. More...
 
void decode (const YAML::Node &node)
 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...
 
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. More...
 

Private Attributes

std::vector< T > m_value
 Vector containing the values of the uniform's elements. 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::OsgUniform< std::vector< T > >

Specialization of OsgUniform for vectors of values.

Template Parameters
Valuetype stored in the vector

Constructor & Destructor Documentation

template<class T >
SurgSim::Graphics::OsgUniform< std::vector< T > >::OsgUniform ( const std::string &  name,
size_t  numElements 
)

Constructor.

Parameters
nameName used in shader code to access this uniform
numElementsNumber of elements

Member Function Documentation

template<class T >
const std::vector< T > & SurgSim::Graphics::OsgUniform< std::vector< T > >::get ( ) const
virtual

Gets the value of all of the uniform's elements.

Returns
Vector of values

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

template<class T >
std::vector< T >::const_reference SurgSim::Graphics::OsgUniform< std::vector< T > >::getElement ( size_t  index) const
virtual

Gets the value of one of the uniform's elements.

Parameters
indexIndex of the element
Returns
Value of the element

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

template<class T >
size_t SurgSim::Graphics::OsgUniform< std::vector< T > >::getNumElements ( ) const
virtual

Returns the number of elements.

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

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

Sets the value of all of the uniform's elements.

Parameters
valueArray of values

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

template<class T >
void SurgSim::Graphics::OsgUniform< std::vector< T > >::setElement ( size_t  index,
const T &  value 
)
virtual

Sets the value of one of the uniform's elements.

Parameters
indexIndex of the element
valueValue to set

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

Member Data Documentation

template<class T >
std::vector<T> SurgSim::Graphics::OsgUniform< std::vector< T > >::m_value
private

Vector containing the values of the uniform's elements.


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