3 #ifndef ossimVisitor_HEADER 4 #define ossimVisitor_HEADER 1 21 typedef std::vector<ossimRefPtr<ossimObject> >
ListRef;
23 typedef std::vector<ossimObject* >
List;
33 VISIT_ALL = (VISIT_CHILDREN|VISIT_INPUTS|VISIT_OUTPUTS)
42 VisitorType getVisitorType()
const;
43 void setVisitorType(
int vType,
bool on=
true);
44 void turnOffVisitorType(
int vType);
46 bool stopTraversal()
const;
59 const ListRef& getObjects()
const;
66 if(idx < m_collection.size())
68 return dynamic_cast<T*
>(m_collection[idx].get());
76 if(idx < m_collection.size())
78 return dynamic_cast<const T*
>(m_collection[idx].get());
107 virtual void reset();
135 void setFirstOfTypeFlag(
bool flag);
138 bool getFirstOfTypeFlag()
const;
164 int visitorType =(VISIT_OUTPUTS|VISIT_CHILDREN));
183 int visitorType =(VISIT_OUTPUTS|VISIT_CHILDREN));
virtual void visit(ossimObject *obj)
virtual ossimRefPtr< ossimVisitor > dup() const =0
ossimRefPtr< ossimObject > m_view
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
Visitor to update view and then propagate property event to outputs.
Visitor to update view and then propagate property event to outputs.
std::vector< ossimObject *> List
unsigned int ossim_uint32
std::set< ossimObject * > Collection
std::vector< ossimRefPtr< ossimObject > > ListRef
std::set< ossimRefPtr< ossimObject > > MarkCollectionRef
std::set< ossimRefPtr< ossimObject > > CollectionRef
T * getObjectAs(ossim_uint32 idx=0)
ossimRefPtr< ossimEvent > m_event
const T * getObjectAs(ossim_uint32 idx=0) const
VisitorType
Enumeration type can be a mask and will traverse a graph of connectables based on the values...
VisitorType m_visitorType
ossimConnectableObject * m_object