#define HYDROGUI_SHAPE_H
#include <AIS_InteractiveContext.hxx>
-#include <AIS_TexturedShape.hxx>
+#include <AIS_Shape.hxx>
#include <HYDROData_Entity.h>
#include <TopoDS_Face.hxx>
#include <TopoDS_Wire.hxx>
+#include <TopoDS_Compound.hxx>
class HYDROGUI_Shape
{
public:
HYDROGUI_Shape( const Handle(AIS_InteractiveContext)& theContext,
- const Handle(HYDROData_Entity)& theObject );
+ const Handle(HYDROData_Entity)& theObject,
+ const int theZLayer = -1 );
~HYDROGUI_Shape();
public:
virtual void display( const bool theIsUpdateViewer = true );
virtual void erase( const bool theIsUpdateViewer = true );
- virtual void highlight( bool theIsHighlight );
+ virtual void highlight( bool theIsHighlight, bool isUpdateViewer );
virtual bool isHighlighted() const;
Handle(HYDROData_Entity) getObject() const { return myObject; }
- virtual void update( const bool theIsUpdateViewer = true );
+ virtual void update( const bool theIsUpdateViewer = true,
+ const bool theIsDisplayOnTop = false );
virtual bool getIsToUpdate() const { return myIsToUpdate; }
virtual void setIsToUpdate( bool theState ) { myIsToUpdate = theState; }
const bool theToDisplay = true,
const bool theIsUpdateViewer = true );
+ virtual void setFaces( const TopoDS_Compound& theWires,
+ const bool theToDisplay = true,
+ const bool theIsUpdateViewer = true );
+
virtual void setFace( const TopoDS_Wire& theWire,
const bool theToDisplay = true,
const bool theIsUpdateViewer = true );
const bool theToDisplay = true,
const bool theIsUpdateViewer = true );
+ virtual void setShape( const TopoDS_Shape& theShape,
+ const bool theToDisplay = true,
+ const bool theIsUpdateViewer = true );
+
virtual void setFillingColor( const QColor& theColor,
const bool theToDisplay = true,
const bool theIsUpdateViewer = true );
const bool theIsUpdateViewer = true );
virtual QString getTextureFileName() const;
+ virtual Handle(AIS_Shape) getAISShape() const { return myShape; }
+
+ void setZLayer( const int theZLayer );
+
protected:
virtual void buildShape();
virtual void updateShape( const bool theToDisplay = true,
const bool theIsUpdateViewer = true );
+ void displayShape( const bool theIsUpdateViewer );
+
virtual QColor getActiveColor() const;
private:
private:
Handle(AIS_InteractiveContext) myContext;
Handle(HYDROData_Entity) myObject;
- Handle(AIS_TexturedShape) myShape;
+ Handle(AIS_Shape) myShape;
+
+ int myZLayer;
bool myIsToUpdate;
bool myIsVisible;