-// 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
#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