OpenWalnut  1.5.0dev
WMMergePoints.h
1 //---------------------------------------------------------------------------
2 //
3 // Project: OpenWalnut ( http://www.openwalnut.org )
4 //
5 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6 // For more information see http://www.openwalnut.org/copying
7 //
8 // This file is part of OpenWalnut.
9 //
10 // OpenWalnut is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU Lesser General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // OpenWalnut is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public License
21 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22 //
23 //---------------------------------------------------------------------------
24 
25 #ifndef WMMERGEPOINTS_H
26 #define WMMERGEPOINTS_H
27 
28 #include <memory>
29 #include <string>
30 
31 #include "core/dataHandler/WDataSetPoints.h"
32 #include "core/kernel/WModule.h"
33 #include "core/kernel/WModuleInputData.h"
34 #include "core/kernel/WModuleOutputData.h"
35 
36 /**
37  * This modules takes some point data and merges them into one new point dataset
38  *
39  * \ingroup modules
40  */
41 class WMMergePoints: public WModule
42 {
43 public:
44  /**
45  * Default constructor.
46  */
47  WMMergePoints();
48 
49  /**
50  * Destructor.
51  */
52  virtual ~WMMergePoints();
53 
54  /**
55  * Gives back the name of this module.
56  * \return the module's name.
57  */
58  virtual const std::string getName() const;
59 
60  /**
61  * Gives back a description of this module.
62  * \return description to module.
63  */
64  virtual const std::string getDescription() const;
65 
66  /**
67  * Due to the prototype design pattern used to build modules, this method returns a new instance of this method. NOTE: it
68  * should never be initialized or modified in some other way. A simple new instance is required.
69  *
70  * \return the prototype used to create every module in OpenWalnut.
71  */
72  virtual std::shared_ptr< WModule > factory() const;
73 
74  /**
75  * Get the icon for this module in XPM format.
76  * \return The icon.
77  */
78  virtual const char** getXPMIcon() const;
79 
80 protected:
81  /**
82  * Entry point after loading the module. Runs in separate thread.
83  */
84  virtual void moduleMain();
85 
86  /**
87  * Initialize the connectors this module is using.
88  */
89  virtual void connectors();
90 
91  /**
92  * Initialize the properties for this module.
93  */
94  virtual void properties();
95 
96 private:
97  /**
98  * The input data.
99  */
100  std::shared_ptr< WModuleInputData< WDataSetPoints > > m_pointsInput1;
101 
102  /**
103  * The input data.
104  */
105  std::shared_ptr< WModuleInputData< WDataSetPoints > > m_pointsInput2;
106 
107  /**
108  * The output connector used to provide the calculated point data to other modules.
109  */
110  std::shared_ptr< WModuleOutputData< WDataSetPoints > > m_pointsOutput;
111 
112  /**
113  * A condition used to notify about changes in several properties.
114  */
115  std::shared_ptr< WCondition > m_propCondition;
116 };
117 
118 #endif // WMMERGEPOINTS_H
119 
This modules takes some point data and merges them into one new point dataset.
Definition: WMMergePoints.h:42
std::shared_ptr< WModuleInputData< WDataSetPoints > > m_pointsInput1
The input data.
virtual const std::string getName() const
Gives back the name of this module.
virtual ~WMMergePoints()
Destructor.
virtual std::shared_ptr< WModule > factory() const
Due to the prototype design pattern used to build modules, this method returns a new instance of this...
virtual void properties()
Initialize the properties for this module.
virtual void moduleMain()
Entry point after loading the module.
virtual void connectors()
Initialize the connectors this module is using.
std::shared_ptr< WModuleOutputData< WDataSetPoints > > m_pointsOutput
The output connector used to provide the calculated point data to other modules.
std::shared_ptr< WCondition > m_propCondition
A condition used to notify about changes in several properties.
virtual const char ** getXPMIcon() const
Get the icon for this module in XPM format.
virtual const std::string getDescription() const
Gives back a description of this module.
std::shared_ptr< WModuleInputData< WDataSetPoints > > m_pointsInput2
The input data.
WMMergePoints()
Default constructor.
Class representing a single module of OpenWalnut.
Definition: WModule.h:72