#include <TopoDS_Face.hxx>
#include <TopoDS_Edge.hxx>
+#include <TopoDS_Wire.hxx>
#include <Geom_BSplineCurve.hxx>
+#include <vector>
-DEFINE_STANDARD_HANDLE(HYDROData_Stream, HYDROData_NaturalObject)
-
-class Handle(HYDROData_PolylineXY);
-class Handle(HYDROData_Polyline3D);
-class Handle(HYDROData_Profile);
+class HYDROData_DTM;
+class HYDROData_PolylineXY;
+class HYDROData_Polyline3D;
+class HYDROData_Profile;
class HYDROData_IProfilesInterpolator;
-class TColStd_Array1OfReal;
-class Handle(TopTools_HArray1OfShape);
-class Handle_HYDROData_DTM;
+class TopTools_HArray1OfShape;
/**\class HYDROData_Stream
{
TopoDS_Shape myPrs3D;
TopoDS_Shape myPrs2D;
- TopoDS_Edge myLeftBank;
- TopoDS_Edge myRightBank;
- TopoDS_Edge myInlet;
- TopoDS_Edge myOutlet;
+ TopoDS_Shape myLeftBank; // 3d curve of the left bank
+ TopoDS_Shape myRightBank; // 3d curve of the right bank
+ TopoDS_Shape myInlet; // first (inlet) 2d profile
+ TopoDS_Shape myOutlet; // last (inlet) 2d profile
};
protected:
};
public:
-
- DEFINE_STANDARD_RTTI(HYDROData_Stream);
+ DEFINE_STANDARD_RTTIEXT(HYDROData_Stream, HYDROData_NaturalObject);
public:
/**
* Creates the presentations(2D and 3D) by given hydraulic axis and profiles.
*/
- HYDRODATA_EXPORT static bool CreatePresentations( const Handle(HYDROData_PolylineXY)& theHydAxis,
- const HYDROData_SequenceOfObjects& theProfiles,
- PrsDefinition& thePrs );
+ HYDRODATA_EXPORT static bool CreatePresentations( const Handle(HYDROData_DTM)& theDTM,
+ PrsDefinition& thePrs );
- /**
- * Creates the presentations(2D and 3D) by given first points, last points and profiles.
- * If 2D profiles is null - they will not used in the presentation.
- */
- HYDRODATA_EXPORT static bool CreatePresentations( const Handle(TColgp_HArray1OfPnt) theArrayOfFPnt,
+ HYDRODATA_EXPORT static void CreatePresentations( const Handle(TColgp_HArray1OfPnt) theArrayOfFPnt,
const Handle(TColgp_HArray1OfPnt) theArrayOfLPnt,
const Handle(TopTools_HArray1OfShape) theArrOfProfiles,
- const Handle(TopTools_HArray1OfShape) theArrOf2DProfiles,
PrsDefinition& thePrs );
public:
/**
* Update the shape presentations of stream.
*/
- HYDRODATA_EXPORT virtual void UpdatePrs();
+ HYDRODATA_EXPORT void UpdatePrs( const Handle(HYDROData_DTM)& );
/**
*
/**
* Builds a planar face
*/
- HYDRODATA_EXPORT static bool BuildFace( const Handle(HYDROData_PolylineXY)& theHydAxis,
- TopoDS_Face& thePlane );
+ HYDRODATA_EXPORT static void BuildRefFace( TopoDS_Face& thePlane );
/**
* Add new one reference profile object for stream.
static Handle(Geom_BSplineCurve) buildInterpolationCurve(
const Handle(TColgp_HArray1OfPnt)& theArrayOfPnt );
- HYDRODATA_EXPORT virtual void SetLabel( const TDF_Label& theLabel );
-
private:
- void setParametersArray( const TColStd_Array1OfReal& theArray );
+ void setParametersArray( const QVector<double>& theArray );
TColStd_Array1OfReal* getParametersArray() const;
void removeParameter( const int& theIndex );
- Handle_HYDROData_DTM DTM() const;
+ Handle(HYDROData_DTM) DTM() const;
protected: