OpendTect  6.6
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
SeisPSIOProvider Class Reference

Prestack Seismics objects provider. More...

Public Member Functions

virtual ~SeisPSIOProvider ()
 
virtual bool canHandle (bool forread, bool for2d) const
 
virtual bool fetchGeomIDs (const IOObj &, TypeSet< Pos::GeomID > &) const
 
virtual bool fetchLineNames (const IOObj &, BufferStringSet &) const
 
virtual SeisPS2DReaderget2DReader (const IOObj &, const char *) const
 
virtual SeisPS2DReaderget2DReader (const IOObj &, Pos::GeomID) const
 
virtual SeisPSWriterget2DWriter (const IOObj &, const char *) const
 
virtual SeisPSWriterget2DWriter (const IOObj &, Pos::GeomID) const
 
virtual SeisPS3DReaderget3DReader (const IOObj &, int i=mUdf(int)) const
 
virtual SeisPSWriterget3DWriter (const IOObj &) const
 
virtual bool getGeomIDs (const char *, TypeSet< Pos::GeomID > &) const
 
virtual bool getLineNames (const char *, BufferStringSet &) const
 
virtual SeisPS2DReadermake2DReader (const char *, const char *lnm) const
 
virtual SeisPS2DReadermake2DReader (const char *, Pos::GeomID) const
 
virtual SeisPSWritermake2DWriter (const char *, const char *lnm) const
 
virtual SeisPSWritermake2DWriter (const char *, Pos::GeomID) const
 
virtual SeisPS3DReadermake3DReader (const char *, int i=mUdf(int)) const
 
virtual SeisPSWritermake3DWriter (const char *) const
 
FixedString type () const
 

Static Public Attributes

static const char * sKeyCubeID
 

Protected Member Functions

 SeisPSIOProvider (const char *t)
 

Protected Attributes

BufferString type_
 

Detailed Description

Prestack Seismics objects provider.

It is not mandatory to provide both reader and writer. Null returns must be expected.

The class has 2 sets of interface functions, both can be implemented. The OpendTect application will always use the first interface, which is the IOObj-based interface with the getXXX and fetchXXX functions. The second is if you do not want to make an IOObj but do know the IOObj.fullUserExpr. That can be used as the key for the makeXXX and (2nd bunch of ) getXXX functions.

The idea is to override the public virtual functions. Alternatively, if you know ioobj.fullUserExpr(), then you can override the makeReader and makeWriter functions. This was the only thing available in od5.0 and earlier. That key can be a file or directory, but also some kind of data store access code. The IOObj's tranlator() is used for the type. OpendTect's simple CBVS PS data store has type 'CBVS' (who'd have thought that!), and the data store key is a directory name.

If you pass an inline number to the getReader, you will get a Reader that should be able to read that inline, but be aware that this reader may not be able to provide the full geometry of the entire data store. If the inline is present in the data store, at least the segments for that inline should be filled (i.e. the geometry for that inline will be filled correctly). Construction time can be much faster when you pass an inline number. Pass: negative number for no scanning positive number for single inline usage mUdf(int) (=default) for scanning the entire datastore

For 2D prestack data stores, you have to pass a line name or GeomID to get the relevant reader. This can return null if the line id or name is not found.

<>

Constructor & Destructor Documentation

◆ ~SeisPSIOProvider()

virtual SeisPSIOProvider::~SeisPSIOProvider ( )
inlinevirtual

◆ SeisPSIOProvider()

SeisPSIOProvider::SeisPSIOProvider ( const char *  t)
inlineprotected

Member Function Documentation

◆ canHandle()

virtual bool SeisPSIOProvider::canHandle ( bool  forread,
bool  for2d 
) const
inlinevirtual

◆ fetchGeomIDs()

virtual bool SeisPSIOProvider::fetchGeomIDs ( const IOObj ,
TypeSet< Pos::GeomID > &   
) const
virtual

◆ fetchLineNames()

virtual bool SeisPSIOProvider::fetchLineNames ( const IOObj ,
BufferStringSet  
) const
virtual

◆ get2DReader() [1/2]

virtual SeisPS2DReader* SeisPSIOProvider::get2DReader ( const IOObj ,
const char *   
) const
virtual

◆ get2DReader() [2/2]

virtual SeisPS2DReader* SeisPSIOProvider::get2DReader ( const IOObj ,
Pos::GeomID   
) const
virtual

◆ get2DWriter() [1/2]

virtual SeisPSWriter* SeisPSIOProvider::get2DWriter ( const IOObj ,
const char *   
) const
virtual

◆ get2DWriter() [2/2]

virtual SeisPSWriter* SeisPSIOProvider::get2DWriter ( const IOObj ,
Pos::GeomID   
) const
virtual

◆ get3DReader()

virtual SeisPS3DReader* SeisPSIOProvider::get3DReader ( const IOObj ,
int  i = mUdf(int) 
) const
virtual

◆ get3DWriter()

virtual SeisPSWriter* SeisPSIOProvider::get3DWriter ( const IOObj ) const
virtual

◆ getGeomIDs()

virtual bool SeisPSIOProvider::getGeomIDs ( const char *  ,
TypeSet< Pos::GeomID > &   
) const
inlinevirtual

◆ getLineNames()

virtual bool SeisPSIOProvider::getLineNames ( const char *  ,
BufferStringSet  
) const
inlinevirtual

◆ make2DReader() [1/2]

virtual SeisPS2DReader* SeisPSIOProvider::make2DReader ( const char *  ,
const char *  lnm 
) const
inlinevirtual

◆ make2DReader() [2/2]

virtual SeisPS2DReader* SeisPSIOProvider::make2DReader ( const char *  ,
Pos::GeomID   
) const
inlinevirtual

◆ make2DWriter() [1/2]

virtual SeisPSWriter* SeisPSIOProvider::make2DWriter ( const char *  ,
const char *  lnm 
) const
inlinevirtual

◆ make2DWriter() [2/2]

virtual SeisPSWriter* SeisPSIOProvider::make2DWriter ( const char *  ,
Pos::GeomID   
) const
inlinevirtual

◆ make3DReader()

virtual SeisPS3DReader* SeisPSIOProvider::make3DReader ( const char *  ,
int  i = mUdf(int) 
) const
inlinevirtual

◆ make3DWriter()

virtual SeisPSWriter* SeisPSIOProvider::make3DWriter ( const char *  ) const
inlinevirtual

◆ type()

FixedString SeisPSIOProvider::type ( ) const
inline

Member Data Documentation

◆ sKeyCubeID

const char* SeisPSIOProvider::sKeyCubeID
static

◆ type_

BufferString SeisPSIOProvider::type_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022