File: SVEditUser.mesa
Created in October 1982
Copyright © 1984 by Xerox Corporation. All rights reserved.
Last edited by Bier on April 29, 1987 5:46:20 pm PDT
Contents: All of the procedures called by SVEditTool when menus and buttons are pressed.
(continued in SVEditUserB.mesa)
DIRECTORY
Containers, Imager, IO, Menus, Rope, SV2d, SV3d, SVModelTypes, SVRayTypes, SVSceneTypes, SVInterfaceTypes, ViewerClasses;
SVEditUser: CEDAR DEFINITIONS =
BEGIN
Slice: TYPE = SVSceneTypes.Slice;
Camera: TYPE = SVModelTypes.Camera;
Color: TYPE = Imager.Color;
CoordSystem: TYPE = SVModelTypes.CoordSystem;
DCProc: TYPE = SVInterfaceTypes.DCProc;
EditToolData: TYPE = SVInterfaceTypes.EditToolData;
Matrix4by4: TYPE = SV3d.Matrix4by4;
MouseButton: TYPE = Menus.MouseButton;
Point2d: TYPE = SV2d.Point2d;
Point3d: TYPE = SV3d.Point3d;
PointSetOp: TYPE = SVRayTypes.PointSetOp;
Primitive: TYPE = SVRayTypes.Primitive;
Scene: TYPE = SVSceneTypes.Scene;
Selection: TYPE = SVInterfaceTypes.Selection;
Viewer: TYPE = ViewerClasses.Viewer;
ViewerCell: TYPE = SVInterfaceTypes.ViewerCell;
SVData: TYPE = SVInterfaceTypes.SVData;
globalMatCount: NAT = 2;
globalMatArray: ARRAY[1..globalMatCount] OF Rope.ROPE; -- implemented in SVEditUserImplD
globalProjectionCount: NAT = 2;
globalProjectionArray: ARRAY[1..globalProjectionCount] OF Rope.ROPE; -- implemented in SVEditUserImplD
INTERWINDOW COMMUNICATION
In SVEditUserImplA
In SVEditUserImplA
SetSourceName: PROC [source: Slice, editToolData: EditToolData];
Stuff the name of "assembly" into the Slice: slot if it is not already there. If assembly = NIL, do nothing.
SetTargetName: PROC [target: Slice, editToolData: EditToolData];
SetPlaneName: PROC [plane: Slice, editToolData: EditToolData];
SetCurrentAssemblyName: PROC [current: Slice, editToolData: EditToolData];
SetDefaultGravityExtent: PROC [inches: REAL];
When a new viewer is created, how strong should its gravity be?
GetDefaultGravityExtent: PROC RETURNS [screenDots: REAL];
Stuff the name of "wrt" into the WRT: slot if it is not already there. If wrt = NIL, assume that WORLD is intended.
SVEDITUSERIMPL COMMUNICATION
In SVEditUserImplA.GetParent
GetCoordSys: PROC [viewer: Viewer, scene: Scene] RETURNS [cs: CoordSystem, success: BOOL];
GetAssembly: PROC [viewer: Viewer, scene: Scene] RETURNS [as: Slice, success: BOOL];
FindAssemblyFromName: PROC [name: Rope.ROPE, scene: Scene] RETURNS [assembly: Slice, superAssembly: Slice, found: BOOL];
GetParent: PROC [editToolData: EditToolData] RETURNS [super: Slice, success: BOOL];
GetPoint3d: PROC [textViewer: Viewer] RETURNS [pt: Point3d];
PROMPTS FOR TEXT WINDOWS
In SVEditUserImplC.SkitterSourceButton
SkitterSourceButton: PROC [event: LIST OF REF ANY, svData: SVData];
SkitterTargetButton: PROC [event: LIST OF REF ANY, svData: SVData];
SkitterParentButton: PROC [event: LIST OF REF ANY, svData: SVData];
Text1PromptButton: PROC [event: LIST OF REF ANY, svData: SVData];
Text1SourceButton: PROC [event: LIST OF REF ANY, svData: SVData];
Text1TargetButton: PROC [event: LIST OF REF ANY, svData: SVData];
Text1ParentButton: PROC [event: LIST OF REF ANY, svData: SVData];
SelectedTextPlaneButton: PROC [event: LIST OF REF ANY, svData: SVData];
SelectedTextSourceButton: PROC [event: LIST OF REF ANY, svData: SVData];
SelectedTextTargetButton: PROC [event: LIST OF REF ANY, svData: SVData];
SelectedTextParentButton: PROC [event: LIST OF REF ANY, svData: SVData];
ScenePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CurrentAssemblyPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
SourcePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
TargetPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
NewPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ParentPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
RGBPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
SphereRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
BlockXYZPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CylinderRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CylinderHeightPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ConeRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ConeHeightPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
BigRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
SectionRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
LinDepthPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
StuffPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
DegreesPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
TranslateXYZPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ScaleXYZPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
EvenScaleXYZPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CameraNamePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
FocusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ScanResolutionPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CameraOriginPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
SlantPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
FocalLengthPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
FramePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ClippingPlanePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
VisibleAssemblyPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
CameraOrderPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ResolutionPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
TubeHeightPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
TubeRadiusPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
BoxXYZPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ArtworkNamePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
ArtworkDegreesPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
LightNamePrompt: PROC [event: LIST OF REF ANY, svData: SVData];
LightPositionPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
LightColorPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
PROMPTS FOR TEXT WINDOWS WHICH TAKE THE DATA WHEN YOU PRESS THEM
In SVEditUserImplD
SetShadows: PROC [event: LIST OF REF ANY, svData: SVData];
PROMPTS WHICH CYCLE THROUGH POSSIBILITIES (SVEDITUSERIMPLC)
SelectOp: PROC [event: LIST OF REF ANY, svData: SVData];
IsColor: PROC [event: LIST OF REF ANY, svData: SVData];
In SVEditUserImplD
ProjectionCycle: PROC [event: LIST OF REF ANY, svData: SVData];
MaterialCycle: PROC [event: LIST OF REF ANY, svData: SVData];
BoxOCycle: PROC [event: LIST OF REF ANY, svData: SVData];
ShadowsPrompt: PROC [event: LIST OF REF ANY, svData: SVData];
COMMAND BUTTONS
In SVEditUserImplA.NewOutput
NewOutput: PROC [editToolData: EditToolData];
In SVEditUserImplC.First
First: PROC [event: LIST OF REF ANY, svData: SVData];
DrawCS: PROC [event: LIST OF REF ANY, svData: SVData];
Delete: PROC [event: LIST OF REF ANY, svData: SVData];
DeleteInternal: PROC [editToolData: EditToolData];
SetOp: PROC [event: LIST OF REF ANY, svData: SVData];
Help: PROC [event: LIST OF REF ANY, svData: SVData];
SetColorMap: PROC [event: LIST OF REF ANY, svData: SVData];
BWMap: PROC [event: LIST OF REF ANY, svData: SVData];
Revive: PROC [event: LIST OF REF ANY, svData: SVData];
LinesOfLongitude: PROC [event: LIST OF REF ANY, svData: SVData];
LinesOfLatitude: PROC [event: LIST OF REF ANY, svData: SVData];
RotX: PROC [event: LIST OF REF ANY, svData: SVData];
RotY: PROC [event: LIST OF REF ANY, svData: SVData];
RotZ: PROC [event: LIST OF REF ANY, svData: SVData];
Trans: PROC [event: LIST OF REF ANY, svData: SVData];
ScalePrimitive: PROC [event: LIST OF REF ANY, svData: SVData];
EvenScale: PROC [event: LIST OF REF ANY, svData: SVData];
Edit: PROC [event: LIST OF REF ANY, svData: SVData];
AddComposite: PROC [event: LIST OF REF ANY, svData: SVData];
ARay: PROC [event: LIST OF REF ANY, svData: SVData];
In SVEditUserImplB
AddHalfSpace: PROC [event: LIST OF REF ANY, svData: SVData];
AddSteiner: PROC [event: LIST OF REF ANY, svData: SVData];
AddArnonSphere: PROC [event: LIST OF REF ANY, svData: SVData];
AddExtra1: PROC [event: LIST OF REF ANY, svData: SVData];
AddExtra2: PROC [event: LIST OF REF ANY, svData: SVData];
AddExtra3: PROC [event: LIST OF REF ANY, svData: SVData];
AddExtra4: PROC [event: LIST OF REF ANY, svData: SVData];
AddSphere: PROC [event: LIST OF REF ANY, svData: SVData];
AddBlock: PROC [event: LIST OF REF ANY, svData: SVData];
AddCyl: PROC [event: LIST OF REF ANY, svData: SVData];
AddCone: PROC [event: LIST OF REF ANY, svData: SVData];
AddTorus: PROC [event: LIST OF REF ANY, svData: SVData];
AddRevo: PROC [event: LIST OF REF ANY, svData: SVData];
AddLinear: PROC [event: LIST OF REF ANY, svData: SVData];
Copy: PROC [event: LIST OF REF ANY, svData: SVData];
Rename: PROC [event: LIST OF REF ANY, svData: SVData];
NewParent: PROC [event: LIST OF REF ANY, svData: SVData];
END.