<> <> <> DIRECTORY CedarProcess, ColorDisplay, Controls3d, ImagerColor, Matrix3d, Rope, ThreeDBasics, Vector3d, ViewerClasses; Render3d: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Triple: TYPE ~ Vector3d.Triple; TripleSequence: TYPE ~ Vector3d.TripleSequence; TripleSequenceRep: TYPE ~ Vector3d.TripleSequenceRep; NatTable: TYPE ~ ThreeDBasics.NatTable; NatSequence: TYPE ~ ThreeDBasics.NatSequence; RGB: TYPE ~ ImagerColor.RGB; Matrix: TYPE ~ Matrix3d.Matrix; Camera: TYPE ~ Controls3d.Camera; Viewer: TYPE ~ ViewerClasses.Viewer; Context3d: TYPE ~ REF ThreeDBasics.Context; ShapeInstance: TYPE ~ ThreeDBasics.ShapeInstance; Vertex: TYPE ~ ThreeDBasics.Vertex; VertexSequence: TYPE ~ ThreeDBasics.VertexSequence; PtrPatch: TYPE ~ ThreeDBasics.PtrPatch; PtrPatchSequence: TYPE ~ ThreeDBasics.PtrPatchSequence; ShadingValue: TYPE ~ ThreeDBasics.ShadingValue; ShadingSequence: TYPE ~ ThreeDBasics.ShadingSequence; CDState: TYPE ~ ColorDisplay.CDState; Process: TYPE ~ CedarProcess.Process; RenderStyle: TYPE ~ {faceted, smooth, shiny, none}; TextureType: TYPE ~ {intensity, color, bump}; origin: Triple ~ Vector3d.origin; defaultBackground: Triple ~ [0.2, 0.2, 0.7]; nGlobalContext3d: NAT ~ 10; <> InitContext3d: PUBLIC PROC [background: Triple _ defaultBackground] RETURNS [Context3d]; <> <> <> <<>> NullifyThreeDContext: PUBLIC PROC [context3d: Context3d]; <> <> <> AddFileShape: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, fileName: ROPE, position: Triple _ origin, color: RGB _ [0.7, 0.7, 0.7], renderStyle: RenderStyle _ none]; <<>> <> AddObject: PUBLIC PROC [ context3d: Context3d, polygons: REF NatTable, vertices: REF VertexSequence, shades: REF ShadingSequence, textures: TripleSequence _ NIL, position: Triple _ origin, name: ROPE _ NIL, renderStyle: RenderStyle _ faceted, insideVisible: BOOL _ FALSE, matrix: Matrix _ NIL]; <> <> SetRenderStyle: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, renderStyle: RenderStyle]; <> <<>> SetInsideVisible: PUBLIC PROC [context3d: Context3d, shapeName: ROPE, insideVisible: BOOL]; <> <<>> SetObjectMatrix: PUBLIC PROC [context3d: Context3d, shapeName: ROPE, matrix: Matrix]; <> <<>> SetTextureMap: PUBLIC PROC [ context3d: Context3d, shapeName, textureAIS: ROPE, textureType: TextureType _ intensity]; <> <> <> Render: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, camera: Camera, fork: BOOL _ TRUE]; <> <<>> TurnOnAntiAliasing: PUBLIC PROC [context3d: Context3d]; <> TurnOffAntiAliasing: PUBLIC PROC [context3d: Context3d]; <> <> PolygonsFromShape: PUBLIC PROC [shape: REF ShapeInstance] RETURNS [REF NatTable]; <> <<>> PointsFromShape: PUBLIC PROC [ shape: REF ShapeInstance, triples: TripleSequence _ NIL] RETURNS [TripleSequence]; <> <<>> END.