From a0bf1eb5af40ce92ee7e682959bf5738a3fc092b Mon Sep 17 00:00:00 2001 From: mpv Date: Tue, 27 Jan 2015 16:05:38 +0300 Subject: [PATCH] Make the doxygen documentation more structurized and added a general description pages --- doc/Modules.doc | 35 +++++++ doc/doxyfile.in | 7 +- doc/general_architecture.doc | 86 ++++++++++++++++++ doc/general_architecture_1.png | Bin 0 -> 35451 bytes doc/index.doc | 16 ++++ .../ConstructionPlugin_Axis.h | 2 +- .../ConstructionPlugin_Plane.h | 2 +- .../ConstructionPlugin_Point.h | 2 +- src/GeomAlgoAPI/GeomAlgoAPI_BREPImport.h | 1 + src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h | 1 + src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h | 2 +- src/GeomAlgoAPI/GeomAlgoAPI_STEPImport.h | 3 + src/PartSetPlugin/PartSetPlugin_Duplicate.h | 2 +- src/PartSetPlugin/PartSetPlugin_Part.h | 2 +- src/PartSetPlugin/PartSetPlugin_Remove.h | 2 +- src/SketchPlugin/SketchPlugin_Arc.h | 2 +- src/SketchPlugin/SketchPlugin_Circle.h | 2 +- .../SketchPlugin_ConstraintBase.h | 4 +- .../SketchPlugin_ConstraintCoincidence.h | 2 +- .../SketchPlugin_ConstraintDistance.h | 2 +- .../SketchPlugin_ConstraintLength.h | 2 +- .../SketchPlugin_ConstraintParallel.h | 2 +- .../SketchPlugin_ConstraintPerpendicular.h | 2 +- .../SketchPlugin_ConstraintRadius.h | 2 +- .../SketchPlugin_ConstraintRigid.h | 2 +- src/SketchPlugin/SketchPlugin_Feature.h | 2 +- src/SketchPlugin/SketchPlugin_Line.h | 2 +- src/SketchPlugin/SketchPlugin_Plugin.h | 2 +- src/SketchPlugin/SketchPlugin_Point.h | 2 +- src/SketchPlugin/SketchPlugin_Sketch.h | 2 +- src/SketchSolver/SketchSolver_Constraint.h | 2 +- .../SketchSolver_ConstraintGroup.h | 2 +- .../SketchSolver_ConstraintManager.h | 2 +- 33 files changed, 172 insertions(+), 29 deletions(-) create mode 100644 doc/Modules.doc create mode 100644 doc/general_architecture.doc create mode 100644 doc/general_architecture_1.png create mode 100644 doc/index.doc diff --git a/doc/Modules.doc b/doc/Modules.doc new file mode 100644 index 000000000..c507c4e5c --- /dev/null +++ b/doc/Modules.doc @@ -0,0 +1,35 @@ +// Special file to define and describe the modules (goups) + +/** + * \defgroup DataModel Data model + * + * \brief Structures for storage and management the application data. + * + * Data structures are unified and splitted in universal ModelAPI package. + * The OCCT specialized implementation of ModelAPI interfaces is located in the Model. + * The geometrical primitives interfaces in GeomAPI package are supported by geometrical + * persistence elements in GeomDatAPI interface and has OCCT-specific implementation in GeomData package. + * + */ + +/** + * \defgroup DataAlgo Algorithms + * + * \brief Different algorithm used in the application + * + * The geometrical algorithms implementation (basing on OCCT libraries) are located in GeomAlgoAPI. + * + */ + +/** + * \defgroup Plugins Plugins + * + * \brief Implementation of specific features of the application is concentrated in plugins. + * + * The C++ and Python features implementations are located in plugins: specially organized libraries + * and configuration files that allows to define the user interface and specific algorithms. + * There are many plugins that should be extended wit hthe development of the application. The names + * of plugin-packages are ended with "Plugin" string: + * PartSetPlugin, ConstructionPlugin, SketchPlugin, FeaturesPlugins, etc. + * + */ diff --git a/doc/doxyfile.in b/doc/doxyfile.in index c44dbe6f0..56cda9b0b 100644 --- a/doc/doxyfile.in +++ b/doc/doxyfile.in @@ -669,7 +669,7 @@ WARN_LOGFILE = log.txt # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @PROJECT_SOURCE_DIR@/src +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 @@ -690,7 +690,8 @@ INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.h \ *.cpp \ *.hxx \ - *.cxx + *.cxx \ + *.doc # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -752,7 +753,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@ # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doc/general_architecture.doc b/doc/general_architecture.doc new file mode 100644 index 000000000..d6572c405 --- /dev/null +++ b/doc/general_architecture.doc @@ -0,0 +1,86 @@ +/*! +\page general_architecture General Architecture + +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

+ +When used outside SALOME, New GEOM must be hosted by an application window implementing the general ergonomics of New GEOM (the GUI), including the layout of the user interface, organization of menus, runtime help, etc. +\n +It is proposed that this application window can host several so-called Modules. Below, this main application window is named the Workshop. +\n\n +Each Module hosted by the Workshop deals with one type of document only, saved in a format supported by the Module. One document type per Module. Also, in a Workshop window, only one document of a given type can be newed. So, when launching the Workshop, the user selects a type of document to be created. Then, from the application session, creating a new document will launch a new instance of the Workshop. +\n\n +The geometric model (i.e. the whole geometry produce by New GEOM) is created through operations, or features, which define a meaningful piece of design (e.g. NewPart, Extrusion, Revolution, Cut, Transformation). In order to easily create dedicated variants of the modeler, also to gradually develop New GEOM, each feature is implemented as a Plug-in (A Plug-in is 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-in. +\n\n +The Workshop structures the features by related functionality presented in a tabbed interface. Each tab displays a set of available actions. These sets of features are called below Workbenches. +\n\n +Additionally, a Module can either reference or include other Modules: + + + + +

Application to New GEOM

+ +New GEOM is made of one Module, Set of Parts (a Set of Parts is a flat list of Parts, on the contrary of an Assembly in which the Parts are structured), including two other Modules, Part and Properties. The Set of Parts Module produces a PartSet document which references a list of Parts (one document per Part), the PartSet document being referenced by a Properties document (one document per PartSet). +\n\n +The Set of Parts, its Properties and the Parts it references are all edited from the same Workshop window. The Properties and Part documents cannot be open independently of PartSet (the corresponding Modules being available only as included in Set of Parts). +\n +When creating a new PartSet, a Property document is automatically created. The Workbench of the Set of Parts Module includes a feature for creating a new Part. Once the first Part is created, the Workbenches of Part Module are activated. One Part of the ParSet being always active, the features of Part Module apply to this Part. +\n +When the user saves its session, all documents are saved: the PartSet, its Properties and each Part. +\n\n +\image html general_architecture_1.png +\n + +Summary of the general architecture of New GEOM: + + + + +

New GEOM as SALOME module

+ +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 \b NewGeom package is used for this connection. + +Initially the New GEOM application is defined as a Light SALOME module, later it may be changed in order to manage the communication with other SALOME modules correctly. +\n +To integrate New GEOM into SALOME the next steps are done: +
    +
  1. LightApp_Module class from SALOME GUI LightApp package is redefined. This redefined class provides a connection between LightApp_Module interface and Workshop object of the application.
  2. +
  3. Provide Workshop with a module mode of launching in SALOME environment. In this case it is launched without its own main window, 3d viewer and main menu.
  4. +
  5. In module mode workshop uses: +
      +
    1. SALOME desktop as a main window.
    2. +
    3. OCC viewer from SALOME platform instead of its own 3d viewer.
    4. +
    5. SALOME main menu and toolbars for creation of workbenches commands.
    6. +
    7. Object Browser of New GEOM application is used instead of SALOME Object Browser.
    8. +
    9. Creation of a New GEOM property panel as a docking window of SALOME desktop.
    10. +
    11. Use SALOME Python console instead of console in main window. Since 3 packages from SALOME GUI module become shared between this project and SALOME mod-ules and they are independed from other SALOME parts, it is proposed in the future to detach it from SALOME platform into separated prerequisite product to avoid code duplication.
    12. +
    +
  6. +
  7. Each workbench will be defined as a menu in main menu bar of SALOME desktop and as a toolbar with corresponded title.
  8. +
  9. Each feature in the workbench will be defined as a menu item in the corresponded menu and a button in the corresponded toolbar.
  10. +
  11. Object Browser of SALOME is hidden on activation of NewGEOM and restored on its deactivation.
  12. +
  13. Object Browser and Property panel of NewGEOM is shown on activation of the module and hidden on its deactivation.
  14. +
  15. Persistent of NewGEOM is compatible with persistent of SALOME. On saving of SALOME study the content of NewGEOM data structure is saved into study also and restored on restoring of study.
  16. +
+ +*/ diff --git a/doc/general_architecture_1.png b/doc/general_architecture_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3465128f9468567795aaf18e4a22970d279cc8f7 GIT binary patch literal 35451 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 Iyz=>f0H;dYS^xk5 literal 0 HcmV?d00001 diff --git a/doc/index.doc b/doc/index.doc new file mode 100644 index 000000000..e0806cab0 --- /dev/null +++ b/doc/index.doc @@ -0,0 +1,16 @@ +/*! \mainpage + +To browse the New GEOM module Developer Documentation, follow the links below or use navigation menu at the top and left of the page: +
    +
  • Modules - documentation of functionality splitted into groups.
  • +
  • Class hierarchy
  • - graphical representation of classes hierarchy. +
  • Data Structures - list of all data structures and classes with brief descriptions.
  • +
  • Files - list of all files with brief descriptions.
  • +
+ +Also you may see \subpage general_architecture document that describes +the main principles and terms of the development. + +The creation of new feature in C++ or python can be done with help of \subpage first_feature_help . + +*/ diff --git a/src/ConstructionPlugin/ConstructionPlugin_Axis.h b/src/ConstructionPlugin/ConstructionPlugin_Axis.h index 099d547e3..87ab72be5 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Axis.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Axis.h @@ -22,7 +22,7 @@ const std::string POINT_ATTR_FIRST = "firstPoint"; const std::string POINT_ATTR_SECOND = "secondPoint"; /**\class ConstructionPlugin_Axis - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new axis in PartSet. */ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomPrs diff --git a/src/ConstructionPlugin/ConstructionPlugin_Plane.h b/src/ConstructionPlugin/ConstructionPlugin_Plane.h index 369f20586..9697654e5 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Plane.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Plane.h @@ -21,7 +21,7 @@ const std::string FACE_ATTR = "planeFace"; const std::string DISTANCE_ATTR = "distance"; /**\class ConstructionPlugin_Plane - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new planar surface in PartSet. */ class ConstructionPlugin_Plane : public ModelAPI_Feature, public GeomAPI_ICustomPrs diff --git a/src/ConstructionPlugin/ConstructionPlugin_Point.h b/src/ConstructionPlugin/ConstructionPlugin_Point.h index 637b96193..cbab9d1ce 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Point.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Point.h @@ -21,7 +21,7 @@ const std::string POINT_ATTR_Y = "y"; const std::string POINT_ATTR_Z = "z"; /**\class ConstructionPlugin_Point - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ class ConstructionPlugin_Point : public ModelAPI_Feature diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_BREPImport.h b/src/GeomAlgoAPI/GeomAlgoAPI_BREPImport.h index e8db4b556..aa0c7202d 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_BREPImport.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_BREPImport.h @@ -18,6 +18,7 @@ namespace BREPImport { +/// Implementation of the import BREP files algorithms GEOMALGOAPI_EXPORT TopoDS_Shape Import(const TCollection_AsciiString& theFileName, const TCollection_AsciiString& theFormatName, diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h b/src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h index 9db662fa2..0ac301469 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_Extrusion.h @@ -13,6 +13,7 @@ #include #include #include + /**\class GeomAlgoAPI_Extrusion * \ingroup DataAlgo * \brief Allows to create the prism based on a given face and a direction diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h index 4082464af..186b12c67 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h @@ -11,7 +11,7 @@ #include /**\class GeomAlgoAPI_MakeShape - * \ingroup DataModel + * \ingroup DataAlgo * \brief Interface to the root class of all topological shapes constructions */ class GeomAlgoAPI_MakeShape : public GeomAPI_Interface diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_STEPImport.h b/src/GeomAlgoAPI/GeomAlgoAPI_STEPImport.h index 6cb5df61c..232f28dce 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_STEPImport.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_STEPImport.h @@ -16,10 +16,13 @@ namespace STEPImport { +/// Implementation of the import parameter from the STEP file GEOMALGOAPI_EXPORT Handle(TCollection_HAsciiString) GetValue(const TCollection_AsciiString& theFileName, const TCollection_AsciiString& theParameterName, TCollection_AsciiString& theError); + +/// Implementation of the import STEP files algorithms GEOMALGOAPI_EXPORT TopoDS_Shape Import(const TCollection_AsciiString& theFileName, const TCollection_AsciiString& theFormatName, TCollection_AsciiString& theError, diff --git a/src/PartSetPlugin/PartSetPlugin_Duplicate.h b/src/PartSetPlugin/PartSetPlugin_Duplicate.h index 8217ed874..5aa92ed1a 100644 --- a/src/PartSetPlugin/PartSetPlugin_Duplicate.h +++ b/src/PartSetPlugin/PartSetPlugin_Duplicate.h @@ -10,7 +10,7 @@ #include "PartSetPlugin_Part.h" /**\class PartSetPlugin_Duplicate - * \ingroup DataModel + * \ingroup Plugins * \brief Duplicates the active part (not root). Creates a new "part" feature. */ class PartSetPlugin_Duplicate : public PartSetPlugin_Part diff --git a/src/PartSetPlugin/PartSetPlugin_Part.h b/src/PartSetPlugin/PartSetPlugin_Part.h index 590d69562..5b7d63e49 100644 --- a/src/PartSetPlugin/PartSetPlugin_Part.h +++ b/src/PartSetPlugin/PartSetPlugin_Part.h @@ -11,7 +11,7 @@ #include /**\class PartSetPlugin_Part - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ class PartSetPlugin_Part : public ModelAPI_Feature diff --git a/src/PartSetPlugin/PartSetPlugin_Remove.h b/src/PartSetPlugin/PartSetPlugin_Remove.h index c29028d39..5f3e35425 100644 --- a/src/PartSetPlugin/PartSetPlugin_Remove.h +++ b/src/PartSetPlugin/PartSetPlugin_Remove.h @@ -11,7 +11,7 @@ #include /**\class PartSetPlugin_Remove - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ class PartSetPlugin_Remove : public ModelAPI_Feature diff --git a/src/SketchPlugin/SketchPlugin_Arc.h b/src/SketchPlugin/SketchPlugin_Arc.h index f24af300f..044d07462 100644 --- a/src/SketchPlugin/SketchPlugin_Arc.h +++ b/src/SketchPlugin/SketchPlugin_Arc.h @@ -13,7 +13,7 @@ #include /**\class SketchPlugin_Arc - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new arc of circle in PartSet. * The visualization of this object is separated in two parts. The first one is an AIS object * calculated when there is non-initialized attributes of the arc. The second is a result and diff --git a/src/SketchPlugin/SketchPlugin_Circle.h b/src/SketchPlugin/SketchPlugin_Circle.h index 76bac7887..f3434d4b5 100644 --- a/src/SketchPlugin/SketchPlugin_Circle.h +++ b/src/SketchPlugin/SketchPlugin_Circle.h @@ -13,7 +13,7 @@ #include /**\class SketchPlugin_Circle - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new circle in PartSet. */ class SketchPlugin_Circle : public SketchPlugin_Feature diff --git a/src/SketchPlugin/SketchPlugin_ConstraintBase.h b/src/SketchPlugin/SketchPlugin_ConstraintBase.h index 721d31029..8636d3948 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintBase.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintBase.h @@ -17,7 +17,7 @@ #include -/* Description: +/** Description: * Each constraint uses a set of parameters. In the SolveSpace library * these parameters are named "valA", "ptA", "ptB", "entityA", "entityB". * The "ptA" and "ptB" parameters represents a point in the constraint. @@ -31,7 +31,7 @@ */ /** \class SketchPlugin_ConstraintBase - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint between other features. * Some feature's methods implemented here as dummy to * Base class for all constraints. diff --git a/src/SketchPlugin/SketchPlugin_ConstraintCoincidence.h b/src/SketchPlugin/SketchPlugin_ConstraintCoincidence.h index 7abe570f2..ce1939f76 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintCoincidence.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintCoincidence.h @@ -13,7 +13,7 @@ #include /** \class SketchPlugin_ConstraintCoincidence - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint which defines equivalence of two points * * This constraint has two attributes: diff --git a/src/SketchPlugin/SketchPlugin_ConstraintDistance.h b/src/SketchPlugin/SketchPlugin_ConstraintDistance.h index 53dfe43e7..69f318798 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintDistance.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintDistance.h @@ -20,7 +20,7 @@ class GeomDataAPI_Point2D; #define DISTANCE_COLOR "#ff00ff" /** \class SketchPlugin_ConstraintDistance - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint which defines a distance * between a point and another feature (point, line, plane or face) * diff --git a/src/SketchPlugin/SketchPlugin_ConstraintLength.h b/src/SketchPlugin/SketchPlugin_ConstraintLength.h index 68141efa3..98ef62511 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintLength.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintLength.h @@ -17,7 +17,7 @@ class GeomDataAPI_Point2D; #define LENGTH_COLOR "#ff00ff" /** \class SketchPlugin_ConstraintLength - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint which defines a length of a line segment * * This constraint has two attributes: diff --git a/src/SketchPlugin/SketchPlugin_ConstraintParallel.h b/src/SketchPlugin/SketchPlugin_ConstraintParallel.h index 6e81c66d3..4f3969073 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintParallel.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintParallel.h @@ -14,7 +14,7 @@ #define PARALLEL_COLOR "#ffff00" /** \class SketchPlugin_ConstraintParallel - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint parallelism of two lines * * This constraint has two attributes: diff --git a/src/SketchPlugin/SketchPlugin_ConstraintPerpendicular.h b/src/SketchPlugin/SketchPlugin_ConstraintPerpendicular.h index 1e1953eee..f0998fa14 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintPerpendicular.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintPerpendicular.h @@ -14,7 +14,7 @@ #define PERPENDICULAR_COLOR "#ffff00" /** \class SketchPlugin_ConstraintPerpendicular - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint for perpendicularity of two lines * * This constraint has two attributes: diff --git a/src/SketchPlugin/SketchPlugin_ConstraintRadius.h b/src/SketchPlugin/SketchPlugin_ConstraintRadius.h index bbdef2055..84c2043c4 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintRadius.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintRadius.h @@ -14,7 +14,7 @@ #define RADIUS_COLOR "#ff00ff" /** \class SketchPlugin_ConstraintRadius - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint which defines * a radius of a circle or an arc of circle * diff --git a/src/SketchPlugin/SketchPlugin_ConstraintRigid.h b/src/SketchPlugin/SketchPlugin_ConstraintRigid.h index 4646ac7fd..5c94bcba6 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintRigid.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintRigid.h @@ -15,7 +15,7 @@ #define FIXING_COLOR "#ffff00" /** \class SketchPlugin_ConstraintRigid - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new constraint which defines immovable object * * This constraint has one attribute: diff --git a/src/SketchPlugin/SketchPlugin_Feature.h b/src/SketchPlugin/SketchPlugin_Feature.h index bf7cb93fa..24a3c49e5 100644 --- a/src/SketchPlugin/SketchPlugin_Feature.h +++ b/src/SketchPlugin/SketchPlugin_Feature.h @@ -20,7 +20,7 @@ class GeomAPI_Pnt2d; class Handle_AIS_InteractiveObject; /**\class SketchPlugin_Feature - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new feature in PartSet. This is an abstract class to give * an interface to create the sketch feature preview. */ diff --git a/src/SketchPlugin/SketchPlugin_Line.h b/src/SketchPlugin/SketchPlugin_Line.h index be5fadaad..1984f8368 100644 --- a/src/SketchPlugin/SketchPlugin_Line.h +++ b/src/SketchPlugin/SketchPlugin_Line.h @@ -13,7 +13,7 @@ #include /**\class SketchPlugin_Line - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ class SketchPlugin_Line : public SketchPlugin_Feature diff --git a/src/SketchPlugin/SketchPlugin_Plugin.h b/src/SketchPlugin/SketchPlugin_Plugin.h index 9354ef398..3b9de25ef 100644 --- a/src/SketchPlugin/SketchPlugin_Plugin.h +++ b/src/SketchPlugin/SketchPlugin_Plugin.h @@ -14,7 +14,7 @@ #include /**\class SketchPlugin_Plugin - * \ingroup DataModel + * \ingroup Plugins * \brief Interface common for any plugin: allows to use plugin by the plugins manager. */ class SKETCHPLUGIN_EXPORT SketchPlugin_Plugin : public ModelAPI_Plugin, public Events_Listener diff --git a/src/SketchPlugin/SketchPlugin_Point.h b/src/SketchPlugin/SketchPlugin_Point.h index c855dd32a..27a288763 100644 --- a/src/SketchPlugin/SketchPlugin_Point.h +++ b/src/SketchPlugin/SketchPlugin_Point.h @@ -13,7 +13,7 @@ #include /**\class SketchPlugin_Point - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of a new point. */ class SketchPlugin_Point : public SketchPlugin_Feature diff --git a/src/SketchPlugin/SketchPlugin_Sketch.h b/src/SketchPlugin/SketchPlugin_Sketch.h index 14e3082f0..51ac70496 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.h +++ b/src/SketchPlugin/SketchPlugin_Sketch.h @@ -24,7 +24,7 @@ #define PLANE_SIZE "200" /**\class SketchPlugin_Sketch - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ class SketchPlugin_Sketch : public ModelAPI_CompositeFeature//, public GeomAPI_IPresentable diff --git a/src/SketchSolver/SketchSolver_Constraint.h b/src/SketchSolver/SketchSolver_Constraint.h index e194c2571..5a98e31be 100644 --- a/src/SketchSolver/SketchSolver_Constraint.h +++ b/src/SketchSolver/SketchSolver_Constraint.h @@ -15,7 +15,7 @@ #include /** \class SketchSolver_Constraint - * \ingroup DataModel + * \ingroup Plugins * \brief Obtain information about SketchPlugin's constraint */ class SketchSolver_Constraint diff --git a/src/SketchSolver/SketchSolver_ConstraintGroup.h b/src/SketchSolver/SketchSolver_ConstraintGroup.h index 94734f20c..36583e338 100644 --- a/src/SketchSolver/SketchSolver_ConstraintGroup.h +++ b/src/SketchSolver/SketchSolver_ConstraintGroup.h @@ -25,7 +25,7 @@ typedef std::map< std::shared_ptr, std::vector /** \class SketchSolver_ConstraintManager - * \ingroup DataModel + * \ingroup Plugins * \brief Listens the changes of SketchPlugin features and transforms the Constraint * feature into the format understandable by SolveSpace library. * -- 2.39.2