-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "XGUI.h"
#include <GeomAPI_AISObject.h>
-#include <GeomAPI_ICustomPrs.h>
#include <GeomAPI_Pln.h>
#include <ModelAPI_Result.h>
bool enableUpdateViewer(const bool isEnabled);
/// Returns true if the viewer update is not blocked
- bool isUpdateEnabled() const;
+ bool isUpdateEnabled() const
+ {
+ return myViewerBlockedRecursiveCount == 0;
+ }
/// Updates the viewer
void updateViewer() const;
/// Returns scale of active view
double getViewScale() const;
+ /// Set color of selection
+ /// \param theColor R,G,B values of color
+ void setSelectionColor(const std::vector<int>& theColor);
+
+ /// Returns current selection color
+ std::vector<int> selectionColor() const;
+
signals:
/// Signal on object display
/// \param theObject a data object
private:
XGUI_SelectionActivate* selectionActivate() const;
- AISObjectPtr createPresentation(const ResultPtr& theResult) const;
-
private:
XGUI_Workshop* myWorkshop; ///< Reference to workshop
#ifdef TINSPECTOR
#endif
Handle(SelectMgr_AndFilter) myAndFilter; ///< A container for selection filters
- /// A default custom presentation, which is used if the displayed feature is not
- /// a custom presentation
- GeomCustomPrsPtr myCustomPrs;
-
/// Definition of a type of map which defines correspondance between objects and presentations
#ifdef OPTIMIZE_PRS
XGUI_TwoSidePresentationMap myResult2AISObjectMap; ///< A map of displayed objects
/// Number of blocking of the viewer update. The viewer is updated only if it is zero
int myViewerBlockedRecursiveCount;
- bool myIsFirstAISContextUse; ///< Flag: first asking of AIS context: trihedron activation
+ mutable void* myContextId;
mutable bool myNeedUpdate; ///< A flag that update was requested but not done
};