anatomist  5.1.2
3D neuroimaging data viewer
defFusionMethods.h
Go to the documentation of this file.
1 /* This software and supporting documentation are distributed by
2  * Institut Federatif de Recherche 49
3  * CEA/NeuroSpin, Batiment 145,
4  * 91191 Gif-sur-Yvette cedex
5  * France
6  *
7  * This software is governed by the CeCILL-B license under
8  * French law and abiding by the rules of distribution of free software.
9  * You can use, modify and/or redistribute the software under the
10  * terms of the CeCILL-B license as circulated by CEA, CNRS
11  * and INRIA at the following URL "http://www.cecill.info".
12  *
13  * As a counterpart to the access to the source code and rights to copy,
14  * modify and redistribute granted by the license, users are provided only
15  * with a limited warranty and the software's author, the holder of the
16  * economic rights, and the successive licensors have only limited
17  * liability.
18  *
19  * In this respect, the user's attention is drawn to the risks associated
20  * with loading, using, modifying and/or developing or reproducing the
21  * software by the user in light of its specific status of free software,
22  * that may mean that it is complicated to manipulate, and that also
23  * therefore means that it is reserved for developers and experienced
24  * professionals having in-depth computer knowledge. Users are therefore
25  * encouraged to load and test the software's suitability as regards their
26  * requirements in conditions enabling the security of their systems and/or
27  * data to be ensured and, more generally, to use and operate it in the
28  * same conditions as regards security.
29  *
30  * The fact that you are presently reading this means that you have had
31  * knowledge of the CeCILL-B license and that you accept its terms.
32  */
33 
34 
35 #ifndef ANA_FUSION_DEFFUSIONMETHODS_H
36 #define ANA_FUSION_DEFFUSIONMETHODS_H
37 
38 
40 
41 
42 namespace anatomist
43 {
44 
48  {
49  public:
51  virtual ~Fusion2dMethod() {}
52 
53  virtual int canFusion( const std::set<AObject *> & );
55  virtual AObject* fusion( const std::vector<AObject *> & );
57  virtual std::string ID() const;
58  virtual std::string generatedObjectType() const;
59 
60  protected:
61 
62  private:
63  };
64 
65 
74  {
75  public:
77  virtual ~Fusion3dMethod() {}
78  virtual int canFusion( const std::set<AObject *> & );
80  virtual AObject* fusion( const std::vector<AObject *> & );
82  virtual std::string ID() const;
83  virtual std::string generatedObjectType() const;
84 
85  protected:
86 
87  private:
88  };
89 
90 
92  {
93  public:
95  virtual ~PlanarFusion3dMethod() {}
96  virtual int canFusion( const std::set<AObject *> & );
98  virtual AObject* fusion( const std::vector<AObject *> & );
100  virtual std::string ID() const;
101  virtual std::string generatedObjectType() const;
102 
103  protected:
104 
105  private:
106  };
107 
108 
110  {
111  public:
113  virtual ~FusionTextureMethod() {}
114  virtual int canFusion( const std::set<AObject *> & );
115  virtual AObject* fusion( const std::vector<AObject *> & );
116  virtual std::string ID() const;
117  virtual std::string generatedObjectType() const;
118  };
119 
120 
122  {
123  public:
126  virtual int canFusion( const std::set<AObject *> & );
127  virtual AObject* fusion( const std::vector<AObject *> & );
128  virtual std::string ID() const;
129  virtual std::string generatedObjectType() const;
130  };
131 
132 
134  {
135  public:
137  virtual ~FusionCutMeshMethod() {}
138  virtual int canFusion( const std::set<AObject *> & );
139  virtual AObject* fusion( const std::vector<AObject *> & );
140  virtual std::string ID() const;
141  virtual std::string generatedObjectType() const;
142  };
143 
145  {
146  public:
148  virtual ~Fusion2DMeshMethod() {}
149  virtual int canFusion( const std::set<AObject *> & );
150  virtual AObject* fusion( const std::vector<AObject *> & );
151  virtual std::string ID() const;
152  virtual std::string generatedObjectType() const;
153  };
154 
156  {
157  public:
159  virtual ~FusionSliceMethod() {}
160  virtual int canFusion( const std::set<AObject *> & );
161  virtual AObject* fusion( const std::vector<AObject *> & );
162  virtual std::string ID() const;
163  virtual std::string generatedObjectType() const;
164  };
165 
166 
168  {
169  public:
172  virtual int canFusion( const std::set<AObject *> & );
173  virtual AObject* fusion( const std::vector<AObject *> & );
174  virtual std::string ID() const;
175  virtual std::string generatedObjectType() const;
176  };
177 
178 
180  {
181  public:
183  virtual ~FusionClipMethod() {}
184  virtual int canFusion( const std::set<AObject *> & );
185  virtual AObject* fusion( const std::vector<AObject *> & );
186  virtual std::string ID() const;
187  virtual std::string generatedObjectType() const;
188  };
189 
190 
192  {
193  public:
196  virtual int canFusion( const std::set<AObject *> & );
197  virtual AObject* fusion( const std::vector<AObject *> & );
198  virtual std::string ID() const;
199  virtual std::string generatedObjectType() const;
200  };
201 
202 
204  {
205  public:
208  virtual int canFusion( const std::set<AObject *> & );
209  virtual AObject* fusion( const std::vector<AObject *> & );
210  virtual std::string ID() const;
211  virtual bool orderingMatters() const { return false; }
212  virtual std::string generatedObjectType() const;
213  };
214 
216  {
217  public:
220  virtual int canFusion( const std::set<AObject *> & );
221  virtual AObject* fusion( const std::vector<AObject *> & );
222  virtual std::string ID() const;
223  virtual std::string generatedObjectType() const;
224  };
225 
226 }
227 
228 
229 #endif
Base Anatomist object (abstract)
Definition: Object.h:96
virtual std::string generatedObjectType() const
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string ID() const
identifier for the method
virtual std::string ID() const
identifier for the method
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
Default fusion method for Fusion2D objects.
virtual std::string generatedObjectType() const
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
Default fusion method for Fusion3D objects.
virtual std::string generatedObjectType() const
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string ID() const
identifier for the method
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string generatedObjectType() const
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string ID() const
identifier for the method
virtual std::string generatedObjectType() const
Fusion method interface.
Definition: fusionFactory.h:57
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string generatedObjectType() const
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
virtual std::string ID() const
identifier for the method
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
virtual std::string ID() const
identifier for the method
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
virtual std::string generatedObjectType() const
virtual std::string ID() const
identifier for the method
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string ID() const
identifier for the method
virtual AObject * fusion(const std::vector< AObject * > &)
creates the fusion
virtual std::string generatedObjectType() const
virtual int canFusion(const std::set< AObject * > &)
returns 0 if fusion is not possible on the given objects, or a positive number if it is allowed.