<<>> <> <> <> DIRECTORY Draw2d, G3dMatrix, Imager, G3dOctree; G3dCubeDraw: CEDAR DEFINITIONS ~ BEGIN DrawType: TYPE ~ Draw2d.DrawType; Matrix: TYPE ~ G3dMatrix.Matrix; Viewport: TYPE ~ G3dMatrix.Viewport; Cube: TYPE ~ G3dOctree.Cube; Direction: TYPE ~ G3dOctree.Direction; DirectionPairs: TYPE ~ G3dOctree.DirectionPairs; Face: TYPE ~ G3dOctree.Face; Neighborhood: TYPE ~ G3dOctree.Neighborhood; OctantPairs: TYPE ~ G3dOctree.OctantPairs; Context: TYPE ~ Imager.Context; <> TransformDirections: PROC [cube: Cube, view: Matrix, viewport: Viewport ¬ []] RETURNS [DirectionPairs]; <> <<>> TransformOctants: PROC [cube: Cube, view: Matrix, viewport: Viewport ¬ []] RETURNS [OctantPairs]; <> <> TerminalCubes: PROC [ context: Context, cube: Cube, view: Matrix, viewport: Viewport ¬ [], drawType: DrawType ¬ dashed]; <> <<>> RecursiveCubes: PROC [ context: Context, cube: Cube, view: Matrix, viewport: Viewport ¬ [], drawType: DrawType ¬ dashed, terminalCenters: BOOL ¬ TRUE]; <> <> <<>> SimpleCube: PROC [ context: Context, cube: Cube, view: Matrix, viewport: Viewport ¬ [], optimize: BOOL ¬ FALSE, drawType: DrawType ¬ dashed]; <> <<>> SimpleCubeFromPairs: PROC [ context: Context, pairs: OctantPairs, cube: Cube ¬ NIL, drawType: DrawType ¬ dashed]; <> <> <<>> FaceOnly: PROC [ context: Context, cube: Cube, face: Face, view: Matrix, viewport: Viewport ¬ [], drawType: DrawType ¬ dashed]; <> <<>> FancyCube: PROC [ context: Context, cube: Cube, view: Matrix, viewport: Viewport ¬ [], label: BOOL ¬ TRUE, markKids: BOOL ¬ FALSE]; <> <> <<>> FancyCubeFromPairs: PROC [ context: Context, pairs: DirectionPairs, cornerConnect: DrawType ¬ solid, edgeConnect: DrawType ¬ dashed, faceConnect: DrawType ¬ dotted, label: BOOL ¬ TRUE]; <> <<>> Neighbors: PROC [ context: Context, neighborhood: Neighborhood, view: Matrix, viewport: Viewport ¬ [], drawType: DrawType ¬ dashed]; <