OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Types | Public Member Functions | Protected Attributes | List of all members
ossimVisitor Class Referenceabstract

#include <ossimVisitor.h>

Inheritance diagram for ossimVisitor:
ossimReferenced ossimCollectionVisitor ossimElevManager::ConnectionStringVisitor ossimEventVisitor ossimIdVisitor ossimIvtGeomXformVisitor ossimSourceInitializeVisitor ossimViewInterfaceVisitor ossimTypeIdVisitor ossimTypeNameVisitor

Public Types

enum  VisitorType {
  VISIT_NONE = 0, VISIT_CHILDREN = 1, VISIT_INPUTS = 2, VISIT_OUTPUTS = 4,
  VISIT_ALL = (VISIT_CHILDREN|VISIT_INPUTS|VISIT_OUTPUTS)
}
 Enumeration type can be a mask and will traverse a graph of connectables based on the values. More...
 
typedef std::set< ossimRefPtr< ossimObject > > MarkCollectionRef
 
typedef std::set< ossimRefPtr< ossimObject > > CollectionRef
 
typedef std::vector< ossimRefPtr< ossimObject > > ListRef
 
typedef std::set< ossimObject * > Collection
 
typedef std::vector< ossimObject *> List
 

Public Member Functions

 ossimVisitor (int visitorType=VISIT_NONE)
 
 ossimVisitor (const ossimVisitor &src)
 
virtual void reset ()
 
virtual ossimRefPtr< ossimVisitordup () const =0
 
virtual void visit (ossimObject *obj)
 
virtual void visit (ossimConnectableObject *obj)
 
VisitorType getVisitorType () const
 
void setVisitorType (int vType, bool on=true)
 
void turnOffVisitorType (int vType)
 
bool hasVisited (ossimObject *obj) const
 
bool stopTraversal () const
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 

Protected Attributes

VisitorType m_visitorType
 
Collection m_markNode
 
bool m_stopTraversalFlag
 

Additional Inherited Members

- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Detailed Description

Definition at line 16 of file ossimVisitor.h.

Member Typedef Documentation

◆ Collection

Definition at line 22 of file ossimVisitor.h.

◆ CollectionRef

Definition at line 20 of file ossimVisitor.h.

◆ List

typedef std::vector<ossimObject* > ossimVisitor::List

Definition at line 23 of file ossimVisitor.h.

◆ ListRef

Definition at line 21 of file ossimVisitor.h.

◆ MarkCollectionRef

Definition at line 19 of file ossimVisitor.h.

Member Enumeration Documentation

◆ VisitorType

Enumeration type can be a mask and will traverse a graph of connectables based on the values.

Enumerator
VISIT_NONE 
VISIT_CHILDREN 
VISIT_INPUTS 
VISIT_OUTPUTS 
VISIT_ALL 

Definition at line 27 of file ossimVisitor.h.

Constructor & Destructor Documentation

◆ ossimVisitor() [1/2]

ossimVisitor::ossimVisitor ( int  visitorType = VISIT_NONE)

Definition at line 10 of file ossimVisitor.cpp.

11 :m_visitorType(static_cast<VisitorType>(visitorType)),
13 {
14 
15 }
bool m_stopTraversalFlag
Definition: ossimVisitor.h:50
VisitorType m_visitorType
Definition: ossimVisitor.h:48

◆ ossimVisitor() [2/2]

ossimVisitor::ossimVisitor ( const ossimVisitor src)

Definition at line 17 of file ossimVisitor.cpp.

21 {
22 }
bool m_stopTraversalFlag
Definition: ossimVisitor.h:50
VisitorType m_visitorType
Definition: ossimVisitor.h:48
Collection m_markNode
Definition: ossimVisitor.h:49

Member Function Documentation

◆ dup()

virtual ossimRefPtr<ossimVisitor> ossimVisitor::dup ( ) const
pure virtual

◆ getVisitorType()

ossimVisitor::VisitorType ossimVisitor::getVisitorType ( ) const

◆ hasVisited()

bool ossimVisitor::hasVisited ( ossimObject obj) const

◆ reset()

void ossimVisitor::reset ( void  )
virtual

Reimplemented in ossimIdVisitor, and ossimCollectionVisitor.

Definition at line 46 of file ossimVisitor.cpp.

References m_markNode, and m_stopTraversalFlag.

Referenced by ossimCollectionVisitor::reset(), and ossimIdVisitor::reset().

47 {
48  m_markNode.clear();
49  m_stopTraversalFlag = false;
50 }
bool m_stopTraversalFlag
Definition: ossimVisitor.h:50
Collection m_markNode
Definition: ossimVisitor.h:49

◆ setVisitorType()

void ossimVisitor::setVisitorType ( int  vType,
bool  on = true 
)

Definition at line 29 of file ossimVisitor.cpp.

References m_visitorType, and VISIT_ALL.

Referenced by ossimConnectableContainer::accept(), ossimImageChain::accept(), ossimConnectableObject::accept(), and turnOffVisitorType().

30 {
31  if(on)
32  {
34  }
35  else
36  {
38  }
39 }
VisitorType
Enumeration type can be a mask and will traverse a graph of connectables based on the values...
Definition: ossimVisitor.h:27
VisitorType m_visitorType
Definition: ossimVisitor.h:48

◆ stopTraversal()

bool ossimVisitor::stopTraversal ( ) const

◆ turnOffVisitorType()

void ossimVisitor::turnOffVisitorType ( int  vType)

Definition at line 41 of file ossimVisitor.cpp.

References setVisitorType().

Referenced by ossimConnectableContainer::accept(), ossimImageChain::accept(), and ossimConnectableObject::accept().

42 {
43  setVisitorType(vType, false);
44 }
void setVisitorType(int vType, bool on=true)

◆ visit() [1/2]

void ossimVisitor::visit ( ossimObject obj)
virtual

◆ visit() [2/2]

void ossimVisitor::visit ( ossimConnectableObject obj)
virtual

Reimplemented in ossimIdVisitor.

Definition at line 57 of file ossimVisitor.cpp.

References visit().

58 {
59  visit(static_cast<ossimObject*>(obj));
60 }
virtual void visit(ossimObject *obj)

Member Data Documentation

◆ m_markNode

Collection ossimVisitor::m_markNode
mutableprotected

Definition at line 49 of file ossimVisitor.h.

Referenced by hasVisited(), reset(), and visit().

◆ m_stopTraversalFlag

bool ossimVisitor::m_stopTraversalFlag
mutableprotected

◆ m_visitorType

VisitorType ossimVisitor::m_visitorType
protected

Definition at line 48 of file ossimVisitor.h.

Referenced by getVisitorType(), and setVisitorType().


The documentation for this class was generated from the following files: