File indexing completed on 2025-01-18 10:03:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRAlgo_PolyShellData_HeaderFile
0018 #define _HLRAlgo_PolyShellData_HeaderFile
0019
0020 #include <Standard_Type.hxx>
0021 #include <Standard_Transient.hxx>
0022 #include <HLRAlgo_ListOfBPoint.hxx>
0023 #include <HLRAlgo_PolyData.hxx>
0024
0025 class HLRAlgo_PolyShellData;
0026 DEFINE_STANDARD_HANDLE(HLRAlgo_PolyShellData, Standard_Transient)
0027
0028
0029 class HLRAlgo_PolyShellData : public Standard_Transient
0030 {
0031
0032 public:
0033 struct ShellIndices
0034 {
0035 Standard_Integer Min, Max;
0036 };
0037
0038 Standard_EXPORT HLRAlgo_PolyShellData(const Standard_Integer nbFace);
0039
0040 Standard_EXPORT void UpdateGlobalMinMax (HLRAlgo_PolyData::Box& theBox);
0041
0042 Standard_EXPORT void UpdateHiding (const Standard_Integer nbHiding);
0043
0044 Standard_Boolean Hiding() const { return !myHPolHi.IsEmpty(); }
0045
0046 NCollection_Array1<Handle(HLRAlgo_PolyData)>& PolyData() { return myPolyg; }
0047
0048 NCollection_Array1<Handle(HLRAlgo_PolyData)>& HidingPolyData() { return myHPolHi; }
0049
0050 HLRAlgo_ListOfBPoint& Edges() { return mySegList; }
0051
0052 ShellIndices& Indices()
0053 {
0054 return myIndices;
0055 }
0056
0057 DEFINE_STANDARD_RTTIEXT(HLRAlgo_PolyShellData,Standard_Transient)
0058
0059 private:
0060
0061 ShellIndices myIndices;
0062 NCollection_Array1<Handle(HLRAlgo_PolyData)> myPolyg;
0063 NCollection_Array1<Handle(HLRAlgo_PolyData)> myHPolHi;
0064 HLRAlgo_ListOfBPoint mySegList;
0065
0066 };
0067
0068 #endif