+
+ virtual bool computeInternalParameters (SMESH_Mesh & theMesh,
+ Adaptor3d_Curve & theC3d,
+ double theLength,
+ double theFirstU,
+ double theLastU,
+ std::list<double> & theParameters,
+ const bool theReverse,
+ bool theConsiderPropagation = false);
+
+ virtual void redistributeNearVertices (SMESH_Mesh & theMesh,
+ Adaptor3d_Curve & theC3d,
+ double theLength,
+ std::list< double > & theParameters,
+ const TopoDS_Vertex & theVf,
+ const TopoDS_Vertex & theVl);
+
+ /*!
+ * \brief Return StdMeshers_SegmentLengthAroundVertex assigned to vertex
+ */
+ static const
+ StdMeshers_SegmentLengthAroundVertex* getVertexHyp(SMESH_Mesh & theMesh,
+ const TopoDS_Vertex & theV);
+
+ enum HypothesisType { LOCAL_LENGTH, MAX_LENGTH, NB_SEGMENTS, BEG_END_LENGTH, DEFLECTION, ARITHMETIC_1D, FIXED_POINTS_1D, ADAPTIVE, GEOMETRIC_1D, NONE };
+
+ enum ValueIndex {
+ SCALE_FACTOR_IND = 0,
+ BEG_LENGTH_IND = 0,
+ END_LENGTH_IND = 1,
+ DEFLECTION_IND = 0,
+ PRECISION_IND = 1
+ };
+
+ enum IValueIndex {
+ NB_SEGMENTS_IND = 0,
+ DISTR_TYPE_IND = 1,
+ CONV_MODE_IND = 2
+ };
+
+ enum VValueIndex {
+ TAB_FUNC_IND = 0
+ };
+
+ enum SValueIndex {
+ EXPR_FUNC_IND = 0
+ };
+
+ HypothesisType _hypType;
+
+ const StdMeshers_FixedPoints1D* _fpHyp;
+ const StdMeshers_Adaptive1D* _adaptiveHyp;
+
+ double _value[2];
+ int _ivalue[3];
+ std::vector<double> _vvalue[1];
+ std::string _svalue[1];
+ std::vector<int> _revEdgesIDs;
+
+ // a source of propagated hypothesis, is set by CheckHypothesis()
+ // always called before Compute()
+ TopoDS_Shape _mainEdge;
+ bool _isPropagOfDistribution;