#include "HYDROData_ArtificialObject.h"
+class Handle(HYDROData_Polyline3D);
+class Handle(HYDROData_Profile);
+class TopTools_SequenceOfShape;
+class TopTools_ListOfShape;
+
DEFINE_STANDARD_HANDLE(HYDROData_Channel, HYDROData_ArtificialObject)
/**\class HYDROData_Channel
enum DataTag
{
DataTag_First = HYDROData_ArtificialObject::DataTag_First + 100, ///< first tag, to reserve
+ DataTag_GuideLine,
+ DataTag_Profile,
};
public:
*/
HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
+ /**
+ * Returns the list of all reference objects of this object.
+ */
+ HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const;
+
/**
* Returns the top shape of the object.
*/
*/
HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
+ /**
+ * Update the shape presentations of stream.
+ * Call this method whenever you made changes for channel data.
+ */
+ HYDRODATA_EXPORT virtual void Update();
+
+ /**
+ * Returns default filling color for new channel.
+ */
+ HYDRODATA_EXPORT static QColor DefaultFillingColor();
+
+ /**
+ * Returns default border color for new channel.
+ */
+ HYDRODATA_EXPORT static QColor DefaultBorderColor();
+
+
+public:
+ // Public methods to work with Channel
+
+ /**
+ * Sets reference guide line object for channel.
+ */
+ HYDRODATA_EXPORT virtual bool SetGuideLine( const Handle(HYDROData_Polyline3D)& theGuideLine );
+
+ /**
+ * Returns reference guide line object of channel.
+ */
+ HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline3D) GetGuideLine() const;
+
+ /**
+ * Remove reference guide line object from channel.
+ */
+ HYDRODATA_EXPORT virtual void RemoveGuideLine();
+
+
+ /**
+ * Sets reference profile object for channel.
+ */
+ HYDRODATA_EXPORT virtual bool SetProfile( const Handle(HYDROData_Profile)& theProfile );
+
+ /**
+ * Returns reference profile object of channel.
+ */
+ HYDRODATA_EXPORT virtual Handle(HYDROData_Profile) GetProfile() const;
+
+ /**
+ * Remove reference profile object from channel.
+ */
+ HYDRODATA_EXPORT virtual void RemoveProfile();
+
+
+protected:
+
+ /**
+ * Returns default filling color for new object.
+ */
+ HYDRODATA_EXPORT virtual QColor getDefaultFillingColor() const;
+
+ /**
+ * Returns default border color for new object.
+ */
+ HYDRODATA_EXPORT virtual QColor getDefaultBorderColor() const;
+
+ /**
+ * Returns the type of child altitude object.
+ * Reimplemented to create chanel altitude object.
+ */
+ HYDRODATA_EXPORT virtual ObjectKind getAltitudeObjectType() const;
+
protected:
friend class HYDROData_Iterator;