#include <QPainterPath>
#include <QList>
+class TopoDS_Wire;
+
DEFINE_STANDARD_HANDLE(HYDROData_Polyline, HYDROData_Object)
-struct PolylineSection
+struct HYDRODATA_EXPORT PolylineSection
{
public:
enum SectionType{ SECTION_POLYLINE=0, SECTION_SPLINE=1 };
DataTag_SectionsName,
DataTag_SectionsClosed,
DataTag_SectionsSize,
- DataTag_SectionsType
+ DataTag_SectionsType,
+ DataTag_ZValue
};
public:
*/
HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_POLYLINE;}
+ /**
+ * Returns the top shape of the object.
+ */
+ HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const;
+
+ /**
+ * Returns the 3d shape of the object.
+ */
+ HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
+
/**
* Dump object to Python script representation.
*/
* Replace current polyline data by new sections list
* \param theSections the sections list
*/
- HYDRODATA_EXPORT void setPolylineData( const PolylineData& theSections );
+ HYDRODATA_EXPORT void SetPolylineData( const PolylineData& theSections );
/**
* Return polyline data
* \return polyline section list
*/
- HYDRODATA_EXPORT PolylineData getPolylineData() const;
+ HYDRODATA_EXPORT PolylineData GetPolylineData() const;
/**
* Returns true if polyline is closed
*/
- HYDRODATA_EXPORT bool isClosed() const;
+ HYDRODATA_EXPORT bool IsClosed() const;
/**
* Return polyline dimension
* \return polyline dimension (2 or 3)
*/
- HYDRODATA_EXPORT int getDimension() const;
+ HYDRODATA_EXPORT int GetDimension() const;
/**
* Set polyline dimension (2 or 3)
* \param theDimension the polyline dimension
*/
- HYDRODATA_EXPORT void setDimension( int theDimension );
+ HYDRODATA_EXPORT void SetDimension( int theDimension );
/**
* Remove all sections from polyline
*/
- HYDRODATA_EXPORT void removeAll();
-
+ HYDRODATA_EXPORT void RemoveAll();
/**
- * Returns the painter path. The painter path is construct by lines
+ * Returns the painter path.
+ * Note: currently only the first section of the polyline data is taken into account.
*/
- HYDRODATA_EXPORT QPainterPath painterPath() const;
+ HYDRODATA_EXPORT QPainterPath GetPainterPath() const;
+
+ HYDRODATA_EXPORT void SetZValue( const double theZValue );
+ HYDRODATA_EXPORT double ZValue() const;
+
+protected:
+ /**
+ * Update the wire contour on the basis of the polyline data.
+ */
+ void UpdateWire( const PolylineData& theSections );
protected:
* Creates new object in the internal data structure. Use higher level objects
* to create objects with real content.
*/
- HYDROData_Polyline();
+ HYDRODATA_EXPORT HYDROData_Polyline();
/**
* Destructs properties of the object and object itself, removes it from the document.
*/
- ~HYDROData_Polyline();
+ HYDRODATA_EXPORT ~HYDROData_Polyline();
};
#endif