File: BrainModelSurfaceCutter.h

package info (click to toggle)
caret 5.6.4~dfsg.1-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 31,904 kB
  • ctags: 28,901
  • sloc: cpp: 378,050; python: 6,718; ansic: 5,507; makefile: 333; sh: 46
file content (42 lines) | stat: -rw-r--r-- 1,066 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

#ifndef __BRAIN_MODEL_SURFACE_CUTTER_H__
#define __BRAIN_MODEL_SURFACE_CUTTER_H__

#include "BrainModelAlgorithm.h"

class BrainModelSurface;
class BorderFile;

/// This class applies cuts to a surface
class BrainModelSurfaceCutter : public BrainModelAlgorithm {
   public:
      /// mode of cutting
      enum CUTTING_MODE {
         CUTTING_MODE_NORMAL,
         CUTTING_MODE_NON_NEGATIVE_Z_ONLY
      };
      
      /// Constructor
      BrainModelSurfaceCutter(BrainModelSurface* cuttingSurfaceIn,
                              BorderFile* cutsFileIn,
                              const CUTTING_MODE cuttingModeIn);
      
      /// Destructor
      ~BrainModelSurfaceCutter();
      
      /// Execute the flattening
      virtual void execute() throw (BrainModelAlgorithmException);
      
   protected:
      /// surface to which cuts are applied
      BrainModelSurface* cuttingSurface;
      
      /// the cuts file
      BorderFile* theCuts;
      
      /// cutting mode
      CUTTING_MODE cuttingMode;
};

#endif // __BRAIN_MODEL_SURFACE_CUTTER_H__