contextCount function (context query)


  • float contextCount(target, label)


  1. targetselector
    • intra—Checks against labeled shapes in the same shape tree (i.e. from the same inital shape).
    • inter—Checks against labled shapes in other shape trees (i.e. generated by other initial shapes in the neighborhood).
    • all—Checks both intra and inter.
  2. labelstring
    The context query is performed only on shapes that match the requested label. Must not be empty. If the label is empty, 0 is returned.


The number of shapes with the given label. If no shape is found matching the specified label, 0 is returned.


The contextCount function is a context query that returns the number of shapes with the specified label in the environment.


  • Learn more about important characteristics for context queries in conditions and inter context.
  • Each label operation does not "label" the current shape but rather creates a new labeled shape that is counted separately.



In this example the Lot rule is applied to a single initial shape (intra context). Depending on the size of the shape a different number of tiles is generated by the split operations. The contextCount query is used to color the tiles according to the total number of shapes with label "Tile".

Lot --> split(x) { ~1 : Split }*

Split --> split(z) { ~1 : Tile }*

Tile --> label("Tile") Color

Color --> case contextCount(intra, 
                            "Tile") <= 9 : 
          else : color(1,0,0)
Lot rule with contextCount applied

In this topic