#include "vtkImageData.h" #include "rtsVolume.h" #include "rtsImplicit3D.h" /*vtkImageData* rtsVolume2vtkImageData(rtsVolume* inputVolume, int data_type) { vtkImageData* outputImageData = vtkImageData::New(); outputImageData->SetScalarType(data_type); outputImageData->SetDimensions(inputVolume->get_dimx(), inputVolume->get_dimy(), inputVolume->get_dimz()); unsigned char* scalar_pointer = (unsigned char*)outputImageData->GetScalarPointer(); unsigned char* volume_pointer = inputVolume->get_bits(); unsigned int vol_size = inputVolume->get_dimx()*inputVolume->get_dimy()*inputVolume->get_dimz(); for(int i=0; i vtkImageData* rtsImplicit3D2vtkImageData(rtsImplicit3D* in_function, int data_type) { //create the vtkImageData class for storing a uniform grid vtkImageData* outputImageData = vtkImageData::New(); //set the data type of the scalar field outputImageData->SetScalarType(data_type); //set the dimensions of the image data based on the function resolution outputImageData->SetDimensions(in_function->DimX(), in_function->DimY(), in_function->DimZ()); //get a pointer to the scalar field data and the function data unsigned char* scalar_pointer = (unsigned char*)outputImageData->GetScalarPointer(); unsigned char* volume_pointer = (unsigned char*)in_function->GetBits(); unsigned int vol_size; switch(data_type) { case VTK_UNSIGNED_CHAR: vol_size = sizeof(char)*in_function->DimX()*in_function->DimY()*in_function->DimZ(); break; case VTK_DOUBLE: vol_size = sizeof(double)*in_function->DimX()*in_function->DimY()*in_function->DimZ(); break; default: exit(1); } memcpy(scalar_pointer, volume_pointer, vol_size); //for(int i=0; i