Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

Seis::SelData Class Reference

contains input (sub-)selection data from a cube or lineset More...

Inheritance diagram for Seis::SelData:
Seis::PolySelData Seis::RangeSelData Seis::TableSelData

List of all members.

Public Types

typedef SelType Type

Public Member Functions

virtual ~SelData ()
virtual Type type () const =0
virtual SelDataclone () const =0
virtual void copyFrom (const SelData &)=0
bool isAll () const
void setIsAll (bool yn=true)
bool isOK (const BinID &b) const
virtual int selRes (const BinID &) const =0
 see class doc
virtual Interval< float > zRange () const
virtual bool setZRange (Interval< float >)
virtual Interval< int > inlRange () const
virtual bool setInlRange (Interval< int >)
virtual Interval< int > crlRange () const
virtual bool setCrlRange (Interval< int >)
virtual int expectedNrTraces (bool for2d=false, const BinID *step=0) const =0
virtual void fillPar (IOPar &) const =0
virtual void usePar (const IOPar &)=0
virtual void extendZ (const Interval< float > &)=0
virtual void extendH (const BinID &stepout, const BinID *stepoutstep=0)
virtual void include (const SelData &)=0
LineKeylineKey ()
const LineKeylineKey () const

Static Public Member Functions

static SelDataget (Type)
 empty
static SelDataget (const IOPar &)
 fully filled
static SelDataget (const Pos::Provider &)
 filled; some defaults
static void removeFromPar (IOPar &)

Protected Member Functions

 SelData ()
int tracesInSI () const
virtual void doExtendH (BinID stepout, BinID stepoutstep)=0

Protected Attributes

bool isall_
LineKeylinekey_
 2D only

Detailed Description

contains input (sub-)selection data from a cube or lineset

This class exists so that without knowing the form of the subselection, other classes can find out whether a trace is included or not. The function selRes() returns an integer which gives more information than just yes/no. If 0 is returned, the position is included. If non-zero, the inline or crossline number can be one of:

0 - this number is OK by itself, but not the combination 1 - this number is the 'party-pooper' but there are selected posns with it 2 - No selected position has this number

Especially (2) is very useful: an entire inl or crl can be skipped from input. The return value of selRes is inl_result + 256 * crl_result. If you're not interested in all that, just use isOK().


Member Typedef Documentation


Constructor & Destructor Documentation

virtual Seis::SelData::~SelData (  )  [virtual]
Seis::SelData::SelData (  )  [protected]

Member Function Documentation

virtual SelData* Seis::SelData::clone (  )  const [pure virtual]
virtual void Seis::SelData::copyFrom ( const SelData  )  [pure virtual]
virtual Interval<int> Seis::SelData::crlRange (  )  const [virtual]
virtual void Seis::SelData::doExtendH ( BinID  stepout,
BinID  stepoutstep 
) [protected, pure virtual]
virtual int Seis::SelData::expectedNrTraces ( bool  for2d = false,
const BinID step = 0 
) const [pure virtual]
virtual void Seis::SelData::extendH ( const BinID stepout,
const BinID stepoutstep = 0 
) [virtual]
virtual void Seis::SelData::extendZ ( const Interval< float > &   )  [pure virtual]
virtual void Seis::SelData::fillPar ( IOPar  )  const [pure virtual]
static SelData* Seis::SelData::get ( Type   )  [static]

empty

static SelData* Seis::SelData::get ( const Pos::Provider  )  [static]

filled; some defaults

static SelData* Seis::SelData::get ( const IOPar  )  [static]

fully filled

virtual void Seis::SelData::include ( const SelData  )  [pure virtual]
virtual Interval<int> Seis::SelData::inlRange (  )  const [virtual]
bool Seis::SelData::isAll (  )  const [inline]
bool Seis::SelData::isOK ( const BinID b  )  const [inline]
const LineKey& Seis::SelData::lineKey (  )  const [inline]
LineKey& Seis::SelData::lineKey (  )  [inline]
static void Seis::SelData::removeFromPar ( IOPar  )  [static]
virtual int Seis::SelData::selRes ( const BinID  )  const [pure virtual]

see class doc

Implemented in Seis::RangeSelData, Seis::TableSelData, and Seis::PolySelData.

virtual bool Seis::SelData::setCrlRange ( Interval< int >   )  [inline, virtual]
virtual bool Seis::SelData::setInlRange ( Interval< int >   )  [inline, virtual]
void Seis::SelData::setIsAll ( bool  yn = true  )  [inline]
virtual bool Seis::SelData::setZRange ( Interval< float >   )  [inline, virtual]
int Seis::SelData::tracesInSI (  )  const [protected]
virtual Type Seis::SelData::type (  )  const [pure virtual]
virtual void Seis::SelData::usePar ( const IOPar  )  [pure virtual]
virtual Interval<float> Seis::SelData::zRange (  )  const [virtual]

Member Data Documentation

bool Seis::SelData::isall_ [protected]

2D only