File indexing completed on 2026-07-26 09:16:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _IntTools_ShrunkRange_HeaderFile
0016 #define _IntTools_ShrunkRange_HeaderFile
0017
0018 #include <Standard.hxx>
0019 #include <Standard_DefineAlloc.hxx>
0020 #include <Standard_Handle.hxx>
0021
0022 #include <TopoDS_Edge.hxx>
0023 #include <TopoDS_Vertex.hxx>
0024 #include <Bnd_Box.hxx>
0025 #include <Standard_Integer.hxx>
0026 class IntTools_Context;
0027
0028
0029
0030
0031 class IntTools_ShrunkRange
0032 {
0033 public:
0034 DEFINE_STANDARD_ALLOC
0035
0036 Standard_EXPORT IntTools_ShrunkRange();
0037 Standard_EXPORT virtual ~IntTools_ShrunkRange();
0038
0039 Standard_EXPORT void SetData(const TopoDS_Edge& aE,
0040 const Standard_Real aT1,
0041 const Standard_Real aT2,
0042 const TopoDS_Vertex& aV1,
0043 const TopoDS_Vertex& aV2);
0044
0045 Standard_EXPORT void SetContext(const Handle(IntTools_Context)& aCtx);
0046
0047 Standard_EXPORT const Handle(IntTools_Context)& Context() const;
0048
0049 Standard_EXPORT void SetShrunkRange(const Standard_Real aT1, const Standard_Real aT2);
0050
0051 Standard_EXPORT void ShrunkRange(Standard_Real& aT1, Standard_Real& aT2) const;
0052
0053 Standard_EXPORT const Bnd_Box& BndBox() const;
0054
0055 Standard_EXPORT const TopoDS_Edge& Edge() const;
0056
0057 Standard_EXPORT void Perform();
0058
0059
0060 Standard_Boolean IsDone() const { return myIsDone; }
0061
0062
0063
0064
0065 Standard_Boolean IsSplittable() const { return myIsSplittable; }
0066
0067
0068 Standard_Real Length() const { return myLength; }
0069
0070 protected:
0071 TopoDS_Edge myEdge;
0072 TopoDS_Vertex myV1;
0073 TopoDS_Vertex myV2;
0074 Standard_Real myT1;
0075 Standard_Real myT2;
0076 Standard_Real myTS1;
0077 Standard_Real myTS2;
0078 Bnd_Box myBndBox;
0079 Handle(IntTools_Context) myCtx;
0080 Standard_Boolean myIsDone;
0081 Standard_Boolean myIsSplittable;
0082 Standard_Real myLength;
0083
0084 private:
0085 };
0086
0087 #endif