0029915: Porting to VC 2017 : Regressions in Modeling Algorithms on VC 2017
[occt.git] / src / ShapeExtend / ShapeExtend_BasicMsgRegistrator.hxx
1 // Created on: 2000-01-28
2 // Created by: data exchange team
3 // Copyright (c) 2000-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _ShapeExtend_BasicMsgRegistrator_HeaderFile
17 #define _ShapeExtend_BasicMsgRegistrator_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_Type.hxx>
21
22 #include <Standard_Transient.hxx>
23 #include <Message_Gravity.hxx>
24 class Standard_Transient;
25 class Message_Msg;
26 class TopoDS_Shape;
27
28
29 class ShapeExtend_BasicMsgRegistrator;
30 DEFINE_STANDARD_HANDLE(ShapeExtend_BasicMsgRegistrator, Standard_Transient)
31
32 //! Abstract class that can be used for attaching messages
33 //! to the objects (e.g. shapes).
34 //! It is used by ShapeHealing algorithms to attach a message
35 //! describing encountered case (e.g. removing small edge from
36 //! a wire).
37 //!
38 //! The methods of this class are empty and redefined, for instance,
39 //! in the classes for Data Exchange processors for attaching
40 //! messages to interface file entities or CAS.CADE shapes.
41 class ShapeExtend_BasicMsgRegistrator : public Standard_Transient
42 {
43
44 public:
45
46   
47   //! Empty constructor.
48   Standard_EXPORT ShapeExtend_BasicMsgRegistrator();
49   
50   //! Sends a message to be attached to the object.
51   //! Object can be of any type interpreted by redefined MsgRegistrator.
52   Standard_EXPORT virtual void Send (const Handle(Standard_Transient)& object, const Message_Msg& message, const Message_Gravity gravity);
53   
54   //! Sends a message to be attached to the shape.
55   Standard_EXPORT virtual void Send (const TopoDS_Shape& shape, const Message_Msg& message, const Message_Gravity gravity);
56   
57   //! Calls Send method with Null Transient.
58   Standard_EXPORT virtual void Send (const Message_Msg& message, const Message_Gravity gravity);
59
60
61
62
63   DEFINE_STANDARD_RTTIEXT(ShapeExtend_BasicMsgRegistrator,Standard_Transient)
64
65 protected:
66
67
68
69
70 private:
71
72
73
74
75 };
76
77
78
79
80
81
82
83 #endif // _ShapeExtend_BasicMsgRegistrator_HeaderFile