]> Creatis software - clitk.git/blobdiff - vv/vvLandmarks.h
Merge branch 'master' of git.creatis.insa-lyon.fr:clitk
[clitk.git] / vv / vvLandmarks.h
index f6f16b66e86deefb6a8b9cf17293521e0f66e1de..0abaf61ff13440334c4d04e34dd0d10a5275cfe1 100644 (file)
@@ -1,29 +1,22 @@
 /*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
 
- Program:   vv
- Language:  C++
- Author :   Pierre Seroul (pierre.seroul@gmail.com)
+  Authors belong to: 
+  - University of LYON              http://www.universite-lyon.fr/
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
+  - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
-Copyright (C) 2008
-Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
-CREATIS-LRMN http://www.creatis.insa-lyon.fr
+  This software is distributed WITHOUT ANY WARRANTY; without even
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE.  See the copyright notices for more information.
 
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 3 of the License.
+  It is distributed under dual licence
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-=========================================================================*/
+  - BSD        See included LICENSE.txt file
+  - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+===========================================================================**/
 #ifndef vvLandmarks_h
 #define vvLandmarks_h
-
 #include <iostream>
 #include <vector>
 
@@ -31,6 +24,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "vtkPolyData.h"
 #include "vtkPoints.h"
 #include "vvLandmarksGlyph.h"
+#include "vtkStringArray.h"
 
 //typedef
 struct vvLandmark {
@@ -45,18 +39,17 @@ public :
     vvLandmarks(int size);
     ~vvLandmarks();
 
-    void LoadFile(std::string filename);
+    bool LoadFile(std::string filename);
     void SaveFile(std::string filename);
 
     void AddLandmark(float x,float y,float z,float t,double value);
     void RemoveLastLandmark();
+    void RemoveLandmark(int index);
     void ChangeComments(int index, std::string comments);
     float* GetCoordinates(int index);
     double GetPixelValue(int index);
     std::string GetComments(int index);
-    int GetNumberOfPoints() {
-        return mLandmarks.size();
-    }
+    unsigned int GetNumberOfPoints() { return (unsigned int) mLandmarks.size(); }
     //int GetNumberOfSources(){return mText.size();}
 
     vtkPolyData* GetOutput() {
@@ -75,8 +68,13 @@ private:
     std::vector<vtkPoints*> mPoints;
     vtkFloatArray* mIds;
     //std::vector<vvLandmarksGlyph*> mText;
+    vtkStringArray* mLabels;
     std::string mFilename;
     int mFormatVersion;
+
+    bool LoadTxtFile(std::string filename);
+    bool LoadPtsFile(std::string filename);
+  
 };
 
 #endif