2 #ifndef HYDROData_StreamAltitude_HeaderFile
3 #define HYDROData_StreamAltitude_HeaderFile
6 #include "HYDROData_IAltitudeObject.h"
8 class Handle(HYDROData_Profile);
10 DEFINE_STANDARD_HANDLE(HYDROData_StreamAltitude, HYDROData_IAltitudeObject)
13 /**\class HYDROData_StreamAltitude
14 * \brief Class that stores/retreives information about the stream altitude.
17 class HYDROData_StreamAltitude : public HYDROData_IAltitudeObject
22 * Enumeration of tags corresponding to the persistent object parameters.
26 DataTag_First = HYDROData_IAltitudeObject::DataTag_First + 100, ///< first tag, to reserve
31 DEFINE_STANDARD_RTTI(HYDROData_StreamAltitude);
34 * Returns the kind of this object.
36 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const { return KIND_STREAM_ALTITUDE; }
40 // Public methods to work with altitudes.
43 * Returns altitude for given point.
44 * \param thePoint the point to examine
45 * \return altitude value
47 HYDRODATA_EXPORT virtual double GetAltitudeForPoint( const gp_XY& thePoint ) const;
51 bool getBoundaryProfilesForPoint( const gp_XY& thePoint,
52 Handle(HYDROData_Profile)& theLeftProfile,
53 Handle(HYDROData_Profile)& theRightProfile ) const;
57 friend class HYDROData_Iterator;
60 * Creates new object in the internal data structure. Use higher level objects
61 * to create objects with real content.
63 HYDRODATA_EXPORT HYDROData_StreamAltitude();
66 * Destructs properties of the object and object itself, removes it from the document.
68 HYDRODATA_EXPORT ~HYDROData_StreamAltitude();