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

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