File indexing completed on 2025-01-18 10:03:04
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 <BOPDS_ListOfPaveBlock.hxx>
0024 #include <IntTools_Curve.hxx>
0025 #include <NCollection_BaseAllocator.hxx>
0026 #include <TColStd_ListOfInteger.hxx>
0027 class IntTools_Curve;
0028 class Bnd_Box;
0029 class BOPDS_PaveBlock;
0030
0031
0032
0033
0034
0035 class BOPDS_Curve
0036 {
0037 public:
0038
0039 DEFINE_STANDARD_ALLOC
0040
0041
0042
0043
0044 BOPDS_Curve();
0045
0046 virtual ~BOPDS_Curve();
0047
0048
0049
0050
0051 BOPDS_Curve(const Handle(NCollection_BaseAllocator)& theAllocator);
0052
0053
0054
0055
0056 void SetCurve (const IntTools_Curve& theC);
0057
0058
0059
0060
0061 const IntTools_Curve& Curve() const;
0062
0063
0064
0065
0066 void SetBox (const Bnd_Box& theBox);
0067
0068
0069
0070
0071 const Bnd_Box& Box() const;
0072
0073
0074
0075
0076 Bnd_Box& ChangeBox();
0077
0078 void SetPaveBlocks (const BOPDS_ListOfPaveBlock& theLPB);
0079
0080
0081
0082
0083
0084 const BOPDS_ListOfPaveBlock& PaveBlocks() const;
0085
0086
0087
0088
0089
0090 BOPDS_ListOfPaveBlock& ChangePaveBlocks();
0091
0092
0093
0094
0095 void InitPaveBlock1();
0096
0097
0098
0099
0100
0101 Handle(BOPDS_PaveBlock)& ChangePaveBlock1();
0102
0103
0104
0105
0106
0107 const TColStd_ListOfInteger& TechnoVertices() const;
0108
0109
0110
0111
0112
0113 TColStd_ListOfInteger& ChangeTechnoVertices();
0114
0115
0116
0117
0118
0119 Standard_Boolean HasEdge() const;
0120
0121
0122 void SetTolerance(const Standard_Real theTol)
0123 {
0124 myTolerance = theTol;
0125 }
0126
0127
0128 Standard_Real Tolerance() const
0129 {
0130 return myTolerance;
0131 }
0132
0133
0134 Standard_Real TangentialTolerance() const
0135 {
0136 return myCurve.TangentialTolerance();
0137 }
0138
0139 protected:
0140
0141 Handle(NCollection_BaseAllocator) myAllocator;
0142 IntTools_Curve myCurve;
0143 BOPDS_ListOfPaveBlock myPaveBlocks;
0144 TColStd_ListOfInteger myTechnoVertices;
0145 Bnd_Box myBox;
0146 Standard_Real myTolerance;
0147
0148 private:
0149
0150 };
0151
0152 #include <BOPDS_Curve.lxx>
0153
0154 #endif