Warning, file /include/opencascade/IntTools_Tools.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _IntTools_Tools_HeaderFile
0017 #define _IntTools_Tools_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <Standard_Handle.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <TopAbs_State.hxx>
0025 #include <IntTools_Curve.hxx>
0026 #include <NCollection_Sequence.hxx>
0027 #include <Precision.hxx>
0028 class TopoDS_Vertex;
0029 class TopoDS_Wire;
0030 class TopoDS_Face;
0031 class gp_Pnt2d;
0032 class TopoDS_Edge;
0033 class IntTools_CommonPrt;
0034 class gp_Pnt;
0035 class IntTools_Curve;
0036 class gp_Dir;
0037 class Geom_Curve;
0038 class Bnd_Box;
0039 class IntTools_Range;
0040 class gp_Lin;
0041 class gp_Pln;
0042 class Geom2d_Curve;
0043 class Geom_Surface;
0044
0045
0046
0047 class IntTools_Tools
0048 {
0049 public:
0050 DEFINE_STANDARD_ALLOC
0051
0052
0053
0054
0055
0056 Standard_EXPORT static int ComputeVV(const TopoDS_Vertex& V1, const TopoDS_Vertex& V2);
0057
0058
0059
0060 Standard_EXPORT static bool HasInternalEdge(const TopoDS_Wire& aW);
0061
0062
0063
0064 Standard_EXPORT static void MakeFaceFromWireAndFace(const TopoDS_Wire& aW,
0065 const TopoDS_Face& aF,
0066 TopoDS_Face& aFNew);
0067
0068 Standard_EXPORT static TopAbs_State ClassifyPointByFace(const TopoDS_Face& aF, const gp_Pnt2d& P);
0069
0070
0071
0072
0073
0074 Standard_EXPORT static bool IsVertex(const TopoDS_Edge& E, const double t);
0075
0076
0077
0078
0079 Standard_EXPORT static bool IsVertex(const TopoDS_Edge& E,
0080 const TopoDS_Vertex& V,
0081 const double t);
0082
0083
0084
0085
0086
0087
0088 Standard_EXPORT static bool IsVertex(const IntTools_CommonPrt& aCmnPrt);
0089
0090
0091
0092
0093
0094 Standard_EXPORT static bool IsMiddlePointsEqual(const TopoDS_Edge& E1, const TopoDS_Edge& E2);
0095
0096
0097
0098
0099 Standard_EXPORT static bool IsVertex(const gp_Pnt& aP,
0100 const double aTolPV,
0101 const TopoDS_Vertex& aV);
0102
0103
0104 Standard_EXPORT static double IntermediatePoint(const double aFirst, const double aLast);
0105
0106
0107
0108
0109 Standard_EXPORT static int SplitCurve(const IntTools_Curve& aC,
0110 NCollection_Sequence<IntTools_Curve>& aS);
0111
0112
0113
0114 Standard_EXPORT static void RejectLines(const NCollection_Sequence<IntTools_Curve>& aSIn,
0115 NCollection_Sequence<IntTools_Curve>& aSOut);
0116
0117
0118 Standard_EXPORT static bool IsDirsCoinside(const gp_Dir& D1, const gp_Dir& D2);
0119
0120
0121 Standard_EXPORT static bool IsDirsCoinside(const gp_Dir& D1, const gp_Dir& D2, const double aTol);
0122
0123
0124
0125
0126
0127 Standard_EXPORT static bool IsClosed(const occ::handle<Geom_Curve>& aC);
0128
0129
0130
0131
0132 Standard_EXPORT static double CurveTolerance(const occ::handle<Geom_Curve>& aC,
0133 const double aTolBase);
0134
0135
0136
0137 Standard_EXPORT static bool CheckCurve(const IntTools_Curve& theCurve, Bnd_Box& theBox);
0138
0139 Standard_EXPORT static bool IsOnPave(const double theT,
0140 const IntTools_Range& theRange,
0141 const double theTol);
0142
0143 Standard_EXPORT static void VertexParameters(const IntTools_CommonPrt& theCP,
0144 double& theT1,
0145 double& theT2);
0146
0147 Standard_EXPORT static void VertexParameter(const IntTools_CommonPrt& theCP, double& theT);
0148
0149 Standard_EXPORT static bool IsOnPave1(const double theT,
0150 const IntTools_Range& theRange,
0151 const double theTol);
0152
0153
0154 Standard_EXPORT static bool IsInRange(const IntTools_Range& theRRef,
0155 const IntTools_Range& theR,
0156 const double theTol);
0157
0158 Standard_EXPORT static int SegPln(const gp_Lin& theLin,
0159 const double theTLin1,
0160 const double theTLin2,
0161 const double theTolLin,
0162 const gp_Pln& thePln,
0163 const double theTolPln,
0164 gp_Pnt& theP,
0165 double& theT,
0166 double& theTolP,
0167 double& theTmin,
0168 double& theTmax);
0169
0170
0171
0172 Standard_EXPORT static bool ComputeTolerance(const occ::handle<Geom_Curve>& theCurve3D,
0173 const occ::handle<Geom2d_Curve>& theCurve2D,
0174 const occ::handle<Geom_Surface>& theSurf,
0175 const double theFirst,
0176 const double theLast,
0177 double& theMaxDist,
0178 double& theMaxPar,
0179 const double theTolRange = Precision::PConfusion(),
0180 const bool theToRunParallel = false);
0181
0182
0183
0184 Standard_EXPORT static double ComputeIntRange(const double theTol1,
0185 const double theTol2,
0186 const double theAngle);
0187 };
0188
0189 #endif