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:
Inheritance graph
[legend]

List of all members.

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.
 FunctionInvocation (const FunctionInvocation &rhs)
 Copy constructor.
virtual void writeSourceCode (std::ostream &os, const String &targetLanguage) const
virtual const StringgetFunctionAtomType ()
OperandVectorgetOperandList ()
 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, int indirectionLevel=0)
 Push a new operand (on the end) to the function.
const StringgetFunctionName () const
 Return the function name.
const StringgetReturnType () const
 Return the return type.
bool operator== (const FunctionInvocation &rhs) const
 Determines if the current object is equal to the compared one.
bool operator!= (const FunctionInvocation &rhs) const
 Determines if the current object is not equal to the compared one.
bool operator< (const FunctionInvocation &rhs) const
 Determines if the current object is less than the compared one.
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 mInternalExecutionOrder

Detailed Description

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

Definition at line 161 of file OgreShaderFunctionAtom.h.


Member Typedef Documentation

Definition at line 165 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.
Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const FunctionInvocation rhs  ) 

Copy constructor.


Member Function Documentation

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

Return the function name.

Definition at line 200 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 189 of file OgreShaderFunctionAtom.h.

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

Return the return type.

Definition at line 203 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,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 118 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 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  )  [inherited]

Definition at line 72 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.

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

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

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

Determines if the current object is less than the compared one.

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

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

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
virtual void Ogre::RTShader::FunctionInvocation::writeSourceCode ( std::ostream &  os,
const String targetLanguage 
) const [virtual]

Member Data Documentation

Definition at line 235 of file OgreShaderFunctionAtom.h.

Definition at line 72 of file OgreShaderFunctionAtom.h.

Definition at line 73 of file OgreShaderFunctionAtom.h.

Definition at line 237 of file OgreShaderFunctionAtom.h.

Definition at line 236 of file OgreShaderFunctionAtom.h.

The type of this class.

Definition at line 231 of file OgreShaderFunctionAtom.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:42:34 2012