#define HYDROGUI_BATHYMETRY_PRS_H
#include <AIS_PointCloud.hxx>
+#include <SelectMgr_EntityOwner.hxx>
#include <Bnd_Box.hxx>
+#include <QList>
+
+class HYDROGUI_ShapeBathymetry;
class HYDROGUI_BathymetryPrs : public AIS_PointCloud
{
public:
- HYDROGUI_BathymetryPrs();
+ HYDROGUI_BathymetryPrs( const HYDROGUI_ShapeBathymetry* );
virtual ~HYDROGUI_BathymetryPrs();
virtual void SetPoints( const Handle(TColgp_HArray1OfPnt)& theCoords,
const Handle(Quantity_HArray1OfColor)& theColors = NULL );
+ int NbPoints() const;
+ gp_Pnt GetPoint( int theIndex ) const;
+
+ virtual void HilightOwnerWithColor( const Handle(PrsMgr_PresentationManager3d)& thePM,
+ const Handle(Graphic3d_HighlightStyle)& theColor,
+ const Handle(SelectMgr_EntityOwner)& theOwner );
+
+ virtual void HilightSelected( const Handle(PrsMgr_PresentationManager3d)& thePM,
+ const SelectMgr_SequenceOfOwner& theOwners );
+
+ virtual void ClearSelected();
+
+ void SetTextLabels( const QList<int>& );
+
+ HYDROGUI_ShapeBathymetry* GetShape() const;
+
protected:
virtual void Compute( const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
const Handle(Prs3d_Presentation)& thePresentation,
virtual void ComputeSelection( const Handle(SelectMgr_Selection)& theSelection,
const Standard_Integer theMode );
+ void UpdateBound();
+ void AddPoint( const Handle(Graphic3d_ArrayOfPoints)&, const Handle(SelectMgr_EntityOwner)& );
+
private:
+ const HYDROGUI_ShapeBathymetry* myShape;
Bnd_Box myBound;
+ QList<int> myTextIndices;
};
-#endif
+class HYDROGUI_BathymetryPointOwner : public SelectMgr_EntityOwner
+{
+public:
+ HYDROGUI_BathymetryPointOwner( const Handle(HYDROGUI_BathymetryPrs)&, int theIndex );
+ virtual ~HYDROGUI_BathymetryPointOwner();
+
+ virtual Standard_Boolean IsAutoHilight() const;
+ int GetIndex() const;
+private:
+ int myIndex;
+};
+
+#endif