OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimConnectableContainerInterface.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: See top level LICENSE.txt file.
5 //
6 // Author: Garrett Potts
7 //
8 // Description: A brief description of the contents of the file.
9 //
10 //*************************************************************************
11 // $Id: ossimConnectableContainerInterface.h 15766 2009-10-20 12:37:09Z gpotts $
12 #ifndef ossimConnectableContainerInterface_HEADER
13 #define ossimConnectableContainerInterface_HEADER
14 
16 #include <ossim/base/ossimRtti.h>
17 #include <ossim/base/ossimId.h>
19 #include <vector>
20 
21 class ossimString;
22 
24 {
25 public:
27  virtual ~ossimConnectableContainerInterface(){theBaseObject=NULL;}
28 
38  virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType(const RTTItypeid& typeInfo,
39  bool recurse=true)=0;
40  virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType(const ossimString& className,
41  bool recurse=true)=0;
42 
52  virtual ossimConnectableObject* findFirstObjectOfType(const RTTItypeid& typeInfo,
53  bool recurse=true)=0;
54 
55  virtual ossimConnectableObject* findFirstObjectOfType(const ossimString& className,
56  bool recurse=true)=0;
57 
62  virtual ossimConnectableObject* findObject(const ossimId& id,
63  bool recurse=true)=0;
64 
65  virtual ossimConnectableObject* findObject(const ossimConnectableObject* obj,
66  bool recurse=true)=0;
71  virtual void makeUniqueIds()=0;
72 
76  virtual ossim_uint32 getNumberOfObjects(bool recurse=true)const=0;
77 
78 
83  virtual bool addChild(ossimConnectableObject* attachableObject)=0;
84 
89  virtual bool removeChild(ossimConnectableObject* object)=0;
90 
95  ossimObject* getObject(){return theBaseObject;}
96  const ossimObject* getObject()const{return theBaseObject;}
97 
108  virtual ossimConnectableObject* getConnectableObject(ossim_uint32 index)=0;
109 
110  void deleteAllChildren();
111  virtual void getChildren(std::vector<ossimConnectableObject*>& children,
112  bool immediateChildrenOnlyFlag)=0;
113 protected:
115 TYPE_DATA
116 };
117 
118 #endif
#define OSSIMDLLEXPORT
std::vector< ossimRefPtr< ossimConnectableObject > > ConnectableObjectList
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32