X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_BathymetryPrs.h;h=1f5e0df124cc49f1ea20e80e74f99a203f9d46ed;hb=6074577ddf7ed43a22093a51d50d53b99adaea5e;hp=5ea3fd242a264ec311161caab0915ee05454b02d;hpb=597c8ff37c820d683af565f5d7507de002e489e0;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_BathymetryPrs.h b/src/HYDROGUI/HYDROGUI_BathymetryPrs.h index 5ea3fd24..1f5e0df1 100644 --- a/src/HYDROGUI/HYDROGUI_BathymetryPrs.h +++ b/src/HYDROGUI/HYDROGUI_BathymetryPrs.h @@ -1,12 +1,8 @@ -// 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 @@ -24,17 +20,37 @@ #define HYDROGUI_BATHYMETRY_PRS_H #include +#include #include +#include + +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& ); + + HYDROGUI_ShapeBathymetry* GetShape() const; + protected: virtual void Compute( const Handle(PrsMgr_PresentationManager3d)& thePresentationManager, const Handle(Prs3d_Presentation)& thePresentation, @@ -42,9 +58,26 @@ protected: 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 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