File indexing completed on 2025-01-18 10:03:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRBRep_ThePolygonOfInterCSurf_HeaderFile
0018 #define _HLRBRep_ThePolygonOfInterCSurf_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Bnd_Box.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <TColgp_Array1OfPnt.hxx>
0027 #include <TColStd_HArray1OfReal.hxx>
0028 #include <TColStd_Array1OfReal.hxx>
0029 class Standard_OutOfRange;
0030 class gp_Lin;
0031 class HLRBRep_LineTool;
0032 class Bnd_Box;
0033 class gp_Pnt;
0034
0035
0036
0037 class HLRBRep_ThePolygonOfInterCSurf
0038 {
0039 public:
0040
0041 DEFINE_STANDARD_ALLOC
0042
0043
0044 Standard_EXPORT HLRBRep_ThePolygonOfInterCSurf(const gp_Lin& Curve, const Standard_Integer NbPnt);
0045
0046 Standard_EXPORT HLRBRep_ThePolygonOfInterCSurf(const gp_Lin& Curve, const Standard_Real U1, const Standard_Real U2, const Standard_Integer NbPnt);
0047
0048 Standard_EXPORT HLRBRep_ThePolygonOfInterCSurf(const gp_Lin& Curve, const TColStd_Array1OfReal& Upars);
0049
0050
0051 const Bnd_Box& Bounding() const { return TheBnd; }
0052
0053 Standard_Real DeflectionOverEstimation() const { return TheDeflection; }
0054
0055 void SetDeflectionOverEstimation (const Standard_Real x)
0056 {
0057 TheDeflection = x;
0058 TheBnd.Enlarge (TheDeflection);
0059 }
0060
0061 void Closed (const Standard_Boolean flag) { ClosedPolygon = flag; }
0062
0063 Standard_Boolean Closed() const { return Standard_False; }
0064
0065
0066 Standard_Integer NbSegments() const { return NbPntIn - 1; }
0067
0068
0069 const gp_Pnt& BeginOfSeg (const Standard_Integer theIndex) const { return ThePnts (theIndex); }
0070
0071
0072 const gp_Pnt& EndOfSeg (const Standard_Integer theIndex) const { return ThePnts (theIndex + 1); }
0073
0074
0075
0076 Standard_Real InfParameter() const { return Binf; }
0077
0078
0079
0080 Standard_Real SupParameter() const { return Bsup; }
0081
0082
0083
0084 Standard_EXPORT Standard_Real ApproxParamOnCurve (const Standard_Integer Index, const Standard_Real ParamOnLine) const;
0085
0086 Standard_EXPORT void Dump() const;
0087
0088 protected:
0089
0090 Standard_EXPORT void Init (const gp_Lin& Curve);
0091
0092 Standard_EXPORT void Init (const gp_Lin& Curve, const TColStd_Array1OfReal& Upars);
0093
0094 private:
0095
0096 Bnd_Box TheBnd;
0097 Standard_Real TheDeflection;
0098 Standard_Integer NbPntIn;
0099 TColgp_Array1OfPnt ThePnts;
0100 Standard_Boolean ClosedPolygon;
0101 Standard_Real Binf;
0102 Standard_Real Bsup;
0103 Handle(TColStd_HArray1OfReal) myParams;
0104
0105 };
0106
0107 #endif