#include "SMESH_1D_Algo.hxx"
-#include <TopoDS_Shape.hxx>
-#include <TopTools_ListOfShape.hxx>
-
class TopoDS_Edge;
class StdMeshers_Regular_1D:
const TopoDS_Shape& aShape);
virtual const std::list <const SMESHDS_Hypothesis *> &
- GetUsedHypothesis (SMESH_Mesh & aMesh, const TopoDS_Shape & aShape);
+ GetUsedHypothesis(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape);
ostream & SaveTo(ostream & save);
istream & LoadFrom(istream & load);
protected:
- Standard_Boolean IsPropagated (SMESH_Mesh & theMesh,
- const TopoDS_Shape & theShape);
-
- void GetOppositeEdges (const TopoDS_Shape& theShape,
- const TopoDS_Shape& theEdge,
- TopTools_ListOfShape& theOppositeEdges) const;
-
- bool computeInternalParameters (const TopoDS_Edge& theEdge,
- std::list< double > & theParameters ) const;
+ virtual bool computeInternalParameters (const TopoDS_Edge& theEdge,
+ std::list< double > & theParameters,
+ const bool theReverse) const;
enum HypothesisType { LOCAL_LENGTH, NB_SEGMENTS, BEG_END_LENGTH, DEFLECTION, ARITHMETIC_1D, NONE };
END_LENGTH_IND = 1,
DEFLECTION_IND = 0
};
-
+
HypothesisType _hypType;
double _value[2];
-
+
+ // a source of propagated hypothesis, is set by CheckHypothesis()
+ // always called before Compute()
+ TopoDS_Shape _mainEdge;
};
#endif