OpendTect-6_4  6.4
marchingcubeseditor.h
Go to the documentation of this file.
1 #ifndef marchingcubeseditor_h
2 #define marchingcubeseditor_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: K. Tingdahl
9  Date: August 2007
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "geometrymod.h"
16 #include "paralleltask.h"
17 #include "coord.h"
18 
20 template <class T> class Array3D;
21 
39 {
40 public:
42  virtual ~MarchingCubesSurfaceEditor();
43 
44  bool setKernel(const Array3D<unsigned char>&,
45  int xpos, int ypos, int zpos );
47 
48  bool setFactor(int);
49  int getFactor() const { return factor_; }
51 
52  const Coord3& getCenterNormal() const;
53 
54  virtual bool affectedVolume(Interval<int>& xrg,
55  Interval<int>& yrg,
56  Interval<int>& zrg) const;
57 
59 
60 protected:
61  void reportShapeChange(bool kernelchange);
67  int factor_;
72  float threshold_;
74 
75  int xorigin_;
76  int yorigin_;
77  int zorigin_;
78 
79 private:
80  od_int64 nrIterations() const;
81  bool doPrepare(int);
82  bool doWork(od_int64,od_int64,int);
83  bool doFinish(bool);
84 };
85 
86 #endif
Notifier< MarchingCubesSurfaceEditor > shapeChange
Definition: marchingcubeseditor.h:58
#define mExpClass(module)
Definition: commondefs.h:160
int xorigin_
Definition: marchingcubeseditor.h:75
MarchingCubesSurface & surface_
Definition: marchingcubeseditor.h:66
Definition: marchingcubeseditor.h:38
float threshold_
Definition: marchingcubeseditor.h:72
Array3D< unsigned char > * kernel_
Definition: marchingcubeseditor.h:69
#define od_int64
Definition: plftypes.h:36
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
Array3D< int > * originalsurface_
Definition: marchingcubeseditor.h:71
Definition: marchingcubes.h:82
int zorigin_
Definition: marchingcubeseditor.h:77
A cartesian coordinate in 3D space.
Definition: coord.h:72
Coord3 centernormal_
Definition: marchingcubeseditor.h:73
int prevfactor_
Definition: marchingcubeseditor.h:68
int yorigin_
Definition: marchingcubeseditor.h:76
int factor_
Definition: marchingcubeseditor.h:67
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:153
Definition: arraytesselator.h:21
Array3D< int > * changedsurface_
Definition: marchingcubeseditor.h:70

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019