File indexing completed on 2026-09-23 09:17:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ChFiDS_SurfData_HeaderFile
0018 #define _ChFiDS_SurfData_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <ChFiDS_CommonPoint.hxx>
0023 #include <ChFiDS_FaceInterference.hxx>
0024 #include <gp_Pnt2d.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <TopAbs_Orientation.hxx>
0028 #include <Standard_Transient.hxx>
0029
0030
0031
0032 class ChFiDS_SurfData : public Standard_Transient
0033 {
0034
0035 public:
0036 Standard_EXPORT ChFiDS_SurfData();
0037
0038 Standard_EXPORT void Copy(const occ::handle<ChFiDS_SurfData>& Other);
0039
0040 int IndexOfS1() const;
0041
0042 int IndexOfS2() const;
0043
0044 bool IsOnCurve1() const;
0045
0046 bool IsOnCurve2() const;
0047
0048 int IndexOfC1() const;
0049
0050 int IndexOfC2() const;
0051
0052 int Surf() const;
0053
0054 TopAbs_Orientation Orientation() const;
0055
0056 const ChFiDS_FaceInterference& InterferenceOnS1() const;
0057
0058 const ChFiDS_FaceInterference& InterferenceOnS2() const;
0059
0060 const ChFiDS_CommonPoint& VertexFirstOnS1() const;
0061
0062 const ChFiDS_CommonPoint& VertexFirstOnS2() const;
0063
0064 const ChFiDS_CommonPoint& VertexLastOnS1() const;
0065
0066 const ChFiDS_CommonPoint& VertexLastOnS2() const;
0067
0068 void ChangeIndexOfS1(const int Index);
0069
0070 void ChangeIndexOfS2(const int Index);
0071
0072 void ChangeSurf(const int Index);
0073
0074 void SetIndexOfC1(const int Index);
0075
0076 void SetIndexOfC2(const int Index);
0077
0078 TopAbs_Orientation& ChangeOrientation();
0079
0080 ChFiDS_FaceInterference& ChangeInterferenceOnS1();
0081
0082 ChFiDS_FaceInterference& ChangeInterferenceOnS2();
0083
0084 ChFiDS_CommonPoint& ChangeVertexFirstOnS1();
0085
0086 ChFiDS_CommonPoint& ChangeVertexFirstOnS2();
0087
0088 ChFiDS_CommonPoint& ChangeVertexLastOnS1();
0089
0090 ChFiDS_CommonPoint& ChangeVertexLastOnS2();
0091
0092 Standard_EXPORT const ChFiDS_FaceInterference& Interference(const int OnS) const;
0093
0094 Standard_EXPORT ChFiDS_FaceInterference& ChangeInterference(const int OnS);
0095
0096 Standard_EXPORT int Index(const int OfS) const;
0097
0098
0099
0100 Standard_EXPORT const ChFiDS_CommonPoint& Vertex(const bool First, const int OnS) const;
0101
0102
0103
0104 Standard_EXPORT ChFiDS_CommonPoint& ChangeVertex(const bool First, const int OnS);
0105
0106 bool IsOnCurve(const int OnS) const;
0107
0108 int IndexOfC(const int OnS) const;
0109
0110 Standard_EXPORT double FirstSpineParam() const;
0111
0112 Standard_EXPORT double LastSpineParam() const;
0113
0114 Standard_EXPORT void FirstSpineParam(const double Par);
0115
0116 Standard_EXPORT void LastSpineParam(const double Par);
0117
0118 Standard_EXPORT double FirstExtensionValue() const;
0119
0120 Standard_EXPORT double LastExtensionValue() const;
0121
0122 Standard_EXPORT void FirstExtensionValue(const double Extend);
0123
0124 Standard_EXPORT void LastExtensionValue(const double Extend);
0125
0126 Standard_EXPORT occ::handle<Standard_Transient> Simul() const;
0127
0128 Standard_EXPORT void SetSimul(const occ::handle<Standard_Transient>& S);
0129
0130 Standard_EXPORT void ResetSimul();
0131
0132 Standard_EXPORT gp_Pnt2d Get2dPoints(const bool First, const int OnS) const;
0133
0134 Standard_EXPORT void Get2dPoints(gp_Pnt2d& P2df1,
0135 gp_Pnt2d& P2dl1,
0136 gp_Pnt2d& P2df2,
0137 gp_Pnt2d& P2dl2) const;
0138
0139 Standard_EXPORT void Set2dPoints(const gp_Pnt2d& P2df1,
0140 const gp_Pnt2d& P2dl1,
0141 const gp_Pnt2d& P2df2,
0142 const gp_Pnt2d& P2dl2);
0143
0144 bool TwistOnS1() const;
0145
0146 bool TwistOnS2() const;
0147
0148 void TwistOnS1(const bool T);
0149
0150 void TwistOnS2(const bool T);
0151
0152 DEFINE_STANDARD_RTTIEXT(ChFiDS_SurfData, Standard_Transient)
0153
0154 private:
0155 ChFiDS_CommonPoint pfirstOnS1;
0156 ChFiDS_CommonPoint plastOnS1;
0157 ChFiDS_CommonPoint pfirstOnS2;
0158 ChFiDS_CommonPoint plastOnS2;
0159 ChFiDS_FaceInterference intf1;
0160 ChFiDS_FaceInterference intf2;
0161 gp_Pnt2d p2df1;
0162 gp_Pnt2d p2dl1;
0163 gp_Pnt2d p2df2;
0164 gp_Pnt2d p2dl2;
0165 double ufspine;
0166 double ulspine;
0167 double myfirstextend;
0168 double mylastextend;
0169 occ::handle<Standard_Transient> simul;
0170 int indexOfS1;
0171 int indexOfC1;
0172 int indexOfS2;
0173 int indexOfC2;
0174 int indexOfConge;
0175 bool isoncurv1;
0176 bool isoncurv2;
0177 bool twistons1;
0178 bool twistons2;
0179 TopAbs_Orientation orientation;
0180 };
0181
0182 #include <ChFiDS_SurfData.lxx>
0183
0184 #endif