<> <> <<>> DIRECTORY ImagerColor USING [RGB], MultiPolynomial USING [Ref], Rope USING [ROPE], Vector3d USING [Triple]; CADTypes: CEDAR DEFINITIONS ~ BEGIN Scad: TYPE ~ RECORD [ surface: MultiPolynomial.Ref, named: BOOLEAN, name: Rope.ROPE, color: ImagerColor.RGB, cells: REF CellSequence]; ScadSequence: TYPE ~ RECORD [ scads: SEQUENCE length: NAT OF Scad]; VisibleMask: TYPE ~ RECORD [ cellIsVisible: SEQUENCE length: NAT OF BOOLEAN]; VisibleMaskSequence: TYPE ~ RECORD [ masks: SEQUENCE length: NAT OF REF VisibleMask]; VariableRec: TYPE ~ RECORD [ x: ATOM, y: ATOM, z: ATOM]; CellSequence: TYPE ~ RECORD [ cells: SEQUENCE nCells: NAT OF CellRec]; CellRec: TYPE ~ RECORD [ indexX: INT, indexY: INT, indexZ: INT, dimension: CARDINAL, vertices: REF VertexSequence, polygons: REF TriangleSequence, definingFormula: QuantifierFreeFormula]; <> VertexSequence: TYPE ~ RECORD [ vertices: SEQUENCE nVertices: NAT OF Vector3d.Triple]; TriangleSequence: TYPE ~ RECORD [ triangles: SEQUENCE nTriangles: NAT OF Triangle]; Triangle: TYPE ~ RECORD [ firstVertex: NAT, secondVertex: NAT, thirdVertex: NAT]; <> <<>> QuantifierFreeFormula: TYPE ~ RECORD [ isCompound: BOOLEAN, compoundOperator: CompoundOperator, compoundArguments: REF QuantifierFreeFormulaSequence, simpleOperator: SimpleOperator, simpleArgument: MultiPolynomial.Ref]; QuantifierFreeFormulaSequence: TYPE ~ RECORD [ formulas: SEQUENCE length: NAT OF QuantifierFreeFormula]; CompoundOperator: TYPE ~ {and, or, none}; SimpleOperator: TYPE ~ {isPositive, isZero, isNegative, none}; END.