<> <> <> DIRECTORY Containers, CoordSys, DisplayList3d, GraphicsColor, Matrix3d, Scratchpad2d, SVArtworkTool, SVEditToolMenus, SVEditUser, UserExec, ViewerClasses; SVEditTool: PROGRAM IMPORTS Containers, DisplayList3d, Scratchpad2d, SVArtworkTool, SVEditToolMenus, SVEditUser, UserExec SHARES ViewerClasses -- to change rowsUsed of PRIVATE RECORD MenuRec -- = BEGIN Assembly: TYPE = REF AssemblyObj; AssemblyObj: TYPE = DisplayList3d.AssemblyObj; Color: TYPE = GraphicsColor.Color; CoordSystem: TYPE = CoordSys.CoordSystem; CSGTree: TYPE = DisplayList3d.CSGTree; ExecHandle: TYPE = REF ExecRecord; ExecRecord: TYPE = UserExec.ExecRecord; MasterObject: TYPE = REF MasterObjectRec; MasterObjectRec: TYPE = DisplayList3d.MasterObjectRec; Point2d: TYPE = Matrix3d.Point2d; Scene: TYPE = DisplayList3d.Scene; Viewer: TYPE = ViewerClasses.Viewer; <> entryHeight: CARDINAL = 12;-- height of a line of items entryVSpace: CARDINAL = 3;-- vertical leading between lines entryHSpace: CARDINAL = 8; -- horizontal space between items on a line column0: CARDINAL = 0; -- horizontal space between margin and column 0; column1: CARDINAL = 100; -- horizontal space between margin and column 1; column2: CARDINAL = 200; -- horizontal space between margin and column 2. column3: CARDINAL = 300; -- horizontal space between margin and column 3; EditToolData: TYPE = REF EditToolDataObj; EditToolDataObj: TYPE = SVEditUser.EditToolDataObj; SphereSectionData: TYPE = SVEditUser.SphereSectionData; BlockSectionData: TYPE = SVEditUser.BlockSectionData; CylinderSectionData: TYPE = SVEditUser.CylinderSectionData; ConeSectionData: TYPE = SVEditUser.ConeSectionData; Init: PROC = { UserExec.RegisterCommand[ name: "SolidViews", proc: BuildEditTool, briefDoc: "Create a 3d graphics tool" ]; [] _ BuildEditTool[NIL, UserExec.GetExecHandle[], NIL];-- create an instance of our tool }; BuildEditTool: UserExec.CommandProc = TRUSTED { <> editToolData: EditToolData _ NEW[EditToolDataObj]; editToolData.outer _ Containers.Create[[ name: "SolidViews EditTool", iconic: TRUE, column: right, scrollable: TRUE ]]; editToolData.sceneSection.defaultScene _ DisplayList3d.CreateScene["DefaultScene"]; editToolData.sceneSection.currentScene _ editToolData.sceneSection.defaultScene; editToolData.allViewers _ NIL; SVEditToolMenus.BuildCurrentSceneSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildCompositeSection[editToolData]; SVEditToolMenus.BuildHalfSpaceSection[editToolData]; SVEditToolMenus.BuildSphereSection[editToolData]; SVEditToolMenus.BuildBlockSection[editToolData]; SVEditToolMenus.BuildCylinderSection[editToolData]; SVEditToolMenus.BuildConeSection[editToolData]; SVEditToolMenus.BuildTorusSection[editToolData]; SVEditToolMenus.BuildLinearSweepSection[editToolData]; SVEditToolMenus.BuildRevoluteSweepSection[editToolData]; SVEditToolMenus.BuildCopySection[editToolData]; SVEditToolMenus.BuildRenameSection[editToolData]; SVEditToolMenus.BuildMoveSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildTransformSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildListingSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildCameraSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildCameraOrderSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildShadowSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildArtworkSection[editToolData]; SVEditToolMenus.BuildTubeArtworkSection[editToolData]; SVEditToolMenus.BuildBoxArtworkSection[editToolData]; SVEditToolMenus.BuildArtworkTransformSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildLightSourceSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; [----,editToolData.scratchpad] _ Scratchpad2d.CreateScratchpad[editToolData.outer]; editToolData.artworkTool _ SVArtworkTool.Create[paint: TRUE]; ViewerOps.PaintViewer[editToolData.outer, all]; ViewerOps.OpenIcon[editToolData.outer, TRUE, TRUE, TRUE]; SVEditUser.NewViewer[NIL, editToolData, red, FALSE, FALSE]; }; -- end of BuildEditTool Init[]; END.