/// \param isEnabled a boolean value
bool enableUpdateViewer(const bool isEnabled);
+ /// Returns myEnableUpdateViewer flag
bool isUpdateEnabled() const { return myEnableUpdateViewer; }
/// Updates the viewer
/// \return previously defined color on the object
QColor setObjectColor(ObjectPtr theObject, const QColor& theColor, bool theUpdateViewer = true);
+ /// Returns Trihedron object if it is displayed
+ Handle(AIS_InteractiveObject) getTrihedron() const;
+
+ /// Set trihedron active (used in selection) or non active
+ void activateTrihedron(bool theIsActive);
+
+ /// Displays/erases thrihedron in current modes. It will be activated or deactivated
+ /// depending on the trihedron visible state and displayer active trihedron state
+ void displayTrihedron(bool theToDisplay) const;
+
+ /// Returns true if the trihedron should be activated in current selection modes
+ bool isTrihedronActive() const { return myIsTrihedronActive; }
+
+ /// Converts shape type (TopAbs_ShapeEnum) to selection mode
+ /// \param theShapeType a shape type from TopAbs_ShapeEnum
+ static int getSelectionMode(int theShapeType);
+
signals:
/// Signal on object display
/// \param theObject a data object
void deactivate(ObjectPtr theObject, const bool theUpdateViewer);
/// Find a trihedron in a list of displayed presentations and deactivate it.
- void deactivateTrihedron() const;
+ /// \param theUpdateViewer an update viewer flag
+ void deactivateTrihedron(const bool theUpdateViewer) const;
/// Opens local context. Does nothing if it is already opened.
void openLocalContext();
/// the enable update viewer flag
bool myEnableUpdateViewer;
+ // Flag: use trihedgon for selection or not
+ bool myIsTrihedronActive;
+
/// A flag that update was requested but not done
mutable bool myNeedUpdate;
};