X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_BathymetryPrs.cxx;h=bf7f53b367e5804a7c5b8e309f08fd118030f711;hb=fce3f1240b6161d7cb837344078e5943b90eca65;hp=a08073c47d309d0d83b95135bbe21cb71d998806;hpb=d89b531334d90aa48861e4ffb51f44852829554d;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_BathymetryPrs.cxx b/src/HYDROGUI/HYDROGUI_BathymetryPrs.cxx index a08073c4..bf7f53b3 100644 --- a/src/HYDROGUI/HYDROGUI_BathymetryPrs.cxx +++ b/src/HYDROGUI/HYDROGUI_BathymetryPrs.cxx @@ -28,7 +28,8 @@ const int BATH_HIGHLIGHT_MODE = 10; -HYDROGUI_BathymetryPrs::HYDROGUI_BathymetryPrs() +HYDROGUI_BathymetryPrs::HYDROGUI_BathymetryPrs( const HYDROGUI_ShapeBathymetry* theShape ) + : myShape( theShape ) { SetHilightMode( BATH_HIGHLIGHT_MODE ); SetAutoHilight( Standard_True ); @@ -38,6 +39,11 @@ HYDROGUI_BathymetryPrs::~HYDROGUI_BathymetryPrs() { } +HYDROGUI_ShapeBathymetry* HYDROGUI_BathymetryPrs::GetShape() const +{ + return const_cast( myShape ); +} + void HYDROGUI_BathymetryPrs::UpdateBound() { Handle(Graphic3d_ArrayOfPoints) points = GetPoints(); @@ -77,6 +83,7 @@ void HYDROGUI_BathymetryPrs::Compute( const Handle(PrsMgr_PresentationManager3d) if( myBound.IsVoid() ) UpdateBound(); + if( myBound.IsVoid() || myBound.IsOpenXmin() || myBound.IsOpenXmax() || myBound.IsOpenYmin() || myBound.IsOpenYmax() || @@ -189,6 +196,8 @@ void HYDROGUI_BathymetryPrs::AddPoint( const Handle(Graphic3d_ArrayOfPoints)& th const Handle(SelectMgr_EntityOwner)& theOwner ) { Handle(HYDROGUI_BathymetryPointOwner) anOwner = Handle(HYDROGUI_BathymetryPointOwner)::DownCast( theOwner ); + if( anOwner.IsNull() ) + return; gp_Pnt p = GetPoint( anOwner->GetIndex() ); thePoints->AddVertex( p ); }