OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::RTShader::FunctionInvocation Class Reference

A class that represents function invocation code from shader based program function. More...

#include <OgreShaderFunctionAtom.h>

+ Inheritance diagram for Ogre::RTShader::FunctionInvocation:
+ Collaboration diagram for Ogre::RTShader::FunctionInvocation:

Classes

struct  FunctionInvocationCompare
 Comparator function to be used for comparisons. More...
 
struct  FunctionInvocationLessThan
 Comparator function to be used for sorting. More...
 

Public Types

typedef vector< Operand >::type OperandVector
 

Public Member Functions

 FunctionInvocation (const String &functionName, int groupOrder, int internalOrder, String returnType="void")
 Class constructor. More...
 
 FunctionInvocation (const FunctionInvocation &rhs)
 Copy constructor. More...
 
virtual const StringgetFunctionAtomType ()
 
const StringgetFunctionName () const
 Return the function name. More...
 
int getGroupExecutionOrder () const
 Get the group execution order of this function atom. More...
 
int getInternalExecutionOrder () const
 Get an internal execution order within a group of this function atom. More...
 
OperandVectorgetOperandList ()
 Get a list of parameters this function invocation will use in the function call as arguments. More...
 
const StringgetReturnType () const
 Return the return type. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
bool operator!= (const FunctionInvocation &rhs) const
 Determines if the current object is not equal to the compared one. More...
 
bool operator< (const FunctionInvocation &rhs) const
 Determines if the current object is less than the compared one. More...
 
bool operator== (const FunctionInvocation &rhs) const
 Determines if the current object is equal to the compared one. More...
 
void pushOperand (ParameterPtr parameter, Operand::OpSemantic opSemantic, int opMask=Operand::OPM_ALL, int indirectionLevel=0)
 Push a new operand (on the end) to the function. More...
 
virtual void writeSourceCode (std::ostream &os, const String &targetLanguage) const
 

Static Public Attributes

static String Type
 The type of this class. More...
 

Protected Attributes

String mFunctionName
 
int mGroupExecutionOrder
 
int mInternalExecutionOrder
 
OperandVector mOperands
 
String mReturnType
 

Detailed Description

A class that represents function invocation code from shader based program function.

Definition at line 176 of file OgreShaderFunctionAtom.h.

Member Typedef Documentation

Constructor & Destructor Documentation

Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const String functionName,
int  groupOrder,
int  internalOrder,
String  returnType = "void" 
)

Class constructor.

Parameters
functionNameThe name of the function to invoke.
groupOrderThe group order of this invocation.
internalOrderThe internal order of this invocation.
returnTypeThe return type of the used function.
Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const FunctionInvocation rhs)

Copy constructor.

Member Function Documentation

virtual const String& Ogre::RTShader::FunctionInvocation::getFunctionAtomType ( )
inlinevirtual
const String& Ogre::RTShader::FunctionInvocation::getFunctionName ( ) const
inline

Return the function name.

Definition at line 215 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::getGroupExecutionOrder ( ) const
inherited

Get the group execution order of this function atom.

int Ogre::RTShader::FunctionAtom::getInternalExecutionOrder ( ) const
inherited

Get an internal execution order within a group of this function atom.

OperandVector& Ogre::RTShader::FunctionInvocation::getOperandList ( )
inline

Get a list of parameters this function invocation will use in the function call as arguments.

Definition at line 204 of file OgreShaderFunctionAtom.h.

const String& Ogre::RTShader::FunctionInvocation::getReturnType ( ) const
inline

Return the return type.

Definition at line 218 of file OgreShaderFunctionAtom.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

bool Ogre::RTShader::FunctionInvocation::operator!= ( const FunctionInvocation rhs) const

Determines if the current object is not equal to the compared one.

bool Ogre::RTShader::FunctionInvocation::operator< ( const FunctionInvocation rhs) const

Determines if the current object is less than the compared one.

bool Ogre::RTShader::FunctionInvocation::operator== ( const FunctionInvocation rhs) const

Determines if the current object is equal to the compared one.

void Ogre::RTShader::FunctionInvocation::pushOperand ( ParameterPtr  parameter,
Operand::OpSemantic  opSemantic,
int  opMask = Operand::OPM_ALL,
int  indirectionLevel = 0 
)

Push a new operand (on the end) to the function.

Parameters
parameterA function parameter.
opSemanticThe in/out semantic of the parameter.
opMaskThe field mask of the parameter.
indirectionLevelThe level of nesting inside brackets
virtual void Ogre::RTShader::FunctionInvocation::writeSourceCode ( std::ostream &  os,
const String targetLanguage 
) const
virtual

Member Data Documentation

String Ogre::RTShader::FunctionInvocation::mFunctionName
protected

Definition at line 250 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::mGroupExecutionOrder
protectedinherited

Definition at line 71 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::mInternalExecutionOrder
protectedinherited

Definition at line 73 of file OgreShaderFunctionAtom.h.

OperandVector Ogre::RTShader::FunctionInvocation::mOperands
protected

Definition at line 252 of file OgreShaderFunctionAtom.h.

String Ogre::RTShader::FunctionInvocation::mReturnType
protected

Definition at line 251 of file OgreShaderFunctionAtom.h.

String Ogre::RTShader::FunctionInvocation::Type
static

The type of this class.

Definition at line 246 of file OgreShaderFunctionAtom.h.


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