SurfaceConstraint.h
1 /*
2  * Medical Image Registration ToolKit (MIRTK)
3  *
4  * Copyright 2013-2015 Imperial College London
5  * Copyright 2013-2015 Andreas Schuh
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef MIRTK_SurfaceConstraint_H
21 #define MIRTK_SurfaceConstraint_H
22 
23 #include "mirtk/InternalForce.h"
24 
25 
26 namespace mirtk {
27 
28 
29 /**
30  * Base class for a penalty term imposed on a point set surface
31  *
32  * Subclasses represent in particular internal forces of the boundary surface of
33  * a simplicial complex such as curvature and non-self-intersection.
34  */
36 {
37  mirtkAbstractMacro(SurfaceConstraint);
38 
39  // ---------------------------------------------------------------------------
40  // Construction/Destruction
41 
42 protected:
43 
44  /// Constructor
45  SurfaceConstraint(const char * = "", double = 1.0);
46 
47  /// Copy constructor
49 
50  /// Assignment operator
52 
53 public:
54 
55  /// Destructor
56  virtual ~SurfaceConstraint();
57 
58 };
59 
60 
61 } // namespace mirtk
62 
63 #endif // MIRTK_SurfaceConstraint_H
SurfaceConstraint & operator=(const SurfaceConstraint &)
Assignment operator.
Definition: IOConfig.h:41
SurfaceConstraint(const char *="", double=1.0)
Constructor.
virtual ~SurfaceConstraint()
Destructor.