class CurveUZ : public std::vector<PointUZ>
{
public:
- CurveUZ( double theXcurv, const gp_Vec2d& theProfileDir, double theDeltaZ );
+ CurveUZ( double theXcurv, const gp_Vec2d& theProfileDir, double theDeltaZ, double theMaxZ );
~CurveUZ();
double Xcurv() const;
gp_Vec2d ProfileDir() const;
double DeltaZ() const;
+ double MaxZ() const;
CurveUZ operator + ( const CurveUZ& ) const;
CurveUZ operator * ( double ) const;
double myXcurv;
gp_Vec2d myProfileDir;
double myDeltaZ;
+ double myMaxZ;
};
protected:
double& theZMin, double& theZMax );
static void ProfileDiscretization( const Handle(HYDROData_Profile)& theProfile,
- double theXCurv, double theMinZ, double theMaxZ, double theDDZ,
+ double theXCurv, double theMinZ, double theMaxZ, double theTopZ, double theDDZ,
CurveUZ& theMidPointCurve,
CurveUZ& theWidthCurve,
int& intersection_nb,
std::vector<AltitudePoints>& theMainProfiles,
std::set<int>& invalInd );
- static void PointToWire(const AltitudePoints& pnts, TopoDS_Wire& W );
+ static void PointsToWire(const AltitudePoints& pnts, TopoDS_Wire& W );
- static void ProjWireOnPlane(const TopoDS_Shape& inpWire, const Handle(Geom_Plane)& RefPlane,
- TopTools_DataMapOfShapeListOfShape* E2PE);
+ static void PointsToEdge(const AltitudePoints& pnts, TopoDS_Edge& E );
+
+ //static void ProjWireOnPlane(const TopoDS_Shape& inpWire, const Handle_Geom_Plane& RefPlane,
+ //TopTools_DataMapOfShapeListOfShape* E2PE);
+
+ static bool GetPlanarFaceFromBanks(const TopoDS_Edge& LB, const TopoDS_Edge& RB, TopoDS_Face& outF,
+ TopTools_SequenceOfShape* Boundr);
static TopTools_IndexedMapOfOrientedShape Create3DShape(const AltitudePoints& left,
const AltitudePoints& right,
bool Create3dPres,
bool Create2dPres,
std::set<int>& InvInd,
- bool& WireIntersections);
+ bool& ProjStat);
- static bool Get2dFaceFrom3dPres(const TopoDS_Compound& cmp, TopoDS_Face& outF,
- TopTools_SequenceOfShape* Boundr = NULL, std::set<int> ind = std::set<int>() );
+ //static bool Get2dFaceFrom3dPres(const TopoDS_Compound& cmp, TopoDS_Face& outF,
+ //TopTools_SequenceOfShape* Boundr = NULL, std::set<int> ind = std::set<int>() );
static int EstimateNbPoints( const std::vector<Handle(HYDROData_Profile)>& theProfiles,
double theDDZ, double theSpatialStep );