OpendTect-6_4
6.4
|
Manages DataPacks. More...
Public Types | |
typedef int | ID |
Each Mgr has its own ID. More... | |
Public Member Functions | |
bool | haveID (DataPack::ID) const |
bool | haveID (const DataPack::FullID &fid) const |
void | add (DataPack *) |
The pack becomes mine. More... | |
DataPack * | addAndObtain (DataPack *) |
DataPack * | obtain (DataPack::ID dpid) |
const DataPack * | obtain (DataPack::ID dpid) const |
DataPack * | observe (DataPack::ID dpid) |
const DataPack * | observe (DataPack::ID dpid) const |
void | release (DataPack::ID) |
void | release (const DataPack *dp) |
void | releaseAll (bool donotify) |
const char * | nameOf (DataPack::ID) const |
const char * | categoryOf (DataPack::ID) const |
virtual float | nrKBytesOf (DataPack::ID) const |
virtual void | dumpInfoFor (DataPack::ID, IOPar &) const |
ID | id () const |
void | dumpInfo (od_ostream &) const |
float | nrKBytes () const |
const ObjectSet< const DataPack > & | packs () const |
DataPackMgr (ID) | |
~DataPackMgr () | |
Public Member Functions inherited from CallBacker | |
CallBacker () | |
CallBacker (const CallBacker &) | |
virtual | ~CallBacker () |
bool | attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false) |
bool | attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) |
void | detachCB (NotifierAccess &, const CallBack &) |
void | detachCB (NotifierAccess *notif, const CallBack &cb) |
bool | isNotifierAttached (NotifierAccess *) const |
Only for debugging purposes, don't use. More... | |
Static Public Member Functions | |
static ID | getID (const DataPack::FullID &fid) |
static ID | BufID () |
Simple data buffer: 1. More... | |
static ID | PointID () |
Sets of 'unconnected' points: 2. More... | |
static ID | SeisID () |
Cube/Block (N1xN2xN3) data: 3. More... | |
static ID | FlatID () |
Flat (N1xN2) data: 4. More... | |
static ID | SurfID () |
Surface (triangulated) data: 5. More... | |
static const char * | nameOf (const DataPack::FullID &) |
static const char * | categoryOf (const DataPack::FullID &) |
static DataPackMgr & | DPM (ID) |
static DataPackMgr * | gtDPM (ID, bool) |
static void | dumpDPMs (od_ostream &) |
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 Member Functions inherited from CallBacker | |
void | detachAllNotifiers () |
Call from the destructor of your inherited object. 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.
const char* DataPackMgr::categoryOf | ( | DataPack::ID | ) | const |
|
static |
|
static |
|
static |
void DataPackMgr::dumpInfo | ( | od_ostream & | ) | const |
|
virtual |
|
static |
Flat (N1xN2) data: 4.
|
inlinestatic |
|
static |
bool DataPackMgr::haveID | ( | DataPack::ID | ) | const |
|
inline |
|
inline |
|
protected |
Object should be readlocked.
const char* DataPackMgr::nameOf | ( | DataPack::ID | ) | const |
|
static |
float DataPackMgr::nrKBytes | ( | ) | const |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Sets of 'unconnected' points: 2.
void DataPackMgr::release | ( | DataPack::ID | ) |
|
inline |
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. 2019