-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 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
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "HYDROGUI_AbstractDisplayer.h"
class HYDROGUI_Shape;
-class Handle(AIS_InteractiveContext);
+class AIS_InteractiveContext;
+class AIS_ColorScale;
+class OCCViewer_ViewManager;
+class OCCViewer_Viewer;
/**
* \class HYDROGUI_OCCDisplayer
void SetToUpdate( const HYDROData_SequenceOfObjects& theObjs,
const int theViewerId );
+ /**
+ * \brief Get the applicable viewer type.
+ */
+ virtual QString GetType() const;
+
+ /**
+ * \brief Add the z layer for preview and returns its index.
+ * \param theMgr OCC view manager
+ */
+ int AddPreviewZLayer( OCCViewer_ViewManager* theMgr );
+
+ /**
+ * \brief Removes the z layer.
+ * \param theMgr OCC view manager
+ * \param theLayer a layer index
+ */
+ void RemoveZLayer( OCCViewer_ViewManager* theMgr,
+ const int theLayer );
+
+ void SetToUpdateColorScale();
+
+ /**
+ * \brief Get color scale for the viewer.
+ * \param theViewerId viewer identifier
+ * \return the color scale
+ */
+ Handle(AIS_ColorScale) GetColorScale( const int theViewerId );
+
protected:
/**
* \brief Erase all viewer objects.
const bool theIsForced,
const bool theDoFitAll );
+protected:
/**
* \brief Purge all invalid objects in the viewer.
* \param theViewerId viewer identifier
*/
void purgeObjects( const int theViewerId );
+ void UpdateColorScale( const OCCViewer_Viewer* );
+
private:
/**
* \brief Creates new OCC shape.
* \param theViewerId viewer identifier
- * \param theContext context of OCC viwer
+ * \param theContext context of OCC viewer
* \param theObject data model object
* \return pointer to new created shape
*/
HYDROGUI_Shape* createShape( const int theViewerId,
const Handle(AIS_InteractiveContext)& theContext,
const Handle(HYDROData_Entity)& theObject );
+
+ /**
+ * \brief Display the specified object.
+ * \param theObject the object to display
+ * \param theViewer the viewer for displaying
+ * \param theIsForced the flag used to update the object shape
+ * \return true in case of success
+ */
+ bool Display( const Handle(HYDROData_Entity)& theObject,
+ const OCCViewer_Viewer* theViewer,
+ const bool theIsForced );
+
+ /**
+ * \brief Set Z layer to the shape corresponding to the HYDRO data object.
+ * \param theViewer the viewer for Z layer setting
+ * \param theObject the HYDRO object
+ * \param theZLayerId the Z layer ID
+ */
+ void SetZLayer( const OCCViewer_Viewer* theViewer,
+ const Handle(HYDROData_Entity)& theObject,
+ const int theZLayerId );
+
+private:
+ bool myToUpdateColorScale;
+
+ QMap<int, Handle(AIS_ColorScale)> myColorScales;
};
#endif