OpendTect  6.6
isocontourtracer.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: J.C. Glas
8  Date: November 2007
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "algomod.h"
15 #include "arraynd.h"
16 #include "arrayndimpl.h"
17 #include "ranges.h"
18 #include "polygon.h"
19 
25 {
26 public:
27 
30 
31  void setSampling(const StepInterval<int>& xsamp,
32  const StepInterval<int>& ysamp);
33  void selectRectROI(const Interval<int>& xintv,
34  const Interval<int>& yintv);
36 
37  void setBendPointsOnly(float eps);
38  void setMinNrVertices(int);
39  void setNrLargestOnly(int);
40  void setEdgeValue(float);
41 
43  float z,bool closedonly=false) const;
44 
45 protected:
46 
48  float z) const;
49 
52  bool closedonly) const;
53 
54  void addVertex(ODPolygon<float>& contour,
55  bool headinsert,int idx,int idy,
56  int hor,float frac) const;
57 
59 
64 
67  float edgevalue_;
69  unsigned int edgepar_;
70 
72 };
73 
74 
IsoContourTracer::addVertex
void addVertex(ODPolygon< float > &contour, bool headinsert, int idx, int idy, int hor, float frac) const
ODPolygon< float >
IsoContourTracer::selectPolyROI
void selectPolyROI(const ODPolygon< float > *)
IsoContourTracer::xsampling_
StepInterval< int > xsampling_
Definition: isocontourtracer.h:60
IsoContourTracer::setSampling
void setSampling(const StepInterval< int > &xsamp, const StepInterval< int > &ysamp)
IsoContourTracer::traceContours
void traceContours(Array3DImpl< float > &crossings, ObjectSet< ODPolygon< float > > &, bool closedonly) const
IsoContourTracer::IsoContourTracer
IsoContourTracer(const Array2D< float > &)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
IsoContourTracer::setEdgeValue
void setEdgeValue(float)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
polygon.h
Array3DImpl< float >
IsoContourTracer::setMinNrVertices
void setMinNrVertices(int)
arrayndimpl.h
IsoContourTracer::yrange_
Interval< int > yrange_
Definition: isocontourtracer.h:63
arraynd.h
IsoContourTracer::nrlargestonly_
int nrlargestonly_
Definition: isocontourtracer.h:66
StepInterval< int >
IsoContourTracer::edgepar_
unsigned int edgepar_
Definition: isocontourtracer.h:69
IsoContourTracer
Tracing the z-level contour of a 2D scalar field.
Definition: isocontourtracer.h:25
IsoContourTracer::xrange_
Interval< int > xrange_
Definition: isocontourtracer.h:62
IsoContourTracer::polyroi_
const ODPolygon< float > * polyroi_
Definition: isocontourtracer.h:71
IsoContourTracer::~IsoContourTracer
~IsoContourTracer()
IsoContourTracer::getContours
bool getContours(ObjectSet< ODPolygon< float > > &, float z, bool closedonly=false) const
To close contours along (RectROI) edge.
IsoContourTracer::selectRectROI
void selectRectROI(const Interval< int > &xintv, const Interval< int > &yintv)
IsoContourTracer::ysampling_
StepInterval< int > ysampling_
Definition: isocontourtracer.h:61
IsoContourTracer::setNrLargestOnly
void setNrLargestOnly(int)
IsoContourTracer::findCrossings
void findCrossings(Array3DImpl< float > &crossings, float z) const
IsoContourTracer::bendpointeps_
float bendpointeps_
Definition: isocontourtracer.h:68
ranges.h
Interval< int >
IsoContourTracer::minnrvertices_
int minnrvertices_
Definition: isocontourtracer.h:65
IsoContourTracer::setBendPointsOnly
void setBendPointsOnly(float eps)
Array2D< float >
IsoContourTracer::field_
const Array2D< float > & field_
Definition: isocontourtracer.h:58
IsoContourTracer::edgevalue_
float edgevalue_
Definition: isocontourtracer.h:67

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