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 String &functionName, int groupOrder, int internalOrder, String returnType="void")
| Class constructor. More...
| FunctionInvocation (const FunctionInvocation &rhs)
| Copy 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, 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 *)
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 * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
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...

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

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

Definition at line 182 of file OgreShaderFunctionAtom.h.

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

virtual

See also
  FunctionAtom::getFunctionAtomType

Implements Ogre::RTShader::FunctionAtom.

Definition at line 203 of file OgreShaderFunctionAtom.h.

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

References Ogre::RTShader::Operand::OPM_ALL.

## getReturnType()

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

Return the return type.

Definition at line 220 of file OgreShaderFunctionAtom.h.

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

## 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,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/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[]() [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,
|  | 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() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 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,
|  | 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 new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 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

  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

## mFunctionName

String Ogre::RTShader::FunctionInvocation::mFunctionName

protected

Definition at line 252 of file OgreShaderFunctionAtom.h.

## mGroupExecutionOrder

int Ogre::RTShader::FunctionAtom::mGroupExecutionOrder

protected inherited

Definition at line 73 of file OgreShaderFunctionAtom.h.

## mInternalExecutionOrder

int Ogre::RTShader::FunctionAtom::mInternalExecutionOrder

protected inherited

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:

- OgreShaderFunctionAtom.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.