]> Creatis software - clitk.git/blobdiff - vv/vvMainWindow.cxx
added functionality for OBJ meshes. Untested.
[clitk.git] / vv / vvMainWindow.cxx
index 89319bc17f4aca000f4d05c19f1eaab0ae9507e8..1dbd8e4575fadbeeccfd645091ec3b147139c442 100644 (file)
@@ -3,8 +3,8 @@
   Program:   vv
   Module:    $RCSfile: vvMainWindow.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/03/01 15:38:09 $
-  Version:   $Revision: 1.14 $
+  Date:      $Date: 2010/03/10 15:36:26 $
+  Version:   $Revision: 1.16 $
   Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
   Copyright (C) 200COLUMN_IMAGE_NAME
@@ -415,7 +415,7 @@ void vvMainWindow::OpenVTKContour()
 {
   if (mSlicerManagers.size() > 0)
     {
-      QString Extensions = "Images ( *.vtk)";
+      QString Extensions = "Images ( *.vtk; *.obj)";
       Extensions += ";;All Files (*)";
       QString file = QFileDialog::getOpenFileName(this,tr("Open vtkPolyData"),mInputPathName,Extensions);
       if (file.isNull())
@@ -423,6 +423,7 @@ void vvMainWindow::OpenVTKContour()
       QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
       int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
       vvMeshReader reader;
+      reader.SetImage(mSlicerManagers[index]->GetImage());
       reader.SetModeToVTK();
       reader.SetFilename(file.toStdString());
       reader.Update();
@@ -567,45 +568,45 @@ void vvMainWindow::MergeImages() {
   for (int i = 0; i < files.size(); i++)
     {
       itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(
-                                                                            files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode);
+              files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode);
       reader->SetFileName(files[i].toStdString().c_str());
       reader->ReadImageInformation();
-      if (reader)  NOViewWidget->hide();
-      NEViewWidget->hide();
-      SOViewWidget->hide();
-      SEViewWidget->hide();
-      {
-        if (i == 0)
-          currentDim = reader->GetNumberOfDimensions();
-        bool IsOk = true;
-        for (unsigned int j = 0;j < currentDim; j++)
+      if (reader)        {
+          //NOViewWidget->hide();
+          //NEViewWidget->hide();
+          //SOViewWidget->hide();
+          //SEViewWidget->hide();
+          if (i == 0)
+              currentDim = reader->GetNumberOfDimensions();
+          bool IsOk = true;
+          for (unsigned int j = 0;j < currentDim; j++)
           {
-            if (i == 0)
+              if (i == 0)
               {
-                if (j == 0)
+                  if (j == 0)
                   {
-                    currentSpacing.resize(currentDim);
-                    currentSize.resize(currentDim);
-                    currentOrigin.resize(currentDim);
+                      currentSpacing.resize(currentDim);
+                      currentSize.resize(currentDim);
+                      currentOrigin.resize(currentDim);
                   }
-                currentOrigin[j] = reader->GetOrigin(j);
-                currentSpacing[j] = reader->GetSpacing(j);
-                currentSize[j] = reader->GetDimensions(j);
+                  currentOrigin[j] = reader->GetOrigin(j);
+                  currentSpacing[j] = reader->GetSpacing(j);
+                  currentSize[j] = reader->GetDimensions(j);
               }
-            else if (currentDim != reader->GetNumberOfDimensions()
-                     || currentSpacing[j] != reader->GetSpacing(j)
-                     || currentSize[j] != (int)reader->GetDimensions(j)
-                     || currentOrigin[j] != reader->GetOrigin(j))
+              else if (currentDim != reader->GetNumberOfDimensions()
+                      || currentSpacing[j] != reader->GetSpacing(j)
+                      || currentSize[j] != (int)reader->GetDimensions(j)
+                      || currentOrigin[j] != reader->GetOrigin(j))
               {
-                QString error = "Cannot read file (too different from others ";
-                error += files[i].toStdString().c_str();
-                QMessageBox::information(this,tr("Reading problem"),error);
-                IsOk = false;
-                break;
+                  QString error = "Cannot read file (too different from others ";
+                  error += files[i].toStdString().c_str();
+                  QMessageBox::information(this,tr("Reading problem"),error);
+                  IsOk = false;
+                  break;
               }
           }
-        if (IsOk)
-          vector.push_back(files[i].toStdString());
+          if (IsOk)
+              vector.push_back(files[i].toStdString());
       }
     }
   if (vector.size() > 0)