-- File: SVEditUserB.mesa
-- Last modified by Eric Bier on June 3, 1983 10:36 pm
-- Author: Eric Bier on July 6, 1983 3:37 pm
-- Contents: All of the procedures called by SVEditTool when menus and buttons are pressed
-- which wouldn't fit in SVEditUser (grumble)

DIRECTORY
 BitMap3d,
 Containers,
 CoordSys,
CSG,
 DisplayList3d,
 Graphics,
 GraphicsColor,
IO,
 Matrix3d,
 Menus,
 Rope,
 SV2d,
 SVViewerUser,
 SweepGeometry,
 ViewerClasses;

SVEditUserB: CEDAR DEFINITIONS =
BEGIN
Assembly: TYPE = DisplayList3d.Assembly;
Camera: TYPE = DisplayList3d.Camera;
Color: TYPE = GraphicsColor.Color;
CoordSystem: TYPE = REF CoordSysObj;
CoordSysObj: TYPE = CoordSys.CoordSysObj;
DCProc: TYPE = SVViewerUser.DCProc;
Matrix4by4: TYPE = Matrix3d.Matrix4by4;
MouseButton: TYPE = Menus.MouseButton;
Point2d: TYPE = SV2d.Point2d;
Point3d: TYPE = Matrix3d.Point3d;
PointSetOp: TYPE = CSG.PointSetOp;
Primitive: TYPE = CSG.Primitive;
Scene: TYPE = DisplayList3d.Scene;
Viewer: TYPE = ViewerClasses.Viewer;
ViewerToolData: TYPE = SVViewerUser.ViewerToolData;

-- Found in SVEditUserImplD

ListScenes: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
ListAssemblies: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
ListCoordSystems: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
ListLights: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
ListMasterObjects: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
ListViewers: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];

-- These found in: SVEditUserImplD

SetCamera: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetFocus: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetResolution: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetOrigin: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetFocalLength: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetShadows: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];

NormalizeRot: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
Normalize: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
Align: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
AbutX: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
AbutY: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
AbutZ: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
Abut: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
  
SetTubeArtwork: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
SetBoxArtwork: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
GetArtwork: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
RotateArtwork: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
NormalizeArtwork: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
  
AddLight: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
DeleteLight: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];
EditLight: PROC [parent: REF ANY, clientData: REF ANY, mouseButton: MouseButton,
  shift, control: BOOL];

END.