14 #include "earthmodelmod.h" 25 namespace Pick {
class Set; }
26 namespace Pos {
class Provider3D; }
27 namespace Table {
class FormatDesc; }
28 namespace Threads {
class WorkManager; }
46 bool removeSection(
const SectionID&,
bool hist);
49 bool isFullResolution()
const;
52 void setStep(
const RowCol& step,
58 bool enableChecks(
bool yn);
59 bool isChecksEnabled()
const;
60 bool isNodeOK(
const PosID&)
const;
62 bool isAtEdge(
const PosID& pid)
const;
64 int getConnectedPos(
const PosID&,
71 float shift=0.0)
const;
99 virtual float getZ(
const TrcKey&)
const;
101 virtual bool setZ(
const TrcKey&,
float z,
bool addtohist,
105 virtual void setNodeSourceType(
const TrcKey&,
109 virtual bool isNodeSourceType(
const PosID&,
111 virtual bool isNodeSourceType(
const TrcKey&,
113 bool hasNodeSourceType(
const PosID&)
const;
115 virtual void setNodeLocked(
const TrcKey&,
bool locked);
116 virtual bool isNodeLocked(
const TrcKey&)
const;
117 virtual bool isNodeLocked(
const PosID&)
const;
119 virtual void lockAll();
120 virtual void unlockAll();
122 virtual void setLockColor(
const Color&);
123 virtual const Color getLockColor()
const;
125 {
return haslockednodes_; }
127 virtual bool hasZ(
const TrcKey&)
const;
130 virtual void setAttrib(
const TrcKey&,
int attr,
bool yn,
132 virtual bool isAttrib(
const TrcKey&,
int attr)
const;
134 virtual float getZValue(
const Coord&,
bool allow_udf=
true,
154 const char* histdesc,
bool trimundef);
160 bool takeoverarr=
true);
182 {
return tr(
"3D Horizon"); }
184 void initAllAuxData(
float val=
mUdf(
float));
187 void initTrackingAuxData(
float val=
mUdf(
float));
188 void initTrackingArrays();
189 void updateTrackingSampling();
190 bool saveParentArray();
191 bool readParentArray();
193 bool saveNodeArrays();
194 bool readNodeArrays();
199 void getParents(
const TrcKey&,
201 bool selectChildren(
const TrcKey&);
203 void deleteChildren();
204 void resetChildren();
206 void setParentColor(
const Color&);
207 const Color& getParentColor()
const;
231 const Coord3&,
bool addtohistory,
254 float getZ(
const BinID&)
const;
256 bool setZ(
const BinID&,
float z,
bool addtohist);
259 static Color sDefaultLockColor();
265 friend class FindTask;
od_int16 SectionID
Definition: emposid.h:23
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Pos::GeomID survgeomid_
Definition: emhorizon3d.h:246
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
Set of data points with group selection.
Definition: datapointset.h:47
Array2D< char > * nodesource_
Definition: emhorizon3d.h:247
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
ArrayType
Definition: emhorizon3d.h:211
Is an identifier for each position in the earthmodel.
Definition: emposid.h:35
Array2D< char > & children_
Definition: emhorizon3d.h:281
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
Array2D< od_int64 > * parents_
Definition: emhorizon3d.h:241
Threads::Lock addlock_
Definition: emhorizon3d.h:287
Pos::SurvID SurvID
Definition: trckey.h:30
Array2D< char > * children_
Definition: emhorizon3d.h:240
Provides a subselection for 3D surveys.
Definition: posprovider.h:58
Threads::Atomic< int > nrtodo_
Definition: emhorizon3d.h:284
Definition: uistring.h:88
TrcKey::SurvID getSurveyID() const
Definition: emhorizon3d.h:258
Set of BufferString objects.
Definition: bufstringset.h:25
Surface data.
Definition: emsurfaceauxdata.h:37
od_int64 SubID
Definition: emposid.h:24
Horizon RowColSurfaceGeometry.
Definition: emhorizon.h:31
Takes work and puts it on a queue for execution either in parallel, singlethread or manual...
Definition: threadwork.h:37
Color lockcolor_
Definition: emhorizon3d.h:244
Monitorable set of pick locations.
Definition: pickset.h:41
bool checksupport_
Definition: emhorizon3d.h:84
TrcKeySampling trackingsamp_
Definition: emhorizon3d.h:238
interface to threads that should be portable.
Definition: atomic.h:24
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
RowCol loadedstep_
Definition: emhorizon3d.h:82
The generalization of something (e.g. a computation) where the steps must be done in sequence...
Definition: task.h:147
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
RowCol step_
Definition: emhorizon3d.h:83
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
Definition: emhorizon3d.h:263
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:42
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
const Array2D< od_int64 > & parents_
Definition: emhorizon3d.h:280
Position.
Definition: commontypes.h:38
int queueid_
Definition: emhorizon3d.h:279
Scaling of floating point numbers.
Definition: scaler.h:30
Threads::WorkManager & twm_
Definition: emhorizon3d.h:278
Array2D< char > * lockednodes_
Definition: emhorizon3d.h:239
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Threads::Lock finishlock_
Definition: emhorizon3d.h:288
Pos::GeomID getSurveyGeomID() const
Definition: emhorizon3d.h:175
Threads::Atomic< int > nrdone_
Definition: emhorizon3d.h:285
Index_Type GeomID
Definition: commontypes.h:48
uiString getUserTypeStr() const
Definition: emhorizon3d.h:180
IdxPair used for its row() and col().
Definition: rowcol.h:23
Definition: binidsurface.h:25
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
Definition: emhorizon3d.h:211
Horizon3DGeometry geometry_
Definition: emhorizon3d.h:236
Base class for all EarthModel objects.
Definition: emobject.h:117
bool arrayinited_
Definition: emhorizon3d.h:251
static uiString userTypeStr()
Definition: emhorizon3d.h:181
Definition: picklocation.h:19
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
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
3D HorizonGeometry
Definition: emhorizon3d.h:38
NodeSourceType
Definition: emobject.h:122
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
TrcKeySampling tks_
Definition: emhorizon3d.h:282
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
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
Color parentcolor_
Definition: emhorizon3d.h:243
2D point or vector class.
Definition: commontypes.h:58
SurfaceAuxData & auxdata
Definition: emhorizon3d.h:185
virtual bool hasLockedNodes() const
Definition: emhorizon3d.h:124
IOObjContext * getIOObjContext(Seis::GeomType, bool forread)
Horizon Surface.
Definition: emhorizon.h:46
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59