#include <Standard_Type.hxx>
#include <AIS_DisplayStatus.hxx>
+#include <Prs3d_Drawer.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
-#include <Quantity_NameOfColor.hxx>
-#include <MMgt_TShared.hxx>
+#include <Standard_Transient.hxx>
-
-class AIS_GlobalStatus;
-DEFINE_STANDARD_HANDLE(AIS_GlobalStatus, MMgt_TShared)
+DEFINE_STANDARD_HANDLE(AIS_GlobalStatus, Standard_Transient)
//! Stores information about objects in graphic context:
//! - Status Of Display : in the main viewer
//! - Active Selection Modes
//! - is the Interactive Object Current ?
//! - Layer Index
-class AIS_GlobalStatus : public MMgt_TShared
+class AIS_GlobalStatus : public Standard_Transient
{
-
+ DEFINE_STANDARD_RTTIEXT(AIS_GlobalStatus, Standard_Transient)
public:
-
Standard_EXPORT AIS_GlobalStatus();
- Standard_EXPORT AIS_GlobalStatus(const AIS_DisplayStatus aStat, const Standard_Integer aDispMode, const Standard_Integer aSelMode, const Standard_Boolean ishilighted = Standard_False, const Quantity_NameOfColor TheHiCol = Quantity_NOC_WHITE, const Standard_Integer aLayerIndex = 0);
-
- void SetGraphicStatus (const AIS_DisplayStatus aStat);
-
- void AddDisplayMode (const Standard_Integer aMode);
-
- void AddSelectionMode (const Standard_Integer aMode);
-
- void SetLayerIndex (const Standard_Integer AnIndex);
-
- void SetHilightStatus (const Standard_Boolean aStat);
-
- void SetHilightColor (const Quantity_NameOfColor aHiCol);
-
- Standard_Boolean IsSubIntensityOn() const;
-
- void SubIntensityOn();
-
- void SubIntensityOff();
-
- Standard_EXPORT void RemoveDisplayMode (const Standard_Integer aMode);
+ Standard_EXPORT AIS_GlobalStatus(const AIS_DisplayStatus aStat, const Standard_Integer aDispMode, const Standard_Integer aSelMode, const Standard_Boolean ishilighted = Standard_False, const Standard_Integer aLayerIndex = 0);
+
+ void SetGraphicStatus (const AIS_DisplayStatus theStatus) { myStatus = theStatus; }
+
+ void AddSelectionMode (const Standard_Integer theMode) { if (!IsSModeIn (theMode)) mySelModes.Append (theMode); }
+
+ //! Sets display mode.
+ void SetDisplayMode (const Standard_Integer theMode) { myDispMode = theMode; }
+
+ //! Returns the display mode.
+ Standard_Integer DisplayMode() const { return myDispMode; }
+
+ void SetLayerIndex (const Standard_Integer theIndex) { myLayerIndex = theIndex; }
+
+ void SetHilightStatus (const Standard_Boolean theStatus) { myIsHilit = theStatus; }
+
+ //! Changes applied highlight style for a particular object
+ void SetHilightStyle (const Handle(Prs3d_Drawer)& theStyle) { myHiStyle = theStyle; }
+
+ //! Returns applied highlight style for a particular object
+ const Handle(Prs3d_Drawer)& HilightStyle() const { return myHiStyle; }
+
+ Standard_Boolean IsSubIntensityOn() const { return mySubInt; }
+
+ void SubIntensityOn() { mySubInt = Standard_True; }
+
+ void SubIntensityOff() { mySubInt = Standard_False; }
Standard_EXPORT void RemoveSelectionMode (const Standard_Integer aMode);
Standard_EXPORT void ClearSelectionModes();
- AIS_DisplayStatus GraphicStatus() const;
-
- //! keeps the information of displayed modes in the
- //! main viewer.
- const TColStd_ListOfInteger& DisplayedModes() const;
+ AIS_DisplayStatus GraphicStatus() const { return myStatus; }
//! keeps the active selection modes of the object
//! in the main viewer.
- const TColStd_ListOfInteger& SelectionModes() const;
-
- Standard_Boolean IsHilighted() const;
-
- Quantity_NameOfColor HilightColor() const;
-
- Standard_EXPORT Standard_Boolean IsDModeIn (const Standard_Integer aMode) const;
+ const TColStd_ListOfInteger& SelectionModes() const { return mySelModes; }
+ Standard_Boolean IsHilighted() const { return myIsHilit; }
+
Standard_EXPORT Standard_Boolean IsSModeIn (const Standard_Integer aMode) const;
//! Returns layer index.
return myLayerIndex;
}
-
-
- DEFINE_STANDARD_RTTIEXT(AIS_GlobalStatus,MMgt_TShared)
-
-protected:
-
-
-
-
private:
-
- AIS_DisplayStatus myStatus;
- TColStd_ListOfInteger myDispModes;
TColStd_ListOfInteger mySelModes;
+ Handle(Prs3d_Drawer) myHiStyle;
+ AIS_DisplayStatus myStatus;
+ Standard_Integer myDispMode;
Standard_Integer myLayerIndex;
Standard_Boolean myIsHilit;
- Quantity_NameOfColor myHiCol;
Standard_Boolean mySubInt;
-
};
-
-#include <AIS_GlobalStatus.lxx>
-
-
-
-
-
#endif // _AIS_GlobalStatus_HeaderFile