2 #ifndef HYDROData_Channel_HeaderFile
3 #define HYDROData_Channel_HeaderFile
5 #include "HYDROData_ArtificialObject.h"
7 class Handle(HYDROData_Polyline3D);
8 class Handle(HYDROData_Profile);
10 DEFINE_STANDARD_HANDLE(HYDROData_Channel, HYDROData_ArtificialObject)
12 /**\class HYDROData_Channel
16 class HYDROData_Channel : public HYDROData_ArtificialObject
20 * Enumeration of tags corresponding to the persistent object parameters.
24 DataTag_First = HYDROData_ArtificialObject::DataTag_First + 100, ///< first tag, to reserve
30 DEFINE_STANDARD_RTTI(HYDROData_Channel);
33 * Returns the kind of this object. Must be redefined in all objects of known type.
35 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_CHANNEL;}
38 * Dump object to Python script representation.
40 HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
43 * Returns the top shape of the object.
45 HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const;
48 * Returns the 3d shape of the object.
50 HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
53 * Update the shape presentations of stream.
54 * Call this method whenever you made changes for channel data.
56 HYDRODATA_EXPORT virtual void Update();
60 // Public methods to work with Channel
63 * Sets reference guide line object for channel.
65 HYDRODATA_EXPORT virtual bool SetGuideLine( const Handle(HYDROData_Polyline3D)& theGuideLine );
68 * Returns reference guide line object of channel.
70 HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline3D) GetGuideLine() const;
73 * Remove reference guide line object from channel.
75 HYDRODATA_EXPORT virtual void RemoveGuideLine();
79 * Sets reference profile object for channel.
81 HYDRODATA_EXPORT virtual bool SetProfile( const Handle(HYDROData_Profile)& theProfile );
84 * Returns reference profile object of channel.
86 HYDRODATA_EXPORT virtual Handle(HYDROData_Profile) GetProfile() const;
89 * Remove reference profile object from channel.
91 HYDRODATA_EXPORT virtual void RemoveProfile();
96 friend class HYDROData_Iterator;
99 * Creates new object in the internal data structure. Use higher level objects
100 * to create objects with real content.
102 HYDRODATA_EXPORT HYDROData_Channel();
105 * Destructs properties of the object and object itself, removes it from the document.
107 virtual HYDRODATA_EXPORT ~HYDROData_Channel();