OGRE  1.9.0
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 FunctionInvocation &rhs)
 Copy constructor.
 
 FunctionInvocation (const String &functionName, int groupOrder, int internalOrder, String returnType="void")
 Class constructor.
 
virtual const StringgetFunctionAtomType ()
 
const StringgetFunctionName () const
 Return the function name.
 
int getGroupExecutionOrder () const
 Get the group execution order of this function atom.
 
int getInternalExecutionOrder () const
 Get an internal execution order within a group of this function atom.
 
OperandVectorgetOperandList ()
 Get a list of parameters this function invocation will use in the function call as arguments.
 
const StringgetReturnType () const
 Return the return type.
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
bool operator!= (const FunctionInvocation &rhs) const
 Determines if the current object is not equal to the compared one.
 
bool operator< (const FunctionInvocation &rhs) const
 Determines if the current object is less than the compared one.
 
bool operator== (const FunctionInvocation &rhs) const
 Determines if the current object is equal to the compared one.
 
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.
 
virtual void writeSourceCode (std::ostream &os, const String &targetLanguage) const
 

Static Public Attributes

static String Type
 The type of this class.
 

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 178 of file OgreShaderFunctionAtom.h.

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 ( )
virtual

◆ getFunctionName()

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

Return the function name.

Definition at line 217 of file OgreShaderFunctionAtom.h.

◆ 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 ( )

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

Definition at line 206 of file OgreShaderFunctionAtom.h.

◆ getReturnType()

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

Return the return type.

Definition at line 220 of file OgreShaderFunctionAtom.h.

◆ operator delete() [1/3]

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/3]

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/3]

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/3]

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

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/3]

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

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/3]

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

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

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

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

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

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

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

◆ 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

◆ mFunctionName

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

Definition at line 252 of file OgreShaderFunctionAtom.h.

◆ mGroupExecutionOrder

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

Definition at line 73 of file OgreShaderFunctionAtom.h.

◆ mInternalExecutionOrder

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

Definition at line 75 of file OgreShaderFunctionAtom.h.

◆ mOperands

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

Definition at line 254 of file OgreShaderFunctionAtom.h.

◆ mReturnType

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

Definition at line 253 of file OgreShaderFunctionAtom.h.

◆ Type

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

The type of this class.

Definition at line 248 of file OgreShaderFunctionAtom.h.


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