Statements |
Antialias - allows antialiasing to be switched on or off.
Assignment - used to assign values or objects to a variable.
Begin Lines / End Lines - cause render blocks that are placed between them to render lines.
Begin Map / End Map - contains the map rendering statements such as Clear, Begin Street / End Street.
Begin Points / End Points - cause render blocks that are placed between them to render points.
Begin Polygons / End Polygons - cause render blocks that are placed between them to render polygons.
Begin Streets / End Streets - cause render blocks that are placed between them to render streets.
Clear - clears the map, then fills the map with a solid color.
Country - allows country-specific rendering of map features.
Declare - sets a floating-point constant.
DrawZ - sets a block to render with z-level information. When active streets will be shown to cross over one another where appropriate.
Grid - controls the size of the label mask grid.
If - conditional execution of statements.
Index - controls the indexes that are used when a map is drawn. Can be used to restrict the features that are drawn.
Parameter - exposes a constant to usercode.
Property - sets a map property. Similar to Parameter.
Render - renders feature types on a map.
All .cam format files are passed through the Chameleon preprocessor before being parsed. During this process, statement line numbers in the file often change. The preprocessor adds LINE statements to the generated script where needed so that Verizon Connect GeoBase WorkBench can correctly display line numbers relative to their non-preprocessed source when displaying warnings and errors. The LINE statements are ignored by the Chameleon compiler.
Commands allowed in the preprocessor are:
#define - Defines a binding. Values can be lists, dictionaries, or strings. Any value not starting with { or [ is treated as a string. For example:
#define $(traffic) [{class:1, limit:0.31, limitSpeed:65, lowLimit:0.20, lowLimitSpeed:40, color:(222, 0, 0)}, {class:2, limit:0.62, limitSpeed:65, lowLimit:0.38, lowLimitSpeed:40, color:(239, 102, 0)}, {class:3, limit:0.92, limitSpeed:65, lowLimit:0.56, lowLimitSpeed:40, color:(255, 204, 0)}, {class:4, color:( 51, 177, 0)}] #end
#foreach - Repeats a block for each element within a given list. For example:
#foreach $(traffic) => $(cat) render [ALL:$(cat.class)],pen<$(cat.color),2>; #end
variables - When defined, variables can be used by surrounding with $( ) For example:
render [ALL:$(cat.class)],pen<$(cat.color),2>