Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Friends

EM::EdgeLineSegment Class Reference

Inheritance diagram for EM::EdgeLineSegment:
CallBacker EM::SurfaceConnectLine EM::TerminationEdgeLineSegment

List of all members.

Public Member Functions

virtual EdgeLineSegmentclone () const
virtual const char * className () const
 EdgeLineSegment (EM::Horizon3D &, const EM::SectionID &)
 EdgeLineSegment (const EdgeLineSegment &)
 ~EdgeLineSegment ()
void setSection (const EM::SectionID &s)
virtual void setTime2Depth (const FloatMathFunction *)
virtual bool shouldHorizonTrack (int, const RowCol &trackdir) const
virtual bool shouldHorizonExpand () const
bool haveIdenticalSettings (const EdgeLineSegment &) const
int size () const
int indexOf (const RowCol &, bool forward=true) const
void remove (int)
void remove (int, int)
void removeAll ()
void insert (int, const RowCol &)
void insert (int, const TypeSet< RowCol > &)
void set (int, const RowCol &)
void copyNodesFrom (const TypeSet< RowCol > &, bool reverse=false)
void copyNodesFrom (const EdgeLineSegment *, bool reverse=false)
const RowColoperator[] (int idx) const
const EdgeLineSegmentoperator+= (const RowCol &)
bool isClosed () const
bool isContinuedBy (const EdgeLineSegment *) const
int findNeighborTo (const RowCol &, bool forward) const
RowCol first () const
RowCol last () const
bool isByPassed (int idx, const EdgeLineSegment *prev, const EdgeLineSegment *next) const
virtual bool canTrack () const
virtual int reTrackOrderIndex () const
virtual bool reTrack (const EdgeLineSegment *prev, const EdgeLineSegment *next)
virtual bool track (int idx, bool forward, const EdgeLineSegment *prev=0, const EdgeLineSegment *next=0)
void reverse ()
void makeLine (const RowCol &from, const RowCol &to)
virtual void fillPar (IOPar &) const
virtual bool usePar (const IOPar &)
NotifierAccesschangeNotifier ()
const EM::Horizon3DgetHorizon () const
EM::Horizon3DgetHorizon ()
EM::SectionID getSection () const
const TypeSet< RowCol > & getNodes () const
virtual void commitChanges ()

Static Public Member Functions

static EdgeLineSegmentcreate (EM::Horizon3D &surf, const EM::SectionID &sect)
static const char * sClassName ()
static EM::EdgeLineSegmentfactory (const IOPar &, EM::Horizon3D &surf, const EM::SectionID &sect)

Protected Member Functions

virtual bool internalIdenticalSettings (const EdgeLineSegment &) const
virtual bool isNodeOK (const RowCol &) const
virtual bool trackWithCache (int idx, bool forward, const EdgeLineSegment *prev=0, const EdgeLineSegment *next=0)
virtual void removeCache ()
bool isDefined (const RowCol &) const
bool isAtEdge (const RowCol &) const
bool isConnToNext (int idx) const
bool isConnToPrev (int idx) const
bool areAllNodesOutsideBad (int idx, const EdgeLineSegment *prev, const EdgeLineSegment *next) const
bool getNeighborNode (int idx, bool forward, RowCol &, const EdgeLineSegment *prev, const EdgeLineSegment *next) const
bool getHorizonStart (int idx, bool clockwise, RowCol &) const

Static Protected Member Functions

static const char * key ()

Protected Attributes

EM::Horizon3Dhorizon_
EM::SectionID section

Private Member Functions

void posChangeCB (CallBacker *)

Static Private Member Functions

static ObjectSet
< EdgeLineSegmentFactory > & 
factories ()
static const char * classnamestr ()

Private Attributes

Notifier< EdgeLineSegment > * notifier
TypeSet< RowColnodes_

Friends

class EdgeLineSegmentFactory

Constructor & Destructor Documentation

EM::EdgeLineSegment::EdgeLineSegment ( EM::Horizon3D ,
const EM::SectionID  
)
EM::EdgeLineSegment::EdgeLineSegment ( const EdgeLineSegment  ) 
EM::EdgeLineSegment::~EdgeLineSegment (  ) 

Member Function Documentation

bool EM::EdgeLineSegment::areAllNodesOutsideBad ( int  idx,
const EdgeLineSegment prev,
const EdgeLineSegment next 
) const [protected]
virtual bool EM::EdgeLineSegment::canTrack (  )  const [inline, virtual]
NotifierAccess* EM::EdgeLineSegment::changeNotifier (  ) 
virtual const char* EM::EdgeLineSegment::className (  )  const [inline, virtual]
static const char* EM::EdgeLineSegment::classnamestr (  )  [static, private]
virtual EdgeLineSegment* EM::EdgeLineSegment::clone (  )  const [inline, virtual]
virtual void EM::EdgeLineSegment::commitChanges (  )  [inline, virtual]

During tracking, the line might want to move the surface slightly to get a perfect match between surfaces. These changes are stored since we don't want to change the surface if not neccessary. These changes will be applied to the surface when this function is called. This function is normally only called from EM::EdgeLine::insertSegments.

void EM::EdgeLineSegment::copyNodesFrom ( const TypeSet< RowCol > &  ,
bool  reverse = false 
)
void EM::EdgeLineSegment::copyNodesFrom ( const EdgeLineSegment ,
bool  reverse = false 
)
static EdgeLineSegment* EM::EdgeLineSegment::create ( EM::Horizon3D surf,
const EM::SectionID sect 
) [inline, static]
static ObjectSet<EdgeLineSegmentFactory>& EM::EdgeLineSegment::factories (  )  [static, private]
static EM::EdgeLineSegment* EM::EdgeLineSegment::factory ( const IOPar ,
EM::Horizon3D surf,
const EM::SectionID sect 
) [static]
virtual void EM::EdgeLineSegment::fillPar ( IOPar  )  const [virtual]

Reimplemented in EM::SurfaceConnectLine.

int EM::EdgeLineSegment::findNeighborTo ( const RowCol ,
bool  forward 
) const
RowCol EM::EdgeLineSegment::first (  )  const
const EM::Horizon3D& EM::EdgeLineSegment::getHorizon (  )  const [inline]
EM::Horizon3D& EM::EdgeLineSegment::getHorizon (  )  [inline]
bool EM::EdgeLineSegment::getHorizonStart ( int  idx,
bool  clockwise,
RowCol  
) const [protected]
bool EM::EdgeLineSegment::getNeighborNode ( int  idx,
bool  forward,
RowCol ,
const EdgeLineSegment prev,
const EdgeLineSegment next 
) const [protected]
const TypeSet<RowCol>& EM::EdgeLineSegment::getNodes (  )  const [inline]
EM::SectionID EM::EdgeLineSegment::getSection (  )  const [inline]
bool EM::EdgeLineSegment::haveIdenticalSettings ( const EdgeLineSegment  )  const
Returns:
true if the segments are of the same type and have the same settigs
int EM::EdgeLineSegment::indexOf ( const RowCol ,
bool  forward = true 
) const
void EM::EdgeLineSegment::insert ( int  ,
const TypeSet< RowCol > &   
)
void EM::EdgeLineSegment::insert ( int  ,
const RowCol  
)
virtual bool EM::EdgeLineSegment::internalIdenticalSettings ( const EdgeLineSegment  )  const [protected, virtual]
Returns:
true if the segments are of the same type and have the same settigs

Reimplemented in EM::SurfaceConnectLine.

bool EM::EdgeLineSegment::isAtEdge ( const RowCol  )  const [protected]
bool EM::EdgeLineSegment::isByPassed ( int  idx,
const EdgeLineSegment prev,
const EdgeLineSegment next 
) const
bool EM::EdgeLineSegment::isClosed (  )  const
bool EM::EdgeLineSegment::isConnToNext ( int  idx  )  const [protected]
bool EM::EdgeLineSegment::isConnToPrev ( int  idx  )  const [protected]
bool EM::EdgeLineSegment::isContinuedBy ( const EdgeLineSegment  )  const
bool EM::EdgeLineSegment::isDefined ( const RowCol  )  const [protected]
virtual bool EM::EdgeLineSegment::isNodeOK ( const RowCol  )  const [protected, virtual]

Reimplemented in EM::SurfaceConnectLine.

static const char* EM::EdgeLineSegment::key (  )  [static, protected]
RowCol EM::EdgeLineSegment::last (  )  const
void EM::EdgeLineSegment::makeLine ( const RowCol from,
const RowCol to 
)
const EdgeLineSegment& EM::EdgeLineSegment::operator+= ( const RowCol  ) 
const RowCol& EM::EdgeLineSegment::operator[] ( int  idx  )  const
void EM::EdgeLineSegment::posChangeCB ( CallBacker  )  [private]
void EM::EdgeLineSegment::remove ( int  ,
int   
)
void EM::EdgeLineSegment::remove ( int   ) 
void EM::EdgeLineSegment::removeAll (  ) 
virtual void EM::EdgeLineSegment::removeCache (  )  [inline, protected, virtual]
virtual bool EM::EdgeLineSegment::reTrack ( const EdgeLineSegment prev,
const EdgeLineSegment next 
) [virtual]
virtual int EM::EdgeLineSegment::reTrackOrderIndex (  )  const [inline, virtual]

Reimplemented in EM::SurfaceConnectLine.

void EM::EdgeLineSegment::reverse (  ) 

Changes the order of the nodes

static const char* EM::EdgeLineSegment::sClassName (  )  [inline, static]
void EM::EdgeLineSegment::set ( int  ,
const RowCol  
)
void EM::EdgeLineSegment::setSection ( const EM::SectionID s  )  [inline]
virtual void EM::EdgeLineSegment::setTime2Depth ( const FloatMathFunction *   )  [inline, virtual]
virtual bool EM::EdgeLineSegment::shouldHorizonExpand (  )  const [inline, virtual]
virtual bool EM::EdgeLineSegment::shouldHorizonTrack ( int  ,
const RowCol trackdir 
) const [virtual]
int EM::EdgeLineSegment::size (  )  const
virtual bool EM::EdgeLineSegment::track ( int  idx,
bool  forward,
const EdgeLineSegment prev = 0,
const EdgeLineSegment next = 0 
) [inline, virtual]
virtual bool EM::EdgeLineSegment::trackWithCache ( int  idx,
bool  forward,
const EdgeLineSegment prev = 0,
const EdgeLineSegment next = 0 
) [protected, virtual]
virtual bool EM::EdgeLineSegment::usePar ( const IOPar  )  [virtual]

Reimplemented in EM::SurfaceConnectLine.


Friends And Related Function Documentation

friend class EdgeLineSegmentFactory [friend]

Member Data Documentation