| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
Ogre::RTShader::FunctionInvocation Class Reference
Optional Components » RTShaderSystem

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

`#include <OgreShaderFunctionAtom.h>`

Inheritance diagram for Ogre::RTShader::FunctionInvocation:
[legend]

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

## Public Types
typedef std::vector< Operand > | OperandVector

## Public Member Functions
| FunctionInvocation (const String &functionName, int groupOrder, const String &returnType="void")
| Class constructor. More...
| FunctionInvocation (const FunctionInvocation &rhs)
| Copy constructor. More...
virtual const String & | getFunctionAtomType ()
| More...
const String & | getFunctionName () 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...
OperandVector & | getOperandList ()
| Get a list of parameters this function invocation will use in the function call as arguments. More...
const String & | getReturnType () 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
| More...

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

typedef std::vector<Operand> Ogre::RTShader::FunctionInvocation::OperandVector

## Constructor & Destructor Documentation

## ◆ FunctionInvocation() [1/2]

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

Class constructor.

Parameters

  functionName | The name of the function to invoke.
  groupOrder | The group order of this invocation.
  returnType | The return type of the used function.

## ◆ FunctionInvocation() [2/2]

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

See also
  FunctionAtom::writeSourceCode

Implements Ogre::RTShader::FunctionAtom.

Reimplemented in Ogre::RTShader::AssignmentAtom.

## ◆ getFunctionAtomType()

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

See also
  FunctionAtom::getFunctionAtomType

Implements Ogre::RTShader::FunctionAtom.

Reimplemented in Ogre::RTShader::AssignmentAtom.

## ◆ getOperandList()

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

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

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

  parameter | A function parameter.
  opSemantic | The in/out semantic of the parameter.
  opMask | The field mask of the parameter.
  indirectionLevel | The 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.

## ◆ 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
| inline inherited

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:

- OgreShaderFunctionAtom.h