Salome HOME
Sorting alphabetically.
[modules/hydro.git] / src / HYDROData / HYDROData_Polyline.h
index cd7928c873029e6f2cec984367a9675370ece2ba..4f9e4008fb1d5eb923a82a09d774c4394a8293bb 100755 (executable)
@@ -9,6 +9,8 @@
 #include <QPainterPath>
 #include <QList>
 
+class TopoDS_Wire;
+
 DEFINE_STANDARD_HANDLE(HYDROData_Polyline, HYDROData_Object)
 
 struct PolylineSection
@@ -45,7 +47,8 @@ protected:
     DataTag_SectionsName,
     DataTag_SectionsClosed,
     DataTag_SectionsSize,
-    DataTag_SectionsType
+    DataTag_SectionsType,
+    DataTag_Wire
   };
 
 public:
@@ -79,6 +82,11 @@ public:
    */
   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)
@@ -96,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;
+
+  /**
+   * 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: