<> <> <> <> DIRECTORY Imager, IO, SVObjectCast, Rope, SV2d, SVBasicTypes, SVModelTypes, SVRayTypes, SVSceneTypes, SweepGeometry; SVMasterObject: CEDAR DEFINITIONS = BEGIN Slice: TYPE = SVSceneTypes.Slice; BoundHedron: TYPE = SVBasicTypes.BoundHedron; Camera: TYPE = SVModelTypes.Camera; Classification: TYPE = SVRayTypes.Classification; CoordSystem: TYPE = SVModelTypes.CoordSystem; LinearMesh: TYPE = SweepGeometry.LinearMesh; LightSourceList: TYPE = SVModelTypes.LightSourceList; MasterObject: TYPE = SVSceneTypes.MasterObject; MasterObjectClass: TYPE = SVSceneTypes.MasterObjectClass; MasterObjectList: TYPE = SVSceneTypes.MasterObjectList; Path: TYPE = SV2d.Path; Point2d: TYPE = SV2d.Point2d; Primitive: TYPE = SVRayTypes.Primitive; Ray: TYPE = SVRayTypes.Ray; RevoluteMesh: TYPE = SweepGeometry.RevoluteMesh; <> GetHedronProc: TYPE = SVSceneTypes.GetHedronProc; <> LineDrawProc: TYPE = SVSceneTypes.LineDrawProc; NormalsDrawProc: TYPE = SVSceneTypes.NormalsDrawProc; PreprocessProc: TYPE = SVSceneTypes.PreprocessProc; RayCastProc: TYPE = SVSceneTypes.RayCastProc; RayCastNoBBoxesProc: TYPE = SVSceneTypes.RayCastNoBBoxesProc; RayCastBoundingSpheresProc: TYPE = SVSceneTypes.RayCastBoundingSpheresProc; DrawPlanarSurfaceProc: TYPE = SVSceneTypes.DrawPlanarSurfaceProc; DrawSubBoxesProc: TYPE = SVSceneTypes.DrawSubBoxesProc; DrawSubSpheresProc: TYPE = SVSceneTypes.DrawSubSpheresProc; <> DescribeProc: TYPE = SVSceneTypes.DescribeProc; DescribeHitProc: TYPE = SVSceneTypes.DescribeHitProc; FileinProc: TYPE = SVSceneTypes.FileinProc; FileoutProc: TYPE = SVSceneTypes.FileoutProc; FileoutPolyProc: TYPE = SVSceneTypes.FileoutPolyProc; <> CountSurfProc: TYPE = SVSceneTypes.CountSurfProc; GetSurfProc: TYPE = SVSceneTypes.GetSurfProc; EmptyPartsProc: TYPE = SVSceneTypes.EmptyPartsProc; NewPartsProc: TYPE = SVSceneTypes.NewPartsProc; UnionPartsProc: TYPE = SVSceneTypes.UnionPartsProc; DifferencePartsProc: TYPE = SVSceneTypes.DifferencePartsProc; MovingPartsProc: TYPE = SVSceneTypes.MovingPartsProc; AugmentPartsProc: TYPE = SVSceneTypes.AugmentPartsProc; <> PointsInDescriptorProc: TYPE = SVSceneTypes.PointsInDescriptorProc; NextPointProc: TYPE = SVSceneTypes.NextPointProc; <> ClosestPointToPointProc: TYPE = SVSceneTypes.ClosestPointToPointProc; ClosestPointToLineProc: TYPE = SVSceneTypes.ClosestPointToLineProc; ClosestSegmentToLineProc: TYPE = SVSceneTypes.ClosestSegmentToLineProc; <> UpdateProc: TYPE = SVSceneTypes.UpdateProc; PlanarSurface: TYPE = SVSceneTypes.PlanarSurface; PlanarSurfaceList: TYPE = SVSceneTypes.PlanarSurfaceList; <> LonelyAssemblyHasSon: ERROR; -- returned from *PrimitiveFromAssembly if assembly is not a primitive assembly WrongTypeOfData: SIGNAL; -- signalled if the assembly given to *PrimitiveFromAssembly has an assembly.object which is not a MasterObject; BoxMakeMasterObject: PROC [name: Rope.ROPE, w, h: REAL] RETURNS [mo: MasterObject]; BlockMakeMasterObject: PROC [name: Rope.ROPE, loX, loY, loZ: REAL _ -1.0, hiX, hiY, hiZ: REAL _ 1.0] RETURNS [mo: MasterObject]; TorusMakeMasterObject: PROC [name: Rope.ROPE, bigRadius: REAL, sectionRadius: REAL] RETURNS [mo: MasterObject]; LinSweepMakeMasterObject: PROC [name: Rope.ROPE, linMesh: LinearMesh] RETURNS [mo: MasterObject]; RevoSweepMakeMasterObject: PROC [name: Rope.ROPE, path: Path, long: NAT] RETURNS [mo: MasterObject]; <> <<>> RegisterMasterObjectClass: PROC [moClass: MasterObjectClass]; RegisterMasterObject: PROC [mo: MasterObject]; GetMasterObjectList: PROC [] RETURNS [moList: MasterObjectList]; FindClassFromName: PROC [name: Rope.ROPE] RETURNS [moClass: MasterObjectClass, success: BOOL]; <> <> <> NoOpGetHedron: GetHedronProc; <> NoOpLineDraw: LineDrawProc; NoOpNormalsDraw: NormalsDrawProc; NoOpPreprocess: PreprocessProc; NoOpRayCast: RayCastProc; NoOpRayCastNoBBoxes: RayCastNoBBoxesProc; NoOpRayCastBoundingSpheres: RayCastBoundingSpheresProc; NoOpDrawPlanarSurface: DrawPlanarSurfaceProc; NoOpDrawSubBoxes: DrawSubBoxesProc; NoOpDrawSubSpheres: DrawSubSpheresProc; <> NoOpDescribe: DescribeProc; NoOpDescribeHit: DescribeHitProc; NoOpFilein: FileinProc; NoOpFileout: FileoutProc; NoOpFileoutPoly: FileoutPolyProc; <> NoOpCountPlanarSurfaces: CountSurfProc; NoOpGetPlanarSurfaces: GetSurfProc; NoOpEmptyParts: EmptyPartsProc; NoOpNewParts: NewPartsProc; NoOpUnionParts: UnionPartsProc; NoOpDifferenceParts: DifferencePartsProc; NoOpMovingParts: MovingPartsProc; NoOpAugmentParts: AugmentPartsProc; <> NoOpPointsInDescriptor: PointsInDescriptorProc; NoOpNextPoint: NextPointProc; <> NoOpClosestPointToPoint: ClosestPointToPointProc; NoOpClosestPointToLine: ClosestPointToLineProc; NoOpClosestSegmentToLine: ClosestSegmentToLineProc; <> NoOpUpdate: UpdateProc; END.