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_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
0029 class HLRAlgo_PolyInternalData;
0030 DEFINE_STANDARD_HANDLE(HLRAlgo_PolyInternalData, Standard_Transient)
0031
0032
0033 class HLRAlgo_PolyInternalData : public Standard_Transient
0034 {
0035
0036 public:
0037
0038
0039 Standard_EXPORT HLRAlgo_PolyInternalData(const Standard_Integer nbNod, const Standard_Integer nbTri);
0040
0041 Standard_EXPORT void UpdateLinks (HLRAlgo_Array1OfTData& theTData,
0042 HLRAlgo_Array1OfPISeg& thePISeg,
0043 HLRAlgo_Array1OfPINod& thePINod);
0044
0045 Standard_EXPORT Standard_Integer AddNode (HLRAlgo_PolyInternalNode::NodeData& theNod1RValues,
0046 HLRAlgo_PolyInternalNode::NodeData& theNod2RValues,
0047 HLRAlgo_Array1OfPINod*& thePINod1,
0048 HLRAlgo_Array1OfPINod*& thePINod2,
0049 const Standard_Real theCoef1,
0050 const Standard_Real theX3,
0051 const Standard_Real theY3,
0052 const Standard_Real theZ3);
0053
0054 Standard_EXPORT void UpdateLinks (const Standard_Integer theIp1,
0055 const Standard_Integer theIp2,
0056 const Standard_Integer theIp3,
0057 HLRAlgo_Array1OfTData*& theTData1,
0058 HLRAlgo_Array1OfTData*& theTData2,
0059 HLRAlgo_Array1OfPISeg*& thePISeg1,
0060 HLRAlgo_Array1OfPISeg*& thePISeg2,
0061 HLRAlgo_Array1OfPINod*& thePINod1,
0062 HLRAlgo_Array1OfPINod*& thePINod2);
0063
0064 Standard_EXPORT void Dump() const;
0065
0066 Standard_EXPORT void IncTData (HLRAlgo_Array1OfTData*& TData1, HLRAlgo_Array1OfTData*& TData2);
0067
0068 Standard_EXPORT void IncPISeg (HLRAlgo_Array1OfPISeg*& PISeg1, HLRAlgo_Array1OfPISeg*& PISeg2);
0069
0070 Standard_EXPORT void IncPINod (HLRAlgo_Array1OfPINod*& thePINod1,
0071 HLRAlgo_Array1OfPINod*& thePINod2);
0072
0073 void DecTData();
0074
0075 void DecPISeg();
0076
0077 void DecPINod();
0078
0079 Standard_Integer NbTData() const;
0080
0081 Standard_Integer NbPISeg() const;
0082
0083 Standard_Integer NbPINod() const;
0084
0085 Standard_Boolean Planar() const;
0086
0087 void Planar (const Standard_Boolean B);
0088
0089 Standard_Boolean IntOutL() const;
0090
0091 void IntOutL (const Standard_Boolean B);
0092
0093 HLRAlgo_Array1OfTData& TData() const;
0094
0095 HLRAlgo_Array1OfPISeg& PISeg() const;
0096
0097 HLRAlgo_Array1OfPINod& PINod() const;
0098
0099
0100
0101
0102 DEFINE_STANDARD_RTTIEXT(HLRAlgo_PolyInternalData,Standard_Transient)
0103
0104 private:
0105
0106 Standard_Integer myNbTData;
0107 Standard_Integer myNbPISeg;
0108 Standard_Integer myNbPINod;
0109 Standard_Integer myMxTData;
0110 Standard_Integer myMxPISeg;
0111 Standard_Integer myMxPINod;
0112 Standard_Boolean myIntOutL;
0113 Standard_Boolean myPlanar;
0114 Handle(HLRAlgo_HArray1OfTData) myTData;
0115 Handle(HLRAlgo_HArray1OfPISeg) myPISeg;
0116 Handle(HLRAlgo_HArray1OfPINod) myPINod;
0117
0118 };
0119
0120 #include <HLRAlgo_PolyInternalData.lxx>
0121
0122
0123
0124
0125
0126 #endif