Changeset 621 for XIOS/trunk/src/node/transformation.hpp
- Timestamp:
- 06/22/15 13:36:21 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/transformation.hpp
r619 r621 2 2 #define __XMLIO_CTransformation__ 3 3 4 /// xios headers ///5 4 #include "xmlioserver_spl.hpp" 6 #include "attribute_enum.hpp" 7 #include "attribute_enum_impl.hpp" 8 #include "attribute_array.hpp" 9 #include "declare_attribute.hpp" 10 #include "object_template.hpp" 11 #include "group_factory.hpp" 12 #include "declare_group.hpp" 5 #include "transformation_enum.hpp" 13 6 14 7 namespace xios { 15 16 /// ////////////////////// Déclarations ////////////////////// ///17 class CTransformationGroup;18 class CTransformationAttributes;19 class CTransformation;20 ///--------------------------------------------------------------21 22 // Declare/Define CFileAttribute23 BEGIN_DECLARE_ATTRIBUTE_MAP(CTransformation)24 #include "transformation_attribute.conf"25 END_DECLARE_ATTRIBUTE_MAP(CTransformation)26 8 27 9 ///-------------------------------------------------------------- 28 10 /*! 29 11 \class CTransformation 30 This class describes transformationin xml file.12 This class describes inverse_axis in xml file. 31 13 */ 14 template<typename T> 32 15 class CTransformation 33 : public CObjectTemplate<CTransformation>34 , public CTransformationAttributes35 16 { 36 public : 37 enum TransformationId 38 { 39 TRANS_ID_ZOOM, TRANS_ID_INVERSE 40 }; 41 typedef CObjectTemplate<CTransformation> SuperClass; 42 typedef CTransformationAttributes SuperClassAttribute; 17 public: 18 typedef typename boost::unordered_map<ETranformationType, CTransformation<T>*, boost::hash<int> > TransformationMapTypes; 19 typedef TransformationMapTypes TransMapTypes; 43 20 44 21 public : 45 22 /// Constructeurs /// 46 CTransformation(void) ;47 explicit CTransformation(const StdString& id);23 CTransformation(void) {} 24 virtual void checkValid(T* dest) = 0; 48 25 49 26 /// Destructeur /// 50 virtual ~CTransformation(void); 51 52 /// Accesseurs statiques /// 53 static StdString GetName(void); 54 static StdString GetDefName(void); 55 static ENodeType GetType(void); 56 private: 57 static std::vector<StdString> TransformationTypes; 58 static std::vector<TransformationId> TransformationTypeIds; 59 60 public : 61 void checkAttributes(); 62 63 private: 64 void checkAttributesType(TransformationId& transType); 65 void checkAttributesZoomType(); 66 void checkAttributesInverseType(); 67 68 private: 27 virtual ~CTransformation(void) {} 69 28 }; // class CTransformation 70 29 71 DECLARE_GROUP(CTransformation);72 30 } // namespace xios 73 31
Note: See TracChangeset
for help on using the changeset viewer.