VoxelFarm::Architecture::CRule Class Reference

Encapsulates a series of actions to be performed over a node. This is equivalent to a "module" statement in the language. More...

#include <Grammar.h>

Public Member Functions

CRulevar (String identifier, String value, bool constant)
 Defines a variable.
 
CRulesnap (String dir, String id, String radius)
 Defines a snap plane.
 
CRulecondition (String exp)
 Defines a conditional.
 
CRulescale (String x, String y, String z)
 Defines a scale statement.
 
CRulemove (String x, String y, String z)
 Defines a translation statement.
 
CRulerotate_x (String angle)
 Defines a rotation over the X axis.
 
CRulerotate_y (String angle)
 Defines a rotation over the Y axis.
 
CRulerotate_z (String angle)
 Defines a rotation over the Z axis.
 
CRulealign (String dir)
 Aligns the scope along the specified axis.
 
CRulecenter ()
 Moves the scope's pivot to the scope's geometric center.
 
CRulecenter_x ()
 Moves the scope's pivot to the scope's geometric center along the X axis.
 
CRulecenter_y ()
 Moves the scope's pivot to the scope's geometric center along the Y axis.
 
CRulecenter_z ()
 Moves the scope's pivot to the scope's geometric center along the Y axis.
 
CRulecenter_xy ()
 Moves the scope's pivot to the scope's geometric center along the XY plane.
 
CRulecenter_xz ()
 Moves the scope's pivot to the scope's geometric center along the XZ plane.
 
CRulecenter_yz ()
 Moves the scope's pivot to the scope's geometric center along the YZ plane.
 
CRulebox ()
 Defines a box primitive.
 
CRulengon (String sides)
 Defines a ngon primitive.
 
CRuleprism (String type)
 Defines a prism primitive.
 
CRuleloft_box (String positions, String widths, String depths)
 Defines a box loft primitive.
 
CRuleloft_ngon (String sides, String positions, String radii)
 Defines a ngon loft primitive.
 
CRulemodule (String name, String generations="-1")
 Invokes a module.
 
CRuledefer (String name)
 Deferred invocation for a module.
 
CRuleinstance (String geometry)
 Instances a geometry mesh.
 
CRulematerial (String id)
 Set the node's material.
 
CRuleselect (String stype, String module)
 Select a primitive feature and invoke module within it.
 
CRuleif_occluded_rule (String scope, String volumeId, String margin)
 Adds occlusion test.
 
CRuleoccludes (String volumeid)
 Declares the current scope may occlude other scopes.
 
CRulelocal (String volumeid)
 Creates an alias for the specified Id so queries can be localized from this point on.
 
CRulesubdivide_x (String pattern, String modules)
 Divide the current scope along the X axis.
 
CRulesubdivide_y (String pattern, String modules)
 Divide the current scope along the Y axis.
 
CRulesubdivide_z (String pattern, String modules)
 Divide the current scope along the Z axis.
 
CRulesubdivide_prism (String position, String center, String top, String left, String right)
 Divide a prism scope.
 
CRulerepeat_x (String length, String module, String flex="flex", String snap="")
 Repeat module along X axis.
 
CRulerepeat_y (String length, String module, String flex="flex", String snap="")
 Repeat module along Y axis.
 
CRulerepeat_z (String length, String module, String flex="flex", String snap="")
 Repeat module along Z axis.
 
CRuleparameter (String name, String value, String module, String flex="flex")
 Defines a parameter.
 
CRulepush ()
 Pushes the current state into the stack.
 
CRulepop ()
 Pops the current state into the stack.
 
CModuleend ()
 Used for fluent inteface decalaration. Ends a series of rule declarations and returns a reference to the module.
 

Public Attributes

CModuleparent
 Pointer to the module that owns the rule.
 
CNodecontext
 Pointer to the node where the rule is being exectuted.
 
TVector< CActionactions
 List of actions for the rule.
 
TVector< String > conditionals
 List of conditional statements for the rule.
 
TVector< String > occlusionVolumeIds
 List of occluding IDs for occlusion tests.
 
TVector< String > occlusionMargins
 List of occluding margins for occlusion tests.
 
TVector< String > occlusionScopes
 List of occluding modes for occlusion tests (partial, full, front, back)
 

Detailed Description

Encapsulates a series of actions to be performed over a node. This is equivalent to a "module" statement in the language.

Definition at line 275 of file Grammar.h.


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