File indexing completed on 2026-09-12 09:16:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _BOPDS_Curve_HeaderFile
0016 #define _BOPDS_Curve_HeaderFile
0017
0018 #include <Standard.hxx>
0019 #include <Standard_DefineAlloc.hxx>
0020 #include <Standard_Handle.hxx>
0021
0022 #include <Bnd_Box.hxx>
0023 #include <IntTools_Curve.hxx>
0024 #include <NCollection_BaseAllocator.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <NCollection_List.hxx>
0027 class IntTools_Curve;
0028 class Bnd_Box;
0029 class BOPDS_PaveBlock;
0030
0031
0032
0033 class BOPDS_Curve
0034 {
0035 public:
0036 DEFINE_STANDARD_ALLOC
0037
0038
0039 BOPDS_Curve();
0040
0041 virtual ~BOPDS_Curve();
0042
0043
0044
0045 BOPDS_Curve(const occ::handle<NCollection_BaseAllocator>& theAllocator);
0046
0047
0048
0049 void SetCurve(const IntTools_Curve& theC);
0050
0051
0052
0053 const IntTools_Curve& Curve() const;
0054
0055
0056
0057 void SetBox(const Bnd_Box& theBox);
0058
0059
0060
0061 const Bnd_Box& Box() const;
0062
0063
0064
0065 Bnd_Box& ChangeBox();
0066
0067 void SetPaveBlocks(const NCollection_List<occ::handle<BOPDS_PaveBlock>>& theLPB);
0068
0069
0070
0071
0072 const NCollection_List<occ::handle<BOPDS_PaveBlock>>& PaveBlocks() const;
0073
0074
0075
0076
0077 NCollection_List<occ::handle<BOPDS_PaveBlock>>& ChangePaveBlocks();
0078
0079
0080
0081 void InitPaveBlock1();
0082
0083
0084
0085
0086 occ::handle<BOPDS_PaveBlock>& ChangePaveBlock1();
0087
0088
0089
0090
0091 const NCollection_List<int>& TechnoVertices() const;
0092
0093
0094
0095
0096 NCollection_List<int>& ChangeTechnoVertices();
0097
0098
0099
0100
0101 bool HasEdge() const;
0102
0103
0104 void SetTolerance(const double theTol) { myTolerance = theTol; }
0105
0106
0107 double Tolerance() const { return myTolerance; }
0108
0109
0110 double TangentialTolerance() const { return myCurve.TangentialTolerance(); }
0111
0112 protected:
0113 occ::handle<NCollection_BaseAllocator> myAllocator;
0114 IntTools_Curve myCurve;
0115 NCollection_List<occ::handle<BOPDS_PaveBlock>> myPaveBlocks;
0116 NCollection_List<int> myTechnoVertices;
0117 Bnd_Box myBox;
0118 double myTolerance;
0119 };
0120
0121 #include <BOPDS_Curve.lxx>
0122
0123 #endif