File indexing completed on 2026-11-09 10:28:01
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeAnalysis_TransferParametersProj_HeaderFile
0018 #define _ShapeAnalysis_TransferParametersProj_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Adaptor3d_CurveOnSurface.hxx>
0024 #include <TopLoc_Location.hxx>
0025 #include <ShapeAnalysis_TransferParameters.hxx>
0026 #include <NCollection_Sequence.hxx>
0027 #include <NCollection_HSequence.hxx>
0028 class Geom_Curve;
0029 class Geom2d_Curve;
0030 class TopoDS_Edge;
0031 class TopoDS_Face;
0032 class TopoDS_Vertex;
0033
0034
0035
0036
0037
0038
0039 class ShapeAnalysis_TransferParametersProj : public ShapeAnalysis_TransferParameters
0040 {
0041
0042 public:
0043
0044 Standard_EXPORT ShapeAnalysis_TransferParametersProj();
0045
0046 Standard_EXPORT ShapeAnalysis_TransferParametersProj(const TopoDS_Edge& E, const TopoDS_Face& F);
0047
0048 Standard_EXPORT void Init(const TopoDS_Edge& E, const TopoDS_Face& F) override;
0049
0050
0051
0052 Standard_EXPORT occ::handle<NCollection_HSequence<double>> Perform(
0053 const occ::handle<NCollection_HSequence<double>>& Papams,
0054 const bool To2d) override;
0055
0056
0057
0058 Standard_EXPORT double Perform(const double Param, const bool To2d) override;
0059
0060
0061
0062
0063
0064 Standard_EXPORT bool& ForceProjection();
0065
0066
0067
0068 Standard_EXPORT void TransferRange(TopoDS_Edge& newEdge,
0069 const double prevPar,
0070 const double currPar,
0071 const bool Is2d) override;
0072
0073
0074 Standard_EXPORT bool IsSameRange() const override;
0075
0076
0077
0078
0079 Standard_EXPORT static TopoDS_Vertex CopyNMVertex(const TopoDS_Vertex& theVert,
0080 const TopoDS_Edge& toedge,
0081 const TopoDS_Edge& fromedge);
0082
0083
0084
0085
0086 Standard_EXPORT static TopoDS_Vertex CopyNMVertex(const TopoDS_Vertex& theVert,
0087 const TopoDS_Face& toFace,
0088 const TopoDS_Face& fromFace);
0089
0090 DEFINE_STANDARD_RTTIEXT(ShapeAnalysis_TransferParametersProj, ShapeAnalysis_TransferParameters)
0091
0092 private:
0093 Standard_EXPORT double PreformSegment(const double Param,
0094 const bool To2d,
0095 const double First,
0096 const double Last);
0097
0098 occ::handle<Geom_Curve> myCurve;
0099 occ::handle<Geom2d_Curve> myCurve2d;
0100 Adaptor3d_CurveOnSurface myAC3d;
0101 double myPrecision;
0102 TopLoc_Location myLocation;
0103 bool myForceProj;
0104 bool myInitOK;
0105 };
0106
0107 #endif