Plasma Engine  2.0
Loading...
Searching...
No Matches
plExpressionAST Class Reference

Classes

struct  BinaryOperator
 
struct  Constant
 
struct  ConstructorCall
 
struct  DataType
 
struct  FunctionCall
 
struct  Input
 
struct  Node
 
struct  NodeType
 
struct  Output
 
struct  Swizzle
 
struct  TernaryOperator
 
struct  UnaryOperator
 
struct  VectorComponent
 

Public Member Functions

UnaryOperatorCreateUnaryOperator (NodeType::Enum type, Node *pOperand, DataType::Enum returnType=DataType::Unknown)
 
BinaryOperatorCreateBinaryOperator (NodeType::Enum type, Node *pLeftOperand, Node *pRightOperand)
 
TernaryOperatorCreateTernaryOperator (NodeType::Enum type, Node *pFirstOperand, Node *pSecondOperand, Node *pThirdOperand)
 
ConstantCreateConstant (const plVariant &value, DataType::Enum dataType=DataType::Float)
 
SwizzleCreateSwizzle (plStringView sSwizzle, Node *pExpression)
 
SwizzleCreateSwizzle (plEnum< VectorComponent > component, Node *pExpression)
 
SwizzleCreateSwizzle (plArrayPtr< plEnum< VectorComponent > > swizzle, Node *pExpression)
 
InputCreateInput (const plExpression::StreamDesc &desc)
 
OutputCreateOutput (const plExpression::StreamDesc &desc, Node *pExpression)
 
FunctionCallCreateFunctionCall (const plExpression::FunctionDesc &desc, plArrayPtr< Node * > arguments)
 
FunctionCallCreateFunctionCall (plArrayPtr< const plExpression::FunctionDesc > descs, plArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (DataType::Enum dataType, plArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (Node *pOldValue, Node *pNewValue, plStringView sPartialAssignmentMask)
 
void PrintGraph (plDGMLGraph &inout_graph) const
 
NodeTypeDeductionAndConversion (Node *pNode)
 
NodeReplaceVectorInstructions (Node *pNode)
 
NodeScalarizeVectorInstructions (Node *pNode)
 
NodeReplaceUnsupportedInstructions (Node *pNode)
 
NodeFoldConstants (Node *pNode)
 
NodeCommonSubexpressionElimination (Node *pNode)
 
NodeValidate (Node *pNode)
 
plResult ScalarizeInputs ()
 
plResult ScalarizeOutputs ()
 

Static Public Member Functions

static plArrayPtr< Node * > GetChildren (Node *pNode)
 
static plArrayPtr< const Node * > GetChildren (const Node *pNode)
 

Public Attributes

plSmallArray< Input *, 8 > m_InputNodes
 
plSmallArray< Output *, 8 > m_OutputNodes
 

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