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

ConeData.h

Go to the documentation of this file.
00001 
00002 //
00003 //      Title           : ConeData.h
00004 //      Project         : OSCAR
00005 //      Created         : June 2, 2005. 4:00 PM
00006 //      Author          : Chetan Kapoor
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 //
00027 //       Purpose         : Class for loading related data for a Cone
00028 //                         specified in XML format
00029 //
00030 //----------------------------------------------------------------------------
00031 //       $Log: ConeData.h,v $
00032 //       Revision 1.3  2005/06/29 04:30:32  chetan
00033 //       Quite a few changes to improve Output of XML and addition of custom root element names, addition of manipulator obstacle model, etc.
00034 //
00035 //       Revision 1.2  2005/06/22 02:24:45  chetan
00036 //       Added a protected constructor for derived classes and a static method for serializing corresponding objects to XML
00037 //
00038 //       Revision 1.1  2005/06/06 14:22:57  chetan
00039 //       Initial Committ
00040 //
00041 //
00043 #ifndef ConeData_h
00044 #define ConeData_h
00045 
00046 #include "FileData/XMLData.h"
00047 #include "ObstacleAvoidance/Cone.hpp"
00048 
00049 
00050 XERCES_CPP_NAMESPACE_USE
00051 
00052 
00053 namespace OSCAR {
00054 
00062 class ConeData : public XMLData
00063 {
00064   public:
00065   
00079     ConeData(const String& inputFileName, OSCARError &err = DUMMY_ERROR(noError),  const String& rootElementName = String("Cone"), const String name = String(" "));
00080 
00099   ConeData(const char* xmlDataString, OSCARError &err = DUMMY_ERROR(noError), const String& rootElementName = String("Cone"), const String name = String(" "));
00100 
00115   ConeData(const DOMElement* coneNode, OSCARError &err = DUMMY_ERROR(noError), const String& rootElementName = String("Cone"), const String name = String(" "));
00116 
00127   ConeData(const Cone& cone, OSCARError &err = DUMMY_ERROR(noError), const String& rootElementName = String("Cone"), const String name = String(" "));
00128 
00136         ConeData(const ConeData& rhs);
00137 
00143         virtual ~ConeData();
00144 
00152         ConeData& operator=(const ConeData& rhs);
00153 
00159         const Cone* GetParameters() const;
00160 
00166   bool  SetParameters(const Cone& cone);
00167 
00179   bool  Output(std::ostream& out, bool nameSpaceHeader = false) const;
00180 
00193   static bool  Output(const Cone* cone, std::ostream& strm, const String& rootElementName=String("Cone"), bool nameSpaceHeader=false);
00194 
00195   protected:
00196    Cone *cone;
00197 
00203    virtual bool parseParameters(const DOMElement* coneNode);
00204 };
00205 
00206 }
00207 #endif  // ConeData_h
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations