OGRE  2.2.4
Object-Oriented Graphics Rendering Engine
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:

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...
 

Detailed Description

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

Member Typedef Documentation

◆ OperandVector

Constructor & Destructor Documentation

◆ FunctionInvocation() [1/2]

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.

◆ FunctionInvocation() [2/2]

Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const FunctionInvocation rhs)

Copy constructor.

Member Function Documentation

◆ getFunctionAtomType()

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

◆ getFunctionName()

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

Return the function name.

◆ getGroupExecutionOrder()

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

Get the group execution order of this function atom.

◆ getInternalExecutionOrder()

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

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

◆ getOperandList()

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

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

References Ogre::RTShader::Operand::OPM_ALL.

◆ getReturnType()

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

Return the return type.

References Ogre::operator!=(), Ogre::operator<(), and Ogre::operator==().

◆ operator delete() [1/3]

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

◆ operator delete() [2/3]

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

◆ operator delete() [3/3]

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

◆ operator delete[]() [1/2]

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

◆ operator delete[]() [2/2]

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

◆ operator new() [1/3]

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

◆ operator new() [2/3]

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

◆ operator new() [3/3]

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

placement operator new

◆ operator new[]() [1/2]

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

◆ operator new[]() [2/2]

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

◆ operator!=()

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

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

◆ operator<()

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

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

◆ operator==()

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

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

◆ pushOperand()

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

◆ writeSourceCode()

virtual void Ogre::RTShader::FunctionInvocation::writeSourceCode ( std::ostream &  os,
const String targetLanguage 
) const
virtual

Member Data Documentation

◆ Type

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

The type of this class.


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