File indexing completed on 2026-09-10 09:15:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _AdvApp2Var_Network_HeaderFile
0018 #define _AdvApp2Var_Network_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <AdvApp2Var_SequenceOfPatch.hxx>
0025 #include <TColStd_SequenceOfReal.hxx>
0026 #include <Standard_Boolean.hxx>
0027 class AdvApp2Var_Patch;
0028
0029 class AdvApp2Var_Network
0030 {
0031 public:
0032 DEFINE_STANDARD_ALLOC
0033
0034 Standard_EXPORT AdvApp2Var_Network();
0035
0036 Standard_EXPORT AdvApp2Var_Network(const AdvApp2Var_SequenceOfPatch& Net,
0037 const TColStd_SequenceOfReal& TheU,
0038 const TColStd_SequenceOfReal& TheV);
0039
0040
0041
0042 Standard_EXPORT Standard_Boolean FirstNotApprox(Standard_Integer& Index) const;
0043
0044 AdvApp2Var_Patch& ChangePatch(const Standard_Integer Index) { return *myNet.Value(Index); }
0045
0046 AdvApp2Var_Patch& operator()(const Standard_Integer Index) { return ChangePatch(Index); }
0047
0048 Standard_EXPORT void UpdateInU(const Standard_Real CuttingValue);
0049
0050 Standard_EXPORT void UpdateInV(const Standard_Real CuttingValue);
0051
0052 Standard_EXPORT void SameDegree(const Standard_Integer iu,
0053 const Standard_Integer iv,
0054 Standard_Integer& ncfu,
0055 Standard_Integer& ncfv);
0056
0057 Standard_EXPORT Standard_Integer NbPatch() const;
0058
0059 Standard_EXPORT Standard_Integer NbPatchInU() const;
0060
0061 Standard_EXPORT Standard_Integer NbPatchInV() const;
0062
0063 Standard_EXPORT Standard_Real UParameter(const Standard_Integer Index) const;
0064
0065 Standard_EXPORT Standard_Real VParameter(const Standard_Integer Index) const;
0066
0067 const AdvApp2Var_Patch& Patch(const Standard_Integer UIndex, const Standard_Integer VIndex) const
0068 {
0069 return *myNet.Value((VIndex - 1) * (myUParameters.Length() - 1) + UIndex);
0070 }
0071
0072 const AdvApp2Var_Patch& operator()(const Standard_Integer UIndex,
0073 const Standard_Integer VIndex) const
0074 {
0075 return Patch(UIndex, VIndex);
0076 }
0077
0078 private:
0079 AdvApp2Var_SequenceOfPatch myNet;
0080 TColStd_SequenceOfReal myUParameters;
0081 TColStd_SequenceOfReal myVParameters;
0082 };
0083
0084 #endif