OpenWalnut
1.4.0
|
This class is able to provide arbitrary values as define statements in GLSL code. More...
#include <WGEShaderDefine.h>
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 ValueType & | getValue () 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. |
This class is able to provide arbitrary values as define statements in GLSL code.
Definition at line 41 of file WGEShaderDefine.h.
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.
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.
WGEShaderDefine< ValueType >::WGEShaderDefine | ( | std::string | name, |
ValueType | value = ValueType( 0 ) |
||
) |
Constructs a define with a given name and initial value.
name | name of the define |
value | the initial value. |
Definition at line 112 of file WGEShaderDefine.h.
WGEShaderDefine< ValueType >::~WGEShaderDefine | ( | ) | [virtual] |
Destructor.
Definition at line 121 of file WGEShaderDefine.h.
std::string WGEShaderDefine< ValueType >::getName | ( | ) | const |
Returns the name of the define.
Definition at line 137 of file WGEShaderDefine.h.
Referenced by WGEShader::setDefine().
const ValueType & WGEShaderDefine< ValueType >::getValue | ( | ) | const |
Returns the current value.
Definition at line 143 of file WGEShaderDefine.h.
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.
code | the code to process |
file | the filename of the shader currently processed. Should be used for debugging output. |
Implements WGEShaderPreprocessor.
Definition at line 127 of file WGEShaderDefine.h.
References string_utils::toString().
void WGEShaderDefine< ValueType >::setValue | ( | const ValueType & | value | ) |
Sets the new value for this define.
Causes an reload of all associated shaders.
value | the new value. |
Definition at line 149 of file WGEShaderDefine.h.
Referenced by WGEShader::setDefine(), and WGEShaderPropertyDefine< PropertyType >::setNewValue().
std::string WGEShaderDefine< ValueType >::m_name [private] |
The name of the define.
Definition at line 103 of file WGEShaderDefine.h.
ValueType WGEShaderDefine< ValueType >::m_value [private] |
The value of the define as a string.
Definition at line 108 of file WGEShaderDefine.h.