Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes
SelectMgr_SelectableObject Class Referenceabstract

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.
More...

#include <SelectMgr_SelectableObject.hxx>

Inheritance diagram for SelectMgr_SelectableObject:
Inheritance graph
[legend]

Public Member Functions

virtual Standard_Integer NbPossibleSelection () const
 defines the number of different modes of selection
(or decomposition) for an Object.
More...
 
void UpdateSelection ()
 re-computes the sensitive primitives for all modes
More...
 
void UpdateSelection (const Standard_Integer aMode)
 re-computes the sensitive primitives which correspond to
the <amode>th selection mode.
More...
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 
 Adds the selection aSelection with the selection mode <br>

index aMode to this framework.
More...

 
void ClearSelections (const Standard_Boolean update=Standard_False)
 
 Empties all the selections in the SelectableObject <br>
     <update> parameter defines whether all object's <br>

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.
More...

 
const Handle_SelectMgr_Selection & Selection (const Standard_Integer aMode) const
 Returns the selection Selection having the selection mode aMode.
More...
 
Standard_Boolean HasSelection (const Standard_Integer aMode) const
 
 Returns true if a selection corresponding to the <br>

selection mode aMode is present in this framework.
More...

 
void Init ()
 Begins the iteration scanning for sensitive primitives.
More...
 
Standard_Boolean More () const
 Continues the iteration scanning for sensitive primitives.
More...
 
void Next ()
 Continues the iteration scanning for sensitive primitives.
More...
 
const Handle_SelectMgr_Selection & CurrentSelection () const
 Returns the current selection in this framework.
More...
 
void ResetLocation ()
 
virtual void UpdateLocation ()
 Recomputes the location of the selection aSelection.
More...
 
virtual void HilightSelected (const Handle< PrsMgr_PresentationManager3d > &PM, const SelectMgr_SequenceOfOwner &Seq)
 Method which draws selected owners ( for fast presentation draw )
More...
 
virtual void ClearSelected ()
 
 Method which clear all selected owners belonging <br>

to this selectable object ( for fast presentation draw )
More...

 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Quantity_NameOfColor theColor, const Handle< SelectMgr_EntityOwner > &theOwner)
 
 Method which hilight an owner belonging to <br>

this selectable object ( for fast presentation draw )
More...

 
virtual Standard_Boolean IsAutoHilight () const
 
 If returns True, the old mechanism for highlighting <br>

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.
More...

 
virtual void SetAutoHilight (const Standard_Boolean newAutoHilight)
 Set AutoHilight property to true or false
//! Sets up Transform Persistence Mode for this object
More...
 
Handle_Prs3d_Presentation GetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
Handle_Prs3d_Presentation GetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
virtual void SetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr, const Standard_Integer theLayerId)
 
 Set Z layer ID and update all presentations of <br>

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.
More...

 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not.
More...
 
virtual void SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag, const gp_Pnt &APoint)
 
  Sets up Transform Persistence Mode for this object. <br>

This function used to lock in object position, rotation and / or zooming relative to camera position.
Object will be drawn in the origin setted by APoint parameter (except Graphic3d_TMF_TriedronPers flag
More...

 
void SetTransformPersistence (const Graphic3d_TransModeFlags &aFlag)
 Calls previous method with point (0,0,0)
More...
 
Graphic3d_TransModeFlags GetTransformPersistenceMode () const
 Gets Transform Persistence Mode for this object
More...
 
gp_Pnt GetTransformPersistencePoint () const
 Gets point of transform persistence for this object
More...
 
void SetTypeOfPresentation (const PrsMgr_TypeOfPresentation3d aType)
 
void SetToUpdate (const Standard_Integer aMode)
 flags the Prs of mode <AMode> to be Updated.
the Update will be done when needed.
More...
 
void SetToUpdate ()
 flags all the Presentations to be Updated.
More...
 
void ToBeUpdated (TColStd_ListOfInteger &ListOfMode) const
 gives the list of modes which are flagged "to be updated".
More...
 
virtual void SetLocation (const TopLoc_Location &aLoc)
 
Standard_Boolean HasLocation () const
 
const TopLoc_LocationLocation () const
 
virtual void UpdateLocation (const Handle< Prs3d_Presentation > &P)
 
Standard_Integer GetZLayer (const Handle< PrsMgr_PresentationManager > &thePrsMgr) const
 
 Get ID of Z layer. If no presentations of object is displayed, <br>

and layer ID is unavailable, the -1 value is returned.
More...

 
virtual void AddClipPlane (const Graphic3d_ClipPlane_Handle &thePlane)
 
 Adds clip plane for graphical clipping for all display mode <br>

presentations. The composition of clip planes truncates the rendering
space to convex volume. Please be aware that number of supported
clip plane is limited. The planes which exceed the limit are ignored.
Besides of this, some planes can be already set in view where the object
is shown: the number of these planes should be substracted from limit
to predict the maximum possible number of object clipping planes.
More...

 
virtual void RemoveClipPlane (const Graphic3d_ClipPlane_Handle &thePlane)
 Removes previously added clip plane.
More...
 
virtual void SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
 Set clip planes for graphical clipping for all display mode presentations. <br>

The composition of clip planes truncates the rendering space to convex
volume. Please be aware that number of supported clip plane is limited.
The planes which exceed the limit are ignored. Besides of this, some
planes can be already set in view where the object is shown: the number
of these planes should be substracted from limit to predict the maximum
possible number of object clipping planes.
More...

 
const
Graphic3d_SequenceOfHClipPlane
GetClipPlanes () const
 Get clip planes.
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Protected Member Functions

 SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual void UpdateLocation (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection>
and in corresponding entity owners.
More...
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode=0)
 
 Calculates the 3D view aPresentation and its <br>

updates. The latter are managed by aPresentationManager.
aPresentableObject has the display mode aMode;
this has the default value of 0, that is, the wireframe display mode.
More...

 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Prs3d_Presentation > &aPresentation)
 
 Calculates the 3D view aPresentation and its <br>

updates. The latter are managed by
aPresentationManager. Each of the views in the
viewer and every modification such as rotation, for
example, entails recalculation.
It must be redefined to implement hidden line removal
for the object. The user never calls this method
himself. This is done via the InteractiveContext object
and is dependent on the point of view from which the
object is displayed.
More...

 
virtual void Compute (const Handle< Prs3d_Projector > &aProjector, const Handle< Geom_Transformation > &aTrsf, const Handle< Prs3d_Presentation > &aPresentation)
 
 Calculates the 3D view aPresentation and its <br>

updates. The latter are managed by
aPresentationManager. A point of view is provided
by the projector aProjector, and the geometric
transformation which has transformed associated
presentable objects is specified by aTrsf.
This function is to be used in case where a hidden
line removal display cannot be calculated
automatically. This occurs when associated
presentable objects have been transformed
geometrically, but not translated.
Warning
The transformation aTrsf must be applied to the
object before computation.
More...

 
void Update (const Standard_Boolean AllModes=Standard_False)
 recomputes all presentations of the object.
More...
 
void Update (const Standard_Integer aMode, const Standard_Boolean ClearOther)
 Recomputes the presentation in the given mode.
If ClearOther is true, other presentation will be cleared.
More...
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode=0)
 High-level interface for controlling polygon offsets
More...
 
PrsMgr_PresentationsPresentations ()
 
virtual void UpdateClipping ()
 
 General virtual method for internal update of presentation state <br>

when some modifications on list of clip planes occurs. Base
implementation propagate clip planes to every presentation.
More...

 

Protected Attributes

SelectMgr_SequenceOfSelection myselections
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations myPresentations
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 
TopLoc_Location myLocation
 
Graphic3d_SequenceOfHClipPlane myClipPlanes
 

Detailed Description

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.

Constructor & Destructor Documentation

SelectMgr_SelectableObject::SelectMgr_SelectableObject ( const PrsMgr_TypeOfPresentation3d  aTypeOfPresentation3d = PrsMgr_TOP_AllView)
protected

Member Function Documentation

void SelectMgr_SelectableObject::AddSelection ( const Handle< SelectMgr_Selection > &  aSelection,
const Standard_Integer  aMode 
)

 Adds the selection aSelection with the selection mode <br>

index aMode to this framework.

virtual void SelectMgr_SelectableObject::ClearSelected ( )
virtual

 Method which clear all selected owners belonging <br>

to this selectable object ( for fast presentation draw )

Reimplemented in MeshVS_Mesh.

void SelectMgr_SelectableObject::ClearSelections ( const Standard_Boolean  update = Standard_False)

 Empties all the selections in the SelectableObject <br>
     <update> parameter defines whether all object's <br>

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.

const Handle_SelectMgr_Selection& SelectMgr_SelectableObject::CurrentSelection ( ) const

Returns the current selection in this framework.

Handle_Prs3d_Presentation SelectMgr_SelectableObject::GetHilightPresentation ( const Handle< PrsMgr_PresentationManager3d > &  TheMgr)
Handle_Prs3d_Presentation SelectMgr_SelectableObject::GetSelectPresentation ( const Handle< PrsMgr_PresentationManager3d > &  TheMgr)
Standard_Boolean SelectMgr_SelectableObject::HasSelection ( const Standard_Integer  aMode) const

 Returns true if a selection corresponding to the <br>

selection mode aMode is present in this framework.

virtual void SelectMgr_SelectableObject::HilightOwnerWithColor ( const Handle< PrsMgr_PresentationManager3d > &  thePM,
const Quantity_NameOfColor  theColor,
const Handle< SelectMgr_EntityOwner > &  theOwner 
)
virtual

 Method which hilight an owner belonging to <br>

this selectable object ( for fast presentation draw )

Reimplemented in MeshVS_Mesh.

virtual void SelectMgr_SelectableObject::HilightSelected ( const Handle< PrsMgr_PresentationManager3d > &  PM,
const SelectMgr_SequenceOfOwner Seq 
)
virtual

Method which draws selected owners ( for fast presentation draw )

Reimplemented in MeshVS_Mesh.

void SelectMgr_SelectableObject::Init ( )

Begins the iteration scanning for sensitive primitives.

virtual Standard_Boolean SelectMgr_SelectableObject::IsAutoHilight ( ) const
virtual

 If returns True, the old mechanism for highlighting <br>

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.

Standard_Boolean SelectMgr_SelectableObject::More ( ) const

Continues the iteration scanning for sensitive primitives.

virtual Standard_Integer SelectMgr_SelectableObject::NbPossibleSelection ( ) const
virtual

defines the number of different modes of selection
(or decomposition) for an Object.

Reimplemented in QABugs_MyText.

void SelectMgr_SelectableObject::Next ( )

Continues the iteration scanning for sensitive primitives.

void SelectMgr_SelectableObject::ResetLocation ( )
virtual

Reimplemented from PrsMgr_PresentableObject.

const Handle_SelectMgr_Selection& SelectMgr_SelectableObject::Selection ( const Standard_Integer  aMode) const

Returns the selection Selection having the selection mode aMode.

virtual void SelectMgr_SelectableObject::SetAutoHilight ( const Standard_Boolean  newAutoHilight)
virtual

Set AutoHilight property to true or false
//! Sets up Transform Persistence Mode for this object

virtual void SelectMgr_SelectableObject::SetZLayer ( const Handle< PrsMgr_PresentationManager > &  thePrsMgr,
const Standard_Integer  theLayerId 
)
virtual

 Set Z layer ID and update all presentations of <br>

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.

Reimplemented from PrsMgr_PresentableObject.

virtual void SelectMgr_SelectableObject::UpdateLocation ( )
virtual

Recomputes the location of the selection aSelection.

Reimplemented from PrsMgr_PresentableObject.

Reimplemented in AIS_ConnectedInteractive.

virtual void SelectMgr_SelectableObject::UpdateLocation ( const Handle< SelectMgr_Selection > &  aSelection)
protectedvirtual

Updates locations in all sensitive entities from <aSelection>
and in corresponding entity owners.

Reimplemented in AIS_ConnectedInteractive.

void SelectMgr_SelectableObject::UpdateSelection ( )

re-computes the sensitive primitives for all modes

void SelectMgr_SelectableObject::UpdateSelection ( const Standard_Integer  aMode)

re-computes the sensitive primitives which correspond to
the <amode>th selection mode.

Field Documentation

SelectMgr_SequenceOfSelection SelectMgr_SelectableObject::myselections
protected

The documentation for this class was generated from the following file: