 |
OpendTect
6.6
|
Go to the documentation of this file.
15 #include "earthmodelmod.h"
32 namespace Geometry {
class Element; }
35 template <
class T>
class Array2D;
52 , flagfor2dviewer( false )
60 , attrib( data.attrib )
61 , flagfor2dviewer( data.flagfor2dviewer )
66 enum Event {
Undef, PositionChange, PosIDChange, PrefColorChange, Removal,
68 LockChange, BurstAlert, LockColorChange } event;
88 emcallbackdata_ += data;
94 return emcallbackdata_.validIdx(idx) ? emcallbackdata_[idx] : 0;
105 return emcallbackdata_.size();
129 virtual bool canGoTo()
const {
return false; }
143 enum Type { PermanentControlNode, TemporaryControlNode,
158 ,
public RefCount::Referenced
162 Auto=(int)
'2', Gridding=(
int)
'3' };
170 virtual bool isOK()
const {
return true; }
189 bool addtohistory=
false);
204 const Coord3&,
bool addtohistory);
264 bool addtohistory=
true);
266 int attr,
bool yn,
bool addtohistory=
true);
300 virtual void lock(
bool yn) { locked_=yn;}
303 {
return insideselremoval_; }
374 #define mDefineEMObjFuncs( clss ) \
375 mODTextTranslationClass( clss ); \
377 clss(EM::EMManager&); \
378 static void initClass(); \
379 static EMObject* create(EM::EMManager&); \
380 static clss* create(const char* nm); \
381 static FixedString typeStr(); \
382 const char* getTypeStr() const; \
387 #define mImplementEMObjFuncs( clss, typenm ) \
388 void clss::initClass() \
390 EMOF().addCreator( create, typeStr() ); \
394 EMObject* clss::create( EM::EMManager& emm ) \
396 EMObject* obj = new clss( emm ); \
397 if ( !obj ) return 0; \
399 emm.addObject( obj ); \
400 obj->unRefNoDelete(); \
404 clss* clss::create( const char* nm ) \
406 const ObjectID objid = EMM().createObject( typeStr(), nm ); \
407 EMObject* emobj = EMM().getObject( objid ); \
408 mDynamicCastGet(clss*,newobj,emobj); \
412 FixedString clss::typeStr() { return typenm; } \
413 const char* clss::getTypeStr() const { return typeStr(); } \
414 void clss::setNewName() \
416 static int objnr = 1; \
417 BufferString nm( "<New ", typenm, " " ); \
418 nm.add( objnr++ ).add( ">" ); \
TypeSet< int > attribs_
Definition: emobject.h:349
static int sTerminationNode()
virtual void lockAll()
Definition: emobject.h:220
A cartesian coordinate in 3D space.
Definition: coord.h:72
virtual ~EMObjectIterator()
Definition: emobject.h:124
void setPosAttrMarkerStyle(int attr, const MarkerStyle3D &)
virtual EM::PosID goTo(od_int64)
Definition: emobject.h:130
TrcKeyZSampling removebypolyposbox_
Definition: emobject.h:352
Interface for classes that select on basis of a key.
Definition: selector.h:25
void clearData()
Definition: emobject.h:97
virtual Executor * loader()
Definition: emobject.h:289
ObjectID id_
Definition: emobject.h:340
bool locked_
Definition: emobject.h:356
virtual void lock(bool yn)
Definition: emobject.h:300
MultiID storageid_
Definition: emobject.h:341
bool locked_
Definition: emobject.h:149
virtual bool isEmpty() const
CallBacker object with a name. Use if you want your object to be able to send and receive CallBack's,...
Definition: namedobj.h:72
T to(const F &fr)
Definition: convert.h:34
bool changed_
Definition: emobject.h:354
const Color & getSelectionColor() const
void setPreferredLineStyle(const OD::LineStyle &)
Locks the lock, shutting out access from other threads if needed.
Definition: threadlock.h:85
static const char * posattrprefixstr()
void setFullyLoaded(bool yn)
Definition: emobject.h:297
Color & preferredcolor_
Definition: emobject.h:345
od_int64 SubID
Definition: emposid.h:25
virtual Coord3 getPos(const EM::SectionID &, const EM::SubID &) const
Set of pointers to objects.
Definition: commontypes.h:31
virtual void setNodeSourceType(const TrcKey &, NodeSourceType)
Definition: emobject.h:208
virtual const IOObjContext & getIOObjContext() const =0
int burstalertcount_
Definition: emobject.h:357
Export_Basic uiString toUiString(ViewStyle)
Definition: arraytesselator.h:21
virtual void setPosAttrib(const EM::PosID &, int attr, bool yn, bool addtohistory=true)
Sets/unsets the posattrib depending on yn.
PosAttrib()
Definition: emobject.h:141
static const char * posattrsectionstr()
Type type_
Definition: emobject.h:147
OD::LineStyle & preferredlinestyle_
Definition: emobject.h:346
const Geometry::Element * sectionGeometry(const SectionID &) const
#define od_int64
Definition: plftypes.h:35
void setBurstAlert(bool yn)
static const char * nrposattrstr()
virtual bool removeSection(SectionID, bool hist)
Definition: emobject.h:181
#define mExpClass(module)
Definition: commondefs.h:177
virtual void removePosAttribList(int attr, bool addtohistory=true)
Definition: geomelement.h:37
virtual int nrPosAttribs() const
int size() const
Definition: emobject.h:103
Type
Definition: emobject.h:143
void setSelectionColor(const Color &)
void addCallBackData(EM::EMObjectCallbackData *data)
Definition: emobject.h:85
virtual bool isPosAttribLocked(int attr) const
bool fullyloaded_
Definition: emobject.h:355
const TypeSet< PosID > * getPosAttribList(int attr) const
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
virtual bool enableGeometryChecks(bool)
bool hasBurstAlert() const
void setMultiID(const MultiID &)
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
virtual const Array2D< char > * getLockedNodes() const
Definition: emobject.h:223
EMObject(EMManager &)
must be called after creation
EM::PosID pid1
Definition: emobject.h:71
ObjectSet< PosAttrib > posattribs_
Definition: emobject.h:348
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
void emptyRemovedPolySelectedPosBox()
bool isFullyLoaded() const
Definition: emobject.h:296
virtual const char * getTypeStr() const =0
EM::EMObjectCallbackData * getCallBackData(int idx)
Definition: emobject.h:91
FixedString Undef()
Definition: keystrs.h:176
bool insideselremoval_
Definition: emobject.h:363
void posIDChangeCB(CallBacker *)
virtual bool unSetPos(const EM::SectionID &, const EM::SubID &, bool addtohistory)
uiString errmsg_
Definition: emobject.h:343
virtual void resetChangedFlag()
Definition: emobject.h:295
Threads::Lock lock_
Definition: emobject.h:110
static int sEdgeControlNode()
virtual int addPosAttribName(const char *)
NodeSourceType
Definition: emobject.h:161
virtual SectionID sectionID(int) const =0
Thread safe set of EMObjectCallbackData.
Definition: emobject.h:83
virtual bool hasLockedNodes() const
Definition: emobject.h:226
virtual bool setPos(const EM::SectionID &, const EM::SubID &, const Coord3 &, bool addtohistory)
void setErrMsg(const uiString &m)
Definition: emobject.h:307
virtual int nrSections() const =0
virtual int approximateSize() const
Definition: emobject.h:127
virtual bool hasPosAttrib(int attr) const
virtual int posAttrib(int idx) const
virtual bool isNodeSourceType(const PosID &, NodeSourceType) const
Definition: emobject.h:210
virtual bool isGeometryChecksEnabled() const
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
Holds the context for selecting and/or creating IOObjs.
Definition: ctxtioobj.h:62
virtual bool isNodeSourceType(const TrcKey &, NodeSourceType) const
Definition: emobject.h:212
Threads::Lock setposlock_
Definition: emobject.h:358
EM::PosID pid0
Definition: emobject.h:70
virtual bool unSetPos(const EM::PosID &, bool addtohistory)
Class that can execute a task.
Definition: task.h:170
@ Undef
Definition: emobject.h:66
virtual bool canGoTo() const
Definition: emobject.h:129
virtual void addPosAttrib(int attr)
const MarkerStyle3D & preferredMarkerStyle3D() const
virtual void removeSelected(const Selector< Coord3 > &, TaskRunner *)
virtual bool isLoaded() const
Definition: emobject.h:290
class EMManager & manager_
Definition: emobject.h:342
static const char * posattrposidstr()
virtual uiString getUserTypeStr() const =0
Iterator that iterates a number of positions (normally all) on an EMObject. The object is created by ...
Definition: emobject.h:122
ObjectSet< EMObjectCallbackData > emcallbackdata_
Definition: emobject.h:109
void saveDisplayPars() const
@ SelectionChange
Definition: emobject.h:67
const TrcKeyZSampling getRemovedPolySelectedPosBox()
MarkerStyle3D & preferredmarkerstyle_
Definition: emobject.h:347
virtual void setLockColor(const Color &)
virtual bool isChanged() const
Definition: emobject.h:292
virtual void fillPar(IOPar &) const
TypeSet< PosID > posids_
Definition: emobject.h:148
void removeSelected(const TypeSet< EM::SubID > &)
Compound key consisting of ints.
Definition: multiid.h:24
virtual bool isNodeLocked(const TrcKey &) const
Definition: emobject.h:216
Event
Definition: emobject.h:66
virtual const char * posAttribName(int) const
virtual void lockPosAttrib(int attr, bool yn)
BufferString objname_
Definition: emobject.h:339
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
void removeListOfSubIDs(const TypeSet< EM::SubID > &, const EM::SectionID &)
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
@ None
Definition: networkcommon.h:33
virtual bool useDisplayPar(const IOPar &)
od_int16 SectionID
Definition: emposid.h:24
bool isSelRemoving() const
Definition: emobject.h:304
void setPreferredColor(const Color &, bool addtohistory=false)
int attrib
Definition: emobject.h:72
void deepErase(BufferStringSet &)
virtual void setChangedFlag()
Definition: emobject.h:294
bool isInsideSelRemoval() const
Definition: emobject.h:302
virtual void prepareForDelete()
Color selectioncolor_
Definition: emobject.h:361
MarkerStyle3D & posattribmarkerstyle_
Definition: emobject.h:350
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
@ TerminationNode
Definition: emobject.h:144
od_int32 ObjectID
Definition: emposid.h:23
virtual void prepareForDelete() const
const ObjectID & id() const
Definition: emobject.h:164
void useDisplayPars(const IOPar &)
Manages the loaded/half loaded EM objects in OpendTect.
Definition: emmanager.h:46
virtual bool isDefined(const EM::PosID &) const
CNotifier< EMObject, const EMObjectCallbackData & > change
Definition: emobject.h:287
BufferString errmsg_
Definition: horizontracker.h:118
virtual bool hasNodeSourceType(const PosID &) const
Definition: emobject.h:227
const MarkerStyle3D & getPosAttrMarkerStyle(int attr) const
bool flagfor2dviewer
Definition: emobject.h:73
Geometry::Element * sectionGeometry(const SectionID &)
EMObjectCallbackData(const EMObjectCallbackData &data)
Definition: emobject.h:57
virtual int sectionIndex(const SectionID &) const
void changePosID(const EM::PosID &from, const EM::PosID &to, bool addtohistory)
virtual bool isDefined(const EM::SectionID &, const EM::SubID &) const
virtual bool isNodeLocked(const PosID &) const
Definition: emobject.h:218
static int sIntersectionNode()
virtual bool isOK() const
Definition: emobject.h:170
bool haslockednodes_
Definition: emobject.h:359
virtual Coord3 getPos(const EM::PosID &) const
void removeAllUnSeedPos()
virtual bool setPos(const EM::PosID &, const Coord3 &, bool addtohistory)
virtual bool canSetSectionName() const
virtual EM::PosID next()=0
Color lockcolor_
Definition: emobject.h:360
virtual EMObjectIterator * createIterator(const EM::SectionID &, const TrcKeyZSampling *=0) const
Definition: emobject.h:253
Base class for all EarthModel objects.
Definition: emobject.h:159
EM object callback data.
Definition: emobject.h:46
virtual void unlockAll()
Definition: emobject.h:221
virtual bool isAtEdge(const EM::PosID &) const
static int sTemporaryControlNode()
#define mDeprecatedDef
Definition: plfdefs.h:216
virtual int maximumSize() const
Definition: emobject.h:128
const MultiID & multiID() const
Definition: emobject.h:167
virtual void setNodeLocked(const TrcKey &, bool locked)
Definition: emobject.h:215
static int sPermanentControlNode()
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
virtual void fillDisplayPar(IOPar &) const
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
virtual void getLinkedPos(const EM::PosID &posid, TypeSet< EM::PosID > &) const
Definition: emobject.h:246
virtual bool isLocked() const
Definition: emobject.h:299
Notifier with automatic capsule creation.
Definition: notify.h:171
void setPreferredMarkerStyle3D(const MarkerStyle3D &)
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
virtual bool isPosAttrib(const EM::PosID &, int attr) const
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:140
virtual BufferString sectionName(const SectionID &) const
virtual bool usePar(const IOPar &)
virtual const Color & getLockColor() const
virtual void setNewName()
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
virtual bool setSectionName(const SectionID &, const char *, bool addtohistory)
Position attribute.
Definition: emobject.h:139
const Color & preferredColor() const
virtual Geometry::Element * sectionGeometryInternal(const SectionID &)
virtual Executor * saver()
Definition: emobject.h:291
const OD::LineStyle & preferredLineStyle() const
Sets of (small) copyable elements.
Definition: commontypes.h:29
mDeprecatedDef uiString uiName() const
Definition: emobject.h:171
bool selremoving_
Definition: emobject.h:364
mDeclInstanceCreatedNotifierAccess(EMObject)
EMObjectCallbackData()
Definition: emobject.h:48
Generated at
for the OpendTect
seismic interpretation project.
Copyright (C): dGB Beheer B.V. 1995-2021