00001 00002 // 00003 // Title : ModelingObjectMap.h 00004 // Project : Trauma Pod/Obstacle Avoidance Update 00005 // Created : June 22, 2005 00006 // Author : Andrew Spencer 00007 // Platforms : All 00008 // Copyright : Copyright© The University of Texas at Austin, 2002. All rights reserved. 00009 // 00010 // This software and documentation constitute an unpublished work 00011 // and contain valuable trade secrets and proprietary information 00012 // belonging to the University. None of the foregoing material may be 00013 // copied or duplicated or disclosed without the express, written 00014 // permission of University. THE UNIVERSITY EXPRESSLY DISCLAIMS ANY 00015 // AND ALL WARRANTIES CONCERNING THIS SOFTWARE AND DOCUMENTATION, 00016 // INCLUDING ANY WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 00017 // PARTICULAR PURPOSE, AND WARRANTIES OF PERFORMANCE, AND ANY WARRANTY 00018 // THAT MIGHT OTHERWISE ARISE FROM COURSE OF DEALING OR USAGE OF TRADE. 00019 // NO WARRANTY IS EITHER EXPRESS OR IMPLIED WITH RESPECT TO THE USE OF 00020 // THE SOFTWARE OR DOCUMENTATION. Under no circumstances shall the 00021 // University be liable for incidental, special, indirect, direct or 00022 // consequential damages or loss of profits, interruption of business, 00023 // or related expenses which may arise from use of software or documentation, 00024 // including but not limited to those resulting from defects in software 00025 // and/or documentation, or loss or inaccuracy of data of any kind. 00026 // Purpose : Abstract obstacle . Defines the obstacle 00027 // interface for the various obstacles. 00028 // 00029 //---------------------------------------------------------------------------- 00030 // 00031 // $Log: ModelingObjectMap.h,v $ 00032 // Revision 1.4 2005/06/23 21:10:34 aspencer 00033 // Changed some const qualifiers as needed. 00034 // 00035 // Revision 1.3 2005/06/23 17:08:36 aspencer 00036 // Initial Commit 00037 // 00038 // 00039 // 00041 00042 #ifndef ModelingObjectMap_h 00043 #define ModelingObjectMap_h 00044 00045 //Includes go here 00046 #include "Base/Base.h" 00047 #include "ModelingObject.hpp" 00048 #include <map> 00049 00050 namespace OSCAR { 00051 00061 class ModelingObjectMap : public Base 00062 { 00063 00064 public: 00065 00069 ModelingObjectMap(); 00070 00074 ModelingObjectMap(const ModelingObjectMap& arg); 00075 00079 virtual ~ModelingObjectMap(); 00080 00084 ModelingObjectMap& operator=(const ModelingObjectMap& rhs); 00085 00093 bool AddObject(ModelingObject* toAdd); 00094 00103 bool RemoveObject(const ModelingObject* toRemove); 00104 00111 bool RemoveObject(const String toRemove); 00112 00119 ModelingObject* Get(const String toGet); 00120 00130 bool Set(ModelingObject* toSet); 00131 00137 bool ClearMap(); 00138 00139 protected: 00140 std::map<String, ModelingObject*> objectMap; 00141 00142 };//ModelingObjectMap 00143 }//namespace OSCAR 00144 #endif
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |