1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0025695: Visualization, AIS_InteractiveContext - define default HilightMode

AIS_InteractiveContext - removed the following unused properties:
- PreSelectionColor(), DefaultColor(), WasCurrentTouched(), ZDetection().
AIS_InteractiveObject - removed unused property SelectionPriority().

Prs3d_Drawer - removed properties HighlightStyle() and SelectionStyle().
Graphic3d_HighlightStyle has been superseded by Prs3d_Drawer
inheriting from new class Graphic3d_PresentationAttributes.

Graphic3d_PresentationAttributes (as Graphic3d_HighlightStyle replacement)
has been extended with new properties:
- ZLayer() defining Z-Layer for highlighting presentation.
- DisplayMode() defining display mode for highlighting.

StdSelect_BRepSelectionTool methods have been corrected to take
SelectMgr_EntityOwner instead of StdSelect_BRepOwner.
StdSelect_Shape - duplicated field myDrawer has been dropped.

AIS_InteractiveObject - myDrawer->Color() is now used instead of myOwnColor,
myDrawer->Transparency() instead of myTransparency
and myDrawer->ZLayer() instead of myZLayer.

PrsMgr_PresentationManager::Unhighlight() now unhighlight all modes.
The method taking Mode as argument has been marked deprecated.

New enumeration Prs3d_TypeOfHighlight has been introduced
defining different highlight types.
AIS_InteractiveObject::HighlightStyle() now takes enumeration argument
and defines different styles for Global and Local selection.

ComesFromDecomposition() property has been moved
from StdSelect_BRepOwner to SelectMgr_EntityOwner.
This commit is contained in:
kgv
2016-11-02 17:36:18 +03:00
committed by apn
parent 404c893694
commit f838dac48b
106 changed files with 1624 additions and 2273 deletions

View File

@@ -14,18 +14,16 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <SelectBasics_EntityOwner.hxx>
#include <Standard_Type.hxx>
#include <TopLoc_Location.hxx>
IMPLEMENT_STANDARD_RTTIEXT(SelectBasics_EntityOwner,MMgt_TShared)
IMPLEMENT_STANDARD_RTTIEXT(SelectBasics_EntityOwner, Standard_Transient)
//========================================
// Function : Create
// Purpose :
// Function : SelectBasics_EntityOwner
// Purpose :
//========================================
SelectBasics_EntityOwner
::SelectBasics_EntityOwner (const Standard_Integer aPriority):
mypriority(aPriority)
{}
SelectBasics_EntityOwner::SelectBasics_EntityOwner (const Standard_Integer thePriority)
: mypriority (thePriority)
{
//
}

View File

@@ -18,16 +18,11 @@
#define _SelectBasics_EntityOwner_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Type.hxx>
#include <Standard_Boolean.hxx>
class TopLoc_Location;
class SelectBasics_EntityOwner;
DEFINE_STANDARD_HANDLE(SelectBasics_EntityOwner, MMgt_TShared)
#include <TopLoc_Location.hxx>
//! defines an abstract owner of sensitive primitives.
//! Owners are typically used to establish a connection
@@ -44,50 +39,39 @@ DEFINE_STANDARD_HANDLE(SelectBasics_EntityOwner, MMgt_TShared)
//! a user can give vertex priority [3], edges [2] faces [1] shape [0],
//! so that if during selection one vertex one edge and one face are
//! simultaneously detected, the vertex will only be hilighted.
class SelectBasics_EntityOwner : public MMgt_TShared
class SelectBasics_EntityOwner : public Standard_Transient
{
DEFINE_STANDARD_RTTIEXT(SelectBasics_EntityOwner, Standard_Transient)
public:
//! sets the selectable priority of the owner
void SetPriority (const Standard_Integer thePriority) { mypriority = thePriority; }
Standard_Integer Priority() const { return mypriority; }
Standard_EXPORT virtual Standard_Boolean HasLocation() const = 0;
Standard_EXPORT virtual void SetLocation (const TopLoc_Location& aLoc) = 0;
Standard_EXPORT virtual void ResetLocation() = 0;
Standard_EXPORT virtual TopLoc_Location Location() const = 0;
public:
//! sets the selectable priority of the owner
void Set (const Standard_Integer aPriority);
Standard_Integer Priority() const;
Standard_EXPORT virtual Standard_Boolean HasLocation() const = 0;
Standard_EXPORT virtual void SetLocation (const TopLoc_Location& aLoc) = 0;
Standard_EXPORT virtual void ResetLocation() = 0;
Standard_EXPORT virtual TopLoc_Location Location() const = 0;
DEFINE_STANDARD_RTTIEXT(SelectBasics_EntityOwner,MMgt_TShared)
void Set (const Standard_Integer thePriority) { SetPriority (thePriority); }
protected:
Standard_EXPORT SelectBasics_EntityOwner(const Standard_Integer aPriority = 0);
Standard_EXPORT SelectBasics_EntityOwner (const Standard_Integer thePriority = 0);
protected:
Standard_Integer mypriority;
private:
};
#include <SelectBasics_EntityOwner.lxx>
DEFINE_STANDARD_HANDLE(SelectBasics_EntityOwner, Standard_Transient)
#endif // _SelectBasics_EntityOwner_HeaderFile