OpendTect
6.6
|
Manages DataPacks. More...
Public Types | |
typedef int | ID |
Each Mgr has its own ID. More... | |
Public Member Functions | |
DataPackMgr (ID) | |
~DataPackMgr () | |
void | add (DataPack *) |
The pack becomes mine. More... | |
DataPack * | addAndObtain (DataPack *) |
const char * | categoryOf (DataPack::ID) const |
void | dumpInfo (od_ostream &) const |
virtual void | dumpInfoFor (DataPack::ID, IOPar &) const |
bool | haveID (const DataPack::FullID &fid) const |
bool | haveID (DataPack::ID) const |
ID | id () const |
const char * | nameOf (DataPack::ID) const |
float | nrKBytes () const |
virtual float | nrKBytesOf (DataPack::ID) const |
DataPack * | observe (DataPack::ID dpid) |
const DataPack * | observe (DataPack::ID dpid) const |
DataPack * | obtain (DataPack::ID dpid) |
const DataPack * | obtain (DataPack::ID dpid) const |
const ObjectSet< const DataPack > & | packs () const |
void | release (const DataPack *dp) |
void | release (DataPack::ID) |
void | releaseAll (bool donotify) |
Public Member Functions inherited from CallBacker | |
CallBacker () | |
CallBacker (const CallBacker &) | |
virtual | ~CallBacker () |
bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const |
bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const |
void | detachAllNotifiers () const |
Call from the destructor of your inherited object. More... | |
void | detachCB (const NotifierAccess &, const CallBack &) const |
void | detachCB (const NotifierAccess *notif, const CallBack &cb) const |
virtual bool | isCapsule () const |
bool | isNotifierAttached (const NotifierAccess *) const |
Only for debugging purposes, don't use. More... | |
void | stopReceivingNotifications () const |
Static Public Member Functions | |
static ID | BufID () |
Simple data buffer: 1. More... | |
static const char * | categoryOf (const DataPack::FullID &) |
static DataPackMgr & | DPM (ID) |
static void | dumpDPMs (od_ostream &) |
static ID | FlatID () |
Flat (N1xN2) data: 4. More... | |
static ID | getID (const DataPack::FullID &fid) |
static DataPackMgr * | gtDPM (ID, bool) |
static const char * | nameOf (const DataPack::FullID &) |
static ID | PointID () |
Sets of 'unconnected' points: 2. More... | |
static ID | SeisID () |
Cube/Block (N1xN2xN3) data: 3. More... | |
static ID | SurfID () |
Surface (triangulated) data: 5. More... | |
Static Public Member Functions inherited from CallBacker | |
static void | createReceiverForCurrentThread () |
static void | removeReceiverForCurrentThread () |
Public Attributes | |
Notifier< DataPackMgr > | newPack |
Passed CallBacker* = Pack. More... | |
Notifier< DataPackMgr > | packToBeRemoved |
Passed CallBacker* = Pack. More... | |
Protected Member Functions | |
DataPack * | doObtain (ID, bool) const |
int | indexOf (ID) const |
Object should be readlocked. More... | |
Protected Attributes | |
ID | id_ |
ObjectSet< const DataPack > | packs_ |
Threads::Lock | rwlock_ |
Static Protected Attributes | |
static Threads::Lock | mgrlistlock_ |
static ManagedObjectSet< DataPackMgr > | mgrs_ |
Manages DataPacks.
DataPacks will be managed with everything in it. If you add a Pack, you will get the ID of the pack.
When you obtain the data for looking at it, you can choose to 'only observe'. In that case, you'd better use the packToBeRemoved notifier, as the data may be deleted at any time. Normally, you want to obtain a reference whilst making sure the data is not thrown away.
This means you must release the data pack once you no longer use it, but NEVER* release a pack when you used the 'observing_only' option.
You can get an appropriate DataPackMgr from the DPM() function.
<>
typedef int DataPackMgr::ID |
Each Mgr has its own ID.
DataPackMgr::DataPackMgr | ( | ID | ) |
You can, but normally should not, construct a manager. In general, leave it to DPM().
DataPackMgr::~DataPackMgr | ( | ) |
Delete a DataPackMgr only when you have created it with the constructor.
void DataPackMgr::add | ( | DataPack * | ) |
The pack becomes mine.
The pack becomes mines. Pack is obtained during the lock, i.e. threadsafe.
|
static |
Simple data buffer: 1.
|
static |
const char* DataPackMgr::categoryOf | ( | DataPack::ID | ) | const |
|
static |
|
static |
void DataPackMgr::dumpInfo | ( | od_ostream & | ) | const |
|
virtual |
|
static |
Flat (N1xN2) data: 4.
|
inlinestatic |
|
static |
|
inline |
bool DataPackMgr::haveID | ( | DataPack::ID | ) | const |
|
inline |
|
protected |
Object should be readlocked.
|
static |
const char* DataPackMgr::nameOf | ( | DataPack::ID | ) | const |
float DataPackMgr::nrKBytes | ( | ) | const |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Sets of 'unconnected' points: 2.
|
inline |
void DataPackMgr::release | ( | DataPack::ID | ) |
void DataPackMgr::releaseAll | ( | bool | donotify | ) |
|
static |
Cube/Block (N1xN2xN3) data: 3.
|
static |
Surface (triangulated) data: 5.
|
protected |
|
staticprotected |
|
staticprotected |
Notifier<DataPackMgr> DataPackMgr::newPack |
Passed CallBacker* = Pack.
Notifier<DataPackMgr> DataPackMgr::packToBeRemoved |
Passed CallBacker* = Pack.
|
mutableprotected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022