-- File: ViewerTest.cdl -- Created: Wed Jul 23 14:11:55 1997 -- Author: Henri JEANNIN -- ---Copyright: Matra Datavision 1997 package ViewerTest ---Purpose: uses Draw, TCollection, TColStd, TopAbs, TopTools, TopoDS, V3d, AIS, NIS, MMgt is class Tool; ---Purpose: to build a context and set a given context as current -- for ViewerTest. class EventManager; ---Purpose: used to manage mouse event (move,select,shiftselect) -- By default the events are transmitted to interactive context. class DoubleMapOfInteractiveAndName instantiates DoubleMap from TCollection ( Transient from Standard, AsciiString from TCollection, MapTransientHasher from TColStd, AsciiString from TCollection); -- ---------------------------------------------------------------------- -- Package methods -- ---------------------------------------------------------------------- Factory (theDI : out Interpretor from Draw); ---Purpose: Loads all Draw commands of V2d & V3d. Used for plugin. ---Category: Create the viewer.... ViewerInit ( thePxLeft, thePxTop : Integer from Standard = 0; thePxWidth, thePxHeight : Integer from Standard = 0); ---Purpose: -- implemented in ViewerTest_ViewerCommands.cxx ---Category: Selection in the viewer.... WClass returns TShared from MMgt is private; ---C++: return const & ---Purpose: Returns a window class that implements standard behavior of -- all windows of the ViewerTest. This includes usual Open CASCADE -- view conventions for mouse buttons (e.g. Ctrl+MB1 for zoom, -- Ctrl+MB2 for pan, etc) and keyboard shortcuts. -- This method is relevant for MS Windows only and respectively -- returns WNT_WClass handle. PickShape (aType : ShapeEnum from TopAbs; MaxPick : Integer from Standard = 5) returns Shape from TopoDS; ---Purpose: waits until a shape of type is picked in the AIS Viewer and returns it. -- if == TopAbs_Shape, any shape can be picked... -- MaxPick is the Max number before exiting, if no pick is successfull PickShapes (aType : ShapeEnum from TopAbs; thepicked : in out HArray1OfShape from TopTools; MaxPick : Integer from Standard = 5) returns Boolean from Standard; ---Purpose: wait until the array is filled with picked shapes. -- returns True if the array is filled. -- exit if number of unsuccesfull picks = PickObject(Type : KindOfInteractive from AIS = AIS_KOI_None; Signature : Integer from Standard = -1; MaxPick : Integer from Standard = 5) returns InteractiveObject from AIS; ---Purpose: waits until an interactive object of a given Type -- and signature is picked (defaut values authorize -- selection of any Interactive Object) -- exit if number of unsuccesfull picks = PickObjects(thepicked : in out HArray1OfTransient from TColStd; Type : KindOfInteractive from AIS = AIS_KOI_None; Signature : Integer from Standard = -1; MaxPick : Integer from Standard = 5) returns Boolean from Standard; ---Purpose: selection of several interactive objects. Number is given -- by the size of -- exit if number of unsuccesfull picks = Commands (theCommands : in out Interpretor from Draw); AviCommands(theCommands :in out Interpretor from Draw); ViewerCommands(theCommands :in out Interpretor from Draw); MyCommands (theCommands : in out Interpretor from Draw); -- My Own Com-s RelationCommands(theCommands :in out Interpretor from Draw); ObjectCommands(theCommands :in out Interpretor from Draw); FilletCommands(theCommands :in out Interpretor from Draw); VoxelCommands(theCommands :in out Interpretor from Draw); GetMousePosition(xpix,ypix: out Integer from Standard); GetViewerFromContext returns Viewer from V3d; GetCollectorFromContext returns Viewer from V3d; GetAISContext returns InteractiveContext from AIS; GetNISContext returns InteractiveContext from NIS; ---C++: return & SetAISContext (aContext: InteractiveContext from AIS); SetNISContext (aContext: InteractiveContext from NIS); CurrentView returns View from V3d; CurrentView (aViou:View from V3d); Clear ; ---Category: Change behaviour on move,select,... events. SetEventManager (aMgr:EventManager from ViewerTest); ---Purpose: puts as current eventmanager (the -- move,select,...will be applied to UnsetEventManager; ---Purpose: removes the last EventManager from the list. ResetEventManager; ---Purpose: clear the list of EventManagers and -- sets the default EventManager as current CurrentEventManager returns EventManager from ViewerTest; ---Category: privateMethods... RemoveSelected; StandardModeActivation(Mode : Integer from Standard); end;