File indexing completed on 2026-09-19 09:26:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _AdvApp2Var_Framework_HeaderFile
0018 #define _AdvApp2Var_Framework_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <AdvApp2Var_Node.hxx>
0025 #include <NCollection_Sequence.hxx>
0026 #include <AdvApp2Var_Iso.hxx>
0027 #include <Standard_Boolean.hxx>
0028 #include <Standard_Integer.hxx>
0029 #include <GeomAbs_IsoType.hxx>
0030 #include <Standard_Real.hxx>
0031 #include <NCollection_Array1.hxx>
0032 #include <NCollection_HArray1.hxx>
0033 class AdvApp2Var_Iso;
0034 class AdvApp2Var_Node;
0035
0036 class AdvApp2Var_Framework
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041 Standard_EXPORT AdvApp2Var_Framework();
0042
0043 Standard_EXPORT AdvApp2Var_Framework(
0044 const NCollection_Sequence<occ::handle<AdvApp2Var_Node>>& Frame,
0045 const NCollection_Sequence<NCollection_Sequence<occ::handle<AdvApp2Var_Iso>>>& UFrontier,
0046 const NCollection_Sequence<NCollection_Sequence<occ::handle<AdvApp2Var_Iso>>>& VFrontier);
0047
0048
0049
0050 Standard_EXPORT occ::handle<AdvApp2Var_Iso> FirstNotApprox(int& IndexIso, int& IndexStrip) const;
0051
0052 Standard_EXPORT int FirstNode(const GeomAbs_IsoType Type,
0053 const int IndexIso,
0054 const int IndexStrip) const;
0055
0056 Standard_EXPORT int LastNode(const GeomAbs_IsoType Type,
0057 const int IndexIso,
0058 const int IndexStrip) const;
0059
0060 Standard_EXPORT void ChangeIso(const int IndexIso,
0061 const int IndexStrip,
0062 const occ::handle<AdvApp2Var_Iso>& anIso);
0063
0064 const occ::handle<AdvApp2Var_Node>& Node(const int IndexNode) const
0065 {
0066 return myNodeConstraints.Value(IndexNode);
0067 }
0068
0069 Standard_EXPORT const occ::handle<AdvApp2Var_Node>& Node(const double U, const double V) const;
0070
0071 Standard_EXPORT const AdvApp2Var_Iso& IsoU(const double U,
0072 const double V0,
0073 const double V1) const;
0074
0075 Standard_EXPORT const AdvApp2Var_Iso& IsoV(const double U0,
0076 const double U1,
0077 const double V) const;
0078
0079 Standard_EXPORT void UpdateInU(const double CuttingValue);
0080
0081 Standard_EXPORT void UpdateInV(const double CuttingValue);
0082
0083 Standard_EXPORT const occ::handle<NCollection_HArray1<double>>& UEquation(
0084 const int IndexIso,
0085 const int IndexStrip) const;
0086
0087 Standard_EXPORT const occ::handle<NCollection_HArray1<double>>& VEquation(
0088 const int IndexIso,
0089 const int IndexStrip) const;
0090
0091 private:
0092 NCollection_Sequence<occ::handle<AdvApp2Var_Node>> myNodeConstraints;
0093 NCollection_Sequence<NCollection_Sequence<occ::handle<AdvApp2Var_Iso>>> myUConstraints;
0094 NCollection_Sequence<NCollection_Sequence<occ::handle<AdvApp2Var_Iso>>> myVConstraints;
0095 };
0096
0097 #endif