X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Polyline.h;h=4f9e4008fb1d5eb923a82a09d774c4394a8293bb;hb=f108c7fd8c3b2dbb8c263b14456a31f8dd1d0921;hp=73a06a53e06ead800b484a1b04d2e31d54ee4334;hpb=061386caa71490489a0475540932d9f2e48d77dc;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Polyline.h b/src/HYDROData/HYDROData_Polyline.h index 73a06a53..4f9e4008 100755 --- a/src/HYDROData/HYDROData_Polyline.h +++ b/src/HYDROData/HYDROData_Polyline.h @@ -9,9 +9,12 @@ #include #include +class TopoDS_Wire; + DEFINE_STANDARD_HANDLE(HYDROData_Polyline, HYDROData_Object) -struct PolylineSection{ +struct PolylineSection +{ public: enum SectionType{ SECTION_POLYLINE=0, SECTION_SPLINE=1 }; @@ -30,6 +33,10 @@ public: */ class HYDROData_Polyline : public HYDROData_Object { +public: + + typedef QList PolylineData; + protected: /** * Enumeration of tags corresponding to the persistent object parameters. @@ -40,7 +47,8 @@ protected: DataTag_SectionsName, DataTag_SectionsClosed, DataTag_SectionsSize, - DataTag_SectionsType + DataTag_SectionsType, + DataTag_Wire }; public: @@ -51,18 +59,34 @@ public: */ HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_POLYLINE;} + /** + * Dump object to Python script representation. + */ + HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + + /** + * Returns data of object wrapped to QVariant. + * Reimplemented to wrap and return saved path. + */ + HYDRODATA_EXPORT virtual QVariant GetDataVariant(); + /** * Replace current polyline data by new sections list * \param theSections the sections list */ - HYDRODATA_EXPORT void setPolylineData( const QList& theSections ); + HYDRODATA_EXPORT void setPolylineData( const PolylineData& theSections ); /** * Return polyline data * \return polyline section list */ - HYDRODATA_EXPORT QList getPolylineData(); + HYDRODATA_EXPORT PolylineData getPolylineData() const; + /** + * Returns true if polyline is closed + */ + HYDRODATA_EXPORT bool isClosed() const; + /** * Return polyline dimension * \return polyline dimension (2 or 3) @@ -80,12 +104,27 @@ public: */ HYDRODATA_EXPORT void removeAll(); + /** + * Returns the painter path. + * Note: currently only the first section of the polyline data is taken into account. + */ + HYDRODATA_EXPORT QPainterPath painterPath() const; /** - * Returns the painter path. The painter path is construct by lines + * Sets the wire contour of the object. */ - HYDRODATA_EXPORT QPainterPath painterPath(); + HYDRODATA_EXPORT void SetWire( const TopoDS_Wire& theWire ); + /** + * Returns the wire contour of the object. + */ + HYDRODATA_EXPORT TopoDS_Wire Wire() const; + +protected: + /** + * Update the wire contour on the basis of the polyline data. + */ + void UpdateWire( const PolylineData& theSections ); protected: