#include <vtkPolyDataMapper.h>
#include <vtkVertex.h>
#include <vtkScalarBarActor.h>
-#include <vtkLookupTable.h>
#include <QString>
//================================================================
void HYDROGUI_VTKPrsBathymetry::compute()
{
+ HYDROGUI_VTKPrs::compute();
+
if ( !getObject().IsNull() )
{
Handle(HYDROData_Bathymetry) aBathymetry = Handle(HYDROData_Bathymetry)::DownCast( getObject() );
vtkVertex* aVertex = vtkVertex::New();
- int aZ;
+ double aZ;
int anInvalidZ = InvalidZValue();
for (int i = 0; i < aNbPoints; i++ )
{
aZ = anAltPnt.Z();
if ( ValuesLessEquals( aZ, anInvalidZ ) )
{
- aZ = Z_MAX;
- }
- else
- {
- aZ = -aZ;
+ 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 );
// Update the lookup table range if this bathymetry is out of it
if ( myLookupTable )
{
- double* aRange = aZValues->GetRange();
- myInternalZRange[0] = -aRange[1];
- myInternalZRange[1] = -aRange[0];
-
+ aZValues->GetRange( myInternalZRange );
double* aGlobalRange = myLookupTable->GetRange();
// If the global range is not yet initialized or the current one is out of scope then update the global
bool anIsUpdated = false;
myLookupTable->Build();
}
- myMapper->SetScalarRange( -aGlobalRange[1], -aGlobalRange[0] );
+ myMapper->SetScalarRange( aGlobalRange );
myMapper->ScalarVisibilityOn();
myMapper->SetScalarModeToUsePointData();
-
-
- vtkLookupTable* aTable = vtkLookupTable::New();
- vtkLookupTable* aGlobalTable = vtkLookupTable::SafeDownCast( myLookupTable );
- double* aHueRange = aGlobalTable->GetHueRange();
- // Revert hue range to keep it the same as for appropriate positive Z values in scalar bar
- aTable->SetHueRange( aHueRange[1], aHueRange[0] );
- aTable->SetSaturationRange( aGlobalTable->GetSaturationRange() );
- // Revert the Z values range from positive to negative to show them as depth
- aTable->SetTableRange( -aGlobalRange[1], -aGlobalRange[0] );
- aTable->SetValueRange( aGlobalTable->GetValueRange() );
- aTable->SetAlphaRange( aGlobalTable->GetAlphaRange() );
- aTable->SetNumberOfColors( aGlobalTable->GetNumberOfColors() );
- aTable->Build();
-
- myMapper->SetLookupTable( aTable );
- aTable->Delete();
-// myMapper->SetLookupTable( myLookupTable );
+ myMapper->SetLookupTable( myLookupTable );
}
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->Delete();
aVertexGrid->Delete();
aZValues->Delete();
}