OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "geometrymod.h"
15 #include "paralleltask.h"
16 #include "coord.h"
17 
19 template <class T> class Array3D;
20 
38 {
39 public:
42 
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:
80  bool doPrepare(int);
82  bool doFinish(bool);
83 };
84 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
MarchingCubesSurfaceEditor::~MarchingCubesSurfaceEditor
virtual ~MarchingCubesSurfaceEditor()
MarchingCubesSurfaceEditor::nrIterations
od_int64 nrIterations() const
MarchingCubesSurfaceEditor::threshold_
float threshold_
Definition: marchingcubeseditor.h:71
Geometry
Definition: arraytesselator.h:21
MarchingCubesSurfaceEditor::MarchingCubesSurfaceEditor
MarchingCubesSurfaceEditor(MarchingCubesSurface &)
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
MarchingCubesSurfaceEditor::setKernel
bool setKernel(const Array3D< unsigned char > &, int xpos, int ypos, int zpos)
Kernel becomes mine.
MarchingCubesSurfaceEditor::doFinish
bool doFinish(bool)
MarchingCubesSurfaceEditor::surface_
MarchingCubesSurface & surface_
Definition: marchingcubeseditor.h:65
MarchingCubesSurfaceEditor::kernel_
Array3D< unsigned char > * kernel_
Definition: marchingcubeseditor.h:68
Array3D
Array3D ( Subclass of ArrayND ) is a three dimensional array.
Definition: arraynd.h:162
MarchingCubesSurfaceEditor::originalsurface_
Array3D< int > * originalsurface_
Definition: marchingcubeseditor.h:70
MarchingCubesSurfaceEditor::yorigin_
int yorigin_
Definition: marchingcubeseditor.h:75
Notifier< MarchingCubesSurfaceEditor >
MarchingCubesSurfaceEditor::prevfactor_
int prevfactor_
Definition: marchingcubeseditor.h:67
MarchingCubesSurfaceEditor::setFactor
bool setFactor(int)
MarchingCubesSurfaceEditor::centernormal_
Coord3 centernormal_
Definition: marchingcubeseditor.h:72
MarchingCubesSurfaceEditor::getCenterNormal
const Coord3 & getCenterNormal() const
MarchingCubesSurfaceEditor::factor_
int factor_
Definition: marchingcubeseditor.h:66
MarchingCubesSurfaceEditor::reportShapeChange
void reportShapeChange(bool kernelchange)
ParallelTask
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
MarchingCubesSurfaceEditor
Definition: marchingcubeseditor.h:38
MarchingCubesSurfaceEditor::zorigin_
int zorigin_
Definition: marchingcubeseditor.h:76
MarchingCubesSurfaceEditor::xorigin_
int xorigin_
Definition: marchingcubeseditor.h:74
MarchingCubesSurfaceEditor::doWork
bool doWork(od_int64, od_int64, int)
MarchingCubesSurfaceEditor::affectedVolume
virtual bool affectedVolume(Interval< int > &xrg, Interval< int > &yrg, Interval< int > &zrg) const
MarchingCubesSurfaceEditor::shapeChange
Notifier< MarchingCubesSurfaceEditor > shapeChange
Definition: marchingcubeseditor.h:57
MarchingCubesSurfaceEditor::changedsurface_
Array3D< int > * changedsurface_
Definition: marchingcubeseditor.h:69
Interval< int >
MarchingCubesSurfaceEditor::doPrepare
bool doPrepare(int)
paralleltask.h
MarchingCubesSurface
Definition: marchingcubes.h:82
coord.h

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