OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "emfault.h"
17 #include "tableascio.h"
18 #include "emfaultstickset.h"
19 
20 namespace Table { class FormatDesc; }
21 
22 namespace Geometry { class FaultStickSurface; }
23 namespace Geometry { class FaultStickSet; }
24 namespace Pos { class Filter; }
25 
26 namespace EM
27 {
28 class EMManager;
29 class FaultAuxData;
30 
36 {
37 public:
40 
41  int nrSticks(const SectionID&) const;
42  int nrKnots(const SectionID&,int sticknr) const;
43 
44  bool insertStick(const SectionID&,int sticknr,int firstcol,
45  const Coord3& pos,const Coord3& editnormal,
46  bool addtohistory);
47  bool removeStick(const SectionID&,int sticknr,
48  bool addtohistory);
49  bool insertKnot(const SectionID&,const SubID&,
50  const Coord3& pos,bool addtohistory);
51  bool removeKnot(const SectionID&,const SubID&,
52  bool addtohistory);
53 
54  bool areSticksVertical(const SectionID&) const;
56 
60  sectionGeometry(const SectionID&) const;
61 
63  const TrcKeyZSampling* =0) const;
64 
65  void fillPar(IOPar&) const;
66  bool usePar(const IOPar&);
67 
68 protected:
70 };
71 
72 
77 mExpClass(EarthModel) Fault3D : public Fault
79 public:
81  const Fault3DGeometry& geometry() const;
82  void apply(const Pos::Filter&);
84 
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 
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
136 
137 
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
EM::Fault3DGeometry::Fault3DGeometry
Fault3DGeometry(Surface &)
EM::Fault3D::getIOObjContext
const IOObjContext & getIOObjContext() const
EM::Fault3DGeometry::nrKnots
int nrKnots(const SectionID &, int sticknr) const
Pos
Position.
Definition: commontypes.h:78
EM::SubID
od_int64 SubID
Definition: emposid.h:25
tableascio.h
EM::FaultAscIO
Ascii I/O for Fault.
Definition: emfault3d.h:104
Geometry
Definition: arraytesselator.h:21
EM::Fault3D::geometry
Fault3DGeometry & geometry()
EM::Fault3DGeometry::removeStick
bool removeStick(const SectionID &, int sticknr, bool addtohistory)
EM::Fault3D::auxdata_
FaultAuxData * auxdata_
Definition: emfault3d.h:95
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::FaultStick
Class to hold Fault-stick coordinates and compute the normal.
Definition: emfault3d.h:124
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
EM::FaultStick::getNormal
Coord3 getNormal(bool is2d) const
EM::Fault3DGeometry::sectionGeometry
const Geometry::FaultStickSurface * sectionGeometry(const SectionID &) const
EM::FaultStick::crds_
TypeSet< Coord3 > crds_
Definition: emfault3d.h:131
EM::Fault3D::auxData
const FaultAuxData * auxData() const
EM::Fault3DGeometry::insertKnot
bool insertKnot(const SectionID &, const SubID &, const Coord3 &pos, bool addtohistory)
Table
Definition: geom2dascio.h:20
EM::Fault3DGeometry::sectionGeometry
Geometry::FaultStickSurface * sectionGeometry(const SectionID &)
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::FaultAscIO::isXY
bool isXY() const
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
EM::Surface
Base class for surfaces like horizons and faults. A surface is made up of one or more segments or pat...
Definition: emsurface.h:33
EM::Fault3D::geometry_
Fault3DGeometry geometry_
Definition: emfault3d.h:94
EM::Fault3D::getUserTypeStr
uiString getUserTypeStr() const
sKey::Filter
FixedString Filter()
Definition: keystrs.h:69
EM::Fault3D::apply
void apply(const Pos::Filter &)
EM::Fault3DGeometry::removeKnot
bool removeKnot(const SectionID &, const SubID &, bool addtohistory)
EM::Fault3DGeometry::nrSticks
int nrSticks(const SectionID &) const
IOObjContext
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
mDefineEMObjFuncs
#define mDefineEMObjFuncs(clss)
Definition: emobject.h:374
EM::Fault3DGeometry::fillPar
void fillPar(IOPar &) const
EM::FaultGeometry
FaultGeometry base class.
Definition: emfault.h:32
EM::Fault3DGeometry::insertStick
bool insertStick(const SectionID &, int sticknr, int firstcol, const Coord3 &pos, const Coord3 &editnormal, bool addtohistory)
EM::FaultStick::stickidx_
int stickidx_
Definition: emfault3d.h:130
EM::Fault3DGeometry::areEditPlanesMostlyCrossline
bool areEditPlanesMostlyCrossline() const
EM::EMObjectIterator
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:122
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
emfault.h
EM::Fault3DGeometry::usePar
bool usePar(const IOPar &)
EM::SectionID
od_int16 SectionID
Definition: emposid.h:24
EM::FaultAscIO::FaultAscIO
FaultAscIO(const Table::FormatDesc &fd)
Definition: emfault3d.h:106
emfaultstickset.h
EM::FaultStick::FaultStick
FaultStick(int idx)
Definition: emfault3d.h:126
EM::Fault3DGeometry::areSticksVertical
bool areSticksVertical(const SectionID &) const
Pos::Filter
Decides whether a given position should be included.
Definition: posfilter.h:45
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
EM::EMManager
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
EM::Fault3D::geometry
const Fault3DGeometry & geometry() const
EM::FaultAuxData
Fault surface data.
Definition: emfaultauxdata.h:33
EM::FaultAscIO::get
bool get(od_istream &, EM::Fault &, bool sortsticks=false, bool is2d=false) const
Table::FormatDesc
description of input our output data content
Definition: tabledef.h:220
EM::Fault3DGeometry
3D FaultGeometry.
Definition: emfault3d.h:36
EM::EMObject
Base class for all EarthModel objects.
Definition: emobject.h:159
EM::Fault3D
3D Fault
Definition: emfault3d.h:78
EM::Fault3DGeometry::~Fault3DGeometry
~Fault3DGeometry()
EM::FaultAscIO::getDesc
static Table::FormatDesc * getDesc(bool is2d)
Geometry::FaultStickSurface
Definition: faultsticksurface.h:20
EM::Fault
Fault Surface base class.
Definition: emfault.h:84
EM::FaultStick::lnm_
BufferString lnm_
Definition: emfault3d.h:132
EM::Fault3DGeometry::createSectionGeometry
Geometry::FaultStickSurface * createSectionGeometry() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Table::AscIO
Ascii I/O using Format Description.
Definition: tableascio.h:42
TypeSet< Coord3 >
EM::Fault3D::auxData
FaultAuxData * auxData()
EM::Fault3DGeometry::createIterator
EMObjectIterator * createIterator(const SectionID &, const TrcKeyZSampling *=0) const

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