15 #include "earthmodelmod.h" 27 namespace Geometry {
class ExplFaultStickSurface; }
28 namespace PosInfo {
class Line2DData; }
39 int nextID(
int)
const;
44 float getTrcNr(
int)
const;
45 void set(int,
const Coord3&);
46 void set(int,
const Coord3&,float);
50 bool isDefined(
int)
const;
51 int size()
const {
return coords_.size(); }
54 bool isInl()
const {
return isinl_; }
63 bool isCrossing(
const BinID&,
float,
const BinID&,
float)
const;
64 bool getIntersection(
const BinID&,
float,
const BinID&,
float,
67 bool snappositive=
true)
const;
73 bool getCoordsBetween(
int trc0,
float z0,
int trc1,
float z1,
76 bool getIntersectionTraces(
float zval,
78 bool getFaultTraceIntersection(
const FaultTrace&,
79 int& trace,
float& zval)
const;
81 bool getHorizonIntersectionInfo(
const EM::Horizon& hor,
86 bool findfirstonly=
true,
87 bool allowextention=
false)
const;
88 bool getImage(
const BinID& srcbid,
float srcz,
92 float& imgz,
bool forward)
const;
94 float getZValFor(
const BinID&)
const;
95 bool isOnPosSide(
const BinID&,
float)
const;
100 bool isOnFault(
const BinID&,
float z,
float threshold)
const;
116 void computeTraceSegments();
118 const BinID&,
float)
const;
146 const FaultTrace* getTrc(
int linenr,
bool isinl)
const;
147 int indexOf(
int linenr,
bool isinl)
const;
149 bool isEditedOnCrl()
const;
174 virtual bool extractFaultTrace(
int) = 0;
175 virtual od_int64 nrIterations()
const;
176 virtual bool doPrepare(
int);
195 bool extractFaultTrace(
int);
197 virtual bool doPrepare(
int);
213 bool extractFaultTrace(
int);
214 virtual bool doPrepare(
int);
215 virtual bool doFinish(
bool);
228 FaultTrcDataProvider();
230 ~FaultTrcDataProvider();
235 bool is2D()
const {
return is2d_; }
236 int nrFaults()
const;
238 int nrSticks(
int fltidx)
const;
239 bool isEditedOnCrl(
int fltidx)
const;
241 bool hasFaults(
const BinID&)
const;
242 const FaultTrace* getFaultTrace(
int fltidx,
int trcnr,
bool isinl)
const;
243 const FaultTrace* getFaultTrace2D(
int fltidx,
int stickidx)
const;
244 bool isCrossingFault(
const BinID& b1,
float z1,
245 const BinID& b2,
float z2)
const;
247 bool isOnFault(
const BinID&,
float z,
float threshold)
const;
#define mExpClass(module)
Definition: commondefs.h:160
bool isinl_
Definition: faulttrace.h:122
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:72
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:53
Fault Surface base class.
Definition: emfault.h:84
Threads::Lock lock_
Definition: faulttrace.h:132
TrcKeySampling hs_
Definition: faulttrace.h:156
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
const Interval< int > & trcRange() const
Definition: faulttrace.h:57
bool is2d_
Definition: faulttrace.h:262
#define od_int64
Definition: plftypes.h:36
Definition: faulttrace.h:106
bool isEditedOnCrl() const
Definition: faulttrace.h:55
TypeSet< Line2 > tracesegs_
Definition: faulttrace.h:130
Interval< float > zrange_
Definition: faulttrace.h:129
bool includes(const IdxPair &ip) const
Definition: posidxpairvalset.h:144
void setEditedOnCrl(bool yn)
Definition: faulttrace.h:60
int nr_
Definition: faulttrace.h:124
int lineNr() const
Definition: faulttrace.h:56
uiString errmsg_
Definition: faulttrace.h:261
static const char * sKeyFaultAct()
Definition: faulttrace.h:110
Definition: uistring.h:89
A cartesian coordinate in 2D space.
Definition: coord.h:25
Set of BufferString objects.
Definition: bufstringset.h:28
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:169
Definition: faulttrace.h:107
FaultTrace holder.
Definition: faulttrace.h:140
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
SPos add(const IdxPair &, const float *vs=0)
Either pass sufficient data or pass null.
Definition: faulttrace.h:105
TypeSet< Coord3 > coords_
Definition: faulttrace.h:125
Definition: faulttrace.h:103
void addValue(int id, const Coord3 &)
Adds value to existing value at id.
Definition: faulttrace.h:96
Class that can execute a task.
Definition: task.h:169
const Interval< float > & zRange() const
Definition: faulttrace.h:58
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
bool isInl() const
Definition: faulttrace.h:54
ObjectSet< FaultTrace > traces_
Definition: faulttrace.h:151
FixedString Horizon()
Definition: keystrs.h:72
void setLineNr(int nr)
Definition: faulttrace.h:61
int size() const
Definition: faulttrace.h:51
void setIsInl(bool yn)
Definition: faulttrace.h:59
TypeSet< float > trcnrs_
Definition: faulttrace.h:127
A cartesian coordinate in 3D space.
Definition: coord.h:72
Index_Type GeomID
Definition: commontypes.h:52
FixedString Fault()
Definition: keystrs.h:65
Position info, often segmented.
Definition: posinfo.h:40
Interval< int > trcrange_
Definition: faulttrace.h:128
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:30
Definition: faulttrace.h:104
Definition: explfaultsticksurface.h:37
FaultTrace data provider.
Definition: faulttrace.h:225
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
bool editedoncrl_
Definition: faulttrace.h:123
const char * errMsg() const
Definition: horizontracker.h:61
TypeSet< int > coordindices_
Definition: faulttrace.h:126
Act
Definition: faulttrace.h:103
bool isEmpty(const NLAModel *mdl)
~FaultTrace()
Definition: faulttrace.h:114
ObjectSet< FaultTrcHolder > holders_
Definition: faulttrace.h:258
Definition: arraytesselator.h:21
bool is2D() const
Definition: faulttrace.h:235
Horizon Surface.
Definition: emhorizon.h:47
Subclass of Coord3List that represents a fault trace.
Definition: faulttrace.h:35
Pos::GeomID geomid_
Definition: faulttrace.h:260