# Ogre::RTShader::FunctionInvocation Class Reference
[RTShader]

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

`#include <OgreShaderFunctionAtom.h>`

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

List of all members.

## Public Types

typedef vector< Operand >::type | OperandVector

## Public Member Functions

| FunctionInvocation (const String &functionName, int groupOrder, int internalOrder, String returnType="void")
| Class constructor.
virtual void | writeSourceCode (std::ostream &os, const String &targetLanguage) const
virtual const String & | getFunctionAtomType ()
OperandVector & | getOperandList ()
| Get a list of parameters this function invocation will use in the function call as arguments.
void | pushOperand (ParameterPtr parameter, Operand::OpSemantic opSemantic, int opMask=Operand::OPM_ALL)
| Push a new operand (on the end) to the function.
const String & | getFunctionName () const
| Return the function name.
const String & | getReturnType () const
| Return the return type.
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.
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 * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
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 *)

## Static Public Attributes

static String | Type
| The type of this class.

## Protected Attributes

String | mFunctionName
String | mReturnType
OperandVector | mOperands
int | mGroupExecutionOrder
int | mInteralExecutionOrder

## Detailed Description

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

Definition at line 153 of file OgreShaderFunctionAtom.h.

## Member Typedef Documentation

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

Definition at line 157 of file OgreShaderFunctionAtom.h.

## Constructor & Destructor Documentation

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.

## Member Function Documentation

virtual const String& Ogre::RTShader::FunctionInvocation::getFunctionAtomType | ( |  | ) | `[virtual]`

See also:
  FunctionAtom::getFunctionAtomType

Implements Ogre::RTShader::FunctionAtom.

Definition at line 176 of file OgreShaderFunctionAtom.h.

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

Return the function name.

Definition at line 189 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::getGroupExecutionOrder | ( |  | ) | const`[inherited]`

Get the group execution order of this function atom.

int Ogre::RTShader::FunctionAtom::getInternalExecutionOrder | ( |  | ) | const`[inherited]`

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

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

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

Definition at line 179 of file OgreShaderFunctionAtom.h.

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

Return the return type.

Definition at line 192 of file OgreShaderFunctionAtom.h.

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

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 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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 85 of file OgreMemoryAllocatedObject.h.

void Ogre::RTShader::FunctionInvocation::pushOperand | ( | ParameterPtr | parameter,
|  | Operand::OpSemantic | opSemantic,
|  | int | opMask = `Operand::OPM_ALL` |
| ) |  |  |

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.

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

String Ogre::RTShader::FunctionInvocation::mFunctionName `[protected]`

Definition at line 199 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::mGroupExecutionOrder `[protected, inherited]`

Definition at line 72 of file OgreShaderFunctionAtom.h.

int Ogre::RTShader::FunctionAtom::mInteralExecutionOrder `[protected, inherited]`

Definition at line 73 of file OgreShaderFunctionAtom.h.

OperandVector Ogre::RTShader::FunctionInvocation::mOperands `[protected]`

Definition at line 201 of file OgreShaderFunctionAtom.h.

String Ogre::RTShader::FunctionInvocation::mReturnType `[protected]`

Definition at line 200 of file OgreShaderFunctionAtom.h.

String Ogre::RTShader::FunctionInvocation::Type `[static]`

The type of this class.

Definition at line 195 of file OgreShaderFunctionAtom.h.

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

- OgreShaderFunctionAtom.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:25:05