File indexing completed on 2026-07-30 09:13:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRAlgo_PolyInternalData_HeaderFile
0018 #define _HLRAlgo_PolyInternalData_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Integer.hxx>
0022 #include <HLRAlgo_HArray1OfTData.hxx>
0023 #include <HLRAlgo_HArray1OfPISeg.hxx>
0024 #include <HLRAlgo_HArray1OfPINod.hxx>
0025 #include <Standard_Transient.hxx>
0026 #include <Standard_Type.hxx>
0027
0028 class HLRAlgo_PolyInternalData;
0029 DEFINE_STANDARD_HANDLE(HLRAlgo_PolyInternalData, Standard_Transient)
0030
0031
0032 class HLRAlgo_PolyInternalData : public Standard_Transient
0033 {
0034
0035 public:
0036 Standard_EXPORT HLRAlgo_PolyInternalData(const Standard_Integer nbNod,
0037 const Standard_Integer nbTri);
0038
0039 Standard_EXPORT void UpdateLinks(HLRAlgo_Array1OfTData& theTData,
0040 HLRAlgo_Array1OfPISeg& thePISeg,
0041 HLRAlgo_Array1OfPINod& thePINod);
0042
0043 Standard_EXPORT Standard_Integer AddNode(HLRAlgo_PolyInternalNode::NodeData& theNod1RValues,
0044 HLRAlgo_PolyInternalNode::NodeData& theNod2RValues,
0045 HLRAlgo_Array1OfPINod*& thePINod1,
0046 HLRAlgo_Array1OfPINod*& thePINod2,
0047 const Standard_Real theCoef1,
0048 const Standard_Real theX3,
0049 const Standard_Real theY3,
0050 const Standard_Real theZ3);
0051
0052 Standard_EXPORT void UpdateLinks(const Standard_Integer theIp1,
0053 const Standard_Integer theIp2,
0054 const Standard_Integer theIp3,
0055 HLRAlgo_Array1OfTData*& theTData1,
0056 HLRAlgo_Array1OfTData*& theTData2,
0057 HLRAlgo_Array1OfPISeg*& thePISeg1,
0058 HLRAlgo_Array1OfPISeg*& thePISeg2,
0059 HLRAlgo_Array1OfPINod*& thePINod1,
0060 HLRAlgo_Array1OfPINod*& thePINod2);
0061
0062 Standard_EXPORT void Dump() const;
0063
0064 Standard_EXPORT void IncTData(HLRAlgo_Array1OfTData*& TData1, HLRAlgo_Array1OfTData*& TData2);
0065
0066 Standard_EXPORT void IncPISeg(HLRAlgo_Array1OfPISeg*& PISeg1, HLRAlgo_Array1OfPISeg*& PISeg2);
0067
0068 Standard_EXPORT void IncPINod(HLRAlgo_Array1OfPINod*& thePINod1,
0069 HLRAlgo_Array1OfPINod*& thePINod2);
0070
0071 void DecTData();
0072
0073 void DecPISeg();
0074
0075 void DecPINod();
0076
0077 Standard_Integer NbTData() const;
0078
0079 Standard_Integer NbPISeg() const;
0080
0081 Standard_Integer NbPINod() const;
0082
0083 Standard_Boolean Planar() const;
0084
0085 void Planar(const Standard_Boolean B);
0086
0087 Standard_Boolean IntOutL() const;
0088
0089 void IntOutL(const Standard_Boolean B);
0090
0091 HLRAlgo_Array1OfTData& TData() const;
0092
0093 HLRAlgo_Array1OfPISeg& PISeg() const;
0094
0095 HLRAlgo_Array1OfPINod& PINod() const;
0096
0097 DEFINE_STANDARD_RTTIEXT(HLRAlgo_PolyInternalData, Standard_Transient)
0098
0099 private:
0100 Standard_Integer myNbTData;
0101 Standard_Integer myNbPISeg;
0102 Standard_Integer myNbPINod;
0103 Standard_Integer myMxTData;
0104 Standard_Integer myMxPISeg;
0105 Standard_Integer myMxPINod;
0106 Standard_Boolean myIntOutL;
0107 Standard_Boolean myPlanar;
0108 Handle(HLRAlgo_HArray1OfTData) myTData;
0109 Handle(HLRAlgo_HArray1OfPISeg) myPISeg;
0110 Handle(HLRAlgo_HArray1OfPINod) myPINod;
0111 };
0112
0113 #include <HLRAlgo_PolyInternalData.lxx>
0114
0115 #endif