00001 /* 00002 * The information in this file is 00003 * Copyright(c) 2007 Ball Aerospace & Technologies Corporation 00004 * and is subject to the terms and conditions of the 00005 * GNU Lesser General Public License Version 2.1 00006 * The license text is available from 00007 * http://www.gnu.org/licenses/lgpl.html 00008 */ 00009 00010 #ifndef MULTIPOINTOBJECT_H 00011 #define MULTIPOINTOBJECT_H 00012 00013 #include "GraphicObject.h" 00014 00015 #include <vector> 00016 00017 /** 00018 * This class provides access to the display properties for a multipoint object. 00019 * 00020 * Possible GraphicObjectTypes: MULTIPOINT_OBJECT. 00021 * 00022 * This subclass of Subject will notify upon the following conditions: 00023 * - All notifications documented in GraphicObject. 00024 */ 00025 class MultipointObject : public GraphicObject 00026 { 00027 public: 00028 /** 00029 * Get the verticies which define the object. 00030 * 00031 * @return A vector containing the verticies. 00032 */ 00033 virtual const std::vector<LocationType> &getVertices() const = 0; 00034 00035 protected: 00036 /** 00037 * This should be destroyed by calling GraphicLayer::removeObject. 00038 */ 00039 virtual ~MultipointObject() {} 00040 }; 00041 00042 #endif