fw4spl
SExtractMeshByType.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2014-2017.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __CTRLCAMP_SEXTRACTMESHBYTYPE_HPP__
8 #define __CTRLCAMP_SEXTRACTMESHBYTYPE_HPP__
9 
10 #include "ctrlCamp/config.hpp"
11 #include "ctrlCamp/ICamp.hpp"
12 
13 #include <fwCore/base.hpp>
14 
15 #include <fwServices/IService.hpp>
16 #include <fwServices/macros.hpp>
17 
18 namespace ctrlCamp
19 {
55 class CTRLCAMP_CLASS_API SExtractMeshByType : public ::ctrlCamp::ICamp
56 {
57 public:
58 
60 
61  typedef std::map<std::string, std::tuple< std::string, std::string, std::string > > ExtractMapType;
62  typedef std::vector<std::pair< std::string, std::string > > ExtractVectorType;
63 
65  CTRLCAMP_API SExtractMeshByType();
66 
68  CTRLCAMP_API ~SExtractMeshByType();
69 
70 protected:
71 
73  CTRLCAMP_API virtual void starting() override;
74 
76  CTRLCAMP_API virtual void configuring() override;
77 
79  CTRLCAMP_API virtual void stopping() override;
80 
82  CTRLCAMP_API virtual void updating() override;
83 
84 private:
85 
88  ExtractMapType m_extractOld;
89 
91  ExtractVectorType m_extract;
92 };
93 
94 }// namespace ctrlCamp
95 
96 #endif /* __CTRLCAMP_SEXTRACTMESHBYTYPE_HPP__ */
The namespace ctrlCamp contains services using camp.
Definition: ICamp.hpp:18
This interface defines service API. It can be considered as a default type for services using fwCamp...
Definition: ICamp.hpp:23
This service extract meshes of a specific structure type from fwMedData::ModelSeries. If the model series have some meshes with the same structure type, it will extract the first found. Additionnaly, it can also match the organ name with a regular expression.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.