Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ModelingObjectMap.h

Go to the documentation of this file.
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