File indexing completed on 2025-01-18 10:04:11
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_SequenceOfCurves.hxx>
0026 #include <Precision.hxx>
0027 class TopoDS_Vertex;
0028 class TopoDS_Wire;
0029 class TopoDS_Face;
0030 class gp_Pnt2d;
0031 class TopoDS_Edge;
0032 class IntTools_CommonPrt;
0033 class gp_Pnt;
0034 class IntTools_Curve;
0035 class gp_Dir;
0036 class Geom_Curve;
0037 class Bnd_Box;
0038 class IntTools_Range;
0039 class gp_Lin;
0040 class gp_Pln;
0041 class Geom2d_Curve;
0042 class Geom_Surface;
0043
0044
0045
0046
0047
0048 class IntTools_Tools
0049 {
0050 public:
0051
0052 DEFINE_STANDARD_ALLOC
0053
0054
0055
0056
0057
0058
0059
0060 Standard_EXPORT static Standard_Integer ComputeVV (const TopoDS_Vertex& V1, const TopoDS_Vertex& V2);
0061
0062
0063
0064
0065 Standard_EXPORT static Standard_Boolean HasInternalEdge (const TopoDS_Wire& aW);
0066
0067
0068
0069
0070 Standard_EXPORT static void MakeFaceFromWireAndFace (const TopoDS_Wire& aW, const TopoDS_Face& aF, TopoDS_Face& aFNew);
0071
0072 Standard_EXPORT static TopAbs_State ClassifyPointByFace (const TopoDS_Face& aF, const gp_Pnt2d& P);
0073
0074
0075
0076
0077
0078
0079 Standard_EXPORT static Standard_Boolean IsVertex (const TopoDS_Edge& E, const Standard_Real t);
0080
0081
0082
0083
0084
0085 Standard_EXPORT static Standard_Boolean IsVertex (const TopoDS_Edge& E, const TopoDS_Vertex& V, const Standard_Real t);
0086
0087
0088
0089
0090
0091
0092
0093 Standard_EXPORT static Standard_Boolean IsVertex (const IntTools_CommonPrt& aCmnPrt);
0094
0095
0096
0097
0098
0099
0100 Standard_EXPORT static Standard_Boolean IsMiddlePointsEqual (const TopoDS_Edge& E1, const TopoDS_Edge& E2);
0101
0102
0103
0104
0105
0106 Standard_EXPORT static Standard_Boolean IsVertex (const gp_Pnt& aP, const Standard_Real aTolPV, const TopoDS_Vertex& aV);
0107
0108
0109
0110 Standard_EXPORT static Standard_Real IntermediatePoint (const Standard_Real aFirst, const Standard_Real aLast);
0111
0112
0113
0114
0115
0116 Standard_EXPORT static Standard_Integer SplitCurve (const IntTools_Curve& aC, IntTools_SequenceOfCurves& aS);
0117
0118
0119
0120
0121 Standard_EXPORT static void RejectLines (const IntTools_SequenceOfCurves& aSIn, IntTools_SequenceOfCurves& aSOut);
0122
0123
0124
0125 Standard_EXPORT static Standard_Boolean IsDirsCoinside (const gp_Dir& D1, const gp_Dir& D2);
0126
0127
0128
0129 Standard_EXPORT static Standard_Boolean IsDirsCoinside (const gp_Dir& D1, const gp_Dir& D2, const Standard_Real aTol);
0130
0131
0132
0133
0134
0135
0136 Standard_EXPORT static Standard_Boolean IsClosed (const Handle(Geom_Curve)& aC);
0137
0138
0139
0140
0141
0142 Standard_EXPORT static Standard_Real CurveTolerance (const Handle(Geom_Curve)& aC, const Standard_Real aTolBase);
0143
0144
0145
0146 Standard_EXPORT static Standard_Boolean CheckCurve(const IntTools_Curve& theCurve,
0147 Bnd_Box& theBox);
0148
0149 Standard_EXPORT static Standard_Boolean IsOnPave (const Standard_Real theT, const IntTools_Range& theRange, const Standard_Real theTol);
0150
0151 Standard_EXPORT static void VertexParameters (const IntTools_CommonPrt& theCP, Standard_Real& theT1, Standard_Real& theT2);
0152
0153 Standard_EXPORT static void VertexParameter (const IntTools_CommonPrt& theCP, Standard_Real& theT);
0154
0155 Standard_EXPORT static Standard_Boolean IsOnPave1 (const Standard_Real theT, const IntTools_Range& theRange, const Standard_Real theTol);
0156
0157
0158 Standard_EXPORT static Standard_Boolean IsInRange (const IntTools_Range& theRRef, const IntTools_Range& theR, const Standard_Real theTol);
0159
0160 Standard_EXPORT static Standard_Integer SegPln (const gp_Lin& theLin, const Standard_Real theTLin1, const Standard_Real theTLin2, const Standard_Real theTolLin, const gp_Pln& thePln, const Standard_Real theTolPln, gp_Pnt& theP, Standard_Real& theT, Standard_Real& theTolP, Standard_Real& theTmin, Standard_Real& theTmax);
0161
0162
0163
0164
0165 Standard_EXPORT static
0166 Standard_Boolean ComputeTolerance(const Handle(Geom_Curve)& theCurve3D,
0167 const Handle(Geom2d_Curve)& theCurve2D,
0168 const Handle(Geom_Surface)& theSurf,
0169 const Standard_Real theFirst,
0170 const Standard_Real theLast,
0171 Standard_Real& theMaxDist,
0172 Standard_Real& theMaxPar,
0173 const Standard_Real theTolRange = Precision::PConfusion(),
0174 const Standard_Boolean theToRunParallel = Standard_False);
0175
0176
0177
0178
0179 Standard_EXPORT static Standard_Real ComputeIntRange(const Standard_Real theTol1,
0180 const Standard_Real theTol2,
0181 const Standard_Real theAngle);
0182
0183
0184 protected:
0185
0186
0187
0188
0189
0190 private:
0191
0192
0193
0194
0195
0196 };
0197
0198
0199
0200
0201
0202
0203
0204 #endif