1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00
occt/src/SelectMgr/SelectMgr_SelectableObject.cdl
abv 6e33d3ced2 0024830: Remove redundant keyword 'mutable' in CDL declarations
Redundant keyword 'mutable' removed in CDL files.
In IGESConvGeom_GeomBuilder, unused methods MakeXY() and MakeXYZ() removed.
Method StepAP214_AutoDesignGroupAssignment::Init() replicating same method of the base class is removed as it causes CDL extraction error after above (seemingly irrelevant) changes.
2014-05-29 14:58:25 +04:00

208 lines
8.1 KiB
Plaintext

-- Created on: 1995-02-20
-- Created by: Mister rmi
-- Copyright (c) 1995-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
deferred class SelectableObject from SelectMgr inherits PresentableObject from PrsMgr
---Purpose: A framework to supply the structure of the object to be
-- selected. At the first pick, this structure is created by
-- calling the appropriate algorithm and retaining this
-- framework for further picking.
-- This abstract framework is inherited in Application
-- Interactive Services (AIS), notably in AIS_InteractiveObject.
-- Consequently, 3D selection should be handled by the
-- relevant daughter classes and their member functions
-- in AIS. This is particularly true in the creation of new interactive objects.
uses
SelectionManager from SelectMgr,
Selection from SelectMgr,
SequenceOfSelection from SelectMgr,
TypeOfPresentation3d from PrsMgr,
Presentation from Prs3d,
PresentationManager from PrsMgr,
PresentationManager3d from PrsMgr,
SequenceOfOwner from SelectMgr,
NameOfColor from Quantity,
EntityOwner from SelectMgr,
TransModeFlags from Graphic3d
raises
NotImplemented from Standard
is
---Category: deferred Methods
Initialize(aTypeOfPresentation3d: TypeOfPresentation3d from PrsMgr = PrsMgr_TOP_AllView);
ComputeSelection(me:mutable; aSelection : Selection from SelectMgr;
aMode : Integer) is deferred private;
---Purpose: Recovers and calculates any sensitive primitive,
-- aSelection, available in Shape mode, specified by
-- aMode. As a rule, these are sensitive faces.
-- This method is defined as virtual. This enables you to
-- implement it in the creation of a new class of AIS
-- Interactive Object. You need to do this and in so
-- doing, redefine this method, if you create a class
-- which enriches the list of signatures and types.
NbPossibleSelection(me) returns Integer from Standard is virtual;
---Level: Public
---Purpose: defines the number of different modes of selection
-- (or decomposition) for an Object.
---Category:
UpdateSelection (me:mutable) is static;
---Purpose: re-computes the sensitive primitives for all modes
UpdateSelection (me:mutable; aMode: Integer from Standard) is static;
---Purpose: re-computes the sensitive primitives which correspond to
-- the <amode>th selection mode.
AddSelection(me:mutable ;aSelection: Selection from SelectMgr;
aMode : Integer)
is static;
---Purpose: Adds the selection aSelection with the selection mode
-- index aMode to this framework.
ClearSelections(me:mutable; update: Boolean from Standard = Standard_False) is static;
---Level: Public
---Purpose: Empties all the selections in the SelectableObject
-- <update> parameter defines whether all object's
-- selections should be flagged for further update or not.
-- This improved method can be used to recompute an
-- object's selection (without redisplaying the object
-- completely) when some selection mode is activated not for the first time.
Selection(me;aMode : Integer)
returns any Selection from SelectMgr
is static;
---C++: return const&
---Purpose: Returns the selection Selection having the selection mode aMode.
HasSelection(me; aMode: Integer)
returns Boolean from Standard is static ;
--- Purpose: Returns true if a selection corresponding to the
-- selection mode aMode is present in this framework.
Init(me:mutable) is static;
---Purpose: Begins the iteration scanning for sensitive primitives.
---C++: inline
More(me) returns Boolean is static;
---Purpose: Continues the iteration scanning for sensitive primitives.
---C++: inline
Next(me:mutable) is static;
---Purpose: Continues the iteration scanning for sensitive primitives.
---C++: inline
CurrentSelection(me) returns any Selection from SelectMgr;
---Purpose: Returns the current selection in this framework.
---C++: return const&
---C++: inline
ResetLocation(me:mutable) is redefined static;
UpdateLocation(me:mutable) is redefined virtual;
---Purpose: Recomputes the location of the selection aSelection.
UpdateLocation(me:mutable;aSelection: Selection from SelectMgr) is virtual protected;
---Level: Internal
---Purpose: Updates locations in all sensitive entities from <aSelection>
-- and in corresponding entity owners.
HilightSelected ( me : mutable; PM : PresentationManager3d from PrsMgr;
Seq : SequenceOfOwner from SelectMgr ) raises NotImplemented from Standard is virtual;
---Purpose: Method which draws selected owners ( for fast presentation draw )
ClearSelected ( me : mutable ) is virtual;
---Purpose: Method which clear all selected owners belonging
-- to this selectable object ( for fast presentation draw )
HilightOwnerWithColor ( me : mutable; thePM : PresentationManager3d from PrsMgr;
theColor : NameOfColor from Quantity;
theOwner : EntityOwner from SelectMgr ) raises NotImplemented from Standard is virtual;
---Purpose: Method which hilight an owner belonging to
-- this selectable object ( for fast presentation draw )
IsAutoHilight ( me ) returns Boolean from Standard is virtual;
---Purpose: If returns True, the old mechanism for highlighting
-- selected objects is used (HilightSelected Method may be empty).
-- If returns False, the HilightSelected method will be
-- fully responsible for highlighting selected entity
-- owners belonging to this selectable object.
SetAutoHilight ( me : mutable; newAutoHilight : Boolean from Standard ) is virtual;
---Purpose: Set AutoHilight property to true or false
-- SetTransformPersistence( me : mutable;
-- aFlag : TransModeFlags from Graphic3d ) is redefined;
---Level: Public
---Purpose: Sets up Transform Persistence Mode for this object
---Category: Graphic attributes management
GetHilightPresentation( me: mutable;
TheMgr: PresentationManager3d from PrsMgr ) returns Presentation from Prs3d is static;
GetSelectPresentation( me: mutable;
TheMgr: PresentationManager3d from PrsMgr ) returns Presentation from Prs3d is static;
SetZLayer ( me : mutable;
thePrsMgr : PresentationManager from PrsMgr;
theLayerId : Integer from Standard )
is redefined virtual;
---Purpose: Set Z layer ID and update all presentations of
-- the selectable object. The layer can be set only for displayed object.
-- If all object presentations are removed, the layer ID will be set to
-- default value when computing presentation. The layers mechanism allows
-- drawing objects in higher layers in overlay of objects in lower layers.
fields
myselections : SequenceOfSelection is protected;
mycurrent : Integer;
myAutoHilight : Boolean from Standard;
mySelectionPrs : Presentation from Prs3d;
myHilightPrs : Presentation from Prs3d;
friends
class SelectionManager from SelectMgr
end SelectableObject;