OGRE  1.10.12
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, const String &returnType="void")
 Class constructor. More...
 
 FunctionInvocation (const String &functionName, int groupOrder, int internalOrder, String returnType="void")
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 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...
 
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/3]

Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const String functionName,
int  groupOrder,
const 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/3]

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

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Deprecated:
internalOrder parameter is obsolete

◆ FunctionInvocation() [3/3]

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

Copy constructor.

Member Function Documentation

◆ writeSourceCode()

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

◆ getFunctionAtomType()

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

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

◆ 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

◆ getFunctionName()

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

Return the function name.

◆ getReturnType()

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

Return the return type.

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

◆ operator==()

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

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

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

◆ getGroupExecutionOrder()

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

Get the group execution order of this function atom.

◆ getInternalExecutionOrder()

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

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

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: