OpendTect-6_4  6.4
emrandlinegen.h
Go to the documentation of this file.
1 #ifndef emrandlinegen_h
2 #define emrandlinegen_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert
9  Date: Nov 2007
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "earthmodelmod.h"
17 #include "earthmodelmod.h"
18 #include "ranges.h"
19 #include "coord.h"
20 class RandomLineSet;
21 template <class T> class ODPolygon;
22 namespace Geometry { class RandomLine; class RandomLineSet; }
23 
24 
25 namespace EM
26 {
27 class Horizon3D;
28 class Horizon3DGeometry;
29 
35 {
36 public:
37 
38  mStruct(EarthModel) Setup
39  {
40  Setup(bool linezrgisrelative=true);
41 
44  mDefSetupMemb(bool,isrel)
45  mDefSetupMemb(int,sectionnr)
46  mDefSetupMemb(const ODPolygon<float>*,selpoly)
48  mDefSetupMemb(int,nrlargestonly)
49  mDefSetupMemb(int,minnrvertices)
50  };
51 
52  RandomLineSetByContourGenerator(const Horizon3D&,
53  const Setup&);
54  Setup& setup() { return setup_; }
55 
56  void createLines(Geometry::RandomLineSet&) const;
57 
58 protected:
59 
60  const Horizon3D& hor_;
63 
64 };
65 
66 
72 {
73 public:
74 
76  const Geometry::RandomLineSet& rls,
77  float d=1, int s=0 )
78  : rls_(rls), dist_(d), side_(s) {}
79 
81  float dist_;
82  int side_;
83 
84  void generate(Geometry::RandomLineSet&,
85  int linenr_in_inp_set=0) const;
86 
87 protected:
88 
89  void crLine(const Geometry::RandomLine&,bool,
91  bool getShifted(Coord,Coord,Coord&,Coord&,bool) const;
92  bool getIntersection(Coord,Coord,Coord,Coord,Coord&) const;
93 
94 };
95 
96 } // namespace EM
97 
98 #endif
#define mExpClass(module)
Definition: commondefs.h:160
FixedString Setup()
Definition: keystrs.h:116
const Geometry::RandomLineSet & rls_
Definition: emrandlinegen.h:80
Creates random line from another by shifting it.
Definition: emrandlinegen.h:71
#define mStruct(module)
Definition: commondefs.h:165
Definition: randomlinegeom.h:31
(Closed) sequence of connected 2-D coordinates.
Definition: polygon.h:27
const Horizon3DGeometry & geom_
Definition: emrandlinegen.h:61
A cartesian coordinate in 2D space.
Definition: coord.h:25
const Horizon3D & hor_
Definition: emrandlinegen.h:60
int side_
Definition: emrandlinegen.h:82
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:137
float dist_
Definition: emrandlinegen.h:81
RandomLineByShiftGenerator(const Geometry::RandomLineSet &rls, float d=1, int s=0)
Definition: emrandlinegen.h:75
Creates random lines along the contours of a surface.
Definition: emrandlinegen.h:34
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
Definition: randomlinegeom.h:122
3D HorizonGeometry
Definition: emhorizon3d.h:40
3D Horizon. A Horizon is made up of one or more grids (so they can overlap at faults). The grids are defined by knot-points in a matrix and fillstyle in between the knots.
Definition: emhorizon3d.h:96
Setup setup_
Definition: emrandlinegen.h:62
Definition: arraytesselator.h:21
Setup & setup()
Definition: emrandlinegen.h:54

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