#include "HYDROData_Bathymetry.h"
#include <vector>
+#include <set>
#include <gp_Pnt2d.hxx>
class Handle_HYDROData_Profile;
double theXCurv, double theMinZ, double theMaxZ, double theDDZ,
CurveUZ& theMidPointCurve,
CurveUZ& theWidthCurve,
+ int& intersection_nb,
double theTolerance = 1E-6 );
static void CurveTo3D( const Handle_Geom2d_BSplineCurve& theHydraulicAxis,
double theXCurvA,
const Handle_HYDROData_Profile& theProfileB,
double theXCurvB,
- double theDDZ, int theNbSteps, bool isAddSecond );
+ double theDDZ, int theNbSteps, bool isAddSecond,
+ int& inter_nb_1, int& inter_nb_2 );
static AltitudePoints Interpolate( const std::vector<Handle_HYDROData_Profile>& theProfiles,
double theDDZ, double theSpatialStep,
AltitudePoints& theLeft,
AltitudePoints& theRight,
- std::vector<AltitudePoints>& theMainProfiles );
+ std::vector<AltitudePoints>& theMainProfiles,
+ std::set<int>& invalInd );
static void PointToWire(const AltitudePoints& pnts, TopoDS_Wire& W );
TopoDS_Shape& OutInlet,
TopoDS_Shape& OutOutlet,
bool Create3dPres,
- bool Create2dPres );
+ bool Create2dPres,
+ std::set<int>& InvInd );
static void Get2dFaceFrom3dPres(const TopoDS_Compound& cmp, TopoDS_Face& outF );
public:
HYDRODATA_EXPORT static void CreateProfilesFromDTM ( const HYDROData_SequenceOfObjects& InpProfiles,
- double ddz,
- double step,
- AltitudePoints& points,
- TopoDS_Shape& Out3dPres,
- TopoDS_Shape& Out2dPres,
- TopoDS_Shape& OutLeftB,
- TopoDS_Shape& OutRightB,
- TopoDS_Shape& OutInlet,
- TopoDS_Shape& OutOutlet,
- bool Create3dPres,
- bool Create2dPres );
+ double ddz,
+ double step,
+ AltitudePoints& points,
+ TopoDS_Shape& Out3dPres,
+ TopoDS_Shape& Out2dPres,
+ TopoDS_Shape& OutLeftB,
+ TopoDS_Shape& OutRightB,
+ TopoDS_Shape& OutInlet,
+ TopoDS_Shape& OutOutlet,
+ bool Create3dPres,
+ bool Create2dPres,
+ std::set<int>& InvInd );
};