2 #ifndef HYDROData_IAltitudeObject_HeaderFile
3 #define HYDROData_IAltitudeObject_HeaderFile
5 #include "HYDROData_Entity.h"
9 DEFINE_STANDARD_HANDLE(HYDROData_IAltitudeObject, HYDROData_Entity)
12 /**\class HYDROData_IAltitudeObject
13 * \briefThe base class for all altitude objects in the HYDRO module.
16 class HYDROData_IAltitudeObject : public HYDROData_Entity
21 * Enumeration of tags corresponding to the persistent object parameters.
25 DataTag_First = HYDROData_Entity::DataTag_First + 100, ///< first tag, to reserve
30 DEFINE_STANDARD_RTTI(HYDROData_IAltitudeObject);
33 * Returns the kind of this object. Must be redefined in all objects of known type.
35 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const = 0;
38 // Public methods to work with altitudes.
41 * Returns altitude points list.
44 HYDRODATA_EXPORT static double GetInvalidAltitude();
47 * Returns altitude for given point.
48 * \param thePoint the point to examine
49 * \return altitude value
51 HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint ) const = 0;
57 * Creates new object in the internal data structure. Use higher level objects
58 * to create objects with real content.
60 HYDRODATA_EXPORT HYDROData_IAltitudeObject();
63 * Destructs properties of the object and object itself, removes it from the document.
65 HYDRODATA_EXPORT ~HYDROData_IAltitudeObject();