From 83911ef142b8cf487819bd3dccd22f4dc9047780 Mon Sep 17 00:00:00 2001 From: vsv Date: Mon, 28 Sep 2015 12:57:27 +0300 Subject: [PATCH] Update documentation --- doc/CMakeLists.txt | 4 +-- doc/OpenParts/general_architecture.doc | 33 ++++++++++++++++++++++ doc/{ => Shaper}/general_architecture.doc | 34 +++++++++-------------- doc/doxyfile.in | 3 +- 4 files changed, 50 insertions(+), 24 deletions(-) create mode 100644 doc/OpenParts/general_architecture.doc rename doc/{ => Shaper}/general_architecture.doc (55%) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 42d0e9fff..d769b8708 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -7,9 +7,9 @@ ELSE (WIN32) ENDIF(WIN32) IF(HAVE_SALOME) - SET(EXCLUDE_DOC_DIR "*/AppElements/*") + SET(EXCLUDE_DOC_DIR "*/AppElements/* */OpenParts/*") ELSE(HAVE_SALOME) - SET(EXCLUDE_DOC_DIR "*/NewGeom/*") + SET(EXCLUDE_DOC_DIR "*/NewGeom/* */Shaper/*") ENDIF(HAVE_SALOME) CONFIGURE_FILE(doxyfile.in diff --git a/doc/OpenParts/general_architecture.doc b/doc/OpenParts/general_architecture.doc new file mode 100644 index 000000000..cdd68f362 --- /dev/null +++ b/doc/OpenParts/general_architecture.doc @@ -0,0 +1,33 @@ +/*! +\page general_architecture General Architecture + +OpenPARTS is made of Workshop (see XGUI_Workshop) which loads a Module (see ModuleBase_IModule), connecting its features with GUI, providing it with services for launching of operations, tools for user inputs and visualisation of results. The Module can consist of one or several plug-ins which provide implementation of Module features. Each plug-in can implement one or several features. These features can be structured by Workbenches within Workshop. Workshop provides introducing of these Workbenches within main window in form of menus or/and tool bars. +\n +Workshop interacts with a Module with help of specific interface defined in ModuleBase package. Each module for OpenPARTS application has to implement ModuleBase_IModile interface. +\n +A Module manages a one document (ModelAPI_Document). This document consists of a one root document and several, loaded by request, sub-documents. Each sub-document can be stored in a single file. +\n + +Main features of the general architecture of OpenPARTS: + +\n\n +\image html general_architecture_1.png +\n\n +Feature is a peace of code which performs an operation. The Feature is a main component of a plug-in. It consists of input attributes, operation functionality and result objects (one or several). All features are defined in plug-ins by the specific feature developer (in C++ or python). +\n +For today there is a one implementation of OpenPARTS application which implements Part Set functionality (PartSet_Module). +The geometric model (i.e. the whole geometry produce by PartSet) is created through operations, or features (ModelAPI_Feature), which define a meaningful piece of design (see \ref Plugins group). In order to easily create dedicated variants of the modeler, also to gradually develop OpenPARTS, each feature is implemented in a Plug-in (ModelAPI_Plugin, a piece of application including its own GUI, built separately from the application. It is loaded dynamically to the application). In other words, a Module is made of a collection of Plug-ins. +Each sub-document contains a data of a one Part. When the user saves its session, all documents are saved: the PartSet and each Part. +\n + + +*/ diff --git a/doc/general_architecture.doc b/doc/Shaper/general_architecture.doc similarity index 55% rename from doc/general_architecture.doc rename to doc/Shaper/general_architecture.doc index e67ac88fe..11bb3012e 100644 --- a/doc/general_architecture.doc +++ b/doc/Shaper/general_architecture.doc @@ -1,46 +1,38 @@ /*! \page general_architecture General Architecture -NewGeom is made of Workshop (see XGUI_Workshop) which loads a Module, connecting its features with GUI, providing it with services for launching of operations, tools for user inputs and visualisation of results. The Module can consist of one or several plug-ins which provide implementation of Module features. Each plug-in can implement one or several features. These features can be structured by Workbenches within Workshop. Workshop provides introducing of these Workbenches within main window in form of menus or/and tool bars. +A Shaper module is made of Workshop (see XGUI_Workshop) which loads a Module (see ModuleBase_IModule), connecting its features with GUI, providing it with services for launching of operations, tools for user inputs and visualisation of results. The Module can consist of one or several plug-ins which provide implementation of Module features. Each plug-in can implement one or several features. These features can be structured by Workbenches within Workshop. Workshop provides introducing of these Workbenches within main window in form of menus or/and tool bars. \n Workshop interacts with a Module with help of specific interface defined in ModuleBase package. Each module for NewGeom application has to implement ModuleBase_IModile interface. \n A Module manages a one document (ModelAPI_Document). This document consists of a one root document and several, loaded by request, sub-documents. Each sub-document can be stored in a single file. \n -Main features of the general architecture of New GEOM: +Main features of the general architecture of Shaper: \n\n -\image html general_architecture_1.png +\image html ../general_architecture_1.png \n\n -For today there is a one implementation of NewGeom module which implements Part Set functionality (PartSet_Module). -The geometric model (i.e. the whole geometry produce by New GEOM) is created through operations, or features (ModelAPI_Feature), which define a meaningful piece of design (see \ref Plugins group). In order to easily create dedicated variants of the modeler, also to gradually develop New GEOM, each feature is implemented in a Plug-in (ModelAPI_Plugin, a piece of application including its own GUI, built separately from the application. It is loaded dynamically to the application). In other words, a Module is made of a collection of Plug-ins. -Each sub-document contains a data of a one Part. When the user saves its session, all documents are saved: the PartSet and each Part. +Feature is a peace of code which performs an operation. The Feature is a main component of a plug-in. It consists of input attributes, operation functionality and result objects (one or several). All features are defined in plug-ins by the specific feature developer (in C++ or python). \n -New GEOM is used either as a stand-alone application or as a Module integrated to the SALOME environment in order to, ultimately, replace the old GEOM. - -

Stand-alone New GEOM

- -In case of using as a standalone application, Workshop uses an application main window implementing the general ergonomics of New GEOM (see \ref Desktop group), including the layout of the user interface, organization of menus, runtime help, etc. +For today there is a one implementation of Shaper module which implements Part Set functionality (PartSet_Module). +The geometric model (i.e. the whole geometry produced by Shaper) is created through operations, or features (ModelAPI_Feature), which define a meaningful piece of design (see \ref Plugins group). In order to easily create dedicated variants of the modeler, also to gradually develop Shaper, each feature is implemented in a Plug-in (ModelAPI_Plugin, a piece of application including its own GUI, built separately from the application. It is loaded dynamically to the application). In other words, a Module is made of a collection of Plug-ins. +Each sub-document contains a data of a one Part. When the user saves its session, all documents are saved: the PartSet and each Part. \n -The Workshop structures the features by related functionality presented in a tabbed panels Workbenches. Each tab displays a set of available actions. These sets of features are called below Workbenches. -\n\n - -

New GEOM as SALOME module

+

SALOME module definition

The NewGeom package allows to launch the application as one of the module of SALOME platform. In that case all user interface elements are integrated into SALOME platform: the \ref Salome package is used for this connection. \n -To integrate New GEOM into SALOME the next steps are done: +To integrate Shaper into SALOME the next steps are done:
  1. LightApp_Module class from SALOME GUI LightApp package is redefined (see NewGeom_Module). This redefined class provides a connection between LightApp_Module interface and Workshop object of the application.
  2. Provide Workshop with a SALOME mode of launching in SALOME environment. In this case it is launched without its own main window, 3d viewer and main menu.
  3. diff --git a/doc/doxyfile.in b/doc/doxyfile.in index 46e837496..86b762f27 100644 --- a/doc/doxyfile.in +++ b/doc/doxyfile.in @@ -669,7 +669,8 @@ WARN_LOGFILE = log.txt # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @PROJECT_SOURCE_DIR@/src @CMAKE_CURRENT_SOURCE_DIR@ +INPUT = @PROJECT_SOURCE_DIR@/src \ + @CMAKE_CURRENT_SOURCE_DIR@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -- 2.39.2