File indexing completed on 2025-01-18 10:04:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _ShapeProcess_ShapeContext_HeaderFile
0017 #define _ShapeProcess_ShapeContext_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <TopoDS_Shape.hxx>
0023 #include <TopTools_DataMapOfShapeShape.hxx>
0024 #include <TopAbs_ShapeEnum.hxx>
0025 #include <ShapeProcess_Context.hxx>
0026 #include <Message_Gravity.hxx>
0027 #include <GeomAbs_Shape.hxx>
0028 class ShapeExtend_MsgRegistrator;
0029 class ShapeBuild_ReShape;
0030 class BRepTools_Modifier;
0031 class Message_Msg;
0032
0033
0034 class ShapeProcess_ShapeContext;
0035 DEFINE_STANDARD_HANDLE(ShapeProcess_ShapeContext, ShapeProcess_Context)
0036
0037
0038
0039
0040 class ShapeProcess_ShapeContext : public ShapeProcess_Context
0041 {
0042
0043 public:
0044
0045
0046 Standard_EXPORT ShapeProcess_ShapeContext(const Standard_CString file, const Standard_CString seq = "");
0047
0048
0049
0050 Standard_EXPORT ShapeProcess_ShapeContext(const TopoDS_Shape& S, const Standard_CString file, const Standard_CString seq = "");
0051
0052
0053 Standard_EXPORT void Init (const TopoDS_Shape& S);
0054
0055
0056 Standard_EXPORT const TopoDS_Shape& Shape() const;
0057
0058
0059 Standard_EXPORT const TopoDS_Shape& Result() const;
0060
0061
0062
0063 Standard_EXPORT const TopTools_DataMapOfShapeShape& Map() const;
0064
0065 Standard_EXPORT const Handle(ShapeExtend_MsgRegistrator)& Messages() const;
0066
0067
0068
0069
0070 Standard_EXPORT Handle(ShapeExtend_MsgRegistrator)& Messages();
0071
0072 Standard_EXPORT void SetDetalisation (const TopAbs_ShapeEnum level);
0073
0074
0075
0076
0077
0078
0079
0080 Standard_EXPORT TopAbs_ShapeEnum GetDetalisation() const;
0081
0082
0083
0084
0085
0086
0087
0088 Standard_EXPORT void SetResult (const TopoDS_Shape& S);
0089
0090 Standard_EXPORT void RecordModification (const TopTools_DataMapOfShapeShape& repl, const Handle(ShapeExtend_MsgRegistrator)& msg = 0);
0091
0092 Standard_EXPORT void RecordModification (const Handle(ShapeBuild_ReShape)& repl, const Handle(ShapeExtend_MsgRegistrator)& msg);
0093
0094 Standard_EXPORT void RecordModification (const Handle(ShapeBuild_ReShape)& repl);
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106 Standard_EXPORT void RecordModification (const TopoDS_Shape& sh, const BRepTools_Modifier& repl, const Handle(ShapeExtend_MsgRegistrator)& msg = 0);
0107
0108
0109
0110
0111
0112 Standard_EXPORT void AddMessage (const TopoDS_Shape& S, const Message_Msg& msg, const Message_Gravity gravity = Message_Warning);
0113
0114
0115
0116 Standard_EXPORT Standard_Boolean GetContinuity (const Standard_CString param, GeomAbs_Shape& val) const;
0117
0118
0119
0120
0121 Standard_EXPORT GeomAbs_Shape ContinuityVal (const Standard_CString param, const GeomAbs_Shape def) const;
0122
0123
0124 Standard_EXPORT void PrintStatistics() const;
0125
0126
0127 void SetNonManifold(Standard_Boolean theNonManifold)
0128 {
0129 myNonManifold = theNonManifold;
0130 }
0131
0132
0133 Standard_Boolean IsNonManifold()
0134 {
0135 return myNonManifold;
0136 }
0137
0138
0139 DEFINE_STANDARD_RTTIEXT(ShapeProcess_ShapeContext,ShapeProcess_Context)
0140
0141 protected:
0142
0143
0144
0145
0146 private:
0147
0148
0149 TopoDS_Shape myShape;
0150 TopoDS_Shape myResult;
0151 TopTools_DataMapOfShapeShape myMap;
0152 Handle(ShapeExtend_MsgRegistrator) myMsg;
0153 TopAbs_ShapeEnum myUntil;
0154 Standard_Boolean myNonManifold;
0155
0156 };
0157
0158
0159
0160
0161
0162
0163
0164 #endif