-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 EDF-R&D
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
#define HYDROData_Profile_HeaderFile
#include "HYDROData_Object.h"
-
#include "HYDROData_ProfileUZ.h"
DEFINE_STANDARD_HANDLE(HYDROData_Profile, HYDROData_Object)
/**
* Dump object to Python script representation.
*/
- HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
+ HYDRODATA_EXPORT virtual QStringList DumpToPython( const QString& thePyScriptPath,
+ MapOfTreatedObjects& theTreatedObjects ) const;
/**
* Returns the top shape of the object.
/**
* Returns default filling color for new profile.
*/
- HYDRODATA_EXPORT static QColor DefaultFillingColor();
+ HYDRODATA_EXPORT virtual QColor DefaultFillingColor() const;
/**
* Returns default border color for new profile.
*/
- HYDRODATA_EXPORT static QColor DefaultBorderColor();
+ HYDRODATA_EXPORT virtual QColor DefaultBorderColor() const;
public:
* \param thePoint[out] profile first point
* \return true if point has been set
*/
- HYDRODATA_EXPORT bool GetLeftPoint( gp_XY& thePoint, bool IsConvertToGlobal = false ) const;
+ HYDRODATA_EXPORT bool GetLeftPoint( gp_XY& thePoint, bool IsConvertToGlobal = false,
+ bool CanUseDefault = false ) const;
/**
* Set last(right) point for profile.
* \param thePoint[out] profile last point
* \return true if point has been set
*/
- HYDRODATA_EXPORT bool GetRightPoint( gp_XY& thePoint, bool IsConvertToGlobal = false ) const;
-
+ HYDRODATA_EXPORT bool GetRightPoint( gp_XY& thePoint, bool IsConvertToGlobal = false,
+ bool CanUseDefault = false ) const;
/**
* Returns object which store parametric presentation of profile points.
* Empty sequence is returned if first or last point was not set.
* \return profile points list
*/
- HYDRODATA_EXPORT ProfilePoints GetProfilePoints( bool IsConvertToGlobal = false ) const;
+ HYDRODATA_EXPORT ProfilePoints GetProfilePoints( bool IsConvertToGlobal = false,
+ bool CanUseDefaultLeftRight = false ) const;
+
+
+ /**
+ * Return profile point with minimal Z value.
+ * \return non-parametric profile point
+ */
+ HYDRODATA_EXPORT ProfilePoint GetBottomPoint() const;
+
+ /**
+ * Return profile middle point.
+ * \return non-parametric profile point
+ */
+ HYDRODATA_EXPORT ProfilePoint GetMiddlePoint( bool CanUseDefault ) const;
public:
// Public methods to work with files.
*/
HYDRODATA_EXPORT static int ImportFromFile( const Handle(HYDROData_Document)& theDoc,
const TCollection_AsciiString& theFileName,
- NCollection_Sequence<int>& theBadProfilesIds );
+ NCollection_Sequence<int>& theBadProfilesIds,
+ bool isToProject = true );
/**
* Imports Profile data from file.
* \return \c true if file has been successfully read
*/
HYDRODATA_EXPORT virtual bool ImportFromFile( const TCollection_AsciiString& theFileName,
- bool* theIsRead = 0 );
+ bool isToProject = true,
+ bool* isNotEmpty = 0 );
/**
* Imports Profile data from file.
* \return \c true if file has been successfully read
*/
HYDRODATA_EXPORT virtual bool ImportFromFile( OSD_File& theFile,
- bool* theIsRead = 0 );
+ bool isToProject = true,
+ bool* isNotEmpty = 0 );
protected:
-
- /**
- * Returns default filling color for new object.
- */
- HYDRODATA_EXPORT virtual QColor getDefaultFillingColor() const;
-
- /**
- * Returns default border color for new object.
- */
- HYDRODATA_EXPORT virtual QColor getDefaultBorderColor() const;
-
/**
* Checks and if necessary create child 3D object.
* Reimplemented to prevent creation of 3D child object.
*/
HYDRODATA_EXPORT virtual void checkAndSetObject3D() {}
+ TopoDS_Shape CreateProfileWire( bool canUseDefaultPoints ) const;
+
+ static void ProjectProfilePoints( ProfilePoints& thePoints );
protected: