smesh/src/SMESH/SMESH_Algo.cxx

347 lines
11 KiB
C++
Raw Normal View History

This commit was generated by cvs2git to create branch 'BR-D5-38-2003'. Cherrypick from master 2005-12-28 09:17:39 UTC jfa <jfa@opencascade.com> 'Join modifications from branch BR_3_1_0deb': INSTALL Makefile.in adm_local/unix/make_commence.in bin/VERSION build_configure configure.in.base doc/salome/Makefile.in doc/salome/SMESH_index_v3.1.0.html doc/salome/gui/SMESH/about_viewing_meshes.htm doc/salome/gui/SMESH/aspect_ratio_3d.htm doc/salome/gui/SMESH/borders_at_multi-connection.htm doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm doc/salome/gui/SMESH/clipping.htm doc/salome/gui/SMESH/constructing_meshes.htm doc/salome/gui/SMESH/cshdat_robohelp.htm doc/salome/gui/SMESH/cshdat_webhelp.htm doc/salome/gui/SMESH/default.css doc/salome/gui/SMESH/default_ns.css doc/salome/gui/SMESH/defining_hypotheses_tui.htm doc/salome/gui/SMESH/deleting_groups.htm doc/salome/gui/SMESH/display_entity.htm doc/salome/gui/SMESH/ehelp.xml doc/salome/gui/SMESH/ehlpdhtm.js doc/salome/gui/SMESH/extrusion.htm doc/salome/gui/SMESH/extrusion_along_a_path.htm doc/salome/gui/SMESH/files/about_hypotheses.htm doc/salome/gui/SMESH/files/about_meshes.htm doc/salome/gui/SMESH/files/about_meshing_algorithms.htm doc/salome/gui/SMESH/files/about_quality_controls.htm doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm doc/salome/gui/SMESH/files/area_of_elements.htm doc/salome/gui/SMESH/files/arithmetic_1d.htm doc/salome/gui/SMESH/files/aspect_ratio.htm doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm doc/salome/gui/SMESH/files/constructing_meshes.htm doc/salome/gui/SMESH/files/constructing_submeshes.htm doc/salome/gui/SMESH/files/creating_groups.htm doc/salome/gui/SMESH/files/cutting_quadrangles.htm doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm doc/salome/gui/SMESH/files/displacing_nodes.htm doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm doc/salome/gui/SMESH/files/editing_groups.htm doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm doc/salome/gui/SMESH/files/introduction_to_smesh.htm doc/salome/gui/SMESH/files/length_of_edges.htm doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm doc/salome/gui/SMESH/files/merging_nodes.htm doc/salome/gui/SMESH/files/minimum_angle.htm doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm doc/salome/gui/SMESH/files/rotation.htm doc/salome/gui/SMESH/files/running_smesh_module.htm doc/salome/gui/SMESH/files/sewing_meshes.htm doc/salome/gui/SMESH/files/skew.htm doc/salome/gui/SMESH/files/smoothing.htm doc/salome/gui/SMESH/files/symmetry.htm doc/salome/gui/SMESH/files/taper.htm doc/salome/gui/SMESH/files/translation.htm doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm doc/salome/gui/SMESH/files/uniting_two_triangles.htm doc/salome/gui/SMESH/files/using_operations_on_groups.htm doc/salome/gui/SMESH/files/viewing_mesh_info.htm doc/salome/gui/SMESH/files/warp.htm doc/salome/gui/SMESH/free_borders.htm doc/salome/gui/SMESH/free_edges.htm doc/salome/gui/SMESH/grouping_elements.htm doc/salome/gui/SMESH/image10.jpg doc/salome/gui/SMESH/image101.gif doc/salome/gui/SMESH/image102.gif doc/salome/gui/SMESH/image103.gif doc/salome/gui/SMESH/image104.gif doc/salome/gui/SMESH/image105.gif doc/salome/gui/SMESH/image106.gif doc/salome/gui/SMESH/image108.gif doc/salome/gui/SMESH/image119.gif doc/salome/gui/SMESH/image120.gif doc/salome/gui/SMESH/image121.gif doc/salome/gui/SMESH/image122.gif doc/salome/gui/SMESH/image123.gif doc/salome/gui/SMESH/image124.gif doc/salome/gui/SMESH/image125.gif doc/salome/gui/SMESH/image126.gif doc/salome/gui/SMESH/image127.gif doc/salome/gui/SMESH/image129.gif doc/salome/gui/SMESH/image130.gif doc/salome/gui/SMESH/image131.gif doc/salome/gui/SMESH/image132.gif doc/salome/gui/SMESH/image133.gif doc/salome/gui/SMESH/image134.gif doc/salome/gui/SMESH/image135.gif doc/salome/gui/SMESH/image136.gif doc/salome/gui/SMESH/image137.gif doc/salome/gui/SMESH/image138.gif doc/salome/gui/SMESH/image139.gif doc/salome/gui/SMESH/image18.gif doc/salome/gui/SMESH/image19.gif doc/salome/gui/SMESH/image19.jpg doc/salome/gui/SMESH/image20.gif doc/salome/gui/SMESH/image21.gif doc/salome/gui/SMESH/image23.gif doc/salome/gui/SMESH/image27.gif doc/salome/gui/SMESH/image30.gif doc/salome/gui/SMESH/image37.jpg doc/salome/gui/SMESH/image49.gif doc/salome/gui/SMESH/image5.jpg doc/salome/gui/SMESH/image50.gif doc/salome/gui/SMESH/image53.gif doc/salome/gui/SMESH/image55.gif doc/salome/gui/SMESH/image56.gif doc/salome/gui/SMESH/image56.jpg doc/salome/gui/SMESH/image58.gif doc/salome/gui/SMESH/image7.jpg doc/salome/gui/SMESH/image79.jpg doc/salome/gui/SMESH/image86.jpg doc/salome/gui/SMESH/image88.jpg doc/salome/gui/SMESH/image90.jpg doc/salome/gui/SMESH/image92.jpg doc/salome/gui/SMESH/image93.jpg doc/salome/gui/SMESH/image94.jpg doc/salome/gui/SMESH/image95.jpg doc/salome/gui/SMESH/image96.jpg doc/salome/gui/SMESH/image97.jpg doc/salome/gui/SMESH/image99.gif doc/salome/gui/SMESH/length.htm doc/salome/gui/SMESH/modifying_meshes.htm doc/salome/gui/SMESH/pattern_mapping.htm doc/salome/gui/SMESH/pics/a-advmeshinfo.png doc/salome/gui/SMESH/pics/a-arithmetic1d.png doc/salome/gui/SMESH/pics/a-averagelength.png doc/salome/gui/SMESH/pics/a-clipping2.png doc/salome/gui/SMESH/pics/a-creategroup.png doc/salome/gui/SMESH/pics/a-createmesh1.png doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png doc/salome/gui/SMESH/pics/a-deflection1d.png doc/salome/gui/SMESH/pics/a-editmesh.png doc/salome/gui/SMESH/pics/a-exportmesh.png doc/salome/gui/SMESH/pics/a-extusionalongapath2.png doc/salome/gui/SMESH/pics/a-filteronedges.png doc/salome/gui/SMESH/pics/a-maxelarea.png doc/salome/gui/SMESH/pics/a-maxelvolume.png doc/salome/gui/SMESH/pics/a-nbsegments1.png doc/salome/gui/SMESH/pics/a-nbsegments2.png doc/salome/gui/SMESH/pics/a-nbsegments3.png doc/salome/gui/SMESH/pics/a-nbsegments4.png doc/salome/gui/SMESH/pics/a-patterntype.png doc/salome/gui/SMESH/pics/a-patterntype1.png doc/salome/gui/SMESH/pics/a-standmeshinfo.png doc/salome/gui/SMESH/pics/a-startendlength.png doc/salome/gui/SMESH/pics/a-transparency.png doc/salome/gui/SMESH/pics/a-unionoftriangles.png doc/salome/gui/SMESH/pics/a-viewgeneral.png doc/salome/gui/SMESH/pics/add_edge.png doc/salome/gui/SMESH/pics/add_node.png doc/salome/gui/SMESH/pics/add_polygone.png doc/salome/gui/SMESH/pics/add_polyhedron.png doc/salome/gui/SMESH/pics/add_quadrangle.png doc/salome/gui/SMESH/pics/add_triangle.png doc/salome/gui/SMESH/pics/addedge.png doc/salome/gui/SMESH/pics/addhexahedron.png doc/salome/gui/SMESH/pics/addnode.png doc/salome/gui/SMESH/pics/addpolygon.png doc/salome/gui/SMESH/pics/addquadrangle.png doc/salome/gui/SMESH/pics/addtetrahedron.png doc/salome/gui/SMESH/pics/addtriangle.png doc/salome/gui/SMESH/pics/b-art_end_length.png doc/salome/gui/SMESH/pics/b-create_group.png doc/salome/gui/SMESH/pics/b-erage_length.png doc/salome/gui/SMESH/pics/b-flection1d.png doc/salome/gui/SMESH/pics/b-ithmetic1d.png doc/salome/gui/SMESH/pics/b-mberofsegments.png doc/salome/gui/SMESH/pics/b-mesh_infos.png doc/salome/gui/SMESH/pics/borders_at_multi_connections1.png doc/salome/gui/SMESH/pics/c-createmesh.png doc/salome/gui/SMESH/pics/c-editmesh.png doc/salome/gui/SMESH/pics/create_group.png doc/salome/gui/SMESH/pics/creategroup.png doc/salome/gui/SMESH/pics/cut_groups1.png doc/salome/gui/SMESH/pics/cut_groups2.png doc/salome/gui/SMESH/pics/cut_groups3.png doc/salome/gui/SMESH/pics/cutgroups.png doc/salome/gui/SMESH/pics/deletegroups.png doc/salome/gui/SMESH/pics/diagonalinversion.png doc/salome/gui/SMESH/pics/edit_mesh1.png doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png doc/salome/gui/SMESH/pics/editgroup.png doc/salome/gui/SMESH/pics/editing_groups1.png doc/salome/gui/SMESH/pics/editing_groups2.png doc/salome/gui/SMESH/pics/extrusionalongaline1.png doc/salome/gui/SMESH/pics/extrusionalongaline2.png doc/salome/gui/SMESH/pics/free_borders1.png doc/salome/gui/SMESH/pics/free_edges.png doc/salome/gui/SMESH/pics/importmesh.png doc/salome/gui/SMESH/pics/intersect_groups1.png doc/salome/gui/SMESH/pics/intersect_groups2.png doc/salome/gui/SMESH/pics/intersect_groups3.png doc/salome/gui/SMESH/pics/intersectgroups.png doc/salome/gui/SMESH/pics/length1.png doc/salome/gui/SMESH/pics/length2d.png doc/salome/gui/SMESH/pics/max_el_area.png doc/salome/gui/SMESH/pics/mergenodes.png doc/salome/gui/SMESH/pics/merging_nodes1.png doc/salome/gui/SMESH/pics/merging_nodes2.png doc/salome/gui/SMESH/pics/movenodes.png doc/salome/gui/SMESH/pics/moving_nodes1.png doc/salome/gui/SMESH/pics/moving_nodes2.png doc/salome/gui/SMESH/pics/orientaation1.png doc/salome/gui/SMESH/pics/patternmapping1.png doc/salome/gui/SMESH/pics/patternmapping2.png doc/salome/gui/SMESH/pics/remove_elements1.png doc/salome/gui/SMESH/pics/remove_elements2.png doc/salome/gui/SMESH/pics/remove_nodes1.png doc/salome/gui/SMESH/pics/remove_nodes2.png doc/salome/gui/SMESH/pics/removeelements.png doc/salome/gui/SMESH/pics/removenodes.png doc/salome/gui/SMESH/pics/renumberelements.png doc/salome/gui/SMESH/pics/renumbernodes.png doc/salome/gui/SMESH/pics/revolution1.png doc/salome/gui/SMESH/pics/revolution2.png doc/salome/gui/SMESH/pics/rotation.png doc/salome/gui/SMESH/pics/rotation1.png doc/salome/gui/SMESH/pics/rotation2.png doc/salome/gui/SMESH/pics/selectionfilterlibrary.png doc/salome/gui/SMESH/pics/sewing1.png doc/salome/gui/SMESH/pics/sewing2.png doc/salome/gui/SMESH/pics/sewing3.png doc/salome/gui/SMESH/pics/sewing4.png doc/salome/gui/SMESH/pics/smoothing.png doc/salome/gui/SMESH/pics/smoothing1.png doc/salome/gui/SMESH/pics/smoothing2.png doc/salome/gui/SMESH/pics/submeshconstruction.png doc/salome/gui/SMESH/pics/symmetry1.png doc/salome/gui/SMESH/pics/symmetry2.png doc/salome/gui/SMESH/pics/symmetry3.png doc/salome/gui/SMESH/pics/translation1.png doc/salome/gui/SMESH/pics/translation2.png doc/salome/gui/SMESH/pics/union_groups1.png doc/salome/gui/SMESH/pics/union_groups2.png doc/salome/gui/SMESH/pics/union_groups3.png doc/salome/gui/SMESH/pics/uniongroups.png doc/salome/gui/SMESH/pics/unionoftwotriangles.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png doc/salome/gui/SMESH/pics/uniting_two_triangles1.png doc/salome/gui/SMESH/pics/uniting_two_triangles2.png doc/salome/gui/SMESH/presentation.htm doc/salome/gui/SMESH/quality_controls.htm doc/salome/gui/SMESH/revolution.htm doc/salome/gui/SMESH/selection_filter_library.htm doc/salome/gui/SMESH/smesh.htm doc/salome/gui/SMESH/smesh.log doc/salome/gui/SMESH/smesh_csh.htm doc/salome/gui/SMESH/smesh_rhc.htm doc/salome/gui/SMESH/transforming_meshes.htm doc/salome/gui/SMESH/transparency.htm doc/salome/gui/SMESH/viewing_meshes.htm doc/salome/gui/SMESH/webhelp.cab doc/salome/gui/SMESH/webhelp.jar doc/salome/gui/SMESH/whcsh_home.htm doc/salome/gui/SMESH/whcshdata.htm doc/salome/gui/SMESH/whdata/whftdata.js doc/salome/gui/SMESH/whdata/whftdata0.htm doc/salome/gui/SMESH/whdata/whfts.htm doc/salome/gui/SMESH/whdata/whfts.js doc/salome/gui/SMESH/whdata/whfwdata.js doc/salome/gui/SMESH/whdata/whfwdata0.htm doc/salome/gui/SMESH/whdata/whgdata.js doc/salome/gui/SMESH/whdata/whgdata0.htm doc/salome/gui/SMESH/whdata/whglo.htm doc/salome/gui/SMESH/whdata/whglo.js doc/salome/gui/SMESH/whdata/whidata.js doc/salome/gui/SMESH/whdata/whidx.htm doc/salome/gui/SMESH/whdata/whidx.js doc/salome/gui/SMESH/whdata/whtdata.js doc/salome/gui/SMESH/whdata/whtdata0.htm doc/salome/gui/SMESH/whdata/whtoc.htm doc/salome/gui/SMESH/whdata/whtoc.js doc/salome/gui/SMESH/whfbody.htm doc/salome/gui/SMESH/whfdhtml.htm doc/salome/gui/SMESH/whfform.htm doc/salome/gui/SMESH/whfhost.js doc/salome/gui/SMESH/whform.js doc/salome/gui/SMESH/whframes.js doc/salome/gui/SMESH/whgbody.htm doc/salome/gui/SMESH/whgdata/whlstf0.htm doc/salome/gui/SMESH/whgdata/whlstf1.htm doc/salome/gui/SMESH/whgdata/whlstf10.htm doc/salome/gui/SMESH/whgdata/whlstf11.htm doc/salome/gui/SMESH/whgdata/whlstf12.htm doc/salome/gui/SMESH/whgdata/whlstf2.htm doc/salome/gui/SMESH/whgdata/whlstf3.htm doc/salome/gui/SMESH/whgdata/whlstf4.htm doc/salome/gui/SMESH/whgdata/whlstf5.htm doc/salome/gui/SMESH/whgdata/whlstf6.htm doc/salome/gui/SMESH/whgdata/whlstf7.htm doc/salome/gui/SMESH/whgdata/whlstf8.htm doc/salome/gui/SMESH/whgdata/whlstf9.htm doc/salome/gui/SMESH/whgdata/whlstfl0.htm doc/salome/gui/SMESH/whgdata/whlstfl1.htm doc/salome/gui/SMESH/whgdata/whlstfl10.htm doc/salome/gui/SMESH/whgdata/whlstfl11.htm doc/salome/gui/SMESH/whgdata/whlstfl12.htm doc/salome/gui/SMESH/whgdata/whlstfl13.htm doc/salome/gui/SMESH/whgdata/whlstfl14.htm doc/salome/gui/SMESH/whgdata/whlstfl15.htm doc/salome/gui/SMESH/whgdata/whlstfl16.htm doc/salome/gui/SMESH/whgdata/whlstfl17.htm doc/salome/gui/SMESH/whgdata/whlstfl18.htm doc/salome/gui/SMESH/whgdata/whlstfl19.htm doc/salome/gui/SMESH/whgdata/whlstfl2.htm doc/salome/gui/SMESH/whgdata/whlstfl20.htm doc/salome/gui/SMESH/whgdata/whlstfl21.htm doc/salome/gui/SMESH/whgdata/whlstfl22.htm doc/salome/gui/SMESH/whgdata/whlstfl23.htm doc/salome/gui/SMESH/whgdata/whlstfl24.htm doc/salome/gui/SMESH/whgdata/whlstfl25.htm doc/salome/gui/SMESH/whgdata/whlstfl3.htm doc/salome/gui/SMESH/whgdata/whlstfl4.htm doc/salome/gui/SMESH/whgdata/whlstfl5.htm doc/salome/gui/SMESH/whgdata/whlstfl6.htm doc/salome/gui/SMESH/whgdata/whlstfl7.htm doc/salome/gui/SMESH/whgdata/whlstfl8.htm doc/salome/gui/SMESH/whgdata/whlstfl9.htm doc/salome/gui/SMESH/whgdata/whlstg0.htm doc/salome/gui/SMESH/whgdata/whlsti0.htm doc/salome/gui/SMESH/whgdata/whlstt0.htm doc/salome/gui/SMESH/whgdata/whlstt1.htm doc/salome/gui/SMESH/whgdata/whlstt2.htm doc/salome/gui/SMESH/whgdata/whlstt3.htm doc/salome/gui/SMESH/whgdata/whlstt4.htm doc/salome/gui/SMESH/whgdata/whlstt5.htm doc/salome/gui/SMESH/whgdata/whlstt6.htm doc/salome/gui/SMESH/whgdata/whlstt7.htm doc/salome/gui/SMESH/whgdata/whlstt8.htm doc/salome/gui/SMESH/whgdata/whlstt9.htm doc/salome/gui/SMESH/whgdata/whnvf30.htm doc/salome/gui/SMESH/whgdata/whnvf31.htm doc/salome/gui/SMESH/whgdata/whnvf32.htm doc/salome/gui/SMESH/whgdata/whnvf33.htm doc/salome/gui/SMESH/whgdata/whnvl31.htm doc/salome/gui/SMESH/whgdata/whnvl32.htm doc/salome/gui/SMESH/whgdata/whnvl33.htm doc/salome/gui/SMESH/whgdata/whnvp30.htm doc/salome/gui/SMESH/whgdata/whnvp31.htm doc/salome/gui/SMESH/whgdata/whnvp32.htm doc/salome/gui/SMESH/whgdata/whnvp33.htm doc/salome/gui/SMESH/whgdata/whnvt30.htm doc/salome/gui/SMESH/whgdata/whnvt31.htm doc/salome/gui/SMESH/whgdata/whnvt32.htm doc/salome/gui/SMESH/whgdata/whnvt33.htm doc/salome/gui/SMESH/whgdef.htm doc/salome/gui/SMESH/whgdhtml.htm doc/salome/gui/SMESH/whghost.js doc/salome/gui/SMESH/whhost.js doc/salome/gui/SMESH/whibody.htm doc/salome/gui/SMESH/whidhtml.htm doc/salome/gui/SMESH/whiform.htm doc/salome/gui/SMESH/whihost.js doc/salome/gui/SMESH/whlang.js doc/salome/gui/SMESH/whmozemu.js doc/salome/gui/SMESH/whmsg.js doc/salome/gui/SMESH/whnjs.htm doc/salome/gui/SMESH/whphost.js doc/salome/gui/SMESH/whproj.htm doc/salome/gui/SMESH/whproj.js doc/salome/gui/SMESH/whproj.xml doc/salome/gui/SMESH/whproxy.js doc/salome/gui/SMESH/whres.xml doc/salome/gui/SMESH/whskin_banner.htm doc/salome/gui/SMESH/whskin_blank.htm doc/salome/gui/SMESH/whskin_frmset01.htm doc/salome/gui/SMESH/whskin_frmset010.htm doc/salome/gui/SMESH/whskin_homepage.htm doc/salome/gui/SMESH/whskin_info.htm doc/salome/gui/SMESH/whskin_mbars.htm doc/salome/gui/SMESH/whskin_papplet.htm doc/salome/gui/SMESH/whskin_pdhtml.htm doc/salome/gui/SMESH/whskin_pickup.htm doc/salome/gui/SMESH/whskin_plist.htm doc/salome/gui/SMESH/whskin_tbars.htm doc/salome/gui/SMESH/whskin_tw.htm doc/salome/gui/SMESH/whst_topics.xml doc/salome/gui/SMESH/whstart.js doc/salome/gui/SMESH/whstub.js doc/salome/gui/SMESH/wht_abge.jpg doc/salome/gui/SMESH/wht_abgi.jpg doc/salome/gui/SMESH/wht_abgw.jpg doc/salome/gui/SMESH/wht_abte.jpg doc/salome/gui/SMESH/wht_abti.jpg doc/salome/gui/SMESH/wht_abtw.jpg doc/salome/gui/SMESH/whtbar.js doc/salome/gui/SMESH/whtdhtml.htm doc/salome/gui/SMESH/whthost.js doc/salome/gui/SMESH/whtopic.js doc/salome/gui/SMESH/whutils.js doc/salome/gui/SMESH/whver.js doc/salome/gui/SMESH/whxdata/whftdata0.xml doc/salome/gui/SMESH/whxdata/whfts.xml doc/salome/gui/SMESH/whxdata/whfwdata0.xml doc/salome/gui/SMESH/whxdata/whgdata0.xml doc/salome/gui/SMESH/whxdata/whglo.xml doc/salome/gui/SMESH/whxdata/whidx.xml doc/salome/gui/SMESH/whxdata/whtdata0.xml doc/salome/gui/SMESH/whxdata/whtoc.xml doc/salome/tui/SMESH/doxyfile doc/salome/tui/SMESH/doxyfile_py doc/salome/tui/SMESH/sources/static/tree.js idl/SMESH_BasicHypothesis.idl idl/SMESH_Filter.idl idl/SMESH_Gen.idl idl/SMESH_Mesh.idl resources/SMESHCatalog.xml resources/StdMeshers.xml resources/mesh_volume_3d.png src/Controls/SMESH_Controls.cxx src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx src/MEFISTO2/Makefile.in src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cxx src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx src/SMDS/SMDS_VolumeTool.cxx src/SMESH/Makefile.in src/SMESH/SMESH_Algo.cxx src/SMESH/SMESH_Algo.hxx src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx src/SMESH/SMESH_Gen.cxx src/SMESH/SMESH_Gen.hxx src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx src/SMESH/SMESH_MeshEditor.cxx src/SMESH/SMESH_MeshEditor.hxx src/SMESH/SMESH_Pattern.cxx src/SMESH/SMESH_Pattern.hxx src/SMESH/SMESH_SequenceOfElemPtr.hxx src/SMESH/SMESH_SequenceOfNode.hxx src/SMESH/SMESH_subMesh.cxx src/SMESHDS/SMESHDS_Mesh.hxx src/SMESHFiltersSelection/SMESH_LogicalFilter.cxx src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx src/SMESHFiltersSelection/SMESH_NumberFilter.cxx src/SMESHFiltersSelection/SMESH_NumberFilter.hxx src/SMESHFiltersSelection/SMESH_Type.h src/SMESHFiltersSelection/SMESH_TypeFilter.cxx src/SMESHFiltersSelection/SMESH_TypeFilter.hxx src/SMESHFiltersSelection/SMESH_TypeFilter.jxx src/SMESHGUI/Makefile.in src/SMESHGUI/SMESHBin.cxx src/SMESHGUI/SMESHGUI.h src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h src/SMESHGUI/SMESHGUI_ClippingDlg.cxx src/SMESHGUI/SMESHGUI_ClippingDlg.h src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.h src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.cxx src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.h src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx src/SMESHGUI/SMESHGUI_DeleteGroupDlg.h src/SMESHGUI/SMESHGUI_Dialog.cxx src/SMESHGUI/SMESHGUI_Dialog.h src/SMESHGUI/SMESHGUI_Displayer.cxx src/SMESHGUI/SMESHGUI_Displayer.h src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx src/SMESHGUI/SMESHGUI_EditMeshDlg.h src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionDlg.h src/SMESHGUI/SMESHGUI_FilterDlg.h src/SMESHGUI/SMESHGUI_GroupDlg.h src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx src/SMESHGUI/SMESHGUI_GroupOpDlg.h src/SMESHGUI/SMESHGUI_Hypotheses.cxx src/SMESHGUI/SMESHGUI_Hypotheses.h src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx src/SMESHGUI/SMESHGUI_HypothesesUtils.h src/SMESHGUI/SMESHGUI_MergeNodesDlg.cxx src/SMESHGUI/SMESHGUI_MergeNodesDlg.h src/SMESHGUI/SMESHGUI_MeshDlg.cxx src/SMESHGUI/SMESHGUI_MeshDlg.h src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_MeshInfosDlg.h src/SMESHGUI/SMESHGUI_MeshOp.cxx src/SMESHGUI/SMESHGUI_MeshOp.h src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx src/SMESHGUI/SMESHGUI_MeshPatternDlg.h src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx src/SMESHGUI/SMESHGUI_MoveNodesDlg.h src/SMESHGUI/SMESHGUI_MultiEditDlg.h src/SMESHGUI/SMESHGUI_NodesDlg.cxx src/SMESHGUI/SMESHGUI_NodesDlg.h src/SMESHGUI/SMESHGUI_Operation.cxx src/SMESHGUI/SMESHGUI_Operation.h src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.cxx src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h src/SMESHGUI/SMESHGUI_RemoveNodesDlg.h src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx src/SMESHGUI/SMESHGUI_RenumberingDlg.h src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx src/SMESHGUI/SMESHGUI_RevolutionDlg.h src/SMESHGUI/SMESHGUI_RotationDlg.cxx src/SMESHGUI/SMESHGUI_RotationDlg.h src/SMESHGUI/SMESHGUI_Selection.h src/SMESHGUI/SMESHGUI_SelectionOp.cxx src/SMESHGUI/SMESHGUI_SelectionOp.h src/SMESHGUI/SMESHGUI_SewingDlg.cxx src/SMESHGUI/SMESHGUI_SewingDlg.h src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx src/SMESHGUI/SMESHGUI_SingleEditDlg.h src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx src/SMESHGUI/SMESHGUI_SmoothingDlg.h src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx src/SMESHGUI/SMESHGUI_SymmetryDlg.h src/SMESHGUI/SMESHGUI_TranslationDlg.cxx src/SMESHGUI/SMESHGUI_TranslationDlg.h src/SMESHGUI/SMESHGUI_TransparencyDlg.cxx src/SMESHGUI/SMESHGUI_TransparencyDlg.h src/SMESHGUI/SMESHGUI_Utils.cxx src/SMESHGUI/SMESHGUI_Utils.h src/SMESHGUI/SMESHGUI_XmlHandler.cxx src/SMESHGUI/SMESHGUI_XmlHandler.h src/SMESHGUI/SMESHGUI_aParameter.h src/SMESHGUI/SMESH_images.po src/SMESHGUI/SMESH_msg_en.po src/SMESH_I/SMESH_2smeshpy.cxx src/SMESH_I/SMESH_2smeshpy.hxx src/SMESH_I/SMESH_DumpPython.cxx src/SMESH_I/SMESH_Filter_i.cxx src/SMESH_I/SMESH_Filter_i.hxx src/SMESH_I/SMESH_Gen_i.cxx src/SMESH_I/SMESH_Gen_i.hxx src/SMESH_I/SMESH_Group_i.cxx src/SMESH_I/SMESH_MeshEditor_i.cxx src/SMESH_I/SMESH_MeshEditor_i.hxx src/SMESH_I/SMESH_Mesh_i.cxx src/SMESH_I/SMESH_Pattern_i.cxx src/SMESH_I/SMESH_PythonDump.hxx src/SMESH_SWIG/SMESH_reg.py src/SMESH_SWIG/smesh.py src/StdMeshers/Makefile.in src/StdMeshers/StdMeshers_AutomaticLength.cxx src/StdMeshers/StdMeshers_AutomaticLength.hxx src/StdMeshers/StdMeshers_Distribution.cxx src/StdMeshers/StdMeshers_Distribution.hxx src/StdMeshers/StdMeshers_NumberOfSegments.cxx src/StdMeshers/StdMeshers_NumberOfSegments.hxx src/StdMeshers/StdMeshers_QuadranglePreference.cxx src/StdMeshers/StdMeshers_QuadranglePreference.hxx src/StdMeshers/StdMeshers_Quadrangle_2D.cxx src/StdMeshers/StdMeshers_Quadrangle_2D.hxx src/StdMeshers/StdMeshers_Regular_1D.cxx src/StdMeshers/StdMeshers_Regular_1D.hxx src/StdMeshersGUI/Makefile.in src/StdMeshersGUI/StdMeshersGUI.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.h src/StdMeshersGUI/StdMeshersGUI_DistrTable.cxx src/StdMeshersGUI/StdMeshersGUI_DistrTable.h src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.h src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.h src/StdMeshersGUI/StdMeshers_images.po src/StdMeshersGUI/StdMeshers_msg_en.po src/StdMeshers_I/Makefile.in src/StdMeshers_I/StdMeshers_Arithmetic1D_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.hxx src/StdMeshers_I/StdMeshers_Deflection1D_i.cxx src/StdMeshers_I/StdMeshers_LocalLength_i.cxx src/StdMeshers_I/StdMeshers_MaxElementArea_i.cxx src/StdMeshers_I/StdMeshers_MaxElementVolume_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.hxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.cxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.hxx src/StdMeshers_I/StdMeshers_StartEndLength_i.cxx src/StdMeshers_I/StdMeshers_i.cxx
2005-12-28 09:17:41 +00:00
// SMESH SMESH : implementaion of SMESH idl descriptions
//
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_Algo.cxx
// Author : Paul RASCLE, EDF
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_Algo.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_HypoFilter.hxx"
#include "SMDS_FacePosition.hxx"
#include "SMDS_EdgePosition.hxx"
This commit was generated by cvs2git to create branch 'BR-D5-38-2003'. Cherrypick from master 2005-12-28 09:17:39 UTC jfa <jfa@opencascade.com> 'Join modifications from branch BR_3_1_0deb': INSTALL Makefile.in adm_local/unix/make_commence.in bin/VERSION build_configure configure.in.base doc/salome/Makefile.in doc/salome/SMESH_index_v3.1.0.html doc/salome/gui/SMESH/about_viewing_meshes.htm doc/salome/gui/SMESH/aspect_ratio_3d.htm doc/salome/gui/SMESH/borders_at_multi-connection.htm doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm doc/salome/gui/SMESH/clipping.htm doc/salome/gui/SMESH/constructing_meshes.htm doc/salome/gui/SMESH/cshdat_robohelp.htm doc/salome/gui/SMESH/cshdat_webhelp.htm doc/salome/gui/SMESH/default.css doc/salome/gui/SMESH/default_ns.css doc/salome/gui/SMESH/defining_hypotheses_tui.htm doc/salome/gui/SMESH/deleting_groups.htm doc/salome/gui/SMESH/display_entity.htm doc/salome/gui/SMESH/ehelp.xml doc/salome/gui/SMESH/ehlpdhtm.js doc/salome/gui/SMESH/extrusion.htm doc/salome/gui/SMESH/extrusion_along_a_path.htm doc/salome/gui/SMESH/files/about_hypotheses.htm doc/salome/gui/SMESH/files/about_meshes.htm doc/salome/gui/SMESH/files/about_meshing_algorithms.htm doc/salome/gui/SMESH/files/about_quality_controls.htm doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm doc/salome/gui/SMESH/files/area_of_elements.htm doc/salome/gui/SMESH/files/arithmetic_1d.htm doc/salome/gui/SMESH/files/aspect_ratio.htm doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm doc/salome/gui/SMESH/files/constructing_meshes.htm doc/salome/gui/SMESH/files/constructing_submeshes.htm doc/salome/gui/SMESH/files/creating_groups.htm doc/salome/gui/SMESH/files/cutting_quadrangles.htm doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm doc/salome/gui/SMESH/files/displacing_nodes.htm doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm doc/salome/gui/SMESH/files/editing_groups.htm doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm doc/salome/gui/SMESH/files/introduction_to_smesh.htm doc/salome/gui/SMESH/files/length_of_edges.htm doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm doc/salome/gui/SMESH/files/merging_nodes.htm doc/salome/gui/SMESH/files/minimum_angle.htm doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm doc/salome/gui/SMESH/files/rotation.htm doc/salome/gui/SMESH/files/running_smesh_module.htm doc/salome/gui/SMESH/files/sewing_meshes.htm doc/salome/gui/SMESH/files/skew.htm doc/salome/gui/SMESH/files/smoothing.htm doc/salome/gui/SMESH/files/symmetry.htm doc/salome/gui/SMESH/files/taper.htm doc/salome/gui/SMESH/files/translation.htm doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm doc/salome/gui/SMESH/files/uniting_two_triangles.htm doc/salome/gui/SMESH/files/using_operations_on_groups.htm doc/salome/gui/SMESH/files/viewing_mesh_info.htm doc/salome/gui/SMESH/files/warp.htm doc/salome/gui/SMESH/free_borders.htm doc/salome/gui/SMESH/free_edges.htm doc/salome/gui/SMESH/grouping_elements.htm doc/salome/gui/SMESH/image10.jpg doc/salome/gui/SMESH/image101.gif doc/salome/gui/SMESH/image102.gif doc/salome/gui/SMESH/image103.gif doc/salome/gui/SMESH/image104.gif doc/salome/gui/SMESH/image105.gif doc/salome/gui/SMESH/image106.gif doc/salome/gui/SMESH/image108.gif doc/salome/gui/SMESH/image119.gif doc/salome/gui/SMESH/image120.gif doc/salome/gui/SMESH/image121.gif doc/salome/gui/SMESH/image122.gif doc/salome/gui/SMESH/image123.gif doc/salome/gui/SMESH/image124.gif doc/salome/gui/SMESH/image125.gif doc/salome/gui/SMESH/image126.gif doc/salome/gui/SMESH/image127.gif doc/salome/gui/SMESH/image129.gif doc/salome/gui/SMESH/image130.gif doc/salome/gui/SMESH/image131.gif doc/salome/gui/SMESH/image132.gif doc/salome/gui/SMESH/image133.gif doc/salome/gui/SMESH/image134.gif doc/salome/gui/SMESH/image135.gif doc/salome/gui/SMESH/image136.gif doc/salome/gui/SMESH/image137.gif doc/salome/gui/SMESH/image138.gif doc/salome/gui/SMESH/image139.gif doc/salome/gui/SMESH/image18.gif doc/salome/gui/SMESH/image19.gif doc/salome/gui/SMESH/image19.jpg doc/salome/gui/SMESH/image20.gif doc/salome/gui/SMESH/image21.gif doc/salome/gui/SMESH/image23.gif doc/salome/gui/SMESH/image27.gif doc/salome/gui/SMESH/image30.gif doc/salome/gui/SMESH/image37.jpg doc/salome/gui/SMESH/image49.gif doc/salome/gui/SMESH/image5.jpg doc/salome/gui/SMESH/image50.gif doc/salome/gui/SMESH/image53.gif doc/salome/gui/SMESH/image55.gif doc/salome/gui/SMESH/image56.gif doc/salome/gui/SMESH/image56.jpg doc/salome/gui/SMESH/image58.gif doc/salome/gui/SMESH/image7.jpg doc/salome/gui/SMESH/image79.jpg doc/salome/gui/SMESH/image86.jpg doc/salome/gui/SMESH/image88.jpg doc/salome/gui/SMESH/image90.jpg doc/salome/gui/SMESH/image92.jpg doc/salome/gui/SMESH/image93.jpg doc/salome/gui/SMESH/image94.jpg doc/salome/gui/SMESH/image95.jpg doc/salome/gui/SMESH/image96.jpg doc/salome/gui/SMESH/image97.jpg doc/salome/gui/SMESH/image99.gif doc/salome/gui/SMESH/length.htm doc/salome/gui/SMESH/modifying_meshes.htm doc/salome/gui/SMESH/pattern_mapping.htm doc/salome/gui/SMESH/pics/a-advmeshinfo.png doc/salome/gui/SMESH/pics/a-arithmetic1d.png doc/salome/gui/SMESH/pics/a-averagelength.png doc/salome/gui/SMESH/pics/a-clipping2.png doc/salome/gui/SMESH/pics/a-creategroup.png doc/salome/gui/SMESH/pics/a-createmesh1.png doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png doc/salome/gui/SMESH/pics/a-deflection1d.png doc/salome/gui/SMESH/pics/a-editmesh.png doc/salome/gui/SMESH/pics/a-exportmesh.png doc/salome/gui/SMESH/pics/a-extusionalongapath2.png doc/salome/gui/SMESH/pics/a-filteronedges.png doc/salome/gui/SMESH/pics/a-maxelarea.png doc/salome/gui/SMESH/pics/a-maxelvolume.png doc/salome/gui/SMESH/pics/a-nbsegments1.png doc/salome/gui/SMESH/pics/a-nbsegments2.png doc/salome/gui/SMESH/pics/a-nbsegments3.png doc/salome/gui/SMESH/pics/a-nbsegments4.png doc/salome/gui/SMESH/pics/a-patterntype.png doc/salome/gui/SMESH/pics/a-patterntype1.png doc/salome/gui/SMESH/pics/a-standmeshinfo.png doc/salome/gui/SMESH/pics/a-startendlength.png doc/salome/gui/SMESH/pics/a-transparency.png doc/salome/gui/SMESH/pics/a-unionoftriangles.png doc/salome/gui/SMESH/pics/a-viewgeneral.png doc/salome/gui/SMESH/pics/add_edge.png doc/salome/gui/SMESH/pics/add_node.png doc/salome/gui/SMESH/pics/add_polygone.png doc/salome/gui/SMESH/pics/add_polyhedron.png doc/salome/gui/SMESH/pics/add_quadrangle.png doc/salome/gui/SMESH/pics/add_triangle.png doc/salome/gui/SMESH/pics/addedge.png doc/salome/gui/SMESH/pics/addhexahedron.png doc/salome/gui/SMESH/pics/addnode.png doc/salome/gui/SMESH/pics/addpolygon.png doc/salome/gui/SMESH/pics/addquadrangle.png doc/salome/gui/SMESH/pics/addtetrahedron.png doc/salome/gui/SMESH/pics/addtriangle.png doc/salome/gui/SMESH/pics/b-art_end_length.png doc/salome/gui/SMESH/pics/b-create_group.png doc/salome/gui/SMESH/pics/b-erage_length.png doc/salome/gui/SMESH/pics/b-flection1d.png doc/salome/gui/SMESH/pics/b-ithmetic1d.png doc/salome/gui/SMESH/pics/b-mberofsegments.png doc/salome/gui/SMESH/pics/b-mesh_infos.png doc/salome/gui/SMESH/pics/borders_at_multi_connections1.png doc/salome/gui/SMESH/pics/c-createmesh.png doc/salome/gui/SMESH/pics/c-editmesh.png doc/salome/gui/SMESH/pics/create_group.png doc/salome/gui/SMESH/pics/creategroup.png doc/salome/gui/SMESH/pics/cut_groups1.png doc/salome/gui/SMESH/pics/cut_groups2.png doc/salome/gui/SMESH/pics/cut_groups3.png doc/salome/gui/SMESH/pics/cutgroups.png doc/salome/gui/SMESH/pics/deletegroups.png doc/salome/gui/SMESH/pics/diagonalinversion.png doc/salome/gui/SMESH/pics/edit_mesh1.png doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png doc/salome/gui/SMESH/pics/editgroup.png doc/salome/gui/SMESH/pics/editing_groups1.png doc/salome/gui/SMESH/pics/editing_groups2.png doc/salome/gui/SMESH/pics/extrusionalongaline1.png doc/salome/gui/SMESH/pics/extrusionalongaline2.png doc/salome/gui/SMESH/pics/free_borders1.png doc/salome/gui/SMESH/pics/free_edges.png doc/salome/gui/SMESH/pics/importmesh.png doc/salome/gui/SMESH/pics/intersect_groups1.png doc/salome/gui/SMESH/pics/intersect_groups2.png doc/salome/gui/SMESH/pics/intersect_groups3.png doc/salome/gui/SMESH/pics/intersectgroups.png doc/salome/gui/SMESH/pics/length1.png doc/salome/gui/SMESH/pics/length2d.png doc/salome/gui/SMESH/pics/max_el_area.png doc/salome/gui/SMESH/pics/mergenodes.png doc/salome/gui/SMESH/pics/merging_nodes1.png doc/salome/gui/SMESH/pics/merging_nodes2.png doc/salome/gui/SMESH/pics/movenodes.png doc/salome/gui/SMESH/pics/moving_nodes1.png doc/salome/gui/SMESH/pics/moving_nodes2.png doc/salome/gui/SMESH/pics/orientaation1.png doc/salome/gui/SMESH/pics/patternmapping1.png doc/salome/gui/SMESH/pics/patternmapping2.png doc/salome/gui/SMESH/pics/remove_elements1.png doc/salome/gui/SMESH/pics/remove_elements2.png doc/salome/gui/SMESH/pics/remove_nodes1.png doc/salome/gui/SMESH/pics/remove_nodes2.png doc/salome/gui/SMESH/pics/removeelements.png doc/salome/gui/SMESH/pics/removenodes.png doc/salome/gui/SMESH/pics/renumberelements.png doc/salome/gui/SMESH/pics/renumbernodes.png doc/salome/gui/SMESH/pics/revolution1.png doc/salome/gui/SMESH/pics/revolution2.png doc/salome/gui/SMESH/pics/rotation.png doc/salome/gui/SMESH/pics/rotation1.png doc/salome/gui/SMESH/pics/rotation2.png doc/salome/gui/SMESH/pics/selectionfilterlibrary.png doc/salome/gui/SMESH/pics/sewing1.png doc/salome/gui/SMESH/pics/sewing2.png doc/salome/gui/SMESH/pics/sewing3.png doc/salome/gui/SMESH/pics/sewing4.png doc/salome/gui/SMESH/pics/smoothing.png doc/salome/gui/SMESH/pics/smoothing1.png doc/salome/gui/SMESH/pics/smoothing2.png doc/salome/gui/SMESH/pics/submeshconstruction.png doc/salome/gui/SMESH/pics/symmetry1.png doc/salome/gui/SMESH/pics/symmetry2.png doc/salome/gui/SMESH/pics/symmetry3.png doc/salome/gui/SMESH/pics/translation1.png doc/salome/gui/SMESH/pics/translation2.png doc/salome/gui/SMESH/pics/union_groups1.png doc/salome/gui/SMESH/pics/union_groups2.png doc/salome/gui/SMESH/pics/union_groups3.png doc/salome/gui/SMESH/pics/uniongroups.png doc/salome/gui/SMESH/pics/unionoftwotriangles.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png doc/salome/gui/SMESH/pics/uniting_two_triangles1.png doc/salome/gui/SMESH/pics/uniting_two_triangles2.png doc/salome/gui/SMESH/presentation.htm doc/salome/gui/SMESH/quality_controls.htm doc/salome/gui/SMESH/revolution.htm doc/salome/gui/SMESH/selection_filter_library.htm doc/salome/gui/SMESH/smesh.htm doc/salome/gui/SMESH/smesh.log doc/salome/gui/SMESH/smesh_csh.htm doc/salome/gui/SMESH/smesh_rhc.htm doc/salome/gui/SMESH/transforming_meshes.htm doc/salome/gui/SMESH/transparency.htm doc/salome/gui/SMESH/viewing_meshes.htm doc/salome/gui/SMESH/webhelp.cab doc/salome/gui/SMESH/webhelp.jar doc/salome/gui/SMESH/whcsh_home.htm doc/salome/gui/SMESH/whcshdata.htm doc/salome/gui/SMESH/whdata/whftdata.js doc/salome/gui/SMESH/whdata/whftdata0.htm doc/salome/gui/SMESH/whdata/whfts.htm doc/salome/gui/SMESH/whdata/whfts.js doc/salome/gui/SMESH/whdata/whfwdata.js doc/salome/gui/SMESH/whdata/whfwdata0.htm doc/salome/gui/SMESH/whdata/whgdata.js doc/salome/gui/SMESH/whdata/whgdata0.htm doc/salome/gui/SMESH/whdata/whglo.htm doc/salome/gui/SMESH/whdata/whglo.js doc/salome/gui/SMESH/whdata/whidata.js doc/salome/gui/SMESH/whdata/whidx.htm doc/salome/gui/SMESH/whdata/whidx.js doc/salome/gui/SMESH/whdata/whtdata.js doc/salome/gui/SMESH/whdata/whtdata0.htm doc/salome/gui/SMESH/whdata/whtoc.htm doc/salome/gui/SMESH/whdata/whtoc.js doc/salome/gui/SMESH/whfbody.htm doc/salome/gui/SMESH/whfdhtml.htm doc/salome/gui/SMESH/whfform.htm doc/salome/gui/SMESH/whfhost.js doc/salome/gui/SMESH/whform.js doc/salome/gui/SMESH/whframes.js doc/salome/gui/SMESH/whgbody.htm doc/salome/gui/SMESH/whgdata/whlstf0.htm doc/salome/gui/SMESH/whgdata/whlstf1.htm doc/salome/gui/SMESH/whgdata/whlstf10.htm doc/salome/gui/SMESH/whgdata/whlstf11.htm doc/salome/gui/SMESH/whgdata/whlstf12.htm doc/salome/gui/SMESH/whgdata/whlstf2.htm doc/salome/gui/SMESH/whgdata/whlstf3.htm doc/salome/gui/SMESH/whgdata/whlstf4.htm doc/salome/gui/SMESH/whgdata/whlstf5.htm doc/salome/gui/SMESH/whgdata/whlstf6.htm doc/salome/gui/SMESH/whgdata/whlstf7.htm doc/salome/gui/SMESH/whgdata/whlstf8.htm doc/salome/gui/SMESH/whgdata/whlstf9.htm doc/salome/gui/SMESH/whgdata/whlstfl0.htm doc/salome/gui/SMESH/whgdata/whlstfl1.htm doc/salome/gui/SMESH/whgdata/whlstfl10.htm doc/salome/gui/SMESH/whgdata/whlstfl11.htm doc/salome/gui/SMESH/whgdata/whlstfl12.htm doc/salome/gui/SMESH/whgdata/whlstfl13.htm doc/salome/gui/SMESH/whgdata/whlstfl14.htm doc/salome/gui/SMESH/whgdata/whlstfl15.htm doc/salome/gui/SMESH/whgdata/whlstfl16.htm doc/salome/gui/SMESH/whgdata/whlstfl17.htm doc/salome/gui/SMESH/whgdata/whlstfl18.htm doc/salome/gui/SMESH/whgdata/whlstfl19.htm doc/salome/gui/SMESH/whgdata/whlstfl2.htm doc/salome/gui/SMESH/whgdata/whlstfl20.htm doc/salome/gui/SMESH/whgdata/whlstfl21.htm doc/salome/gui/SMESH/whgdata/whlstfl22.htm doc/salome/gui/SMESH/whgdata/whlstfl23.htm doc/salome/gui/SMESH/whgdata/whlstfl24.htm doc/salome/gui/SMESH/whgdata/whlstfl25.htm doc/salome/gui/SMESH/whgdata/whlstfl3.htm doc/salome/gui/SMESH/whgdata/whlstfl4.htm doc/salome/gui/SMESH/whgdata/whlstfl5.htm doc/salome/gui/SMESH/whgdata/whlstfl6.htm doc/salome/gui/SMESH/whgdata/whlstfl7.htm doc/salome/gui/SMESH/whgdata/whlstfl8.htm doc/salome/gui/SMESH/whgdata/whlstfl9.htm doc/salome/gui/SMESH/whgdata/whlstg0.htm doc/salome/gui/SMESH/whgdata/whlsti0.htm doc/salome/gui/SMESH/whgdata/whlstt0.htm doc/salome/gui/SMESH/whgdata/whlstt1.htm doc/salome/gui/SMESH/whgdata/whlstt2.htm doc/salome/gui/SMESH/whgdata/whlstt3.htm doc/salome/gui/SMESH/whgdata/whlstt4.htm doc/salome/gui/SMESH/whgdata/whlstt5.htm doc/salome/gui/SMESH/whgdata/whlstt6.htm doc/salome/gui/SMESH/whgdata/whlstt7.htm doc/salome/gui/SMESH/whgdata/whlstt8.htm doc/salome/gui/SMESH/whgdata/whlstt9.htm doc/salome/gui/SMESH/whgdata/whnvf30.htm doc/salome/gui/SMESH/whgdata/whnvf31.htm doc/salome/gui/SMESH/whgdata/whnvf32.htm doc/salome/gui/SMESH/whgdata/whnvf33.htm doc/salome/gui/SMESH/whgdata/whnvl31.htm doc/salome/gui/SMESH/whgdata/whnvl32.htm doc/salome/gui/SMESH/whgdata/whnvl33.htm doc/salome/gui/SMESH/whgdata/whnvp30.htm doc/salome/gui/SMESH/whgdata/whnvp31.htm doc/salome/gui/SMESH/whgdata/whnvp32.htm doc/salome/gui/SMESH/whgdata/whnvp33.htm doc/salome/gui/SMESH/whgdata/whnvt30.htm doc/salome/gui/SMESH/whgdata/whnvt31.htm doc/salome/gui/SMESH/whgdata/whnvt32.htm doc/salome/gui/SMESH/whgdata/whnvt33.htm doc/salome/gui/SMESH/whgdef.htm doc/salome/gui/SMESH/whgdhtml.htm doc/salome/gui/SMESH/whghost.js doc/salome/gui/SMESH/whhost.js doc/salome/gui/SMESH/whibody.htm doc/salome/gui/SMESH/whidhtml.htm doc/salome/gui/SMESH/whiform.htm doc/salome/gui/SMESH/whihost.js doc/salome/gui/SMESH/whlang.js doc/salome/gui/SMESH/whmozemu.js doc/salome/gui/SMESH/whmsg.js doc/salome/gui/SMESH/whnjs.htm doc/salome/gui/SMESH/whphost.js doc/salome/gui/SMESH/whproj.htm doc/salome/gui/SMESH/whproj.js doc/salome/gui/SMESH/whproj.xml doc/salome/gui/SMESH/whproxy.js doc/salome/gui/SMESH/whres.xml doc/salome/gui/SMESH/whskin_banner.htm doc/salome/gui/SMESH/whskin_blank.htm doc/salome/gui/SMESH/whskin_frmset01.htm doc/salome/gui/SMESH/whskin_frmset010.htm doc/salome/gui/SMESH/whskin_homepage.htm doc/salome/gui/SMESH/whskin_info.htm doc/salome/gui/SMESH/whskin_mbars.htm doc/salome/gui/SMESH/whskin_papplet.htm doc/salome/gui/SMESH/whskin_pdhtml.htm doc/salome/gui/SMESH/whskin_pickup.htm doc/salome/gui/SMESH/whskin_plist.htm doc/salome/gui/SMESH/whskin_tbars.htm doc/salome/gui/SMESH/whskin_tw.htm doc/salome/gui/SMESH/whst_topics.xml doc/salome/gui/SMESH/whstart.js doc/salome/gui/SMESH/whstub.js doc/salome/gui/SMESH/wht_abge.jpg doc/salome/gui/SMESH/wht_abgi.jpg doc/salome/gui/SMESH/wht_abgw.jpg doc/salome/gui/SMESH/wht_abte.jpg doc/salome/gui/SMESH/wht_abti.jpg doc/salome/gui/SMESH/wht_abtw.jpg doc/salome/gui/SMESH/whtbar.js doc/salome/gui/SMESH/whtdhtml.htm doc/salome/gui/SMESH/whthost.js doc/salome/gui/SMESH/whtopic.js doc/salome/gui/SMESH/whutils.js doc/salome/gui/SMESH/whver.js doc/salome/gui/SMESH/whxdata/whftdata0.xml doc/salome/gui/SMESH/whxdata/whfts.xml doc/salome/gui/SMESH/whxdata/whfwdata0.xml doc/salome/gui/SMESH/whxdata/whgdata0.xml doc/salome/gui/SMESH/whxdata/whglo.xml doc/salome/gui/SMESH/whxdata/whidx.xml doc/salome/gui/SMESH/whxdata/whtdata0.xml doc/salome/gui/SMESH/whxdata/whtoc.xml doc/salome/tui/SMESH/doxyfile doc/salome/tui/SMESH/doxyfile_py doc/salome/tui/SMESH/sources/static/tree.js idl/SMESH_BasicHypothesis.idl idl/SMESH_Filter.idl idl/SMESH_Gen.idl idl/SMESH_Mesh.idl resources/SMESHCatalog.xml resources/StdMeshers.xml resources/mesh_volume_3d.png src/Controls/SMESH_Controls.cxx src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx src/MEFISTO2/Makefile.in src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cxx src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx src/SMDS/SMDS_VolumeTool.cxx src/SMESH/Makefile.in src/SMESH/SMESH_Algo.cxx src/SMESH/SMESH_Algo.hxx src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx src/SMESH/SMESH_Gen.cxx src/SMESH/SMESH_Gen.hxx src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx src/SMESH/SMESH_MeshEditor.cxx src/SMESH/SMESH_MeshEditor.hxx src/SMESH/SMESH_Pattern.cxx src/SMESH/SMESH_Pattern.hxx src/SMESH/SMESH_SequenceOfElemPtr.hxx src/SMESH/SMESH_SequenceOfNode.hxx src/SMESH/SMESH_subMesh.cxx src/SMESHDS/SMESHDS_Mesh.hxx src/SMESHFiltersSelection/SMESH_LogicalFilter.cxx src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx src/SMESHFiltersSelection/SMESH_NumberFilter.cxx src/SMESHFiltersSelection/SMESH_NumberFilter.hxx src/SMESHFiltersSelection/SMESH_Type.h src/SMESHFiltersSelection/SMESH_TypeFilter.cxx src/SMESHFiltersSelection/SMESH_TypeFilter.hxx src/SMESHFiltersSelection/SMESH_TypeFilter.jxx src/SMESHGUI/Makefile.in src/SMESHGUI/SMESHBin.cxx src/SMESHGUI/SMESHGUI.h src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h src/SMESHGUI/SMESHGUI_ClippingDlg.cxx src/SMESHGUI/SMESHGUI_ClippingDlg.h src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.h src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.cxx src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.h src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx src/SMESHGUI/SMESHGUI_DeleteGroupDlg.h src/SMESHGUI/SMESHGUI_Dialog.cxx src/SMESHGUI/SMESHGUI_Dialog.h src/SMESHGUI/SMESHGUI_Displayer.cxx src/SMESHGUI/SMESHGUI_Displayer.h src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx src/SMESHGUI/SMESHGUI_EditMeshDlg.h src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionDlg.h src/SMESHGUI/SMESHGUI_FilterDlg.h src/SMESHGUI/SMESHGUI_GroupDlg.h src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx src/SMESHGUI/SMESHGUI_GroupOpDlg.h src/SMESHGUI/SMESHGUI_Hypotheses.cxx src/SMESHGUI/SMESHGUI_Hypotheses.h src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx src/SMESHGUI/SMESHGUI_HypothesesUtils.h src/SMESHGUI/SMESHGUI_MergeNodesDlg.cxx src/SMESHGUI/SMESHGUI_MergeNodesDlg.h src/SMESHGUI/SMESHGUI_MeshDlg.cxx src/SMESHGUI/SMESHGUI_MeshDlg.h src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_MeshInfosDlg.h src/SMESHGUI/SMESHGUI_MeshOp.cxx src/SMESHGUI/SMESHGUI_MeshOp.h src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx src/SMESHGUI/SMESHGUI_MeshPatternDlg.h src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx src/SMESHGUI/SMESHGUI_MoveNodesDlg.h src/SMESHGUI/SMESHGUI_MultiEditDlg.h src/SMESHGUI/SMESHGUI_NodesDlg.cxx src/SMESHGUI/SMESHGUI_NodesDlg.h src/SMESHGUI/SMESHGUI_Operation.cxx src/SMESHGUI/SMESHGUI_Operation.h src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.cxx src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h src/SMESHGUI/SMESHGUI_RemoveNodesDlg.h src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx src/SMESHGUI/SMESHGUI_RenumberingDlg.h src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx src/SMESHGUI/SMESHGUI_RevolutionDlg.h src/SMESHGUI/SMESHGUI_RotationDlg.cxx src/SMESHGUI/SMESHGUI_RotationDlg.h src/SMESHGUI/SMESHGUI_Selection.h src/SMESHGUI/SMESHGUI_SelectionOp.cxx src/SMESHGUI/SMESHGUI_SelectionOp.h src/SMESHGUI/SMESHGUI_SewingDlg.cxx src/SMESHGUI/SMESHGUI_SewingDlg.h src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx src/SMESHGUI/SMESHGUI_SingleEditDlg.h src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx src/SMESHGUI/SMESHGUI_SmoothingDlg.h src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx src/SMESHGUI/SMESHGUI_SymmetryDlg.h src/SMESHGUI/SMESHGUI_TranslationDlg.cxx src/SMESHGUI/SMESHGUI_TranslationDlg.h src/SMESHGUI/SMESHGUI_TransparencyDlg.cxx src/SMESHGUI/SMESHGUI_TransparencyDlg.h src/SMESHGUI/SMESHGUI_Utils.cxx src/SMESHGUI/SMESHGUI_Utils.h src/SMESHGUI/SMESHGUI_XmlHandler.cxx src/SMESHGUI/SMESHGUI_XmlHandler.h src/SMESHGUI/SMESHGUI_aParameter.h src/SMESHGUI/SMESH_images.po src/SMESHGUI/SMESH_msg_en.po src/SMESH_I/SMESH_2smeshpy.cxx src/SMESH_I/SMESH_2smeshpy.hxx src/SMESH_I/SMESH_DumpPython.cxx src/SMESH_I/SMESH_Filter_i.cxx src/SMESH_I/SMESH_Filter_i.hxx src/SMESH_I/SMESH_Gen_i.cxx src/SMESH_I/SMESH_Gen_i.hxx src/SMESH_I/SMESH_Group_i.cxx src/SMESH_I/SMESH_MeshEditor_i.cxx src/SMESH_I/SMESH_MeshEditor_i.hxx src/SMESH_I/SMESH_Mesh_i.cxx src/SMESH_I/SMESH_Pattern_i.cxx src/SMESH_I/SMESH_PythonDump.hxx src/SMESH_SWIG/SMESH_reg.py src/SMESH_SWIG/smesh.py src/StdMeshers/Makefile.in src/StdMeshers/StdMeshers_AutomaticLength.cxx src/StdMeshers/StdMeshers_AutomaticLength.hxx src/StdMeshers/StdMeshers_Distribution.cxx src/StdMeshers/StdMeshers_Distribution.hxx src/StdMeshers/StdMeshers_NumberOfSegments.cxx src/StdMeshers/StdMeshers_NumberOfSegments.hxx src/StdMeshers/StdMeshers_QuadranglePreference.cxx src/StdMeshers/StdMeshers_QuadranglePreference.hxx src/StdMeshers/StdMeshers_Quadrangle_2D.cxx src/StdMeshers/StdMeshers_Quadrangle_2D.hxx src/StdMeshers/StdMeshers_Regular_1D.cxx src/StdMeshers/StdMeshers_Regular_1D.hxx src/StdMeshersGUI/Makefile.in src/StdMeshersGUI/StdMeshersGUI.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.h src/StdMeshersGUI/StdMeshersGUI_DistrTable.cxx src/StdMeshersGUI/StdMeshersGUI_DistrTable.h src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.h src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.h src/StdMeshersGUI/StdMeshers_images.po src/StdMeshersGUI/StdMeshers_msg_en.po src/StdMeshers_I/Makefile.in src/StdMeshers_I/StdMeshers_Arithmetic1D_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.hxx src/StdMeshers_I/StdMeshers_Deflection1D_i.cxx src/StdMeshers_I/StdMeshers_LocalLength_i.cxx src/StdMeshers_I/StdMeshers_MaxElementArea_i.cxx src/StdMeshers_I/StdMeshers_MaxElementVolume_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.hxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.cxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.hxx src/StdMeshers_I/StdMeshers_StartEndLength_i.cxx src/StdMeshers_I/StdMeshers_i.cxx
2005-12-28 09:17:41 +00:00
#include "SMDS_MeshElement.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include <BRep_Tool.hxx>
#include <GCPnts_AbscissaPoint.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <Geom_Surface.hxx>
#include <TopLoc_Location.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_ListOfShape.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Face.hxx>
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
#include <gp_Vec.hxx>
#include "utilities.h"
#include <algorithm>
//=============================================================================
/*!
*
*/
//=============================================================================
SMESH_Algo::SMESH_Algo(int hypId, int studyId,
SMESH_Gen * gen):SMESH_Hypothesis(hypId, studyId, gen)
{
// _compatibleHypothesis.push_back("hypothese_bidon");
_type = ALGO;
gen->_mapAlgo[hypId] = this;
_onlyUnaryInput = _requireDescretBoundary = true;
}
//=============================================================================
/*!
*
*/
//=============================================================================
SMESH_Algo::~SMESH_Algo()
{
}
//=============================================================================
/*!
*
*/
//=============================================================================
const vector < string > &SMESH_Algo::GetCompatibleHypothesis()
{
return _compatibleHypothesis;
}
//=============================================================================
/*!
* List the hypothesis used by the algorithm associated to the shape.
* Hypothesis associated to father shape -are- taken into account (see
* GetAppliedHypothesis). Relevant hypothesis have a name (type) listed in
* the algorithm. This method could be surcharged by specific algorithms, in
* case of several hypothesis simultaneously applicable.
*/
//=============================================================================
const list <const SMESHDS_Hypothesis *> & SMESH_Algo::GetUsedHypothesis(
SMESH_Mesh & aMesh, const TopoDS_Shape & aShape)
{
_usedHypList.clear();
if ( !_compatibleHypothesis.empty() )
{
SMESH_HypoFilter filter( SMESH_HypoFilter::HasName( _compatibleHypothesis[0] ));
for ( int i = 1; i < _compatibleHypothesis.size(); ++i )
filter.Or( filter.HasName( _compatibleHypothesis[ i ] ));
aMesh.GetHypotheses( aShape, filter, _usedHypList, true );
if ( _usedHypList.size() > 1 )
_usedHypList.clear(); //only one compatible hypothesis allowed
}
return _usedHypList;
}
//=============================================================================
/*!
* List the relevant hypothesis associated to the shape. Relevant hypothesis
* have a name (type) listed in the algorithm. Hypothesis associated to
* father shape -are not- taken into account (see GetUsedHypothesis)
*/
//=============================================================================
const list<const SMESHDS_Hypothesis *> & SMESH_Algo::GetAppliedHypothesis(
SMESH_Mesh & aMesh, const TopoDS_Shape & aShape)
{
_appliedHypList.clear();
if ( !_compatibleHypothesis.empty() )
{
SMESH_HypoFilter filter( SMESH_HypoFilter::HasName( _compatibleHypothesis[0] ));
for ( int i = 1; i < _compatibleHypothesis.size(); ++i )
filter.Or( filter.HasName( _compatibleHypothesis[ i ] ));
aMesh.GetHypotheses( aShape, filter, _appliedHypList, false );
}
return _appliedHypList;
}
//=============================================================================
/*!
* Compute length of an edge
*/
//=============================================================================
double SMESH_Algo::EdgeLength(const TopoDS_Edge & E)
{
double UMin = 0, UMax = 0;
if (BRep_Tool::Degenerated(E))
return 0;
TopLoc_Location L;
Handle(Geom_Curve) C = BRep_Tool::Curve(E, L, UMin, UMax);
GeomAdaptor_Curve AdaptCurve(C);
GCPnts_AbscissaPoint gabs;
double length = gabs.Length(AdaptCurve, UMin, UMax);
return length;
This commit was generated by cvs2git to create branch 'BR-D5-38-2003'. Cherrypick from master 2005-12-28 09:17:39 UTC jfa <jfa@opencascade.com> 'Join modifications from branch BR_3_1_0deb': INSTALL Makefile.in adm_local/unix/make_commence.in bin/VERSION build_configure configure.in.base doc/salome/Makefile.in doc/salome/SMESH_index_v3.1.0.html doc/salome/gui/SMESH/about_viewing_meshes.htm doc/salome/gui/SMESH/aspect_ratio_3d.htm doc/salome/gui/SMESH/borders_at_multi-connection.htm doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm doc/salome/gui/SMESH/clipping.htm doc/salome/gui/SMESH/constructing_meshes.htm doc/salome/gui/SMESH/cshdat_robohelp.htm doc/salome/gui/SMESH/cshdat_webhelp.htm doc/salome/gui/SMESH/default.css doc/salome/gui/SMESH/default_ns.css doc/salome/gui/SMESH/defining_hypotheses_tui.htm doc/salome/gui/SMESH/deleting_groups.htm doc/salome/gui/SMESH/display_entity.htm doc/salome/gui/SMESH/ehelp.xml doc/salome/gui/SMESH/ehlpdhtm.js doc/salome/gui/SMESH/extrusion.htm doc/salome/gui/SMESH/extrusion_along_a_path.htm doc/salome/gui/SMESH/files/about_hypotheses.htm doc/salome/gui/SMESH/files/about_meshes.htm doc/salome/gui/SMESH/files/about_meshing_algorithms.htm doc/salome/gui/SMESH/files/about_quality_controls.htm doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm doc/salome/gui/SMESH/files/area_of_elements.htm doc/salome/gui/SMESH/files/arithmetic_1d.htm doc/salome/gui/SMESH/files/aspect_ratio.htm doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm doc/salome/gui/SMESH/files/constructing_meshes.htm doc/salome/gui/SMESH/files/constructing_submeshes.htm doc/salome/gui/SMESH/files/creating_groups.htm doc/salome/gui/SMESH/files/cutting_quadrangles.htm doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm doc/salome/gui/SMESH/files/displacing_nodes.htm doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm doc/salome/gui/SMESH/files/editing_groups.htm doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm doc/salome/gui/SMESH/files/introduction_to_smesh.htm doc/salome/gui/SMESH/files/length_of_edges.htm doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm doc/salome/gui/SMESH/files/merging_nodes.htm doc/salome/gui/SMESH/files/minimum_angle.htm doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm doc/salome/gui/SMESH/files/rotation.htm doc/salome/gui/SMESH/files/running_smesh_module.htm doc/salome/gui/SMESH/files/sewing_meshes.htm doc/salome/gui/SMESH/files/skew.htm doc/salome/gui/SMESH/files/smoothing.htm doc/salome/gui/SMESH/files/symmetry.htm doc/salome/gui/SMESH/files/taper.htm doc/salome/gui/SMESH/files/translation.htm doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm doc/salome/gui/SMESH/files/uniting_two_triangles.htm doc/salome/gui/SMESH/files/using_operations_on_groups.htm doc/salome/gui/SMESH/files/viewing_mesh_info.htm doc/salome/gui/SMESH/files/warp.htm doc/salome/gui/SMESH/free_borders.htm doc/salome/gui/SMESH/free_edges.htm doc/salome/gui/SMESH/grouping_elements.htm doc/salome/gui/SMESH/image10.jpg doc/salome/gui/SMESH/image101.gif doc/salome/gui/SMESH/image102.gif doc/salome/gui/SMESH/image103.gif doc/salome/gui/SMESH/image104.gif doc/salome/gui/SMESH/image105.gif doc/salome/gui/SMESH/image106.gif doc/salome/gui/SMESH/image108.gif doc/salome/gui/SMESH/image119.gif doc/salome/gui/SMESH/image120.gif doc/salome/gui/SMESH/image121.gif doc/salome/gui/SMESH/image122.gif doc/salome/gui/SMESH/image123.gif doc/salome/gui/SMESH/image124.gif doc/salome/gui/SMESH/image125.gif doc/salome/gui/SMESH/image126.gif doc/salome/gui/SMESH/image127.gif doc/salome/gui/SMESH/image129.gif doc/salome/gui/SMESH/image130.gif doc/salome/gui/SMESH/image131.gif doc/salome/gui/SMESH/image132.gif doc/salome/gui/SMESH/image133.gif doc/salome/gui/SMESH/image134.gif doc/salome/gui/SMESH/image135.gif doc/salome/gui/SMESH/image136.gif doc/salome/gui/SMESH/image137.gif doc/salome/gui/SMESH/image138.gif doc/salome/gui/SMESH/image139.gif doc/salome/gui/SMESH/image18.gif doc/salome/gui/SMESH/image19.gif doc/salome/gui/SMESH/image19.jpg doc/salome/gui/SMESH/image20.gif doc/salome/gui/SMESH/image21.gif doc/salome/gui/SMESH/image23.gif doc/salome/gui/SMESH/image27.gif doc/salome/gui/SMESH/image30.gif doc/salome/gui/SMESH/image37.jpg doc/salome/gui/SMESH/image49.gif doc/salome/gui/SMESH/image5.jpg doc/salome/gui/SMESH/image50.gif doc/salome/gui/SMESH/image53.gif doc/salome/gui/SMESH/image55.gif doc/salome/gui/SMESH/image56.gif doc/salome/gui/SMESH/image56.jpg doc/salome/gui/SMESH/image58.gif doc/salome/gui/SMESH/image7.jpg doc/salome/gui/SMESH/image79.jpg doc/salome/gui/SMESH/image86.jpg doc/salome/gui/SMESH/image88.jpg doc/salome/gui/SMESH/image90.jpg doc/salome/gui/SMESH/image92.jpg doc/salome/gui/SMESH/image93.jpg doc/salome/gui/SMESH/image94.jpg doc/salome/gui/SMESH/image95.jpg doc/salome/gui/SMESH/image96.jpg doc/salome/gui/SMESH/image97.jpg doc/salome/gui/SMESH/image99.gif doc/salome/gui/SMESH/length.htm doc/salome/gui/SMESH/modifying_meshes.htm doc/salome/gui/SMESH/pattern_mapping.htm doc/salome/gui/SMESH/pics/a-advmeshinfo.png doc/salome/gui/SMESH/pics/a-arithmetic1d.png doc/salome/gui/SMESH/pics/a-averagelength.png doc/salome/gui/SMESH/pics/a-clipping2.png doc/salome/gui/SMESH/pics/a-creategroup.png doc/salome/gui/SMESH/pics/a-createmesh1.png doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png doc/salome/gui/SMESH/pics/a-deflection1d.png doc/salome/gui/SMESH/pics/a-editmesh.png doc/salome/gui/SMESH/pics/a-exportmesh.png doc/salome/gui/SMESH/pics/a-extusionalongapath2.png doc/salome/gui/SMESH/pics/a-filteronedges.png doc/salome/gui/SMESH/pics/a-maxelarea.png doc/salome/gui/SMESH/pics/a-maxelvolume.png doc/salome/gui/SMESH/pics/a-nbsegments1.png doc/salome/gui/SMESH/pics/a-nbsegments2.png doc/salome/gui/SMESH/pics/a-nbsegments3.png doc/salome/gui/SMESH/pics/a-nbsegments4.png doc/salome/gui/SMESH/pics/a-patterntype.png doc/salome/gui/SMESH/pics/a-patterntype1.png doc/salome/gui/SMESH/pics/a-standmeshinfo.png doc/salome/gui/SMESH/pics/a-startendlength.png doc/salome/gui/SMESH/pics/a-transparency.png doc/salome/gui/SMESH/pics/a-unionoftriangles.png doc/salome/gui/SMESH/pics/a-viewgeneral.png doc/salome/gui/SMESH/pics/add_edge.png doc/salome/gui/SMESH/pics/add_node.png doc/salome/gui/SMESH/pics/add_polygone.png doc/salome/gui/SMESH/pics/add_polyhedron.png doc/salome/gui/SMESH/pics/add_quadrangle.png doc/salome/gui/SMESH/pics/add_triangle.png doc/salome/gui/SMESH/pics/addedge.png doc/salome/gui/SMESH/pics/addhexahedron.png doc/salome/gui/SMESH/pics/addnode.png doc/salome/gui/SMESH/pics/addpolygon.png doc/salome/gui/SMESH/pics/addquadrangle.png doc/salome/gui/SMESH/pics/addtetrahedron.png doc/salome/gui/SMESH/pics/addtriangle.png doc/salome/gui/SMESH/pics/b-art_end_length.png doc/salome/gui/SMESH/pics/b-create_group.png doc/salome/gui/SMESH/pics/b-erage_length.png doc/salome/gui/SMESH/pics/b-flection1d.png doc/salome/gui/SMESH/pics/b-ithmetic1d.png doc/salome/gui/SMESH/pics/b-mberofsegments.png doc/salome/gui/SMESH/pics/b-mesh_infos.png doc/salome/gui/SMESH/pics/borders_at_multi_connections1.png doc/salome/gui/SMESH/pics/c-createmesh.png doc/salome/gui/SMESH/pics/c-editmesh.png doc/salome/gui/SMESH/pics/create_group.png doc/salome/gui/SMESH/pics/creategroup.png doc/salome/gui/SMESH/pics/cut_groups1.png doc/salome/gui/SMESH/pics/cut_groups2.png doc/salome/gui/SMESH/pics/cut_groups3.png doc/salome/gui/SMESH/pics/cutgroups.png doc/salome/gui/SMESH/pics/deletegroups.png doc/salome/gui/SMESH/pics/diagonalinversion.png doc/salome/gui/SMESH/pics/edit_mesh1.png doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png doc/salome/gui/SMESH/pics/editgroup.png doc/salome/gui/SMESH/pics/editing_groups1.png doc/salome/gui/SMESH/pics/editing_groups2.png doc/salome/gui/SMESH/pics/extrusionalongaline1.png doc/salome/gui/SMESH/pics/extrusionalongaline2.png doc/salome/gui/SMESH/pics/free_borders1.png doc/salome/gui/SMESH/pics/free_edges.png doc/salome/gui/SMESH/pics/importmesh.png doc/salome/gui/SMESH/pics/intersect_groups1.png doc/salome/gui/SMESH/pics/intersect_groups2.png doc/salome/gui/SMESH/pics/intersect_groups3.png doc/salome/gui/SMESH/pics/intersectgroups.png doc/salome/gui/SMESH/pics/length1.png doc/salome/gui/SMESH/pics/length2d.png doc/salome/gui/SMESH/pics/max_el_area.png doc/salome/gui/SMESH/pics/mergenodes.png doc/salome/gui/SMESH/pics/merging_nodes1.png doc/salome/gui/SMESH/pics/merging_nodes2.png doc/salome/gui/SMESH/pics/movenodes.png doc/salome/gui/SMESH/pics/moving_nodes1.png doc/salome/gui/SMESH/pics/moving_nodes2.png doc/salome/gui/SMESH/pics/orientaation1.png doc/salome/gui/SMESH/pics/patternmapping1.png doc/salome/gui/SMESH/pics/patternmapping2.png doc/salome/gui/SMESH/pics/remove_elements1.png doc/salome/gui/SMESH/pics/remove_elements2.png doc/salome/gui/SMESH/pics/remove_nodes1.png doc/salome/gui/SMESH/pics/remove_nodes2.png doc/salome/gui/SMESH/pics/removeelements.png doc/salome/gui/SMESH/pics/removenodes.png doc/salome/gui/SMESH/pics/renumberelements.png doc/salome/gui/SMESH/pics/renumbernodes.png doc/salome/gui/SMESH/pics/revolution1.png doc/salome/gui/SMESH/pics/revolution2.png doc/salome/gui/SMESH/pics/rotation.png doc/salome/gui/SMESH/pics/rotation1.png doc/salome/gui/SMESH/pics/rotation2.png doc/salome/gui/SMESH/pics/selectionfilterlibrary.png doc/salome/gui/SMESH/pics/sewing1.png doc/salome/gui/SMESH/pics/sewing2.png doc/salome/gui/SMESH/pics/sewing3.png doc/salome/gui/SMESH/pics/sewing4.png doc/salome/gui/SMESH/pics/smoothing.png doc/salome/gui/SMESH/pics/smoothing1.png doc/salome/gui/SMESH/pics/smoothing2.png doc/salome/gui/SMESH/pics/submeshconstruction.png doc/salome/gui/SMESH/pics/symmetry1.png doc/salome/gui/SMESH/pics/symmetry2.png doc/salome/gui/SMESH/pics/symmetry3.png doc/salome/gui/SMESH/pics/translation1.png doc/salome/gui/SMESH/pics/translation2.png doc/salome/gui/SMESH/pics/union_groups1.png doc/salome/gui/SMESH/pics/union_groups2.png doc/salome/gui/SMESH/pics/union_groups3.png doc/salome/gui/SMESH/pics/uniongroups.png doc/salome/gui/SMESH/pics/unionoftwotriangles.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png doc/salome/gui/SMESH/pics/uniting_two_triangles1.png doc/salome/gui/SMESH/pics/uniting_two_triangles2.png doc/salome/gui/SMESH/presentation.htm doc/salome/gui/SMESH/quality_controls.htm doc/salome/gui/SMESH/revolution.htm doc/salome/gui/SMESH/selection_filter_library.htm doc/salome/gui/SMESH/smesh.htm doc/salome/gui/SMESH/smesh.log doc/salome/gui/SMESH/smesh_csh.htm doc/salome/gui/SMESH/smesh_rhc.htm doc/salome/gui/SMESH/transforming_meshes.htm doc/salome/gui/SMESH/transparency.htm doc/salome/gui/SMESH/viewing_meshes.htm doc/salome/gui/SMESH/webhelp.cab doc/salome/gui/SMESH/webhelp.jar doc/salome/gui/SMESH/whcsh_home.htm doc/salome/gui/SMESH/whcshdata.htm doc/salome/gui/SMESH/whdata/whftdata.js doc/salome/gui/SMESH/whdata/whftdata0.htm doc/salome/gui/SMESH/whdata/whfts.htm doc/salome/gui/SMESH/whdata/whfts.js doc/salome/gui/SMESH/whdata/whfwdata.js doc/salome/gui/SMESH/whdata/whfwdata0.htm doc/salome/gui/SMESH/whdata/whgdata.js doc/salome/gui/SMESH/whdata/whgdata0.htm doc/salome/gui/SMESH/whdata/whglo.htm doc/salome/gui/SMESH/whdata/whglo.js doc/salome/gui/SMESH/whdata/whidata.js doc/salome/gui/SMESH/whdata/whidx.htm doc/salome/gui/SMESH/whdata/whidx.js doc/salome/gui/SMESH/whdata/whtdata.js doc/salome/gui/SMESH/whdata/whtdata0.htm doc/salome/gui/SMESH/whdata/whtoc.htm doc/salome/gui/SMESH/whdata/whtoc.js doc/salome/gui/SMESH/whfbody.htm doc/salome/gui/SMESH/whfdhtml.htm doc/salome/gui/SMESH/whfform.htm doc/salome/gui/SMESH/whfhost.js doc/salome/gui/SMESH/whform.js doc/salome/gui/SMESH/whframes.js doc/salome/gui/SMESH/whgbody.htm doc/salome/gui/SMESH/whgdata/whlstf0.htm doc/salome/gui/SMESH/whgdata/whlstf1.htm doc/salome/gui/SMESH/whgdata/whlstf10.htm doc/salome/gui/SMESH/whgdata/whlstf11.htm doc/salome/gui/SMESH/whgdata/whlstf12.htm doc/salome/gui/SMESH/whgdata/whlstf2.htm doc/salome/gui/SMESH/whgdata/whlstf3.htm doc/salome/gui/SMESH/whgdata/whlstf4.htm doc/salome/gui/SMESH/whgdata/whlstf5.htm doc/salome/gui/SMESH/whgdata/whlstf6.htm doc/salome/gui/SMESH/whgdata/whlstf7.htm doc/salome/gui/SMESH/whgdata/whlstf8.htm doc/salome/gui/SMESH/whgdata/whlstf9.htm doc/salome/gui/SMESH/whgdata/whlstfl0.htm doc/salome/gui/SMESH/whgdata/whlstfl1.htm doc/salome/gui/SMESH/whgdata/whlstfl10.htm doc/salome/gui/SMESH/whgdata/whlstfl11.htm doc/salome/gui/SMESH/whgdata/whlstfl12.htm doc/salome/gui/SMESH/whgdata/whlstfl13.htm doc/salome/gui/SMESH/whgdata/whlstfl14.htm doc/salome/gui/SMESH/whgdata/whlstfl15.htm doc/salome/gui/SMESH/whgdata/whlstfl16.htm doc/salome/gui/SMESH/whgdata/whlstfl17.htm doc/salome/gui/SMESH/whgdata/whlstfl18.htm doc/salome/gui/SMESH/whgdata/whlstfl19.htm doc/salome/gui/SMESH/whgdata/whlstfl2.htm doc/salome/gui/SMESH/whgdata/whlstfl20.htm doc/salome/gui/SMESH/whgdata/whlstfl21.htm doc/salome/gui/SMESH/whgdata/whlstfl22.htm doc/salome/gui/SMESH/whgdata/whlstfl23.htm doc/salome/gui/SMESH/whgdata/whlstfl24.htm doc/salome/gui/SMESH/whgdata/whlstfl25.htm doc/salome/gui/SMESH/whgdata/whlstfl3.htm doc/salome/gui/SMESH/whgdata/whlstfl4.htm doc/salome/gui/SMESH/whgdata/whlstfl5.htm doc/salome/gui/SMESH/whgdata/whlstfl6.htm doc/salome/gui/SMESH/whgdata/whlstfl7.htm doc/salome/gui/SMESH/whgdata/whlstfl8.htm doc/salome/gui/SMESH/whgdata/whlstfl9.htm doc/salome/gui/SMESH/whgdata/whlstg0.htm doc/salome/gui/SMESH/whgdata/whlsti0.htm doc/salome/gui/SMESH/whgdata/whlstt0.htm doc/salome/gui/SMESH/whgdata/whlstt1.htm doc/salome/gui/SMESH/whgdata/whlstt2.htm doc/salome/gui/SMESH/whgdata/whlstt3.htm doc/salome/gui/SMESH/whgdata/whlstt4.htm doc/salome/gui/SMESH/whgdata/whlstt5.htm doc/salome/gui/SMESH/whgdata/whlstt6.htm doc/salome/gui/SMESH/whgdata/whlstt7.htm doc/salome/gui/SMESH/whgdata/whlstt8.htm doc/salome/gui/SMESH/whgdata/whlstt9.htm doc/salome/gui/SMESH/whgdata/whnvf30.htm doc/salome/gui/SMESH/whgdata/whnvf31.htm doc/salome/gui/SMESH/whgdata/whnvf32.htm doc/salome/gui/SMESH/whgdata/whnvf33.htm doc/salome/gui/SMESH/whgdata/whnvl31.htm doc/salome/gui/SMESH/whgdata/whnvl32.htm doc/salome/gui/SMESH/whgdata/whnvl33.htm doc/salome/gui/SMESH/whgdata/whnvp30.htm doc/salome/gui/SMESH/whgdata/whnvp31.htm doc/salome/gui/SMESH/whgdata/whnvp32.htm doc/salome/gui/SMESH/whgdata/whnvp33.htm doc/salome/gui/SMESH/whgdata/whnvt30.htm doc/salome/gui/SMESH/whgdata/whnvt31.htm doc/salome/gui/SMESH/whgdata/whnvt32.htm doc/salome/gui/SMESH/whgdata/whnvt33.htm doc/salome/gui/SMESH/whgdef.htm doc/salome/gui/SMESH/whgdhtml.htm doc/salome/gui/SMESH/whghost.js doc/salome/gui/SMESH/whhost.js doc/salome/gui/SMESH/whibody.htm doc/salome/gui/SMESH/whidhtml.htm doc/salome/gui/SMESH/whiform.htm doc/salome/gui/SMESH/whihost.js doc/salome/gui/SMESH/whlang.js doc/salome/gui/SMESH/whmozemu.js doc/salome/gui/SMESH/whmsg.js doc/salome/gui/SMESH/whnjs.htm doc/salome/gui/SMESH/whphost.js doc/salome/gui/SMESH/whproj.htm doc/salome/gui/SMESH/whproj.js doc/salome/gui/SMESH/whproj.xml doc/salome/gui/SMESH/whproxy.js doc/salome/gui/SMESH/whres.xml doc/salome/gui/SMESH/whskin_banner.htm doc/salome/gui/SMESH/whskin_blank.htm doc/salome/gui/SMESH/whskin_frmset01.htm doc/salome/gui/SMESH/whskin_frmset010.htm doc/salome/gui/SMESH/whskin_homepage.htm doc/salome/gui/SMESH/whskin_info.htm doc/salome/gui/SMESH/whskin_mbars.htm doc/salome/gui/SMESH/whskin_papplet.htm doc/salome/gui/SMESH/whskin_pdhtml.htm doc/salome/gui/SMESH/whskin_pickup.htm doc/salome/gui/SMESH/whskin_plist.htm doc/salome/gui/SMESH/whskin_tbars.htm doc/salome/gui/SMESH/whskin_tw.htm doc/salome/gui/SMESH/whst_topics.xml doc/salome/gui/SMESH/whstart.js doc/salome/gui/SMESH/whstub.js doc/salome/gui/SMESH/wht_abge.jpg doc/salome/gui/SMESH/wht_abgi.jpg doc/salome/gui/SMESH/wht_abgw.jpg doc/salome/gui/SMESH/wht_abte.jpg doc/salome/gui/SMESH/wht_abti.jpg doc/salome/gui/SMESH/wht_abtw.jpg doc/salome/gui/SMESH/whtbar.js doc/salome/gui/SMESH/whtdhtml.htm doc/salome/gui/SMESH/whthost.js doc/salome/gui/SMESH/whtopic.js doc/salome/gui/SMESH/whutils.js doc/salome/gui/SMESH/whver.js doc/salome/gui/SMESH/whxdata/whftdata0.xml doc/salome/gui/SMESH/whxdata/whfts.xml doc/salome/gui/SMESH/whxdata/whfwdata0.xml doc/salome/gui/SMESH/whxdata/whgdata0.xml doc/salome/gui/SMESH/whxdata/whglo.xml doc/salome/gui/SMESH/whxdata/whidx.xml doc/salome/gui/SMESH/whxdata/whtdata0.xml doc/salome/gui/SMESH/whxdata/whtoc.xml doc/salome/tui/SMESH/doxyfile doc/salome/tui/SMESH/doxyfile_py doc/salome/tui/SMESH/sources/static/tree.js idl/SMESH_BasicHypothesis.idl idl/SMESH_Filter.idl idl/SMESH_Gen.idl idl/SMESH_Mesh.idl resources/SMESHCatalog.xml resources/StdMeshers.xml resources/mesh_volume_3d.png src/Controls/SMESH_Controls.cxx src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx src/MEFISTO2/Makefile.in src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cxx src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx src/SMDS/SMDS_VolumeTool.cxx src/SMESH/Makefile.in src/SMESH/SMESH_Algo.cxx src/SMESH/SMESH_Algo.hxx src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx src/SMESH/SMESH_Gen.cxx src/SMESH/SMESH_Gen.hxx src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx src/SMESH/SMESH_MeshEditor.cxx src/SMESH/SMESH_MeshEditor.hxx src/SMESH/SMESH_Pattern.cxx src/SMESH/SMESH_Pattern.hxx src/SMESH/SMESH_SequenceOfElemPtr.hxx src/SMESH/SMESH_SequenceOfNode.hxx src/SMESH/SMESH_subMesh.cxx src/SMESHDS/SMESHDS_Mesh.hxx src/SMESHFiltersSelection/SMESH_LogicalFilter.cxx src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx src/SMESHFiltersSelection/SMESH_NumberFilter.cxx src/SMESHFiltersSelection/SMESH_NumberFilter.hxx src/SMESHFiltersSelection/SMESH_Type.h src/SMESHFiltersSelection/SMESH_TypeFilter.cxx src/SMESHFiltersSelection/SMESH_TypeFilter.hxx src/SMESHFiltersSelection/SMESH_TypeFilter.jxx src/SMESHGUI/Makefile.in src/SMESHGUI/SMESHBin.cxx src/SMESHGUI/SMESHGUI.h src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h src/SMESHGUI/SMESHGUI_ClippingDlg.cxx src/SMESHGUI/SMESHGUI_ClippingDlg.h src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.h src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.cxx src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.h src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx src/SMESHGUI/SMESHGUI_DeleteGroupDlg.h src/SMESHGUI/SMESHGUI_Dialog.cxx src/SMESHGUI/SMESHGUI_Dialog.h src/SMESHGUI/SMESHGUI_Displayer.cxx src/SMESHGUI/SMESHGUI_Displayer.h src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx src/SMESHGUI/SMESHGUI_EditMeshDlg.h src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionDlg.h src/SMESHGUI/SMESHGUI_FilterDlg.h src/SMESHGUI/SMESHGUI_GroupDlg.h src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx src/SMESHGUI/SMESHGUI_GroupOpDlg.h src/SMESHGUI/SMESHGUI_Hypotheses.cxx src/SMESHGUI/SMESHGUI_Hypotheses.h src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx src/SMESHGUI/SMESHGUI_HypothesesUtils.h src/SMESHGUI/SMESHGUI_MergeNodesDlg.cxx src/SMESHGUI/SMESHGUI_MergeNodesDlg.h src/SMESHGUI/SMESHGUI_MeshDlg.cxx src/SMESHGUI/SMESHGUI_MeshDlg.h src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_MeshInfosDlg.h src/SMESHGUI/SMESHGUI_MeshOp.cxx src/SMESHGUI/SMESHGUI_MeshOp.h src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx src/SMESHGUI/SMESHGUI_MeshPatternDlg.h src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx src/SMESHGUI/SMESHGUI_MoveNodesDlg.h src/SMESHGUI/SMESHGUI_MultiEditDlg.h src/SMESHGUI/SMESHGUI_NodesDlg.cxx src/SMESHGUI/SMESHGUI_NodesDlg.h src/SMESHGUI/SMESHGUI_Operation.cxx src/SMESHGUI/SMESHGUI_Operation.h src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.cxx src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h src/SMESHGUI/SMESHGUI_RemoveNodesDlg.h src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx src/SMESHGUI/SMESHGUI_RenumberingDlg.h src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx src/SMESHGUI/SMESHGUI_RevolutionDlg.h src/SMESHGUI/SMESHGUI_RotationDlg.cxx src/SMESHGUI/SMESHGUI_RotationDlg.h src/SMESHGUI/SMESHGUI_Selection.h src/SMESHGUI/SMESHGUI_SelectionOp.cxx src/SMESHGUI/SMESHGUI_SelectionOp.h src/SMESHGUI/SMESHGUI_SewingDlg.cxx src/SMESHGUI/SMESHGUI_SewingDlg.h src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx src/SMESHGUI/SMESHGUI_SingleEditDlg.h src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx src/SMESHGUI/SMESHGUI_SmoothingDlg.h src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx src/SMESHGUI/SMESHGUI_SymmetryDlg.h src/SMESHGUI/SMESHGUI_TranslationDlg.cxx src/SMESHGUI/SMESHGUI_TranslationDlg.h src/SMESHGUI/SMESHGUI_TransparencyDlg.cxx src/SMESHGUI/SMESHGUI_TransparencyDlg.h src/SMESHGUI/SMESHGUI_Utils.cxx src/SMESHGUI/SMESHGUI_Utils.h src/SMESHGUI/SMESHGUI_XmlHandler.cxx src/SMESHGUI/SMESHGUI_XmlHandler.h src/SMESHGUI/SMESHGUI_aParameter.h src/SMESHGUI/SMESH_images.po src/SMESHGUI/SMESH_msg_en.po src/SMESH_I/SMESH_2smeshpy.cxx src/SMESH_I/SMESH_2smeshpy.hxx src/SMESH_I/SMESH_DumpPython.cxx src/SMESH_I/SMESH_Filter_i.cxx src/SMESH_I/SMESH_Filter_i.hxx src/SMESH_I/SMESH_Gen_i.cxx src/SMESH_I/SMESH_Gen_i.hxx src/SMESH_I/SMESH_Group_i.cxx src/SMESH_I/SMESH_MeshEditor_i.cxx src/SMESH_I/SMESH_MeshEditor_i.hxx src/SMESH_I/SMESH_Mesh_i.cxx src/SMESH_I/SMESH_Pattern_i.cxx src/SMESH_I/SMESH_PythonDump.hxx src/SMESH_SWIG/SMESH_reg.py src/SMESH_SWIG/smesh.py src/StdMeshers/Makefile.in src/StdMeshers/StdMeshers_AutomaticLength.cxx src/StdMeshers/StdMeshers_AutomaticLength.hxx src/StdMeshers/StdMeshers_Distribution.cxx src/StdMeshers/StdMeshers_Distribution.hxx src/StdMeshers/StdMeshers_NumberOfSegments.cxx src/StdMeshers/StdMeshers_NumberOfSegments.hxx src/StdMeshers/StdMeshers_QuadranglePreference.cxx src/StdMeshers/StdMeshers_QuadranglePreference.hxx src/StdMeshers/StdMeshers_Quadrangle_2D.cxx src/StdMeshers/StdMeshers_Quadrangle_2D.hxx src/StdMeshers/StdMeshers_Regular_1D.cxx src/StdMeshers/StdMeshers_Regular_1D.hxx src/StdMeshersGUI/Makefile.in src/StdMeshersGUI/StdMeshersGUI.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.h src/StdMeshersGUI/StdMeshersGUI_DistrTable.cxx src/StdMeshersGUI/StdMeshersGUI_DistrTable.h src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.h src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.h src/StdMeshersGUI/StdMeshers_images.po src/StdMeshersGUI/StdMeshers_msg_en.po src/StdMeshers_I/Makefile.in src/StdMeshers_I/StdMeshers_Arithmetic1D_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.hxx src/StdMeshers_I/StdMeshers_Deflection1D_i.cxx src/StdMeshers_I/StdMeshers_LocalLength_i.cxx src/StdMeshers_I/StdMeshers_MaxElementArea_i.cxx src/StdMeshers_I/StdMeshers_MaxElementVolume_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.hxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.cxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.hxx src/StdMeshers_I/StdMeshers_StartEndLength_i.cxx src/StdMeshers_I/StdMeshers_i.cxx
2005-12-28 09:17:41 +00:00
}
//================================================================================
/*!
* \brief Find out elements orientation on a geometrical face
* \param theFace - The face correctly oriented in the shape being meshed
* \param theMeshDS - The mesh data structure
* \retval bool - true if the face normal and the normal of first element
* in the correspoding submesh point in different directions
This commit was generated by cvs2git to create branch 'BR-D5-38-2003'. Cherrypick from master 2005-12-28 09:17:39 UTC jfa <jfa@opencascade.com> 'Join modifications from branch BR_3_1_0deb': INSTALL Makefile.in adm_local/unix/make_commence.in bin/VERSION build_configure configure.in.base doc/salome/Makefile.in doc/salome/SMESH_index_v3.1.0.html doc/salome/gui/SMESH/about_viewing_meshes.htm doc/salome/gui/SMESH/aspect_ratio_3d.htm doc/salome/gui/SMESH/borders_at_multi-connection.htm doc/salome/gui/SMESH/borders_at_multiconnection_2d.htm doc/salome/gui/SMESH/clipping.htm doc/salome/gui/SMESH/constructing_meshes.htm doc/salome/gui/SMESH/cshdat_robohelp.htm doc/salome/gui/SMESH/cshdat_webhelp.htm doc/salome/gui/SMESH/default.css doc/salome/gui/SMESH/default_ns.css doc/salome/gui/SMESH/defining_hypotheses_tui.htm doc/salome/gui/SMESH/deleting_groups.htm doc/salome/gui/SMESH/display_entity.htm doc/salome/gui/SMESH/ehelp.xml doc/salome/gui/SMESH/ehlpdhtm.js doc/salome/gui/SMESH/extrusion.htm doc/salome/gui/SMESH/extrusion_along_a_path.htm doc/salome/gui/SMESH/files/about_hypotheses.htm doc/salome/gui/SMESH/files/about_meshes.htm doc/salome/gui/SMESH/files/about_meshing_algorithms.htm doc/salome/gui/SMESH/files/about_quality_controls.htm doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm doc/salome/gui/SMESH/files/area_of_elements.htm doc/salome/gui/SMESH/files/arithmetic_1d.htm doc/salome/gui/SMESH/files/aspect_ratio.htm doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm doc/salome/gui/SMESH/files/constructing_groups_of_specific_elements.htm doc/salome/gui/SMESH/files/constructing_meshes.htm doc/salome/gui/SMESH/files/constructing_submeshes.htm doc/salome/gui/SMESH/files/creating_groups.htm doc/salome/gui/SMESH/files/cutting_quadrangles.htm doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm doc/salome/gui/SMESH/files/displacing_nodes.htm doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm doc/salome/gui/SMESH/files/editing_groups.htm doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm doc/salome/gui/SMESH/files/introduction_to_smesh.htm doc/salome/gui/SMESH/files/length_of_edges.htm doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm doc/salome/gui/SMESH/files/merging_nodes.htm doc/salome/gui/SMESH/files/minimum_angle.htm doc/salome/gui/SMESH/files/non_conform_mesh_allowed_hypothesis.htm doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm doc/salome/gui/SMESH/files/renumbering_nodes_and_elements.htm doc/salome/gui/SMESH/files/rotation.htm doc/salome/gui/SMESH/files/running_smesh_module.htm doc/salome/gui/SMESH/files/sewing_meshes.htm doc/salome/gui/SMESH/files/skew.htm doc/salome/gui/SMESH/files/smoothing.htm doc/salome/gui/SMESH/files/symmetry.htm doc/salome/gui/SMESH/files/taper.htm doc/salome/gui/SMESH/files/translation.htm doc/salome/gui/SMESH/files/uniting_a_set_of_triangles.htm doc/salome/gui/SMESH/files/uniting_two_triangles.htm doc/salome/gui/SMESH/files/using_operations_on_groups.htm doc/salome/gui/SMESH/files/viewing_mesh_info.htm doc/salome/gui/SMESH/files/warp.htm doc/salome/gui/SMESH/free_borders.htm doc/salome/gui/SMESH/free_edges.htm doc/salome/gui/SMESH/grouping_elements.htm doc/salome/gui/SMESH/image10.jpg doc/salome/gui/SMESH/image101.gif doc/salome/gui/SMESH/image102.gif doc/salome/gui/SMESH/image103.gif doc/salome/gui/SMESH/image104.gif doc/salome/gui/SMESH/image105.gif doc/salome/gui/SMESH/image106.gif doc/salome/gui/SMESH/image108.gif doc/salome/gui/SMESH/image119.gif doc/salome/gui/SMESH/image120.gif doc/salome/gui/SMESH/image121.gif doc/salome/gui/SMESH/image122.gif doc/salome/gui/SMESH/image123.gif doc/salome/gui/SMESH/image124.gif doc/salome/gui/SMESH/image125.gif doc/salome/gui/SMESH/image126.gif doc/salome/gui/SMESH/image127.gif doc/salome/gui/SMESH/image129.gif doc/salome/gui/SMESH/image130.gif doc/salome/gui/SMESH/image131.gif doc/salome/gui/SMESH/image132.gif doc/salome/gui/SMESH/image133.gif doc/salome/gui/SMESH/image134.gif doc/salome/gui/SMESH/image135.gif doc/salome/gui/SMESH/image136.gif doc/salome/gui/SMESH/image137.gif doc/salome/gui/SMESH/image138.gif doc/salome/gui/SMESH/image139.gif doc/salome/gui/SMESH/image18.gif doc/salome/gui/SMESH/image19.gif doc/salome/gui/SMESH/image19.jpg doc/salome/gui/SMESH/image20.gif doc/salome/gui/SMESH/image21.gif doc/salome/gui/SMESH/image23.gif doc/salome/gui/SMESH/image27.gif doc/salome/gui/SMESH/image30.gif doc/salome/gui/SMESH/image37.jpg doc/salome/gui/SMESH/image49.gif doc/salome/gui/SMESH/image5.jpg doc/salome/gui/SMESH/image50.gif doc/salome/gui/SMESH/image53.gif doc/salome/gui/SMESH/image55.gif doc/salome/gui/SMESH/image56.gif doc/salome/gui/SMESH/image56.jpg doc/salome/gui/SMESH/image58.gif doc/salome/gui/SMESH/image7.jpg doc/salome/gui/SMESH/image79.jpg doc/salome/gui/SMESH/image86.jpg doc/salome/gui/SMESH/image88.jpg doc/salome/gui/SMESH/image90.jpg doc/salome/gui/SMESH/image92.jpg doc/salome/gui/SMESH/image93.jpg doc/salome/gui/SMESH/image94.jpg doc/salome/gui/SMESH/image95.jpg doc/salome/gui/SMESH/image96.jpg doc/salome/gui/SMESH/image97.jpg doc/salome/gui/SMESH/image99.gif doc/salome/gui/SMESH/length.htm doc/salome/gui/SMESH/modifying_meshes.htm doc/salome/gui/SMESH/pattern_mapping.htm doc/salome/gui/SMESH/pics/a-advmeshinfo.png doc/salome/gui/SMESH/pics/a-arithmetic1d.png doc/salome/gui/SMESH/pics/a-averagelength.png doc/salome/gui/SMESH/pics/a-clipping2.png doc/salome/gui/SMESH/pics/a-creategroup.png doc/salome/gui/SMESH/pics/a-createmesh1.png doc/salome/gui/SMESH/pics/a-createpolyhedralvolume.png doc/salome/gui/SMESH/pics/a-cuttingofquadrangles.png doc/salome/gui/SMESH/pics/a-deflection1d.png doc/salome/gui/SMESH/pics/a-editmesh.png doc/salome/gui/SMESH/pics/a-exportmesh.png doc/salome/gui/SMESH/pics/a-extusionalongapath2.png doc/salome/gui/SMESH/pics/a-filteronedges.png doc/salome/gui/SMESH/pics/a-maxelarea.png doc/salome/gui/SMESH/pics/a-maxelvolume.png doc/salome/gui/SMESH/pics/a-nbsegments1.png doc/salome/gui/SMESH/pics/a-nbsegments2.png doc/salome/gui/SMESH/pics/a-nbsegments3.png doc/salome/gui/SMESH/pics/a-nbsegments4.png doc/salome/gui/SMESH/pics/a-patterntype.png doc/salome/gui/SMESH/pics/a-patterntype1.png doc/salome/gui/SMESH/pics/a-standmeshinfo.png doc/salome/gui/SMESH/pics/a-startendlength.png doc/salome/gui/SMESH/pics/a-transparency.png doc/salome/gui/SMESH/pics/a-unionoftriangles.png doc/salome/gui/SMESH/pics/a-viewgeneral.png doc/salome/gui/SMESH/pics/add_edge.png doc/salome/gui/SMESH/pics/add_node.png doc/salome/gui/SMESH/pics/add_polygone.png doc/salome/gui/SMESH/pics/add_polyhedron.png doc/salome/gui/SMESH/pics/add_quadrangle.png doc/salome/gui/SMESH/pics/add_triangle.png doc/salome/gui/SMESH/pics/addedge.png doc/salome/gui/SMESH/pics/addhexahedron.png doc/salome/gui/SMESH/pics/addnode.png doc/salome/gui/SMESH/pics/addpolygon.png doc/salome/gui/SMESH/pics/addquadrangle.png doc/salome/gui/SMESH/pics/addtetrahedron.png doc/salome/gui/SMESH/pics/addtriangle.png doc/salome/gui/SMESH/pics/b-art_end_length.png doc/salome/gui/SMESH/pics/b-create_group.png doc/salome/gui/SMESH/pics/b-erage_length.png doc/salome/gui/SMESH/pics/b-flection1d.png doc/salome/gui/SMESH/pics/b-ithmetic1d.png doc/salome/gui/SMESH/pics/b-mberofsegments.png doc/salome/gui/SMESH/pics/b-mesh_infos.png doc/salome/gui/SMESH/pics/borders_at_multi_connections1.png doc/salome/gui/SMESH/pics/c-createmesh.png doc/salome/gui/SMESH/pics/c-editmesh.png doc/salome/gui/SMESH/pics/create_group.png doc/salome/gui/SMESH/pics/creategroup.png doc/salome/gui/SMESH/pics/cut_groups1.png doc/salome/gui/SMESH/pics/cut_groups2.png doc/salome/gui/SMESH/pics/cut_groups3.png doc/salome/gui/SMESH/pics/cutgroups.png doc/salome/gui/SMESH/pics/deletegroups.png doc/salome/gui/SMESH/pics/diagonalinversion.png doc/salome/gui/SMESH/pics/edit_mesh1.png doc/salome/gui/SMESH/pics/edit_mesh_change_value_hyp.png doc/salome/gui/SMESH/pics/edit_mesh_remove_hyp.png doc/salome/gui/SMESH/pics/editgroup.png doc/salome/gui/SMESH/pics/editing_groups1.png doc/salome/gui/SMESH/pics/editing_groups2.png doc/salome/gui/SMESH/pics/extrusionalongaline1.png doc/salome/gui/SMESH/pics/extrusionalongaline2.png doc/salome/gui/SMESH/pics/free_borders1.png doc/salome/gui/SMESH/pics/free_edges.png doc/salome/gui/SMESH/pics/importmesh.png doc/salome/gui/SMESH/pics/intersect_groups1.png doc/salome/gui/SMESH/pics/intersect_groups2.png doc/salome/gui/SMESH/pics/intersect_groups3.png doc/salome/gui/SMESH/pics/intersectgroups.png doc/salome/gui/SMESH/pics/length1.png doc/salome/gui/SMESH/pics/length2d.png doc/salome/gui/SMESH/pics/max_el_area.png doc/salome/gui/SMESH/pics/mergenodes.png doc/salome/gui/SMESH/pics/merging_nodes1.png doc/salome/gui/SMESH/pics/merging_nodes2.png doc/salome/gui/SMESH/pics/movenodes.png doc/salome/gui/SMESH/pics/moving_nodes1.png doc/salome/gui/SMESH/pics/moving_nodes2.png doc/salome/gui/SMESH/pics/orientaation1.png doc/salome/gui/SMESH/pics/patternmapping1.png doc/salome/gui/SMESH/pics/patternmapping2.png doc/salome/gui/SMESH/pics/remove_elements1.png doc/salome/gui/SMESH/pics/remove_elements2.png doc/salome/gui/SMESH/pics/remove_nodes1.png doc/salome/gui/SMESH/pics/remove_nodes2.png doc/salome/gui/SMESH/pics/removeelements.png doc/salome/gui/SMESH/pics/removenodes.png doc/salome/gui/SMESH/pics/renumberelements.png doc/salome/gui/SMESH/pics/renumbernodes.png doc/salome/gui/SMESH/pics/revolution1.png doc/salome/gui/SMESH/pics/revolution2.png doc/salome/gui/SMESH/pics/rotation.png doc/salome/gui/SMESH/pics/rotation1.png doc/salome/gui/SMESH/pics/rotation2.png doc/salome/gui/SMESH/pics/selectionfilterlibrary.png doc/salome/gui/SMESH/pics/sewing1.png doc/salome/gui/SMESH/pics/sewing2.png doc/salome/gui/SMESH/pics/sewing3.png doc/salome/gui/SMESH/pics/sewing4.png doc/salome/gui/SMESH/pics/smoothing.png doc/salome/gui/SMESH/pics/smoothing1.png doc/salome/gui/SMESH/pics/smoothing2.png doc/salome/gui/SMESH/pics/submeshconstruction.png doc/salome/gui/SMESH/pics/symmetry1.png doc/salome/gui/SMESH/pics/symmetry2.png doc/salome/gui/SMESH/pics/symmetry3.png doc/salome/gui/SMESH/pics/translation1.png doc/salome/gui/SMESH/pics/translation2.png doc/salome/gui/SMESH/pics/union_groups1.png doc/salome/gui/SMESH/pics/union_groups2.png doc/salome/gui/SMESH/pics/union_groups3.png doc/salome/gui/SMESH/pics/uniongroups.png doc/salome/gui/SMESH/pics/unionoftwotriangles.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles1.png doc/salome/gui/SMESH/pics/uniting_a_set_of_triangles2.png doc/salome/gui/SMESH/pics/uniting_two_triangles1.png doc/salome/gui/SMESH/pics/uniting_two_triangles2.png doc/salome/gui/SMESH/presentation.htm doc/salome/gui/SMESH/quality_controls.htm doc/salome/gui/SMESH/revolution.htm doc/salome/gui/SMESH/selection_filter_library.htm doc/salome/gui/SMESH/smesh.htm doc/salome/gui/SMESH/smesh.log doc/salome/gui/SMESH/smesh_csh.htm doc/salome/gui/SMESH/smesh_rhc.htm doc/salome/gui/SMESH/transforming_meshes.htm doc/salome/gui/SMESH/transparency.htm doc/salome/gui/SMESH/viewing_meshes.htm doc/salome/gui/SMESH/webhelp.cab doc/salome/gui/SMESH/webhelp.jar doc/salome/gui/SMESH/whcsh_home.htm doc/salome/gui/SMESH/whcshdata.htm doc/salome/gui/SMESH/whdata/whftdata.js doc/salome/gui/SMESH/whdata/whftdata0.htm doc/salome/gui/SMESH/whdata/whfts.htm doc/salome/gui/SMESH/whdata/whfts.js doc/salome/gui/SMESH/whdata/whfwdata.js doc/salome/gui/SMESH/whdata/whfwdata0.htm doc/salome/gui/SMESH/whdata/whgdata.js doc/salome/gui/SMESH/whdata/whgdata0.htm doc/salome/gui/SMESH/whdata/whglo.htm doc/salome/gui/SMESH/whdata/whglo.js doc/salome/gui/SMESH/whdata/whidata.js doc/salome/gui/SMESH/whdata/whidx.htm doc/salome/gui/SMESH/whdata/whidx.js doc/salome/gui/SMESH/whdata/whtdata.js doc/salome/gui/SMESH/whdata/whtdata0.htm doc/salome/gui/SMESH/whdata/whtoc.htm doc/salome/gui/SMESH/whdata/whtoc.js doc/salome/gui/SMESH/whfbody.htm doc/salome/gui/SMESH/whfdhtml.htm doc/salome/gui/SMESH/whfform.htm doc/salome/gui/SMESH/whfhost.js doc/salome/gui/SMESH/whform.js doc/salome/gui/SMESH/whframes.js doc/salome/gui/SMESH/whgbody.htm doc/salome/gui/SMESH/whgdata/whlstf0.htm doc/salome/gui/SMESH/whgdata/whlstf1.htm doc/salome/gui/SMESH/whgdata/whlstf10.htm doc/salome/gui/SMESH/whgdata/whlstf11.htm doc/salome/gui/SMESH/whgdata/whlstf12.htm doc/salome/gui/SMESH/whgdata/whlstf2.htm doc/salome/gui/SMESH/whgdata/whlstf3.htm doc/salome/gui/SMESH/whgdata/whlstf4.htm doc/salome/gui/SMESH/whgdata/whlstf5.htm doc/salome/gui/SMESH/whgdata/whlstf6.htm doc/salome/gui/SMESH/whgdata/whlstf7.htm doc/salome/gui/SMESH/whgdata/whlstf8.htm doc/salome/gui/SMESH/whgdata/whlstf9.htm doc/salome/gui/SMESH/whgdata/whlstfl0.htm doc/salome/gui/SMESH/whgdata/whlstfl1.htm doc/salome/gui/SMESH/whgdata/whlstfl10.htm doc/salome/gui/SMESH/whgdata/whlstfl11.htm doc/salome/gui/SMESH/whgdata/whlstfl12.htm doc/salome/gui/SMESH/whgdata/whlstfl13.htm doc/salome/gui/SMESH/whgdata/whlstfl14.htm doc/salome/gui/SMESH/whgdata/whlstfl15.htm doc/salome/gui/SMESH/whgdata/whlstfl16.htm doc/salome/gui/SMESH/whgdata/whlstfl17.htm doc/salome/gui/SMESH/whgdata/whlstfl18.htm doc/salome/gui/SMESH/whgdata/whlstfl19.htm doc/salome/gui/SMESH/whgdata/whlstfl2.htm doc/salome/gui/SMESH/whgdata/whlstfl20.htm doc/salome/gui/SMESH/whgdata/whlstfl21.htm doc/salome/gui/SMESH/whgdata/whlstfl22.htm doc/salome/gui/SMESH/whgdata/whlstfl23.htm doc/salome/gui/SMESH/whgdata/whlstfl24.htm doc/salome/gui/SMESH/whgdata/whlstfl25.htm doc/salome/gui/SMESH/whgdata/whlstfl3.htm doc/salome/gui/SMESH/whgdata/whlstfl4.htm doc/salome/gui/SMESH/whgdata/whlstfl5.htm doc/salome/gui/SMESH/whgdata/whlstfl6.htm doc/salome/gui/SMESH/whgdata/whlstfl7.htm doc/salome/gui/SMESH/whgdata/whlstfl8.htm doc/salome/gui/SMESH/whgdata/whlstfl9.htm doc/salome/gui/SMESH/whgdata/whlstg0.htm doc/salome/gui/SMESH/whgdata/whlsti0.htm doc/salome/gui/SMESH/whgdata/whlstt0.htm doc/salome/gui/SMESH/whgdata/whlstt1.htm doc/salome/gui/SMESH/whgdata/whlstt2.htm doc/salome/gui/SMESH/whgdata/whlstt3.htm doc/salome/gui/SMESH/whgdata/whlstt4.htm doc/salome/gui/SMESH/whgdata/whlstt5.htm doc/salome/gui/SMESH/whgdata/whlstt6.htm doc/salome/gui/SMESH/whgdata/whlstt7.htm doc/salome/gui/SMESH/whgdata/whlstt8.htm doc/salome/gui/SMESH/whgdata/whlstt9.htm doc/salome/gui/SMESH/whgdata/whnvf30.htm doc/salome/gui/SMESH/whgdata/whnvf31.htm doc/salome/gui/SMESH/whgdata/whnvf32.htm doc/salome/gui/SMESH/whgdata/whnvf33.htm doc/salome/gui/SMESH/whgdata/whnvl31.htm doc/salome/gui/SMESH/whgdata/whnvl32.htm doc/salome/gui/SMESH/whgdata/whnvl33.htm doc/salome/gui/SMESH/whgdata/whnvp30.htm doc/salome/gui/SMESH/whgdata/whnvp31.htm doc/salome/gui/SMESH/whgdata/whnvp32.htm doc/salome/gui/SMESH/whgdata/whnvp33.htm doc/salome/gui/SMESH/whgdata/whnvt30.htm doc/salome/gui/SMESH/whgdata/whnvt31.htm doc/salome/gui/SMESH/whgdata/whnvt32.htm doc/salome/gui/SMESH/whgdata/whnvt33.htm doc/salome/gui/SMESH/whgdef.htm doc/salome/gui/SMESH/whgdhtml.htm doc/salome/gui/SMESH/whghost.js doc/salome/gui/SMESH/whhost.js doc/salome/gui/SMESH/whibody.htm doc/salome/gui/SMESH/whidhtml.htm doc/salome/gui/SMESH/whiform.htm doc/salome/gui/SMESH/whihost.js doc/salome/gui/SMESH/whlang.js doc/salome/gui/SMESH/whmozemu.js doc/salome/gui/SMESH/whmsg.js doc/salome/gui/SMESH/whnjs.htm doc/salome/gui/SMESH/whphost.js doc/salome/gui/SMESH/whproj.htm doc/salome/gui/SMESH/whproj.js doc/salome/gui/SMESH/whproj.xml doc/salome/gui/SMESH/whproxy.js doc/salome/gui/SMESH/whres.xml doc/salome/gui/SMESH/whskin_banner.htm doc/salome/gui/SMESH/whskin_blank.htm doc/salome/gui/SMESH/whskin_frmset01.htm doc/salome/gui/SMESH/whskin_frmset010.htm doc/salome/gui/SMESH/whskin_homepage.htm doc/salome/gui/SMESH/whskin_info.htm doc/salome/gui/SMESH/whskin_mbars.htm doc/salome/gui/SMESH/whskin_papplet.htm doc/salome/gui/SMESH/whskin_pdhtml.htm doc/salome/gui/SMESH/whskin_pickup.htm doc/salome/gui/SMESH/whskin_plist.htm doc/salome/gui/SMESH/whskin_tbars.htm doc/salome/gui/SMESH/whskin_tw.htm doc/salome/gui/SMESH/whst_topics.xml doc/salome/gui/SMESH/whstart.js doc/salome/gui/SMESH/whstub.js doc/salome/gui/SMESH/wht_abge.jpg doc/salome/gui/SMESH/wht_abgi.jpg doc/salome/gui/SMESH/wht_abgw.jpg doc/salome/gui/SMESH/wht_abte.jpg doc/salome/gui/SMESH/wht_abti.jpg doc/salome/gui/SMESH/wht_abtw.jpg doc/salome/gui/SMESH/whtbar.js doc/salome/gui/SMESH/whtdhtml.htm doc/salome/gui/SMESH/whthost.js doc/salome/gui/SMESH/whtopic.js doc/salome/gui/SMESH/whutils.js doc/salome/gui/SMESH/whver.js doc/salome/gui/SMESH/whxdata/whftdata0.xml doc/salome/gui/SMESH/whxdata/whfts.xml doc/salome/gui/SMESH/whxdata/whfwdata0.xml doc/salome/gui/SMESH/whxdata/whgdata0.xml doc/salome/gui/SMESH/whxdata/whglo.xml doc/salome/gui/SMESH/whxdata/whidx.xml doc/salome/gui/SMESH/whxdata/whtdata0.xml doc/salome/gui/SMESH/whxdata/whtoc.xml doc/salome/tui/SMESH/doxyfile doc/salome/tui/SMESH/doxyfile_py doc/salome/tui/SMESH/sources/static/tree.js idl/SMESH_BasicHypothesis.idl idl/SMESH_Filter.idl idl/SMESH_Gen.idl idl/SMESH_Mesh.idl resources/SMESHCatalog.xml resources/StdMeshers.xml resources/mesh_volume_3d.png src/Controls/SMESH_Controls.cxx src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx src/MEFISTO2/Makefile.in src/NETGENPlugin/NETGENPlugin_NETGEN_3D.cxx src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx src/SMDS/SMDS_VolumeTool.cxx src/SMESH/Makefile.in src/SMESH/SMESH_Algo.cxx src/SMESH/SMESH_Algo.hxx src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx src/SMESH/SMESH_Gen.cxx src/SMESH/SMESH_Gen.hxx src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx src/SMESH/SMESH_MeshEditor.cxx src/SMESH/SMESH_MeshEditor.hxx src/SMESH/SMESH_Pattern.cxx src/SMESH/SMESH_Pattern.hxx src/SMESH/SMESH_SequenceOfElemPtr.hxx src/SMESH/SMESH_SequenceOfNode.hxx src/SMESH/SMESH_subMesh.cxx src/SMESHDS/SMESHDS_Mesh.hxx src/SMESHFiltersSelection/SMESH_LogicalFilter.cxx src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx src/SMESHFiltersSelection/SMESH_NumberFilter.cxx src/SMESHFiltersSelection/SMESH_NumberFilter.hxx src/SMESHFiltersSelection/SMESH_Type.h src/SMESHFiltersSelection/SMESH_TypeFilter.cxx src/SMESHFiltersSelection/SMESH_TypeFilter.hxx src/SMESHFiltersSelection/SMESH_TypeFilter.jxx src/SMESHGUI/Makefile.in src/SMESHGUI/SMESHBin.cxx src/SMESHGUI/SMESHGUI.h src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h src/SMESHGUI/SMESHGUI_ClippingDlg.cxx src/SMESHGUI/SMESHGUI_ClippingDlg.h src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.cxx src/SMESHGUI/SMESHGUI_CreatePatternDlg.h src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.cxx src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.h src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx src/SMESHGUI/SMESHGUI_DeleteGroupDlg.h src/SMESHGUI/SMESHGUI_Dialog.cxx src/SMESHGUI/SMESHGUI_Dialog.h src/SMESHGUI/SMESHGUI_Displayer.cxx src/SMESHGUI/SMESHGUI_Displayer.h src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx src/SMESHGUI/SMESHGUI_EditMeshDlg.h src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx src/SMESHGUI/SMESHGUI_ExtrusionDlg.h src/SMESHGUI/SMESHGUI_FilterDlg.h src/SMESHGUI/SMESHGUI_GroupDlg.h src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx src/SMESHGUI/SMESHGUI_GroupOpDlg.h src/SMESHGUI/SMESHGUI_Hypotheses.cxx src/SMESHGUI/SMESHGUI_Hypotheses.h src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx src/SMESHGUI/SMESHGUI_HypothesesUtils.h src/SMESHGUI/SMESHGUI_MergeNodesDlg.cxx src/SMESHGUI/SMESHGUI_MergeNodesDlg.h src/SMESHGUI/SMESHGUI_MeshDlg.cxx src/SMESHGUI/SMESHGUI_MeshDlg.h src/SMESHGUI/SMESHGUI_MeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_MeshInfosDlg.h src/SMESHGUI/SMESHGUI_MeshOp.cxx src/SMESHGUI/SMESHGUI_MeshOp.h src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx src/SMESHGUI/SMESHGUI_MeshPatternDlg.h src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx src/SMESHGUI/SMESHGUI_MoveNodesDlg.h src/SMESHGUI/SMESHGUI_MultiEditDlg.h src/SMESHGUI/SMESHGUI_NodesDlg.cxx src/SMESHGUI/SMESHGUI_NodesDlg.h src/SMESHGUI/SMESHGUI_Operation.cxx src/SMESHGUI/SMESHGUI_Operation.h src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.cxx src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h src/SMESHGUI/SMESHGUI_RemoveNodesDlg.h src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx src/SMESHGUI/SMESHGUI_RenumberingDlg.h src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx src/SMESHGUI/SMESHGUI_RevolutionDlg.h src/SMESHGUI/SMESHGUI_RotationDlg.cxx src/SMESHGUI/SMESHGUI_RotationDlg.h src/SMESHGUI/SMESHGUI_Selection.h src/SMESHGUI/SMESHGUI_SelectionOp.cxx src/SMESHGUI/SMESHGUI_SelectionOp.h src/SMESHGUI/SMESHGUI_SewingDlg.cxx src/SMESHGUI/SMESHGUI_SewingDlg.h src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx src/SMESHGUI/SMESHGUI_SingleEditDlg.h src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx src/SMESHGUI/SMESHGUI_SmoothingDlg.h src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.cxx src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx src/SMESHGUI/SMESHGUI_SymmetryDlg.h src/SMESHGUI/SMESHGUI_TranslationDlg.cxx src/SMESHGUI/SMESHGUI_TranslationDlg.h src/SMESHGUI/SMESHGUI_TransparencyDlg.cxx src/SMESHGUI/SMESHGUI_TransparencyDlg.h src/SMESHGUI/SMESHGUI_Utils.cxx src/SMESHGUI/SMESHGUI_Utils.h src/SMESHGUI/SMESHGUI_XmlHandler.cxx src/SMESHGUI/SMESHGUI_XmlHandler.h src/SMESHGUI/SMESHGUI_aParameter.h src/SMESHGUI/SMESH_images.po src/SMESHGUI/SMESH_msg_en.po src/SMESH_I/SMESH_2smeshpy.cxx src/SMESH_I/SMESH_2smeshpy.hxx src/SMESH_I/SMESH_DumpPython.cxx src/SMESH_I/SMESH_Filter_i.cxx src/SMESH_I/SMESH_Filter_i.hxx src/SMESH_I/SMESH_Gen_i.cxx src/SMESH_I/SMESH_Gen_i.hxx src/SMESH_I/SMESH_Group_i.cxx src/SMESH_I/SMESH_MeshEditor_i.cxx src/SMESH_I/SMESH_MeshEditor_i.hxx src/SMESH_I/SMESH_Mesh_i.cxx src/SMESH_I/SMESH_Pattern_i.cxx src/SMESH_I/SMESH_PythonDump.hxx src/SMESH_SWIG/SMESH_reg.py src/SMESH_SWIG/smesh.py src/StdMeshers/Makefile.in src/StdMeshers/StdMeshers_AutomaticLength.cxx src/StdMeshers/StdMeshers_AutomaticLength.hxx src/StdMeshers/StdMeshers_Distribution.cxx src/StdMeshers/StdMeshers_Distribution.hxx src/StdMeshers/StdMeshers_NumberOfSegments.cxx src/StdMeshers/StdMeshers_NumberOfSegments.hxx src/StdMeshers/StdMeshers_QuadranglePreference.cxx src/StdMeshers/StdMeshers_QuadranglePreference.hxx src/StdMeshers/StdMeshers_Quadrangle_2D.cxx src/StdMeshers/StdMeshers_Quadrangle_2D.hxx src/StdMeshers/StdMeshers_Regular_1D.cxx src/StdMeshers/StdMeshers_Regular_1D.hxx src/StdMeshersGUI/Makefile.in src/StdMeshersGUI/StdMeshersGUI.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.cxx src/StdMeshersGUI/StdMeshersGUI_DistrPreview.h src/StdMeshersGUI/StdMeshersGUI_DistrTable.cxx src/StdMeshersGUI/StdMeshersGUI_DistrTable.h src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.h src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.h src/StdMeshersGUI/StdMeshers_images.po src/StdMeshersGUI/StdMeshers_msg_en.po src/StdMeshers_I/Makefile.in src/StdMeshers_I/StdMeshers_Arithmetic1D_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.cxx src/StdMeshers_I/StdMeshers_AutomaticLength_i.hxx src/StdMeshers_I/StdMeshers_Deflection1D_i.cxx src/StdMeshers_I/StdMeshers_LocalLength_i.cxx src/StdMeshers_I/StdMeshers_MaxElementArea_i.cxx src/StdMeshers_I/StdMeshers_MaxElementVolume_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx src/StdMeshers_I/StdMeshers_NumberOfSegments_i.hxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.cxx src/StdMeshers_I/StdMeshers_QuadranglePreference_i.hxx src/StdMeshers_I/StdMeshers_StartEndLength_i.cxx src/StdMeshers_I/StdMeshers_i.cxx
2005-12-28 09:17:41 +00:00
*/
//================================================================================
bool SMESH_Algo::IsReversedSubMesh (const TopoDS_Face& theFace,
SMESHDS_Mesh* theMeshDS)
{
if ( theFace.IsNull() || !theMeshDS )
return false;
// find out orientation of a meshed face
int faceID = theMeshDS->ShapeToIndex( theFace );
TopoDS_Shape aMeshedFace = theMeshDS->IndexToShape( faceID );
bool isReversed = ( theFace.Orientation() != aMeshedFace.Orientation() );
const SMESHDS_SubMesh * aSubMeshDSFace = theMeshDS->MeshElements( faceID );
if ( !aSubMeshDSFace )
return isReversed;
// find element with node located on face and get its normal
const SMDS_FacePosition* facePos = 0;
int vertexID = 0;
gp_Pnt nPnt[3];
gp_Vec Ne;
bool normalOK = false;
SMDS_ElemIteratorPtr iteratorElem = aSubMeshDSFace->GetElements();
while ( iteratorElem->more() ) // loop on elements on theFace
{
const SMDS_MeshElement* elem = iteratorElem->next();
if ( elem && elem->NbNodes() > 2 ) {
SMDS_ElemIteratorPtr nodesIt = elem->nodesIterator();
const SMDS_FacePosition* fPos = 0;
int i = 0, vID = 0;
while ( nodesIt->more() ) { // loop on nodes
const SMDS_MeshNode* node
= static_cast<const SMDS_MeshNode *>(nodesIt->next());
if ( i == 3 ) i = 2;
nPnt[ i++ ].SetCoord( node->X(), node->Y(), node->Z() );
// check position
const SMDS_PositionPtr& pos = node->GetPosition();
if ( !pos ) continue;
if ( pos->GetTypeOfPosition() == SMDS_TOP_FACE ) {
fPos = dynamic_cast< const SMDS_FacePosition* >( pos.get() );
}
else if ( pos->GetTypeOfPosition() == SMDS_TOP_VERTEX ) {
vID = pos->GetShapeId();
}
}
if ( fPos || ( !normalOK && vID )) {
// compute normal
gp_Vec v01( nPnt[0], nPnt[1] ), v02( nPnt[0], nPnt[2] );
if ( v01.SquareMagnitude() > RealSmall() &&
v02.SquareMagnitude() > RealSmall() )
{
Ne = v01 ^ v02;
normalOK = ( Ne.SquareMagnitude() > RealSmall() );
}
// we need position on theFace or at least on vertex
if ( normalOK ) {
vertexID = vID;
if ((facePos = fPos))
break;
}
}
}
}
if ( !normalOK )
return isReversed;
// node position on face
double u,v;
if ( facePos ) {
u = facePos->GetUParameter();
v = facePos->GetVParameter();
}
else if ( vertexID ) {
TopoDS_Shape V = theMeshDS->IndexToShape( vertexID );
if ( V.IsNull() || V.ShapeType() != TopAbs_VERTEX )
return isReversed;
gp_Pnt2d uv = BRep_Tool::Parameters( TopoDS::Vertex( V ), theFace );
u = uv.X();
v = uv.Y();
}
else
{
return isReversed;
}
// face normal at node position
TopLoc_Location loc;
Handle(Geom_Surface) surf = BRep_Tool::Surface( theFace, loc );
if ( surf.IsNull() || surf->Continuity() < GeomAbs_C1 ) return isReversed;
gp_Vec d1u, d1v;
surf->D1( u, v, nPnt[0], d1u, d1v );
gp_Vec Nf = (d1u ^ d1v).Transformed( loc );
if ( theFace.Orientation() == TopAbs_REVERSED )
Nf.Reverse();
return Ne * Nf < 0.;
}
//================================================================================
/*!
* \brief Initialize my parameter values by the mesh built on the geometry
* \param theMesh - the built mesh
* \param theShape - the geometry of interest
* \retval bool - true if parameter values have been successfully defined
*
* Just return false as the algorithm does not hold parameters values
*/
//================================================================================
bool SMESH_Algo::SetParametersByMesh(const SMESH_Mesh* /*theMesh*/,
const TopoDS_Shape& /*theShape*/)
{
return false;
}
//================================================================================
/*!
* \brief Fill vector of node parameters on geometrical edge, including vertex nodes
* \param theMesh - The mesh containing nodes
* \param theEdge - The geometrical edge of interest
* \param theParams - The resulting vector of sorted node parameters
* \retval bool - false if not all parameters are OK
*/
//================================================================================
bool SMESH_Algo::GetNodeParamOnEdge(const SMESHDS_Mesh* theMesh,
const TopoDS_Edge& theEdge,
vector< double > & theParams)
{
theParams.clear();
if ( !theMesh || theEdge.IsNull() )
return false;
SMESHDS_SubMesh * eSubMesh = theMesh->MeshElements( theEdge );
if ( !eSubMesh || !eSubMesh->GetElements()->more() )
return false; // edge is not meshed
int nbEdgeNodes = 0;
set < double > paramSet;
if ( eSubMesh )
{
// loop on nodes of an edge: sort them by param on edge
SMDS_NodeIteratorPtr nIt = eSubMesh->GetNodes();
while ( nIt->more() )
{
const SMDS_MeshNode* node = nIt->next();
const SMDS_PositionPtr& pos = node->GetPosition();
if ( pos->GetTypeOfPosition() != SMDS_TOP_EDGE )
return false;
const SMDS_EdgePosition* epos =
static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
paramSet.insert( epos->GetUParameter() );
++nbEdgeNodes;
}
}
// add vertex nodes params
Standard_Real f, l;
BRep_Tool::Range(theEdge, f, l);
paramSet.insert( f );
paramSet.insert( l );
if ( paramSet.size() != nbEdgeNodes + 2 )
return false; // there are equal parameters
// fill the vector
theParams.resize( paramSet.size() );
set < double >::iterator par = paramSet.begin();
vector< double >::iterator vecPar = theParams.begin();
for ( ; par != paramSet.end(); ++par, ++vecPar )
*vecPar = *par;
return theParams.size() > 1;
}