Internally,
ACIS pattern objects (implemented in class
pattern) contain the information to provide the full set of transformations needed to define a pattern:
|
|
Root transformation
|
An optional transformation used to reposition the seed entity
|
|
Relative transformations
|
Transformations used to generate one pattern element from the previous one
|
|
There are two ways in which the relative transformations can be generated:
|
|
|
Through
ACIS laws that can be used to generate transforms
|
|
Through lists of specific transforms
|
|
Law and list transforms can coexist. If a list item exists for the transform needed to define a particular element, then it always overrides the transform given by a law. In this way, it is possible to take a pattern defined by laws and still have particular elements repositioned or re-oriented, simply by adding the appropriate list item.
|
|
In addition to transform information, the pattern objects contain "keep" information, which is held by both a law and the list. This information governs whether or not a particular element will appear in the final pattern, or will instead be filtered out. As with the transforms, the list value overrides the law value, if the list item is present.
|