CellDataRec:
TYPE =
RECORD [
cad: AC.Object ← NIL, -- access to the cad to which this cell belongs
dimension: CARDINAL ← 0, -- = sum of parities of index components
index: CellIndex, -- length of index (= cad.dimension) is dimension r of ambient space
adjacentCells: SEQ.Sequence ← NIL, -- of cells, in lexicographic order (for binary searching).
basisSignature: Signature ← NIL, -- signature with respect to cad.basis
inputSignature: Signature ← NIL, -- signature with respect to cad.inputPolynomials
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
samplePoint: SP.SamplePoint ← NIL,
definingFormula: QFF.Formula ← NIL,
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)
localizedOut: BOOL ← FALSE -- failed to satisfy localization formula
propList: Atom.PropList ← NIL -- for optional data like color (to paint in a display), coveringSet, etc.
];