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 |