OpendTect-6_4  6.4
emfault3d.h
Go to the documentation of this file.
1 #ifndef emfault3d_h
2 #define emfault3d_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 9-04-2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "earthmodelmod.h"
17 #include "emfault.h"
18 #include "tableascio.h"
19 #include "emfaultstickset.h"
20 
21 namespace Table { class FormatDesc; }
22 
23 namespace Geometry { class FaultStickSurface; }
24 namespace Geometry { class FaultStickSet; }
25 namespace Pos { class Filter; }
26 
27 namespace EM
28 {
29 class EMManager;
30 class FaultAuxData;
31 
37 {
38 public:
40  ~Fault3DGeometry();
41 
42  int nrSticks(const SectionID&) const;
43  int nrKnots(const SectionID&,int sticknr) const;
44 
45  bool insertStick(const SectionID&,int sticknr,int firstcol,
46  const Coord3& pos,const Coord3& editnormal,
47  bool addtohistory);
48  bool removeStick(const SectionID&,int sticknr,
49  bool addtohistory);
50  bool insertKnot(const SectionID&,const SubID&,
51  const Coord3& pos,bool addtohistory);
52  bool removeKnot(const SectionID&,const SubID&,
53  bool addtohistory);
54 
55  bool areSticksVertical(const SectionID&) const;
56  bool areEditPlanesMostlyCrossline() const;
57 
59  sectionGeometry(const SectionID&);
61  sectionGeometry(const SectionID&) const;
62 
63  EMObjectIterator* createIterator(const SectionID&,
64  const TrcKeyZSampling* =0) const;
65 
66  void fillPar(IOPar&) const;
67  bool usePar(const IOPar&);
68 
69 protected:
70  Geometry::FaultStickSurface* createSectionGeometry() const;
71 };
72 
73 
78 mExpClass(EarthModel) Fault3D : public Fault
80 public:
81  Fault3DGeometry& geometry();
82  const Fault3DGeometry& geometry() const;
83  void apply(const Pos::Filter&);
84  uiString getUserTypeStr() const;
85 
86  FaultAuxData* auxData();
87  const FaultAuxData* auxData() const;
88 
89 protected:
90 
91  const IOObjContext& getIOObjContext() const;
92 
93  friend class EMManager;
94  friend class EMObject;
97 };
98 
99 
104 mExpClass(EarthModel) FaultAscIO : public Table::AscIO
105 {
106 public:
108  : Table::AscIO(fd) {}
109 
110  static Table::FormatDesc* getDesc(bool is2d);
111 
112  bool get(od_istream&,EM::Fault&,
113  bool sortsticks=false,
114  bool is2d=false) const;
115 protected:
116  bool isXY() const;
117 };
118 
119 
125 {
126 public:
127  FaultStick(int idx) : stickidx_(idx) {}
128 
129  Coord3 getNormal(bool is2d) const;
130 
134 };
135 
136 } // namespace EM
137 
138 
139 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
3D FaultGeometry.
Definition: emfault3d.h:36
FixedString Filter()
Definition: keystrs.h:67
Fault Surface base class.
Definition: emfault.h:84
FaultAscIO(const Table::FormatDesc &fd)
Definition: emfault3d.h:107
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
TypeSet< Coord3 > crds_
Definition: emfault3d.h:132
Definition: faultsticksurface.h:20
description of input our output data content
Definition: tabledef.h:220
Definition: uistring.h:89
Class to hold Fault-stick coordinates and compute the normal.
Definition: emfault3d.h:124
od_int64 SubID
Definition: emposid.h:26
OD class for stream read.
Definition: od_istream.h:24
Decides whether a given position should be included.
Definition: posfilter.h:45
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:122
#define mDefineEMObjFuncs(clss)
Definition: emobject.h:373
Ascii I/O for Fault.
Definition: emfault3d.h:104
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Definition: geom2dascio.h:21
FaultAuxData * auxdata_
Definition: emfault3d.h:96
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Fault surface data.
Definition: emfaultauxdata.h:33
Position.
Definition: commontypes.h:42
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:175
A cartesian coordinate in 3D space.
Definition: coord.h:72
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
FaultGeometry base class.
Definition: emfault.h:32
Base class for all EarthModel objects.
Definition: emobject.h:158
int stickidx_
Definition: emfault3d.h:131
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
BufferString lnm_
Definition: emfault3d.h:133
FaultStick(int idx)
Definition: emfault3d.h:127
3D Fault
Definition: emfault3d.h:78
Fault3DGeometry geometry_
Definition: emfault3d.h:95
Definition: arraytesselator.h:21
IOObjContext * getIOObjContext(Seis::GeomType, bool forread)
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62

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