]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
0021308: Remove hard-coded dependency of the external mesh plugins from the SMESH...
authoreap <eap@opencascade.com>
Wed, 7 Mar 2012 15:15:56 +0000 (15:15 +0000)
committereap <eap@opencascade.com>
Wed, 7 Mar 2012 15:15:56 +0000 (15:15 +0000)
    Describe methods wrapping algorithms and hypotheses into python

resources/StdMeshers.xml

index 72cccae412c682b36c24644bbb720f0b5dfc1ac7..d2af13c517c6f452060483e109320c79f6877cb8 100644 (file)
                opt-hypos="Propagation,QuadraticMesh"
                input="VERTEX"
                output="EDGE"
-               dim="1"/>
+               dim="1">
+      <python-wrap>
+        <algo>Regular_1D=Segment()</algo>
+        <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
+        <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
+        <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
+        <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
+        <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
+        <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
+        <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
+        <hypo>Propagation=Propagation()</hypo>
+        <hypo>QuadraticMesh=QuadraticMesh()</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="CompositeSegment_1D"
               label-id="Composite side discretisation"
                opt-hypos="Propagation,QuadraticMesh"
                input="VERTEX"
                output="EDGE"
-               dim="1"/>
+               dim="1">
+      <python-wrap>
+        <algo>CompositeSegment_1D=Segment(algo=smesh.COMPOSITE)</algo>
+        <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
+        <hypo>MaxLength=MaxSize(SetLength())</hypo>
+        <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
+        <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
+        <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
+        <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
+        <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
+        <hypo>Propagation=Propagation()</hypo>
+        <hypo>QuadraticMesh=QuadraticMesh()</hypo>
+      </python-wrap>
+    </algorithm>
+
+    <algorithm type="Python_1D"
+               output="EDGE"
+               dim="1">
+      <python-wrap>
+        <algo>Python_1D=Segment(algo=smesh.PYTHON)</algo>
+        <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="MEFISTO_2D"
               label-id="Triangle (Mefisto)"
                hypos="LengthFromEdges,MaxElementArea"
                input="EDGE"
                output="TRIA"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>MEFISTO_2D=Triangle(algo=smesh.MEFISTO)</algo>
+        <hypo>LengthFromEdges=LengthFromEdges()</hypo>
+        <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Quadrangle_2D"
                label-id="Quadrangle (Mapping)"
                hypos="QuadrangleParams"
                input="EDGE"
                output="QUAD"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>Quadrangle_2D=Quadrangle(algo=smesh.QUADRANGLE)</algo>
+        <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Hexa_3D"
                label-id="Hexahedron (i,j,k)"
                input="QUAD"
               need-geom="false"
                opt-hypos="ViscousLayers"
-               dim="3"/>
+               dim="3">
+      <python-wrap>
+        <algo>Hexa_3D=Hexahedron(algo=smesh.Hexa)</algo>
+        <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreFaces())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Projection_1D"
                label-id="Projection 1D"
                icon-id="mesh_algo_regular.png"
                hypos="ProjectionSource1D"
                output="EDGE"
-               dim="1"/>
+               dim="1">
+      <python-wrap>
+        <algo>Projection_1D=Projection1D()</algo>
+        <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Projection_2D"
                label-id="Projection 2D"
                input="EDGE"
                hypos="ProjectionSource2D"
                output="QUAD,TRIA"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>Projection_2D=Projection2D()</algo>
+        <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Projection_1D2D"
                label-id="Projection 1D-2D"
                input=""
                hypos="ProjectionSource2D"
                output="QUAD,TRIA"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>Projection_1D2D=Projection1D2D()</algo>
+        <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Projection_3D"
                label-id="Projection 3D"
                icon-id="mesh_algo_hexa.png"
                hypos="ProjectionSource3D"
                input="QUAD,TRIA"
-               dim="3"/>
+               dim="3">
+      <python-wrap>
+        <algo>Projection_3D=Projection3D()</algo>
+        <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Import_1D"
                label-id="Use existing 1D elements"
                icon-id="mesh_algo_regular.png"
                hypos="ImportSource1D"
                output="EDGE"
-               dim="1"/>
+               dim="1">
+      <python-wrap>
+        <algo>Import_1D=UseExisting1DElements()</algo>
+        <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Import_1D2D"
                label-id="Use existing 2D elements"
                hypos="ImportSource2D"
                output="QUAD,TRIA"
                support-submeshes="false"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>Import_1D2D=UseExisting2DElements()</algo>
+        <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Prism_3D"
                label-id="3D extrusion"
                icon-id="mesh_algo_hexa.png"
                input="QUAD,TRIA"
-               dim="3"/>
+               dim="3">
+      <python-wrap>
+        <algo>Prism_3D=Prism()</algo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="RadialPrism_3D"
                label-id="Radial Prism 3D"
                icon-id="mesh_algo_hexa.png"
                hypos="NumberOfLayers, LayerDistribution"
                input="QUAD,TRIA"
-               dim="3"/>
+               dim="3">
+      <python-wrap>
+        <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
+        <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="UseExisting_1D"
                label-id="Use existing edges"
                icon-id="mesh_algo_regular.png"
                input="VERTEX"
                output="EDGE"
-               dim="1"/>
+               dim="1">
+      <python-wrap>
+        <algo>UseExisting_1D=UseExistingSegments()</algo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="UseExisting_2D"
                label-id="Use existing faces"
                icon-id="mesh_algo_quad.png"
                input="EDGE"
                output="QUAD,TRIA"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>UseExisting_2D=UseExistingFaces()</algo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="RadialQuadrangle_1D2D"
                label-id="Radial quadrangle 1D2D"
                hypos="NumberOfLayers2D, LayerDistribution2D"
                input="EDGE"
                output="QUAD,TRIA"
-               dim="2"/>
+               dim="2">
+      <python-wrap>
+        <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smesh.RADIAL_QUAD)</algo>
+        <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
+      </python-wrap>
+    </algorithm>
 
     <algorithm type="Cartesian_3D"
                label-id="Body Fitting"
                icon-id="mesh_algo_hexa.png"
                hypos="CartesianParameters3D"
                support-submeshes="false"
-               dim="3"/>
+               dim="3">
+      <python-wrap>
+        <algo>Cartesian_3D=BodyFitted()</algo>
+      </python-wrap>
+    </algorithm>
 
   </algorithms>
 </meshers-group>