Standard Rule

The basic idea of a rule is to replace a shape with a certain shape symbol with a number of new shapes. Formally:

PredecessorShape --> Successor

The successor consists of a number of shape operations and shape symbols. Shape operations change the current shape and shape symbols create a copy of the current shape (with the new shape symbol) and add it as an active shape to the shape tree. If a rule for the new shape symbol exists, the new shape will be derived later on, otherwise it will become a leaf.

Example:

Lot      --> s('0.8, '1, '0.8) center(xz) extrude(20) Envelope

Envelope --> split(y){ ~4 : Floor. }*

Envelope



This picture shows the Envelope shape after execution of the Lot rule, before execution of the Envelope rule.
Floors

The final Floor shapes, after execution of the Envelope rule.
Shape Tree



The final shape tree shows that an Envelope shape was generated from the Lot shape by the Lot rule, and five Floor shapes were generated from the Envelope shape by the Envelope rule.


The formatting of the rule is arbitrary, for instance line breaks or spaces can be inserted. For example,

Lot      
--> 
s(’0.8, ’1, 
’0.8)                   center(xz) 
extrude(20) Envelope 

Is the same as the Lot rule above, just formatted differently.

Note: Insertion of a period (".") after a leaf shape (here, the undefined Floor in the Envelope rule) suppresses the generation of a warning in the cga editor.

Rules can be annotated to control their visibility in the user interface. See "Annotations".

        

Copyright ©2008-2016 Esri R&D Center Zurich. All rights reserved.