Ignore:
Timestamp:
Jul 26, 2013, 6:00:09 PM (11 years ago)
Author:
ldelgass
Message:

Sync with trunk. Branch now differs only from trunk by r3722 (branch is version
1.3, trunk is version 1.4)

Location:
branches/1.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/1.3

  • branches/1.3/packages/vizservers/vtkvis/Volume.cpp

    r3680 r3844  
    8383    double spacing[3];
    8484    getSpacing(spacing);
     85    TRACE("Spacing: %g %g %g", spacing[0], spacing[1], spacing[2]);
    8586    return (spacing[0] + spacing[1] + spacing[2]) * 0.333;
    8687}
     
    120121#endif
    121122        vtkVolumeMapper::SafeDownCast(_volumeMapper)->SetBlendModeToComposite();
     123    } else if (_dataSet->isCloud()) {
     124        // DataSet is a 3D point cloud
     125        vtkSmartPointer<vtkGaussianSplatter> splatter = vtkSmartPointer<vtkGaussianSplatter>::New();
     126#ifdef USE_VTK6
     127        splatter->SetInputData(ds);
     128#else
     129        splatter->SetInput(ds);
     130#endif
     131        int dims[3];
     132        dims[0] = dims[1] = dims[2] = 64;
     133        TRACE("Generating volume with dims (%d,%d,%d) from point cloud",
     134              dims[0], dims[1], dims[2]);
     135        splatter->SetSampleDimensions(dims);
     136        splatter->Update();
     137        TRACE("Done generating volume");
     138#ifdef USE_GPU_RAYCAST_MAPPER
     139        _volumeMapper = vtkSmartPointer<vtkGPUVolumeRayCastMapper>::New();
     140        vtkGPUVolumeRayCastMapper::SafeDownCast(_volumeMapper)->AutoAdjustSampleDistancesOff();
     141#else
     142        _volumeMapper = vtkSmartPointer<vtkVolumeTextureMapper3D>::New();
     143#endif
     144        _volumeMapper->SetInputConnection(splatter->GetOutputPort());
     145        vtkVolumeMapper::SafeDownCast(_volumeMapper)->SetBlendModeToComposite();
    122146    } else if (vtkUnstructuredGrid::SafeDownCast(ds) != NULL) {
     147        // Unstructured grid with cells (not a cloud)
    123148        vtkUnstructuredGrid *ugrid = vtkUnstructuredGrid::SafeDownCast(ds);
    124149        // DataSet is unstructured grid
     
    144169#endif
    145170            filter->TetrahedraOnlyOn();
     171            TRACE("Decomposing grid to tets");
     172            filter->Update();
     173            TRACE("Decomposing done");
    146174            _volumeMapper->SetInputConnection(filter->GetOutputPort());
    147175        }
     
    149177        vtkUnstructuredGridVolumeMapper::SafeDownCast(_volumeMapper)->
    150178            SetBlendModeToComposite();
    151     } else if (_dataSet->isCloud()) {
    152         // DataSet is a 3D point cloud
    153         vtkSmartPointer<vtkGaussianSplatter> splatter = vtkSmartPointer<vtkGaussianSplatter>::New();
    154 #ifdef USE_VTK6
    155         splatter->SetInputData(ds);
    156 #else
    157         splatter->SetInput(ds);
    158 #endif
    159         int dims[3];
    160         dims[0] = dims[1] = dims[2] = 64;
    161         TRACE("Generating volume with dims (%d,%d,%d) from point cloud",
    162               dims[0], dims[1], dims[2]);
    163         splatter->SetSampleDimensions(dims);
    164 #ifdef USE_GPU_RAYCAST_MAPPER
    165         _volumeMapper = vtkSmartPointer<vtkGPUVolumeRayCastMapper>::New();
    166         vtkGPUVolumeRayCastMapper::SafeDownCast(_volumeMapper)->AutoAdjustSampleDistancesOff();
    167 #else
    168         _volumeMapper = vtkSmartPointer<vtkVolumeTextureMapper3D>::New();
    169 #endif
    170         _volumeMapper->SetInputConnection(splatter->GetOutputPort());
    171         vtkVolumeMapper::SafeDownCast(_volumeMapper)->SetBlendModeToComposite();
    172179    } else {
    173180        ERROR("Unsupported DataSet type: %s", _dataSet->getVtkType());
Note: See TracChangeset for help on using the changeset viewer.