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 | |
| CRule & | var (String identifier, String value, bool constant) |
| Defines a variable. | |
| CRule & | snap (String dir, String id, String radius) |
| Defines a snap plane. | |
| CRule & | condition (String exp) |
| Defines a conditional. | |
| CRule & | scale (String x, String y, String z) |
| Defines a scale statement. | |
| CRule & | move (String x, String y, String z) |
| Defines a translation statement. | |
| CRule & | rotate_x (String angle) |
| Defines a rotation over the X axis. | |
| CRule & | rotate_y (String angle) |
| Defines a rotation over the Y axis. | |
| CRule & | rotate_z (String angle) |
| Defines a rotation over the Z axis. | |
| CRule & | align (String dir) |
| Aligns the scope along the specified axis. | |
| CRule & | center () |
| Moves the scope's pivot to the scope's geometric center. | |
| CRule & | center_x () |
| Moves the scope's pivot to the scope's geometric center along the X axis. | |
| CRule & | center_y () |
| Moves the scope's pivot to the scope's geometric center along the Y axis. | |
| CRule & | center_z () |
| Moves the scope's pivot to the scope's geometric center along the Y axis. | |
| CRule & | center_xy () |
| Moves the scope's pivot to the scope's geometric center along the XY plane. | |
| CRule & | center_xz () |
| Moves the scope's pivot to the scope's geometric center along the XZ plane. | |
| CRule & | center_yz () |
| Moves the scope's pivot to the scope's geometric center along the YZ plane. | |
| CRule & | box () |
| Defines a box primitive. | |
| CRule & | ngon (String sides) |
| Defines a ngon primitive. | |
| CRule & | prism (String type) |
| Defines a prism primitive. | |
| CRule & | loft_box (String positions, String widths, String depths) |
| Defines a box loft primitive. | |
| CRule & | loft_ngon (String sides, String positions, String radii) |
| Defines a ngon loft primitive. | |
| CRule & | module (String name, String generations="-1") |
| Invokes a module. | |
| CRule & | defer (String name) |
| Deferred invocation for a module. | |
| CRule & | instance (String geometry) |
| Instances a geometry mesh. | |
| CRule & | material (String id) |
| Set the node's material. | |
| CRule & | select (String stype, String module) |
| Select a primitive feature and invoke module within it. | |
| CRule & | if_occluded_rule (String scope, String volumeId, String margin) |
| Adds occlusion test. | |
| CRule & | occludes (String volumeid) |
| Declares the current scope may occlude other scopes. | |
| CRule & | local (String volumeid) |
| Creates an alias for the specified Id so queries can be localized from this point on. | |
| CRule & | subdivide_x (String pattern, String modules) |
| Divide the current scope along the X axis. | |
| CRule & | subdivide_y (String pattern, String modules) |
| Divide the current scope along the Y axis. | |
| CRule & | subdivide_z (String pattern, String modules) |
| Divide the current scope along the Z axis. | |
| CRule & | subdivide_prism (String position, String center, String top, String left, String right) |
| Divide a prism scope. | |
| CRule & | repeat_x (String length, String module, String flex="flex", String snap="") |
| Repeat module along X axis. | |
| CRule & | repeat_y (String length, String module, String flex="flex", String snap="") |
| Repeat module along Y axis. | |
| CRule & | repeat_z (String length, String module, String flex="flex", String snap="") |
| Repeat module along Z axis. | |
| CRule & | parameter (String name, String value, String module, String flex="flex") |
| Defines a parameter. | |
| CRule & | push () |
| Pushes the current state into the stack. | |
| CRule & | pop () |
| Pops the current state into the stack. | |
| CModule & | end () |
| Used for fluent inteface decalaration. Ends a series of rule declarations and returns a reference to the module. | |
Public Attributes | |
| CModule * | parent |
| Pointer to the module that owns the rule. | |
| CNode * | context |
| Pointer to the node where the rule is being exectuted. | |
| TVector< CAction > | actions |
| 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) | |
Encapsulates a series of actions to be performed over a node. This is equivalent to a "module" statement in the language.