OGRE: Ogre::RTShader::FunctionInvocation Class Reference

| OGRE 2.2.4 Object-Oriented Graphics Rendering Engine

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

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 vector< Operand >::type | OperandVector

## Public Member Functions
| FunctionInvocation (const FunctionInvocation &rhs)
| Copy constructor. More...
| FunctionInvocation (const String &functionName, int groupOrder, int internalOrder, String returnType="void")
| Class constructor. More...
virtual const String & | getFunctionAtomType ()
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...
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 More...
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
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 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

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

## Constructor & Destructor Documentation

## ◆ FunctionInvocation() [1/2]

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

Class constructor.

Parameters

  functionName | The name of the function to invoke.
  groupOrder | The group order of this invocation.
  internalOrder | The internal 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

## ◆ getFunctionAtomType()

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

See also
  FunctionAtom::getFunctionAtomType

Implements Ogre::RTShader::FunctionAtom.

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

## ◆ getReturnType()

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

Return the return type.

## ◆ 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,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |
| inlineinherited

## ◆ operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |
| 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 | ) |
| inlineinherited

## ◆ operator new() [2/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() [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 | ) |
| inlineinherited

## ◆ operator new[]() [2/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!=()

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

  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

## ◆ writeSourceCode()

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

See also
  FunctionAtom::writeSourceCode

Implements Ogre::RTShader::FunctionAtom.

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