2 #ifndef HYDROData_Domain_HeaderFile
3 #define HYDROData_Domain_HeaderFile
5 #include <HYDROData_Object.h>
7 #include <TopoDS_Face.hxx>
12 class Handle(HYDROData_Bathymetry);
14 DEFINE_STANDARD_HANDLE(HYDROData_Domain, HYDROData_Object)
17 /**\class HYDROData_Domain
18 * \brief Class that stores/retreives information about the 2d surface.
20 class HYDROData_Domain : public HYDROData_Object
25 * Enumeration of tags corresponding to the persistent object parameters.
29 DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
30 DataTag_Bathymetry, ///< reference bathymetries
31 DataTag_FillingColor, ///< filling color of zone
32 DataTag_BorderColor, ///< border color of zone
36 DEFINE_STANDARD_RTTI(HYDROData_Domain);
39 * Returns the kind of this object. Must be redefined in all objects of known type.
41 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const = 0;
44 * Dump object to Python script representation.
46 HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
50 * Returns default filling color for new zone.
52 HYDRODATA_EXPORT static QColor DefaultFillingColor();
55 * Sets filling color for zone.
57 HYDRODATA_EXPORT virtual void SetFillingColor( const QColor& theColor );
60 * Returns filling color of zone.
62 HYDRODATA_EXPORT virtual QColor GetFillingColor() const;
66 * Returns default border color for new zone.
68 HYDRODATA_EXPORT static QColor DefaultBorderColor();
71 * Sets border color for zone.
73 HYDRODATA_EXPORT virtual void SetBorderColor( const QColor& theColor );
76 * Returns border color of zone.
78 HYDRODATA_EXPORT virtual QColor GetBorderColor() const;
82 * Returns number of bathymetry objects for zone.
84 HYDRODATA_EXPORT virtual int NbBathymetries() const;
87 * Add reference bathymetry object for zone.
89 HYDRODATA_EXPORT virtual void AddBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry );
92 * Change reference bathymetry object with given index for zone.
94 HYDRODATA_EXPORT virtual void SetBathymetry( const int theIndex,
95 const Handle(HYDROData_Bathymetry)& theBathymetry );
98 * Returns reference bathymetry object of zone by it index.
100 HYDRODATA_EXPORT virtual Handle(HYDROData_Bathymetry) GetBathymetry( const int theIndex ) const;
103 * Returns list of all reference bathymetry objects of zone.
105 HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetBathymetries() const;
108 * Clear list of bathymetry objects of zone.
110 HYDRODATA_EXPORT virtual void RemoveBathymetries();
113 * Returns data of object wrapped to QVariant.
114 * Reimplemented to wrap and return saved 2d polyline.
116 //HYDRODATA_EXPORT virtual QVariant GetDataVariant();
119 * Returns the shape of the the object.
121 HYDRODATA_EXPORT virtual TopoDS_Face Face() const = 0;
125 friend class HYDROData_Iterator;
128 * Creates new object in the internal data structure. Use higher level objects
129 * to create objects with real content.
134 * Destructs properties of the object and object itself, removes it from the document.
139 * Returns id for creation of object in python scripting.
141 virtual QString getPythonKindId() const = 0;