OpendTect  6.3
emrandlinegen.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: Bert
8  Date: Nov 2007
9 ________________________________________________________________________
10 
11 
12 -*/
13 
14 #include "earthmodelmod.h"
15 #include "earthmodelmod.h"
16 #include "ranges.h"
17 #include "coord.h"
18 class RandomLineSet;
19 template <class T> class ODPolygon;
20 namespace Geometry { class RandomLine; class RandomLineSet; }
21 
22 
23 namespace EM
24 {
25 class Horizon3D;
26 class Horizon3DGeometry;
27 
33 {
34 public:
35 
36  mStruct(EarthModel) Setup
37  {
38  Setup(bool linezrgisrelative=true);
39 
42  mDefSetupMemb(bool,isrel)
43  mDefSetupMemb(int,sectionnr)
44  mDefSetupMemb(const ODPolygon<float>*,selpoly)
46  mDefSetupMemb(int,nrlargestonly)
47  mDefSetupMemb(int,minnrvertices)
48  };
49 
50  RandomLineSetByContourGenerator(const Horizon3D&,
51  const Setup&);
52  Setup& setup() { return setup_; }
53 
54  void createLines(Geometry::RandomLineSet&) const;
55 
56 protected:
57 
58  const Horizon3D& hor_;
61 
62 };
63 
64 
70 {
71 public:
72 
74  const Geometry::RandomLineSet& rls,
75  float d=1, int s=0 )
76  : rls_(rls), dist_(d), side_(s) {}
77 
79  float dist_;
80  int side_;
81 
82  void generate(Geometry::RandomLineSet&,
83  int linenr_in_inp_set=0) const;
84 
85 protected:
86 
87  void crLine(const Geometry::RandomLine&,bool,
89  bool getShifted(Coord,Coord,Coord&,Coord&,bool) const;
90  bool getIntersection(Coord,Coord,Coord,Coord,Coord&) const;
91 
92 };
93 
94 } // namespace EM
#define mExpClass(module)
Definition: commondefs.h:157
FixedString Setup()
Definition: keystrs.h:113
const Geometry::RandomLineSet & rls_
Definition: emrandlinegen.h:78
Creates random line from another by shifting it.
Definition: emrandlinegen.h:69
#define mStruct(module)
Definition: commondefs.h:162
Definition: randomlinegeom.h:30
(Closed) sequence of connected 2-D coordinates.
Definition: polygon.h:25
const Horizon3DGeometry & geom_
Definition: emrandlinegen.h:59
const Horizon3D & hor_
Definition: emrandlinegen.h:58
int side_
Definition: emrandlinegen.h:80
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
float dist_
Definition: emrandlinegen.h:79
RandomLineByShiftGenerator(const Geometry::RandomLineSet &rls, float d=1, int s=0)
Definition: emrandlinegen.h:73
Creates random lines along the contours of a surface.
Definition: emrandlinegen.h:32
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:23
Definition: randomlinegeom.h:121
3D HorizonGeometry
Definition: emhorizon3d.h:38
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:94
Setup setup_
Definition: emrandlinegen.h:60
2D point or vector class.
Definition: commontypes.h:58
Definition: arraytesselator.h:19
Setup & setup()
Definition: emrandlinegen.h:52

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