DIRECTORY Commander, Containers, DisplayList3d, FileNames, GraphicsColor, JaMSolidviews, Rope, Scratchpad2d, SV2d, SVArtworkTool, SVEditToolMenus, SVEditUser, SVInterfaceTypes, SVModelTypes, SVRayTypes, SVSceneTypes, ViewerClasses; SVEditTool: PROGRAM IMPORTS Commander, Containers, DisplayList3d, FileNames, JaMSolidviews, Scratchpad2d, SVArtworkTool, SVEditToolMenus, SVEditUser SHARES ViewerClasses -- to change rowsUsed of PRIVATE RECORD MenuRec -- = BEGIN Assembly: TYPE = SVSceneTypes.Assembly; Color: TYPE = GraphicsColor.Color; CoordSystem: TYPE = SVModelTypes.CoordSystem; CSGTree: TYPE = SVRayTypes.CSGTree; MasterObject: TYPE = SVSceneTypes.MasterObject; Point2d: TYPE = SV2d.Point2d; Scene: TYPE = SVSceneTypes.Scene; Viewer: TYPE = ViewerClasses.Viewer; EditToolData: TYPE = REF EditToolDataObj; EditToolDataObj: TYPE = SVInterfaceTypes.EditToolDataObj; SphereSectionData: TYPE = SVInterfaceTypes.SphereSectionData; BlockSectionData: TYPE = SVInterfaceTypes.BlockSectionData; CylinderSectionData: TYPE = SVInterfaceTypes.CylinderSectionData; ConeSectionData: TYPE = SVInterfaceTypes.ConeSectionData; 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; Init: PROC = { Commander.Register[ key: "SolidViews", proc: BuildTools, doc: "Create a 3d graphics tool", clientData: NIL ]; }; BuildTools: Commander.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; editToolData.originalWorkingDirectory _ FileNames.CurrentWorkingDirectory[]; SVEditToolMenus.BuildCurrentSceneSection[editToolData]; SVEditToolMenus.BuildTextInputSection[editToolData]; SVEditToolMenus.AddARule[editToolData]; SVEditToolMenus.BuildDerivedTextSection[editToolData]; SVEditToolMenus.BuildAssemblyOpsSection[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.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.Build3DArtworkSection[editToolData]; SVEditToolMenus.BuildColorArtworkSection[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]; editToolData.artworkTool _ SVArtworkTool.Create[paint: TRUE, editToolData: editToolData]; ViewerOps.PaintViewer[editToolData.outer, all]; ViewerOps.OpenIcon[editToolData.outer, TRUE, TRUE, TRUE]; SVEditUser.NewViewer[NIL, editToolData, red, FALSE, FALSE]; JaMSolidviews.RegisterThisEditTool[editToolData]; SVEditUser.NewOutput[NIL, editToolData, red, FALSE, FALSE]; RETURN[NIL, DisplayList3d.versionRope]; }; -- end of BuildEditTool Init[]; END. ฎFile: SVEditTool.mesa Last edited by Bier on January 12, 1985 5:35:36 pm PST Copyright c 1984 by Xerox Corporation. All rights reserved. Contents: Produces container, menus and buttons for a Solidviews edit tool. Declare the standard distances between menu lines. Create an edittool, a scratchpad, a solid viewer, and an artwork tool. BuildTools is a Commander.CommandProc as required to register it with the Commander. It doesn't use its argument. It returns the name of the current Solidviews version. Create an edittool (iconic and then open to take over right column). Here we create the container. Create a scratchpad (iconic). Create an artwork tool (iconic). Show the edittool icon. Open the edittool icon to take over the whole column (closeOthers is TRUE). Create a solid viewer (open). Tell the JaM interface where to find the most recent edittool. Create a message typescript. Return the current solidviews version rope. ส|– "cedar" style˜Iheadšœ™Iprocšœ6™6Jšœ ฯmœ1™—šœ1˜1L™—šœžœžœžœ˜;L™+—Lšžœžœ˜'LšœŸ˜—L˜Lšœ˜L˜Lšžœ˜—…—ฤ๎