#include <QPainterPath>
#include <QList>
+class TopoDS_Wire;
+
DEFINE_STANDARD_HANDLE(HYDROData_Polyline, HYDROData_Object)
struct PolylineSection
DataTag_SectionsName,
DataTag_SectionsClosed,
DataTag_SectionsSize,
- DataTag_SectionsType
+ DataTag_SectionsType,
+ DataTag_Wire
};
public:
*/
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 PolylineData getPolylineData() const;
+ /**
+ * Returns true if polyline is closed
+ */
+ HYDRODATA_EXPORT bool isClosed() const;
+
/**
* Return polyline dimension
* \return polyline dimension (2 or 3)
*/
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;
+
+ /**
+ * Sets the wire contour of the object.
+ */
+ HYDRODATA_EXPORT void SetWire( const TopoDS_Wire& theWire );
/**
- * Returns the painter path. The painter path is construct by lines
+ * Returns the wire contour of the object.
*/
- HYDRODATA_EXPORT QPainterPath painterPath();
+ HYDRODATA_EXPORT TopoDS_Wire Wire() const;
+protected:
+ /**
+ * Update the wire contour on the basis of the polyline data.
+ */
+ void UpdateWire( const PolylineData& theSections );
protected: