1 /*============================================================================
2   MetaIO
3   Copyright 2000-2010 Insight Software Consortium
4 
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7 
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #include "metaTypes.h"
13 
14 #ifndef ITKMetaIO_METAVESSELTUBE_H
15 #  define ITKMetaIO_METAVESSELTUBE_H
16 
17 #  include "metaUtils.h"
18 #  include "metaObject.h"
19 #  include "metaTube.h"
20 
21 #  ifdef _MSC_VER
22 #    pragma warning(disable : 4251)
23 #  endif
24 
25 #  include <list>
26 
27 
28 /*!    MetaVesselTube (.h and .cpp)
29  *
30  * Description:
31  *    Reads and Writes MetaVesselTubeFiles.
32  *
33  * \author Julien Jomier
34  *
35  * \date May 22, 2002
36  */
37 
38 #  if (METAIO_USE_NAMESPACE)
39 namespace METAIO_NAMESPACE
40 {
41 #  endif
42 
43 class METAIO_EXPORT VesselTubePnt : public TubePnt
44 {
45 public:
46   explicit VesselTubePnt(int dim);
47   ~VesselTubePnt() override;
48 };
49 
50 
51 class METAIO_EXPORT MetaVesselTube : public MetaTube
52 {
53   // PUBLIC
54 public:
55   MetaVesselTube();
56 
57   explicit MetaVesselTube(const char * _headerName);
58 
59   explicit MetaVesselTube(const MetaVesselTube * _vesselTube);
60 
61   explicit MetaVesselTube(unsigned int dim);
62 
63   ~MetaVesselTube() override;
64 
65   void
66   Clear() override;
67 
68   void
69   PrintInfo() const override;
70 };
71 
72 #  if (METAIO_USE_NAMESPACE)
73 };
74 #  endif
75 
76 #endif
77