Changeset 2270 for trunk/packages/vizservers/vtkvis/RpVtkDataSet.cpp
- Timestamp:
- Jun 5, 2011, 1:26:07 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/vtkvis/RpVtkDataSet.cpp
r2263 r2270 8 8 #include <vtkCharArray.h> 9 9 #include <vtkDataSetReader.h> 10 #include <vtkDataSetMapper.h> 10 #include <vtkPolyData.h> 11 #include <vtkStructuredPoints.h> 12 #include <vtkStructuredGrid.h> 13 #include <vtkRectilinearGrid.h> 14 #include <vtkUnstructuredGrid.h> 11 15 #include <vtkProperty.h> 12 16 #include <vtkPointData.h> … … 61 65 { 62 66 vtkSmartPointer<vtkDataSetReader> reader = vtkSmartPointer<vtkDataSetReader>::New(); 67 68 #if defined(WANT_TRACE) && defined(DEBUG) 69 reader->DebugOn(); 70 #endif 71 63 72 reader->SetFileName(filename); 73 reader->ReadAllScalarsOn(); 74 reader->ReadAllVectorsOn(); 64 75 return setData(reader); 65 76 } … … 70 81 bool DataSet::setData(char *data, int nbytes) 71 82 { 83 TRACE("Entering"); 84 72 85 vtkSmartPointer<vtkDataSetReader> reader = vtkSmartPointer<vtkDataSetReader>::New(); 73 86 vtkSmartPointer<vtkCharArray> dataSetString = vtkSmartPointer<vtkCharArray>::New(); 87 88 #if defined(WANT_TRACE) && defined(DEBUG) 89 reader->DebugOn(); 90 dataSetString->DebugOn(); 91 #endif 74 92 75 93 dataSetString->SetArray(data, nbytes, 1); 76 94 reader->SetInputArray(dataSetString); 77 95 reader->ReadFromInputStringOn(); 78 return setData(reader); 96 reader->ReadAllScalarsOn(); 97 reader->ReadAllVectorsOn(); 98 99 bool status = setData(reader); 100 101 TRACE("Leaving"); 102 return status; 79 103 } 80 104 81 105 /** 82 106 * \brief Read dataset using supplied reader 107 * 108 * Pipeline information is removed from the resulting 109 * vtkDataSet, so that the reader and its data can be 110 * released 83 111 */ 84 112 bool DataSet::setData(vtkDataSetReader *reader) … … 86 114 // Force reading data set 87 115 reader->SetLookupTableName(""); 116 reader->Update(); 117 88 118 _dataSet = reader->GetOutput(); 89 _dataSet->Update(); 119 _dataSet->SetPipelineInformation(NULL); 120 90 121 _dataSet->GetScalarRange(_dataRange); 91 122 _dataSet->GetBounds(_bounds); … … 97 128 98 129 /** 99 * \brief Set dataset from existing vtkDataSet object 130 * \brief Set DataSet from existing vtkDataSet object 131 * 132 * Pipeline information is removed from the supplied vtkDataSet 100 133 */ 101 134 bool DataSet::setData(vtkDataSet *ds) 102 135 { 103 136 _dataSet = ds; 104 _dataSet-> Update();137 _dataSet->SetPipelineInformation(NULL); 105 138 _dataSet->GetScalarRange(_dataRange); 106 139 _dataSet->GetBounds(_bounds); … … 109 142 TRACE("Scalar Range: %.12e, %.12e", _dataRange[0], _dataRange[1]); 110 143 return true; 144 } 145 146 /** 147 * \brief Copy an existing vtkDataSet object 148 * 149 * Pipeline information is not copied from the supplied vtkDataSet 150 * into this DataSet, but pipeline information in the supplied 151 * vtkDataSet is not removed 152 */ 153 vtkDataSet *DataSet::copyData(vtkDataSet *ds) 154 { 155 if (vtkPolyData::SafeDownCast(ds) != NULL) { 156 _dataSet = vtkSmartPointer<vtkPolyData>::New(); 157 _dataSet->DeepCopy(vtkPolyData::SafeDownCast(ds)); 158 } else if (vtkStructuredPoints::SafeDownCast(ds) != NULL) { 159 _dataSet = vtkSmartPointer<vtkStructuredPoints>::New(); 160 _dataSet->DeepCopy(vtkStructuredPoints::SafeDownCast(ds)); 161 } else if (vtkStructuredGrid::SafeDownCast(ds) != NULL) { 162 _dataSet = vtkSmartPointer<vtkStructuredGrid>::New(); 163 _dataSet->DeepCopy(vtkStructuredGrid::SafeDownCast(ds)); 164 } else if (vtkRectilinearGrid::SafeDownCast(ds) != NULL) { 165 _dataSet = vtkSmartPointer<vtkRectilinearGrid>::New(); 166 _dataSet->DeepCopy(vtkRectilinearGrid::SafeDownCast(ds)); 167 } else if (vtkUnstructuredGrid::SafeDownCast(ds) != NULL) { 168 _dataSet = vtkSmartPointer<vtkUnstructuredGrid>::New(); 169 _dataSet->DeepCopy(vtkUnstructuredGrid::SafeDownCast(ds)); 170 } else { 171 ERROR("Unknown data type"); 172 return NULL; 173 } 174 _dataSet->GetScalarRange(_dataRange); 175 _dataSet->GetBounds(_bounds); 176 177 TRACE("DataSet class: %s", _dataSet->GetClassName()); 178 TRACE("Scalar Range: %.12e, %.12e", _dataRange[0], _dataRange[1]); 179 return _dataSet; 111 180 } 112 181
Note: See TracChangeset
for help on using the changeset viewer.