CellDataRec:
TYPE =
RECORD [
cad: AC.Object ← NIL, -- access to the cad to which this cell belongs
dimension: Ints.Int, -- = sum of parities of index components
index: CellIndex, -- length of index (= cad.dimension) is dimension r of ambient space
basisSignature: Signature ← NIL, -- signature with respect to cad.basis
inputSignature: Signature ← NIL, -- signature with respect to cad.inputPolynomials
samplePoint: SP.SamplePoint ← NIL,
definingFormula: QFF.Formula ← NIL,
coveringSet: CS.CoveringSet ← NIL,
boundary: SEQ.Sequence ← NIL, -- of the Cells that comprise this Cell's boundary, in lexicographic order (for binary searching). Assumes that the Cad has the boundary property.
boundaryCoveringSet: CS.CoveringSet ← NIL, -- a CoveringSet that "fills in the gap" between a cell and its boundary. At this time we only offer complete boundaryCoveringSets, e.g. not the fill-in between a cell and just one of its adjacent cells
inBoundary: SEQ.Sequence ← NIL, -- of the Cells in whose boundaries this Cell is contained, in lexicographic order (for binary searching). Assumes that the Cad has the boundary property. Taken together, boundary and inBoundary comprise the set of all Cells adjacent to this one.
look: REF ANY ← NIL -- rendering parameters, e.g. color, "fatness"
abstractVertex: Graphs.Vertex ← Graphs.nullVertex,
primarySignature: Signature ← NIL, -- with respect to cad.primaryPolynomials
primaryRegion: NAT ← 0, -- which signed component wrt primarySignature
secondarySignature: Signature ← NIL, -- with respect to cad.secondaryPolynomials
secondaryRegion: NAT ← 0, -- which signed component wrt secondarySignature
extensionData: ExtensionData ← NIL, -- needed by current E^3 adjacency algorithm
identicallyZeroBasisElements: SEQ.Sequence ← NIL, -- of polynomials, elements of cad.basis which are identically zero on this cell; currently used only for degenerate 0-cells in E^2.
sectionDefiningPolynomial: POL.Polynomial ← NIL, -- possibly nonNIL for sections only; r-variate integral polynomial whose variety contains it (used by display)
sectionDefiningPolynomialRoot: NAT ← 0, -- which real root of sectionDefiningPolynomial is this section (over base of this stack) (used by display)
];