ezEngine  Release 25.03
ezExpressionAST 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 ezVariant &value, DataType::Enum dataType=DataType::Float)
 
SwizzleCreateSwizzle (ezStringView sSwizzle, Node *pExpression)
 
SwizzleCreateSwizzle (ezEnum< VectorComponent > component, Node *pExpression)
 
SwizzleCreateSwizzle (ezArrayPtr< ezEnum< VectorComponent >> swizzle, Node *pExpression)
 
InputCreateInput (const ezExpression::StreamDesc &desc)
 
OutputCreateOutput (const ezExpression::StreamDesc &desc, Node *pExpression)
 
FunctionCallCreateFunctionCall (const ezExpression::FunctionDesc &desc, ezArrayPtr< Node * > arguments)
 
FunctionCallCreateFunctionCall (ezArrayPtr< const ezExpression::FunctionDesc > descs, ezArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (DataType::Enum dataType, ezArrayPtr< Node * > arguments)
 
ConstructorCallCreateConstructorCall (Node *pOldValue, Node *pNewValue, ezStringView sPartialAssignmentMask)
 
void PrintGraph (ezDGMLGraph &inout_graph) const
 
NodeTypeDeductionAndConversion (Node *pNode)
 
NodeReplaceVectorInstructions (Node *pNode)
 
NodeScalarizeVectorInstructions (Node *pNode)
 
NodeReplaceUnsupportedInstructions (Node *pNode)
 
NodeFoldConstants (Node *pNode)
 
NodeCommonSubexpressionElimination (Node *pNode)
 
NodeValidate (Node *pNode)
 
ezResult ScalarizeInputs ()
 
ezResult ScalarizeOutputs ()
 

Static Public Member Functions

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

Public Attributes

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

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