File indexing completed on 2025-01-18 10:04:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeAnalysis_WireVertex_HeaderFile
0018 #define _ShapeAnalysis_WireVertex_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TColStd_HArray1OfInteger.hxx>
0025 #include <TColgp_HArray1OfXYZ.hxx>
0026 #include <TColStd_HArray1OfReal.hxx>
0027 #include <Standard_Integer.hxx>
0028 class ShapeExtend_WireData;
0029 class TopoDS_Wire;
0030 class gp_XYZ;
0031
0032
0033 #ifdef Status
0034 #undef Status
0035 #endif
0036
0037
0038
0039
0040
0041
0042
0043 class ShapeAnalysis_WireVertex
0044 {
0045 public:
0046
0047 DEFINE_STANDARD_ALLOC
0048
0049
0050
0051 Standard_EXPORT ShapeAnalysis_WireVertex();
0052
0053 Standard_EXPORT void Init (const TopoDS_Wire& wire, const Standard_Real preci);
0054
0055 Standard_EXPORT void Init (const Handle(ShapeExtend_WireData)& swbd, const Standard_Real preci);
0056
0057 Standard_EXPORT void Load (const TopoDS_Wire& wire);
0058
0059 Standard_EXPORT void Load (const Handle(ShapeExtend_WireData)& sbwd);
0060
0061
0062
0063
0064
0065
0066
0067 Standard_EXPORT void SetPrecision (const Standard_Real preci);
0068
0069 Standard_EXPORT void Analyze();
0070
0071
0072 Standard_EXPORT void SetSameVertex (const Standard_Integer num);
0073
0074
0075 Standard_EXPORT void SetSameCoords (const Standard_Integer num);
0076
0077
0078 Standard_EXPORT void SetClose (const Standard_Integer num);
0079
0080
0081
0082
0083 Standard_EXPORT void SetEnd (const Standard_Integer num, const gp_XYZ& pos, const Standard_Real ufol);
0084
0085
0086
0087
0088 Standard_EXPORT void SetStart (const Standard_Integer num, const gp_XYZ& pos, const Standard_Real upre);
0089
0090
0091
0092
0093 Standard_EXPORT void SetInters (const Standard_Integer num, const gp_XYZ& pos, const Standard_Real upre, const Standard_Real ufol);
0094
0095
0096 Standard_EXPORT void SetDisjoined (const Standard_Integer num);
0097
0098
0099 Standard_EXPORT Standard_Boolean IsDone() const;
0100
0101
0102 Standard_EXPORT Standard_Real Precision() const;
0103
0104
0105
0106 Standard_EXPORT Standard_Integer NbEdges() const;
0107
0108
0109 Standard_EXPORT const Handle(ShapeExtend_WireData)& WireData() const;
0110
0111
0112
0113 Standard_EXPORT Standard_Integer Status (const Standard_Integer num) const;
0114
0115 Standard_EXPORT gp_XYZ Position (const Standard_Integer num) const;
0116
0117 Standard_EXPORT Standard_Real UPrevious (const Standard_Integer num) const;
0118
0119 Standard_EXPORT Standard_Real UFollowing (const Standard_Integer num) const;
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132 Standard_EXPORT Standard_Integer Data (const Standard_Integer num, gp_XYZ& pos, Standard_Real& upre, Standard_Real& ufol) const;
0133
0134
0135
0136
0137 Standard_EXPORT Standard_Integer NextStatus (const Standard_Integer stat, const Standard_Integer num = 0) const;
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149 Standard_EXPORT Standard_Integer NextCriter (const Standard_Integer crit, const Standard_Integer num = 0) const;
0150
0151
0152
0153
0154 protected:
0155
0156
0157
0158
0159
0160 private:
0161
0162
0163
0164 Handle(ShapeExtend_WireData) myWire;
0165 Handle(TColStd_HArray1OfInteger) myStat;
0166 Handle(TColgp_HArray1OfXYZ) myPos;
0167 Handle(TColStd_HArray1OfReal) myUPre;
0168 Handle(TColStd_HArray1OfReal) myUFol;
0169 Standard_Real myPreci;
0170 Standard_Boolean myDone;
0171
0172
0173 };
0174
0175
0176
0177
0178
0179
0180
0181 #endif