class HYDROData_Profile : public HYDROData_Object
{
+public:
+
+ typedef gp_XYZ ProfilePoint;
+ typedef NCollection_Sequence<gp_XYZ> ProfilePoints;
+
%TypeHeaderCode
#include "HYDROData_Profile.h"
%End
* Set first(left) point for profile.
* \param thePoint the point
*/
- void SetLeftPoint( const QPointF& thePoint ) [void (const gp_XY&)];
- %MethodCode
-
- // The C++ API gets the gp_XY object, we convert it from QPointF.
- gp_XY aPoint( a0->x(), a0->y() );
-
- Py_BEGIN_ALLOW_THREADS
- if ( sipSelfWasArg )
- {
- sipCpp->HYDROData_Profile::SetLeftPoint( aPoint );
- }
- else
- {
- sipCpp->SetLeftPoint( aPoint );
- }
- Py_END_ALLOW_THREADS
- %End
+ void SetLeftPoint( const gp_XY& thePoint );
/**
* Returns first(left) point of profile.
* \param thePoint[out] profile first point
* \return true if point has been set
*/
- bool GetLeftPoint( QPointF& thePoint ) const [bool (gp_XY&)];
- %MethodCode
+ bool GetLeftPoint( gp_XY& thePoint ) const;
- // The C++ API gets the gp_XY object, then we convert it to QPointF.
- gp_XY aPoint();
-
- Py_BEGIN_ALLOW_THREADS
- sipRes = sipSelfWasArg ? sipCpp->HYDROData_Profile::GetLeftPoint( aPoint ) :
- sipCpp->GetLeftPoint( aPoint );
- Py_END_ALLOW_THREADS
-
- a0->SetX( aPoint.X() );
- a0->SetY( aPoint.Y() );
- %End
-
/**
* Set last(right) point for profile.
* \param thePoint the point
*/
- void SetRightPoint( const QPointF& thePoint ) [void (const gp_XY&)];
- %MethodCode
-
- // The C++ API gets the gp_XY object, we convert it from QPointF.
- gp_XY aPoint( a0->x(), a0->y() );
-
- Py_BEGIN_ALLOW_THREADS
- {
- sipCpp->HYDROData_Profile::SetRightPoint( aPoint );
- }
- else
- {
- sipCpp->SetRightPoint( aPoint );
- }
- Py_END_ALLOW_THREADS
- %End
+ void SetRightPoint( const gp_XY& thePoint );
/**
* Returns last(right) point of profile.
* \param thePoint[out] profile last point
* \return true if point has been set
*/
- bool GetRightPoint( QPointF& thePoint ) const [bool (gp_XY&)];
- %MethodCode
-
- // The C++ API gets the gp_XY object, then we convert it to QPointF.
- gp_XY aPoint();
-
- Py_BEGIN_ALLOW_THREADS
- sipRes = sipSelfWasArg ? sipCpp->HYDROData_Profile::GetRightPoint( aPoint ) :
- sipCpp->GetRightPoint( aPoint );
- Py_END_ALLOW_THREADS
-
- a0->SetX( aPoint.X() );
- a0->SetY( aPoint.Y() );
- %End
+ bool GetRightPoint( gp_XY& thePoint ) const;
/**
Handle(HYDROData_ProfileUZ) aRefProfileUZ;
Py_BEGIN_ALLOW_THREADS
- aRefProfileUZ = sipSelfWasArg ? sipCpp->HYDROData_ImmersibleZone::GetProfileUZ() :
+ aRefProfileUZ = sipSelfWasArg ? sipCpp->HYDROData_Profile::GetProfileUZ() :
sipCpp->GetProfileUZ();
Py_END_ALLOW_THREADS
* Replace current profile parametric points by new one.
* \param thePoints the list with new points in parametric form
*/
- void SetParametricPoints( SIP_PYLIST thePoints ) [void ( const HYDROData_ProfileUZ::PointsList& )];
+ void SetParametricPoints( const HYDROData_ProfileUZ::PointsList& thePoints );
/**
* Returns profile points in parametric form.
* \return points list
*/
- SIP_PYLIST GetParametricPoints() const [HYDROData_ProfileUZ::PointsList ()];
+ HYDROData_ProfileUZ::PointsList GetParametricPoints() const;
/**
* First and last points will be automatically updated.
* \param thePoints the list with new profile points
*/
- void SetProfilePoints( const SIP_PYLIST thePoints ) [void ( const ProfilePoints& )];
+ void SetProfilePoints( const ProfilePoints thePoints );
/**
* Returns profile points.
* Empty sequence is returned if first or last point was not set.
* \return profile points list
*/
- SIP_PYLIST GetProfilePoints() const [ProfilePoints ()];
+ ProfilePoints GetProfilePoints() const;
public:
* Stores the profile file path
* \param theFilePath profile file path
*/
- void SetFilePath( const QString& theFilePath ) [void ( const TCollection_AsciiString& )];
+ void SetFilePath( const TCollection_AsciiString& theFilePath );
/**
* Returns uploaded profile file path
*/
- QString GetFilePath() const [TCollection_AsciiString ()];
+ TCollection_AsciiString GetFilePath() const;
/**
* Imports Profile data from file. The supported file types:
* - georeferenced presentation of profile (3 points in line X,Y,Z)
* Create as many objects as many profiles in the file are defined.
* \param theFileName the path to file
- * \return \c true if file has been successfully read
- */
- static bool ImportFromFile( HYDROData_Document theDoc,
- const QString& theFileName )
- [bool ( const Handle_HYDROData_Document&,
- const TCollection_AsciiString& )];
-
+ * \return \c number of successfully imported profiles
+ */
+ /*static int ImportFromFile( HYDROData_Document theDoc,
+ const TCollection_AsciiString& theFileName,
+ NCollection_Sequence<int>& theBadProfilesIds )
+ [int ImportFromFile( const Handle(HYDROData_Document)& ,
+ const TCollection_AsciiString& ,
+ NCollection_Sequence<int>& )];
+ MethodCode
+ Handle(HYDROData_Document) aRef =
+ Handle(HYDROData_Document)::DownCast( createHandle( a0 ) );
+ if ( !aRef.IsNull() )
+ {
+ Py_BEGIN_ALLOW_THREADS
+ sipRes = sipSelfWasArg ? sipCpp->HYDROData_Profile::ImportFromFile( aRef, a1, a2 ):
+ sipCpp->ImportFromFile( aRef, a1, a2 );
+ Py_END_ALLOW_THREADS
+ }
+ End
+*/
/**
* Imports Profile data from file.
* \param theFileName the path to file
+ * \param theIsRead set to true if at least one non empty string was read from file
* \return \c true if file has been successfully read
*/
- virtual bool ImportFromFile( const QString& theFileName ) [ bool ( const TCollection_AsciiString& ) ];
-
- /**
- * Imports Profile data from file.
- * \param theFile file to read
- * \return \c true if file has been successfully read
- */
-// virtual bool ImportFromFile( OSD_File& theFile );
+ virtual bool ImportFromFile( const TCollection_AsciiString& theFileName,
+ bool* theIsRead = 0 );
protected:
/**