OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::FunctionInvocation Class Reference

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

#include <OgreShaderFunctionAtom.h>

+ Inheritance diagram for Ogre::RTShader::FunctionInvocation:

Classes

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

Public Member Functions

 FunctionInvocation (const FunctionInvocation &rhs)
 Copy constructor. More...
 
 FunctionInvocation (const String &functionName, int groupOrder, const String &returnType="void")
 Class constructor. More...
 
const StringgetFunctionName () const
 Return the function name. More...
 
const StringgetReturnType () 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 writeSourceCode (std::ostream &os, const String &targetLanguage) const override
 
- Public Member Functions inherited from Ogre::RTShader::FunctionAtom
virtual ~FunctionAtom ()
 Class default destructor. More...
 
int getGroupExecutionOrder () const
 Get the group execution order of this function atom. More...
 
OperandVectorgetOperandList ()
 Get a list of parameters this function invocation will use in the function call as arguments. More...
 
void pushOperand (ParameterPtr parameter, Operand::OpSemantic opSemantic, Operand::OpMask opMask=Operand::OPM_ALL, int indirectionLevel=0)
 Push a new operand (on the end) to the function. More...
 
void setOperands (const OperandVector &ops)
 

Additional Inherited Members

- Public Types inherited from Ogre::RTShader::FunctionAtom
typedef std::vector< OperandOperandVector
 

Detailed Description

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

Constructor & Destructor Documentation

◆ FunctionInvocation() [1/2]

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

Class constructor.

Parameters
functionNameThe name of the function to invoke.
groupOrderThe group order of this invocation.
returnTypeThe return type of the used function.

◆ FunctionInvocation() [2/2]

Ogre::RTShader::FunctionInvocation::FunctionInvocation ( const FunctionInvocation rhs)

Copy constructor.

Member Function Documentation

◆ writeSourceCode()

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

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


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