#include <vtkPolyDataMapper.h>
#include <vtkVertex.h>
#include <vtkScalarBarActor.h>
-#include <vtkLookupTable.h>
#include <QString>
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 );