Salome HOME
projects
/
modules
/
hydro.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refs #550: fix crash when myObject is NULL
[modules/hydro.git]
/
src
/
HYDROGUI
/
HYDROGUI_VTKPrsBathymetry.cxx
diff --git
a/src/HYDROGUI/HYDROGUI_VTKPrsBathymetry.cxx
b/src/HYDROGUI/HYDROGUI_VTKPrsBathymetry.cxx
index ed6a9fb41f05bba420eb759c8e9b90c684781817..8b6103c561ca598f8647eedb0b3982c7483eeb98 100644
(file)
--- a/
src/HYDROGUI/HYDROGUI_VTKPrsBathymetry.cxx
+++ b/
src/HYDROGUI/HYDROGUI_VTKPrsBathymetry.cxx
@@
-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
// 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
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-26,7
+22,7
@@
#include <HYDROData_Tool.h>
#include <SALOME_Actor.h>
#include <HYDROData_Tool.h>
#include <SALOME_Actor.h>
-#include <gp_
XYZ
.hxx>
+#include <gp_
Pnt
.hxx>
#include <vtkDoubleArray.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>
#include <vtkDoubleArray.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>
@@
-67,13
+63,15
@@
HYDROGUI_VTKPrsBathymetry::~HYDROGUI_VTKPrsBathymetry()
//================================================================
void HYDROGUI_VTKPrsBathymetry::compute()
{
//================================================================
void HYDROGUI_VTKPrsBathymetry::compute()
{
+ HYDROGUI_VTKPrs::compute();
+
if ( !getObject().IsNull() )
{
Handle(HYDROData_Bathymetry) aBathymetry = Handle(HYDROData_Bathymetry)::DownCast( getObject() );
if ( !aBathymetry.IsNull() )
{
HYDROData_Bathymetry::AltitudePoints anAltPoints = aBathymetry->GetAltitudePoints();
if ( !getObject().IsNull() )
{
Handle(HYDROData_Bathymetry) aBathymetry = Handle(HYDROData_Bathymetry)::DownCast( getObject() );
if ( !aBathymetry.IsNull() )
{
HYDROData_Bathymetry::AltitudePoints anAltPoints = aBathymetry->GetAltitudePoints();
- int aNbPoints = anAltPoints.
l
ength();
+ int aNbPoints = anAltPoints.
L
ength();
HYDROData_Bathymetry::AltitudePoint anAltPnt;
vtkPoints* aPoints = vtkPoints::New();
HYDROData_Bathymetry::AltitudePoint anAltPnt;
vtkPoints* aPoints = vtkPoints::New();
@@
-87,18
+85,18
@@
void HYDROGUI_VTKPrsBathymetry::compute()
vtkVertex* aVertex = vtkVertex::New();
vtkVertex* aVertex = vtkVertex::New();
-
int
aZ;
+
double
aZ;
int anInvalidZ = InvalidZValue();
int anInvalidZ = InvalidZValue();
- for (int i =
0; i <
aNbPoints; i++ )
+ for (int i =
1; i <=
aNbPoints; i++ )
{
{
- anAltPnt = anAltPoints.
at
( i );
+ anAltPnt = anAltPoints.
Value
( i );
aZ = anAltPnt.Z();
if ( ValuesLessEquals( aZ, anInvalidZ ) )
{
aZ = Z_MAX; // If Z value is invalid then use Z_MAX
}
aZ = anAltPnt.Z();
if ( ValuesLessEquals( aZ, anInvalidZ ) )
{
aZ = Z_MAX; // If Z value is invalid then use Z_MAX
}
- aPoints->InsertPoint( i, anAltPnt.X(), anAltPnt.Y(), aZ );
- aVertex->GetPointIds()->SetId( 0, i );
+ aPoints->InsertPoint( i
- 1
, anAltPnt.X(), anAltPnt.Y(), aZ );
+ aVertex->GetPointIds()->SetId( 0, i
- 1
);
aVertexGrid->InsertNextCell( aVertex->GetCellType(), aVertex->GetPointIds());
aZValues->InsertNextValue( aZ );
}
aVertexGrid->InsertNextCell( aVertex->GetCellType(), aVertex->GetPointIds());
aZValues->InsertNextValue( aZ );
}
@@
-141,12
+139,11
@@
void HYDROGUI_VTKPrsBathymetry::compute()
myMapper->SetInputData( aVertexGrid );
myMapper->SetInputData( aVertexGrid );
- SALOME_Actor* anActor =
SALOME_Actor::New(
);
+ SALOME_Actor* anActor =
getActor<SALOME_Actor>(this
);
anActor->SetMapper( myMapper.GetPointer() );
anActor->setIO( getIO() );
AddObject( anActor );
anActor->SetMapper( myMapper.GetPointer() );
anActor->setIO( getIO() );
AddObject( anActor );
- anActor->Delete();
aVertexGrid->Delete();
aZValues->Delete();
}
aVertexGrid->Delete();
aZValues->Delete();
}