0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / AIS / AIS_MultipleConnectedInteractive.cdl
index 0bd6499..ddc1dcc 100644 (file)
@@ -37,22 +37,43 @@ uses
     Projector             from Prs3d,
     Transformation        from Geom,
     Integer                from Standard,
-    Selection              from SelectMgr
+    Selection              from SelectMgr,
+    Trsf                  from gp,
+    Pnt                   from gp,
+    TransModeFlags        from Graphic3d
 
 is 
-    
 
-    Create (aTypeOfPresentation3d: TypeOfPresentation3d from PrsMgr = PrsMgr_TOP_AllView) 
-    returns  mutable  MultipleConnectedInteractive  from  AIS;
+    Create
+    returns  MultipleConnectedInteractive  from  AIS;
     ---Purpose: Initializes the Interactive Object with multiple
-    -- presentation connections. If aTypeOfPresentation3d
-    -- does not have the affectation PrsMgr_TOP_AllView,
-    -- it is projector dependent.
-    
-    Connect(me          : mutable; 
-           anotherIObj : InteractiveObject from AIS);
-    ---Purpose: Add anotherIObj in the presentation of me
-
+    -- connections to AIS_Interactive objects.
+
+    Connect (me             : mutable;
+             theInteractive : InteractiveObject from AIS)
+    returns InteractiveObject from AIS;
+    ---Purpose: Establishes the connection between the Connected Interactive Object, theInteractive, and its reference.
+    -- Copies local transformation and transformation persistence mode from theInteractive.
+    -- @return created instance object (AIS_ConnectedInteractive or AIS_MultipleConnectedInteractive)
+
+    Connect (me             : mutable;
+             theInteractive : InteractiveObject from AIS;
+             theLocation    : Trsf from gp)
+    returns InteractiveObject from AIS;
+    ---Purpose: Establishes the connection between the Connected Interactive Object, theInteractive, and its reference.
+    -- Locates instance in theLocation and copies transformation persistence mode from theInteractive.
+    -- @return created instance object (AIS_ConnectedInteractive or AIS_MultipleConnectedInteractive)
+
+    Connect (me               : mutable;
+             theInteractive   : InteractiveObject from AIS;
+             theLocation      : Trsf from gp;
+             theTrsfPersFlag  : TransModeFlags from Graphic3d;
+             theTrsfPersPoint : Pnt from gp )
+    returns InteractiveObject from AIS
+    is virtual;
+    ---Purpose: Establishes the connection between the Connected Interactive Object, theInteractive, and its reference.
+    -- Locates instance in theLocation and applies specified transformation persistence mode.
+    -- @return created instance object (AIS_ConnectedInteractive or AIS_MultipleConnectedInteractive)
 
     Type(me) returns KindOfInteractive from AIS
     is redefined virtual;        
@@ -63,23 +84,16 @@ is
     HasConnection(me) returns Boolean from Standard;
     ---Purpose: Returns true if the object is connected to others.
    
-     ConnectedTo(me) returns SequenceOfInteractive from AIS;
-     ---Purpose:
-     -- Returns the connection references of the previous
-     -- Interactive Objects in view.
-     ---C++: inline
-     ---C++: return const&
-
-    Disconnect(me:mutable;
-              anotherIObj : InteractiveObject from AIS);
-    ---Purpose:  Removes the connection anotherIObj to an entity.
+    Disconnect(me             : mutable;
+              theInteractive : InteractiveObject from AIS);
+    ---Purpose:  Removes the connection with theInteractive.
 
     DisconnectAll(me:mutable);
     ---Purpose: Clears all the connections to objects.
     
     Compute(me:mutable;
             aPresentationManager :         PresentationManager3d from PrsMgr;
-            aPresentation        : mutable Presentation          from Prs3d;
+            aPresentation        : Presentation          from Prs3d;
             aMode                :         Integer               from Standard = 0)
     ---Level: Internal 
     ---Purpose: this method is redefined virtual;
@@ -93,7 +107,7 @@ is
     Compute(me            : mutable;
            aProjector    : Projector from Prs3d;
            aTrsf         : Transformation from Geom;
-           aPresentation : mutable Presentation from Prs3d)
+           aPresentation : Presentation from Prs3d)
     is redefined;
     ---Purpose: computes the presentation according to a point of view
     --          given by <aProjector>. 
@@ -105,18 +119,20 @@ is
 
     Compute(me:mutable;
                aProjector: Projector from Prs3d;
-                aPresentation: mutable Presentation from Prs3d)
-    is redefined ;     
+                aPresentation: Presentation from Prs3d)
+    is redefined ;
 
-    ComputeSelection(me:mutable; aSelection :mutable Selection from SelectMgr;
+    AcceptShapeDecomposition(me) returns Boolean from Standard is redefined virtual;
+        ---Purpose:  Informs the graphic context that the interactive Object
+        -- may be decomposed into sub-shapes for dynamic selection.
+
+
+    ComputeSelection(me:mutable; aSelection : Selection from SelectMgr;
                                  aMode      :        Integer   from Standard)
     is redefined virtual private;
+        ---Purpose:  Computes the selection for whole subtree in scene hierarchy.
 
 
 
-fields
-
-    myReferences         : SequenceOfInteractive from AIS;
-    myPreviousReferences : SequenceOfInteractive from AIS;
     
 end MultipleConnectedInteractive;