]> Creatis software - creaMaracasVisu.git/blobdiff - lib/Kernel/VTKObjects/SurfaceRenderer/wxMaracasSurfaceRenderingManagerData.cxx
linking error on fedora, changes in qt cmake
[creaMaracasVisu.git] / lib / Kernel / VTKObjects / SurfaceRenderer / wxMaracasSurfaceRenderingManagerData.cxx
index b302cac4e54b44f58b07cf377c117eebfe5e1dc5..510ec5c53b3ddb681a14a2664e0f5c8c8304205d 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <vtkSmartPointer.h>
 #include "vtkSTLWriter.h"
+#include "vtkPLYWriter.h"
 
 /********************************************************************************************
 ** Start of data viewmanagerData
@@ -114,12 +115,25 @@ void wxMaracasSurfaceRenderingManagerData::setDataname(std::string dataname){
 
 void wxMaracasSurfaceRenderingManagerData::saveProp3DSTL(const char* filename){
     if(_dataMapper){
-        vtkSmartPointer<vtkSTLWriter> stlWriter =
-        vtkSmartPointer<vtkSTLWriter>::New();
-          stlWriter->SetFileName(filename);
-          stlWriter->SetInput(_dataMapper->GetInput());
-          stlWriter->SetFileTypeToBinary();
-          stlWriter->Write();
+
+        std::string filena(filename);
+        std::string ext = filena.substr(filena.find_last_of("."), 4);
+        if(ext.compare(PLY) == 0){
+            vtkSmartPointer<vtkPLYWriter> plywriter =
+            vtkSmartPointer<vtkPLYWriter>::New();
+              plywriter->SetFileName(filename);
+              plywriter->SetInput(_dataMapper->GetInput());
+              plywriter->Write();
+        }else if(ext.compare(PLY) == 0){
+            vtkSmartPointer<vtkSTLWriter> stlWriter =
+            vtkSmartPointer<vtkSTLWriter>::New();
+              stlWriter->SetFileName(filename);
+              stlWriter->SetInput(_dataMapper->GetInput());
+              stlWriter->SetFileTypeToBinary();
+              stlWriter->Write();
+        }else{
+            cout<<"unsupported format"<<endl;
+        }
     }
 }