1 // Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 #include <HYDROData_Polyline.h>
27 struct PolylineSection
30 #include <HYDROData_Polyline.h>
33 enum SectionType{ SECTION_POLYLINE = 0, SECTION_SPLINE = 1 };
39 QList<double> myCoords;
44 sipPy = PyString_FromString( TCollection_AsciiString( sipCpp->mySectionName ).ToCString() );
50 if ( ( ptr = PyString_AsString( sipPy ) ) == NULL )
56 sipCpp->mySectionName = TCollection_ExtendedString( ptr );
62 class HYDROData_Polyline : HYDROData_Object
65 %ConvertToSubClassCode
66 switch ( sipCpp->GetKind() )
69 sipClass = sipClass_HYDROData_Polyline;
73 // We don't recognise the type.
80 typedef QList<PolylineSection> PolylineData;
85 * Replace current polyline data by new sections list
86 * \param theSections the sections list
88 void SetPolylineData( const PolylineData& theSections );
91 * Return polyline data
92 * \return polyline section list
94 PolylineData GetPolylineData();
97 * Return polyline dimension
98 * \return polyline dimension (2 or 3)
100 int GetDimension() const;
103 * Set polyline dimension (2 or 3)
104 * \param theDimension the polyline dimension
106 void SetDimension( int theDimension );
109 * Remove all sections from polyline
115 * Returns the painter path. The painter path is construct by lines
117 QPainterPath GetPainterPath();
121 * Sets the z value for polyline.
123 void SetZValue( const double theZValue );
126 * Returns the z value for polyline.
128 double ZValue() const;
133 * Creates new object in the internal data structure. Use higher level objects
134 * to create objects with real content.
136 HYDROData_Polyline();
139 * Destructs properties of the object and object itself, removes it from the document.
141 ~HYDROData_Polyline();