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

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