OpenWalnut  1.3.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
WGEShaderPropertyDefine< PropertyType > Class Template Reference

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

#include <WGEShaderPropertyDefine.h>

+ Inheritance diagram for WGEShaderPropertyDefine< PropertyType >:

Public Types

typedef boost::shared_ptr
< WGEShaderPropertyDefine
< PropertyType > > 
SPtr
 Shared pointer for this class. More...
 
typedef boost::shared_ptr
< const
WGEShaderPropertyDefine
< PropertyType > > 
ConstSPtr
 A const shared pointer for this class. More...
 
- Public Types inherited from WGEShaderDefine< PropertyType::element_type::ValueType >
typedef boost::shared_ptr
< WGEShaderDefine
< PropertyType::element_type::ValueType > > 
SPtr
 Shared pointer for this class. More...
 
typedef boost::shared_ptr
< const WGEShaderDefine
< PropertyType::element_type::ValueType > > 
ConstSPtr
 A const shared pointer for this class. More...
 
- Public Types inherited from WGEShaderPreprocessor
typedef boost::shared_ptr
< WGEShaderPreprocessor
SPtr
 Shared pointer for this class. More...
 
typedef boost::shared_ptr
< const WGEShaderPreprocessor
ConstSPtr
 A const shared pointer for this class. More...
 

Public Member Functions

 WGEShaderPropertyDefine (std::string name, PropertyType prop)
 Constructs a define with a given name and initial value. More...
 
virtual ~WGEShaderPropertyDefine ()
 Destructor. More...
 
- Public Member Functions inherited from WGEShaderDefine< PropertyType::element_type::ValueType >
 WGEShaderDefine (std::string name, PropertyType::element_type::ValueTypevalue=PropertyType::element_type::ValueType(0))
 Constructs a define with a given name and initial value. More...
 
virtual ~WGEShaderDefine ()
 Destructor. More...
 
virtual std::string process (const std::string &file, const std::string &code) const
 Process the whole code. More...
 
std::string getName () const
 Returns the name of the define. More...
 
const
PropertyType::element_type::ValueType & 
getValue () const
 Returns the current value. More...
 
void setValue (const PropertyType::element_type::ValueType &value)
 Sets the new value for this define. More...
 
- Public Member Functions inherited from WGEShaderPreprocessor
 WGEShaderPreprocessor ()
 Default constructor. More...
 
virtual ~WGEShaderPreprocessor ()
 Destructor. More...
 
virtual WCondition::SPtr getChangeCondition () const
 Returns the condition denoting a change in this preprocessor filter. More...
 
void setActive (bool active=true)
 (De-)activates the preprocessor. More...
 
bool getActive () const
 If the preprocessor is active, this returns true. More...
 

Private Member Functions

void setNewValue ()
 Sets the value depending on the current value of the property. More...
 

Private Attributes

PropertyType m_property
 The associated property. More...
 
boost::signals2::connection m_connection
 The connection between the prop and the define. More...
 

Additional Inherited Members

- Protected Member Functions inherited from WGEShaderPreprocessor
virtual void updated ()
 Fires m_updateCondition which should denote an update in the preprocessor filter. More...
 

Detailed Description

template<typename PropertyType = WPropBool>
class WGEShaderPropertyDefine< PropertyType >

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

Unlike WGEShaderDefine, it is automatically controlled by a WPropertyVariable. You might hope that WPropBool define and undefine this thing. Thats not the case. A WPropBool causes this to be 0 or 1. If you need the first behavior, use WGEShaderDefineOptions or WGEShaderPropertyDefineOptions.

Definition at line 47 of file WGEShaderPropertyDefine.h.

Member Typedef Documentation

template<typename PropertyType = WPropBool>
typedef boost::shared_ptr< const WGEShaderPropertyDefine< PropertyType > > WGEShaderPropertyDefine< PropertyType >::ConstSPtr

A const shared pointer for this class.

Definition at line 58 of file WGEShaderPropertyDefine.h.

template<typename PropertyType = WPropBool>
typedef boost::shared_ptr< WGEShaderPropertyDefine< PropertyType > > WGEShaderPropertyDefine< PropertyType >::SPtr

Shared pointer for this class.

Definition at line 53 of file WGEShaderPropertyDefine.h.

Constructor & Destructor Documentation

template<typename PropertyType >
WGEShaderPropertyDefine< PropertyType >::WGEShaderPropertyDefine ( std::string  name,
PropertyType  prop 
)

Constructs a define with a given name and initial value.

Parameters
namename of the define
propthe property controlling this define

Definition at line 92 of file WGEShaderPropertyDefine.h.

References WGEShaderPropertyDefine< PropertyType >::m_connection.

template<typename PropertyType >
WGEShaderPropertyDefine< PropertyType >::~WGEShaderPropertyDefine ( )
virtual

Destructor.

Definition at line 101 of file WGEShaderPropertyDefine.h.

Member Function Documentation

template<typename PropertyType >
void WGEShaderPropertyDefine< PropertyType >::setNewValue ( )
private

Sets the value depending on the current value of the property.

Definition at line 108 of file WGEShaderPropertyDefine.h.

References WGEShaderDefine< ValueType >::setValue().

Member Data Documentation

template<typename PropertyType = WPropBool>
boost::signals2::connection WGEShaderPropertyDefine< PropertyType >::m_connection
private

The connection between the prop and the define.

Definition at line 88 of file WGEShaderPropertyDefine.h.

Referenced by WGEShaderPropertyDefine< PropertyType >::WGEShaderPropertyDefine().

template<typename PropertyType = WPropBool>
PropertyType WGEShaderPropertyDefine< PropertyType >::m_property
private

The associated property.

Definition at line 78 of file WGEShaderPropertyDefine.h.


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