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 if ( !Handle(HYDROData_Polyline)::DownCast( sipCpp ).IsNull() )
67 sipClass = sipClass_HYDROData_Polyline;
74 typedef QList<PolylineSection> PolylineData;
78 const ObjectKind GetKind() const;
83 * Replace current polyline data by new sections list
84 * \param theSections the sections list
86 void setPolylineData( const PolylineData& theSections );
89 * Return polyline data
90 * \return polyline section list
92 PolylineData getPolylineData();
95 * Return polyline dimension
96 * \return polyline dimension (2 or 3)
98 int getDimension() const;
101 * Set polyline dimension (2 or 3)
102 * \param theDimension the polyline dimension
104 void setDimension( int theDimension );
107 * Remove all sections from polyline
113 * Returns the painter path. The painter path is construct by lines
115 QPainterPath painterPath();
120 * Creates new object in the internal data structure. Use higher level objects
121 * to create objects with real content.
123 HYDROData_Polyline();
126 * Destructs properties of the object and object itself, removes it from the document.
128 ~HYDROData_Polyline();