X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Events.h;h=fccf6e24002965de8378e7c4553460eb6808d3b3;hb=8bc0ecf3493230331bfa21dc66a72b1a590bf42d;hp=02fdadb0936d97a68e6167a9aa5e4476b4364ac1;hpb=17033ec80c6476438be509f68159bb4a025531c1;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 02fdadb09..fccf6e240 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2020 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -36,79 +36,92 @@ class ModelAPI_Document; class ModelAPI_ResultParameter; class GeomAPI_Pnt2d; +class GeomAPI_Shape; + +#if defined __GNUC__ || defined __clang__ +#define MAYBE_UNUSED __attribute__((unused)) +#else +#define MAYBE_UNUSED +#endif /// Event ID that feature is created (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_CREATED = "ObjectCreated"; +MAYBE_UNUSED static const char * EVENT_OBJECT_CREATED = "ObjectCreated"; /// Event ID that data of feature is updated (comes with Model_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_UPDATED = "ObjectUpdated"; +MAYBE_UNUSED static const char * EVENT_OBJECT_UPDATED = "ObjectUpdated"; /// Event ID that data of feature is deleted (comes with Model_ObjectDeletedMessage) -static const char * EVENT_OBJECT_DELETED = "ObjectDeleted"; +MAYBE_UNUSED static const char * EVENT_OBJECT_DELETED = "ObjectDeleted"; /// Event ID that name of feature is changed (comes with Model_ObjectRenamedMessage) -static const char * EVENT_OBJECT_RENAMED = "ObjectRenamed"; +MAYBE_UNUSED static const char * EVENT_OBJECT_RENAMED = "ObjectRenamed"; /// Event ID that data of feature is updated (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_MOVED = "ObjectsMoved"; +MAYBE_UNUSED static const char * EVENT_OBJECT_MOVED = "ObjectsMoved"; /// Event ID that visualization must be redisplayed (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_TO_REDISPLAY = "ObjectsToRedisplay"; +MAYBE_UNUSED static const char * EVENT_OBJECT_TO_REDISPLAY = "ObjectsToRedisplay"; /// Event ID that plugin is loaded (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_PLUGIN_LOADED = "PluginLoaded"; +MAYBE_UNUSED static const char * EVENT_PLUGIN_LOADED = "PluginLoaded"; /// The active document becomes another one -static const char * EVENT_DOCUMENT_CHANGED = "CurrentDocumentChanged"; +MAYBE_UNUSED static const char * EVENT_DOCUMENT_CHANGED = "CurrentDocumentChanged"; /// Event ID that order of objects in group is changed, /// so, tree must be fully recreated (movement of feature) -static const char * EVENT_ORDER_UPDATED = "OrderUpdated"; +MAYBE_UNUSED static const char * EVENT_ORDER_UPDATED = "OrderUpdated"; /// Event ID that the sketch is prepared and all grouped messages for the solver may be flushed -static const char * EVENT_UPDATE_SELECTION = "UpdateSelection"; +MAYBE_UNUSED static const char * EVENT_UPDATE_SELECTION = "UpdateSelection"; /// Request for the enabled/disabled actions behavior for some specific features -static const char * EVENT_FEATURE_STATE_REQUEST = "FeatureStateRequest"; +MAYBE_UNUSED static const char * EVENT_FEATURE_STATE_REQUEST = "FeatureStateRequest"; /// Reply for the enabled/disabled actions behavior for some specific features -static const char * EVENT_FEATURE_STATE_RESPONSE = "FeatureStateResponse"; +MAYBE_UNUSED static const char * EVENT_FEATURE_STATE_RESPONSE = "FeatureStateResponse"; /// To block the viewer updates -static const char * EVENT_UPDATE_VIEWER_BLOCKED = "UpdateViewerBlocked"; +MAYBE_UNUSED static const char * EVENT_UPDATE_VIEWER_BLOCKED = "UpdateViewerBlocked"; /// To unblock the viewer updates -static const char * EVENT_UPDATE_VIEWER_UNBLOCKED = "UpdateViewerUnblocked"; +MAYBE_UNUSED static const char * EVENT_UPDATE_VIEWER_UNBLOCKED = "UpdateViewerUnblocked"; /// To inform that there is an empty presentation in the viewer -static const char * EVENT_EMPTY_AIS_PRESENTATION = "EmptyAISPresentation"; +MAYBE_UNUSED static const char * EVENT_EMPTY_AIS_PRESENTATION = "EmptyAISPresentation"; /// To inform that there is an empty operation for presentation in the viewer -static const char * EVENT_EMPTY_OPERATION_PRESENTATION = "EmptyOperationPresentation"; +MAYBE_UNUSED static const char * EVENT_EMPTY_OPERATION_PRESENTATION = "EmptyOperationPresentation"; /// To block preview -static const char * EVENT_PREVIEW_BLOCKED = "PreviewBlocked"; +MAYBE_UNUSED static const char * EVENT_PREVIEW_BLOCKED = "PreviewBlocked"; /// To preview the current feature in the viewer (to compute the result) -static const char * EVENT_PREVIEW_REQUESTED = "PreviewRequested"; +MAYBE_UNUSED static const char * EVENT_PREVIEW_REQUESTED = "PreviewRequested"; /// To block automatic recomputation of any feature (by the GUI button press) -static const char * EVENT_AUTOMATIC_RECOMPUTATION_DISABLE = "DisableAutomaticRecomputation"; +MAYBE_UNUSED static const char * EVENT_AUTOMATIC_RECOMPUTATION_DISABLE + = "DisableAutomaticRecomputation"; /// To unblock block automatic recomputation (default state: the GUI button unpressed) -static const char * EVENT_AUTOMATIC_RECOMPUTATION_ENABLE = "EnableAutomaticRecomputation"; +MAYBE_UNUSED static const char * EVENT_AUTOMATIC_RECOMPUTATION_ENABLE + = "EnableAutomaticRecomputation"; /// Event ID that solver has conflicting constraints (comes with ModelAPI_SolverFailedMessage) -static const char * EVENT_SOLVER_FAILED = "SolverFailed"; +MAYBE_UNUSED static const char * EVENT_SOLVER_FAILED = "SolverFailed"; /// Event ID that the problem in solver disappeared -static const char * EVENT_SOLVER_REPAIRED = "SolverRepaired"; +MAYBE_UNUSED static const char * EVENT_SOLVER_REPAIRED = "SolverRepaired"; /// Event Id that sketch has DoF = 0 -static const char * EVENT_SKETCH_FULLY_CONSTRAINED = "SketchFullyConstrainted"; +MAYBE_UNUSED static const char * EVENT_SKETCH_FULLY_CONSTRAINED = "SketchFullyConstrainted"; /// Event Id that sketch has DoF > 0 -static const char * EVENT_SKETCH_UNDER_CONSTRAINED = "SketchUnderConstrainted"; +MAYBE_UNUSED static const char * EVENT_SKETCH_UNDER_CONSTRAINED = "SketchUnderConstrainted"; /// Event Id that sketch has DoF < 0 -static const char * EVENT_SKETCH_OVER_CONSTRAINED = "SketchOverConstrainted"; +MAYBE_UNUSED static const char * EVENT_SKETCH_OVER_CONSTRAINED = "SketchOverConstrainted"; /// Event ID that informs that some object has changed the stability -static const char * EVENT_STABILITY_CHANGED = "StabilityChanged"; +MAYBE_UNUSED static const char * EVENT_STABILITY_CHANGED = "StabilityChanged"; /// Event ID that the sketch is prepared and all grouped messages for the solver may be flushed -static const char * EVENT_SKETCH_PREPARED = "SketchPrepared"; +MAYBE_UNUSED static const char * EVENT_SKETCH_PREPARED = "SketchPrepared"; /// Event ID that provides a request for list of non-fixed objects necessary for DoF = 0 -static const char * EVENT_GET_DOF_OBJECTS = "GetDoFObjects"; +MAYBE_UNUSED static const char * EVENT_GET_DOF_OBJECTS = "GetDoFObjects"; /// Event ID that provides a request for list of non-fixed objects necessary for DoF = 0 -static const char * EVENT_DOF_OBJECTS = "DoFObjects"; +MAYBE_UNUSED static const char * EVENT_DOF_OBJECTS = "DoFObjects"; /// Event ID that requests updates visual attributes for presentations -static const char * EVENT_VISUAL_ATTRIBUTES = "UpdateVisualAttributes"; +MAYBE_UNUSED static const char * EVENT_VISUAL_ATTRIBUTES = "UpdateVisualAttributes"; + + +/// Event ID that 1D-fillet failed (comes with ModelAPI_ShapesFailedMessage) +MAYBE_UNUSED static const char * EVENT_OPERATION_SHAPES_FAILED = "OperationShapesFailed"; /// Message that feature was changed (used for Object Browser update): moved, updated and deleted class MODELAPI_EXPORT ModelAPI_ObjectUpdatedMessage : public Events_MessageGroup @@ -175,6 +188,8 @@ public: class MODELAPI_EXPORT ModelAPI_EventCreator { public: + virtual ~ModelAPI_EventCreator() {} + /// creates created, updated or moved messages and sends to the loop virtual void sendUpdated(const ObjectPtr& theObject, const Events_ID& theEvent, const bool isGroupped = true) const = 0; @@ -341,8 +356,8 @@ class ModelAPI_ParameterEvalMessage : public Events_Message /// Message to ask compute the positions of parameters in the expression class ModelAPI_ComputePositionsMessage : public Events_Message { - std::string myExpression; ///< the expression string - std::string myParamName; ///< name of the parameter to be searched + std::wstring myExpression; ///< the expression string + std::wstring myParamName; ///< name of the parameter to be searched std::list > myPositions; ///< computation result: start-end position indices public: @@ -357,7 +372,7 @@ public: /// Useful method that creates and sends the AttributeEvalMessage event /// Returns the message, processed, with the resulting fields filled MODELAPI_EXPORT static std::shared_ptr - send(const std::string& theExpression, const std::string& theParameter, const void* theSender) + send(const std::wstring& theExpression, const std::wstring& theParameter, const void* theSender) { std::shared_ptr aMessage = std::shared_ptr( @@ -374,11 +389,11 @@ public: MODELAPI_EXPORT virtual ~ModelAPI_ComputePositionsMessage(); /// Returns an expression stored in the message - MODELAPI_EXPORT const std::string& expression() const; + MODELAPI_EXPORT const std::wstring& expression() const; /// Returns a parameter name stored in the message - MODELAPI_EXPORT const std::string& parameter() const; + MODELAPI_EXPORT const std::wstring& parameter() const; /// Sets an expression and parameter needed for computation - MODELAPI_EXPORT void set(const std::string& theExpression, const std::string& theParameter); + MODELAPI_EXPORT void set(const std::wstring& theExpression, const std::wstring& theParameter); /// Sets the results of processing MODELAPI_EXPORT void setPositions(const std::list >& thePositions); /// Returns the results of processing: position start and end indices @@ -389,8 +404,8 @@ public: class ModelAPI_ObjectRenamedMessage : public Events_Message { ObjectPtr myObject; - std::string myOldName; - std::string myNewName; + std::wstring myOldName; + std::wstring myNewName; public: /// Static. Returns EventID of the message. @@ -403,8 +418,8 @@ class ModelAPI_ObjectRenamedMessage : public Events_Message /// Useful method that creates and sends the AttributeEvalMessage event MODELAPI_EXPORT static void send(ObjectPtr theObject, - const std::string& theOldName, - const std::string& theNewName, + const std::wstring& theOldName, + const std::wstring& theNewName, const void* theSender); /// Creates an empty message @@ -417,13 +432,13 @@ class ModelAPI_ObjectRenamedMessage : public Events_Message /// Sets an object MODELAPI_EXPORT void setObject(ObjectPtr theObject); /// Returns an old name - MODELAPI_EXPORT std::string oldName() const; + MODELAPI_EXPORT std::wstring oldName() const; /// Sets an old name - MODELAPI_EXPORT void setOldName(const std::string& theOldName); + MODELAPI_EXPORT void setOldName(const std::wstring& theOldName); /// Returns a new name - MODELAPI_EXPORT std::string newName() const; + MODELAPI_EXPORT std::wstring newName() const; /// Sets a new name - MODELAPI_EXPORT void setNewName(const std::string& theNewName); + MODELAPI_EXPORT void setNewName(const std::wstring& theNewName); }; /// Message that the parameter should be replaced with its value @@ -529,4 +544,27 @@ public: { return myCurrentPosition; } }; +/// Message that sends the failed vertices of 1D-fillet to highlight them in 3D viewer +class ModelAPI_ShapesFailedMessage : public Events_Message +{ +public: + /// Creates an message + MODELAPI_EXPORT ModelAPI_ShapesFailedMessage(const Events_ID theID, const void* theSender = 0); + /// Default destructor + MODELAPI_EXPORT virtual ~ModelAPI_ShapesFailedMessage(); + /// Static. Returns EventID of the message. + MODELAPI_EXPORT static Events_ID eventId() + { + return Events_Loop::eventByName(EVENT_OPERATION_SHAPES_FAILED); + } + + /// Sets list of failed vertices + MODELAPI_EXPORT void setShapes(const std::list< std::shared_ptr >& theVertices); + /// Returns list of failed vertices + MODELAPI_EXPORT const std::list< std::shared_ptr >& shapes() const; + +private: + std::list< std::shared_ptr > myShapes; +}; + #endif