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. θFile: SVEditTool.mesa Last edited by Bier on August 18, 1983 4:54 pm Contents: Produces container, menus and buttons for a Solidviews edit tool. Declare the standard distances between menu lines. Here we create the container Κ– "cedar" style˜Iheadšœ™Iprocšœ.™.LšœK™KL˜šΟk ˜ Lšœ ˜ Lšœ ˜ Lšœ˜Lšœ˜Lšœ ˜ Lšœ ˜ Lšœ˜Lšœ˜Lšœ ˜ Lšœ ˜ Lšœ˜—L˜šœ ˜Lšœ^˜eLšœΟc2œ˜I—Lšœ˜˜Lšœ œœ ˜!Lšœ œ˜.Lšœœ˜"Lšœ œ˜)Lšœ œ˜&Lšœ œœ ˜"Lšœ œ˜'Lšœœœ˜)Lšœœ!˜6Lšœ œ˜!Lšœœ˜"Lšœœ˜$L˜Lšœ2™2L˜Lšœ œž˜7Lšœ œž!˜;Lšœ œž+˜FLšœ œž0˜GLšœ œž0˜ILšœ œž0˜ILšœ œž0˜IL˜Lšœœœ˜)Lšœœ˜3L˜Lšœœ ˜7Lšœœ˜5Lšœœ"˜;Lšœœ˜3L˜šΟnœœ˜šœ˜Lšœ˜Lšœ˜Lšœ%˜%Lšœ˜—Lšœœœž!˜XLšœ˜—L˜šœ&œ˜/Lšœ™L˜Lšœœ˜2šœ(˜(Lšœ˜Lšœœ˜ Lšœ˜Lšœ ˜Lšœ˜L˜—LšœS˜SLšœP˜PLšœœ˜Lšœ7˜7Lšœ'˜'Lšœ4˜4Lšœ4˜4Lšœ1˜1Lšœ0˜0Lšœ3˜3Lšœ/˜/Lšœ0˜0Lšœ6˜6Lšœ8˜8Lšœ/˜/Lšœ1˜1Lšœ/˜/Lšœ'˜'Lšœ4˜4Lšœ'˜'Lšœ2˜2Lšœ'˜'Lšœ1˜1Lšœ'˜'Lšœ6˜6Lšœ'˜'Lšœ1˜1Lšœ'˜'Lšœ2˜2Lšœ6˜6Lšœ5˜5Lšœ;˜;Lšœ'˜'Lšœ6˜6Lšœ'˜'Lšœžœ˜ Lšœ2˜2Lšœ7œ˜=Lšœ/˜/Lšœ'œœœ˜9Lšœœœœ˜;Lšœž˜—L˜Lšœ˜—L˜Lšœ˜—…—\b