Castor3D  ..
Public Member Functions | Static Public Member Functions | Protected Types | List of all members
Castor3D::PointFrameVariable< T, Count > Class Template Reference

Point shader variable with variable type and dimensions. More...

+ Inheritance diagram for Castor3D::PointFrameVariable< T, Count >:
+ Collaboration diagram for Castor3D::PointFrameVariable< T, Count >:

Public Member Functions

 PointFrameVariable (ShaderProgram *p_program)
 Constructor. More...
 
 PointFrameVariable (ShaderProgram *p_program, uint32_t p_occurences)
 Constructor. More...
 
 PointFrameVariable (PointFrameVariable< T, Count > const &p_object)
 Copy constructor. More...
 
 PointFrameVariable (PointFrameVariable< T, Count > &&p_object)
 Move constructor. More...
 
PointFrameVariableoperator= (PointFrameVariable< T, Count > const &p_object)
 Copy assignment operator. More...
 
PointFrameVariableoperator= (PointFrameVariable< T, Count > &&p_object)
 Move assignment operator. More...
 
virtual ~PointFrameVariable ()
 Destructor. More...
 
Castor::Coords< T, Count > GetValue ()
 Retrieves the value. More...
 
Castor::Point< T, Count > GetValue () const
 Retrieves the value. More...
 
Castor::Coords< T, Count > GetValue (uint32_t p_index)
 Retrieves the value at given index. More...
 
Castor::Point< T, Count > GetValue (uint32_t p_index) const
 Retrieves the value at given index. More...
 
void SetValue (Castor::Point< T, Count > const &p_ptValue)
 Defines the value of the variable. More...
 
void SetValue (Castor::Point< T, Count > const &p_ptValue, uint32_t p_index)
 Defines the value of the variable. More...
 
virtual uint32_t size () const
 Retrieves the byte size of the variable. More...
 
Castor::Coords< T, Count > operator[] (uint32_t p_index)
 Array subscript operator. More...
 
Castor::Point< T, Count > operator[] (uint32_t p_index) const
 Array subscript operator. More...
 
eVARIABLE_TYPE GetType () const
 Retrieves the variable type. More...
 
eFRAME_VARIABLE_TYPE GetFullType () const
 Retrieves the variable full type. More...
 
Castor::String GetFullTypeName () const
 Gives the variable full type name. More...
 
- Public Member Functions inherited from Castor3D::TFrameVariable< T >
 TFrameVariable (ShaderProgram *p_program)
 Constructor. More...
 
 TFrameVariable (ShaderProgram *p_program, uint32_t p_occurences)
 Constructor. More...
 
 TFrameVariable (TFrameVariable< T > const &p_object)
 Copy constructor. More...
 
 TFrameVariable (TFrameVariable< T > &&p_object)
 Move constructor. More...
 
TFrameVariableoperator= (TFrameVariable< T > const &p_object)
 Copy assignment operator. More...
 
TFrameVariableoperator= (TFrameVariable< T > &&p_object)
 Move assignment operator. More...
 
virtual ~TFrameVariable ()
 Destructor. More...
 
Castor::String GetDataTypeName () const
 Gives the variable data type. More...
 
virtual uint8_t const *const const_ptr () const
 Retrieves a pointer to the variable data. More...
 
virtual void link (uint8_t *p_buffer)
 Defines the buffer holding the frame variable. More...
 
- Public Member Functions inherited from Castor3D::FrameVariable
C3D_API FrameVariable (ShaderProgram *p_program)
 Constructor. More...
 
C3D_API FrameVariable (ShaderProgram *p_program, uint32_t p_occurences)
 Constructor. More...
 
C3D_API FrameVariable (FrameVariable const &p_object)
 Copy constructor. More...
 
C3D_API FrameVariable (FrameVariable &&p_object)
 Move constructor. More...
 
C3D_API FrameVariableoperator= (FrameVariable const &p_object)
 Copy assignment operator. More...
 
C3D_API FrameVariableoperator= (FrameVariable &&p_object)
 Move assignment operator. More...
 
virtual C3D_API ~FrameVariable ()
 Destructor. More...
 
virtual C3D_API bool Initialise ()=0
 Initialises the variable. More...
 
virtual C3D_API void Cleanup ()=0
 Cleans up the variable. More...
 
virtual C3D_API void Bind ()=0
 Binds this variable to the shader. More...
 
virtual C3D_API void Unbind ()=0
 Unbinds this variable from the shader. More...
 
virtual C3D_API void SetValueStr (Castor::String const &p_value)
 Defines the value of the variable, from a string. More...
 
virtual C3D_API void SetValueStr (Castor::String const &p_value, uint32_t p_index)
 Defines the value of the variable, from a string. More...
 
virtual void SetName (Castor::String const &p_name)
 Defines the name of the variable, as it appears in the shader program. More...
 
Castor::String GetName () const
 Gives the name of the variable, as it appears in the shader program. More...
 
Castor::String GetStrValue () const
 Retrieves the variable string value. More...
 
Castor::String GetStrValue (uint32_t p_index) const
 Retrieves the variable string value at given index. More...
 
const uint32_t & GetOccCount () const
 Retrieves the occurences count. More...
 
ShaderProgramGetProgram () const
 Retrieves the parent program. More...
 

Static Public Member Functions

static eVARIABLE_TYPE GetVariableType ()
 Gives the full type of the variable. More...
 
static eFRAME_VARIABLE_TYPE GetFrameVariableType ()
 Gives the variable full type. More...
 
static Castor::String GetFrameVariableTypeName ()
 Gives the variable full type name. More...
 

Protected Types

typedef Castor::Policy< T > policy
 
- Protected Types inherited from Castor3D::TFrameVariable< T >
typedef Castor::Policy< T > policy
 

Additional Inherited Members

- Protected Member Functions inherited from Castor3D::TFrameVariable< T >
void DoCleanupBuffer ()
 
- Protected Attributes inherited from Castor3D::TFrameVariable< T >
bool m_bOwnBuffer
 Tells the variable owns it's buffer. More...
 
T * m_values
 The buffer containing all values. More...
 
- Protected Attributes inherited from Castor3D::FrameVariable
Castor::String m_name
 The variable name as it appears in the shader program. More...
 
bool m_changed
 Tells if the variable has changed since last execution of the shader. More...
 
uint32_t m_occurences
 The array dimension if the variable represents an array. More...
 
Castor::StringArray m_strValue
 The value of the variable. More...
 
ShaderProgramm_program
 The parent shader program. More...
 

Detailed Description

template<typename T, uint32_t Count>
class Castor3D::PointFrameVariable< T, Count >

Point shader variable with variable type and dimensions.

Author
Sylvain DOREMUS
Version
0.6.1.0
Date
14/08/2010

Member Typedef Documentation

◆ policy

template<typename T, uint32_t Count>
typedef Castor::Policy<T> Castor3D::PointFrameVariable< T, Count >::policy
protected

Constructor & Destructor Documentation

◆ PointFrameVariable() [1/4]

template<typename T, uint32_t Count>
Castor3D::PointFrameVariable< T, Count >::PointFrameVariable ( ShaderProgram p_program)

Constructor.

Parameters
[in]p_programThe program

◆ PointFrameVariable() [2/4]

template<typename T, uint32_t Count>
Castor3D::PointFrameVariable< T, Count >::PointFrameVariable ( ShaderProgram p_program,
uint32_t  p_occurences 
)

Constructor.

Parameters
[in]p_programThe program
[in]p_occurencesThe array dimension

◆ PointFrameVariable() [3/4]

template<typename T, uint32_t Count>
Castor3D::PointFrameVariable< T, Count >::PointFrameVariable ( PointFrameVariable< T, Count > const &  p_object)

Copy constructor.

Parameters
[in]p_objectThe object to copy

◆ PointFrameVariable() [4/4]

template<typename T, uint32_t Count>
Castor3D::PointFrameVariable< T, Count >::PointFrameVariable ( PointFrameVariable< T, Count > &&  p_object)

Move constructor.

Parameters
[in]p_objectThe object to move

◆ ~PointFrameVariable()

template<typename T, uint32_t Count>
virtual Castor3D::PointFrameVariable< T, Count >::~PointFrameVariable ( )
virtual

Destructor.

Member Function Documentation

◆ GetFrameVariableType()

template<typename T, uint32_t Count>
static eFRAME_VARIABLE_TYPE Castor3D::PointFrameVariable< T, Count >::GetFrameVariableType ( )
inlinestatic

Gives the variable full type.

Returns
The type

Donne le type complet de la variable

Returns
Le type

Referenced by Castor3D::PointFrameVariable< T, Count >::GetFullType().

+ Here is the caller graph for this function:

◆ GetFrameVariableTypeName()

template<typename T, uint32_t Count>
static Castor::String Castor3D::PointFrameVariable< T, Count >::GetFrameVariableTypeName ( )
inlinestatic

Gives the variable full type name.

Returns
The name

Donne le nom du type complet de la variable

Returns
Le nom

Referenced by Castor3D::PointFrameVariable< T, Count >::GetFullTypeName().

+ Here is the caller graph for this function:

◆ GetFullType()

template<typename T, uint32_t Count>
eFRAME_VARIABLE_TYPE Castor3D::PointFrameVariable< T, Count >::GetFullType ( ) const
inlinevirtual

Retrieves the variable full type.

Returns
The type

Implements Castor3D::FrameVariable.

References Castor3D::PointFrameVariable< T, Count >::GetFrameVariableType().

+ Here is the call graph for this function:

◆ GetFullTypeName()

template<typename T, uint32_t Count>
Castor::String Castor3D::PointFrameVariable< T, Count >::GetFullTypeName ( ) const
inlinevirtual

Gives the variable full type name.

Returns
The type

Donne le nom du type complet de la variable

Returns
Le type

Implements Castor3D::FrameVariable.

References Castor3D::PointFrameVariable< T, Count >::GetFrameVariableTypeName().

+ Here is the call graph for this function:

◆ GetType()

template<typename T, uint32_t Count>
eVARIABLE_TYPE Castor3D::PointFrameVariable< T, Count >::GetType ( ) const
inlinevirtual

Retrieves the variable type.

Returns
The variable type

Implements Castor3D::FrameVariable.

References Castor3D::PointFrameVariable< T, Count >::GetVariableType().

+ Here is the call graph for this function:

◆ GetValue() [1/4]

template<typename T, uint32_t Count>
Castor::Coords< T, Count > Castor3D::PointFrameVariable< T, Count >::GetValue ( )
inline

Retrieves the value.

Returns
A Coords containing the value

◆ GetValue() [2/4]

template<typename T, uint32_t Count>
Castor::Point< T, Count > Castor3D::PointFrameVariable< T, Count >::GetValue ( ) const
inline

Retrieves the value.

Returns
A Point containing the value

◆ GetValue() [3/4]

template<typename T, uint32_t Count>
Castor::Coords< T, Count > Castor3D::PointFrameVariable< T, Count >::GetValue ( uint32_t  p_index)
inline

Retrieves the value at given index.

Remarks
Check the index bounds
Parameters
[in]p_indexThe index
Returns
A Coords containing the value at given index

◆ GetValue() [4/4]

template<typename T, uint32_t Count>
Castor::Point< T, Count > Castor3D::PointFrameVariable< T, Count >::GetValue ( uint32_t  p_index) const
inline

Retrieves the value at given index.

Remarks
Check the index bounds
Parameters
[in]p_indexThe index
Returns
A Point containing the value at given index

◆ GetVariableType()

template<typename T, uint32_t Count>
static eVARIABLE_TYPE Castor3D::PointFrameVariable< T, Count >::GetVariableType ( )
inlinestatic

Gives the full type of the variable.

Returns
The type of the variable

Referenced by Castor3D::PointFrameVariable< T, Count >::GetType().

+ Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename T, uint32_t Count>
PointFrameVariable& Castor3D::PointFrameVariable< T, Count >::operator= ( PointFrameVariable< T, Count > const &  p_object)

Copy assignment operator.

Parameters
[in]p_objectThe object to copy
Returns
A reference to this object

◆ operator=() [2/2]

template<typename T, uint32_t Count>
PointFrameVariable& Castor3D::PointFrameVariable< T, Count >::operator= ( PointFrameVariable< T, Count > &&  p_object)

Move assignment operator.

Parameters
[in]p_objectThe object to move
Returns
A reference to this object

◆ operator[]() [1/2]

template<typename T, uint32_t Count>
Castor::Coords<T, Count > Castor3D::PointFrameVariable< T, Count >::operator[] ( uint32_t  p_index)
inline

Array subscript operator.

Remarks
Doesn't check the index bounds
Parameters
[in]p_indexThe index
Returns
A reference to the value at given index

References Castor3D::TFrameVariable< T >::m_values.

◆ operator[]() [2/2]

template<typename T, uint32_t Count>
Castor::Point< T, Count > Castor3D::PointFrameVariable< T, Count >::operator[] ( uint32_t  p_index) const
inline

Array subscript operator.

Remarks
Doesn't check the index bounds
Parameters
[in]p_indexThe index
Returns
A constant reference to the value at given index

References Castor3D::TFrameVariable< T >::m_values.

◆ SetValue() [1/2]

template<typename T, uint32_t Count>
void Castor3D::PointFrameVariable< T, Count >::SetValue ( Castor::Point< T, Count > const &  p_ptValue)
inline

Defines the value of the variable.

Parameters
[in]p_ptValueThe new value

◆ SetValue() [2/2]

template<typename T, uint32_t Count>
void Castor3D::PointFrameVariable< T, Count >::SetValue ( Castor::Point< T, Count > const &  p_ptValue,
uint32_t  p_index 
)
inline

Defines the value of the variable.

Parameters
[in]p_ptValueThe new value
[in]p_indexThe index of the value

◆ size()

template<typename T, uint32_t Count>
virtual uint32_t Castor3D::PointFrameVariable< T, Count >::size ( ) const
virtual

Retrieves the byte size of the variable.

Returns
The size

Implements Castor3D::FrameVariable.


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