]> SALOME platform Git repositories - plugins/blsurfplugin.git/commitdiff
Salome HOME
0021308: EDF 1923 SMESH: Remove hard-coded dependency of the external mesh plugins...
authorvsr <vsr@opencascade.com>
Wed, 22 Aug 2012 10:37:06 +0000 (10:37 +0000)
committervsr <vsr@opencascade.com>
Wed, 22 Aug 2012 10:37:06 +0000 (10:37 +0000)
* Improve documentation for meshing plug-ins (in particular, dynamically added methods)

doc/salome/gui/BLSURFPLUGIN/Makefile.am
doc/salome/gui/BLSURFPLUGIN/doxyfile_py.in
doc/salome/gui/BLSURFPLUGIN/input/blsurfplugin_python_interface.doc
src/BLSURFPlugin/BLSURFPluginDC.py

index 1746a98110537666ce95c85009c7361ff784cc20..2517c0b879f722dbcd508e2b3c5c900f6dab60f0 100644 (file)
@@ -28,16 +28,15 @@ EXTRA_DIST += images input static/footer.html static/doxygen.css
 guidocdir = $(docdir)/gui/BLSURFPLUGIN
 guidoc_DATA = images/head.png
 
+DOC_PYTHONPATH=$(prefix)/bin/salome:$(SMESH_ROOT_DIR)/bin/salome:$(SMESH_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(MED_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(GEOM_ROOT_DIR)/bin/salome:$(GEOM_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(KERNEL_ROOT_DIR)/bin/salome:$(KERNEL_ROOT_DIR)/lib/python$(PYTHON_VERSION)/site-packages/salome:$(OMNIORB_ROOT)/lib/python$(PYTHON_VERSION)/site-packages:$(OMNIORB_ROOT)/lib64/python$(PYTHON_VERSION)/site-packages
+DOC_SMESH_MeshersList=BLSURFPlugin
 
-usr_docs: doxyfile
-       echo "===========================================" ;                    \
-       echo "Generating Python interface documentation";                       \
-       echo "===========================================" ;                    \
-       $(DOXYGEN) doxyfile_py                                                  \
-       echo "===========================================" ;                    \
-       echo "Generating GUI documentation" ;                                   \
-       echo "===========================================" ;                    \
-       $(DOXYGEN) doxyfile ;
+smesh.py: $(top_srcdir)/src/BLSURFPlugin/BLSURFPluginDC.py
+       @PYTHONPATH=$(DOC_PYTHONPATH):${PYTHONPATH} SMESH_MeshersList=$(DOC_SMESH_MeshersList) $(PYTHON) $(SMESH_ROOT_DIR)/bin/salome/collect_mesh_methods.py -d -o $@ BLSURFPlugin
+
+usr_docs: doxyfile_py doxyfile smesh.py
+       @$(DOXYGEN) doxyfile_py ; \
+       $(DOXYGEN) doxyfile
 
 docs: usr_docs
 
index 68057ba36d9a20845247d3ad1d49f693f2865073..f90cc5a76599cedc99969f0622475d04a2a08408 100755 (executable)
@@ -96,7 +96,7 @@ EXAMPLE_RECURSIVE      = NO
 #---------------------------------------------------------------------------
 #Input related options
 #---------------------------------------------------------------------------
-INPUT             = @top_srcdir@/src/BLSURFPlugin/BLSURFPluginDC.py
+INPUT             = @top_srcdir@/src/BLSURFPlugin/BLSURFPluginDC.py smesh.py
 FILE_PATTERNS     = 
 IMAGE_PATH        = @srcdir@/images
 RECURSIVE         = NO
@@ -156,4 +156,4 @@ DOT_CLEANUP            = YES
 #External reference options
 #---------------------------------------------------------------------------
 GENERATE_TAGFILE  = blsurfpluginpy_doc.tag
-SEARCHENGINE           = YES
\ No newline at end of file
+SEARCHENGINE           = YES
index 0d3efc1da50977a7ee4d70fbf48226bf3b02582a..2e883ab8858e469082d7a1a28dd3147132806bbb 100644 (file)
@@ -2,11 +2,11 @@
 
 \page blsurfplugin_python_interface_page Python Interface
 
-Python package \ref BLSURFPluginDC "BLSURFPlugin" defines several classes, destined for creation of the 2D meshes.
+Python package BLSURFPluginDC defines several classes, destined for creation of the 2D meshes.
 
-Documentation for BLSURFPlugin package is available in linear form grouped by classes, declared in the BLSURFPluginDC.py file.
+BLSURF meshing plugin dynamically adds several methods to the smesh.Mesh class to create meshing algorithms.
 
-Below you can see an example of usage of the BLSURFPlugin package for mesh generation:
+Below you can see an example of usage of the BLSURFPlugin Python API for mesh generation:
 
 \anchor tui_blsurf
 
index 8dffd50e86f2c3071923cd431fb260284971da5e..c46b859f668720818e8090c3a9c530a78a208ede 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+##
+# @package BLSURFPluginDC
+# Python API for the BLSURF meshing plug-in module.
+
+##
+# @package smesh
+# Documentation of the methods dynamically added by the BLSURF meshing plug-in to the
+# smesh.Mesh class.
+
 from smesh import Mesh_Algorithm, AssureGeomPublished
 
 # Topology treatment way of BLSURF
@@ -34,22 +43,40 @@ except ImportError:
     noBLSURFPlugin = 1
     pass
 
+#----------------------------
+# Mesh algo type identifiers
+#----------------------------
 
-
-# a constant to call Mesh.Triangle(BLSURF,geom=0)
+## Algorithm type: BLSurf triangle 2D algorithm, see BLSURF_Algorithm
 BLSURF = "BLSURF"
 
-## BLSURF 2D algorithm. It is created by calling Mesh.Triangle(BLSURF,geom=0)
+#----------------------
+# Algorithms
+#----------------------
+
+## BLSurf 2D algorithm.
+#
+#  It can be created by calling smesh.Mesh.Triangle(smesh.BLSURF,geom=0)
 #
 class BLSURF_Algorithm(Mesh_Algorithm):
 
+    ## name of the dynamic method in smesh.Mesh class
+    #  @internal
     meshMethod = "Triangle"
+    ## type of algorithm used with helper function in smesh.Mesh class
+    #  @internal
     algoType   = BLSURF
+    ## doc string of the method
+    #  @internal
+    docHelper  = "Creates triangle 2D algorithm for faces"
 
     _angleMeshS = 8
     _gradation  = 1.1
 
     ## Private constructor.
+    #  @param mesh parent mesh object algorithm is assigned to
+    #  @param geom geometry (shape/sub-shape) algorithm is assigned to;
+    #              if it is @c 0 (default), the algorithm is assigned to the main shape
     def __init__(self, mesh, geom=0):
         Mesh_Algorithm.__init__(self)
         if noBLSURFPlugin:
@@ -57,102 +84,141 @@ class BLSURF_Algorithm(Mesh_Algorithm):
         self.Create(mesh, geom, BLSURF, "libBLSURFEngine.so")
         self.params=None
         #self.SetPhysicalMesh() - PAL19680
+        pass
 
     ## Sets a way to define size of mesh elements to generate.
     #  @param thePhysicalMesh is: DefaultSize, BLSURF_Custom or SizeMap.
     def SetPhysicalMesh(self, thePhysicalMesh=DefaultSize):
         self.Parameters().SetPhysicalMesh(thePhysicalMesh)
+        pass
 
     ## Sets size of mesh elements to generate.
+    #  @param theVal value of mesh element size
     def SetPhySize(self, theVal):
         self.Parameters().SetPhySize(theVal)
+        pass
 
     ## Sets lower boundary of mesh element size (PhySize).
+    #  @param theVal value of mesh element minimal size
     def SetPhyMin(self, theVal=-1):
         self.Parameters().SetPhyMin(theVal)
+        pass
 
     ## Sets upper boundary of mesh element size (PhySize).
+    #  @param theVal value of mesh element maximal size
     def SetPhyMax(self, theVal=-1):
         self.Parameters().SetPhyMax(theVal)
+        pass
 
     ## Sets a way to define maximum angular deflection of mesh from CAD model.
     #  @param theGeometricMesh is: 0 (None) or 1 (Custom)
     def SetGeometricMesh(self, theGeometricMesh=0):
         if self.Parameters().GetPhysicalMesh() == 0: theGeometricMesh = 1
         self.Parameters().SetGeometricMesh(theGeometricMesh)
+        pass
 
     ## Sets angular deflection (in degrees) of a mesh face from CAD surface.
+    #  @param theVal value of angular deflection for mesh face
     def SetAngleMeshS(self, theVal=_angleMeshS):
         if self.Parameters().GetGeometricMesh() == 0: theVal = self._angleMeshS
         self.Parameters().SetAngleMeshS(theVal)
+        pass
 
     ## Sets angular deflection (in degrees) of a mesh edge from CAD curve.
+    #  @param theVal value of angular deflection for mesh edge
     def SetAngleMeshC(self, theVal=_angleMeshS):
         if self.Parameters().GetGeometricMesh() == 0: theVal = self._angleMeshS
         self.Parameters().SetAngleMeshC(theVal)
+        pass
 
     ## Sets lower boundary of mesh element size computed to respect angular deflection.
+    #  @param theVal value of mesh element minimal size
     def SetGeoMin(self, theVal=-1):
         self.Parameters().SetGeoMin(theVal)
+        pass
 
     ## Sets upper boundary of mesh element size computed to respect angular deflection.
+    #  @param theVal value of mesh element maximal size
     def SetGeoMax(self, theVal=-1):
         self.Parameters().SetGeoMax(theVal)
+        pass
 
     ## Sets maximal allowed ratio between the lengths of two adjacent edges.
+    #  @param theVal value of maximal length ratio
     def SetGradation(self, theVal=_gradation):
         if self.Parameters().GetGeometricMesh() == 0: theVal = self._gradation
         self.Parameters().SetGradation(theVal)
+        pass
 
     ## Sets topology usage way.
-    # @param way defines how mesh conformity is assured <ul>
-    # <li>FromCAD - mesh conformity is assured by conformity of a shape</li>
-    # <li>PreProcess or PreProcessPlus - by pre-processing a CAD model</li>
-    # <li>PreCAD - by pre-processing with PreCAD a CAD model</li></ul>
+    # @param way defines how mesh conformity is assured
+    # - FromCAD - mesh conformity is assured by conformity of a shape
+    # - PreProcess or PreProcessPlus - by pre-processing a CAD model
+    # - PreCAD - by pre-processing with PreCAD a CAD model
     def SetTopology(self, way):
         self.Parameters().SetTopology(way)
+        pass
 
     ## To respect geometrical edges or not.
+    #  @param toIgnoreEdges "ignore edges" flag value
     def SetDecimesh(self, toIgnoreEdges=False):
         self.Parameters().SetDecimesh(toIgnoreEdges)
+        pass
 
     ## Sets verbosity level in the range 0 to 100.
+    #  @param level verbosity level
     def SetVerbosity(self, level):
         self.Parameters().SetVerbosity(level)
+        pass
 
     ## To optimize merges edges.
+    #  @param toMergeEdges "merge edges" flag value
     def SetPreCADMergeEdges(self, toMergeEdges=False):
         self.Parameters().SetPreCADMergeEdges(toMergeEdges)
+        pass
 
     ## To remove nano edges.
+    #  @param toRemoveNanoEdges "remove nano edges" flag value
     def SetPreCADRemoveNanoEdges(self, toRemoveNanoEdges=False):
         self.Parameters().SetPreCADRemoveNanoEdges(toRemoveNanoEdges)
+        pass
 
     ## To compute topology from scratch
+    #  @param toDiscardInput "discard input" flag value
     def SetPreCADDiscardInput(self, toDiscardInput=False):
         self.Parameters().SetPreCADDiscardInput(toDiscardInput)
+        pass
 
     ## Sets the length below which an edge is considered as nano 
     #  for the topology processing.
+    #  @param epsNano nano edge length threshold value
     def SetPreCADEpsNano(self, epsNano):
         self.Parameters().SetPreCADEpsNano(epsNano)
+        pass
 
     ## Sets advanced option value.
+    #  @param optionName advanced option name
+    #  @param level advanced option value
     def SetOptionValue(self, optionName, level):
         self.Parameters().SetOptionValue(optionName,level)
+        pass
 
     ## Sets advanced PreCAD option value.
-    #  Keyword arguments:
-    #  optionName: name of the option
-    #  optionValue: value of the option
+    #  @param optionName name of the option
+    #  @param optionValue value of the option
     def SetPreCADOptionValue(self, optionName, optionValue):
         self.Parameters().SetPreCADOptionValue(optionName,optionValue)
+        pass
 
     ## Sets GMF file for export at computation
+    #  @param fileName GMF file name
     def SetGMFFile(self, fileName):
         self.Parameters().SetGMFFile(fileName)
+        pass
 
-    ## Enforced vertices (BLSURF)
+    #-----------------------------------------
+    # Enforced vertices (BLSURF)
+    #-----------------------------------------
 
     ## To get all the enforced vertices
     def GetAllEnforcedVertices(self):
@@ -194,11 +260,14 @@ class BLSURF_Algorithm(Mesh_Algorithm):
                 return self.Parameters().SetEnforcedVertex(theFace, x, y, z)
             else:
                 return self.Parameters().SetEnforcedVertexWithGroup(theFace, x, y, z, groupName)
+            pass
         else:
             if groupName == "":
                 return self.Parameters().SetEnforcedVertexNamed(theFace, x, y, z, vertexName)
             else:
                 return self.Parameters().SetEnforcedVertexNamedWithGroup(theFace, x, y, z, vertexName, groupName)
+            pass
+        pass
 
     ## To set an enforced vertex on a face (or group, compound) given a GEOM vertex, group or compound.
     #  @param theFace      : GEOM face (or group, compound) on which to define an enforced vertex
@@ -211,6 +280,7 @@ class BLSURF_Algorithm(Mesh_Algorithm):
             return self.Parameters().SetEnforcedVertexGeom(theFace, theVertex)
         else:
             return self.Parameters().SetEnforcedVertexGeomWithGroup(theFace, theVertex,groupName)
+        pass
 
     ## To remove an enforced vertex on a given GEOM face (or group, compound) given the coordinates.
     #  @param theFace      : GEOM face (or group, compound) on which to remove the enforced vertex
@@ -253,7 +323,9 @@ class BLSURF_Algorithm(Mesh_Algorithm):
     def GetInternalEnforcedVertexAllFacesGroup(self):
         return self.Parameters().GetInternalEnforcedVertexAllFacesGroup()
 
-    ## Attractors
+    #-----------------------------------------
+    #  Attractors
+    #-----------------------------------------
 
     ## Sets an attractor on the chosen face. The mesh size will decrease exponentially with the distance from theAttractor, following the rule h(d) = theEndSize - (theEndSize - theStartSize) * exp [ - ( d / theInfluenceDistance ) ^ 2 ] 
     #  @param theFace      : face on which the attractor will be defined
@@ -266,14 +338,18 @@ class BLSURF_Algorithm(Mesh_Algorithm):
         AssureGeomPublished( self.mesh, theFace )
         AssureGeomPublished( self.mesh, theAttractor )
         self.Parameters().SetAttractorGeom(theFace, theAttractor, theStartSize, theEndSize, theInfluenceDistance, theConstantSizeDistance)
+        pass
 
     ## Unsets an attractor on the chosen face. 
     #  @param theFace      : face on which the attractor has to be removed                               
     def UnsetAttractorGeom(self, theFace):
         AssureGeomPublished( self.mesh, theFace )
         self.Parameters().SetAttractorGeom(theFace)
+        pass
 
-    ## Size maps (BLSURF)
+    #-----------------------------------------
+    # Size maps (BLSURF)
+    #-----------------------------------------
 
     ## To set a size map on a face, edge or vertex (or group, compound) given Python function.
     #  If theObject is a face, the function can be: def f(u,v): return u+v
@@ -284,25 +360,33 @@ class BLSURF_Algorithm(Mesh_Algorithm):
     def SetSizeMap(self, theObject, theSizeMap):
         AssureGeomPublished( self.mesh, theObject )
         self.Parameters().SetSizeMap(theObject, theSizeMap)
+        pass
 
     ## To remove a size map defined on a face, edge or vertex (or group, compound)
     #  @param theObject   : GEOM face, edge or vertex (or group, compound) on which to define a size map
     def UnsetSizeMap(self, theObject):
         AssureGeomPublished( self.mesh, theObject )
         self.Parameters().UnsetSizeMap(theObject)
+        pass
 
     ## To remove all the size maps
     def ClearSizeMaps(self):
         self.Parameters().ClearSizeMaps()
+        pass
 
     ## Sets QuadAllowed flag.
+    #  @param toAllow "allow quadrangles" flag value
     def SetQuadAllowed(self, toAllow=True):
         self.Parameters().SetQuadAllowed(toAllow)
+        pass
 
     ## Defines hypothesis having several parameters
-    #
+    #  @return hypothesis object
     def Parameters(self):
         if not self.params:
             self.params = self.Hypothesis("BLSURF_Parameters", [],
                                           "libBLSURFEngine.so", UseExisting=0)
+            pass
         return self.params
+
+    pass # end of BLSURF_Algorithm class