Changeset 5672 for nanovis


Ignore:
Timestamp:
Jun 8, 2015, 1:23:21 AM (4 years ago)
Author:
ldelgass
Message:

Add debug output to VTK reader

File:
1 edited

Legend:

Unmodified
Added
Removed
  • nanovis/trunk/VtkDataSetReader.cpp

    r5549 r5672  
    1212#include <vtkImageData.h>
    1313#include <vtkPointData.h>
     14#include <vtkCellData.h>
    1415#include <vtkDataArray.h>
    1516#include <vtkDataSetReader.h>
     
    2829
    2930using namespace nv;
     31
     32static void print(vtkDataSet *ds)
     33{
     34    if (ds == NULL)
     35        return;
     36
     37    TRACE("DataSet class: %s", ds->GetClassName());
     38
     39    TRACE("DataSet memory: %g MiB", ds->GetActualMemorySize()/1024.);
     40
     41    double bounds[6];
     42    ds->GetBounds(bounds);
     43
     44    // Topology
     45    TRACE("DataSet bounds: %g %g %g %g %g %g",
     46          bounds[0], bounds[1],
     47          bounds[2], bounds[3],
     48          bounds[4], bounds[5]);
     49    TRACE("Points: %d Cells: %d", ds->GetNumberOfPoints(), ds->GetNumberOfCells());
     50
     51    double dataRange[2];
     52    if (ds->GetPointData() != NULL) {
     53        TRACE("PointData arrays: %d", ds->GetPointData()->GetNumberOfArrays());
     54        for (int i = 0; i < ds->GetPointData()->GetNumberOfArrays(); i++) {
     55            if (ds->GetPointData()->GetArray(i) != NULL) {
     56                ds->GetPointData()->GetArray(i)->GetRange(dataRange, -1);
     57                TRACE("PointData[%d]: '%s' comp:%d, (%g,%g)", i,
     58                      ds->GetPointData()->GetArrayName(i),
     59                      ds->GetPointData()->GetAbstractArray(i)->GetNumberOfComponents(),
     60                      dataRange[0], dataRange[1]);
     61            } else {
     62                TRACE("PointData[%d]: '%s' comp:%d", i,
     63                      ds->GetPointData()->GetArrayName(i),
     64                      ds->GetPointData()->GetAbstractArray(i)->GetNumberOfComponents());
     65            }
     66        }
     67        if (ds->GetPointData()->GetScalars() != NULL) {
     68            TRACE("Active point scalars: %s", ds->GetPointData()->GetScalars()->GetName());
     69        }
     70        if (ds->GetPointData()->GetVectors() != NULL) {
     71            TRACE("Active point vectors: %s", ds->GetPointData()->GetVectors()->GetName());
     72        }
     73    }
     74    if (ds->GetCellData() != NULL) {
     75        TRACE("CellData arrays: %d", ds->GetCellData()->GetNumberOfArrays());
     76        for (int i = 0; i < ds->GetCellData()->GetNumberOfArrays(); i++) {
     77            if (ds->GetCellData()->GetArray(i) != NULL) {
     78                ds->GetCellData()->GetArray(i)->GetRange(dataRange, -1);
     79                TRACE("CellData[%d]: '%s' comp:%d, (%g,%g)", i,
     80                      ds->GetCellData()->GetArrayName(i),
     81                      ds->GetCellData()->GetAbstractArray(i)->GetNumberOfComponents(),
     82                      dataRange[0], dataRange[1]);
     83            } else {
     84                TRACE("CellData[%d]: '%s' comp:%d", i,
     85                      ds->GetCellData()->GetArrayName(i),
     86                      ds->GetCellData()->GetAbstractArray(i)->GetNumberOfComponents());
     87            }
     88        }
     89        if (ds->GetCellData()->GetScalars() != NULL) {
     90            TRACE("Active cell scalars: %s", ds->GetCellData()->GetScalars()->GetName());
     91        }
     92        if (ds->GetCellData()->GetVectors() != NULL) {
     93            TRACE("Active cell vectors: %s", ds->GetCellData()->GetVectors()->GetName());
     94        }
     95    }
     96    if (ds->GetFieldData() != NULL) {
     97        TRACE("FieldData arrays: %d", ds->GetFieldData()->GetNumberOfArrays());
     98        for (int i = 0; i < ds->GetFieldData()->GetNumberOfArrays(); i++) {
     99            if (ds->GetFieldData()->GetArray(i) != NULL) {
     100                ds->GetFieldData()->GetArray(i)->GetRange(dataRange, -1);
     101                TRACE("FieldData[%d]: '%s' comp:%d, tuples:%d (%g,%g)", i,
     102                      ds->GetFieldData()->GetArrayName(i),
     103                      ds->GetFieldData()->GetAbstractArray(i)->GetNumberOfComponents(),
     104                      ds->GetFieldData()->GetAbstractArray(i)->GetNumberOfTuples(),
     105                      dataRange[0], dataRange[1]);
     106            } else {
     107                TRACE("FieldData[%d]: '%s' comp:%d, tuples:%d", i,
     108                      ds->GetFieldData()->GetArrayName(i),
     109                      ds->GetFieldData()->GetAbstractArray(i)->GetNumberOfComponents(),
     110                      ds->GetFieldData()->GetAbstractArray(i)->GetNumberOfTuples());
     111            }
     112        }
     113    }
     114}
    30115
    31116Volume *
     
    60145            return NULL;
    61146
     147        print(dataSet);
     148
    62149        int maxDim = 64;
    63150
     
    110197    int iz = 0;
    111198    vtkDataArray *mask = resampledDataSet->GetPointData()->GetArray("vtkValidPointMask");
     199    int numValidPoints = 0;
    112200    for (int p = 0; p < npts; p++) {
    113201        int nindex = p * 4;
     
    131219        }
    132220        if (valid) {
     221            numValidPoints++;
    133222            if (val < vmin) {
    134223                vmin = val;
     
    150239    }
    151240
     241    if (numValidPoints < 1) {
     242        ERROR("No valid points in resample volume");
     243        vmin = 0.0;
     244        vmax = 1.0;
     245    } else {
     246        TRACE("Valid points: %d of %d", numValidPoints, resampledDataSet->GetNumberOfPoints());
     247    }
     248
    152249    if (isVectorData) {
    153250        // Normalize magnitude [0,1] and vector components [0,1]
    154251        normalizeVector(data, npts, vmin, vmax);
    155252    } else {
    156         // scale all values [0-1], -1 => out of bounds
     253        // Normalize all values [0,1], -1 => out of bounds
    157254        normalizeScalar(data, npts, 4, vmin, vmax);
    158255        computeSimpleGradient(data, nx, ny, nz,
Note: See TracChangeset for help on using the changeset viewer.