OpenWalnut  1.4.0
Public Types | Public Member Functions | Private Attributes
WGEShaderDefine< ValueType > Class Template Reference

This class is able to provide arbitrary values as define statements in GLSL code. More...

#include <WGEShaderDefine.h>

+ Inheritance diagram for WGEShaderDefine< ValueType >:

List of all members.

Public Types

typedef boost::shared_ptr
< WGEShaderDefine< ValueType > > 
SPtr
 Shared pointer for this class.
typedef boost::shared_ptr
< const WGEShaderDefine
< ValueType > > 
ConstSPtr
 A const shared pointer for this class.

Public Member Functions

 WGEShaderDefine (std::string name, ValueType value=ValueType(0))
 Constructs a define with a given name and initial value.
virtual ~WGEShaderDefine ()
 Destructor.
virtual std::string process (const std::string &file, const std::string &code) const
 Process the whole code.
std::string getName () const
 Returns the name of the define.
const ValueTypegetValue () const
 Returns the current value.
void setValue (const ValueType &value)
 Sets the new value for this define.

Private Attributes

std::string m_name
 The name of the define.
ValueType m_value
 The value of the define as a string.

Detailed Description

template<typename ValueType = bool>
class WGEShaderDefine< ValueType >

This class is able to provide arbitrary values as define statements in GLSL code.

Definition at line 41 of file WGEShaderDefine.h.


Member Typedef Documentation

template<typename ValueType = bool>
typedef boost::shared_ptr< const WGEShaderDefine< ValueType > > WGEShaderDefine< ValueType >::ConstSPtr

A const shared pointer for this class.

Reimplemented from WGEShaderPreprocessor.

Reimplemented in WGEShaderPropertyDefine< PropertyType >.

Definition at line 52 of file WGEShaderDefine.h.

template<typename ValueType = bool>
typedef boost::shared_ptr< WGEShaderDefine< ValueType > > WGEShaderDefine< ValueType >::SPtr

Shared pointer for this class.

Reimplemented from WGEShaderPreprocessor.

Reimplemented in WGEShaderPropertyDefine< PropertyType >.

Definition at line 47 of file WGEShaderDefine.h.


Constructor & Destructor Documentation

template<typename ValueType>
WGEShaderDefine< ValueType >::WGEShaderDefine ( std::string  name,
ValueType  value = ValueType( 0 ) 
)

Constructs a define with a given name and initial value.

Parameters:
namename of the define
valuethe initial value.

Definition at line 112 of file WGEShaderDefine.h.

template<typename ValueType >
WGEShaderDefine< ValueType >::~WGEShaderDefine ( ) [virtual]

Destructor.

Definition at line 121 of file WGEShaderDefine.h.


Member Function Documentation

template<typename ValueType >
std::string WGEShaderDefine< ValueType >::getName ( ) const

Returns the name of the define.

Returns:
the name

Definition at line 137 of file WGEShaderDefine.h.

Referenced by WGEShader::setDefine().

template<typename ValueType >
const ValueType & WGEShaderDefine< ValueType >::getValue ( ) const

Returns the current value.

Returns:
the current value

Definition at line 143 of file WGEShaderDefine.h.

template<typename ValueType >
std::string WGEShaderDefine< ValueType >::process ( const std::string &  file,
const std::string &  code 
) const [virtual]

Process the whole code.

It is not allowed to modify some internal state in this function because it might be called by several shaders.

Parameters:
codethe code to process
filethe filename of the shader currently processed. Should be used for debugging output.
Returns:
the resulting new code

Implements WGEShaderPreprocessor.

Definition at line 127 of file WGEShaderDefine.h.

References string_utils::toString().

template<typename ValueType>
void WGEShaderDefine< ValueType >::setValue ( const ValueType value)

Sets the new value for this define.

Causes an reload of all associated shaders.

Parameters:
valuethe new value.

Definition at line 149 of file WGEShaderDefine.h.

Referenced by WGEShader::setDefine(), and WGEShaderPropertyDefine< PropertyType >::setNewValue().


Member Data Documentation

template<typename ValueType = bool>
std::string WGEShaderDefine< ValueType >::m_name [private]

The name of the define.

Definition at line 103 of file WGEShaderDefine.h.

template<typename ValueType = bool>
ValueType WGEShaderDefine< ValueType >::m_value [private]

The value of the define as a string.

Definition at line 108 of file WGEShaderDefine.h.


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