Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-15 09:16:57

0001 // Copyright (c) 2003-2014 OPEN CASCADE SAS
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013 
0014 #ifndef _ShapeCustom_Modification_HeaderFile
0015 #define _ShapeCustom_Modification_HeaderFile
0016 
0017 #include <Standard.hxx>
0018 #include <Standard_Type.hxx>
0019 
0020 #include <BRepTools_Modification.hxx>
0021 #include <Message_Gravity.hxx>
0022 class ShapeExtend_BasicMsgRegistrator;
0023 class TopoDS_Shape;
0024 class Message_Msg;
0025 
0026 //! A base class of Modification's from ShapeCustom.
0027 //! Implements message sending mechanism.
0028 class ShapeCustom_Modification : public BRepTools_Modification
0029 {
0030 
0031 public:
0032   //! Sets message registrator
0033   Standard_EXPORT virtual void SetMsgRegistrator(
0034     const occ::handle<ShapeExtend_BasicMsgRegistrator>& msgreg);
0035 
0036   //! Returns message registrator
0037   Standard_EXPORT occ::handle<ShapeExtend_BasicMsgRegistrator> MsgRegistrator() const;
0038 
0039   //! Sends a message to be attached to the shape.
0040   //! Calls corresponding message of message registrator.
0041   Standard_EXPORT void SendMsg(const TopoDS_Shape&   shape,
0042                                const Message_Msg&    message,
0043                                const Message_Gravity gravity = Message_Info) const;
0044 
0045   DEFINE_STANDARD_RTTIEXT(ShapeCustom_Modification, BRepTools_Modification)
0046 
0047 private:
0048   occ::handle<ShapeExtend_BasicMsgRegistrator> myMsgReg;
0049 };
0050 
0051 #endif // _ShapeCustom_Modification_HeaderFile