Salome HOME
refs #1330: basic implementation of the not zoomable polyline arrows
[modules/hydro.git] / src / HYDROData / HYDROData_DTM.h
index 7b67be1a59ff06e93cf35c3953c2ef771457d911..59d3cd6811e8a7f60c67620e63f6512661e8cc50 100644 (file)
@@ -90,12 +90,13 @@ public:
   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;
@@ -104,6 +105,7 @@ public:
     double myXcurv;
     gp_Vec2d myProfileDir;
     double myDeltaZ;
+    double myMaxZ;
   };
 
 protected:
@@ -127,7 +129,7 @@ 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,
@@ -157,10 +159,15 @@ protected:
                                      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,
@@ -182,10 +189,10 @@ protected:
                              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 );