Open CASCADE Technology  7.3.1.dev
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 ~SelectMgr_SelectableObject ()
 Clears all selections of the object. More...
 
virtual void ComputeSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)=0
 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. More...
 
void RecomputePrimitives ()
 Re-computes the sensitive primitives for all modes. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void RecomputePrimitives (const Standard_Integer theMode)
 Re-computes the sensitive primitives which correspond to the <theMode>th selection mode. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection. More...
 
void AddSelection (const Handle< SelectMgr_Selection > &aSelection, const Standard_Integer aMode)
 Adds the selection aSelection with the selection mode index aMode to this framework. More...
 
void ClearSelections (const Standard_Boolean update=Standard_False)
 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. More...
 
const Handle< SelectMgr_Selection > & Selection (const Standard_Integer theMode) const
 Returns the selection having specified selection mode or NULL. More...
 
Standard_Boolean HasSelection (const Standard_Integer theMode) const
 Returns true if a selection corresponding to the selection mode theMode was computed for this object. More...
 
const SelectMgr_SequenceOfSelectionSelections () const
 Return the sequence of selections. 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 ResetTransformation () override
 resets local transformation to identity. More...
 
virtual void UpdateTransformation () override
 Recomputes the location of the selection aSelection. More...
 
virtual void UpdateTransformations (const Handle< SelectMgr_Selection > &aSelection)
 Updates locations in all sensitive entities from <aSelection> and in corresponding entity owners. 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 to this selectable object ( for fast presentation draw ) More...
 
virtual void ClearDynamicHighlight (const Handle< PrsMgr_PresentationManager3d > &theMgr)
 Method that needs to be implemented when the object manages selection and dynamic highlighting on its own. Clears or invalidates dynamic highlight presentation. By default it clears immediate draw of given presentation manager. More...
 
virtual void HilightOwnerWithColor (const Handle< PrsMgr_PresentationManager3d > &thePM, const Handle< Prs3d_Drawer > &theStyle, const Handle< SelectMgr_EntityOwner > &theOwner)
 Method which hilight an owner belonging to this selectable object ( for fast presentation draw ) More...
 
virtual Standard_Boolean IsAutoHilight () const
 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. 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_PresentationGetHilightPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
Handle< Prs3d_PresentationGetSelectPresentation (const Handle< PrsMgr_PresentationManager3d > &TheMgr)
 
virtual void ErasePresentations (Standard_Boolean theToRemove)
 Removes presentations returned by GetHilightPresentation() and GetSelectPresentation(). More...
 
virtual void SetZLayer (const Graphic3d_ZLayerId theLayerId) override
 Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers. More...
 
void UpdateSelection (const Standard_Integer theMode=-1)
 Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated. More...
 
virtual void BoundingBox (Bnd_Box &theBndBox)=0
 Returns bounding box of selectable object by storing its minimum and maximum 3d coordinates to output parameters. More...
 
void SetAssemblyOwner (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode=-1)
 Sets common entity owner for assembly sensitive object entities. More...
 
Bnd_Box BndBoxOfSelected (const Handle< SelectMgr_IndexedMapOfOwner > &theOwners)
 Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection. More...
 
Standard_Integer GlobalSelectionMode () const
 Returns the mode for selection of object as a whole. More...
 
virtual Handle< SelectMgr_EntityOwnerGlobalSelOwner () const
 Returns the owner of mode for selection of object as a whole. More...
 
virtual const Handle< SelectMgr_EntityOwner > & GetAssemblyOwner () const
 Returns common entity owner if the object is an assembly. More...
 
- Public Member Functions inherited from PrsMgr_PresentableObject
PrsMgr_PresentationsPresentations ()
 
PrsMgr_TypeOfPresentation3d TypeOfPresentation3d () const
 Returns information on whether the object accepts display in HLR mode or not. More...
 
const Handle< Graphic3d_TransformPers > & TransformPersistence () const
 Returns Transformation Persistence defining a special Local Coordinate system where this presentable object is located or NULL handle if not defined. Position of the object having Transformation Persistence is mutable and depends on camera position. The same applies to a bounding box of the object. More...
 
virtual void SetTransformPersistence (const Handle< Graphic3d_TransformPers > &theTrsfPers)
 Sets up Transform Persistence defining a special Local Coordinate system where this object should be located. Note that management of Transform Persistence object is more expensive than of the normal one, because it requires its position being recomputed basing on camera position within each draw call / traverse. More...
 
void SetTransformPersistence (const Graphic3d_TransModeFlags theMode, const gp_Pnt &thePoint=gp_Pnt(0.0, 0.0, 0.0))
 Sets up Transform Persistence Mode for this object. 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 thePoint parameter (except Graphic3d_TMF_TriedronPers flag. 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)
 
Standard_Boolean ToBeUpdated (Standard_Boolean theToIncludeHidden=Standard_False) const
 Returns TRUE if any active presentation has invalidation flag. More...
 
void SetToUpdate (Standard_Integer theMode)
 Flags presentation to be updated; UpdatePresentations() will recompute these presentations. 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...
 
const Handle< Geom_Transformation > & LocalTransformationGeom () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const gp_Trsf &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
void SetLocalTransformation (const Handle< Geom_Transformation > &theTrsf)
 Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
Standard_Boolean HasTransformation () const
 Returns true if object has a transformation that is different from the identity. More...
 
const Handle< Geom_Transformation > & TransformationGeom () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfLocalTransformation () const
 Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_TrsfTransformation () const
 Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence. More...
 
const gp_GTrsfInversedTransformation () const
 
Graphic3d_ZLayerId ZLayer () const
 Get ID of Z layer. More...
 
virtual void AddClipPlane (const Handle< Graphic3d_ClipPlane > &thePlane)
 Adds clip plane for graphical clipping for all display mode 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 Handle< Graphic3d_ClipPlane > &thePlane)
 Removes previously added clip plane. More...
 
virtual void SetClipPlanes (const Handle< Graphic3d_SequenceOfHClipPlane > &thePlanes)
 Set clip planes for graphical clipping for all display mode 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 subtracted from limit to predict the maximum possible number of object clipping planes. More...
 
void SetClipPlanes (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 
const Handle< Graphic3d_SequenceOfHClipPlane > & ClipPlanes () const
 Get clip planes. More...
 
virtual void SetMutable (const Standard_Boolean theIsMutable)
 Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect. More...
 
Standard_Boolean IsMutable () const
 Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations). More...
 
virtual void AddChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Makes theObject child of current object in scene hierarchy. More...
 
virtual void RemoveChild (const Handle< PrsMgr_PresentableObject > &theObject)
 Removes theObject from children of current object in scene hierarchy. More...
 
const PrsMgr_ListOfPresentableObjectsChildren () const
 Returns children of the current object. More...
 
Standard_Boolean HasOwnPresentations () const
 Returns true if object should have own presentations. More...
 
PrsMgr_PresentableObjectPointer Parent () const
 Returns parent of current object in scene hierarchy. More...
 
virtual void SetAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & Attributes () const
 Returns the attributes settings. More...
 
virtual void UnsetAttributes ()
 Clears settings provided by the drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & HilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext. More...
 
virtual void SetHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the hilight drawing tool theDrawer. More...
 
const Handle< Prs3d_Drawer > & DynamicHilightAttributes () const
 Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext. More...
 
virtual void SetDynamicHilightAttributes (const Handle< Prs3d_Drawer > &theDrawer)
 Initializes the dynamic hilight drawing tool. More...
 
virtual void UnsetHilightAttributes ()
 Clears settings provided by the hilight drawing tool theDrawer. 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 Delete () const
 Memory deallocator for transient classes. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::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 opencascade::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...
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Protected Member Functions

 SelectMgr_SelectableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
void setGlobalSelMode (const Standard_Integer theMode)
 
virtual void UpdateClipping () override
 Update clipping planes state. More...
 
virtual void updateSelection (const Standard_Integer theMode)
 
- Protected Member Functions inherited from PrsMgr_PresentableObject
 PrsMgr_PresentableObject (const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d=PrsMgr_TOP_AllView)
 
virtual ~PrsMgr_PresentableObject ()
 
virtual void Compute (const Handle< PrsMgr_PresentationManager3d > &aPresentationManager, const Handle< Prs3d_Presentation > &aPresentation, const Standard_Integer aMode)
 Calculates the 3D view aPresentation and its 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 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 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...
 
Standard_Boolean UpdatePresentations (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes invalidated presentations of the object. More...
 
void Update (Standard_Boolean theToIncludeHidden=Standard_False)
 Recomputes all presentations of the object. More...
 
void Update (Standard_Integer theMode, Standard_Boolean theToClearOther)
 Recomputes the presentation in the given mode. More...
 
virtual void Fill (const Handle< PrsMgr_PresentationManager > &aPresentationManager, const Handle< PrsMgr_Presentation > &aPresentation, const Standard_Integer aMode)
 High-level interface for controlling polygon offsets. More...
 
virtual void SetCombinedParentTransform (const Handle< Geom_Transformation > &theTrsf)
 Sets myCombinedParentTransform to theTransformation. Thus object receives transformation from parent node and able to derive its own. More...
 
virtual void setLocalTransformation (const Handle< Geom_Transformation > &theTransformation)
 Sets local transformation to theTransformation. More...
 
void recomputeComputed () const
 Recompute computed (HLR) presentations (when view is in computed mode). More...
 

Protected Attributes

SelectMgr_SequenceOfSelection myselections
 
Handle< Prs3d_PresentationmySelectionPrs
 
Handle< Prs3d_PresentationmyHilightPrs
 
Standard_Boolean myAutoHilight
 
- Protected Attributes inherited from PrsMgr_PresentableObject
PrsMgr_Presentations myPresentations
 
Handle< Graphic3d_SequenceOfHClipPlanemyClipPlanes
 
Handle< Prs3d_DrawermyDrawer
 
Handle< Prs3d_DrawermyHilightDrawer
 
Handle< Prs3d_DrawermyDynHilightDrawer
 
PrsMgr_TypeOfPresentation3d myTypeOfPresentation3d
 
Standard_Boolean myIsMutable
 
Standard_Boolean myHasOwnPresentations
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

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()

virtual SelectMgr_SelectableObject::~SelectMgr_SelectableObject ( )
virtual

Clears all selections of the object.

◆ SelectMgr_SelectableObject()

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

Member Function Documentation

◆ AddSelection()

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

Adds the selection aSelection with the selection mode index aMode to this framework.

◆ BndBoxOfSelected()

Bnd_Box SelectMgr_SelectableObject::BndBoxOfSelected ( const Handle< SelectMgr_IndexedMapOfOwner > &  theOwners)

Returns a bounding box of sensitive entities with the owners given if they are a part of activated selection.

◆ BoundingBox()

virtual void SelectMgr_SelectableObject::BoundingBox ( Bnd_Box theBndBox)
pure virtual

Returns bounding box of selectable object by storing its minimum and maximum 3d coordinates to output parameters.

Implemented in AIS_InteractiveObject.

◆ ClearDynamicHighlight()

virtual void SelectMgr_SelectableObject::ClearDynamicHighlight ( const Handle< PrsMgr_PresentationManager3d > &  theMgr)
virtual

Method that needs to be implemented when the object manages selection and dynamic highlighting on its own. Clears or invalidates dynamic highlight presentation. By default it clears immediate draw of given presentation manager.

◆ ClearSelected()

virtual void SelectMgr_SelectableObject::ClearSelected ( )
virtual

Method which clear all selected owners belonging to this selectable object ( for fast presentation draw )

Reimplemented in AIS_Manipulator, AIS_Trihedron, and MeshVS_Mesh.

◆ ClearSelections()

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

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.

◆ ComputeSelection()

virtual void SelectMgr_SelectableObject::ComputeSelection ( const Handle< SelectMgr_Selection > &  aSelection,
const Standard_Integer  aMode 
)
pure virtual

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.

Implemented in AIS_Dimension, AIS_ColorScale, AIS_Manipulator, AIS_Shape, AIS_Trihedron, AIS_Plane, AIS_RubberBand, AIS_ConnectedInteractive, AIS_PointCloud, AIS_ColoredShape, AIS_MediaPlayer, AIS_CameraFrustum, MeshVS_Mesh, and QABugs_PresentableObject.

◆ CurrentSelection()

const Handle< SelectMgr_Selection >& SelectMgr_SelectableObject::CurrentSelection ( ) const
inline

Returns the current selection in this framework.

Deprecated:
("Deprecated method, Selections() should be used instead")

◆ ErasePresentations()

virtual void SelectMgr_SelectableObject::ErasePresentations ( Standard_Boolean  theToRemove)
virtual

Removes presentations returned by GetHilightPresentation() and GetSelectPresentation().

◆ GetAssemblyOwner()

virtual const Handle< SelectMgr_EntityOwner >& SelectMgr_SelectableObject::GetAssemblyOwner ( ) const
virtual

Returns common entity owner if the object is an assembly.

Reimplemented in AIS_MultipleConnectedInteractive.

◆ GetHilightPresentation()

Handle< Prs3d_Presentation > SelectMgr_SelectableObject::GetHilightPresentation ( const Handle< PrsMgr_PresentationManager3d > &  TheMgr)

◆ GetSelectPresentation()

Handle< Prs3d_Presentation > SelectMgr_SelectableObject::GetSelectPresentation ( const Handle< PrsMgr_PresentationManager3d > &  TheMgr)

◆ GlobalSelectionMode()

Standard_Integer SelectMgr_SelectableObject::GlobalSelectionMode ( ) const
inline

Returns the mode for selection of object as a whole.

◆ GlobalSelOwner()

virtual Handle< SelectMgr_EntityOwner > SelectMgr_SelectableObject::GlobalSelOwner ( ) const
virtual

Returns the owner of mode for selection of object as a whole.

Reimplemented in AIS_MultipleConnectedInteractive.

◆ HasSelection()

Standard_Boolean SelectMgr_SelectableObject::HasSelection ( const Standard_Integer  theMode) const
inline

Returns true if a selection corresponding to the selection mode theMode was computed for this object.

◆ HilightOwnerWithColor()

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

Method which hilight an owner belonging to this selectable object ( for fast presentation draw )

Reimplemented in AIS_Manipulator, AIS_Trihedron, and MeshVS_Mesh.

◆ HilightSelected()

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 AIS_Manipulator, AIS_Trihedron, and MeshVS_Mesh.

◆ Init()

void SelectMgr_SelectableObject::Init ( )
inline

Begins the iteration scanning for sensitive primitives.

Deprecated:
("Deprecated method, Selections() should be used instead")

◆ IsAutoHilight()

virtual Standard_Boolean SelectMgr_SelectableObject::IsAutoHilight ( ) const
virtual

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.

Reimplemented in AIS_Manipulator, and AIS_Trihedron.

◆ More()

Standard_Boolean SelectMgr_SelectableObject::More ( void  ) const
inline

Continues the iteration scanning for sensitive primitives.

Deprecated:
("Deprecated method, Selections() should be used instead")

◆ Next()

void SelectMgr_SelectableObject::Next ( void  )
inline

Continues the iteration scanning for sensitive primitives.

Deprecated:
("Deprecated method, Selections() should be used instead")

◆ RecomputePrimitives() [1/2]

void SelectMgr_SelectableObject::RecomputePrimitives ( )

Re-computes the sensitive primitives for all modes. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection.

◆ RecomputePrimitives() [2/2]

void SelectMgr_SelectableObject::RecomputePrimitives ( const Standard_Integer  theMode)

Re-computes the sensitive primitives which correspond to the <theMode>th selection mode. IMPORTANT: Do not use this method to update selection primitives except implementing custom selection manager! selection manager! This method does not take into account necessary BVH updates, but may invalidate the pointers it refers to. TO UPDATE SELECTION properly from outside classes, use method UpdateSelection.

◆ ResetTransformation()

void SelectMgr_SelectableObject::ResetTransformation ( )
overridevirtual

resets local transformation to identity.

Reimplemented from PrsMgr_PresentableObject.

◆ Selection()

const Handle< SelectMgr_Selection >& SelectMgr_SelectableObject::Selection ( const Standard_Integer  theMode) const

Returns the selection having specified selection mode or NULL.

◆ Selections()

const SelectMgr_SequenceOfSelection& SelectMgr_SelectableObject::Selections ( ) const
inline

Return the sequence of selections.

◆ SetAssemblyOwner()

void SelectMgr_SelectableObject::SetAssemblyOwner ( const Handle< SelectMgr_EntityOwner > &  theOwner,
const Standard_Integer  theMode = -1 
)

Sets common entity owner for assembly sensitive object entities.

◆ SetAutoHilight()

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.

◆ setGlobalSelMode()

void SelectMgr_SelectableObject::setGlobalSelMode ( const Standard_Integer  theMode)
inlineprotected

◆ SetZLayer()

virtual void SelectMgr_SelectableObject::SetZLayer ( const Graphic3d_ZLayerId  theLayerId)
overridevirtual

Set Z layer ID and update all presentations of the selectable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers.

Reimplemented from PrsMgr_PresentableObject.

◆ UpdateClipping()

virtual void SelectMgr_SelectableObject::UpdateClipping ( )
overrideprotectedvirtual

Update clipping planes state.

Reimplemented from PrsMgr_PresentableObject.

◆ UpdateSelection()

void SelectMgr_SelectableObject::UpdateSelection ( const Standard_Integer  theMode = -1)
inline

Sets update status FULL to selections of the object. Must be used as the only method of UpdateSelection from outer classes to prevent BVH structures from being outdated.

◆ updateSelection()

virtual void SelectMgr_SelectableObject::updateSelection ( const Standard_Integer  theMode)
protectedvirtual

◆ UpdateTransformation()

virtual void SelectMgr_SelectableObject::UpdateTransformation ( )
overridevirtual

Recomputes the location of the selection aSelection.

Reimplemented from PrsMgr_PresentableObject.

◆ UpdateTransformations()

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

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

Field Documentation

◆ myAutoHilight

Standard_Boolean SelectMgr_SelectableObject::myAutoHilight
protected

◆ myHilightPrs

Handle< Prs3d_Presentation > SelectMgr_SelectableObject::myHilightPrs
protected

◆ mySelectionPrs

Handle< Prs3d_Presentation > SelectMgr_SelectableObject::mySelectionPrs
protected

◆ myselections

SelectMgr_SequenceOfSelection SelectMgr_SelectableObject::myselections
protected

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