File indexing completed on 2025-01-18 10:02:53
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
0030
0031 class AdvApp2Var_Network
0032 {
0033 public:
0034
0035 DEFINE_STANDARD_ALLOC
0036
0037
0038 Standard_EXPORT AdvApp2Var_Network();
0039
0040 Standard_EXPORT AdvApp2Var_Network(const AdvApp2Var_SequenceOfPatch& Net, const TColStd_SequenceOfReal& TheU, const TColStd_SequenceOfReal& TheV);
0041
0042
0043
0044 Standard_EXPORT Standard_Boolean FirstNotApprox (Standard_Integer& Index) const;
0045
0046 AdvApp2Var_Patch& ChangePatch (const Standard_Integer Index) { return *myNet.Value(Index); }
0047 AdvApp2Var_Patch& operator() (const Standard_Integer Index) { return ChangePatch(Index); }
0048
0049 Standard_EXPORT void UpdateInU (const Standard_Real CuttingValue);
0050
0051 Standard_EXPORT void UpdateInV (const Standard_Real CuttingValue);
0052
0053 Standard_EXPORT void SameDegree (const Standard_Integer iu, const Standard_Integer iv, Standard_Integer& ncfu, Standard_Integer& ncfv);
0054
0055 Standard_EXPORT Standard_Integer NbPatch() const;
0056
0057 Standard_EXPORT Standard_Integer NbPatchInU() const;
0058
0059 Standard_EXPORT Standard_Integer NbPatchInV() const;
0060
0061 Standard_EXPORT Standard_Real UParameter (const Standard_Integer Index) const;
0062
0063 Standard_EXPORT Standard_Real VParameter (const Standard_Integer Index) const;
0064
0065 const AdvApp2Var_Patch& Patch (const Standard_Integer UIndex, const Standard_Integer VIndex) const
0066 {
0067 return *myNet.Value ((VIndex-1)*(myUParameters.Length()-1) + UIndex);
0068 }
0069
0070 const AdvApp2Var_Patch& operator() (const Standard_Integer UIndex, const Standard_Integer VIndex) const
0071 {
0072 return Patch(UIndex,VIndex);
0073 }
0074
0075 private:
0076
0077 AdvApp2Var_SequenceOfPatch myNet;
0078 TColStd_SequenceOfReal myUParameters;
0079 TColStd_SequenceOfReal myVParameters;
0080
0081 };
0082
0083 #endif