Salome HOME
Merging with WPdev
authorabd <abd@opencascade.com>
Wed, 7 Feb 2007 12:14:23 +0000 (12:14 +0000)
committerabd <abd@opencascade.com>
Wed, 7 Feb 2007 12:14:23 +0000 (12:14 +0000)
701 files changed:
doc/salome/gui/SMESH/about_viewing_meshes.htm
doc/salome/gui/SMESH/adding_quadratic_nodes_and_elements.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/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/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/vtk_3d_viewer.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/image131.gif
doc/salome/gui/SMESH/image157.gif [new file with mode: 0644]
doc/salome/gui/SMESH/image37.gif
doc/salome/gui/SMESH/image7.jpg
doc/salome/gui/SMESH/image71.jpg
doc/salome/gui/SMESH/image74.gif
doc/salome/gui/SMESH/index.htm
doc/salome/gui/SMESH/index_csh.htm
doc/salome/gui/SMESH/index_rhc.htm
doc/salome/gui/SMESH/length.htm
doc/salome/gui/SMESH/merge_elements.htm
doc/salome/gui/SMESH/mesh.htm
doc/salome/gui/SMESH/modifying_meshes.htm
doc/salome/gui/SMESH/netgen_2d_and_3d_hypotheses.htm [new file with mode: 0644]
doc/salome/gui/SMESH/pattern_mapping.htm
doc/salome/gui/SMESH/pics/distribution_of_layers.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/image157.gif [new file with mode: 0644]
doc/salome/gui/SMESH/pics/netgen2d.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/number_of_layers.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/projection_1d.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/projection_2d.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/projection_3d.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/set_rotation_point_dialog1.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/set_rotation_point_dialog2.png [new file with mode: 0644]
doc/salome/gui/SMESH/pics/view_rotation_point.png [new file with mode: 0644]
doc/salome/gui/SMESH/presentation.htm
doc/salome/gui/SMESH/prism_3d_algorithm.htm [new file with mode: 0644]
doc/salome/gui/SMESH/projection_algorithms.htm [new file with mode: 0644]
doc/salome/gui/SMESH/quality_controls.htm
doc/salome/gui/SMESH/radial_prism.htm [new file with mode: 0644]
doc/salome/gui/SMESH/revolution.htm
doc/salome/gui/SMESH/selection_filter_library.htm
doc/salome/gui/SMESH/smesh.log
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Algorithm.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Netgen.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Quadrangle.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Segment__Python.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Tetrahedron.html
doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Triangle.html
doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html
doc/salome/gui/SMESH/transforming_meshes.htm
doc/salome/gui/SMESH/transparency.htm
doc/salome/gui/SMESH/viewing_meshes.htm
doc/salome/gui/SMESH/volume.htm
doc/salome/gui/SMESH/webhelp.jar
doc/salome/gui/SMESH/whcsh_home.htm
doc/salome/gui/SMESH/whcshdata.htm
doc/salome/gui/SMESH/whd_dpns.htm
doc/salome/gui/SMESH/whd_nvp10.htm
doc/salome/gui/SMESH/whd_nvp20.htm
doc/salome/gui/SMESH/whd_tabs.htm
doc/salome/gui/SMESH/whd_toc4.gif
doc/salome/gui/SMESH/whd_topic.xml
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/whlstf13.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_blank.htm
doc/salome/gui/SMESH/whskin_homepage.htm
doc/salome/gui/SMESH/whskin_info.htm
doc/salome/gui/SMESH/whskin_pickup.htm
doc/salome/gui/SMESH/whskin_tw.htm
doc/salome/gui/SMESH/whstart.js
doc/salome/gui/SMESH/whstub.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/sources/Application-About.png
doc/salome/tui/SMESH/sources/bg_salome.gif
idl/SMESH_BasicHypothesis.idl
idl/SMESH_Gen.idl
idl/SMESH_Mesh.idl
resources/SalomeApp.xml
resources/StdMeshers.xml
resources/mesh_hypo_layer_distribution.png [new file with mode: 0644]
resources/mesh_hypo_source_3d.png [new file with mode: 0644]
resources/mesh_hypo_source_edge.png [new file with mode: 0644]
resources/mesh_hypo_source_face.png [new file with mode: 0644]
resources/mesh_tree_algo_projection_2d.png [new file with mode: 0644]
resources/mesh_tree_algo_projection_3d.png [new file with mode: 0644]
resources/mesh_tree_algo_radial_prism.png [new file with mode: 0644]
resources/mesh_tree_hypo_layers_distribution.png [new file with mode: 0644]
resources/mesh_tree_hypo_projection_2d.png [new file with mode: 0644]
resources/mesh_tree_hypo_projection_3d.png [new file with mode: 0644]
resources/mesh_tree_hypo_source_3d_shape.png [new file with mode: 0644]
resources/mesh_tree_hypo_source_edge.png [new file with mode: 0644]
resources/mesh_tree_hypo_source_face.png [new file with mode: 0644]
src/Controls/SMESH_Controls.cxx
src/Controls/SMESH_ControlsDef.hxx
src/Driver/Driver_Document.h
src/Driver/Driver_Mesh.h
src/Driver/Driver_SMDS_Mesh.h
src/Driver/Driver_SMESHDS_Mesh.h
src/DriverDAT/DriverDAT_R_SMDS_Mesh.h
src/DriverDAT/DriverDAT_R_SMESHDS_Document.h
src/DriverDAT/DriverDAT_R_SMESHDS_Mesh.h
src/DriverDAT/DriverDAT_W_SMDS_Mesh.h
src/DriverDAT/DriverDAT_W_SMESHDS_Document.h
src/DriverDAT/DriverDAT_W_SMESHDS_Mesh.h
src/DriverDAT/Makefile.in
src/DriverDAT/SMESH_DriverDAT.hxx [new file with mode: 0755]
src/DriverMED/DriverMED_Family.cxx
src/DriverMED/DriverMED_Family.h
src/DriverMED/DriverMED_R_SMDS_Mesh.h
src/DriverMED/DriverMED_R_SMESHDS_Document.h
src/DriverMED/DriverMED_R_SMESHDS_Mesh.h
src/DriverMED/DriverMED_W_SMDS_Mesh.h
src/DriverMED/DriverMED_W_SMESHDS_Document.h
src/DriverMED/DriverMED_W_SMESHDS_Mesh.cxx
src/DriverMED/DriverMED_W_SMESHDS_Mesh.h
src/DriverMED/Makefile.in
src/DriverMED/SMESH_DriverMED.hxx [new file with mode: 0755]
src/DriverSTL/DriverSTL_R_SMDS_Mesh.h
src/DriverSTL/DriverSTL_W_SMDS_Mesh.h
src/DriverSTL/Makefile.in
src/DriverSTL/SMESH_DriverSTL.hxx [new file with mode: 0755]
src/DriverUNV/DriverUNV_R_SMDS_Mesh.h
src/DriverUNV/DriverUNV_R_SMESHDS_Document.h
src/DriverUNV/DriverUNV_R_SMESHDS_Mesh.h
src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx
src/DriverUNV/DriverUNV_W_SMDS_Mesh.h
src/DriverUNV/DriverUNV_W_SMESHDS_Document.h
src/DriverUNV/DriverUNV_W_SMESHDS_Mesh.h
src/DriverUNV/Makefile.in
src/DriverUNV/SMESH_DriverUNV.hxx [new file with mode: 0755]
src/DriverUNV/UNV2411_Structure.hxx
src/DriverUNV/UNV2412_Structure.hxx
src/DriverUNV/UNV_Utilities.hxx
src/MEFISTO2/Rn.h
src/MEFISTO2/aptrte.cxx
src/MEFISTO2/aptrte.h
src/MEFISTO2/trte.f
src/OBJECT/Makefile.in
src/OBJECT/SMESH_Actor.cxx
src/OBJECT/SMESH_Actor.h
src/OBJECT/SMESH_ActorUtils.h
src/OBJECT/SMESH_DeviceActor.h
src/OBJECT/SMESH_ExtractGeometry.h
src/OBJECT/SMESH_Object.cxx
src/OBJECT/SMESH_Object.h
src/OBJECT/SMESH_ObjectDef.h
src/SMDS/Makefile.in
src/SMDS/SMDS_EdgePosition.hxx
src/SMDS/SMDS_FaceOfEdges.hxx
src/SMDS/SMDS_FaceOfNodes.hxx
src/SMDS/SMDS_FacePosition.hxx
src/SMDS/SMDS_Iterator.hxx
src/SMDS/SMDS_IteratorOfElements.hxx
src/SMDS/SMDS_Mesh.hxx
src/SMDS/SMDS_MeshEdge.hxx
src/SMDS/SMDS_MeshElement.hxx
src/SMDS/SMDS_MeshElementIDFactory.hxx
src/SMDS/SMDS_MeshFace.hxx
src/SMDS/SMDS_MeshGroup.hxx
src/SMDS/SMDS_MeshIDFactory.hxx
src/SMDS/SMDS_MeshNode.hxx
src/SMDS/SMDS_MeshObject.hxx
src/SMDS/SMDS_MeshVolume.hxx
src/SMDS/SMDS_PolygonalFaceOfNodes.hxx
src/SMDS/SMDS_PolyhedralVolumeOfNodes.hxx
src/SMDS/SMDS_Position.hxx
src/SMDS/SMDS_QuadraticEdge.hxx
src/SMDS/SMDS_QuadraticFaceOfNodes.hxx
src/SMDS/SMDS_QuadraticVolumeOfNodes.hxx
src/SMDS/SMDS_SpacePosition.hxx
src/SMDS/SMDS_VertexPosition.hxx
src/SMDS/SMDS_VolumeOfFaces.hxx
src/SMDS/SMDS_VolumeOfNodes.hxx
src/SMDS/SMDS_VolumeTool.cxx
src/SMDS/SMDS_VolumeTool.hxx
src/SMDS/SMESH_SMDS.hxx [new file with mode: 0755]
src/SMESH/Makefile.in
src/SMESH/SMESH_1D_Algo.cxx
src/SMESH/SMESH_1D_Algo.hxx
src/SMESH/SMESH_2D_Algo.cxx
src/SMESH/SMESH_2D_Algo.hxx
src/SMESH/SMESH_3D_Algo.cxx
src/SMESH/SMESH_3D_Algo.hxx
src/SMESH/SMESH_Algo.cxx
src/SMESH/SMESH_Algo.hxx
src/SMESH/SMESH_Block.cxx
src/SMESH/SMESH_Block.hxx
src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Gen.hxx
src/SMESH/SMESH_Group.hxx
src/SMESH/SMESH_HypoFilter.hxx
src/SMESH/SMESH_Hypothesis.cxx
src/SMESH/SMESH_Hypothesis.hxx
src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx
src/SMESH/SMESH_Mesh.cxx
src/SMESH/SMESH_Mesh.hxx
src/SMESH/SMESH_MeshEditor.cxx
src/SMESH/SMESH_MeshEditor.hxx
src/SMESH/SMESH_MesherHelper.cxx
src/SMESH/SMESH_MesherHelper.hxx
src/SMESH/SMESH_Pattern.cxx
src/SMESH/SMESH_Pattern.hxx
src/SMESH/SMESH_SMESH.hxx [new file with mode: 0755]
src/SMESH/SMESH_SequenceOfElemPtr.hxx
src/SMESH/SMESH_SequenceOfNode.hxx
src/SMESH/SMESH_subMesh.cxx
src/SMESH/SMESH_subMesh.hxx
src/SMESH/SMESH_subMeshEventListener.hxx [new file with mode: 0644]
src/SMESHClient/SMESH_Client.cxx
src/SMESHClient/SMESH_Client.hxx
src/SMESHDS/Makefile.in
src/SMESHDS/SMESHDS_Command.hxx
src/SMESHDS/SMESHDS_DataMapOfShape.hxx [new file with mode: 0755]
src/SMESHDS/SMESHDS_Document.hxx
src/SMESHDS/SMESHDS_Group.hxx
src/SMESHDS/SMESHDS_GroupBase.cxx
src/SMESHDS/SMESHDS_GroupBase.hxx
src/SMESHDS/SMESHDS_GroupOnGeom.hxx
src/SMESHDS/SMESHDS_Hypothesis.hxx
src/SMESHDS/SMESHDS_Mesh.cxx
src/SMESHDS/SMESHDS_Mesh.hxx
src/SMESHDS/SMESHDS_Script.hxx
src/SMESHDS/SMESHDS_SubMesh.hxx
src/SMESHDS/SMESH_SMESHDS.hxx [new file with mode: 0755]
src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx
src/SMESHFiltersSelection/SMESH_NumberFilter.cxx
src/SMESHFiltersSelection/SMESH_NumberFilter.hxx
src/SMESHFiltersSelection/SMESH_Type.h
src/SMESHFiltersSelection/SMESH_TypeFilter.hxx
src/SMESHGUI/Makefile.in
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI.h
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h
src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx
src/SMESHGUI/SMESHGUI_ClippingDlg.cxx
src/SMESHGUI/SMESHGUI_ClippingDlg.h
src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.h [new file with mode: 0644]
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.h
src/SMESHGUI/SMESHGUI_Displayer.h
src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h [new file with mode: 0644]
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_Filter.h
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
src/SMESHGUI/SMESHGUI_FilterDlg.h
src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx
src/SMESHGUI/SMESHGUI_FilterLibraryDlg.h
src/SMESHGUI/SMESHGUI_FilterUtils.h
src/SMESHGUI/SMESHGUI_GEOMGenUtils.h
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.h
src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx
src/SMESHGUI/SMESHGUI_GroupOpDlg.h
src/SMESHGUI/SMESHGUI_GroupUtils.h
src/SMESHGUI/SMESHGUI_Hypotheses.cxx
src/SMESHGUI/SMESHGUI_Hypotheses.h
src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
src/SMESHGUI/SMESHGUI_HypothesesUtils.h
src/SMESHGUI/SMESHGUI_IdValidator.h
src/SMESHGUI/SMESHGUI_MergeNodesDlg.cxx
src/SMESHGUI/SMESHGUI_MergeNodesDlg.h
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_MeshUtils.h
src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx
src/SMESHGUI/SMESHGUI_MoveNodesDlg.h
src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
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_PatternUtils.h
src/SMESHGUI/SMESHGUI_PatternWidget.h
src/SMESHGUI/SMESHGUI_PrecisionDlg.h [new file with mode: 0755]
src/SMESHGUI/SMESHGUI_Preferences_ColorDlg.h
src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h
src/SMESHGUI/SMESHGUI_Preferences_SelectionDlg.h
src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx
src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h
src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx
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.h
src/SMESHGUI/SMESHGUI_SewingDlg.cxx
src/SMESHGUI/SMESHGUI_SewingDlg.h
src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.cxx
src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h
src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx
src/SMESHGUI/SMESHGUI_SingleEditDlg.h
src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx
src/SMESHGUI/SMESHGUI_SmoothingDlg.h
src/SMESHGUI/SMESHGUI_SpinBox.h
src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.cxx
src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h
src/SMESHGUI/SMESHGUI_Swig.cxx
src/SMESHGUI/SMESHGUI_Swig.hxx
src/SMESHGUI/SMESHGUI_Swig.i
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.h
src/SMESHGUI/SMESHGUI_VTKUtils.cxx
src/SMESHGUI/SMESHGUI_VTKUtils.h
src/SMESHGUI/SMESHGUI_XmlHandler.cxx
src/SMESHGUI/SMESHGUI_XmlHandler.h
src/SMESHGUI/SMESH_SMESHGUI.hxx [new file with mode: 0755]
src/SMESHGUI/SMESH_msg_en.po
src/SMESH_I/SMESH.hxx
src/SMESH_I/SMESH_1D_Algo_i.cxx
src/SMESH_I/SMESH_1D_Algo_i.hxx
src/SMESH_I/SMESH_2D_Algo_i.cxx
src/SMESH_I/SMESH_2D_Algo_i.hxx
src/SMESH_I/SMESH_2smeshpy.cxx
src/SMESH_I/SMESH_2smeshpy.hxx
src/SMESH_I/SMESH_3D_Algo_i.cxx
src/SMESH_I/SMESH_3D_Algo_i.hxx
src/SMESH_I/SMESH_Algo_i.cxx
src/SMESH_I/SMESH_Algo_i.hxx
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_Gen_i_1.cxx
src/SMESH_I/SMESH_Group_i.hxx
src/SMESH_I/SMESH_Hypothesis_i.cxx
src/SMESH_I/SMESH_Hypothesis_i.hxx
src/SMESH_I/SMESH_MEDFamily_i.cxx
src/SMESH_I/SMESH_MEDFamily_i.hxx
src/SMESH_I/SMESH_MEDMesh_i.cxx
src/SMESH_I/SMESH_MEDMesh_i.hxx
src/SMESH_I/SMESH_MEDSupport_i.cxx
src/SMESH_I/SMESH_MEDSupport_i.hxx
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_Mesh_i.hxx
src/SMESH_I/SMESH_Pattern_i.hxx
src/SMESH_I/SMESH_PythonDump.hxx
src/SMESH_I/SMESH_subMesh_i.cxx
src/SMESH_I/SMESH_subMesh_i.hxx
src/SMESH_SWIG/Makefile.in
src/SMESH_SWIG/PAL_MESH_041_mesh.py
src/SMESH_SWIG/PAL_MESH_043_2D.py
src/SMESH_SWIG/PAL_MESH_043_3D.py
src/SMESH_SWIG/SMESH_AdvancedEditor.py
src/SMESH_SWIG/SMESH_BelongToGeom.py
src/SMESH_SWIG/SMESH_GroupFromGeom.py
src/SMESH_SWIG/SMESH_GroupFromGeom2.py
src/SMESH_SWIG/SMESH_GroupLyingOnGeom.py
src/SMESH_SWIG/SMESH_Nut.py
src/SMESH_SWIG/SMESH_Partition1_tetra.py
src/SMESH_SWIG/SMESH_blocks.py
src/SMESH_SWIG/SMESH_box.py
src/SMESH_SWIG/SMESH_box2_tetra.py
src/SMESH_SWIG/SMESH_box3_tetra.py
src/SMESH_SWIG/SMESH_box_tetra.py
src/SMESH_SWIG/SMESH_controls.py
src/SMESH_SWIG/SMESH_demo_hexa2_upd.py
src/SMESH_SWIG/SMESH_fixation_hexa.py
src/SMESH_SWIG/SMESH_fixation_netgen.py
src/SMESH_SWIG/SMESH_fixation_tetra.py
src/SMESH_SWIG/SMESH_flight_skin.py
src/SMESH_SWIG/SMESH_freebord.py
src/SMESH_SWIG/SMESH_hexaedre.py
src/SMESH_SWIG/SMESH_mechanic.py
src/SMESH_SWIG/SMESH_mechanic_editor.py
src/SMESH_SWIG/SMESH_mechanic_netgen.py
src/SMESH_SWIG/SMESH_mechanic_tetra.py
src/SMESH_SWIG/SMESH_reg.py
src/SMESH_SWIG/SMESH_test.py
src/SMESH_SWIG/SMESH_test0.py
src/SMESH_SWIG/SMESH_test1.py
src/SMESH_SWIG/SMESH_test1_AndDisplay.py [new file with mode: 0644]
src/SMESH_SWIG/SMESH_test2.py
src/SMESH_SWIG/SMESH_test4.py
src/SMESH_SWIG/SMESH_test5.py
src/SMESH_SWIG/batchmode_mefisto.py
src/SMESH_SWIG/ex19_sphereINcube.py
src/SMESH_SWIG/smesh.py
src/StdMeshers/Makefile.in
src/StdMeshers/SMESH_StdMeshers.hxx [new file with mode: 0755]
src/StdMeshers/StdMeshers_Arithmetic1D.hxx
src/StdMeshers/StdMeshers_AutomaticLength.hxx
src/StdMeshers/StdMeshers_Deflection1D.cxx
src/StdMeshers/StdMeshers_Deflection1D.hxx
src/StdMeshers/StdMeshers_Distribution.cxx
src/StdMeshers/StdMeshers_Distribution.hxx
src/StdMeshers/StdMeshers_Hexa_3D.cxx
src/StdMeshers/StdMeshers_Hexa_3D.hxx
src/StdMeshers/StdMeshers_LayerDistribution.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_LayerDistribution.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_LengthFromEdges.hxx
src/StdMeshers/StdMeshers_LocalLength.hxx
src/StdMeshers/StdMeshers_MEFISTO_2D.cxx
src/StdMeshers/StdMeshers_MEFISTO_2D.hxx
src/StdMeshers/StdMeshers_MaxElementArea.hxx
src/StdMeshers/StdMeshers_MaxElementVolume.cxx
src/StdMeshers/StdMeshers_MaxElementVolume.hxx
src/StdMeshers/StdMeshers_NotConformAllowed.cxx
src/StdMeshers/StdMeshers_NotConformAllowed.hxx
src/StdMeshers/StdMeshers_NumberOfLayers.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_NumberOfLayers.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_NumberOfSegments.hxx
src/StdMeshers/StdMeshers_Penta_3D.cxx
src/StdMeshers/StdMeshers_Penta_3D.hxx
src/StdMeshers/StdMeshers_Prism_3D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Prism_3D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource1D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource1D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource2D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource2D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource3D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionSource3D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionUtils.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_ProjectionUtils.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_1D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_1D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_2D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_2D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_3D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Projection_3D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Propagation.hxx
src/StdMeshers/StdMeshers_QuadranglePreference.hxx
src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
src/StdMeshers/StdMeshers_Quadrangle_2D.hxx
src/StdMeshers/StdMeshers_QuadraticMesh.hxx
src/StdMeshers/StdMeshers_RadialPrism_3D.cxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_RadialPrism_3D.hxx [new file with mode: 0644]
src/StdMeshers/StdMeshers_Regular_1D.cxx
src/StdMeshers/StdMeshers_Regular_1D.hxx
src/StdMeshers/StdMeshers_StartEndLength.hxx
src/StdMeshersGUI/Makefile.in
src/StdMeshersGUI/SMESH_StdMeshersGUI.hxx [new file with mode: 0755]
src/StdMeshersGUI/StdMeshersGUI.cxx
src/StdMeshersGUI/StdMeshersGUI_DistrPreview.h
src/StdMeshersGUI/StdMeshersGUI_DistrTable.h
src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx [new file with mode: 0644]
src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.h [new file with mode: 0644]
src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.h
src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.cxx [new file with mode: 0644]
src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.h [new file with mode: 0644]
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/SMESH_StdMeshers_I.hxx [new file with mode: 0755]
src/StdMeshers_I/StdMeshers_Arithmetic1D_i.cxx
src/StdMeshers_I/StdMeshers_Arithmetic1D_i.hxx
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_Deflection1D_i.hxx
src/StdMeshers_I/StdMeshers_Hexa_3D_i.cxx
src/StdMeshers_I/StdMeshers_Hexa_3D_i.hxx
src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_LayerDistribution_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_LengthFromEdges_i.cxx
src/StdMeshers_I/StdMeshers_LengthFromEdges_i.hxx
src/StdMeshers_I/StdMeshers_LocalLength_i.cxx
src/StdMeshers_I/StdMeshers_LocalLength_i.hxx
src/StdMeshers_I/StdMeshers_MEFISTO_2D_i.cxx
src/StdMeshers_I/StdMeshers_MEFISTO_2D_i.hxx
src/StdMeshers_I/StdMeshers_MaxElementArea_i.cxx
src/StdMeshers_I/StdMeshers_MaxElementArea_i.hxx
src/StdMeshers_I/StdMeshers_MaxElementVolume_i.cxx
src/StdMeshers_I/StdMeshers_MaxElementVolume_i.hxx
src/StdMeshers_I/StdMeshers_NotConformAllowed_i.cxx
src/StdMeshers_I/StdMeshers_NotConformAllowed_i.hxx
src/StdMeshers_I/StdMeshers_NumberOfLayers_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_NumberOfLayers_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx
src/StdMeshers_I/StdMeshers_NumberOfSegments_i.hxx
src/StdMeshers_I/StdMeshers_ObjRefUlils.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ObjRefUlils.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_Prism_3D_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_Prism_3D_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.cxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.hxx [new file with mode: 0644]
src/StdMeshers_I/StdMeshers_Propagation_i.cxx
src/StdMeshers_I/StdMeshers_Propagation_i.hxx
src/StdMeshers_I/StdMeshers_QuadranglePreference_i.cxx
src/StdMeshers_I/StdMeshers_QuadranglePreference_i.hxx
src/StdMeshers_I/StdMeshers_Quadrangle_2D_i.cxx
src/StdMeshers_I/StdMeshers_Quadrangle_2D_i.hxx
src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx
src/StdMeshers_I/StdMeshers_Regular_1D_i.cxx
src/StdMeshers_I/StdMeshers_Regular_1D_i.hxx
src/StdMeshers_I/StdMeshers_StartEndLength_i.cxx
src/StdMeshers_I/StdMeshers_StartEndLength_i.hxx
src/StdMeshers_I/StdMeshers_i.cxx

index f7af3614076b3994eaefa3ad6e8a6c1ff2061d6d..d47aa94f8f3ae5904ad730af8d9139877d94a84e 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>About viewing meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:25px; height:24px; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:404px; height:413px; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-p.whs5 { font-weight:bold; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nViewing meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Viewing meshes</h1>\r
-\r
-<p>After definition of algorithms and hypotheses a new mesh is listed in \r
- the Object Browser. Right-click on it and select <img src="image28.gif" width="25px" height="24px" border="0" class="img_whs1"> <span \r
- style="font-weight: bold;"><B>Compute</B></span> - the mesh will be automatically \r
- displayed in the <span style="font-weight: bold;"><B><a href="files/vtk_3d_viewer.htm">VTK \r
- 3D Viewer</a>.</B></span> Alternatively click<span style="font-weight: bold;"><B> \r
- Display only</B></span> to hide all other objects at the same time. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>After the mesh has appeared in the Viewer, you can select it with left \r
- mouse click and &nbsp;get \r
- information about it, change its presentation parameters and access to \r
- other useful options by right-clicking on the selected mesh<span style="font-weight: bold;"><B>.</B></span></p>\r
-\r
-<p>&nbsp;&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image15.jpg" width="404px" height="413px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Erase all</B></span> \r
- &nbsp;- allows \r
- to hide all objects in the viewer</p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Update</B></span> \r
- - refreshes the presentation of your mesh in the Object Browser, applying \r
- all recent changes.</p></li>\r
-       \r
-       <li class=kadov-p><p><a href="files/viewing_mesh_info.htm#advanced infos" style="font-weight: bold;">Advanced Mesh Infos</a> \r
- - &nbsp;provides \r
- more detailed information about the mesh. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs5"><a href="files/viewing_mesh_info.htm#standard_infos">Standard \r
- Mesh Infos</a> - <span style="font-weight: normal;">provides basic information \r
- about the mesh.</span></p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B><a href="files/displaying_nodes_numbers.htm">Numbering</a></B></span> \r
- &nbsp;- allows \r
- to display the ID numbers of all meshing elements or nodes composing your \r
- mesh in the viewer.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs5"><a href="presentation.htm" style="font-weight: bold;">Display \r
- Mode</a> - <span style="font-weight: normal;">allows to select between \r
- Wireframe, Shading and Nodes presentation.</span></p></li>\r
-       \r
-       <li class=kadov-p><p><a href="display_entity.htm" style="font-weight: bold;">Display Entity</a> \r
- - allows to display Faces, Edges or both. </p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Colors / Size</B></span> \r
- - allows to select color and size of meshes.</p></li>\r
-       \r
-       <li class=kadov-p><p><a href="transparency.htm" style="font-weight: bold;">Transparency</a> \r
- - allows to change the transparency of mesh elements.</p></li>\r
-       \r
-       <li class=kadov-p><p><a href="clipping.htm" style="font-weight: bold;">Clipping</a> - allows \r
- to create cross-sections of the selected objects.</p></li>\r
-       \r
-       <li class=kadov-p><p><a href="files/about_quality_controls.htm" style="font-weight: bold;">Quality Controls</a> \r
- - graphically presents various information about meshes.</p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Erase</B></span> \r
- - allows to hide the selected mesh from the viewer. </p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Display Only</B></span> \r
- -allows to display only the selected mesh, hiding all other from the viewer.</p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Dump view</B></span> \r
- - exports an object from the viewer in bmp, png, jpg or jpeg image format. \r
- </p></li>\r
-       \r
-       <li class=kadov-p><p><span style="font-weight: bold;"><B>Change background</B></span> \r
- - allows to redefine the background color. By default it is black. &nbsp;</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>About viewing meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:25px; height:24px; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:404px; height:413px; border-style:none; }
+ul.whs4 { list-style:disc; }
+p.whs5 { font-weight:bold; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nViewing meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Viewing meshes</h1>
+
+<p>After definition of algorithms and hypotheses a new mesh is listed in 
+ the Object Browser. Right-click on it and select <img src="image28.gif" width="25px" height="24px" border="0" class="img_whs1"> <span 
+ style="font-weight: bold;"><B>Compute</B></span> - the mesh will be automatically 
+ displayed in the <span style="font-weight: bold;"><B><a href="files/vtk_3d_viewer.htm">VTK 
+ 3D Viewer</a>.</B></span> Alternatively click<span style="font-weight: bold;"><B> 
+ Display only</B></span> to hide all other objects at the same time. </p>
+
+<p>&nbsp;</p>
+
+<p>After the mesh has appeared in the Viewer, you can select it with left 
+ mouse click and &nbsp;get 
+ information about it, change its presentation parameters and access to 
+ other useful options by right-clicking on the selected mesh<span style="font-weight: bold;"><B>.</B></span></p>
+
+<p>&nbsp;&nbsp;</p>
+
+<p class="whs2"><img src="image15.jpg" width="404px" height="413px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Erase all</B></span> 
+ &nbsp;- allows 
+ to hide all objects in the viewer</p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Update</B></span> 
+ - refreshes the presentation of your mesh in the Object Browser, applying 
+ all recent changes.</p></li>
+       
+       <li class=kadov-p><p><a href="files/viewing_mesh_info.htm#advanced infos" style="font-weight: bold;">Advanced Mesh Infos</a> 
+ - &nbsp;provides 
+ more detailed information about the mesh. </p></li>
+       
+       <li class=kadov-p><p class="whs5"><a href="files/viewing_mesh_info.htm#standard_infos">Standard 
+ Mesh Infos</a> - <span style="font-weight: normal;">provides basic information 
+ about the mesh.</span></p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B><a href="files/displaying_nodes_numbers.htm">Numbering</a></B></span> 
+ &nbsp;- allows 
+ to display the ID numbers of all meshing elements or nodes composing your 
+ mesh in the viewer.</p></li>
+       
+       <li class=kadov-p><p class="whs5"><a href="presentation.htm" style="font-weight: bold;">Display 
+ Mode</a> - <span style="font-weight: normal;">allows to select between 
+ Wireframe, Shading and Nodes presentation.</span></p></li>
+       
+       <li class=kadov-p><p><a href="display_entity.htm" style="font-weight: bold;">Display Entity</a> 
+ - allows to display Faces, Edges or both. </p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Colors / Size</B></span> 
+ - allows to select color and size of meshes.</p></li>
+       
+       <li class=kadov-p><p><a href="transparency.htm" style="font-weight: bold;">Transparency</a> 
+ - allows to change the transparency of mesh elements.</p></li>
+       
+       <li class=kadov-p><p><a href="clipping.htm" style="font-weight: bold;">Clipping</a> - allows 
+ to create cross-sections of the selected objects.</p></li>
+       
+       <li class=kadov-p><p><a href="files/about_quality_controls.htm" style="font-weight: bold;">Quality Controls</a> 
+ - graphically presents various information about meshes.</p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Erase</B></span> 
+ - allows to hide the selected mesh from the viewer. </p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Display Only</B></span> 
+ -allows to display only the selected mesh, hiding all other from the viewer.</p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Dump view</B></span> 
+ - exports an object from the viewer in bmp, png, jpg or jpeg image format. 
+ </p></li>
+       
+       <li class=kadov-p><p><span style="font-weight: bold;"><B>Change background</B></span> 
+ - allows to redefine the background color. By default it is black. &nbsp;</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 86db2586e2604b6b9f0278222ec3f4e9be16726a..b4d5067d2b782bdbffc7ef994928b8fb6c42e78a 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Adding Quadratic Nodes and Elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:148px; height:168px; border-style:none; }\r
-img_whs3 { border:none; width:332px; height:350px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nAdding quadratic elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Adding Quadratic Elements</h1>\r
-\r
-<p>MESH modules allows you to work with <span style="font-weight: bold;"><B>Quadratic \r
- Elements</B></span>.</p>\r
-\r
-<p>Quadratic Edge in not a straight but a broken line and can be defined \r
- by three points: first, middle and last. All more complex <span style="font-weight: bold;"><B>Quadratic \r
- Elements</B></span> differ from ordinary ones in that they consist of Quadratic \r
- Edges.</p>\r
-\r
-<p class=TODO\r
-       style="font-family: 'Arial Black', sans-serif; font-style: italic;">To \r
- add a quadratic element to your mesh:</p>\r
-\r
-<p class="whs1">1. Select your mesh in the Object Browser \r
- or in the 3D viewer.</p>\r
-\r
-<p class="whs1">2. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Add </B></span>item \r
- and select one of the following: </p>\r
-\r
-<p class="whs1"><img src="image152.gif" width="148px" height="168px" border="0" class="img_whs2"></p>\r
-\r
-<p class="whs1">To create any <span style="font-weight: bold;"><B>Quadratic \r
- Element </B></span>specify the nodes which will form your triangle by selecting \r
- them in the 3D viewer with pressed Shift button. Their numbers will appear \r
- in the dialog box as <span style="font-weight: bold;"><B>Corner Nodes</B></span> \r
- (alternatively you can just input numbers in this field without selection).The \r
- edges formed by the corner nodes will appear in the table. To define the \r
- middle nodes for each edge double-click on the respective field and input \r
- the number of the node. All edges and the object formed by them will be \r
- displayed in the Object browser. When all edges are defined you will be \r
- able to click <span style="font-weight: bold;"><B>OK</B></span> or <span style="font-weight: bold;"><B>Apply</B></span> \r
- button to add the element to the mesh. </p>\r
-\r
-<p class="whs1">&nbsp;<img src="pics/aqt.png" x-maintain-ratio="TRUE" width="332px" height="350px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Reverse</B></span> \r
- button for Quadratic Edges switches the first and the last nodes. <span \r
- style="margin-left: 40px;">For all other elements it reverses the element. \r
- </span></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Adding Quadratic Nodes and Elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:148px; height:168px; border-style:none; }
+img_whs3 { border:none; width:332px; height:350px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nAdding quadratic elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Adding Quadratic Elements</h1>
+
+<p>MESH modules allows you to work with <span style="font-weight: bold;"><B>Quadratic 
+ Elements</B></span>.</p>
+
+<p>Quadratic Edge in not a straight but a broken line and can be defined 
+ by three points: first, middle and last. All more complex <span style="font-weight: bold;"><B>Quadratic 
+ Elements</B></span> differ from ordinary ones in that they consist of Quadratic 
+ Edges.</p>
+
+<p class=TODO
+       style="font-family: 'Arial Black', sans-serif; font-style: italic;">To 
+ add a quadratic element to your mesh:</p>
+
+<p class="whs1">1. Select your mesh in the Object Browser 
+ or in the 3D viewer.</p>
+
+<p class="whs1">2. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Add </B></span>item 
+ and select one of the following: </p>
+
+<p class="whs1"><img src="image152.gif" width="148px" height="168px" border="0" class="img_whs2"></p>
+
+<p class="whs1">To create any <span style="font-weight: bold;"><B>Quadratic 
+ Element </B></span>specify the nodes which will form your triangle by selecting 
+ them in the 3D viewer with pressed Shift button. Their numbers will appear 
+ in the dialog box as <span style="font-weight: bold;"><B>Corner Nodes</B></span> 
+ (alternatively you can just input numbers in this field without selection).The 
+ edges formed by the corner nodes will appear in the table. To define the 
+ middle nodes for each edge double-click on the respective field and input 
+ the number of the node. All edges and the object formed by them will be 
+ displayed in the Object browser. When all edges are defined you will be 
+ able to click <span style="font-weight: bold;"><B>OK</B></span> or <span style="font-weight: bold;"><B>Apply</B></span> 
+ button to add the element to the mesh. </p>
+
+<p class="whs1">&nbsp;<img src="pics/aqt.png" x-maintain-ratio="TRUE" width="332px" height="350px" border="0" class="img_whs3"></p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Reverse</B></span> 
+ button for Quadratic Edges switches the first and the last nodes. <span 
+ style="margin-left: 40px;">For all other elements it reverses the element. 
+ </span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 9b9e5bd0d16ecab9662ed804b594a3e1f8e9270e..bd1d7ddfc7f2c5dfe8dd7e2a949ea1fe3b35d582 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Aspect ratio 3D</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:416px; height:385px; border-style:none; }\r
-img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs3 { list-style:disc; }\r
-img_whs4 { border:none; width:258px; height:246px; border-style:none; float:left; }\r
-img_whs5 { border:none; width:133px; height:56px; border-style:none; }\r
-img_whs6 { border:none; width:425px; height:192px; border-style:none; }\r
-img_whs7 { border:none; width:89px; height:32px; border-style:none; }\r
-img_whs8 { border:none; width:569px; height:386px; float:none; border-style:none; }\r
-p.whs9 { margin-left:40px; }\r
-img_whs10 { border:none; width:24px; height:26px; border-style:none; }\r
-p.whs11 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs11 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nAspect ratio 3D");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Aspect ratio 3D</h1>\r
-\r
-<p><img src="image86.jpg" width="416px" height="385px" border="0" class="img_whs1"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> The Aspect Ratio 3D mesh quality criterion calculates \r
- the same parameter as the <a href="files/aspect_ratio.htm">Aspect ratio</a> \r
- criterion, but it is applied to 3D mesh elements: tetrahedrons, pentahedrons, \r
- hexahedrons, etc. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p><img src="image20.gif" width="258px" height="246px" align="left" border="0" class="img_whs4">The <span style="font-weight: bold;"><B>Aspect \r
- Ratio</B></span> of a <span style="font-weight: bold;"><B>tetrahedron</B></span> \r
- 3D element is calculated by the formula:</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="image19.gif" width="133px" height="56px" border="0" class="img_whs5">,</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>where <span style="font-weight: bold; font-style: italic;"><I><B>S</B></I></span><span \r
- style="font-weight: bold;\r
-               font-style: italic;\r
-               vertical-align: Sub;"><I><B>K</B></I></span> is the sum of surfaces of the faces \r
- of &#1050; and <span style="font-weight: bold; font-style: italic;"><I><B>V</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>K</B></I></span> is the volume of &#1050; :</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="image18.gif" width="425px" height="192px" border="0" class="img_whs6">T</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p>Other element types like quadrangle, pentahedron \r
- and hexahedron use the following formula:</p></li>\r
-</ul>\r
-\r
-<p><img src="image30.gif" width="89px" height="32px" border="0" class="img_whs7"> , where <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>i</B></I></span> represents the value of <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>k</B></I></span> for all possible simplexes (of the \r
- same dimension as the element) that compose the element.</p>\r
-\r
-<p>For example, a hexahedron is split in 6 tetrahedrons, the <span style="font-weight: bold;"><B>Aspect \r
- ratio 3D</B></span> is calculated for each of them, then the greatest <span \r
- style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span style="vertical-align: Sub;\r
-       font-weight: bold;\r
-       font-style: italic;"><I><B>k</B></I></span> is considered to be the &nbsp;<span \r
- style="font-weight: bold;"><B>Aspect ratio 3D</B></span> \r
- criterion for the whole &nbsp;hexahedron.</p>\r
-\r
-<p><img src="pics/image139.gif" x-maintain-ratio="TRUE" width="569px" height="386px" border="0" class="img_whs8"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Aspect Ratio 3D quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs9">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Aspect Ratio 3D </B></span>or click <img src="image144.gif" width="24px" height="26px" border="0" class="img_whs10"> button of the toolbar. \r
- Your mesh will be displayed in the viewer with its elements colored according \r
- to the applied mesh quality control criterion:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs11"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <span style="font-weight: bold;"><B><a href="quality_controls.htm#bookmark11">Aspect \r
- Ratio 3D</B></span> quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Aspect ratio 3D</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:416px; height:385px; border-style:none; }
+img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs3 { list-style:disc; }
+img_whs4 { border:none; width:258px; height:246px; border-style:none; float:left; }
+img_whs5 { border:none; width:133px; height:56px; border-style:none; }
+img_whs6 { border:none; width:425px; height:192px; border-style:none; }
+img_whs7 { border:none; width:89px; height:32px; border-style:none; }
+img_whs8 { border:none; width:569px; height:386px; float:none; border-style:none; }
+p.whs9 { margin-left:40px; }
+img_whs10 { border:none; width:24px; height:26px; border-style:none; }
+p.whs11 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs11 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nAspect ratio 3D");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Aspect ratio 3D</h1>
+
+<p><img src="image86.jpg" width="416px" height="385px" border="0" class="img_whs1"></p>
+
+<p>&nbsp;</p>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> The Aspect Ratio 3D mesh quality criterion calculates 
+ the same parameter as the <a href="files/aspect_ratio.htm">Aspect ratio</a> 
+ criterion, but it is applied to 3D mesh elements: tetrahedrons, pentahedrons, 
+ hexahedrons, etc. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p><img src="image20.gif" width="258px" height="246px" align="left" border="0" class="img_whs4">The <span style="font-weight: bold;"><B>Aspect 
+ Ratio</B></span> of a <span style="font-weight: bold;"><B>tetrahedron</B></span> 
+ 3D element is calculated by the formula:</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p><img src="image19.gif" width="133px" height="56px" border="0" class="img_whs5">,</p>
+
+<p>&nbsp;</p>
+
+<p>where <span style="font-weight: bold; font-style: italic;"><I><B>S</B></I></span><span 
+ style="font-weight: bold;
+               font-style: italic;
+               vertical-align: Sub;"><I><B>K</B></I></span> is the sum of surfaces of the faces 
+ of &#1050; and <span style="font-weight: bold; font-style: italic;"><I><B>V</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>K</B></I></span> is the volume of &#1050; :</p>
+
+<p>&nbsp;</p>
+
+<p><img src="image18.gif" width="425px" height="192px" border="0" class="img_whs6">T</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p>Other element types like quadrangle, pentahedron 
+ and hexahedron use the following formula:</p></li>
+</ul>
+
+<p><img src="image30.gif" width="89px" height="32px" border="0" class="img_whs7"> , where <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>i</B></I></span> represents the value of <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>k</B></I></span> for all possible simplexes (of the 
+ same dimension as the element) that compose the element.</p>
+
+<p>For example, a hexahedron is split in 6 tetrahedrons, the <span style="font-weight: bold;"><B>Aspect 
+ ratio 3D</B></span> is calculated for each of them, then the greatest <span 
+ style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span style="vertical-align: Sub;
+       font-weight: bold;
+       font-style: italic;"><I><B>k</B></I></span> is considered to be the &nbsp;<span 
+ style="font-weight: bold;"><B>Aspect ratio 3D</B></span> 
+ criterion for the whole &nbsp;hexahedron.</p>
+
+<p><img src="pics/image139.gif" x-maintain-ratio="TRUE" width="569px" height="386px" border="0" class="img_whs8"></p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To apply the Aspect Ratio 3D quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs9">1. Display your mesh in the viewer.</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Aspect Ratio 3D </B></span>or click <img src="image144.gif" width="24px" height="26px" border="0" class="img_whs10"> button of the toolbar. 
+ Your mesh will be displayed in the viewer with its elements colored according 
+ to the applied mesh quality control criterion:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs11"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <span style="font-weight: bold;"><B><a href="quality_controls.htm#bookmark11">Aspect 
+ Ratio 3D</B></span> quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index cf5d3a9ca2f1bc7a9caad1ae64a762120f8276be..8ad86b523ba03136674e404a057568b25a92650f 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Borders at multi-connection</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:223px; height:213px; border-style:none; }\r
-p.whs4 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs4 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nBorders at multi-connection");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Borders at multi-connection</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of faces \r
- consisting of edges belonging to several faces. The amount of faces is \r
- specified by user.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image151.gif" width="223px" height="213px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>In this picture the borders at multi-connection are displayed in blue.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark1">Borders \r
- at Multi-Connection quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Borders at multi-connection</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:223px; height:213px; border-style:none; }
+p.whs4 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs4 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nBorders at multi-connection");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Borders at multi-connection</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of faces 
+ consisting of edges belonging to several faces. The amount of faces is 
+ specified by user.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="image151.gif" width="223px" height="213px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<p>In this picture the borders at multi-connection are displayed in blue.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark1">Borders 
+ at Multi-Connection quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 3cb8e549d32dfc17fd7769c1ef0e4c0bbee3a132..2e9e180c0ca45acb33e35f646d1049fa57bde2ac 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Borders at multiconnection 2D</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-img_whs2 { border:none; width:420px; height:312px; border-style:none; }\r
-p.whs3 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs3 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nBorders at multi-connection 2D");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Borders at multi-connection 2D</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of elements \r
- of mesh, consisting of edges belonging to several elements of mesh. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="image127.gif" width="420px" height="312px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark5">Borders \r
- at Multi-Connection quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Borders at multiconnection 2D</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+img_whs2 { border:none; width:420px; height:312px; border-style:none; }
+p.whs3 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs3 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nBorders at multi-connection 2D");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Borders at multi-connection 2D</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of elements 
+ of mesh, consisting of edges belonging to several elements of mesh. </p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="image127.gif" width="420px" height="312px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark5">Borders 
+ at Multi-Connection quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 9cfba3b64b35ce1fcffc427ed99fcfbaa6c86761..dec479c99a4d6fe453462965b82c67fe0eb42a8f 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Clipping</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:332px; height:327px; float:none; border-style:none; }\r
-p.whs3 { font-weight:bold; margin-left:40px; }\r
-img_whs4 { border:none; width:326px; height:199px; border-style:none; }\r
-p.whs5 { font-weight:bold; }\r
-img_whs6 { border:none; width:329px; height:210px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nClipping");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Clipping</h1>\r
-\r
-<p>Using this menu you can create cross-section views (clipping planes) \r
- of your mesh.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>To start, click on the New button. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/a-clipping2.png" x-maintain-ratio="TRUE" width="332px" height="327px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>Now you can define the parameters of your cross-section: <span style="font-weight: bold;"><B>Orientation</B></span> \r
- &nbsp;(X-Y, X-Z \r
- or Y-Z); <span style="font-weight: bold;"><B>Distance </B></span>between the \r
- opposite extremities of the object,<span style="font-weight: bold;"> <B></B></span>if \r
- it is set to 0.5 the object is split in two halves; and <span style="font-weight: bold;"><B>Rotation</B></span> \r
- (in angle degrees) <span style="font-weight: bold;"><B>around X (Y to Z) \r
- </B></span>and<span style="font-weight: bold;"><B> around Y (X to Z)</B></span>. \r
- If the <span style="font-weight: bold;"><B>Show preview</B></span> button is \r
- on, you can see the clipping plane in the <span style="font-weight: bold;"><B>Object \r
- window. </B></span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="image79.jpg" width="326px" height="199px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: normal;">If the</span> \r
- Auto Apply<span style="font-weight: normal;"> button is on, you can preview \r
- the cross-section in the</span> Object window</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="image99.gif" width="329px" height="210px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: normal;">To get \r
- a new object from </span>Clipping, <span style="font-weight: normal;">click</span> \r
- Ok. </p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Clipping</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:332px; height:327px; float:none; border-style:none; }
+p.whs3 { font-weight:bold; margin-left:40px; }
+img_whs4 { border:none; width:326px; height:199px; border-style:none; }
+p.whs5 { font-weight:bold; }
+img_whs6 { border:none; width:329px; height:210px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nClipping");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Clipping</h1>
+
+<p>Using this menu you can create cross-section views (clipping planes) 
+ of your mesh.</p>
+
+<p>&nbsp;</p>
+
+<p>To start, click on the New button. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs1"><img src="pics/a-clipping2.png" x-maintain-ratio="TRUE" width="332px" height="327px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p>Now you can define the parameters of your cross-section: <span style="font-weight: bold;"><B>Orientation</B></span> 
+ &nbsp;(X-Y, X-Z 
+ or Y-Z); <span style="font-weight: bold;"><B>Distance </B></span>between the 
+ opposite extremities of the object,<span style="font-weight: bold;"> <B></B></span>if 
+ it is set to 0.5 the object is split in two halves; and <span style="font-weight: bold;"><B>Rotation</B></span> 
+ (in angle degrees) <span style="font-weight: bold;"><B>around X (Y to Z) 
+ </B></span>and<span style="font-weight: bold;"><B> around Y (X to Z)</B></span>. 
+ If the <span style="font-weight: bold;"><B>Show preview</B></span> button is 
+ on, you can see the clipping plane in the <span style="font-weight: bold;"><B>Object 
+ window. </B></span></p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="image79.jpg" width="326px" height="199px" border="0" class="img_whs4"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: normal;">If the</span> 
+ Auto Apply<span style="font-weight: normal;"> button is on, you can preview 
+ the cross-section in the</span> Object window</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs3"><img src="image99.gif" width="329px" height="210px" border="0" class="img_whs6"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: normal;">To get 
+ a new object from </span>Clipping, <span style="font-weight: normal;">click</span> 
+ Ok. </p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 02059fa6b79a18616b79c61247c54b2cb26e5f5d..a643f436f5807f11ea580dee480bc93a5d4e10fd 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Constructing Meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs4 { font-family:'Lucida Console' , monospace; margin-top:0px; margin-bottom:0px; }\r
-p.whs5 { margin-top:0px; margin-bottom:0px; font-family:'Times New Roman' , serif; }\r
-p.whs6 { margin-top:0px; margin-bottom:0px; }\r
-p.whs7 { margin-top:0px; margin-bottom:0px; font-family:'Lucida Console' , monospace; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nCreating Meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Creating Meshes</h1>\r
-\r
-<p class="whs1">First of all see <a href="smesh.py_introduction.htm">Example \r
- of 3d mesh generation</a>, which is an example of good python script style \r
- for Mesh module. </p>\r
-\r
-<p class="whs1">Other examples of python \r
- scripts will be also updated soon to use smesh package instead of direct \r
- usage of idl interface. </p>\r
-\r
-<h3><a name=bookmark>Construction of a Mesh</a></h3>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a box</p>\r
-\r
-<p class="whs2">box = geompy.MakeBox(0., \r
- 0., 0., 100., 200., 300.)</p>\r
-\r
-<p class="whs2">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a mesh</p>\r
-\r
-<p class="whs2">tetra = smesh.Mesh(box, \r
- &quot;MeshBox&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">algo1D = tetra.Segment()</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(7)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">algo2D = tetra.Triangle()</p>\r
-\r
-<p class="whs2">algo2D.MaxElementArea(800.)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>\r
-\r
-<p class="whs2">algo3D.MaxElementVolume(900.)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">ret = tetra.Compute()</p>\r
-\r
-<p class="whs2">if ret == 0:</p>\r
-\r
-<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;problem when computing the mesh&quot;</p>\r
-\r
-<p class="whs2">else:</p>\r
-\r
-<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;mesh computed&quot;</p>\r
-\r
-<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;pass \r
- </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h3><a name=bookmark1>Construction of a Submesh</a></h3>\r
-\r
-<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">from \r
- geompy import *</span></p>\r
-\r
-<p class="whs4">import smesh</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a box</p>\r
-\r
-<p class="whs4">box = MakeBoxDXDYDZ(10., 10., 10.)</p>\r
-\r
-<p class="whs4">addToStudy(box, &quot;Box&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># select one edge of \r
- the box for definition of a local hypothesis</p>\r
-\r
-<p class="whs4">p5 = MakeVertex(5., 0., 0.)</p>\r
-\r
-<p class="whs4">EdgeX = GetEdgeNearPoint(box, p5)</p>\r
-\r
-<p class="whs4">addToStudyInFather(box, EdgeX, &quot;Edge \r
- [0,0,0 - 10,0,0]&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs4">quadra = smesh.Mesh(box, &quot;Box : quadrangle \r
- 2D mesh&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a regular \r
- 1D algorithm for the faces</p>\r
-\r
-<p class="whs4">algo1D = quadra.Segment()</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># define &quot;NumberOfSegments&quot; \r
- hypothesis to cut</p>\r
-\r
-<p class="whs5"># all the edges in \r
- a fixed number of segments</p>\r
-\r
-<p class="whs4">algo1D.NumberOfSegments(4)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a quadrangle \r
- 2D algorithm for the faces</p>\r
-\r
-<p class="whs4">quadra.Quadrangle()</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># construct a submesh \r
- on the edge with a local hypothesis</p>\r
-\r
-<p class="whs4">algo_local = quadra.Segment(EdgeX)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># define &quot;Arithmetic1D&quot; \r
- hypothesis to cut the edge<span style="margin-top: 0px;\r
-                                                                               margin-bottom: 0px;\r
-                                                                               font-family: 'Times New Roman', serif;"> \r
- in several segments with increasing arithmetic length</span></p>\r
-\r
-<p class="whs4">algo_local.Arithmetic1D(1, 4)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># define &quot;Propagation&quot; \r
- hypothesis that propagates all other hypotheses</p>\r
-\r
-<p class="whs5"># on all edges of the \r
- opposite side in case of quadrangular faces</p>\r
-\r
-<p class="whs4">algo_local.Propagation()</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">quadra.Compute() </p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<h3><a name=bookmark2>Editing of a mesh</a></h3>\r
-\r
-<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs4">import smesh</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">def PrintMeshInfo(theMesh):</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;aMesh \r
- = theMesh.GetMesh()</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Information about mesh:&quot;</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Number of nodes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, aMesh.NbNodes()</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Number of edges &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, aMesh.NbEdges()</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Number of faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, aMesh.NbFaces()</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Number of volumes &nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, aMesh.NbVolumes()</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a box</p>\r
-\r
-<p class="whs4">box = geompy.MakeBox(0., 0., 0., 20., \r
- 20., 20.)</p>\r
-\r
-<p class="whs4">geompy.addToStudy(box, &quot;box&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># select one edge of \r
- the box for definition of a local hypothesis</p>\r
-\r
-<p class="whs4">subShapeList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs4">edge = subShapeList[0]</p>\r
-\r
-<p class="whs4">name = geompy.SubShapeName(edge, box)</p>\r
-\r
-<p class="whs4">geompy.addToStudyInFather(box, edge, name)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a mesh</p>\r
-\r
-<p class="whs4">tria = smesh.Mesh(box, &quot;Mesh 2D&quot;)</p>\r
-\r
-<p class="whs4">algo1D = tria.Segment()</p>\r
-\r
-<p class="whs4">hyp1 = algo1D.NumberOfSegments(3)</p>\r
-\r
-<p class="whs4">algo2D = tria.Triangle()</p>\r
-\r
-<p class="whs4">hyp2 = algo2D.MaxElementArea(10.)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a sub-mesh</p>\r
-\r
-<p class="whs4">algo_local = tria.Segment(edge)</p>\r
-\r
-<p class="whs4">hyp3 = algo_local.Arithmetic1D(1, 6)</p>\r
-\r
-<p class="whs4">hyp4 = algo_local.Propagation()</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">tria.Compute()</p>\r
-\r
-<p class="whs4">PrintMeshInfo(tria)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># remove a local hypothesis</p>\r
-\r
-<p class="whs4">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs4">mesh.RemoveHypothesis(edge, hyp4)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">tria.Compute()</p>\r
-\r
-<p class="whs4">PrintMeshInfo(tria)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># change the value \r
- of the 2D hypothesis</p>\r
-\r
-<p class="whs4">hyp2.SetMaxElementArea(2.)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">tria.Compute()</p>\r
-\r
-<p class="whs4">PrintMeshInfo(tria) </p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<h3><a name=bookmark3>Export of a Mesh</a></h3>\r
-\r
-<p class="whs7">import geompy</p>\r
-\r
-<p class="whs7">import smesh</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a box</p>\r
-\r
-<p class="whs7">box = geompy.MakeBox(0., \r
- 0., 0., 100., 200., 300.)</p>\r
-\r
-<p class="whs7">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a mesh</p>\r
-\r
-<p class="whs7">tetra = smesh.Mesh(box, \r
- &quot;MeshBox&quot;)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs7">algo1D = tetra.Segment()</p>\r
-\r
-<p class="whs7">algo1D.NumberOfSegments(7)</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7">algo2D = tetra.Triangle()</p>\r
-\r
-<p class="whs7">algo2D.MaxElementArea(800.)</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>\r
-\r
-<p class="whs7">algo3D.MaxElementVolume(900.)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># compute the mesh</p>\r
-\r
-<p class="whs7">tetra.Compute()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># export the mesh in a \r
- MED file</p>\r
-\r
-<p class="whs7">tetra.ExportMED(&quot;/tmp/meshMED.med&quot;, \r
- 0) </p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Constructing Meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs4 { font-family:'Lucida Console' , monospace; margin-top:0px; margin-bottom:0px; }
+p.whs5 { margin-top:0px; margin-bottom:0px; font-family:'Times New Roman' , serif; }
+p.whs6 { margin-top:0px; margin-bottom:0px; }
+p.whs7 { margin-top:0px; margin-bottom:0px; font-family:'Lucida Console' , monospace; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nCreating Meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Creating Meshes</h1>
+
+<p class="whs1">First of all see <a href="smesh.py_introduction.htm">Example 
+ of 3d mesh generation</a>, which is an example of good python script style 
+ for Mesh module. </p>
+
+<p class="whs1">Other examples of python 
+ scripts will be also updated soon to use smesh package instead of direct 
+ usage of idl interface. </p>
+
+<h3><a name=bookmark>Construction of a Mesh</a></h3>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a box</p>
+
+<p class="whs2">box = geompy.MakeBox(0., 
+ 0., 0., 100., 200., 300.)</p>
+
+<p class="whs2">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a mesh</p>
+
+<p class="whs2">tetra = smesh.Mesh(box, 
+ &quot;MeshBox&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">algo1D = tetra.Segment()</p>
+
+<p class="whs2">algo1D.NumberOfSegments(7)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">algo2D = tetra.Triangle()</p>
+
+<p class="whs2">algo2D.MaxElementArea(800.)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
+
+<p class="whs2">algo3D.MaxElementVolume(900.)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">ret = tetra.Compute()</p>
+
+<p class="whs2">if ret == 0:</p>
+
+<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;problem when computing the mesh&quot;</p>
+
+<p class="whs2">else:</p>
+
+<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;mesh computed&quot;</p>
+
+<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;pass 
+ </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<h3><a name=bookmark1>Construction of a Submesh</a></h3>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">from 
+ geompy import *</span></p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a box</p>
+
+<p class="whs4">box = MakeBoxDXDYDZ(10., 10., 10.)</p>
+
+<p class="whs4">addToStudy(box, &quot;Box&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># select one edge of 
+ the box for definition of a local hypothesis</p>
+
+<p class="whs4">p5 = MakeVertex(5., 0., 0.)</p>
+
+<p class="whs4">EdgeX = GetEdgeNearPoint(box, p5)</p>
+
+<p class="whs4">addToStudyInFather(box, EdgeX, &quot;Edge 
+ [0,0,0 - 10,0,0]&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs4">quadra = smesh.Mesh(box, &quot;Box : quadrangle 
+ 2D mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a regular 
+ 1D algorithm for the faces</p>
+
+<p class="whs4">algo1D = quadra.Segment()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define &quot;NumberOfSegments&quot; 
+ hypothesis to cut</p>
+
+<p class="whs5"># all the edges in 
+ a fixed number of segments</p>
+
+<p class="whs4">algo1D.NumberOfSegments(4)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a quadrangle 
+ 2D algorithm for the faces</p>
+
+<p class="whs4">quadra.Quadrangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># construct a submesh 
+ on the edge with a local hypothesis</p>
+
+<p class="whs4">algo_local = quadra.Segment(EdgeX)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define &quot;Arithmetic1D&quot; 
+ hypothesis to cut the edge<span style="margin-top: 0px;
+                                                                               margin-bottom: 0px;
+                                                                               font-family: 'Times New Roman', serif;"> 
+ in several segments with increasing arithmetic length</span></p>
+
+<p class="whs4">algo_local.Arithmetic1D(1, 4)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define &quot;Propagation&quot; 
+ hypothesis that propagates all other hypotheses</p>
+
+<p class="whs5"># on all edges of the 
+ opposite side in case of quadrangular faces</p>
+
+<p class="whs4">algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">quadra.Compute() </p>
+
+<p class="whs4">&nbsp;</p>
+
+<h3><a name=bookmark2>Editing of a mesh</a></h3>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">def PrintMeshInfo(theMesh):</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;aMesh 
+ = theMesh.GetMesh()</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Information about mesh:&quot;</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Number of nodes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, aMesh.NbNodes()</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Number of edges &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, aMesh.NbEdges()</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Number of faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, aMesh.NbFaces()</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Number of volumes &nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, aMesh.NbVolumes()</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;pass</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a box</p>
+
+<p class="whs4">box = geompy.MakeBox(0., 0., 0., 20., 
+ 20., 20.)</p>
+
+<p class="whs4">geompy.addToStudy(box, &quot;box&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># select one edge of 
+ the box for definition of a local hypothesis</p>
+
+<p class="whs4">subShapeList = geompy.SubShapeAll(box, 
+ geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs4">edge = subShapeList[0]</p>
+
+<p class="whs4">name = geompy.SubShapeName(edge, box)</p>
+
+<p class="whs4">geompy.addToStudyInFather(box, edge, name)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh</p>
+
+<p class="whs4">tria = smesh.Mesh(box, &quot;Mesh 2D&quot;)</p>
+
+<p class="whs4">algo1D = tria.Segment()</p>
+
+<p class="whs4">hyp1 = algo1D.NumberOfSegments(3)</p>
+
+<p class="whs4">algo2D = tria.Triangle()</p>
+
+<p class="whs4">hyp2 = algo2D.MaxElementArea(10.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a sub-mesh</p>
+
+<p class="whs4">algo_local = tria.Segment(edge)</p>
+
+<p class="whs4">hyp3 = algo_local.Arithmetic1D(1, 6)</p>
+
+<p class="whs4">hyp4 = algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">tria.Compute()</p>
+
+<p class="whs4">PrintMeshInfo(tria)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># remove a local hypothesis</p>
+
+<p class="whs4">mesh = tria.GetMesh()</p>
+
+<p class="whs4">mesh.RemoveHypothesis(edge, hyp4)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">tria.Compute()</p>
+
+<p class="whs4">PrintMeshInfo(tria)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># change the value 
+ of the 2D hypothesis</p>
+
+<p class="whs4">hyp2.SetMaxElementArea(2.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">tria.Compute()</p>
+
+<p class="whs4">PrintMeshInfo(tria) </p>
+
+<p class="whs6">&nbsp;</p>
+
+<h3><a name=bookmark3>Export of a Mesh</a></h3>
+
+<p class="whs7">import geompy</p>
+
+<p class="whs7">import smesh</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a box</p>
+
+<p class="whs7">box = geompy.MakeBox(0., 
+ 0., 0., 100., 200., 300.)</p>
+
+<p class="whs7">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a mesh</p>
+
+<p class="whs7">tetra = smesh.Mesh(box, 
+ &quot;MeshBox&quot;)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs7">algo1D = tetra.Segment()</p>
+
+<p class="whs7">algo1D.NumberOfSegments(7)</p>
+
+<p class="whs7">&nbsp;</p>
+
+<p class="whs7">algo2D = tetra.Triangle()</p>
+
+<p class="whs7">algo2D.MaxElementArea(800.)</p>
+
+<p class="whs7">&nbsp;</p>
+
+<p class="whs7">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
+
+<p class="whs7">algo3D.MaxElementVolume(900.)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># compute the mesh</p>
+
+<p class="whs7">tetra.Compute()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># export the mesh in a 
+ MED file</p>
+
+<p class="whs7">tetra.ExportMED(&quot;/tmp/meshMED.med&quot;, 
+ 0) </p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index dae507e12ab0b6ba22b12ae237766e7d31e43daa..4a4ee57e107c42adf1c68e679c1db41af3c3d943 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="JavaScript">\r
-<!--\r
-\r
-var gArrayCsh = new Array();\r
-\r
-var gstrWindowOption = "";\r
-var gstrURL = "";\r
-var gbWithNavPane = false;\r
-\r
-function CshEntityItem(strAliasId, nTopicNum, strUrl) \r
-{\r
-    this.strAliasId = strAliasId;\r
-    this.nTopicNum = nTopicNum;\r
-    this.strUrl = strUrl;\r
-}\r
-\r
-\r
-//Try to get to topic number from hash string\r
-function GetTopicNumberAuto(strMayBeNumber)\r
-{\r
-   var nNum = -1;\r
-   if (strMayBeNumber.length >= 1)\r
-   {\r
-               var strTmp = strMayBeNumber;\r
-               var iEnd = strTmp.length;\r
-               for (var i=0; i<iEnd; i++)\r
-               {\r
-                         var ch = strTmp.charAt(i);\r
-                         if (!((ch == "0") || (ch == "1") ||\r
-                               (ch == "2") || (ch == "3") ||\r
-                               (ch == "4") || (ch == "5") ||\r
-                               (ch == "6") || (ch == "7") ||\r
-                               (ch == "8") || (ch == "9")))\r
-                             return GetTopicNumberById(strTmp);\r
-               }\r
-               nNum = parseInt(strTmp);\r
-   }\r
-   return nNum;\r
-}\r
-\r
-function GetTopicNumber(strHashString)\r
-{\r
-       var nTopicEndPos = strHashString.indexOf(',')\r
-       if (nTopicEndPos == -1) { // no window option.\r
-               return GetTopicNumberOnly(strHashString);\r
-       }\r
-       else {\r
-               var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);\r
-               var strWithNavPane = 'withnavpane=true';\r
-               if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)\r
-               {\r
-                       if (strWindowOption.length > strWithNavPane.length)\r
-                               gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);\r
-                       else\r
-                               gstrWindowOption = "";\r
-                       gbWithNavPane = true;\r
-               }\r
-               else\r
-                       gstrWindowOption = strWindowOption;\r
-               return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos));            \r
-       }\r
-}\r
-\r
-function GetTopicNumberOnly(strTopicString)\r
-{\r
-       var nEqualPos = strTopicString.indexOf('=');\r
-       if (nEqualPos == -1) {\r
-               return GetTopicNumberAuto(strTopicString);\r
-       }\r
-       else {\r
-               var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);\r
-               if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {\r
-                       return parseInt(strValue);\r
-               } else if (strTopicString.toLowerCase().indexOf("context") == 0) {\r
-                       return GetTopicNumberById(strValue);\r
-               } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {\r
-                       gstrURL = strValue;\r
-                       return -1;\r
-               }\r
-\r
-       }\r
-}\r
-\r
-//Find HomePage of the WebHelp system\r
-// we try to get the topic from remote project if it exists.\r
-function RedirectToHomePage()\r
-{\r
-       if (parent && parent != this && parent.goNext)\r
-       {\r
-               var sHome = parent.goNext();\r
-               if (sHome != "")\r
-                       RedirectTo(sHome);\r
-       }\r
-}\r
-\r
-function getHomePage()\r
-{\r
-       if (parent && parent != this && parent.getRelHomePage)\r
-       {\r
-               return parent.getRelHomePage(document.location.href);\r
-       }\r
-       return "";\r
-}\r
-\r
-function addRemoteProject(strPath)\r
-{\r
-       if (parent && parent != this && parent.addProject)\r
-       {\r
-               parent.addProject(strPath);\r
-       }\r
-}\r
-\r
-//Redirect page to...\r
-function RedirectTo(strUrl)\r
-{\r
-   if (gstrWindowOption.length != 0) {\r
-               var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);\r
-               // close current window and rename the stub window to current window.\r
-               if (wnd)\r
-                       wnd.focus();\r
-               if (parent)\r
-                       parent.close();\r
-   }\r
-   else {\r
-       parent.document.location.href = strUrl;\r
-       window.focus();\r
-  }\r
-}\r
-\r
-//Prompt the user that we can not find...\r
-function FailToFind(strMsg)\r
-{\r
-    RedirectToHomePage();\r
-}\r
-\r
-//Find topic by topic number (defined in h file)\r
-function FindTopicByTopicNum(nTopicNum)\r
-{\r
-       var i = 0;\r
-       var iEnd = gArrayCsh.length;\r
-       for (i=0; i<iEnd; i++)\r
-       {\r
-               if (gArrayCsh[i].nTopicNum == nTopicNum)\r
-               {\r
-                       var strURL = gArrayCsh[i].strUrl;\r
-                       if (gbWithNavPane)\r
-                       {\r
-                               var strHomePage = getHomePage();\r
-                               if (strHomePage.length != 0)\r
-                                       strURL = strHomePage + strURL;\r
-                       }       \r
-                       RedirectTo(strURL);\r
-                       return true;\r
-               }\r
-       }\r
-       FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);\r
-       return false;\r
-}\r
-\r
-var oldPrefix = "HelpIdFromHTMLHelp_"\r
-//Find topic by topic id (alias id defined in ali file)\r
-function GetTopicNumberById(strTopicId)\r
-{\r
-   if (strTopicId.indexOf(oldPrefix) == 0)\r
-   {\r
-               strTopicId = strTopicId.substring(oldPrefix.length);\r
-   }\r
-\r
-   var i = 0;\r
-   var iEnd = gArrayCsh.length;\r
-   for (i=0; i<iEnd; i++)\r
-   {\r
-       if (gArrayCsh[i].strAliasId.toLowerCase() == strTopicId.toLowerCase())\r
-       {\r
-           return gArrayCsh[i].nTopicNum;\r
-        }\r
-   }\r
-   gstrURL = "";\r
-   return -1;\r
-}\r
-\r
-//Set Context-sensitive help entity...\r
-function SetCsh(n, strAliasId, nTopicNum, strUrl)\r
-{\r
-   gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);\r
-}\r
-\r
-\r
-function getHash()\r
-{\r
-       if (parent && parent != this)\r
-               return parent.location.hash;\r
-       else\r
-               return "";\r
-}\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-\r
-\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-//Find CSH according to hash string after this page\r
-if (getHash().length > 0)\r
-{\r
-   // VH 05/16/00 now support \r
-   // TopicID=\r
-   // TopicNumber=\r
-   // RemoteURL=   \r
-   // and WindowsOptions\r
-   // with the format #a=xxx,b=xxx,c=xxx...\r
-   var strHashString = getHash().toString();\r
-   // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. \r
-   // so here need to change it back.\r
-   strHashString = strHashString.substring(1,strHashString.length);\r
-   strHashString = strHashString.replace("%072%057%057", "://");\r
-   var nTopicNum = GetTopicNumber(strHashString);\r
-\r
-   if (nTopicNum != -1)\r
-   {\r
-      FindTopicByTopicNum(nTopicNum);\r
-   }\r
-   else\r
-   {\r
-      if (gstrURL.length > 0) \r
-       RedirectTo(gstrURL);\r
-      else\r
-       RedirectToHomePage();\r
-   }\r
-}\r
-else\r
-{\r
-   RedirectToHomePage();\r
-}\r
-//-->\r
-</script>\r
-<noscript>\r
- <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>\r
-</noscript>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-\r
-\r
-\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="JavaScript">
+<!--
+
+var gArrayCsh = new Array();
+
+var gstrWindowOption = "";
+var gstrURL = "";
+var gbWithNavPane = false;
+
+function CshEntityItem(strAliasId, nTopicNum, strUrl) 
+{
+    this.strAliasId = strAliasId;
+    this.nTopicNum = nTopicNum;
+    this.strUrl = strUrl;
+}
+
+
+//Try to get to topic number from hash string
+function GetTopicNumberAuto(strMayBeNumber)
+{
+   var nNum = -1;
+   if (strMayBeNumber.length >= 1)
+   {
+               var strTmp = strMayBeNumber;
+               var iEnd = strTmp.length;
+               for (var i=0; i<iEnd; i++)
+               {
+                         var ch = strTmp.charAt(i);
+                         if (!((ch == "0") || (ch == "1") ||
+                               (ch == "2") || (ch == "3") ||
+                               (ch == "4") || (ch == "5") ||
+                               (ch == "6") || (ch == "7") ||
+                               (ch == "8") || (ch == "9")))
+                             return GetTopicNumberById(strTmp);
+               }
+               nNum = parseInt(strTmp);
+   }
+   return nNum;
+}
+
+function GetTopicNumber(strHashString)
+{
+       var nTopicEndPos = strHashString.indexOf(',')
+       if (nTopicEndPos == -1) { // no window option.
+               return GetTopicNumberOnly(strHashString);
+       }
+       else {
+               var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);
+               var strWithNavPane = 'withnavpane=true';
+               if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)
+               {
+                       if (strWindowOption.length > strWithNavPane.length)
+                               gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);
+                       else
+                               gstrWindowOption = "";
+                       gbWithNavPane = true;
+               }
+               else
+                       gstrWindowOption = strWindowOption;
+               return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos));            
+       }
+}
+
+function GetTopicNumberOnly(strTopicString)
+{
+       var nEqualPos = strTopicString.indexOf('=');
+       if (nEqualPos == -1) {
+               return GetTopicNumberAuto(strTopicString);
+       }
+       else {
+               var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);
+               if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {
+                       return parseInt(strValue);
+               } else if (strTopicString.toLowerCase().indexOf("context") == 0) {
+                       return GetTopicNumberById(strValue);
+               } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {
+                       gstrURL = strValue;
+                       return -1;
+               }
+
+       }
+}
+
+//Find HomePage of the WebHelp system
+// we try to get the topic from remote project if it exists.
+function RedirectToHomePage()
+{
+       if (parent && parent != this && parent.goNext)
+       {
+               var sHome = parent.goNext();
+               if (sHome != "")
+                       RedirectTo(sHome);
+       }
+}
+
+function getHomePage()
+{
+       if (parent && parent != this && parent.getRelHomePage)
+       {
+               return parent.getRelHomePage(document.location.href);
+       }
+       return "";
+}
+
+function addRemoteProject(strPath)
+{
+       if (parent && parent != this && parent.addProject)
+       {
+               parent.addProject(strPath);
+       }
+}
+
+//Redirect page to...
+function RedirectTo(strUrl)
+{
+   if (gstrWindowOption.length != 0) {
+               var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);
+               // close current window and rename the stub window to current window.
+               if (wnd)
+                       wnd.focus();
+               if (parent)
+                       parent.close();
+   }
+   else {
+       parent.document.location.href = strUrl;
+       window.focus();
+  }
+}
+
+//Prompt the user that we can not find...
+function FailToFind(strMsg)
+{
+    RedirectToHomePage();
+}
+
+//Find topic by topic number (defined in h file)
+function FindTopicByTopicNum(nTopicNum)
+{
+       var i = 0;
+       var iEnd = gArrayCsh.length;
+       for (i=0; i<iEnd; i++)
+       {
+               if (gArrayCsh[i].nTopicNum == nTopicNum)
+               {
+                       var strURL = gArrayCsh[i].strUrl;
+                       if (gbWithNavPane)
+                       {
+                               var strHomePage = getHomePage();
+                               if (strHomePage.length != 0)
+                                       strURL = strHomePage + strURL;
+                       }       
+                       RedirectTo(strURL);
+                       return true;
+               }
+       }
+       FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);
+       return false;
+}
+
+var oldPrefix = "HelpIdFromHTMLHelp_"
+//Find topic by topic id (alias id defined in ali file)
+function GetTopicNumberById(strTopicId)
+{
+   if (strTopicId.indexOf(oldPrefix) == 0)
+   {
+               strTopicId = strTopicId.substring(oldPrefix.length);
+   }
+
+   var i = 0;
+   var iEnd = gArrayCsh.length;
+   for (i=0; i<iEnd; i++)
+   {
+       if (gArrayCsh[i].strAliasId.toLowerCase() == strTopicId.toLowerCase())
+       {
+           return gArrayCsh[i].nTopicNum;
+        }
+   }
+   gstrURL = "";
+   return -1;
+}
+
+//Set Context-sensitive help entity...
+function SetCsh(n, strAliasId, nTopicNum, strUrl)
+{
+   gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);
+}
+
+
+function getHash()
+{
+       if (parent && parent != this)
+               return parent.location.hash;
+       else
+               return "";
+}
+//-->
+</script>
+<script language="javascript">
+<!--
+
+
+//-->
+</script>
+<script language="javascript">
+<!--
+//Find CSH according to hash string after this page
+if (getHash().length > 0)
+{
+   // VH 05/16/00 now support 
+   // TopicID=
+   // TopicNumber=
+   // RemoteURL=   
+   // and WindowsOptions
+   // with the format #a=xxx,b=xxx,c=xxx...
+   var strHashString = getHash().toString();
+   // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. 
+   // so here need to change it back.
+   strHashString = strHashString.substring(1,strHashString.length);
+   strHashString = strHashString.replace("%072%057%057", "://");
+   var nTopicNum = GetTopicNumber(strHashString);
+
+   if (nTopicNum != -1)
+   {
+      FindTopicByTopicNum(nTopicNum);
+   }
+   else
+   {
+      if (gstrURL.length > 0) 
+       RedirectTo(gstrURL);
+      else
+       RedirectToHomePage();
+   }
+}
+else
+{
+   RedirectToHomePage();
+}
+//-->
+</script>
+<noscript>
+ <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>
+</noscript>
+</body>
+</html>
+
+
+
+
+
+
index 6d79e6f4f508e99ab476d74fa7024c15b194df0c..db3b49a38c7ffe8dcd03bb6955e9161c1e7caffb 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="JavaScript">\r
-<!--\r
-\r
-var gArrayCsh = new Array();\r
-\r
-var gstrWindowOption = "";\r
-var gstrURL = "";\r
-var gbWithNavPane = false;\r
-\r
-function CshEntityItem(strAliasId, nTopicNum, strUrl) \r
-{\r
-    this.strAliasId = strAliasId;\r
-    this.nTopicNum = nTopicNum;\r
-    this.strUrl = strUrl;\r
-}\r
-\r
-\r
-//Try to get to topic number from hash string\r
-function GetTopicNumberAuto(strMayBeNumber)\r
-{\r
-   var nNum = -1;\r
-   if (strMayBeNumber.length >= 1)\r
-   {\r
-               var strTmp = strMayBeNumber;\r
-               var iEnd = strTmp.length;\r
-               for (var i=0; i<iEnd; i++)\r
-               {\r
-                         var ch = strTmp.charAt(i);\r
-                         if (!((ch == "0") || (ch == "1") ||\r
-                               (ch == "2") || (ch == "3") ||\r
-                               (ch == "4") || (ch == "5") ||\r
-                               (ch == "6") || (ch == "7") ||\r
-                               (ch == "8") || (ch == "9")))\r
-                             return GetTopicNumberById(strTmp);\r
-               }\r
-               nNum = parseInt(strTmp);\r
-   }\r
-   return nNum;\r
-}\r
-\r
-function GetTopicNumber(strHashString)\r
-{\r
-       var nTopicEndPos = strHashString.indexOf(',')\r
-       if (nTopicEndPos == -1) { // no window option.\r
-               return GetTopicNumberOnly(strHashString);\r
-       }\r
-       else {\r
-               var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);\r
-               var strWithNavPane = 'withnavpane=true';\r
-               if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)\r
-               {\r
-                       if (strWindowOption.length > strWithNavPane.length)\r
-                               gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);\r
-                       else\r
-                               gstrWindowOption = "";\r
-                       gbWithNavPane = true;\r
-               }\r
-               else\r
-                       gstrWindowOption = strWindowOption;\r
-               return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos));            \r
-       }\r
-}\r
-\r
-function GetTopicNumberOnly(strTopicString)\r
-{\r
-       var nEqualPos = strTopicString.indexOf('=');\r
-       if (nEqualPos == -1) {\r
-               return GetTopicNumberAuto(strTopicString);\r
-       }\r
-       else {\r
-               var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);\r
-               if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {\r
-                       return parseInt(strValue);\r
-               } else if (strTopicString.toLowerCase().indexOf("topicid") == 0) {\r
-                       return GetTopicNumberById(strValue);\r
-               } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {\r
-                       gstrURL = strValue;\r
-                       return -1;\r
-               }\r
-\r
-       }\r
-}\r
-\r
-//Find HomePage of the WebHelp system\r
-// we try to get the topic from remote project if it exists.\r
-function RedirectToHomePage()\r
-{\r
-       if (parent && parent != this && parent.goNext)\r
-       {\r
-               var sHome = parent.goNext();\r
-               if (sHome != "")\r
-                       RedirectTo(sHome);\r
-       }\r
-}\r
-\r
-function getHomePage()\r
-{\r
-       if (parent && parent != this && parent.getRelHomePage)\r
-       {\r
-               return parent.getRelHomePage(document.location.href);\r
-       }\r
-       return "";\r
-}\r
-\r
-function addRemoteProject(strPath)\r
-{\r
-       if (parent && parent != this && parent.addProject)\r
-       {\r
-               parent.addProject(strPath);\r
-       }\r
-}\r
-\r
-//Redirect page to...\r
-function RedirectTo(strUrl)\r
-{\r
-   if (gstrWindowOption.length != 0) {\r
-               var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);\r
-               // close current window and rename the stub window to current window.\r
-               wnd.focus();\r
-               if (parent)\r
-                       parent.close();\r
-   }\r
-   else {\r
-       parent.document.location.href = strUrl;\r
-       window.focus();\r
-  }\r
-}\r
-\r
-//Prompt the user that we can not find...\r
-function FailToFind(strMsg)\r
-{\r
-    RedirectToHomePage();\r
-}\r
-\r
-//Find topic by topic number (defined in h file)\r
-function FindTopicByTopicNum(nTopicNum)\r
-{\r
-       var i = 0;\r
-       var iEnd = gArrayCsh.length;\r
-       for (i=0; i<iEnd; i++)\r
-       {\r
-               if (gArrayCsh[i].nTopicNum == nTopicNum)\r
-               {\r
-                       var strURL = gArrayCsh[i].strUrl;\r
-                       if (gbWithNavPane)\r
-                       {\r
-                               var strHomePage = getHomePage();\r
-                               if (strHomePage.length != 0)\r
-                                       strURL = strHomePage + strURL;\r
-                       }       \r
-                       RedirectTo(strURL);\r
-                       return true;\r
-               }\r
-       }\r
-       FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);\r
-       return false;\r
-}\r
-\r
-//Find topic by topic id (alias id defined in ali file)\r
-function GetTopicNumberById(strTopicId)\r
-{\r
-   var i = 0;\r
-   var iEnd = gArrayCsh.length;\r
-   for (i=0; i<iEnd; i++)\r
-   {\r
-       if (gArrayCsh[i].strAliasId == strTopicId)\r
-       {\r
-           return gArrayCsh[i].nTopicNum;\r
-        }\r
-   }\r
-   gstrURL = "";\r
-   return -1;\r
-}\r
-\r
-//Set Context-sensitive help entity...\r
-function SetCsh(n, strAliasId, nTopicNum, strUrl)\r
-{\r
-   gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);\r
-}\r
-\r
-\r
-function getHash()\r
-{\r
-       if (parent && parent != this)\r
-               return parent.location.hash;\r
-       else\r
-               return "";\r
-}\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-\r
-\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-//Find CSH according to hash string after this page\r
-if (getHash().length > 0)\r
-{\r
-   // VH 05/16/00 now support \r
-   // TopicID=\r
-   // TopicNumber=\r
-   // RemoteURL=   \r
-   // and WindowsOptions\r
-   // with the format #a=xxx,b=xxx,c=xxx...\r
-   var strHashString = getHash().toString();\r
-   // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. \r
-   // so here need to change it back.\r
-   strHashString = strHashString.substring(1,strHashString.length);\r
-   strHashString = strHashString.replace("%072%057%057", "://");\r
-   var nTopicNum = GetTopicNumber(strHashString);\r
-\r
-   if (nTopicNum != -1)\r
-   {\r
-      FindTopicByTopicNum(nTopicNum);\r
-   }\r
-   else\r
-   {\r
-      if (gstrURL.length > 0) \r
-       RedirectTo(gstrURL);\r
-      else\r
-       RedirectToHomePage();\r
-   }\r
-}\r
-else\r
-{\r
-   RedirectToHomePage();\r
-}\r
-//-->\r
-</script>\r
-<noscript>\r
- <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>\r
-</noscript>\r
-</body>\r
-</html>\r
-\r
-\r
-\r
-\r
-\r
-\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="JavaScript">
+<!--
+
+var gArrayCsh = new Array();
+
+var gstrWindowOption = "";
+var gstrURL = "";
+var gbWithNavPane = false;
+
+function CshEntityItem(strAliasId, nTopicNum, strUrl) 
+{
+    this.strAliasId = strAliasId;
+    this.nTopicNum = nTopicNum;
+    this.strUrl = strUrl;
+}
+
+
+//Try to get to topic number from hash string
+function GetTopicNumberAuto(strMayBeNumber)
+{
+   var nNum = -1;
+   if (strMayBeNumber.length >= 1)
+   {
+               var strTmp = strMayBeNumber;
+               var iEnd = strTmp.length;
+               for (var i=0; i<iEnd; i++)
+               {
+                         var ch = strTmp.charAt(i);
+                         if (!((ch == "0") || (ch == "1") ||
+                               (ch == "2") || (ch == "3") ||
+                               (ch == "4") || (ch == "5") ||
+                               (ch == "6") || (ch == "7") ||
+                               (ch == "8") || (ch == "9")))
+                             return GetTopicNumberById(strTmp);
+               }
+               nNum = parseInt(strTmp);
+   }
+   return nNum;
+}
+
+function GetTopicNumber(strHashString)
+{
+       var nTopicEndPos = strHashString.indexOf(',')
+       if (nTopicEndPos == -1) { // no window option.
+               return GetTopicNumberOnly(strHashString);
+       }
+       else {
+               var strWindowOption = strHashString.substring(nTopicEndPos + 1, strHashString.length);
+               var strWithNavPane = 'withnavpane=true';
+               if (strWindowOption.toLowerCase().indexOf(strWithNavPane) == 0)
+               {
+                       if (strWindowOption.length > strWithNavPane.length)
+                               gstrWindowOption = strWindowOption.substring(strWithNavPane.length + 1);
+                       else
+                               gstrWindowOption = "";
+                       gbWithNavPane = true;
+               }
+               else
+                       gstrWindowOption = strWindowOption;
+               return GetTopicNumberOnly(strHashString.substring(0, nTopicEndPos));            
+       }
+}
+
+function GetTopicNumberOnly(strTopicString)
+{
+       var nEqualPos = strTopicString.indexOf('=');
+       if (nEqualPos == -1) {
+               return GetTopicNumberAuto(strTopicString);
+       }
+       else {
+               var strValue=strTopicString.substring(nEqualPos + 1, strTopicString.length);
+               if (strTopicString.toLowerCase().indexOf("topicnumber") == 0) {
+                       return parseInt(strValue);
+               } else if (strTopicString.toLowerCase().indexOf("topicid") == 0) {
+                       return GetTopicNumberById(strValue);
+               } else if (strTopicString.toLowerCase().indexOf("remoteurl") == 0) {
+                       gstrURL = strValue;
+                       return -1;
+               }
+
+       }
+}
+
+//Find HomePage of the WebHelp system
+// we try to get the topic from remote project if it exists.
+function RedirectToHomePage()
+{
+       if (parent && parent != this && parent.goNext)
+       {
+               var sHome = parent.goNext();
+               if (sHome != "")
+                       RedirectTo(sHome);
+       }
+}
+
+function getHomePage()
+{
+       if (parent && parent != this && parent.getRelHomePage)
+       {
+               return parent.getRelHomePage(document.location.href);
+       }
+       return "";
+}
+
+function addRemoteProject(strPath)
+{
+       if (parent && parent != this && parent.addProject)
+       {
+               parent.addProject(strPath);
+       }
+}
+
+//Redirect page to...
+function RedirectTo(strUrl)
+{
+   if (gstrWindowOption.length != 0) {
+               var wnd = window.open(strUrl, "HelpStub", gstrWindowOption);
+               // close current window and rename the stub window to current window.
+               wnd.focus();
+               if (parent)
+                       parent.close();
+   }
+   else {
+       parent.document.location.href = strUrl;
+       window.focus();
+  }
+}
+
+//Prompt the user that we can not find...
+function FailToFind(strMsg)
+{
+    RedirectToHomePage();
+}
+
+//Find topic by topic number (defined in h file)
+function FindTopicByTopicNum(nTopicNum)
+{
+       var i = 0;
+       var iEnd = gArrayCsh.length;
+       for (i=0; i<iEnd; i++)
+       {
+               if (gArrayCsh[i].nTopicNum == nTopicNum)
+               {
+                       var strURL = gArrayCsh[i].strUrl;
+                       if (gbWithNavPane)
+                       {
+                               var strHomePage = getHomePage();
+                               if (strHomePage.length != 0)
+                                       strURL = strHomePage + strURL;
+                       }       
+                       RedirectTo(strURL);
+                       return true;
+               }
+       }
+       FailToFind("Fail to find topic assocaite with topic number: " + nTopicNum);
+       return false;
+}
+
+//Find topic by topic id (alias id defined in ali file)
+function GetTopicNumberById(strTopicId)
+{
+   var i = 0;
+   var iEnd = gArrayCsh.length;
+   for (i=0; i<iEnd; i++)
+   {
+       if (gArrayCsh[i].strAliasId == strTopicId)
+       {
+           return gArrayCsh[i].nTopicNum;
+        }
+   }
+   gstrURL = "";
+   return -1;
+}
+
+//Set Context-sensitive help entity...
+function SetCsh(n, strAliasId, nTopicNum, strUrl)
+{
+   gArrayCsh[n] = new CshEntityItem(strAliasId,nTopicNum,strUrl);
+}
+
+
+function getHash()
+{
+       if (parent && parent != this)
+               return parent.location.hash;
+       else
+               return "";
+}
+//-->
+</script>
+<script language="javascript">
+<!--
+
+
+//-->
+</script>
+<script language="javascript">
+<!--
+//Find CSH according to hash string after this page
+if (getHash().length > 0)
+{
+   // VH 05/16/00 now support 
+   // TopicID=
+   // TopicNumber=
+   // RemoteURL=   
+   // and WindowsOptions
+   // with the format #a=xxx,b=xxx,c=xxx...
+   var strHashString = getHash().toString();
+   // change ? to : for remote URL. because java applet have some problem to pass a URL with two : inside the URL so we changed it. 
+   // so here need to change it back.
+   strHashString = strHashString.substring(1,strHashString.length);
+   strHashString = strHashString.replace("%072%057%057", "://");
+   var nTopicNum = GetTopicNumber(strHashString);
+
+   if (nTopicNum != -1)
+   {
+      FindTopicByTopicNum(nTopicNum);
+   }
+   else
+   {
+      if (gstrURL.length > 0) 
+       RedirectTo(gstrURL);
+      else
+       RedirectToHomePage();
+   }
+}
+else
+{
+   RedirectToHomePage();
+}
+//-->
+</script>
+<noscript>
+ <p> Your browser does not support JavaScript. WebHelp Context-Sensitive Help requires JavaScript support to run.</p>
+</noscript>
+</body>
+</html>
+
+
+
+
+
+
index de2e5d955068e5135152a18b39282a1280ef05e5..1f8d6d7723e712de7dfe09085e3238e07473d413 100755 (executable)
-BODY { \r
-      background-color:#ffffff; \r
-      font-family:"Times New Roman" , serif;  }\r
-H1 { \r
-    font-weight:bold; \r
-    font-size:24.0pt;  }\r
-LI.kadov-H1 { \r
-             font-weight:bold; \r
-             font-size:24.0pt;  }\r
-H2 { \r
-    font-weight:bold; \r
-    font-size:18.0pt;  }\r
-LI.kadov-H2 { \r
-             font-weight:bold; \r
-             font-size:18.0pt;  }\r
-H3 { \r
-    font-weight:bold; \r
-    font-size:14.0pt;  }\r
-LI.kadov-H3 { \r
-             font-weight:bold; \r
-             font-size:14.0pt;  }\r
-H4 { \r
-    font-weight:bold; \r
-    font-size:12.0pt;  }\r
-LI.kadov-H4 { \r
-             font-weight:bold; \r
-             font-size:12.0pt;  }\r
-H5 { \r
-    font-weight:bold; \r
-    font-size:10.0pt;  }\r
-LI.kadov-H5 { \r
-             font-weight:bold; \r
-             font-size:10.0pt;  }\r
-H6 { \r
-    font-weight:bold; \r
-    font-size:8.0pt;  }\r
-LI.kadov-H6 { \r
-             font-weight:bold; \r
-             font-size:8.0pt;  }\r
-P { \r
-   font-size:12.0pt; \r
-   margin-top:0pt; \r
-   margin-bottom:0pt;  }\r
-LI.kadov-P { \r
-            font-size:12.0pt;  }\r
-A.expandspot { \r
-              color:#008000; \r
-              cursor:hand; \r
-              font-style:italic; \r
-              x-text-underline:off; \r
-              x-text-overline:off; \r
-              x-text-line-through:off; \r
-              text-decoration:none none none;  }\r
-SPAN.expandtext { \r
-                 font-style:italic; \r
-                 font-weight:normal; \r
-                 color:#ff0000;  }\r
-A.dropspot { \r
-            cursor:hand; \r
-            color:#008000; \r
-            font-style:italic; \r
-            x-text-underline:off; \r
-            x-text-overline:off; \r
-            x-text-line-through:off; \r
-            text-decoration:none none none;  }\r
-A.glossterm { \r
-             color:#800000; \r
-             cursor:hand; \r
-             font-style:italic; \r
-             x-text-underline:off; \r
-             x-text-overline:off; \r
-             x-text-line-through:off; \r
-             text-decoration:none none none;  }\r
-SPAN.glosstext { \r
-                font-style:italic; \r
-                font-weight:normal; \r
-                color:#0000ff;  }\r
-OL { \r
-    margin-top:0px; \r
-    margin-bottom:0px;  }\r
-UL { \r
-    margin-top:0px; \r
-    margin-bottom:0px;  }\r
-A:active {  }\r
-A:hover { \r
-         x-text-underline:Off; \r
-         text-decoration:none;  }\r
-A:link { \r
-        x-text-underline:Off; \r
-        text-decoration:none;  }\r
-A:visited { \r
-           x-text-underline:Off; \r
-           text-decoration:none;  }\r
-P.TODO { \r
-        font-weight:normal; \r
-        font-style:italic; \r
-        font-family:"Arial Black" , sans-serif;  }\r
-LI.kadov-P-CTODO { \r
-                  font-weight:normal; \r
-                  font-style:italic; \r
-                  font-family:"Arial Black" , sans-serif;  }\r
+BODY { 
+      background-color:#ffffff; 
+      font-family:"Times New Roman" , serif;  }
+H1 { 
+    font-weight:bold; 
+    font-size:24.0pt;  }
+LI.kadov-H1 { 
+             font-weight:bold; 
+             font-size:24.0pt;  }
+H2 { 
+    font-weight:bold; 
+    font-size:18.0pt;  }
+LI.kadov-H2 { 
+             font-weight:bold; 
+             font-size:18.0pt;  }
+H3 { 
+    font-weight:bold; 
+    font-size:14.0pt;  }
+LI.kadov-H3 { 
+             font-weight:bold; 
+             font-size:14.0pt;  }
+H4 { 
+    font-weight:bold; 
+    font-size:12.0pt;  }
+LI.kadov-H4 { 
+             font-weight:bold; 
+             font-size:12.0pt;  }
+H5 { 
+    font-weight:bold; 
+    font-size:10.0pt;  }
+LI.kadov-H5 { 
+             font-weight:bold; 
+             font-size:10.0pt;  }
+H6 { 
+    font-weight:bold; 
+    font-size:8.0pt;  }
+LI.kadov-H6 { 
+             font-weight:bold; 
+             font-size:8.0pt;  }
+P { 
+   font-size:12.0pt; 
+   margin-top:0pt; 
+   margin-bottom:0pt;  }
+LI.kadov-P { 
+            font-size:12.0pt;  }
+A.expandspot { 
+              color:#008000; 
+              cursor:hand; 
+              font-style:italic; 
+              x-text-underline:off; 
+              x-text-overline:off; 
+              x-text-line-through:off; 
+              text-decoration:none none none;  }
+SPAN.expandtext { 
+                 font-style:italic; 
+                 font-weight:normal; 
+                 color:#ff0000;  }
+A.dropspot { 
+            cursor:hand; 
+            color:#008000; 
+            font-style:italic; 
+            x-text-underline:off; 
+            x-text-overline:off; 
+            x-text-line-through:off; 
+            text-decoration:none none none;  }
+A.glossterm { 
+             color:#800000; 
+             cursor:hand; 
+             font-style:italic; 
+             x-text-underline:off; 
+             x-text-overline:off; 
+             x-text-line-through:off; 
+             text-decoration:none none none;  }
+SPAN.glosstext { 
+                font-style:italic; 
+                font-weight:normal; 
+                color:#0000ff;  }
+OL { 
+    margin-top:0px; 
+    margin-bottom:0px;  }
+UL { 
+    margin-top:0px; 
+    margin-bottom:0px;  }
+A:active {  }
+A:hover { 
+         x-text-underline:Off; 
+         text-decoration:none;  }
+A:link { 
+        x-text-underline:Off; 
+        text-decoration:none;  }
+A:visited { 
+           x-text-underline:Off; 
+           text-decoration:none;  }
+P.TODO { 
+        font-weight:normal; 
+        font-style:italic; 
+        font-family:"Arial Black" , sans-serif;  }
+LI.kadov-P-CTODO { 
+                  font-weight:normal; 
+                  font-style:italic; 
+                  font-family:"Arial Black" , sans-serif;  }
index 3eeb3c49656ad0f0c62497bfb3ac18e8e7a00177..46e8b0018d0c393b09a0c0587a2d9fd4866ca388 100755 (executable)
-BODY { \r
-      background-color:#ffffff; \r
-      font-family:"Times New Roman"  , serif;  }\r
-H1 { \r
-    font-weight:bold; \r
-    font-size:24.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H1 { \r
-             font-weight:bold; \r
-             font-size:24.0pt;  }\r
-H2 { \r
-    font-weight:bold; \r
-    font-size:18.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H2 { \r
-             font-weight:bold; \r
-             font-size:18.0pt;  }\r
-H3 { \r
-    font-weight:bold; \r
-    font-size:14.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H3 { \r
-             font-weight:bold; \r
-             font-size:14.0pt;  }\r
-H4 { \r
-    font-weight:bold; \r
-    font-size:12.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H4 { \r
-             font-weight:bold; \r
-             font-size:12.0pt;  }\r
-H5 { \r
-    font-weight:bold; \r
-    font-size:10.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H5 { \r
-             font-weight:bold; \r
-             font-size:10.0pt;  }\r
-H6 { \r
-    font-weight:bold; \r
-    font-size:8.0pt; \r
-    font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-H6 { \r
-             font-weight:bold; \r
-             font-size:8.0pt;  }\r
-P { \r
-   font-size:12.0pt; \r
-   margin-top:1pt; \r
-   margin-bottom:1pt; \r
-   font-family:"Times New Roman"  , serif;  }\r
-LI.kadov-P { \r
-            font-size:12.0pt;  }\r
-A.expandspot { \r
-              color:#008000; \r
-              cursor:hand; \r
-              font-style:italic; \r
-              x-text-underline:off; \r
-              x-text-overline:off; \r
-              x-text-line-through:off; \r
-              text-decoration:none none none;  }\r
-SPAN.expandtext { \r
-                 font-style:italic; \r
-                 font-weight:normal; \r
-                 color:#ff0000;  }\r
-A.dropspot { \r
-            cursor:hand; \r
-            color:#008000; \r
-            font-style:italic; \r
-            x-text-underline:off; \r
-            x-text-overline:off; \r
-            x-text-line-through:off; \r
-            text-decoration:none none none;  }\r
-A.glossterm { \r
-             color:#800000; \r
-             cursor:hand; \r
-             font-style:italic; \r
-             x-text-underline:off; \r
-             x-text-overline:off; \r
-             x-text-line-through:off; \r
-             text-decoration:none none none;  }\r
-SPAN.glosstext { \r
-                font-style:italic; \r
-                font-weight:normal; \r
-                color:#0000ff;  }\r
-OL { \r
-    margin-top:0px; \r
-    margin-bottom:0px; \r
-    font-family:"Times New Roman"  , serif;  }\r
-UL { \r
-    margin-top:0px; \r
-    margin-bottom:0px; \r
-    font-family:"Times New Roman"  , serif;  }\r
-A:active {  }\r
-A:hover { \r
-         x-text-underline:Off; \r
-         text-decoration:none;  }\r
-A:link { \r
-        x-text-underline:Off; \r
-        text-decoration:none;  }\r
-A:visited { \r
-           x-text-underline:Off; \r
-           text-decoration:none;  }\r
-P.TODO { \r
-        font-weight:normal; \r
-        font-style:italic; \r
-        font-family:"Arial Black"  , sans-serif;  }\r
-LI.kadov-P-CTODO { \r
-                  font-weight:normal; \r
-                  font-style:italic; \r
-                  font-family:"Arial Black"  , sans-serif;  }\r
-ol ol { \r
-       margin-top:1px;  }\r
-ol ul { \r
-       margin-top:1px;  }\r
-ul ul { \r
-       margin-top:1px;  }\r
-ul ol { \r
-       margin-top:1px;  }\r
+BODY { 
+      background-color:#ffffff; 
+      font-family:"Times New Roman"  , serif;  }
+H1 { 
+    font-weight:bold; 
+    font-size:24.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H1 { 
+             font-weight:bold; 
+             font-size:24.0pt;  }
+H2 { 
+    font-weight:bold; 
+    font-size:18.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H2 { 
+             font-weight:bold; 
+             font-size:18.0pt;  }
+H3 { 
+    font-weight:bold; 
+    font-size:14.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H3 { 
+             font-weight:bold; 
+             font-size:14.0pt;  }
+H4 { 
+    font-weight:bold; 
+    font-size:12.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H4 { 
+             font-weight:bold; 
+             font-size:12.0pt;  }
+H5 { 
+    font-weight:bold; 
+    font-size:10.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H5 { 
+             font-weight:bold; 
+             font-size:10.0pt;  }
+H6 { 
+    font-weight:bold; 
+    font-size:8.0pt; 
+    font-family:"Times New Roman"  , serif;  }
+LI.kadov-H6 { 
+             font-weight:bold; 
+             font-size:8.0pt;  }
+P { 
+   font-size:12.0pt; 
+   margin-top:1pt; 
+   margin-bottom:1pt; 
+   font-family:"Times New Roman"  , serif;  }
+LI.kadov-P { 
+            font-size:12.0pt;  }
+A.expandspot { 
+              color:#008000; 
+              cursor:hand; 
+              font-style:italic; 
+              x-text-underline:off; 
+              x-text-overline:off; 
+              x-text-line-through:off; 
+              text-decoration:none none none;  }
+SPAN.expandtext { 
+                 font-style:italic; 
+                 font-weight:normal; 
+                 color:#ff0000;  }
+A.dropspot { 
+            cursor:hand; 
+            color:#008000; 
+            font-style:italic; 
+            x-text-underline:off; 
+            x-text-overline:off; 
+            x-text-line-through:off; 
+            text-decoration:none none none;  }
+A.glossterm { 
+             color:#800000; 
+             cursor:hand; 
+             font-style:italic; 
+             x-text-underline:off; 
+             x-text-overline:off; 
+             x-text-line-through:off; 
+             text-decoration:none none none;  }
+SPAN.glosstext { 
+                font-style:italic; 
+                font-weight:normal; 
+                color:#0000ff;  }
+OL { 
+    margin-top:0px; 
+    margin-bottom:0px; 
+    font-family:"Times New Roman"  , serif;  }
+UL { 
+    margin-top:0px; 
+    margin-bottom:0px; 
+    font-family:"Times New Roman"  , serif;  }
+A:active {  }
+A:hover { 
+         x-text-underline:Off; 
+         text-decoration:none;  }
+A:link { 
+        x-text-underline:Off; 
+        text-decoration:none;  }
+A:visited { 
+           x-text-underline:Off; 
+           text-decoration:none;  }
+P.TODO { 
+        font-weight:normal; 
+        font-style:italic; 
+        font-family:"Arial Black"  , sans-serif;  }
+LI.kadov-P-CTODO { 
+                  font-weight:normal; 
+                  font-style:italic; 
+                  font-family:"Arial Black"  , sans-serif;  }
+ol ol { 
+       margin-top:1px;  }
+ol ul { 
+       margin-top:1px;  }
+ul ul { 
+       margin-top:1px;  }
+ul ol { 
+       margin-top:1px;  }
index 144d565306daff4dc3cbc1ad97e1e94b6d40a016..420dc0a8bc505d561e40b56cbcf04f0c4c642d4b 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Defining hypotheses TUI</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>\r
-<!--\r
-P { margin-top:0pt; margin-bottom:0pt; }\r
-LI.kadov-P {  }\r
--->\r
-</style><style type="text/css">\r
-<!--\r
-p.whs1 { font-weight:bold; }\r
-p.whs2 { font-family:'Lucida Console' , monospace; }\r
-p.whs3 { font-family:'Times New Roman' , serif; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs6 { margin-top:0pt; margin-bottom:0pt; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nDefining Hypotheses");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Defining Hypotheses and Algorithms</h1>\r
-\r
-<h3>Defining 1D Hypotheses</h3>\r
-\r
-<p class="whs1"><a name=bookmark>1D Arithmetic</a></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a box</p>\r
-\r
-<p class="whs2">box = geompy.MakeBoxDXDYDZ(10., \r
- 10., 10.)</p>\r
-\r
-<p class="whs2">geompy.addToStudy(box, \r
- &quot;Box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs2">hexa = smesh.Mesh(box, \r
- &quot;Box : hexahedrical mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a Regular 1D \r
- algorithm for edges</p>\r
-\r
-<p class="whs2">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;Arithmetic1D&quot; \r
- hypothesis to cut all edges in several segments with increasing arithmetic \r
- length </p>\r
-\r
-<p class="whs2">algo1D.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a quadrangle \r
- 2D algorithm for faces</p>\r
-\r
-<p class="whs2">hexa.Quadrangle()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a hexahedron \r
- 3D algorithm for solids</p>\r
-\r
-<p class="whs2">hexa.Hexahedron()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">hexa.Compute() </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h4><a name=bookmark9>Deflection 1D and Number of Segments</a></h4>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a face from \r
- arc and straight segment</p>\r
-\r
-<p class="whs2">px = geompy.MakeVertex(100., \r
- 0. &nbsp;, 0. \r
- &nbsp;)</p>\r
-\r
-<p class="whs2">py = geompy.MakeVertex(0. \r
- &nbsp;, 100., \r
- 0. &nbsp;)</p>\r
-\r
-<p class="whs2">pz = geompy.MakeVertex(0. \r
- &nbsp;, 0. &nbsp;, \r
- 100.)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">exy = geompy.MakeEdge(px, \r
- py)</p>\r
-\r
-<p class="whs2">arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">wire = geompy.MakeWire([exy, \r
- arc])</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">isPlanarFace = 1</p>\r
-\r
-<p class="whs2">face1 = geompy.MakeFace(wire, \r
- isPlanarFace)</p>\r
-\r
-<p class="whs2">geompy.addToStudy(face1,&quot;Face1&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># get edges from the \r
- face</p>\r
-\r
-<p class="whs2">e_straight,e_arc = \r
- geompy.SubShapeAll(face1, geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs2">geompy.addToStudyInFather(face1, \r
- e_arc, &quot;Arc Edge&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create hexahedral mesh</p>\r
-\r
-<p class="whs2">hexa = smesh.Mesh(face1, \r
- &quot;Face : triangle mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;NumberOfSegments&quot; \r
- hypothesis to cut a straight edge in a fixed number of segments</p>\r
-\r
-<p class="whs2">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(6)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;MaxElementArea&quot; \r
- hypothesis</p>\r
-\r
-<p class="whs2">algo2D = hexa.Triangle()</p>\r
-\r
-<p class="whs2">algo2D.MaxElementArea(70.0)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define a local &quot;Deflection1D&quot; \r
- hypothesis on the arc</p>\r
-\r
-<p class="whs2">algo_local = hexa.Segment(e_arc)</p>\r
-\r
-<p class="whs2">algo_local.Deflection1D(1.0)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">hexa.Compute() </p>\r
-\r
-<h4><a name=bookmark2>Start and End Length</a></h4>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from \r
- geompy import *</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a box</p>\r
-\r
-<p class="whs2">box = MakeBoxDXDYDZ(10., \r
- 10., 10.)</p>\r
-\r
-<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># get one edge of the \r
- box to put local hypothesis on</p>\r
-\r
-<p class="whs2">p5 = MakeVertex(5., \r
- 0., 0.)</p>\r
-\r
-<p class="whs2">EdgeX = GetEdgeNearPoint(box, \r
- p5)</p>\r
-\r
-<p class="whs2">addToStudyInFather(box, \r
- EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs2">hexa = smesh.Mesh(box, \r
- &quot;Box : hexahedrical mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># set algorithms</p>\r
-\r
-<p class="whs2">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs2">hexa.Quadrangle()</p>\r
-\r
-<p class="whs2">hexa.Hexahedron()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;NumberOfSegments&quot; \r
- hypothesis to cut an edge in a fixed number of segments</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(4)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a local hypothesis</p>\r
-\r
-<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;StartEndLength&quot; \r
- hypothesis to cut an edge in several segments with increasing geometric \r
- length</p>\r
-\r
-<p class="whs2">algo_local.StartEndLength(1, \r
- 6)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;Propagation&quot; \r
- hypothesis that propagates all other hypothesis</p>\r
-\r
-<p class="whs3"># on all edges on the \r
- opposite side in case of quadrangular faces</p>\r
-\r
-<p class="whs2">algo_local.Propagation()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">hexa.Compute() </p>\r
-\r
-<h4><a name=bookmark3>Average Length</a></h4>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from \r
- geompy import *</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a box</p>\r
-\r
-<p class="whs2">box = MakeBoxDXDYDZ(10., \r
- 10., 10.)</p>\r
-\r
-<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># get one edge of the \r
- box to put local hypothesis on</p>\r
-\r
-<p class="whs2">p5 = MakeVertex(5., \r
- 0., 0.)</p>\r
-\r
-<p class="whs2">EdgeX = GetEdgeNearPoint(box, \r
- p5)</p>\r
-\r
-<p class="whs2">addToStudyInFather(box, \r
- EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs2">hexa = smesh.Mesh(box, \r
- &quot;Box : hexahedrical mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># set algorithms</p>\r
-\r
-<p class="whs2">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs2">hexa.Quadrangle()</p>\r
-\r
-<p class="whs2">hexa.Hexahedron()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;NumberOfSegments&quot; \r
- hypothesis to cut all edges in a fixed number of segments</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(4)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a sub-mesh</p>\r
-\r
-<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;LocalLength&quot; \r
- hypothesis to cut an edge in several segments with the same length</p>\r
-\r
-<p class="whs2">algo_local.LocalLength(2.)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;Propagation&quot; \r
- hypothesis that propagates all other hypothesis</p>\r
-\r
-<p class="whs3"># on all edges on the \r
- opposite side in case of quadrangular faces</p>\r
-\r
-<p class="whs2">algo_local.Propagation()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">hexa.Compute() </p>\r
-\r
-<h3>Defining 2D and 3D hypotheses</h3>\r
-\r
-<h4><a name=bookmark4>Maximum Element Area</a></h4>\r
-\r
-<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import \r
- smesh</span></p>\r
-\r
-<p class="whs4">import salome</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a face</p>\r
-\r
-<p class="whs4">px &nbsp;&nbsp;= \r
- geompy.MakeVertex(100., 0. &nbsp;, \r
- 0. &nbsp;)</p>\r
-\r
-<p class="whs4">py &nbsp;&nbsp;= \r
- geompy.MakeVertex(0. &nbsp;, \r
- 100., 0. &nbsp;)</p>\r
-\r
-<p class="whs4">pz &nbsp;&nbsp;= \r
- geompy.MakeVertex(0. &nbsp;, \r
- 0. &nbsp;, 100.)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">vxy = geompy.MakeVector(px, \r
- py)</p>\r
-\r
-<p class="whs4">arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
-\r
-<p class="whs4">wire = geompy.MakeWire([vxy, \r
- arc])</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">isPlanarFace = 1</p>\r
-\r
-<p class="whs4">face = geompy.MakeFace(wire, \r
- isPlanarFace)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># add the face in the \r
- study</p>\r
-\r
-<p class="whs4">id_face = geompy.addToStudy(face, \r
- &quot;Face to be meshed&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a mesh</p>\r
-\r
-<p class="whs4">tria_mesh = smesh.Mesh(face, \r
- &quot;Face : triangulation&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># define 1D meshing:</p>\r
-\r
-<p class="whs4">algo = tria_mesh.Segment()</p>\r
-\r
-<p class="whs4">algo.NumberOfSegments(20)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># define 2D meshing:</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5"># assign triangulation \r
- algorithm</p>\r
-\r
-<p class="whs4">algo = tria_mesh.Triangle()</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># apply &quot;Max Element \r
- Area&quot; hypothesis to each triangle</p>\r
-\r
-<p class="whs4">algo.MaxElementArea(100)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">tria_mesh.Compute() \r
- &nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<h4><a name=bookmark5>Maximum Element Volume</a></h4>\r
-\r
-<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs4">import smesh</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a cylinder</p>\r
-\r
-<p class="whs4">cyl = geompy.MakeCylinderRH(30., \r
- 50.)</p>\r
-\r
-<p class="whs4">geompy.addToStudy(cyl, \r
- &quot;cyl&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># create a mesh on \r
- the cylinder</p>\r
-\r
-<p class="whs4">tetra = smesh.Mesh(cyl, \r
- &quot;Cylinder : tetrahedrical mesh&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># assign algorithms</p>\r
-\r
-<p class="whs4">algo1D = tetra.Segment()</p>\r
-\r
-<p class="whs4">algo2D = tetra.Triangle()</p>\r
-\r
-<p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># assign 1D and 2D \r
- hypotheses</p>\r
-\r
-<p class="whs4">algo1D.NumberOfSegments(7)</p>\r
-\r
-<p class="whs4">algo2D.MaxElementArea(150.)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># assign Max Element \r
- Volume hypothesis</p>\r
-\r
-<p class="whs4">algo3D.MaxElementVolume(200.)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"># compute the mesh</p>\r
-\r
-<p class="whs4">ret = tetra.Compute()</p>\r
-\r
-<p class="whs4">if ret == 0:</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;probleme when computing the mesh&quot;</p>\r
-\r
-<p class="whs4">else:</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;Computation succeded&quot; </p>\r
-\r
-<h4><a name=bookmark6>Length from Edges</a></h4>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create sketchers</p>\r
-\r
-<p class="whs2">sketcher1 = geompy.MakeSketcher(&quot;Sketcher:F \r
- 0 0:TT 70 0:TT 70 70:TT 0 70:WW&quot;)</p>\r
-\r
-<p class="whs2">sketcher2 = geompy.MakeSketcher(&quot;Sketcher:F \r
- 20 20:TT 50 20:TT 50 50:TT 20 50:WW&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a face from \r
- two wires</p>\r
-\r
-<p class="whs2">isPlanarFace = 1</p>\r
-\r
-<p class="whs2">face1 = geompy.MakeFaces([sketcher1, \r
- sketcher2], isPlanarFace)</p>\r
-\r
-<p class="whs2">geompy.addToStudy(face1, \r
- &quot;Face1&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a mesh</p>\r
-\r
-<p class="whs2">tria = smesh.Mesh(face1, \r
- &quot;Face : triangle 2D mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># Define 1D meshing</p>\r
-\r
-<p class="whs2">algo1D = tria.Segment()</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(2)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create and assign the \r
- algorithm for 2D meshing with triangles</p>\r
-\r
-<p class="whs2">algo2D = tria.Triangle()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create and assign &quot;LengthFromEdges&quot; \r
- hypothesis to build triangles<span style="font-family: 'Times New Roman', serif;"> \r
- based on the length of the edges taken from the wire</span></p>\r
-\r
-<p class="whs2">algo2D.LengthFromEdges()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p class="whs2">tria.Compute() </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h3>Defining Additional Hypotheses</h3>\r
-\r
-<h4><a name=bookmark7>Propagation</a></h4>\r
-\r
-<p class="whs2">from geompy import \r
- *</p>\r
-\r
-<p class="whs2">import smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a box</p>\r
-\r
-<p class="whs2">box = MakeBoxDXDYDZ(10., \r
- 10., 10.)</p>\r
-\r
-<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># get one edge of the \r
- box to put local hypothesis on</p>\r
-\r
-<p class="whs2">p5 = MakeVertex(5., \r
- 0., 0.)</p>\r
-\r
-<p class="whs2">EdgeX = GetEdgeNearPoint(box, \r
- p5)</p>\r
-\r
-<p class="whs2">addToStudyInFather(box, \r
- EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs2">hexa = smesh.Mesh(box, \r
- &quot;Box : hexahedrical mesh&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># set global algorithms \r
- and hypotheses</p>\r
-\r
-<p class="whs2">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs2">hexa.Quadrangle()</p>\r
-\r
-<p class="whs2">hexa.Hexahedron()</p>\r
-\r
-<p class="whs2">algo1D.NumberOfSegments(4)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># create a sub-mesh with \r
- local 1D hypothesis and propagation</p>\r
-\r
-<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;Arithmetic1D&quot; \r
- hypothesis to cut an edge in several segments with increasing length</p>\r
-\r
-<p class="whs2">algo_local.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># define &quot;Propagation&quot; \r
- hypothesis that propagates all other 1D hypotheses</p>\r
-\r
-<p class="whs3"># from all edges on the \r
- opposite side of a face in case of quadrangular faces</p>\r
-\r
-<p class="whs2">algo_local.Propagation()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"># compute the mesh</p>\r
-\r
-<p><span style="font-family: 'Lucida Console', monospace;">hexa.Compute()</span> \r
- </p>\r
-\r
-<h3><a name=bookmark8>Defining Meshing Algorithms</a></h3>\r
-\r
-<p class="whs4">import geompy</p>\r
-\r
-<p class="whs4">import smesh</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a box</p>\r
-\r
-<p class="whs4">box = geompy.MakeBoxDXDYDZ(10., \r
- 10., 10.)</p>\r
-\r
-<p class="whs4">geompy.addToStudy(box, \r
- &quot;Box&quot;)</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs6"># 1. Create a hexahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs4">hexa = smesh.Mesh(box, \r
- &quot;Box : hexahedrical mesh&quot;)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a Regular 1D algorithm \r
- for edges</p>\r
-\r
-<p class="whs4">algo1D = hexa.Segment()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a quadrangle 2D \r
- algorithm for faces</p>\r
-\r
-<p class="whs4">algo2D = hexa.Quadrangle()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a hexahedron 3D \r
- algorithm for solids</p>\r
-\r
-<p class="whs4">algo3D = hexa.Hexahedron()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># define hypotheses</p>\r
-\r
-<p class="whs4">algo1D.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># compute the mesh</p>\r
-\r
-<p class="whs4">hexa.Compute()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># 2. Create a tetrahedral \r
- mesh on the box</p>\r
-\r
-<p class="whs4">tetra = smesh.Mesh(box, \r
- &quot;Box : tetrahedrical mesh&quot;)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a Regular 1D algorithm \r
- for edges</p>\r
-\r
-<p class="whs4">algo1D = tetra.Segment()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a Mefisto 2D algorithm \r
- for faces</p>\r
-\r
-<p class="whs4">algo2D = tetra.Triangle()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a Netgen 3D algorithm \r
- for solids</p>\r
-\r
-<p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># define hypotheses</p>\r
-\r
-<p class="whs4">algo1D.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs4">algo2D.LengthFromEdges()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># compute the mesh</p>\r
-\r
-<p class="whs4">tetra.Compute()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># 3. Create a tetrahedral \r
- mesh on the box with NETGEN_2D3D algorithm</p>\r
-\r
-<p class="whs4">tetraN = smesh.Mesh(box, \r
- &quot;Box : tetrahedrical mesh by NETGEN_2D3D&quot;)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a Netgen_2D3D \r
- algorithm for solids</p>\r
-\r
-<p class="whs4">is3D = 1</p>\r
-\r
-<p class="whs4">algo3D = tetraN.Netgen(is3D)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># define hypotheses</p>\r
-\r
-<p class="whs4">n23_params = algo3D.Parameters()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># compute the mesh</p>\r
-\r
-<p class="whs4">tetraN.Compute() \r
- </p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Defining hypotheses TUI</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>
+<!--
+P { margin-top:0pt; margin-bottom:0pt; }
+LI.kadov-P {  }
+-->
+</style><style type="text/css">
+<!--
+p.whs1 { font-weight:bold; }
+p.whs2 { font-family:'Lucida Console' , monospace; }
+p.whs3 { font-family:'Times New Roman' , serif; }
+p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs6 { margin-top:0pt; margin-bottom:0pt; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nDefining Hypotheses");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Defining Hypotheses and Algorithms</h1>
+
+<h3>Defining 1D Hypotheses</h3>
+
+<p class="whs1"><a name=bookmark>1D Arithmetic</a></p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a box</p>
+
+<p class="whs2">box = geompy.MakeBoxDXDYDZ(10., 
+ 10., 10.)</p>
+
+<p class="whs2">geompy.addToStudy(box, 
+ &quot;Box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs2">hexa = smesh.Mesh(box, 
+ &quot;Box : hexahedrical mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a Regular 1D 
+ algorithm for edges</p>
+
+<p class="whs2">algo1D = hexa.Segment()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;Arithmetic1D&quot; 
+ hypothesis to cut all edges in several segments with increasing arithmetic 
+ length </p>
+
+<p class="whs2">algo1D.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a quadrangle 
+ 2D algorithm for faces</p>
+
+<p class="whs2">hexa.Quadrangle()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a hexahedron 
+ 3D algorithm for solids</p>
+
+<p class="whs2">hexa.Hexahedron()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">hexa.Compute() </p>
+
+<p class="whs2">&nbsp;</p>
+
+<h4><a name=bookmark9>Deflection 1D and Number of Segments</a></h4>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a face from 
+ arc and straight segment</p>
+
+<p class="whs2">px = geompy.MakeVertex(100., 
+ 0. &nbsp;, 0. 
+ &nbsp;)</p>
+
+<p class="whs2">py = geompy.MakeVertex(0. 
+ &nbsp;, 100., 
+ 0. &nbsp;)</p>
+
+<p class="whs2">pz = geompy.MakeVertex(0. 
+ &nbsp;, 0. &nbsp;, 
+ 100.)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">exy = geompy.MakeEdge(px, 
+ py)</p>
+
+<p class="whs2">arc = geompy.MakeArc(py, 
+ pz, px)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">wire = geompy.MakeWire([exy, 
+ arc])</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">isPlanarFace = 1</p>
+
+<p class="whs2">face1 = geompy.MakeFace(wire, 
+ isPlanarFace)</p>
+
+<p class="whs2">geompy.addToStudy(face1,&quot;Face1&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># get edges from the 
+ face</p>
+
+<p class="whs2">e_straight,e_arc = 
+ geompy.SubShapeAll(face1, geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs2">geompy.addToStudyInFather(face1, 
+ e_arc, &quot;Arc Edge&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create hexahedral mesh</p>
+
+<p class="whs2">hexa = smesh.Mesh(face1, 
+ &quot;Face : triangle mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;NumberOfSegments&quot; 
+ hypothesis to cut a straight edge in a fixed number of segments</p>
+
+<p class="whs2">algo1D = hexa.Segment()</p>
+
+<p class="whs2">algo1D.NumberOfSegments(6)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;MaxElementArea&quot; 
+ hypothesis</p>
+
+<p class="whs2">algo2D = hexa.Triangle()</p>
+
+<p class="whs2">algo2D.MaxElementArea(70.0)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define a local &quot;Deflection1D&quot; 
+ hypothesis on the arc</p>
+
+<p class="whs2">algo_local = hexa.Segment(e_arc)</p>
+
+<p class="whs2">algo_local.Deflection1D(1.0)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">hexa.Compute() </p>
+
+<h4><a name=bookmark2>Start and End Length</a></h4>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from 
+ geompy import *</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a box</p>
+
+<p class="whs2">box = MakeBoxDXDYDZ(10., 
+ 10., 10.)</p>
+
+<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># get one edge of the 
+ box to put local hypothesis on</p>
+
+<p class="whs2">p5 = MakeVertex(5., 
+ 0., 0.)</p>
+
+<p class="whs2">EdgeX = GetEdgeNearPoint(box, 
+ p5)</p>
+
+<p class="whs2">addToStudyInFather(box, 
+ EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs2">hexa = smesh.Mesh(box, 
+ &quot;Box : hexahedrical mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># set algorithms</p>
+
+<p class="whs2">algo1D = hexa.Segment()</p>
+
+<p class="whs2">hexa.Quadrangle()</p>
+
+<p class="whs2">hexa.Hexahedron()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;NumberOfSegments&quot; 
+ hypothesis to cut an edge in a fixed number of segments</p>
+
+<p class="whs2">algo1D.NumberOfSegments(4)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a local hypothesis</p>
+
+<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;StartEndLength&quot; 
+ hypothesis to cut an edge in several segments with increasing geometric 
+ length</p>
+
+<p class="whs2">algo_local.StartEndLength(1, 
+ 6)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;Propagation&quot; 
+ hypothesis that propagates all other hypothesis</p>
+
+<p class="whs3"># on all edges on the 
+ opposite side in case of quadrangular faces</p>
+
+<p class="whs2">algo_local.Propagation()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">hexa.Compute() </p>
+
+<h4><a name=bookmark3>Average Length</a></h4>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">from 
+ geompy import *</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a box</p>
+
+<p class="whs2">box = MakeBoxDXDYDZ(10., 
+ 10., 10.)</p>
+
+<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># get one edge of the 
+ box to put local hypothesis on</p>
+
+<p class="whs2">p5 = MakeVertex(5., 
+ 0., 0.)</p>
+
+<p class="whs2">EdgeX = GetEdgeNearPoint(box, 
+ p5)</p>
+
+<p class="whs2">addToStudyInFather(box, 
+ EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs2">hexa = smesh.Mesh(box, 
+ &quot;Box : hexahedrical mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># set algorithms</p>
+
+<p class="whs2">algo1D = hexa.Segment()</p>
+
+<p class="whs2">hexa.Quadrangle()</p>
+
+<p class="whs2">hexa.Hexahedron()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;NumberOfSegments&quot; 
+ hypothesis to cut all edges in a fixed number of segments</p>
+
+<p class="whs2">algo1D.NumberOfSegments(4)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a sub-mesh</p>
+
+<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;LocalLength&quot; 
+ hypothesis to cut an edge in several segments with the same length</p>
+
+<p class="whs2">algo_local.LocalLength(2.)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;Propagation&quot; 
+ hypothesis that propagates all other hypothesis</p>
+
+<p class="whs3"># on all edges on the 
+ opposite side in case of quadrangular faces</p>
+
+<p class="whs2">algo_local.Propagation()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">hexa.Compute() </p>
+
+<h3>Defining 2D and 3D hypotheses</h3>
+
+<h4><a name=bookmark4>Maximum Element Area</a></h4>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">import salome </p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a face</p>
+
+<p class="whs4">px &nbsp;&nbsp;= 
+ geompy.MakeVertex(100., 0. &nbsp;, 
+ 0. &nbsp;)</p>
+
+<p class="whs4">py &nbsp;&nbsp;= 
+ geompy.MakeVertex(0. &nbsp;, 
+ 100., 0. &nbsp;)</p>
+
+<p class="whs4">pz &nbsp;&nbsp;= 
+ geompy.MakeVertex(0. &nbsp;, 
+ 0. &nbsp;, 100.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">vxy = geompy.MakeVector(px, 
+ py)</p>
+
+<p class="whs4">arc = geompy.MakeArc(py, 
+ pz, px)</p>
+
+<p class="whs4">wire = geompy.MakeWire([vxy, 
+ arc])</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">isPlanarFace = 1</p>
+
+<p class="whs4">face = geompy.MakeFace(wire, 
+ isPlanarFace)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># add the face in the 
+ study</p>
+
+<p class="whs4">id_face = geompy.addToStudy(face, 
+ &quot;Face to be meshed&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh</p>
+
+<p class="whs4">tria_mesh = smesh.Mesh(face, 
+ &quot;Face : triangulation&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define 1D meshing:</p>
+
+<p class="whs4">algo = tria_mesh.Segment()</p>
+
+<p class="whs4">algo.NumberOfSegments(20)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define 2D meshing:</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"># assign triangulation 
+ algorithm</p>
+
+<p class="whs4">algo = tria_mesh.Triangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># apply &quot;Max Element 
+ Area&quot; hypothesis to each triangle</p>
+
+<p class="whs4">algo.MaxElementArea(100)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">tria_mesh.Compute() 
+ &nbsp;</p>
+
+<p class="whs4">&nbsp;</p>
+
+<h4><a name=bookmark5>Maximum Element Volume</a></h4>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a cylinder</p>
+
+<p class="whs4">cyl = geompy.MakeCylinderRH(30., 
+ 50.)</p>
+
+<p class="whs4">geompy.addToStudy(cyl, 
+ &quot;cyl&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh on 
+ the cylinder</p>
+
+<p class="whs4">tetra = smesh.Mesh(cyl, 
+ &quot;Cylinder : tetrahedrical mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># assign algorithms</p>
+
+<p class="whs4">algo1D = tetra.Segment()</p>
+
+<p class="whs4">algo2D = tetra.Triangle()</p>
+
+<p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># assign 1D and 2D 
+ hypotheses</p>
+
+<p class="whs4">algo1D.NumberOfSegments(7)</p>
+
+<p class="whs4">algo2D.MaxElementArea(150.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># assign Max Element 
+ Volume hypothesis</p>
+
+<p class="whs4">algo3D.MaxElementVolume(200.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># compute the mesh</p>
+
+<p class="whs4">ret = tetra.Compute()</p>
+
+<p class="whs4">if ret == 0:</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;probleme when computing the mesh&quot;</p>
+
+<p class="whs4">else:</p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;Computation succeded&quot; </p>
+
+<h4><a name=bookmark6>Length from Edges</a></h4>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create sketchers</p>
+
+<p class="whs2">sketcher1 = geompy.MakeSketcher(&quot;Sketcher:F 
+ 0 0:TT 70 0:TT 70 70:TT 0 70:WW&quot;)</p>
+
+<p class="whs2">sketcher2 = geompy.MakeSketcher(&quot;Sketcher:F 
+ 20 20:TT 50 20:TT 50 50:TT 20 50:WW&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a face from 
+ two wires</p>
+
+<p class="whs2">isPlanarFace = 1</p>
+
+<p class="whs2">face1 = geompy.MakeFaces([sketcher1, 
+ sketcher2], isPlanarFace)</p>
+
+<p class="whs2">geompy.addToStudy(face1, 
+ &quot;Face1&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a mesh</p>
+
+<p class="whs2">tria = smesh.Mesh(face1, 
+ &quot;Face : triangle 2D mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># Define 1D meshing</p>
+
+<p class="whs2">algo1D = tria.Segment()</p>
+
+<p class="whs2">algo1D.NumberOfSegments(2)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create and assign the 
+ algorithm for 2D meshing with triangles</p>
+
+<p class="whs2">algo2D = tria.Triangle()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create and assign &quot;LengthFromEdges&quot; 
+ hypothesis to build triangles<span style="font-family: 'Times New Roman', serif;"> 
+ based on the length of the edges taken from the wire</span></p>
+
+<p class="whs2">algo2D.LengthFromEdges()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p class="whs2">tria.Compute() </p>
+
+<p class="whs2">&nbsp;</p>
+
+<h3>Defining Additional Hypotheses</h3>
+
+<h4><a name=bookmark7>Propagation</a></h4>
+
+<p class="whs2">from geompy import 
+ *</p>
+
+<p class="whs2">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a box</p>
+
+<p class="whs2">box = MakeBoxDXDYDZ(10., 
+ 10., 10.)</p>
+
+<p class="whs2">addToStudy(box, &quot;Box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># get one edge of the 
+ box to put local hypothesis on</p>
+
+<p class="whs2">p5 = MakeVertex(5., 
+ 0., 0.)</p>
+
+<p class="whs2">EdgeX = GetEdgeNearPoint(box, 
+ p5)</p>
+
+<p class="whs2">addToStudyInFather(box, 
+ EdgeX, &quot;Edge [0,0,0 - 10,0,0]&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs2">hexa = smesh.Mesh(box, 
+ &quot;Box : hexahedrical mesh&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># set global algorithms 
+ and hypotheses</p>
+
+<p class="whs2">algo1D = hexa.Segment()</p>
+
+<p class="whs2">hexa.Quadrangle()</p>
+
+<p class="whs2">hexa.Hexahedron()</p>
+
+<p class="whs2">algo1D.NumberOfSegments(4)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># create a sub-mesh with 
+ local 1D hypothesis and propagation</p>
+
+<p class="whs2">algo_local = hexa.Segment(EdgeX)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;Arithmetic1D&quot; 
+ hypothesis to cut an edge in several segments with increasing length</p>
+
+<p class="whs2">algo_local.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># define &quot;Propagation&quot; 
+ hypothesis that propagates all other 1D hypotheses</p>
+
+<p class="whs3"># from all edges on the 
+ opposite side of a face in case of quadrangular faces</p>
+
+<p class="whs2">algo_local.Propagation()</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"># compute the mesh</p>
+
+<p><span style="font-family: 'Lucida Console', monospace;">hexa.Compute()</span> 
+ </p>
+
+<h3><a name=bookmark8>Defining Meshing Algorithms</a></h3>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a box</p>
+
+<p class="whs4">box = geompy.MakeBoxDXDYDZ(10., 
+ 10., 10.)</p>
+
+<p class="whs4">geompy.addToStudy(box, 
+ &quot;Box&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs6"># 1. Create a hexahedral 
+ mesh on the box</p>
+
+<p class="whs4">hexa = smesh.Mesh(box, 
+ &quot;Box : hexahedrical mesh&quot;)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a Regular 1D algorithm 
+ for edges</p>
+
+<p class="whs4">algo1D = hexa.Segment()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a quadrangle 2D 
+ algorithm for faces</p>
+
+<p class="whs4">algo2D = hexa.Quadrangle()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a hexahedron 3D 
+ algorithm for solids</p>
+
+<p class="whs4">algo3D = hexa.Hexahedron()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># define hypotheses</p>
+
+<p class="whs4">algo1D.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># compute the mesh</p>
+
+<p class="whs4">hexa.Compute()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># 2. Create a tetrahedral 
+ mesh on the box</p>
+
+<p class="whs4">tetra = smesh.Mesh(box, 
+ &quot;Box : tetrahedrical mesh&quot;)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a Regular 1D algorithm 
+ for edges</p>
+
+<p class="whs4">algo1D = tetra.Segment()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a Mefisto 2D algorithm 
+ for faces</p>
+
+<p class="whs4">algo2D = tetra.Triangle()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a Netgen 3D algorithm 
+ for solids</p>
+
+<p class="whs4">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># define hypotheses</p>
+
+<p class="whs4">algo1D.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs4">algo2D.LengthFromEdges()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># compute the mesh</p>
+
+<p class="whs4">tetra.Compute()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># 3. Create a tetrahedral 
+ mesh on the box with NETGEN_2D3D algorithm</p>
+
+<p class="whs4">tetraN = smesh.Mesh(box, 
+ &quot;Box : tetrahedrical mesh by NETGEN_2D3D&quot;)</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># create a Netgen_2D3D 
+ algorithm for solids</p>
+
+<p class="whs4">algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN) 
+ </p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># define hypotheses</p>
+
+<p class="whs4">n23_params = algo3D.Parameters()</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"># compute the mesh</p>
+
+<p class="whs4">tetraN.Compute() 
+ </p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 7c7675e7fef48347bb42ad2e87b22b5f0da506d4..02a7b47e274748e575f706f9a4e5cf3c8f200273 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Deleting Groups</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
-img_whs2 { border:none; width:306px; height:234px; float:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nDeleting Groups");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Deleting Groups</h1>\r
-\r
-<p class="whs1">To delete a group in the \r
- <span style="font-weight: bold;"><B>Main Menu</B></span> select <span style="font-weight: bold;"><B>Mesh \r
- </B></span><span style="font-family: Arial, sans-serif;">-&gt;</span><span \r
- style="font-weight: bold;"><B> Delete Groups</B></span> and select one or several \r
- groups you wish to delete in the 3D viewer or in the Object Browser.</p>\r
-\r
-<p class="whs1">The selected groups will \r
- be listed in <span style="font-weight: bold;"><B>Delete groups with contents</B></span> \r
- menu. Then click Ok button to remove the selected groups and close the \r
- menu or Apply button to remove them and proceed with the selection. </p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/deletegroups.png" x-maintain-ratio="TRUE" width="306px" height="234px" border="0" class="img_whs2"></p>\r
-\r
-<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">Please, note that this \r
- operation <span style="font-weight: bold;"><B>removes groups with their elements</B></span>. \r
- To delete a group and leave its elements intact, right-click on the group \r
- in the Object Browser and select <span style="font-weight: bold;"><B>Delete</B></span> \r
- in the pop-up menu or select the group and choose <span style="font-weight: bold;"><B>Edit \r
- -&gt; Delete</B></span> in the <span style="font-weight: bold;"><B>Main Menu.</B></span> \r
- &nbsp;&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Deleting Groups</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; }
+img_whs2 { border:none; width:306px; height:234px; float:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nDeleting Groups");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Deleting Groups</h1>
+
+<p class="whs1">To delete a group in the 
+ <span style="font-weight: bold;"><B>Main Menu</B></span> select <span style="font-weight: bold;"><B>Mesh 
+ </B></span><span style="font-family: Arial, sans-serif;">-&gt;</span><span 
+ style="font-weight: bold;"><B> Delete Groups</B></span> and select one or several 
+ groups you wish to delete in the 3D viewer or in the Object Browser.</p>
+
+<p class="whs1">The selected groups will 
+ be listed in <span style="font-weight: bold;"><B>Delete groups with contents</B></span> 
+ menu. Then click Ok button to remove the selected groups and close the 
+ menu or Apply button to remove them and proceed with the selection. </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/deletegroups.png" x-maintain-ratio="TRUE" width="306px" height="234px" border="0" class="img_whs2"></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">Please, note that this 
+ operation <span style="font-weight: bold;"><B>removes groups with their elements</B></span>. 
+ To delete a group and leave its elements intact, right-click on the group 
+ in the Object Browser and select <span style="font-weight: bold;"><B>Delete</B></span> 
+ in the pop-up menu or select the group and choose <span style="font-weight: bold;"><B>Edit 
+ -&gt; Delete</B></span> in the <span style="font-weight: bold;"><B>Main Menu.</B></span> 
+ &nbsp;&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 90ae19e3b709c0bf355a86b803c2cbc396992ba7..51d7d6604c08012a57c71b5f1371344c5ea6d05a 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Display Entity</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; font-weight:bold; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; height:285px; width:260px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nDisplay Entity");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Display Entity</h1>\r
-\r
-<p>In this submenu you can choose to display only volumes, faces or edges \r
- or combine them. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1">Only Faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only \r
- Edges</p>\r
-\r
-<p class="whs2"><img src="image56.jpg" height="285px" width="260px" border="0" class="img_whs3"> &nbsp;<img src="image58.gif" height="285px" width="260px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Display Entity</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; font-weight:bold; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; height:285px; width:260px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nDisplay Entity");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Display Entity</h1>
+
+<p>In this submenu you can choose to display only volumes, faces or edges 
+ or combine them. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs1">Only Faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only 
+ Edges</p>
+
+<p class="whs2"><img src="image56.jpg" height="285px" width="260px" border="0" class="img_whs3"> &nbsp;<img src="image58.gif" height="285px" width="260px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index be729a46cb8f469a476a8dc61f31b4802a47a6a8..8d61adcdc34531f371757eb95af83cba283f70b0 100755 (executable)
@@ -1,10 +1,10 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE SYSTEM "ehelpopt.dtd">\r
-<FILE-OPTIONS FILE-VERSION="2" FILE-KEY="f974c843_2d19_491f_a339_b0affd721669">\r
-</FILE-OPTIONS>\r
-<EHELP-OPTIONS FORMAT-VERSION="1.0">\r
- <OPTIONS ENABLED="NO" EMBEDDED="YES" MAIN-WINDOW-ONLY="NO" COMMUNITY-NOTIFY="NO" FIRST-PAGE="NOT-SET">\r
- </OPTIONS>\r
- <BUTTON-LABEL>WebSearch\r
- </BUTTON-LABEL>\r
+<?xml version="1.0"?>
+<!DOCTYPE SYSTEM "ehelpopt.dtd">
+<FILE-OPTIONS FILE-VERSION="2" FILE-KEY="f974c843_2d19_491f_a339_b0affd721669">
+</FILE-OPTIONS>
+<EHELP-OPTIONS FORMAT-VERSION="1.0">
+ <OPTIONS ENABLED="NO" EMBEDDED="YES" MAIN-WINDOW-ONLY="NO" COMMUNITY-NOTIFY="NO" FIRST-PAGE="NOT-SET">
+ </OPTIONS>
+ <BUTTON-LABEL>WebSearch
+ </BUTTON-LABEL>
 </EHELP-OPTIONS>
\ No newline at end of file
index 6cfd2e4635ab4c1d1c212bcbecc78145599fd148..7bcb2499374ebd5524175157dd65d3acbb2c66ed 100755 (executable)
-// eHelp® Corporation Dynamic HTML JavaScript \r
-// Copyright© 1998-2003 eHelp® Corporation.All rights reserved.\r
-// Version=4.82\r
-\r
-// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten.\r
-\r
-//// Segment Begin -- (JavaScript 1.0)\r
-\r
-/// Section Begin - General and relative topics(JavaScript 1.0)\r
-\r
-//{{HH_SYMBOL_SECTION\r
-var HH_ChmFilename = "";\r
-var HH_WindowName = "";\r
-var HH_GlossaryFont = "";\r
-var HH_Glossary = "";\r
-var HH_Avenue = "";\r
-var HH_ActiveX = false;\r
-//}}HH_SYMBOL_SECTION\r
-\r
-//Begin to support previous generic parameters\r
-//Get the information about the browser.\r
-var gstrBsAgent        = navigator.userAgent.toLowerCase();\r
-var gnBsVer                    = parseInt(navigator.appVersion);\r
-\r
-var gbBsOpera          = (gstrBsAgent.indexOf('opera') != -1);\r
-var gbBsKonqueror      = (gstrBsAgent.indexOf('konqueror') != -1);\r
-var gbBsSafari         = (gstrBsAgent.indexOf('safari') != -1);\r
-var gbBsIE             = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;\r
-var gbBsNS             = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;\r
-\r
-var gbBsMac                    = (gstrBsAgent.indexOf('mac') != -1);\r
-var gbBsWindows                = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1));\r
-var gbBsSunOS          = (gstrBsAgent.indexOf("sunos") != -1);\r
-\r
-var gbBsIE3Before      = ((gbBsIE) && (gnBsVer <= 2));\r
-var gbBsNS3Before      = ((gbBsNS) && (gnBsVer <= 3));\r
-\r
-var gbBsNS2                    = ((gbBsNS) && (gnBsVer <= 2));\r
-var gbBsNS3                    = ((gbBsNS) && (gnBsVer == 3));\r
-var gbBsIE300301       = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1)));\r
-var gbBsIE302          = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1));\r
-\r
-var gbBsNS4                    = ((gbBsNS) && (gnBsVer >= 4));\r
-var gbBsNS6                    = ((gbBsNS) && (gnBsVer >= 5));\r
-var    gbBsNS7                 = false;\r
-\r
-var gbBsIE4                    = ((gbBsIE) && (gnBsVer >= 4));\r
-var gbBsIE5                    = false;\r
-var gbBsIE55           = false;\r
-\r
-var gbBsOpera6         = false;\r
-var gbBsOpera7         = false;\r
-\r
-var gbBsKonqueror3     = false;\r
-\r
-\r
-\r
-gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;;\r
-if (gbBsIE)\r
-{\r
-       if (parseInt(navigator.appVersion) >= 4) {\r
-               gbBsIE4 = true;\r
-               if (gbBsIE4) {\r
-                       var nPos = gstrBsAgent.indexOf("msie");\r
-                       var strIEversion = gstrBsAgent.substring(nPos + 5);\r
-                       var nVersion =  parseFloat(strIEversion);\r
-                       if (nVersion >= 5)\r
-                               gbBsIE5 = true;\r
-                       if (nVersion >= 5.5)\r
-                               gbBsIE55 = true;\r
-               }\r
-       }\r
-}\r
-if (gbBsNS6)\r
-{\r
-       var nPos=gstrBsAgent.indexOf("gecko");\r
-       if(nPos!=-1)\r
-       {\r
-               var nPos2=gstrBsAgent.indexOf("/", nPos);\r
-               if(nPos2!=-1)\r
-               {\r
-                       var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1));\r
-                       if (nVersion>=20020823)\r
-                               gbBsNS7=true;\r
-               }\r
-       }       \r
-}\r
-if (gbBsOpera)\r
-{\r
-       var nPos = gstrBsAgent.indexOf("opera");\r
-       if(nPos!=-1)\r
-       {\r
-               var nVersion = parseFloat(gstrBsAgent.substring(nPos+6));\r
-               if (nVersion >= 6)\r
-               {\r
-                       gbBsOpera6=true;\r
-                       if (nVersion >=7)\r
-                               gbBsOpera7=true;        \r
-               }\r
-       }\r
-}\r
-if (gbBsKonqueror)\r
-{\r
-       var nPos = gstrBsAgent.indexOf("konqueror");\r
-       if(nPos!=-1)\r
-       {\r
-               var nVersion = parseFloat(gstrBsAgent.substring(nPos+10));\r
-               if (nVersion >= 3)\r
-               {\r
-                       gbBsKonqueror3=true;\r
-               }\r
-       }\r
-}\r
-\r
-function insertAdjacentHTML(obj, where, htmlStr)\r
-{\r
-       if (gbBsIE || gbBsOpera7)\r
-       {\r
-               obj.insertAdjacentHTML(where, htmlStr);\r
-       }\r
-       else if (gbBsNS6 || gbBsSafari)\r
-       {\r
-               var r = obj.ownerDocument.createRange();\r
-               r.setStartBefore(obj);\r
-               var     parsedHTML = r.createContextualFragment(htmlStr);\r
-               \r
-               switch (where){\r
-               case 'beforeBegin':\r
-                       obj.parentNode.insertBefore(parsedHTML,obj);\r
-                       break;\r
-               case 'afterBegin':\r
-                       obj.insertBefore(parsedHTML,obj.firstChild);\r
-                       break;\r
-               case 'beforeEnd':\r
-                       obj.appendChild(parsedHTML);\r
-                       break;\r
-               case 'afterEnd':\r
-                       if (obj.nextSibling){\r
-                       obj.parentNode.insertBefore(parsedHTML,obj.nextSibling);\r
-                       } else {\r
-                       obj.parentNode.appendChild(parsedHTML);\r
-                       }\r
-                       break;\r
-               }\r
-       }\r
-}\r
-\r
-// Utilities functions.\r
-function BsscHasExtJs()\r
-{\r
-       if( gbBsIE3Before || gbBsNS3Before)\r
-               return false;\r
-       return true;\r
-}\r
-\r
-// Register event handler\r
-var gBsOnLoads                         = new Array();  // An array holds all the onload event handler.\r
-var gBsOnClicks                = new Array();  // An array holds all the onClick event handler.\r
-var gBsOnUnLoads               = new Array();  // An array holds all the OnUnLoad event handler.\r
-var gBsOnMouseOvers    = new Array();  // An array holds all the OnMouseOver event handler.\r
-var gBsOnMouseOuts             = new Array();  // An array holds all the OnMouseOut event handler.\r
-\r
-var gbOrignalOnMouseDown = null;\r
-\r
-function BsscRegisterOnLoad(funcHandler)\r
-{\r
-       var nLength = gBsOnLoads.length;\r
-       gBsOnLoads[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnClick(funcHandler)\r
-{\r
-       var nLength = gBsOnClicks.length;\r
-       gBsOnClicks[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnUnLoad(funcHandler)\r
-{\r
-       var nLength = gBsOnUnLoads.length;\r
-       gBsOnUnLoads[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnMouseOver(funcHandler)\r
-{\r
-       var nLength = gBsOnMouseOvers.length;\r
-       gBsOnMouseOvers[nLength] = funcHandler;\r
-}\r
-\r
-function BsscRegisterOnMouseOut(funcHandler)\r
-{\r
-       var nLength = gBsOnMouseOuts.length;\r
-       gBsOnMouseOuts[nLength] = funcHandler;\r
-}\r
-\r
-function BsGeneralOnLoad()\r
-{\r
-       if (!gbBsIE4 && !gbBsNS4)\r
-               return;\r
-\r
-       // Make everything visible in navigator\r
-       if (gbBsNS4 && !gbBsNS6) {\r
-               // Make some special effects items visible\r
-               for (var iLayer = 0; iLayer < document.layers.length; iLayer++) {\r
-                       document.layers[iLayer].visibility = "show";\r
-                       document.layers[iLayer].left = 0;\r
-               }\r
-       }\r
-}\r
-\r
-// If resize the netscape browser, need to reload it.\r
-function BsReDo()\r
-{\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-// End of the local functions.\r
-\r
-// The following functions are used by the html files.\r
-function BSSCOnLoad()\r
-{\r
-       if( !BsscHasExtJs() )\r
-               return;\r
-       for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--)\r
-               gBsOnLoads[nElement]();\r
-}\r
-\r
-function BSSCOnClick()\r
-{\r
-       if (!BsscHasExtJs()) return;\r
-               \r
-       for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--)\r
-               gBsOnClicks[nElement]();\r
-}\r
-\r
-function BSSCOnUnload()\r
-{\r
-       if (!BsscHasExtJs()) return;\r
-       for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--)\r
-               gBsOnUnLoads[nElement]();\r
-}\r
-\r
-function BSSCOnMouseOver()\r
-{\r
-       if (!BsscHasExtJs()) return;\r
-       for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--)\r
-               gBsOnMouseOvers[nElement]();\r
-}\r
-\r
-function BSSCOnMouseOut()\r
-{\r
-       if (!BsscHasExtJs()) return;\r
-       for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--)\r
-       {\r
-               gBsOnMouseOuts[nElement]();\r
-       }\r
-}\r
-// End of invocation of the event handle functions.\r
-\r
-// Add the GereralOnLoad to the onload array.\r
-if (typeof(BsscRegisterOnLoad) != "undefined")\r
-{\r
-       BsscRegisterOnLoad(BsGeneralOnLoad);\r
-}\r
-if (gbBsNS4&&!gbBsNS6) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = BsReDo;\r
-}\r
-//End to support previous generic parameters\r
-\r
-//Begin to support previous HHActiveX invoking\r
-function BsHHActivateComponents()\r
-{\r
-       if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0])))\r
-       {\r
-               var objBody = getElementsByTag(document,"BODY")[0];\r
-               if( typeof(objBody) == "object" )\r
-               {\r
-                       insertAdjacentHTML(objBody, "beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');\r
-                       if (HHComponentActivator.object)\r
-                               HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);\r
-               }\r
-       }\r
-}\r
-\r
-function BsHHActivXOnLoad()\r
-{      \r
-       if( gbBsIE4 )\r
-               BsHHActivateComponents(); \r
-}\r
-\r
-if( typeof(BsscRegisterOnLoad) != "undefined" )\r
-{\r
-       BsscRegisterOnLoad(BsHHActivXOnLoad);\r
-}\r
-//End to support previous HHActiveX invoking\r
-\r
-//Begin to support previous relative topics\r
-//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here\r
-var gbPopupMenuTimeoutExpired = false;\r
-var gbInPopupMenu = false;\r
-var gbPopupMenuTopicList = null;\r
-var gOlddocumentClick = null;\r
-\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Popup Menu code\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-var g_bIsPopupMenuInit = false;\r
-function _WritePopupMenuLayer()\r
-{\r
-       if (!g_bIsPopupMenuInit)\r
-        {\r
-         if (gbBsNS4&&!gbBsNS6) {\r
-//Do not try to write ininle styles for NS!  NS can not handle it and will not stop downloading the html page...\r
-               document.write("<DIV CLASS='WebHelpPopupMenu' ID='PopupMenu'></DIV>");\r
-         } else{\r
-         document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
-         if (!(gbBsNS4&&!gbBsNS6)) {\r
-               document.write("<STYLE TYPE='text/css'>");\r
-               if (gbBsMac&&gbBsIE4) {\r
-                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
-                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
-               } else {\r
-                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
-                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");\r
-               }\r
-               document.write("</STYLE>");\r
-          }\r
-          }\r
-         g_bIsPopupMenuInit = true;\r
-       }\r
-}\r
-\r
-//Seek for the bsscright frame \r
-function _SeekFrameByName( cRoot, strName )\r
-{\r
-       if( cRoot == null )     return null;\r
-       if( cRoot.frames == null )      return null;\r
-       if( cRoot.frames[strName] != null )     return cRoot.frames[strName];\r
-       for (var i=0; i<cRoot.frames.length; i++)\r
-       {\r
-               var cObj = null;\r
-               if (!gbBsNS6) \r
-                       cObj = _SeekFrameByName( cRoot.frames(i).document, strName );\r
-               else\r
-                       cObj = _SeekFrameByName( cRoot.frames[i], strName );\r
-               if( cObj != null )              return cObj;\r
-       };\r
-       return null;\r
-}\r
-function _GetFrameByName( cRoot, strName )\r
-{\r
-       if( cRoot == null )     return null;\r
-       var cRet = _SeekFrameByName(cRoot, strName);\r
-       if( cRet != null )      return cRet;\r
-       if (cRoot.parent != cRoot)\r
-               return _GetFrameByName( cRoot.parent, strName );\r
-       else\r
-               return null;\r
-}\r
-\r
-var gfn_arguments = null;\r
-function _PopupMenu_Invoke(fn_arguments)\r
-{\r
-       gfn_arguments = fn_arguments;\r
-       if (gbBsOpera6&&gbBsMac)\r
-       {\r
-               var wndOldPopupLinks= window.open(document.location.href, "popuplinks");\r
-               wndOldPopupLinks.close();\r
-               setTimeout("_PopupMenu_Invoke_2();",100);\r
-       }\r
-       else\r
-       {\r
-               _PopupMenu_Invoke_2();\r
-       }\r
-}\r
-\r
-function _PopupMenu_Invoke_2()\r
-{\r
-       var fn_arguments = gfn_arguments;\r
-       gfn_arguments = null;\r
-       \r
-       // Make sure we have reasonable arguments\r
-       var argLen = fn_arguments.length;\r
-       if (argLen < 3) {\r
-               return false;\r
-       }\r
-\r
-       // Check to see if we only have one target\r
-       var strTarget = "";\r
-       var targetDoc = null;\r
-       if (fn_arguments[1] == '') {\r
-               if (BSSCPopup_IsPopup()) {\r
-                       targetDoc = parent;\r
-                       strTarget = "TARGET= _parent";\r
-               }\r
-               else\r
-                       targetDoc = window.document;\r
-       } else {\r
-               targetDoc = _GetFrameByName( parent, fn_arguments[1] );\r
-\r
-               strTarget = "TARGET='" + fn_arguments[1] + "'";\r
-       }\r
-\r
-       if ((!gbBsIE4 && !gbBsNS4 && !gbBsOpera7 && !gbBsKonqueror3 &&!gbBsSafari) || ((gbBsMac) && (gbBsIE4) && (window.event.srcElement.tagName == "AREA"))) {\r
-       \r
-               var argLen      = fn_arguments.length;\r
-\r
-               // Create the window that the hyperlinks will go into\r
-               var nHeight = argLen * 15;\r
-               var nWidth = 400;\r
-               var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";\r
-               strParam += ",height=" + nHeight + ",width=200";\r
-               strParam += ",resizable";\r
-\r
-               var wndTemp=null;\r
-               // Create a temporary window first to ensure the real popup comes up on top\r
-               if (!gbBsOpera)\r
-                       wndTemp = window.open("", "temp", strParam);\r
-\r
-               // Create the real popup window\r
-               var wndPopupLinks=null;\r
-               if (gbBsOpera&&gbBsMac)\r
-               {\r
-                       wndTemp = window.open(document.location.href, "temp", strParam);\r
-                       wndPopupLinks= window.open(document.location.href, "popuplinks", strParam);\r
-               }\r
-               else\r
-                       wndPopupLinks= window.open("", "popuplinks", strParam);\r
-               wndPopupLinks.document.open("text/html");\r
-\r
-               // Close the temporary\r
-               if (wndTemp)\r
-                       wndTemp.close();\r
-\r
-               var sHTML="<html><head></head>";\r
-               sHTML+="<body onBlur=\'self.focus();\'>";\r
-               var strParaLine = "";\r
-               for (var i = 0; i < (argLen - 2) / 2; i++) {\r
-                       strParaLine = "";\r
-                       strParaLine += "<a href=\"javascript:";\r
-                       if (gbBsIE) {\r
-                               strParaLine += "onBlur=null; ";\r
-                       }\r
-                       strParaLine += "opener.location=\'";\r
-                       strParaLine += fn_arguments[2 * i + 3];\r
-                       strParaLine += "\';close();\"";\r
-                       strParaLine += strTarget;\r
-\r
-                       strParaLine += ">";\r
-                       strParaLine += fn_arguments[2 * i + 2];\r
-                       strParaLine += "</a>";\r
-                       strParaLine += "<br>";\r
-                       sHTML+=strParaLine;\r
-               }\r
-               sHTML+="</body></html>";\r
-               wndPopupLinks.document.write(sHTML);\r
-               wndPopupLinks.document.close();\r
-               window.gbInPopupMenu = true;\r
-               if (!gbBsIE) {\r
-                       wndPopupLinks.focus();\r
-               }\r
-               return false;\r
-       }\r
-\r
-       if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) ||\r
-               ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) {\r
-               // Get the place that we will be putting the topic into\r
-               var strURL = "";\r
-               if (isNaN(fn_arguments[2]) ||  (gbPopupMenuTopicList == null)) {\r
-                       strURL = fn_arguments[3];\r
-               }\r
-               else    {\r
-                       strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL;\r
-               }\r
-\r
-               if (targetDoc != null) {\r
-                       targetDoc.location.href = strURL;\r
-               }\r
-               else {\r
-                       if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")\r
-                               window.open(strURL, fn_arguments[1]);\r
-                       else\r
-                               window.open(strURL);\r
-               }               \r
-               window.gbInPopupMenu = true;\r
-               return false;\r
-       }\r
-       \r
-       var strMenu = "";\r
-       if (gbBsNS4&&!gbBsNS6) {\r
-               strMenu = '<TABLE BORDER="1" CELLSPACING=0 CELLPADDING=3 BGCOLOR="#c0c0c0">';\r
-       } else {\r
-               strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';\r
-               if (gbBsMac) {\r
-                       strMenu += ' CELLPADDING=4';\r
-               } else {\r
-                       strMenu += ' CELLPADDING=2';\r
-               }       \r
-               strMenu += ' BGCOLOR=#c0c0c0>';\r
-       }\r
-       // Add each of the items\r
-       var i = 2;\r
-       while (i <= argLen - 1) {\r
-               strMenu += '<TR><TD><NOBR>'\r
-               // If the destination is a number then look it up in the topic list\r
-               if (isNaN(fn_arguments[i]) ||  (gbPopupMenuTopicList == null)) {\r
-                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '"' + strTarget;\r
-               } else {\r
-                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + gbPopupMenuTopicList[fn_arguments[i]].strURL + '"' + strTarget;\r
-               }\r
-               strMenu += ' onclick="PopupMenu_HandleClick(event);"';\r
-               strMenu += ' onmouseover="PopupMenu_Over(event);"';\r
-               strMenu += ' onmouseout="PopupMenu_Out(event);"';\r
-               strMenu += '>';\r
-               if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {\r
-                       strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';\r
-               } else {\r
-                       strMenu += '<SPAN CLASS="PopupNotOver">' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + '</SPAN>';\r
-               }\r
-               strMenu += '</A></DIV></NOBR></TD></TR>';\r
-\r
-               if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {\r
-                       i += 2;\r
-               } else {\r
-                       i += 1;\r
-               }\r
-       }\r
-       strMenu += "</TABLE>";\r
-\r
-       if (gbBsMac) {\r
-       // totally hack. because ie5 in mac need something. </TABLE> is one of them. mac is mad.\r
-               strMenu +="<TABLE></TABLE>";\r
-       }\r
-\r
-       var layerPopup = null;\r
-       var stylePopup = null;\r
-       var nEventX = 0;\r
-       var nEventY = 0;\r
-       var nWindowWidth = 0;\r
-       if (gbBsIE4 || gbBsOpera7) {\r
-\r
-               layerPopup = getElement("PopupMenu");\r
-               layerPopup.innerHTML = strMenu;\r
-               stylePopup = layerPopup.style;\r
-\r
-               _BSPSGetClientSize();\r
-\r
-               // Get the position of the item causing the event (relative to its parent)\r
-               nEventX = window.event.clientX;\r
-               nEventY = window.event.clientY;\r
-\r
-               if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {\r
-                       nEventY += document.body.scrollTop + 10;\r
-               } else {\r
-                       nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;\r
-               }\r
-               stylePopup.top = nEventY;\r
-               \r
-               var nPopupWidth = layerPopup.scrollWidth;\r
-               if (gbBsMac) {\r
-                       nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup.\r
-               }\r
-               if (nEventX + nPopupWidth + 20 > gBsClientWidth) {\r
-                       if (gBsClientWidth - nPopupWidth < 5) {\r
-                               stylePopup.left = 5;\r
-                       } else {\r
-                               stylePopup.left = gBsClientWidth - nPopupWidth - 5;\r
-                       }\r
-               } else {\r
-                       stylePopup.left = nEventX + document.body.scrollLeft + 20;\r
-               }\r
-\r
-               stylePopup.visibility = "visible";\r
-               if (!gOlddocumentClick && document.onclick)\r
-                       gOlddocumentClick = document.onclick;\r
-               document.onclick = PopupMenu_HandleClick;\r
-\r
-       } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) {\r
-               layerPopup = getElement("PopupMenu");\r
-               layerPopup.style.visibility = "hidden";\r
-       \r
-               if (gbBsNS6)\r
-               {\r
-                       var e = fn_arguments[0];\r
-                       nEventX = e.pageX;\r
-                       nEventY = e.pageY;\r
-               }\r
-               else\r
-               {\r
-                       nEventX = window.event.clientX;\r
-                       nEventY = window.event.clientY;\r
-               }\r
-               _BSPSGetClientSize();\r
-               layerPopup.innerHTML = strMenu;\r
-\r
-               if (nEventY + layerPopup.offsetHeight + 20  <  window.pageYOffset + gBsClientHeight) {\r
-                       nEventY += 20;\r
-               } else {\r
-                       nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;\r
-               }\r
-\r
-               if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {\r
-                       if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {\r
-                               nEventX = 5;\r
-                       } else {\r
-                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;\r
-                       }\r
-               } else {\r
-                       nEventX += 20;\r
-               }\r
-               layerPopup.style.top = nEventY;\r
-               layerPopup.style.left = nEventX;\r
-               // set again to avoid the stupid frash in netscape 6.\r
-               layerPopup.innerHTML = strMenu;\r
-               layerPopup.style.visibility = "visible";\r
-               //window.captureEvents(Event.MOUSEDOWN);\r
-               if (!gOlddocumentClick && document.onclick)\r
-                       gOlddocumentClick = document.onclick;\r
-               window.onclick = PopupMenu_HandleClick;\r
-       }\r
-       else if (gbBsNS4) {\r
-               layerPopup = document.layers.PopupMenu;\r
-               layerPopup.visibility = "hide";\r
-               stylePopup = layerPopup.document;\r
-               stylePopup.write(strMenu);\r
-               stylePopup.close();\r
-               var e = fn_arguments[0];\r
-               nEventX = e.pageX;\r
-               nEventY = e.pageY;\r
-               _BSPSGetClientSize();\r
-               if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) {\r
-                       nEventY += 20;\r
-               } else {\r
-                       nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20;\r
-               }\r
-               layerPopup.top = nEventY;\r
-\r
-               if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) {\r
-                       if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) {\r
-                               nEventX = 5;\r
-                       } else {\r
-                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20;\r
-                       }\r
-               } else {\r
-                       nEventX += 20;\r
-               }\r
-\r
-               layerPopup.left = nEventX;\r
-\r
-               layerPopup.visibility = "show";\r
-\r
-               window.captureEvents(Event.MOUSEDOWN);\r
-               if (!gOlddocumentClick && document.onmousedown)\r
-                       gOlddocumentClick = document.onmousedown;\r
-               window.onmousedown = PopupMenu_HandleClick;\r
-       }\r
-\r
-       window.gbInPopupMenu = true;\r
-       window.gbPopupMenuTimeoutExpired = false;\r
-       setTimeout("PopupMenu_Timeout();", 100);\r
-       return false;\r
-}\r
-\r
-function PopupMenu_Timeout()\r
-{\r
-       window.gbPopupMenuTimeoutExpired = true;\r
-}\r
-\r
-function PopupMenu_Over(e)\r
-{\r
-    if (gbBsIE4||gbBsOpera7)\r
-               e.srcElement.className = "PopupOver";\r
-    else if (gbBsNS6)\r
-               e.target.parentNode.className = "PopupOver";\r
-       return;\r
-}\r
-\r
-function PopupMenu_Out(e)\r
-{\r
-    if (gbBsIE4||gbBsOpera7)\r
-               e.srcElement.className = "PopupNotOver";\r
-    else if (gbBsNS6)\r
-               e.target.parentNode.className = "PopupNotOver";\r
-       return;\r
-}\r
-\r
-function PopupMenu_HandleClick(e)\r
-{\r
-       if (window.gbPopupMenuTimeoutExpired) {\r
-               window.gbInPopupMenu = false;\r
-               if (gbBsNS4 && !gbBsNS6) {\r
-                       window.releaseEvents(Event.MOUSEDOWN);\r
-               }\r
-\r
-               var layerPopup = null;\r
-               if (gbBsNS4&&!gbBsNS6) {\r
-                       layerPopup = document.layers.PopupMenu;\r
-                       layerPopup.visibility = "hide";\r
-               } else {\r
-                       layerPopup = getElement("PopupMenu");\r
-                       layerPopup.style.visibility = "hidden";\r
-               }\r
-       \r
-               if (gOlddocumentClick)\r
-               {\r
-                       if (gbBsNS4 && !gbBsNS6)\r
-                               document.onmousedown = gOlddocumentClick;\r
-                       else\r
-                               document.onclick = gOlddocumentClick;\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-function BSSCPopup_ClickMac()\r
-{\r
-       if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7))\r
-       {       \r
-               var bClickOnAnchor = false;\r
-               var el;\r
-               if ((window.event != null) &&\r
-                   (window.event.srcElement != null))\r
-               {\r
-                   el = window.event.srcElement;\r
-                       while (el != null)\r
-                       {\r
-                               if ((el.tagName == "A") || (el.tagName == "AREA"))      {\r
-                                       bClickOnAnchor = true;\r
-                                       break;\r
-                               }\r
-                               if (el.tagName == "BODY") {\r
-                                       break;\r
-                               }\r
-                               el = getParentNode(el);\r
-                       }\r
-               }\r
-               if (BSSCPopup_IsPopup())\r
-               {\r
-                       if (!bClickOnAnchor) {\r
-                               parent.window.gPopupWindow = null;\r
-                               self.close();\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       bClosePopupWindow = true;\r
-                       if ((bClickOnAnchor) &&\r
-                               (el.href) &&\r
-                           ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1)))\r
-                       {\r
-                               bClosePopupWindow = false;\r
-                       }\r
-                       if (bClosePopupWindow)\r
-                       {\r
-                               if (window.gPopupWindow != null && !window.gPopupWindow.closed )\r
-                               {\r
-                                       window.gPopupWindow.close();\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function BsPopupOnClick()\r
-{\r
-       if (!gbBsIE4 && !gbBsOpera7)\r
-               return;\r
-\r
-       BSSCPopup_ClickMac();\r
-}\r
-\r
-function _BSSCOnError(message)\r
-{\r
-       if(-1 != message.indexOf("denied") \r
-               || -1 != message.indexOf("Object required"))\r
-        return true;\r
-}\r
-\r
-//End to support previous relative topics\r
-\r
-/// Section End - General and relative topics (JavaScript 1.0)\r
-\r
-/// Section Begin  - Popup (JavaScript 1.0)\r
-//Begin to support previous popup functions\r
-\r
-//variables used to isolate the browser type\r
-var gBsStyVisShow      = null;\r
-var gBsStyVisHide      = null;\r
-var gBsClientWidth     = 640;\r
-var gBsClientHeight = 480;\r
-\r
-// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others.\r
-var gBRateH_W          = 0.618; // 1.618 Golden cut.\r
-var gBMaxXOfParent     = 0.8; \r
-var gBMaxYOfParent     = 0.8;\r
-var gBscrollHeight   = 16;\r
-var gBscrollWidth   =  16;\r
-var gBpermitXDelta     = 3;\r
-var gBpermitYDelta     = 3;\r
-\r
-\r
-var arrayPopupURL = new Array();\r
-var arrayAbsPopupURL = new Array();\r
-\r
-var arrayDirty = new Array();\r
-\r
-function setAbsPopupURL(nIndex, strURL)\r
-{\r
-       arrayAbsPopupURL[nIndex] = strURL;\r
-}\r
-\r
-function getAbsPopupURL(nIndex)\r
-{\r
-       if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null;\r
-       else \r
-               return arrayAbsPopupURL[nIndex];\r
-}\r
-\r
-function getPopupURL(nIndex)\r
-{\r
-       if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null;\r
-       else \r
-               return arrayPopupURL[nIndex];\r
-}\r
-\r
-function getPopupID(nIndex)\r
-{\r
-       return gstrPopupID + nIndex;\r
-}\r
-\r
-function getPopupShadowID(nIndex)\r
-{\r
-       return gstrPopupShadowID + nIndex;\r
-}\r
-\r
-function getPopupTopicID(nIndex)\r
-{\r
-       return gstrPopupTopicID + nIndex;\r
-}\r
-\r
-function getPopupIFrameID(nIndex)\r
-{\r
-       return gstrPopupIFrameID + nIndex;\r
-}\r
-\r
-function getPopupIFrameName(nIndex)\r
-{\r
-       return gstrPopupIFrameName + nIndex;\r
-}\r
-\r
-\r
-function getPopupTopicStyle(nIndex)\r
-{\r
-       return getElement(getPopupTopicID(nIndex)).style;\r
-}\r
-\r
-function getPopupShadowStyle(nIndex)\r
-{\r
-       return getElement(getPopupShadowID(nIndex)).style;\r
-}\r
-\r
-function getPopupIFrame(nIndex)\r
-{\r
-       if (gbBsNS6)\r
-               return eval("window.frames['" + getPopupIFrameName(nIndex) + "']");\r
-       else\r
-               return eval("document.frames['" + getPopupIFrameName(nIndex) + "']");\r
-}\r
-\r
-function getPopupDivStyle(nIndex)\r
-{\r
-       return getElement(getPopupID(nIndex)).style;\r
-}\r
-\r
-function getPopupIFrameStyle(nIndex)\r
-{\r
-       return getElement(getPopupIFrameID(nIndex)).style;\r
-}\r
-\r
-\r
-function findDiv(strURL)\r
-{\r
-       for (var i = 0; i < arrayPopupURL.length; i ++ ) {\r
-               if (arrayPopupURL[i] == strURL) {\r
-                       return i;\r
-               }\r
-       }\r
-       return -1;\r
-}\r
-\r
-var gnToken = -1;\r
-function takeToken()\r
-{\r
-       gnToken ++;\r
-       if (gnToken > 10000) gnToken = 0;\r
-       return gnToken;\r
-}\r
-\r
-function IsValidToken(nToken)\r
-{\r
-       return (gnToken == nToken);\r
-}\r
-\r
-function addDiv(strURL)\r
-{\r
-       for (var i = 0; i < arrayPopupURL.length; i ++) {\r
-               if (arrayPopupURL[i] == null) {\r
-                       arrayPopupURL[i] = strURL;\r
-                       return i;\r
-               }\r
-       }       \r
-       arrayPopupURL[i] = strURL;\r
-       arrayDirty[i] = true;\r
-       return i;\r
-}\r
-\r
-function setDirty()\r
-{\r
-       for (var i = 0; i < arrayPopupURL.length; i ++ )\r
-               arrayDirty[i] = true;\r
-}\r
-\r
-function IsDirty(nIndex)\r
-{\r
-       if (nIndex == -1)\r
-               return true;\r
-       else \r
-               if (arrayDirty.length > nIndex) \r
-                       return arrayDirty[nIndex];\r
-               else\r
-                       return true;\r
-}\r
-\r
-function hideAll()\r
-{\r
-       for (var i = 0; i < arrayPopupURL.length; i ++ )\r
-       {\r
-               getPopupDivStyle(i).visibility = gBsStyVisHide;\r
-               getPopupIFrameStyle(i).visibility = gBsStyVisHide;\r
-       }\r
-}\r
-\r
-function getCurrentPopupIFrame()\r
-{\r
-       for (var i = 0; i < arrayPopupURL.length; i ++)\r
-               if (getPopupDivStyle(i).visibility == gBsStyVisShow)\r
-                       return getPopupIFrame(i);\r
-       return null;\r
-}\r
-\r
-function setClear(nIndex)\r
-{\r
-       if (nIndex != -1)\r
-               arrayDirty[nIndex] = false;\r
-}\r
-\r
-function _BSSCCreatePopupDiv(strURL)\r
-{\r
-       var nIndex = findDiv(strURL);\r
-       if (nIndex == -1 ) {\r
-               nIndex = addDiv(strURL);\r
-               BsPopup_CreateDiv(nIndex);\r
-       }\r
-       else {\r
-               if (IsDirty(nIndex)) {\r
-                       if("object" == typeof(getPopupIFrame(nIndex).document))\r
-                               getPopupIFrame(nIndex).document.location.href = strURL;\r
-               }\r
-       }\r
-       return nIndex;\r
-}\r
-\r
-//Here is the browser type \r
-function _BSPSGetBrowserInfo()\r
-{\r
-       if (gbBsNS4&&!gbBsNS6)\r
-       {\r
-               gBsStyVisShow   = "show";\r
-               gBsStyVisHide   = "hide";\r
-       }\r
-       else\r
-       {\r
-               gBsStyVisShow   = "visible";\r
-               gBsStyVisHide   = "hidden";\r
-       }\r
-}\r
-\r
-_BSPSGetBrowserInfo();\r
-\r
-//Get client size info\r
-function _BSPSGetClientSize()\r
-{\r
-       if (gbBsNS4||gbBsKonqueror3||gbBsSafari)\r
-       {\r
-               gBsClientWidth  = innerWidth;\r
-               gBsClientHeight = innerHeight;\r
-       }\r
-       else if (gbBsIE4 || gbBsOpera7)\r
-       {\r
-               gBsClientWidth  = document.body.clientWidth;\r
-               gBsClientHeight = document.body.clientHeight;\r
-       }\r
-}\r
-\r
-var gstrPopupID = 'BSSCPopup';\r
-var gstrPopupShadowID = 'BSSCPopupShadow';\r
-var gstrPopupTopicID = 'BSSCPopupTopic';\r
-var gstrPopupIFrameID = 'BSSCPopupIFrame';\r
-var gstrPopupIFrameName = 'BSSCPopupIFrameName';\r
-\r
-var gstrPopupSecondWindowName = 'BSSCPopup';\r
-\r
-var gPopupWindow = null;\r
-var gnPopupClickX = 0;\r
-var gnPopupClickY = 0;\r
-\r
-var gnPopupScreenClickX = 0;\r
-var gnPopupScreenClickY = 0;\r
-\r
-var gbPopupTimeoutExpired = false;\r
-\r
-function DHTMLPopupSupport()\r
-{\r
-       if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) {\r
-               return true;\r
-       }\r
-       return false;\r
-}\r
-\r
-function BSSCPopup_IsPopup()\r
-{\r
-       if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) {\r
-               return true;\r
-       } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) {\r
-               return true;\r
-       } else {\r
-               return false;\r
-       }\r
-}\r
-\r
-// If there is a hyperlink in a popup window, display the hyperlink in\r
-// the original window. (bsscright)\r
-if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) {\r
-       document.write("<base target=\"bsscright\">");\r
-}\r
-\r
-// Local functions.\r
-function BsPopup_CreateDiv(nIndex)\r
-{\r
-       if(!DHTMLPopupSupport())\r
-               return;\r
-       // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone.\r
-       var strPopupDiv = "<DIV ID='" + getPopupID(nIndex) + "' STYLE='position:absolute; top:-100; left:0; z-index:600; visibility:hidden;'>";\r
-       strPopupDiv += "<DIV ID='" + getPopupShadowID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0;  background-color:#C0C0C0;\"></DIV>";\r
-       strPopupDiv += "<DIV ID='" + getPopupTopicID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0;  background-color:#FFFFFF;border:1px #000000 outset;\">";\r
-       strPopupDiv += "<IFRAME title=\"Popup Window\" ID='" + getPopupIFrameID(nIndex) + "' name='" + getPopupIFrameName(nIndex) + "' src = '" + getPopupURL(nIndex) + "' frameborder=0 scrolling=auto></IFRAME>";\r
-       strPopupDiv += "</DIV></DIV>";\r
-\r
-       var objBody = getElementsByTag(document, "BODY")[0];\r
-       if( typeof(objBody) != "object" )\r
-               return;\r
-\r
-       insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv);\r
-}\r
-\r
-function handleLoadNS()\r
-{\r
-       if (this.id)\r
-       {\r
-               var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length));\r
-               BSSCPopup_PostWork(nIndex);\r
-       }\r
-}\r
-\r
-function BSSCPopup_PostWork(nIndex)\r
-{\r
-       getPopupDivStyle(nIndex).visibility = gBsStyVisShow;\r
-       getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow;\r
-\r
-       setClear(nIndex);\r
-       window.gbPopupTimeoutExpired = true;\r
-\r
-       BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document);\r
-       if (gbBsNS6)\r
-               getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false);\r
-       else\r
-               getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked;\r
-\r
-       if (!gbOrignalOnMouseDown && document.onmousedown)\r
-               gbOrignalOnMouseDown = document.onmousedown;\r
-\r
-       if (gbBsNS6)\r
-               document.addEventListener("mousedown", BSSCPopupParentClicked,false);\r
-       else\r
-               document.onmousedown = BSSCPopupParentClicked;\r
-}\r
-\r
-function BSSCPopup_Timeout(nIndex, nToken)\r
-{\r
-    if (!IsValidToken(nToken)) return;\r
-\r
-       if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") &&\r
-               (getPopupIFrame(nIndex).document.body != null))) {\r
-               BSSCPopup_PostWork(nIndex);\r
-       } else {\r
-               setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100);\r
-       }\r
-}\r
-\r
-// VH 08/10/00 \r
-// do not change target to parent if the href is using javascript\r
-function BSSCPopup_ChangeTargettoParent(tagsObject)\r
-{\r
-       var collA = getElementsByTag(tagsObject, "A");\r
-       BSSCPopup_ChangeTargettoParent2(collA);\r
-\r
-       var collIMG = getElementsByTag(tagsObject,"IMG");\r
-       BSSCPopup_ChangeTargettoParent2(collIMG);\r
-}\r
-\r
-function BSSCPopup_ChangeTargettoParent2(colls)\r
-{\r
-       if (colls != null)  {\r
-               for (var j = 0; j < colls.length; j ++ )\r
-               {\r
-                       var strtemp = colls[j].href;\r
-                       if (strtemp)\r
-                       {\r
-                               strtemp = strtemp.toLowerCase();\r
-                               if (strtemp.indexOf("javascript:") == -1)\r
-                               if (colls[j].target == "")\r
-                                       colls[j].target = "_parent";\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function BSPSPopupTopicWinHelp(strURL)\r
-{\r
-       _BSSCPopup(strURL);\r
-       return;\r
-}\r
-\r
-function _BSSCPopup(strURL, width, height)\r
-{\r
-       var cuswidth = 0;\r
-       var cusheight = 0;\r
-       if ("undefined" != typeof(width) && "undefined" != typeof(height)) {\r
-               cuswidth = width;\r
-               cusheight= height;\r
-       }\r
-       \r
-       if (DHTMLPopupSupport()) {\r
-               var nToken = takeToken(); // take  token first.\r
-               var nIndex = _BSSCCreatePopupDiv(strURL);\r
-               window.gbPopupTimeoutExpired = false;\r
-               var ntWidth = gBsClientWidth;\r
-               var ntHeight = gBsClientHeight;\r
-               _BSPSGetClientSize();\r
-               if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) {\r
-                       setDirty();\r
-               }\r
-\r
-               if (IsDirty(nIndex)) {\r
-                       if (gbBsMac) {\r
-                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight  +")", 400);\r
-                       } else {\r
-                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100);\r
-                       }\r
-               }\r
-               else {\r
-                       MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight);\r
-               }\r
-       } else {\r
-               _BSSCPopup2(strURL, cuswidth, cusheight);\r
-       }\r
-       return;\r
-}\r
-\r
-if (gbBsIE55)\r
-{\r
-       var ehlpdhtm_fOldBefureUnload = window.onbeforeunload;\r
-       var gnBsUnload=0;\r
-       window.onbeforeunload = window_BUnload;\r
-}\r
-       \r
-function window_BUnload()\r
-{\r
-       gnBsUnload++;\r
-       if (gnBsUnload>1)\r
-               return;\r
-       for (var i = 0; i < arrayPopupURL.length; i ++)\r
-               removeThis(document.all(getPopupID(i)));\r
-       arrayPopupURL.length = 0;       \r
-       if (ehlpdhtm_fOldBefureUnload)\r
-               ehlpdhtm_fOldBefureUnload();\r
-}\r
-\r
-function _BSSCPopup2(strURL, width, height)\r
-{\r
-       if (gbBsOpera6&&gbBsMac)\r
-       {\r
-               var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName);\r
-               wmTemp.close();\r
-               setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100);\r
-       }\r
-       else\r
-               _BSSCPopup3(strURL, width, height);\r
-}\r
-               \r
-function _BSSCPopup3(strURL, width, height)\r
-{\r
-       if (window.name == gstrPopupSecondWindowName) {\r
-               window.location = strURL;\r
-       } else {\r
-               if (!gbBsMac || !gbBsNS4) {\r
-                       BSSCHidePopupWindow();\r
-               }\r
-               var nX = 0;\r
-               var nY = 0;\r
-               var nHeight = 300;\r
-               var nWidth = 400;\r
-               if (width > 0 && height > 0) {\r
-                       nHeight = height;\r
-                       nWidth = width;\r
-               }\r
-               _BSPSGetClientSize();\r
-\r
-               nX = window.gnPopupScreenClickX;\r
-               nY = window.gnPopupScreenClickY;\r
-\r
-               if (nY + nHeight + 40 > screen.availHeight) {\r
-                       nY = screen.availHeight - nHeight - 40;\r
-               }\r
-               if (nX + nWidth + 40 > screen.availWidth) {\r
-                       nX = screen.availWidth - nWidth - 40;\r
-               }\r
-\r
-               // Launch a separate window\r
-               var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes";\r
-               if (gbBsNS) {\r
-                       if (gbBsNS6) {\r
-                               strParam += ",Height=" + nHeight + ",Width=" + nWidth;\r
-                               strParam += ",screenX=" + nX + ",screenY=" + nY;\r
-                               strParam += ",dependent=yes";\r
-                       }\r
-                       else {\r
-                               strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth;\r
-                               strParam += ",screenX=" + nX + ",screenY=" + nY;\r
-                               strParam += ",dependent=yes";\r
-                       }\r
-               }\r
-               else {\r
-                       strParam += ",height=" + nHeight + ",width=" + nWidth;\r
-                       strParam += ",left=" + nX + ",top=" + nY;\r
-               }\r
-               if (gbBsSafari)\r
-               {\r
-                       if (window.gPopupWindow)\r
-                               window.gPopupWindow.close();            \r
-                       window.gPopupWindow = window.open(strURL, "", strParam);\r
-                       window.gPopupWindow.name = gstrPopupSecondWindowName;\r
-                       window.gPopupWindow.moveTo(nX, nY);\r
-                       widnow.gPopupWindow.document.location.reload();\r
-               }       \r
-               else\r
-               {\r
-                       var wmTemp=null;\r
-                       if (gbBsKonqueror3)\r
-                       {\r
-                               if (window.gPopupWindow)\r
-                                       window.gPopupWindow.close();\r
-                       }\r
-                       if (gbBsOpera&&gbBsMac)\r
-                       {\r
-                               wmTemp= window.open(document.location.href, "Temp", strParam);\r
-                       }\r
-                       window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);\r
-                       if (!gbBsIE)\r
-                               window.gPopupWindow.focus();\r
-                               \r
-                       if (wmTemp)\r
-                               wmTemp.close();\r
-               }\r
-\r
-               if (gbBsNS4)\r
-                       setEventHandle();\r
-               else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3)\r
-                       setTimeout("setPopupFocus();", 100);\r
-       }\r
-       return;\r
-}\r
-\r
-function setEventHandle()\r
-{\r
-       window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR);\r
-       window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
-       window.gPopupWindow.onblur = NonIEPopup_HandleBlur;\r
-}\r
-\r
-function setPopupFocus()\r
-{\r
-       window.gPopupWindow.focus();\r
-}\r
-\r
-function NonIEPopup_HandleBlur(e)\r
-{\r
-       window.gPopupWindow.focus();\r
-}\r
-\r
-function NonIEPopup_HandleClick(e)\r
-{\r
-       // Because navigator will give the event to the handler before the hyperlink, let's\r
-       // first route the event to see if we are clicking on a Popup menu in a popup.\r
-       document.routeEvent(e);\r
-\r
-       // If a popup menu is active then don't do anything with the click\r
-       if (window.gPopupWindow.gbInPopupMenu) {\r
-               window.gPopupWindow.captureEvents(Event.CLICK);\r
-               window.gPopupWindow.onclick = NonIEPopup_HandleClick;\r
-               return false;\r
-       }\r
-\r
-       // Close the popup window\r
-       if(e.target.href)\r
-       {\r
-               if(e.target.href.indexOf("javascript:")==-1) \r
-               {\r
-                       if (e.target.target=="")\r
-                               window.location.href = e.target.href;\r
-                       else\r
-                               window.open(e.target.href, e.target.target);\r
-                       this.close();\r
-               }\r
-       } \r
-       else\r
-               this.close();\r
-       return false;\r
-}\r
-\r
-function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight)\r
-{      \r
-       if (!window.getPopupIFrame(nIndex).document) {\r
-               _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight);\r
-               return;\r
-       }\r
-       \r
-    if (!IsValidToken(nToken)) return;\r
-\r
-       if (gbBsNS6)\r
-       {\r
-               setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.\r
-               BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);\r
-               return;\r
-       }\r
-       \r
-       if ((window.getPopupIFrame(nIndex).document.readyState == "complete") &&\r
-               (window.getPopupIFrame(nIndex).document.body != null)) {\r
-                       if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe.\r
-                               window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);\r
-                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
-                       }\r
-                       else\r
-                               {\r
-                                       setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.\r
-                                       BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);\r
-                               }\r
-       } else {\r
-               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
-       }\r
-}\r
-\r
-function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight)\r
-{\r
-       if (window.gbPopupTimeoutExpired) return;\r
-\r
-    if (!IsValidToken(nToken)) return;\r
-\r
-       getPopupDivStyle(nIndex).visibility = gBsStyVisHide;\r
-       getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide;\r
-\r
-       // Determine the width and height for the window\r
-       _BSPSGetClientSize();\r
-\r
-       var size = new BSSCSize(0, 0);\r
-\r
-       if (cuswidth <= 0 || cusheight <= 0)\r
-               BSSCGetContentSize(window.getPopupIFrame(nIndex), size);\r
-       else {\r
-               size.x = cuswidth;\r
-               size.y = cusheight;\r
-       }\r
-\r
-       // Determine the width and height for the window\r
-       var nWidth = size.x;\r
-       var nHeight = size.y;\r
-\r
-       // for small popup size, we should allow any size.\r
-       // The popup size should be ok if bigger than 0\r
-       if (nWidth < 0 || nHeight < 0) return;  // there must be something terribly wrong.              \r
-\r
-       getPopupDivStyle(nIndex).width = nWidth;\r
-       getPopupDivStyle(nIndex).height = nHeight;\r
-\r
-       getPopupShadowStyle(nIndex).width = nWidth;\r
-       getPopupShadowStyle(nIndex).height = nHeight;\r
-       getPopupTopicStyle(nIndex).width = nWidth;\r
-       getPopupTopicStyle(nIndex).height = nHeight;\r
-       if (gbBsIE55)\r
-       {\r
-               getPopupShadowStyle(nIndex).width = nWidth + 2;\r
-               getPopupShadowStyle(nIndex).height = nHeight + 2;\r
-               getPopupTopicStyle(nIndex).width = nWidth + 2;\r
-               getPopupTopicStyle(nIndex).height = nHeight + 2;\r
-       }\r
-\r
-       getPopupIFrameStyle(nIndex).width = nWidth;\r
-       getPopupIFrameStyle(nIndex).height = nHeight;\r
-       if (gbBsIE55 || gbBsNS6)\r
-       {\r
-               getPopupIFrameStyle(nIndex).top = 0;\r
-               getPopupIFrameStyle(nIndex).left = 0;\r
-       }\r
-       \r
-       var strURL = getPopupURL(nIndex);\r
-       if (strURL.indexOf("#") != -1&&gbBsNS6)\r
-               getPopupIFrame(nIndex).location.reload();\r
-       else if (strURL.indexOf("#") != -1||gbBsNS6)\r
-               getPopupIFrame(nIndex).location.href = strURL;  // reload again, this will fix the bookmark misunderstand in IE5.\r
-               \r
-       MoveDivAndShow(nIndex, nToken, cuswidth, cusheight);\r
-}\r
-\r
-function getScrollLeft()\r
-{\r
-       if (document.body.scrollLeft)\r
-               return document.body.scrollLeft;\r
-       else if (window.pageXOffset)\r
-               return window.pageXOffset;\r
-       else\r
-               return 0;\r
-}\r
-\r
-function getScrollTop()\r
-{\r
-       if (document.body.scrollTop)\r
-               return document.body.scrollTop;\r
-       else if (window.pageYOffset)\r
-               return window.pageYOffset;\r
-       else\r
-               return 0;\r
-}\r
-\r
-\r
-function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight)\r
-{\r
-       if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again.\r
-                       window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);\r
-                       setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);\r
-                       return;\r
-       }\r
-\r
-       // Determine the position of the window\r
-       var nClickX = window.gnPopupClickX;\r
-       var nClickY = window.gnPopupClickY;\r
-       var nTop = 0;\r
-       var nLeft = 0;\r
-\r
-       var nWidth = parseInt(getPopupDivStyle(nIndex).width);\r
-       var nHeight = parseInt(getPopupDivStyle(nIndex).height);\r
-\r
-       if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) {\r
-               nTop = nClickY + 10;\r
-       } else {\r
-               nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20;\r
-       }\r
-       if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) {\r
-               nLeft = nClickX;\r
-       } else {\r
-               nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8;\r
-       }\r
-\r
-       if (nTop < getScrollTop()) nTop  = getScrollTop() + 1;\r
-       if (nLeft< getScrollLeft())  nLeft = getScrollLeft() + 1;\r
-\r
-       getPopupDivStyle(nIndex).left = nLeft;\r
-       getPopupDivStyle(nIndex).top = nTop;\r
-\r
-       // Set the location of the background blocks\r
-       getPopupShadowStyle(nIndex).left = 6;\r
-       getPopupShadowStyle(nIndex).top = 6;\r
-       if (gbBsIE55)\r
-       {\r
-               getPopupShadowStyle(nIndex).left = 4;\r
-               getPopupShadowStyle(nIndex).top = 4;\r
-       }\r
-\r
-       if (gbBsMac&&gbBsIE4) {\r
-               // Total hack on the iMac to get the IFrame to position properly\r
-               getPopupIFrameStyle(nIndex).pixelLeft = 100;\r
-               getPopupIFrameStyle(nIndex).pixelLeft = 0;\r
-               // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it\r
-               getPopupIFrame(nIndex).window.BSSCOnLoad();\r
-       }\r
-\r
-       if (gbBsNS6&&IsDirty(nIndex))\r
-               getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false);\r
-       else\r
-               BSSCPopup_Timeout(nIndex , nToken );\r
-       return;\r
-}\r
-\r
-function       BSSCSize(x, y)\r
-{\r
-       this.x = x;\r
-       this.y = y;\r
-}\r
-\r
-function BSSCGetContentSize(thisWindow, size)\r
-{\r
-       if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4)\r
-               return;\r
-\r
-       if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) {\r
-               size.x = 320;\r
-               size.y = 180;\r
-               return;\r
-       }\r
-\r
-       // Resize the width until it is wide enough to handle the content\r
-       // The trick is to start wide and determine when the scrollHeight changes\r
-       // because then we know a scrollbar is necessary. We can then go back\r
-       // to the next widest size (for no scrollbar)\r
-\r
-       var ClientRate = gBsClientHeight / gBsClientWidth;\r
-\r
-       \r
-       var GoldenSize = new BSSCSize(0,0);\r
-       GoldenSize.x = gBsClientWidth * gBMaxXOfParent;\r
-       GoldenSize.y = gBsClientHeight *gBMaxYOfParent ;\r
-\r
-       if (ClientRate > gBRateH_W) {\r
-               GoldenSize.y = GoldenSize.x * gBRateH_W;\r
-       }\r
-       else {\r
-               GoldenSize.x = GoldenSize.y / gBRateH_W;\r
-       }\r
-\r
-       // Try to using parent specified max x.\r
-       var x = 0;\r
-       var maxgoldx = GoldenSize.x;\r
-       var maxx = gBsClientWidth * gBMaxXOfParent;\r
-       \r
-       // This double resize causes the document to re-render (and we need it to)\r
-       if (!gbBsIE5)\r
-               thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4.\r
-               \r
-       thisWindow.resizeTo(1, 1);\r
-       thisWindow.resizeTo(1, 1);\r
-       thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);\r
-       thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);\r
-               \r
-       var miny = thisWindow.document.body.scrollHeight + gBscrollHeight;\r
-       \r
-       if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can\r
-       {\r
-               thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);\r
-               thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);\r
-               \r
-               miny =  thisWindow.document.body.scrollHeight + gBscrollHeight;\r
-               maxy = gBsClientHeight * gBMaxYOfParent;\r
-               \r
-               if (miny > maxy) { // the popup must have a scroll, OK let it be.\r
-                       miny = maxy;\r
-                       size.x = maxx;\r
-                       size.y = maxy;\r
-                       thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little.\r
-               }\r
-               else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent.\r
-                       size.y = miny;\r
-                       \r
-                       //  downsize from maxx , now I try to using binary divide.\r
-                       x = maxx;\r
-                       deltax = -maxx/2;\r
-                       //j = 0;\r
-                       while (true) {\r
-                               x = x + deltax;\r
-                               thisWindow.resizeTo(x, miny);\r
-                               thisWindow.resizeTo(x, miny);\r
-                               diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate;\r
-                               if (diffy >  gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter\r
-                                       deltax = Math.abs(deltax) /2;\r
-                               else if (diffy <  -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter\r
-                                       deltax = -Math.abs(deltax) /2;\r
-                               else \r
-                                       // the y is close enough to wanted.\r
-                                       break;\r
-                               if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.\r
-                                       break;\r
-                       }\r
-                       size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
-                       size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight;     \r
-                       thisWindow.document.body.scroll = 'no';\r
-               }\r
-       }\r
-       else {\r
-               if (thisWindow.document.body.scrollWidth > maxgoldx) {\r
-                       size.x = maxx; \r
-                       size.y = miny;  \r
-                       thisWindow.document.body.scroll = 'yes';\r
-               }\r
-               else {\r
-                       //  downsize from maxgoldx , now I try to using binary divide.\r
-                       x = maxgoldx;\r
-                       deltax = -maxgoldx/2;\r
-                       while (true) {\r
-                               x = x + deltax;\r
-                               thisWindow.resizeTo(x, miny);\r
-                               thisWindow.resizeTo(x, miny);\r
-                               diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W;\r
-                               if (diffy >  gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter\r
-                                       deltax = Math.abs(deltax) /2;\r
-                               else if (diffy <  -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter\r
-                                       deltax = -Math.abs(deltax) /2;\r
-                               else \r
-                                       // the y is close enough to wanted.\r
-                                       break;\r
-                               if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.\r
-                                       break;\r
-                       }\r
-                       size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;\r
-                       size.y = thisWindow.document.body.scrollHeight ;\r
-                       thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little.\r
-                       thisWindow.resizeTo(size.x, size.y);\r
-                       if (thisWindow.document.body.scrollWidth > size.x)\r
-                       {\r
-                               size.x = thisWindow.document.body.scrollWidth;\r
-                       }\r
-                       if (thisWindow.document.body.scrollHeight > size.y)\r
-                       {\r
-                               size.y = thisWindow.document.body.scrollHeight;\r
-                       }\r
-               }\r
-       }\r
-       thisWindow.resizeTo(size.x, size.y);\r
-       thisWindow.resizeTo(size.x, size.y);\r
-       return;\r
-}\r
-\r
-function BSSCPopupParentClicked()\r
-{\r
-       if (!window.gbPopupTimeoutExpired) {\r
-               return false;\r
-       }\r
-       \r
-       document.onmousedown = gbOrignalOnMouseDown;\r
-\r
-       // Simply hide the popup\r
-       hideAll();\r
-\r
-       window.gbPopupTimeoutExpired = false;\r
-\r
-       return true;\r
-}\r
-\r
-function isInsideHyperLink(obj)\r
-{\r
-       if (obj&&obj!=getParentNode(obj))\r
-       {\r
-               if (obj.tagName=="A"||obj.tagName=="IMG")\r
-                       return true;\r
-               else\r
-                       return isInsideHyperLink(getParentNode(obj));\r
-       }\r
-       else\r
-               return false;\r
-}\r
-\r
-function BSSCPopupClicked(e)\r
-{\r
-       if (!window.gbPopupTimeoutExpired) {\r
-               return false;\r
-       }\r
-\r
-       var popupIFrame = getCurrentPopupIFrame();\r
-       if (popupIFrame == null) {\r
-               return true;\r
-       }\r
-\r
-       if (gbBsIE4 && (!((popupIFrame.window.event != null) &&\r
-               (popupIFrame.window.event.srcElement != null) &&\r
-               isInsideHyperLink(popupIFrame.window.event.srcElement)))) {\r
-               document.onmousedown = gbOrignalOnMouseDown;\r
-               \r
-               // Simply hide the popup\r
-               hideAll();\r
-               window.gbPopupTimeoutExpired = false;\r
-               return true;\r
-       }\r
-       else if (gbBsNS6 && (!((e != null) &&\r
-                       (e.target!= null) && isInsideHyperLink(e.target))))\r
-       {\r
-               document.addEventListener("mousedown", gbOrignalOnMouseDown,false);\r
-               // Simply hide the popup\r
-               hideAll();\r
-               window.gbPopupTimeoutExpired = false;\r
-               return true;            \r
-       }\r
-}\r
-\r
-//trace the mouse over's position for hotspot\r
-function  BSPSPopupOnMouseOver(event)\r
-{\r
-       if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) {\r
-               window.gnPopupClickX = event.clientX + getScrollLeft();\r
-               window.gnPopupClickY = event.clientY + getScrollTop();\r
-               window.gnPopupScreenClickX = event.screenX;\r
-               window.gnPopupScreenClickY = event.screenY;\r
-       } else if (gbBsSafari) {\r
-               window.gnPopupClickX = event.clientX + getScrollLeft();\r
-               window.gnPopupClickY = event.clientY + getScrollTop();\r
-               window.gnPopupScreenClickX = event.screenX + window.screenX;\r
-               window.gnPopupScreenClickY = event.screenY + window.screenY;\r
-       } else if (gbBsNS4) {\r
-               window.gnPopupClickX = event.pageX - window.pageXOffset;\r
-               window.gnPopupClickY = event.pageY - window.pageYOffset;\r
-               window.gnPopupScreenClickX = event.screenX - window.pageXOffset;\r
-               window.gnPopupScreenClickY = event.screenY - window.pageYOffset;\r
-       }\r
-}\r
-\r
-function BSSCHidePopupWindow()\r
-{\r
-       if (window.gPopupWindow != null) {\r
-               if (gbBsNS4) {\r
-                       if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) {\r
-                               window.gPopupWindow.close();\r
-                               window.gPopupWindow = null;\r
-                       }\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-// Add the PopupOnClick to the onclick array.\r
-if (typeof(BsscRegisterOnClick) != "undefined")\r
-{\r
-       BsscRegisterOnClick(BsPopupOnClick);\r
-}\r
-//End to support previous popup functions\r
-\r
-/// Section End  - Popup (JavaScript 1.0)\r
-\r
-/// Section Begin - Embedded Stub (JavaScript 1.0)\r
-\r
-function BSSCCreatePopupDiv()\r
-{\r
-       return;\r
-}\r
-\r
-function WritePopupMenuLayer()\r
-{\r
-       if (BsscHasExtJs()) {_WritePopupMenuLayer();}\r
-}\r
-\r
-function BSSCPopup(strURL, width, height)\r
-{\r
-       var re = new RegExp("'", 'g');\r
-       strURL = strURL.replace(re, "%27");\r
-\r
-       if (BsscHasExtJs())     { \r
-               _BSSCPopup(strURL, width, height);\r
-       }else{\r
-               //Create a temporary window first to ensure the real popup comes up on top\r
-               var wndTemp = null;\r
-               if (!gbBsNS3) {\r
-                       wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
-               }\r
-               // Create the real popup window\r
-               var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400");\r
-               // Close the temporary\r
-               if (!gbBsNS3) {\r
-                       wndTemp.close();\r
-               } else {\r
-                       wndPopup.focus();\r
-               }\r
-       }\r
-}\r
-\r
-var gbWndTemp = null, gbWndPopupLinks = null;\r
-var gbstrParaTotal = "";\r
-\r
-function PopupMenu_Invoke()\r
-{\r
-       if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function')\r
-       {\r
-               if (Number(gsSkinVersion) > 2 && IsFlashSupported())\r
-               {\r
-                       return wfRelatedTopic(PopupMenu_Invoke.arguments);\r
-               }\r
-       }\r
-       if (BsscHasExtJs()) {\r
-               return _PopupMenu_Invoke(PopupMenu_Invoke.arguments);\r
-       }\r
-       if (gbBsNS3Before || gbBsIE3Before )    {\r
-               var argLen      = PopupMenu_Invoke.arguments.length;\r
-               if (argLen < 5) {\r
-                       window.document.location.href = PopupMenu_Invoke.arguments[3];\r
-                       return false;\r
-               }\r
-               gbWndTemp = null;\r
-               gbWndPopupLinks = null;\r
-               gbstrParaTotal = "";\r
-               for (var i = 0; i < (argLen - 2) / 2; i++) {\r
-                       var strParaLine = "";\r
-                       if (gbBsNS2){\r
-                               strParaLine += "<a href=\"";\r
-                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];\r
-                               strParaLine += "\">"\r
-                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];\r
-                               strParaLine += "</a>";\r
-                       } else {\r
-                               strParaLine += "<a href=\"javascript:";\r
-                               strParaLine += "gotoUrl(\'";\r
-                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];\r
-                               strParaLine += "\');\"";\r
-                               if (PopupMenu_Invoke.arguments[1] != '') {\r
-                                       strParaLine += " TARGET='" + PopupMenu_Invoke.arguments[1] + "'";\r
-                               }\r
-                               strParaLine += ">";\r
-                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];\r
-                               strParaLine += "</a>";\r
-                       }\r
-                       strParaLine += "<br>";\r
-                       gbstrParaTotal += strParaLine;\r
-               }\r
-               var nHeight = argLen * 15;\r
-               var nWidth = 400;\r
-               var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";\r
-               strParam += ",height=" + nHeight + ",width=200,resizable";\r
-               \r
-               //Create a temporary window first to ensure the real popup comes up on top\r
-               //var wndTemp = null;\r
-               if (!gbBsNS3) {\r
-                       gbWndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");\r
-               } \r
-               gbWndPopupLinks = window.open("", "popuplinks", strParam);\r
-\r
-               setTimeout("Wait_PopupMenuReady()", 100);\r
-       }\r
-       return true;\r
-}\r
-\r
-function Wait_PopupMenuReady() \r
-{\r
-       if (gbWndPopupLinks != null && "object" == typeof(gbWndPopupLinks.document)) {\r
-               PopupMenu_InvokeReady();\r
-       }\r
-       else \r
-               setTimeout("Wait_PopupMenuReady()", 100);\r
-}\r
-\r
-function PopupMenu_InvokeReady()\r
-{\r
-       if (gbWndPopupLinks != null) {\r
-               gbWndPopupLinks.document.open("text/html");\r
-               gbWndPopupLinks.document.write("<html><head>");\r
-               if (gbBsNS2) {\r
-                       gbWndPopupLinks.document.write("<base href=\"" + location +"\">");\r
-               } else {\r
-                       //YJ: IE301,302 and NS3.x works fine\r
-                       gbWndPopupLinks.document.write("<");\r
-                       gbWndPopupLinks.document.write("script>");\r
-                       gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}");\r
-                       gbWndPopupLinks.document.write("<");\r
-                       gbWndPopupLinks.document.write("/script>");\r
-               }\r
-               gbWndPopupLinks.document.write("</head><body onBlur=\'self.focus();\'>");\r
-               gbWndPopupLinks.document.write(gbstrParaTotal);\r
-               gbWndPopupLinks.document.write("</body></html>");\r
-               gbWndPopupLinks.document.close();\r
-\r
-               // Close the temporary\r
-               if (!gbBsNS3 && gbWndTemp != null) {\r
-                       gbWndTemp.close();\r
-               }else {\r
-                       gbWndPopupLinks.focus();\r
-               }\r
-\r
-               return true;\r
-       }\r
-       return false;\r
-}\r
-\r
-/// Section End - Embedded Stub (JavaScript 1.0)\r
-\r
-//// Segment End -- (JavaScript 1.0)\r
-\r
-//// Segment Begin -- (JavaScript 1.2)\r
-/// Section Begin  - kadov DHTM (JavaScript 1.2)\r
-\r
-//Begin to support extended and dropdown text effects.\r
-function kadovIsParagraph(el)\r
-{\r
-       return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false;\r
-}\r
-\r
-function kadovInitEachChild(el)\r
-{      \r
-       for(var i=0; i<getChildNodes(el).length; i++)\r
-       {\r
-               var child = getChildNodes(el)[i];\r
-               if( child.tagName == "SCRIPT" || child.tagName == "!" )\r
-                       continue;\r
-\r
-               if( child.id != "" )\r
-               {\r
-                       // to wipe out the onload effects\r
-                       if (gbBsIE4&&!gbBsMac)\r
-                       {\r
-                               var onLoadEffect = child.style.getAttribute( "x-on-pageload" );\r
-                               if( (onLoadEffect != null) && (onLoadEffect > "") )\r
-                                       child.style.setAttribute( "x-on-pageload", "" );\r
-                       }\r
-                       \r
-                       var href = child.getAttribute("href")\r
-                       if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 )\r
-                               kadovFilePopupInit(child.id); // Init for Popup\r
-                       else if( child.className == "dropspot" || child.className == "expandspot" || \r
-                                        child.className == "glossterm" )\r
-                               kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text\r
-                       else if( child.className == "trigger")\r
-                               kadovInitTrigger(child.id);// Init for Trigger\r
-                       else\r
-                       {\r
-                               kadovInitEffects(child.id);// Init for DHTML effects\r
-                               CEngine.SetOneTargetInitialState( child.id );\r
-                       }\r
-               }\r
-               \r
-               if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") )\r
-                       child.start = "mouseover";// to start a AVI file. fileopen doesn't work\r
-\r
-               kadovInitEachChild(child);\r
-       }\r
-}\r
-\r
-function kadovRetrieveTextInner(el)\r
-{      \r
-       var x = "";\r
-       if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" ))\r
-               return x;\r
-\r
-       if( kadovIsParagraph(el) )\r
-       {\r
-               var strNewID = " ";\r
-               if( el.id != "" )\r
-                       strNewID += "id=" + el.id + "_NewSpan ";\r
-               x = "<span" + strNewID + "style='" + el.style.cssText + "'>" + el.innerHTML + "</span>";\r
-       }\r
-       else\r
-       {\r
-               for(var i=0; i<getChildNodes(el).length; i++)\r
-                       x += kadovRetrieveTextInner( getChildNodes(el)[i] );\r
-       }\r
-       return x;\r
-}\r
-\r
-function kadovRetrieveCleanHTML( strRawHTML, strTagOpen, strTagClose, nDistance )\r
-{      \r
-       var nTagOpen = strRawHTML.indexOf( strTagOpen, 0 );\r
-       if( nTagOpen < 0 )\r
-               return strRawHTML;\r
-\r
-       var nTagClose = strRawHTML.indexOf( strTagClose, nTagOpen);\r
-       if( nTagClose < nTagOpen )\r
-               return strRawHTML;\r
-               \r
-       if( typeof(nDistance) == "number" && nDistance > 0 )\r
-               if( (nTagClose - nTagOpen) != nDistance )\r
-                       return strRawHTML;\r
-               \r
-       var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ;\r
-       return  kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose );\r
-}\r
-\r
-function kadovAdjustObjectTag(strRawHTML, nStartPos)\r
-{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings\r
-       \r
-       //Is there any DTC?\r
-       var strDTCTagOpen = '<!--Metadata type="DesignerControl" startspan';\r
-       var strDTCTagClose = '<!--Metadata type="DesignerControl" endspan-->';\r
-       var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos );\r
-       if( nDTCTagOpen < 0 )\r
-               return strRawHTML;\r
-       var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen );\r
-       if( nDTCTagClose < nDTCTagOpen)\r
-               return strRawHTML; // no Design Time Controls;\r
-               \r
-       //Is the DTC HTML Help Control?\r
-       var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11';\r
-       var strRTObjTagClose = '</OBJECT>';\r
-       var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen );\r
-       if( nRTObjTagOpen < nDTCTagOpen )\r
-               return strRawHTML;\r
-       var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen );\r
-       if( nRTObjTagClose < nRTObjTagOpen )\r
-               return strRawHTML; // is not a HTML help control\r
-               \r
-       // Is it a related Topics html help control?\r
-       var strRTObjLabel = '<PARAM NAME=\"Command\" VALUE=\"Related Topics';\r
-       if( strRawHTML.indexOf(strRTObjLabel, nRTObjTagOpen) < 0 )\r
-               return strRawHTML;\r
-       \r
-       // does the commented object tag contain a items parameters             \r
-       var strRTItemsOpen = '<param name="Items" value="';\r
-       var strRTItemsClose = '$$**$$" >';\r
-       var strRTItemsClose2 = '$$**$$">';\r
-\r
-       var nRTItemsOpen = strRawHTML.indexOf(strRTItemsOpen, nDTCTagOpen);\r
-       if( nRTItemsOpen < nDTCTagOpen )\r
-               return strRawHTML;\r
-       var nRTItemsClose = strRawHTML.indexOf(strRTItemsClose, nRTItemsOpen);\r
-       if (nRTItemsClose == -1)\r
-               nRTItemsClose = strRawHTML.indexOf(strRTItemsClose2, nRTItemsOpen);\r
-       if( nRTItemsClose < nRTItemsOpen )\r
-               return strRawHTML;\r
-               \r
-       // found a items string\r
-       var strItems = strRawHTML.substring( nRTItemsOpen + strRTItemsOpen.length, nRTItemsClose);\r
-       if( strItems.length < 1 )\r
-               return strRawHTML;\r
-       \r
-       // to reconstruct the item(s) param tag(s)\r
-       var strItemsArray = strItems.split('$$**$$');\r
-       if( strItemsArray.length < 1 )\r
-               return strRawHTML;\r
-       var strRunTimeItemParam = "";\r
-       for( var i = 0; i < strItemsArray.length; i++ )\r
-       {\r
-               strRunTimeItemParam += '<PARAM  NAME="Item' + (i+1);\r
-               strRunTimeItemParam += '"' + '  VALUE="';\r
-               strRunTimeItemParam += strItemsArray[i];\r
-               strRunTimeItemParam += '">';\r
-       }\r
-       \r
-       // to insert the reconstructed item params into runtime object tag\r
-       var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length);\r
-       return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length);\r
-}\r
-\r
-function kadovTextPopupOnLoad( el )\r
-{\r
-       if( typeof(el) == "string" )\r
-               el = getElement(el);\r
-\r
-       var src = el.getAttribute( "x-use-popup" );\r
-       var bNeedMove=true;\r
-       if(!src&&el.id)\r
-       {\r
-               for (var i=0;i<gPopupData.length;i++)\r
-                       if (gPopupData[i].el==el.id)\r
-                       {\r
-                               src=gPopupData[i].popupId;\r
-                               bNeedMove=false;\r
-                               break;\r
-                       }\r
-       }\r
-       if(!src)\r
-               src = el.style.getAttribute( "x-use-popup" );   \r
-       if (!src)       \r
-               return 0;\r
-\r
-       var name = src;\r
-       if( src.substr(0,1) == "#" ) \r
-               name = src.substr(1, src.length-1);\r
-       var srcDiv = getElement(name);\r
-       if( !srcDiv )\r
-               return 1;\r
-\r
-       if (bNeedMove)\r
-       {\r
-               var type = el.getAttribute( "x-popup-type" );\r
-               if (!type)\r
-                       type = el.style.getAttribute("x-popup-type");\r
-               if (!type)              \r
-                       return 1;               \r
-               var setup = el.getAttribute( "x-tmp-setup" );\r
-               var newId = name;\r
-               if( newId.indexOf( "_tmp") <= 0 )\r
-                       newId += "_tmp";\r
-\r
-               if( !setup)\r
-               {\r
-                       el.setAttribute( "x-tmp-setup", 1 );\r
-\r
-                       if( type == "pulldown"  )\r
-                       {\r
-                               var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0);\r
-                               var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
-                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
-                               \r
-                               //work around the bug in HH.exe that highlight the phrases when use Search tab\r
-                               //this approach is just removing the <FONT...> tag inserted by Microsoft in the runtime\r
-                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<FONT color=#", "\">", 52);\r
-                               \r
-                               var strStyle = " style='display:none; position:relative;";\r
-                               var newDiv = "<div class=droptext id=" + newId + strStyle + "'>" + strCleanHTML + "</div>";\r
-\r
-                               removeThis(srcDiv); // empty the original DIV tag\r
-                               var elParentPra = kadovFindParentParagraph(el);\r
-                               if( elParentPra )\r
-                                       insertAdjacentHTML(elParentPra, "afterEnd", newDiv );\r
-                       }\r
-                       else if( type == "expanding"  )\r
-                       {\r
-                               var inner = kadovRetrieveTextInner(srcDiv);\r
-                               if( inner == "" )\r
-                                       inner = srcDiv.innerHTML;\r
-                               var strAdjust = kadovAdjustObjectTag(inner,0);\r
-                               var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");\r
-                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");\r
-                               var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext";\r
-                               var newSpan = "<span class=" + strClassName + " style='display: none;' id=" + newId + ">&nbsp;" + strCleanHTML + "</span>";\r
-                               removeThis(srcDiv); // empty the original DIV tag\r
-                               insertAdjacentHTML(el, "afterEnd", newSpan );\r
-                       }\r
-               }\r
-       }\r
-       else\r
-       {\r
-               srcDiv.style.display = "none";\r
-       }\r
-       return 0;\r
-}\r
-\r
-function getElementsByTag(obj,sTagName)\r
-{\r
-       if(obj.getElementsByTagName)\r
-               return obj.getElementsByTagName(sTagName);\r
-       else if(obj.all)\r
-               return obj.all.tags(sTagName);\r
-       return null;\r
-}\r
-\r
-function getElement(sID)\r
-{\r
-       if(document.getElementById)\r
-               return document.getElementById(sID);\r
-       else if(document.all)\r
-               return document.all(sID);\r
-       return null;\r
-}\r
-\r
-function getParentNode(obj)\r
-{\r
-       if(obj.parentNode)\r
-               return obj.parentNode;\r
-       else if(obj.parentElement)\r
-               return obj.parentElement;\r
-       return null;\r
-}\r
-\r
-function getChildNodes(obj)\r
-{\r
-       if(obj.childNodes)\r
-       {\r
-               var children = new Array();\r
-               for (var i = 0; i < obj.childNodes.length; i++)\r
-               {\r
-                       if (obj.childNodes[i].nodeType == 1)\r
-                               children[children.length] = obj.childNodes[i];\r
-               }\r
-               return children;\r
-       }\r
-       else if(obj.children)\r
-               return obj.children;\r
-       return null;    \r
-}\r
-\r
-function removeThis(obj)\r
-{\r
-       if(obj.parentNode)\r
-               obj.parentNode.removeChild(obj);\r
-       else\r
-               obj.outerHTML="";\r
-}\r
-\r
-function kadovTextPopup( el )\r
-{\r
-       if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 )\r
-               return;\r
-\r
-       var bNeedMove=true;\r
-       \r
-       if (window.event)\r
-               window.event.cancelBubble = true;\r
-\r
-       if( typeof(el) == "string" )\r
-               el = getElement(el);\r
-\r
-       if (!el||el==window)\r
-               return;\r
-       \r
-       var src = el.getAttribute( "x-use-popup" );\r
-       if(!src&&el.id)\r
-       {\r
-               for (var i=0;i<gPopupData.length;i++)\r
-                       if (gPopupData[i].el==el.id)\r
-                       {\r
-                               src=gPopupData[i].popupId;\r
-                               bNeedMove=false;\r
-                               break;\r
-                       }\r
-       }\r
-       if(!src)\r
-               src = el.style.getAttribute( "x-use-popup" );   \r
-       if(!src)\r
-               return;\r
-               \r
-       var name = src;\r
-       if( src.substr(0,1) == "#" ) \r
-       if (bNeedMove)\r
-               name = src.substr(1, src.length-1) + "_tmp";\r
-       else\r
-               name = src.substr(1, src.length-1);\r
-\r
-       var srcDiv = getElement(name);\r
-       if( !srcDiv )\r
-               return;\r
-\r
-       if( srcDiv )\r
-       {\r
-               if( srcDiv.style.display == "" )\r
-                       srcDiv.style.display = "none";\r
-               else\r
-               {\r
-                       srcDiv.style.display = "";\r
-                       if( typeof(srcDiv.bInitialized) == "undefined" )\r
-                       {\r
-                               srcDiv.bInitialized = true;\r
-                               kadovInitEffects(name);\r
-                               kadovInitEachChild(srcDiv);\r
-                       }\r
-               }\r
-       }\r
-       if(gbBsIE4)\r
-               event.returnValue=false;\r
-       return;\r
-}\r
-\r
-function kadovFindParentParagraph( el )\r
-{\r
-       if( typeof(el) == "string" )\r
-               el = getElement(el);\r
-       if( (!el) || el.tagName == "BODY" )\r
-               return null;\r
-       if( kadovIsParagraph(getParentNode(el)) )\r
-               return getParentNode(el);\r
-       else\r
-               return kadovFindParentParagraph( getParentNode(el) );\r
-}\r
-\r
-//Begin HTML code invoked function\r
-function kadovRegisterEventHandler( obj, strEvent, strEventHandler )\r
-{\r
-       if( !gbBsIE4 )\r
-               return;\r
-       CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler );\r
-}\r
-\r
-function textPopupData(el, popupId)\r
-{\r
-       this.el = el;\r
-       this.popupId = "#"+popupId;\r
-}\r
-\r
-var gPopupData = new Array();\r
-\r
-function kadovTextPopupInit( el, popupId)\r
-{\r
-       if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3)\r
-               return;\r
-               \r
-       if( typeof(el) == "string" )\r
-       {\r
-               if (popupId)\r
-               {\r
-                       gPopupData[gPopupData.length]=new textPopupData(el, popupId);\r
-               }\r
-               el = getElement(el);\r
-       }\r
-               \r
-       if( el != null )\r
-       {\r
-               CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(\"" + el.id +"\");" );\r
-               CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(\"" + el.id +"\");" );\r
-       }\r
-}\r
-//End HTML code invoked function\r
-\r
-//End to support extended and dropdown text effects.\r
-\r
-//Begin to convert iWrite format to RoboEditor Format for DHTML effects\r
-function kadovInitTriggersInHead( )\r
-{\r
-  if( Object.xDelayedInitElements )\r
-  {\r
-     var x = Object.xDelayedInitElements;\r
-     for(i=0; i<x.length; i++)\r
-       kadovInitTrigger( x[i] );\r
-  }\r
-}\r
-\r
-//Begin HTML code invoked function\r
-function kadovFilePopupInit( el )\r
-{\r
-       if( typeof(el) == "string" )\r
-               el = getElement(el);\r
-\r
-       if( el != null )\r
-               CCSSP.RegisterEventHandler( el, "onmouseover", "BSPSPopupOnMouseOver(event);" );\r
-}\r
-\r
-function kadovInitTrigger( element )\r
-{\r
-       if( !gbBsIE4 )\r
-               return;\r
-       var srcElement = element;\r
-       if( typeof(srcElement) == "string" )\r
-       {\r
-               srcElement = getElement(element,0);\r
-               if(srcElement == null)\r
-                       return;\r
-       }\r
-       \r
-       if( !kadovIsParentVisible(srcElement) )\r
-               return;\r
-\r
-       var targets = srcElement.getAttribute( "x-targets" );\r
-       if (!targets)\r
-               targets = srcElement.style.getAttribute("x-targets");\r
-       if (!targets)\r
-               return; \r
-       var arrOneTarget = targets.split( "," );\r
-       for( var i = 0; i < arrOneTarget.length; i ++ )\r
-               bsscFXInit( element, arrOneTarget[i], null, null, null, null );\r
-}\r
-\r
-function kadovIsParentVisible( el )\r
-{\r
-       if( typeof(el) == "string" )\r
-               el = getElement(el);\r
-       if( (!el) || el.tagName == "BODY" )\r
-               return true;\r
-       if( el.style.display == 'none' ) //el.visibility == 'hidden' || \r
-               return false;\r
-       else\r
-               return kadovIsParentVisible( getParentNode(el) );\r
-}\r
-\r
-function kadovInitEffects( element )\r
-{\r
-       if( !gbBsIE4 )\r
-               return;\r
-       var srcElement = element;\r
-       if( typeof(srcElement) == "string" )\r
-       {\r
-               srcElement = getElement(element,0);\r
-               if(srcElement == null)\r
-                       return;\r
-       }\r
-       \r
-       if( !kadovIsParentVisible(srcElement) )\r
-               return;\r
-       \r
-       kadovInitEffect( srcElement, "x-on-hover" );\r
-       kadovInitEffect( srcElement, "x-on-pageclick" );\r
-       kadovInitEffect( srcElement, "x-on-pageload" );\r
-       kadovInitEffect( srcElement, "x-on-trigger-1" );\r
-       kadovInitEffect( srcElement, "x-on-trigger-2" );\r
-}\r
-//End HTML code invoked function\r
-\r
-function kadovInitEffect( element, prop )\r
-{\r
-       var values = null;\r
-       if( element.getAttribute( "currentStyle" )  && element.currentStyle.getAttribute)\r
-               values = element.currentStyle.getAttribute( prop );\r
-       else  if (element.style.getAttribute)\r
-               values = element.style.getAttribute( prop );\r
-       if( !values )\r
-               return;\r
-\r
-       var functions = new Array();\r
-       var nIdx = 0, nStart = 0;\r
-       var nNext = values.indexOf( "\)", 0);\r
-       while( nNext >= 0 && nNext < values.length )\r
-       {\r
-               functions[nIdx] = values.substr( nStart, nNext-nStart+1);\r
-               nStart = nNext + 1;\r
-               nIdx++;\r
-               nNext = values.indexOf( "\)", nStart);\r
-       }\r
-               \r
-       for( var i=0; i<functions.length; i++)\r
-       {\r
-               var id = element.getAttribute( "id" );\r
-               var translatedProp = kadovTranslateProp(prop);\r
-\r
-               var lp = functions[i].indexOf( "(" );\r
-               var fnname = functions[i].substring(0, lp);\r
-               var srcargs = functions[i].substring(lp+1, functions[i].length-1);\r
-               \r
-               var nClickTimes = 1;\r
-               var arrForClickCount = srcargs.split( "," );\r
-               for( var j = 0; j < arrForClickCount.length; j++ )\r
-               {// to locate and get the "clicks=99" settings\r
-                       var nPageClick = arrForClickCount[j].indexOf("clicks");\r
-                       if( nPageClick >= 0 )\r
-                       {\r
-                               nPageClick = arrForClickCount[j].indexOf("=");\r
-                               if( nPageClick > 0 )\r
-                               {\r
-                                       nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-               var args = srcargs;\r
-               if( j < arrForClickCount.length )\r
-               {// to strip out the "clicks=99" from the arguments string\r
-                       args = "";\r
-                       for( var k = 0; k < arrForClickCount.length; k ++ )\r
-                       {\r
-                               if( k != j )\r
-                               {\r
-                                       args += arrForClickCount[k];\r
-                                       if( k < arrForClickCount.length - 1 )\r
-                                               args += ",";\r
-                               }\r
-                       }\r
-               }\r
-               bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes );\r
-       }\r
-}\r
-\r
-function kadovTranslateProp( prop )\r
-{\r
-       switch( prop )\r
-       {\r
-       case "x-on-hover" :     return "bsschover";\r
-       case "x-on-pageclick" : return "bsscpageclick";\r
-       case "x-on-pageload" :  return "bsscpageload";\r
-       case "x-on-trigger-1" : return "bssctrigger1";\r
-       case "x-on-trigger-2" : return "bssctrigger2";\r
-       }\r
-       return null;\r
-}\r
-//End to convert iWrite format to RoboEditor Format for DHTML effects\r
-\r
-//Begin the definition of one entry to DHTML effects\r
-function bsscFXInit( trigger_ID, target_ID, event_type, \r
-       action_type, action_setting, event_addional )\r
-{\r
-       if( (!gbBsWindows && !gbBsSunOS  && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID\r
-               return; // we don't support Navigator yet\r
-       \r
-       if( typeof(event_type) == "string" )\r
-               event_type = event_type.toLowerCase();\r
-       if( typeof(action_type) == "string" )\r
-               action_type = action_type.toLowerCase();\r
-       if( typeof(action_setting) == "string" )\r
-                action_setting = action_setting.toLowerCase();\r
-       \r
-       // to get the target element then add it to the target list\r
-       var eleTarget = CCSSP.GetObject( target_ID );\r
-       if( (eleTarget != null) && (event_type != null) && (action_type != null) )\r
-       {\r
-               CEngine.AddOneTarget( target_ID, eleTarget );\r
-               CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional);\r
-       }\r
-       \r
-       // to validate the trigger_ID parameter\r
-       if( typeof(trigger_ID) == "string" && trigger_ID != "" )\r
-               CEngine.BuildTriggerObject( trigger_ID, target_ID );\r
-}      \r
-//End the definition of one entry to DHTML effects\r
-\r
-/// Section End  - kadov DHTM (JavaScript 1.2)\r
-\r
-/// Section Begin  - CCSSP DHTM (JavaScript 1.2)\r
-\r
-//Begin JavaScript libary for cross-platform positioning object.\r
-function CCSSP(){} // constructor of CCSSP class\r
-\r
-CCSSP.GetObject = function( obj )\r
-{//convert object name string or reference into a valid object reference\r
-       if( typeof(obj) == "object" )\r
-               return obj;\r
-       else if( typeof(obj) == "string" && obj != "")\r
-       {\r
-               if( gbBsNS4 )\r
-                       return eval("document." + obj);\r
-               else\r
-                       return eval("document.all(\"" + obj + "\")");\r
-       }\r
-       else\r
-               return null;\r
-}\r
-\r
-CCSSP.MoveObjectTo = function(obj, x, y)\r
-{//positioning an object at a specific pixel coordinate\r
-       if( gbBsNS4 )\r
-               obj.moveTo(x,y);\r
-       else\r
-       {\r
-               obj.style.pixelLeft = x;\r
-               obj.style.pixelTop = y;\r
-       }\r
-}\r
-\r
-CCSSP.MoveObjectBy = function(obj, dx, dy)\r
-{//moveing a object by x and/or y pixel\r
-       if( gbBsNS4 )\r
-               obj.moveBy(dx,dy);\r
-       else\r
-       {\r
-               obj.style.pixelLeft += dx;\r
-               obj.style.pixelTop += dy;\r
-       }\r
-}\r
-\r
-CCSSP.SetObjectBGColor = function(obj, color)\r
-{//set the background color of an object\r
-       if( gbBsNS4 )\r
-               obj.bgColor = color;\r
-       else\r
-               obj.style.backgroundColor = color;\r
-}\r
-\r
-CCSSP.ShowObject = function(obj, bShow)\r
-{// set the object to be visible or invisible\r
-       if( gbBsNS4 )\r
-               obj.visibility = (bShow == true) ? 'show' : 'hide';\r
-       else\r
-               obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space.\r
-}\r
-\r
-CCSSP.GetObjectLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object\r
-       if( gbBsNS4 )\r
-               return obj.left;\r
-       else\r
-               return obj.style.pixelLeft;\r
-}\r
-\r
-CCSSP.GetObjectTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object\r
-       if( gbBsNS4 )\r
-               return obj.top;\r
-       else\r
-               return obj.style.pixelTop;\r
-}\r
-\r
-CCSSP.GetObjectContainLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object relative to it's parent element\r
-       if( gbBsNS4 )\r
-               return obj.pageX;\r
-       else\r
-       {\r
-               if( obj == document.body )\r
-                       return obj.clientLeft;\r
-               else\r
-                       return obj.offsetLeft;\r
-       }\r
-}\r
-\r
-CCSSP.GetObjectWindowLeft = function(obj)\r
-{// retrieve the x coordinate of a posionable object relative to browser window\r
-       if( gbBsNS4 )\r
-               return obj.pageX;\r
-       else\r
-       {\r
-               var nOffsetWindowLeft = 0;\r
-               for(var element = obj; element; element = element.offsetParent)\r
-                       nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element);\r
-               return nOffsetWindowLeft;\r
-       }\r
-}\r
-\r
-CCSSP.GetObjectContainTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object relative to it's parent element\r
-       if( gbBsNS4 )\r
-               return obj.pageY;\r
-       else\r
-       {\r
-               if( obj == document.body )\r
-                       return obj.clientTop;\r
-               else\r
-                       return obj.offsetTop;\r
-       }\r
-}\r
-\r
-CCSSP.GetObjectWindowTop = function(obj)\r
-{// retrieve the y coordinate of a posionable object relative to browser window\r
-       if( gbBsNS4 )\r
-               return obj.pageY;\r
-       else\r
-       {\r
-               var nOffsetWindowTop = 0;\r
-               for(var element = obj; element; element = element.offsetParent)\r
-                       nOffsetWindowTop += CCSSP.GetObjectContainTop(element);\r
-               return nOffsetWindowTop;\r
-       }\r
-}\r
-\r
-CCSSP.GetObjectHeight = function(obj)\r
-{// retrieve the height of a posionable object\r
-       if( gbBsNS4 )\r
-               return obj.clip.height;\r
-       else\r
-               return obj.offsetHeight;\r
-}\r
-\r
-CCSSP.GetObjectWidth = function(obj)\r
-{// retrieve the width of a posionable object\r
-       if( gbBsNS4 )\r
-               return obj.clip.width;\r
-       else\r
-               return obj.offsetWidth;\r
-}\r
-\r
-CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler )\r
-{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined\r
-       if (gbBsNS4 && !gbBsNS6)\r
-               return ;\r
-               \r
-       var oldHandler = "";\r
-\r
-       if (gbBsMac &&gbBsIE4&&!gbBsIE5)\r
-       {\r
-               if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown")\r
-               { //search for <SCRIPT> tag which define the event handler\r
-                       for( var i = 0; i < document.scripts.length; i++ ) \r
-                       {\r
-                               var script = document.scripts[i];\r
-                               if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )\r
-                               {\r
-                                       oldHandler = script.innerHTML;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       else\r
-       {\r
-               var oldInlineHandler = srcObj[rawEventName.toLowerCase()];\r
-               if( oldInlineHandler != null && typeof(oldInlineHandler) != "undefined")\r
-               {\r
-                       var functionDefinition = oldInlineHandler.toString();\r
-                       var bodyStart = functionDefinition.indexOf( "{" );\r
-                       var bodyEnd = functionDefinition.lastIndexOf( "}" );\r
-                       if( bodyStart > 0 || bodyEnd > bodyStart )\r
-                               oldHandler = functionDefinition.substr( bodyStart + 1, bodyEnd - bodyStart - 2 );\r
-               }\r
-               else if( gbBsIE4 )\r
-               { //search for <SCRIPT> tag which define the event handler\r
-                       for( var i = 0; i < document.scripts.length; i++ ) \r
-                       {\r
-                               var script = document.scripts[i];\r
-                               if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )\r
-                               {\r
-                                       oldHandler = script.innerHTML;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       if( oldHandler.indexOf(funcHandler) >= 0 )\r
-               return;// to prevent register the funtion twice.\r
-\r
-       if( gbBsNS4 ) // only "onload, onresize, onfocus" apply to window\r
-       {// other raw events will apply to layer\r
-               var noOn = rawEventName.substring(2, rawEventName.length);\r
-               if( typeof(noOn) == "string" && noOn.length > 3 ) {\r
-                       if (srcObj.captureEvents)\r
-                               srcObj.captureEvents( Event[noOn.toUpperCase()] );\r
-               }\r
-       }\r
-       \r
-       var newHandler = oldHandler;\r
-       if( newHandler.length == 0 )\r
-               newHandler = funcHandler;\r
-       else\r
-               newHandler += "; " + funcHandler;\r
-       \r
-       srcObj[rawEventName.toLowerCase()] = new Function( newHandler );\r
-}\r
-\r
-CCSSP.GetWindowHeight = function()\r
-{// retrieve the height of available content in browser window\r
-       if( gbBsNS4 )\r
-               return window.innerHeight;\r
-       else\r
-               return document.body.clientHeight;\r
-}\r
-\r
-CCSSP.GetWindowBottom = function()\r
-{// retrieve the bottom postion of browser window\r
-       if( gbBsNS4 )\r
-               return window.outerHeight + window.pageYOffset;\r
-       else\r
-               return document.body.clientHeight + document.body.scrollTop;\r
-}\r
-\r
-CCSSP.GetWindowWidth = function()\r
-{// retrieve the width of available content in browser window\r
-       if( gbBsNS4 )\r
-               return window.innerWidth;\r
-       else\r
-               return document.body.clientWidth;\r
-}\r
-\r
-CCSSP.GetWindowRight = function()\r
-{// retrieve the right postion of browser window\r
-       if( gbBsNS4 )\r
-               return window.outerWidth + window.pageXOffset;\r
-       else\r
-               return document.body.clientWidth + document.body.scrollLeft;\r
-}\r
-\r
-CCSSP.TrimString = function( objString, subtrim )\r
-{// to trim the "subtrim" in the beginning and ending of a string object\r
-       if( typeof(subtrim) != "string" || subtrim == null )\r
-               return objString;\r
-       var strHead = objString.substring(0, 1);\r
-       var strRear = objString.substring(objString.length-1, objString.length);\r
-       if( strHead != subtrim && strRear != subtrim )\r
-               return objString;\r
-       \r
-       var spacePos = objString.indexOf(subtrim);\r
-       if( spacePos < 0 )\r
-               return objString;\r
-       else if( spacePos == objString.length - 1 )\r
-               return objString.substring(0, spacePos);\r
-       else\r
-       {\r
-               var newString = objString.substring( spacePos + 1, objString.length);\r
-               return CCSSP.TrimString( newString, subtrim );\r
-       }\r
-}\r
-\r
-CCSSP.TrimSpace = function( objString )\r
-{\r
-       var Trim1 = CCSSP.TrimString( objString, " ");\r
-       return CCSSP.TrimString( Trim1, "\'");\r
-}\r
-\r
-CCSSP.GetEventElement = function( navEventObject )\r
-{// to get the element who fired the current event\r
-       if(gbBsNS4) \r
-               if (gbBsNS6)\r
-                       return null;\r
-               else\r
-                        navEventObject.target;\r
-       else\r
-               return event.srcElement;\r
-}\r
-\r
-CCSSP.PrepareFilter = function( Obj )\r
-{//to prepare for making the filter work\r
-       Obj.style.filter = "";\r
-       if( Obj.style.width != "" || Obj.style.height != "" || Obj.style.position == "absolute" )\r
-               return;\r
-       Obj.style.height = CCSSP.GetObjectHeight(Obj);\r
-}\r
-\r
-CCSSP.IsDescendant = function( progenitor, progeny )\r
-{\r
-       if( typeof(progeny) == "undefined" || progeny == null )\r
-               return false;\r
-       else if( progeny == progenitor )\r
-               return true; \r
-       else if( progeny.id == progenitor.id ) \r
-               return true; \r
-       else if( getParentNode(progeny) == getParentNode(progenitor))\r
-               return false;\r
-       else\r
-               return CCSSP.IsDescendant( progenitor, getParentNode(progeny));\r
-}\r
-\r
-CCSSP.IsTextTag = function( Obj )\r
-{\r
-       if( typeof( Obj.tagName ) == "undefined" )\r
-               return false;\r
-       return( Obj.tagName.indexOf("H") == 0 || Obj.tagName == "P" || \r
-                       Obj.tagName == "FONT" || Obj.tagName == "SPAN" );\r
-}\r
-\r
-//End JavaScript libary for cross-platform positioning object.\r
-\r
-/// Section End  - CCSSP DHTM (JavaScript 1.2)\r
-\r
-/// Section Begin  - CCSSP DHTM 1 (JavaScript 1.2)\r
-\r
-//Begin the definition of class CTrigger\r
-function CTrigger( TriggerElement )\r
-{\r
-       // object : the trigger element. Never be null. \r
-       this.eleTrigger = TriggerElement;\r
-       \r
-       // number : the click counter number: only 3 values: 0,1,2;\r
-       this.nCounter = 0; \r
-       \r
-       //object as associative array of string:\r
-       // the associate target ID strings; one element at least.                       \r
-       this.objStrTarget = new Object();\r
-       this.eleTrigger.style.cursor = "hand";\r
-       if( this.eleTrigger.tagName == "AREA" && this.eleTrigger.getAttribute("href") == "" )\r
-               this.eleTrigger.setAttribute("href", "#") // to make a hand cursor for image map\r
-}\r
-\r
-CTrigger.prototype.AddTargetID = function( strTargetID )\r
-{// add one target ID string to the objStrTarget\r
-       if( typeof(strTargetID) != "string" )\r
-               return ;\r
-       if( typeof(this.objStrTarget[strTargetID]) != "string" )\r
-               this.objStrTarget[strTargetID] = strTargetID;\r
-}\r
-\r
-CTrigger.prototype.OnTriggerClick = function()\r
-{// to activate all asociated target\r
-       var strEventType = ( (this.nCounter++)% 2 == 0 ) ? \r
-               "bssctrigger1" : "bssctrigger2";\r
-               \r
-       // to enumerate associative target element's ID string\r
-       for( var strTargetID in this.objStrTarget ) \r
-               CEngine.SendEventToOneTarget( strTargetID, strEventType );\r
-}\r
-//End the definition of class CTrigger\r
-\r
-//Begin the definition of class CTarget\r
-function CTarget( TargetElement )\r
-{\r
-       // object : the target element. Never be null.\r
-       this.eleTarget = TargetElement;\r
-       this.objManager = new Object(); // object: the event manager\r
-} \r
-\r
-CTarget.nPageClickCounter = 0;// static class property.\r
-\r
-CTarget.prototype.GetAgencyObject = function(str_action_type,action_setting )\r
-{// return the action agency ( effect )object's refernece \r
-       switch( str_action_type )\r
-       {\r
-       case "show":return new CAgencyShow( this.eleTarget, true ) ;\r
-       case "hide":return new CAgencyShow( this.eleTarget, false ) ;\r
-\r
-    case "flyin" : \r
-       return new CAgencyFly(this.eleTarget, action_setting, true);\r
-    case "flyout" : \r
-       return new CAgencyFly(this.eleTarget, action_setting, false);\r
-    case "spiralin" : \r
-       return new CAgencySpiral(this.eleTarget, action_setting, true);\r
-    case "spiralout" : \r
-       return new CAgencySpiral(this.eleTarget, action_setting, false);\r
-    case "zoomin" :\r
-       return new CAgencyZoom(this.eleTarget, action_setting, true);\r
-    case "zoomout" : \r
-       return new CAgencyZoom(this.eleTarget, action_setting, false);\r
-    case "elastic" : \r
-               return new CAgencyElastic(this.eleTarget, action_setting);\r
-               \r
-    case "fadein" : \r
-       return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, true) : null;\r
-    case "fadeout" :\r
-       return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, false) : null;\r
-    case "rockrollstatic" :\r
-    case "rockroll" :\r
-       return (gbBsIE4)? new CAgencyWave(this.eleTarget, action_setting, false) : null;\r
\r
-    case "glow":\r
-       return (gbBsIE4)? new CAgencyGlow(this.eleTarget,action_setting) : null;\r
-    case "dropshadow":\r
-       return (gbBsIE4)? new CAgencyDropShadow(this.eleTarget,action_setting) : null;\r
-    case "transition" :\r
-       return (gbBsIE4)? new CAgencyRevealTrans(this.eleTarget,action_setting) : null;\r
-    case "blur" :\r
-       return (gbBsIE4)? new CAgencyBlur(this.eleTarget,action_setting) : null;\r
-\r
-    case "fliph" : // all these 4 do NOT need any parameters\r
-    case "flipv" :\r
-    case "invert":\r
-    case "gray" :\r
-       return (gbBsIE4)? new CAgencyChangeFilter(this.eleTarget, str_action_type) : null;\r
-    \r
-    case "fontchange": // the effects below change the style on the fly, so won't work in Navigator\r
-       return (gbBsIE4)? new CAgencyFontChange(this.eleTarget,action_setting) : null;\r
-    case "boderchange": \r
-    case "stylechange":\r
-       return (gbBsIE4)? new CAgencyChangeStyle(this.eleTarget,action_setting) : null;\r
-\r
-       default: return null;\r
-       }\r
-}\r
-\r
-CTarget.prototype.SetEventManager = function( \r
-       one_event_type,str_action_type,action_setting,event_additional)\r
-{// to set the event manager with specified action \r
-       if( typeof( one_event_type ) != "string" ||     \r
-               typeof( str_action_type ) != "string"||\r
-               typeof( action_setting ) != "string" )\r
-               return false;\r
-       if( typeof(this.objManager[one_event_type]) == "undefined" )\r
-       {\r
-               this.objManager[one_event_type] = new Object();\r
-               this.objManager[one_event_type].length = 0;\r
-       }\r
-       \r
-       var eventAgency = this.GetAgencyObject(str_action_type,action_setting);\r
-       if( eventAgency != null )\r
-       {\r
-               var ct = this.objManager[one_event_type].length ++;\r
-               this.objManager[one_event_type][ct] = eventAgency;\r
-               \r
-               if( one_event_type == "bsscpageclick" )\r
-               {// to deal with the "number of pageclick" stuff\r
-                       if( typeof(event_additional) == "number" )\r
-                               this.objManager[one_event_type][ct].nPageClick = event_additional;\r
-                       else // set the default number \r
-                               this.objManager[one_event_type][ct].nPageClick = 1;\r
-                       \r
-                       if( (typeof(this.objManager.nMinPageClickIndex) == "undefined") ||\r
-                           (this.objManager[one_event_type][ct].nPageClick < \r
-                                       this.objManager[one_event_type][this.objManager.nMinPageClickIndex].nPageClick) )\r
-                               this.objManager.nMinPageClickIndex = ct;\r
-               }\r
-               \r
-               //hide the object blindly,SetState function will take care of the final correct state\r
-               if( ((one_event_type == "bsscpageclick") && \r
-                        (this.objManager[one_event_type][ct].nPageClick == 1)) ||\r
-                       one_event_type == "bsscpageload" ||\r
-                       one_event_type == "bssctrigger1" )\r
-                       CCSSP.ShowObject( this.eleTarget, false );\r
-               \r
-               if( one_event_type == "bssctrigger1" || one_event_type == "bssctrigger2" )\r
-                       if( typeof( this.strTriggerEvent ) == "undefined" )\r
-                               this.strTriggerEvent = ( one_event_type == "bssctrigger1" ) ? "bssctrigger2" : "bssctrigger1";\r
-                       \r
-               return true;\r
-       }\r
-       return false;\r
-}\r
-\r
-CTarget.prototype.OnEvent = function( strBsscEvent )\r
-{// response to the event ( bssc format )\r
-       if( typeof(this.objManager[strBsscEvent]) == "object" )\r
-       { // to get the event agency from the event manager\r
-               var eventAgency = this.objManager[strBsscEvent];\r
-               for( var i = 0; i < eventAgency.length; i++ )\r
-               {\r
-                       if( strBsscEvent == "bsscpageclick" && \r
-                               eventAgency[i].nPageClick != CTarget.nPageClickCounter )\r
-                                continue;\r
-                       else if( strBsscEvent == "bsschover" && event.type == "mouseout" )\r
-                               eventAgency[i].EndEffect();\r
-                       else // to invoke the unified function in effect object \r
-                               eventAgency[i].UpdateEffect(); \r
-               }\r
-       }\r
-}\r
-\r
-CTarget.prototype.SetState = function( strBsscEvent )\r
-{\r
-       if( typeof(this.objManager[strBsscEvent]) != "object" )\r
-               return false;\r
-\r
-       // to get the event agency from the event manager\r
-       var eventAgency = this.objManager[strBsscEvent];\r
-       \r
-       if( strBsscEvent == "bsscpageclick" )\r
-       {// we only set the initial state for the minium number of pageclick \r
-               eventAgency[this.objManager.nMinPageClickIndex].PrepareEffect();\r
-               return true;\r
-       }\r
-       else\r
-       {\r
-               for( var i = 0; i < eventAgency.length; i++ )\r
-                       eventAgency[i].PrepareEffect(); // to invoke the unified function in effect object       \r
-               if( i > 0 )\r
-                       return true;\r
-               else\r
-                       return false;\r
-       }\r
-}\r
-//End the definition of class CTarget\r
-\r
-//Begin the definition of CEngine class\r
-function CEngine(){}// all properities are going be "class" properities\r
-\r
-// object : as associative array of trigger objects\r
-CEngine.objTrigger = new Object();\r
-// object : as associative array of target objects \r
-CEngine.objTarget = new Object(); \r
-\r
-// Array : each element is a CAgencyXXX animation object\r
-CEngine.arrAnimation = new Array();\r
-CEngine.PerformAnimation = function( nIndex )\r
-{// animation : update effects function\r
-       CEngine.arrAnimation[nIndex].UpdateEffect();\r
-}\r
-\r
-CEngine.AddOneTrigger = function(TriggerID,TriggerElement)\r
-{// add one Trigger object into the trigger array\r
-       if( typeof(TriggerID) != "string" || TriggerElement == null ||\r
-           typeof(TriggerElement) != "object" )\r
-               return;\r
-       if( typeof(CEngine.objTrigger[TriggerID] ) != "object" )\r
-               CEngine.objTrigger[TriggerID] = new CTrigger(TriggerElement);\r
-}\r
-       \r
-CEngine.AddOneTarget = function(TargetID, TargetElement)\r
-{// add one Target object into the target array\r
-       if( typeof(TargetID) != "string" || TargetElement == null ||\r
-               typeof(TargetElement) != "object" )\r
-               return;\r
-       if( typeof(CEngine.objTarget[TargetID]) != "object" )\r
-               CEngine.objTarget[TargetID] = new CTarget( TargetElement );\r
-}\r
-\r
-CEngine.SendEventToOneTarget = function(strTargetID, strBsscEvent )\r
-{// to activate one target object\r
-       if( typeof(CEngine.objTarget[strTargetID]) == "object" ) \r
-       {\r
-               if( strBsscEvent == "bssctrigger1" || strBsscEvent == "bssctrigger2" )\r
-               {//now, the "bssctrigger1" and "bssctrigger2" work like a toggle\r
-                       if( strBsscEvent == CEngine.objTarget[strTargetID].strTriggerEvent )\r
-                               strBsscEvent = (strBsscEvent == "bssctrigger1") ? "bssctrigger2" : "bssctrigger1";\r
-                       CEngine.objTarget[strTargetID].strTriggerEvent = strBsscEvent;\r
-               }\r
-               CEngine.objTarget[strTargetID].OnEvent( strBsscEvent );\r
-       }\r
-}\r
-\r
-CEngine.SendEventToAllTarget = function( strBsscEvent )\r
-{ //to activate all target associative to the BSSC event\r
-       for( var strTargetID in CEngine.objTarget ) //to enumerate all target\r
-               CEngine.SendEventToOneTarget( strTargetID, strBsscEvent );\r
-}\r
-\r
-CEngine.SetOneTargetInitialState = function( strTargetID )\r
-{// only invoked after ALL effects for the target have been set\r
-       if( typeof(CEngine.objTarget[strTargetID]) == "object" ) \r
-       {// to get target object\r
-               var objTarget = CEngine.objTarget[strTargetID];\r
-               if( objTarget.SetState( "bsscpageload" ) == false )\r
-               {\r
-                       objTarget.SetState( "bsscpageclick" );\r
-                       objTarget.SetState( "bssctrigger1" );\r
-               }\r
-       }\r
-}\r
-\r
-CEngine.AdjustPageClickCounter = function()\r
-{\r
-       var nAdjustedClickCounter = CTarget.nPageClickCounter;\r
-       var bAdjusted = false;\r
-       for( var strTargetID in CEngine.objTarget ) //to enumerate all target\r
-       {// try to find the minum pageCliclConter greater than CTarget.nPageClickCounter\r
-               var objEventPageClick = CEngine.objTarget[strTargetID].objManager.bsscpageclick;\r
-               if( objEventPageClick != null )\r
-               {\r
-                       for( var i = 0; i < objEventPageClick.length; i++ )\r
-                       {\r
-                               var nOtherPageClick = objEventPageClick[i].nPageClick;\r
-                               if( nOtherPageClick == CTarget.nPageClickCounter )\r
-                                       return;\r
-                               if( nOtherPageClick > CTarget.nPageClickCounter )\r
-                               {\r
-                                       if( !bAdjusted )\r
-                                       {\r
-                                               nAdjustedClickCounter = nOtherPageClick;\r
-                                               bAdjusted = true;\r
-                                       }\r
-                                       else if( nOtherPageClick < nAdjustedClickCounter )\r
-                                               nAdjustedClickCounter = nOtherPageClick;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       CTarget.nPageClickCounter = nAdjustedClickCounter;\r
-}\r
-\r
-CEngine.OnPageLoad = function()\r
-{      \r
-       // first, to set all target's initial state\r
-       for( var strTargetID in CEngine.objTarget )\r
-               CEngine.SetOneTargetInitialState( strTargetID );\r
-       \r
-       // to invoke all target's onpageload handler\r
-       CEngine.SendEventToAllTarget( "bsscpageload" );\r
-}\r
-\r
-CEngine.OnPageClick = function()\r
-{ // to invoke all target's onpageclick handler\r
-       var src = CCSSP.GetEventElement( arguments[0] );\r
-       if( src == null )\r
-               return;\r
-               \r
-       var objClickedTrigger = null;\r
-       for( var strTriggerID in CEngine.objTrigger )\r
-       { // to detect which trigger is clicked\r
-               if( CCSSP.IsDescendant( CEngine.objTrigger[strTriggerID].eleTrigger,src) )\r
-               {\r
-                       objClickedTrigger = CEngine.objTrigger[strTriggerID];\r
-                       break;\r
-               }\r
-       }\r
-       \r
-       if( objClickedTrigger != null) // the clicked trigger found\r
-               objClickedTrigger.OnTriggerClick();\r
-       else // no trigger is clicked\r
-       { // to send PageClick event to all target\r
-               CTarget.nPageClickCounter++;\r
-               CEngine.AdjustPageClickCounter();\r
-               CEngine.SendEventToAllTarget( "bsscpageclick" );\r
-       }\r
-}      \r
-\r
-CEngine.OnMouseOver = function()\r
-{ // to invoke all target's onpageload handler\r
-       var src = CCSSP.GetEventElement( arguments[0] );\r
-       if( src == null )\r
-               return;\r
-               \r
-       var strHoveredTargetID = null;\r
-       for( var strTargetID in CEngine.objTarget )\r
-       { // to detect which Target is hovering on\r
-               if( CCSSP.IsDescendant( CEngine.objTarget[strTargetID].eleTarget, src ) )\r
-           {\r
-                       strHoveredTargetID = strTargetID;\r
-                       break;\r
-           }\r
-       }\r
-       \r
-       if( strHoveredTargetID != null ) // the hovered target found\r
-               CEngine.SendEventToOneTarget( strHoveredTargetID, "bsschover" );\r
-}\r
-\r
-CEngine.BuildTargetObject = function(target_ID,event_type,action_type,\r
-                       action_setting, event_additional)\r
-{// to build target object \r
-       // to get the target object\r
-       if( typeof( CEngine.objTarget[target_ID] ) != "object" )\r
-               return false;// the engine's AddOneTarget function might have failed.\r
-       var TargetObject = CEngine.objTarget[target_ID];\r
-       \r
-       // to prepare the parameters for the event manager\r
-       var arrEvent = event_type.split("|"); // to split the combined event_type string\r
-       var arrAction = action_type.split("|");//to split the combined action_type string\r
-       for( var trim = 0; trim < arrEvent.length; trim++ )\r
-               arrEvent[trim] = CCSSP.TrimSpace(arrEvent[trim]);\r
-       \r
-       for( trim = 0; trim < arrAction.length; trim++ )\r
-               arrAction[trim] = CCSSP.TrimSpace(arrAction[trim]);\r
-       \r
-       var arrSetting = new Array(); \r
-       if( typeof(action_setting) == "string" )\r
-               arrSetting = action_setting.split("|");// to split the combined action_setting string\r
-       // to calibrate the arrays\r
-       for( var i = arrSetting.length; i < arrAction.length; i++ )\r
-       {\r
-               if( typeof(arrSetting[i]) != "string" )\r
-                        arrSetting[i] = "";\r
-       }                                \r
-\r
-       // to prepare for dealing with the absolute posioning element\r
-       TargetObject.eleTarget.ABSX = CCSSP.GetObjectLeft( TargetObject.eleTarget );\r
-       TargetObject.eleTarget.ABSY = CCSSP.GetObjectTop( TargetObject.eleTarget );\r
-\r
-       if( arrEvent.length > 1 )\r
-       {// if event is combined, it must be : "bssctrigger1 | bssctrigger2"\r
-               if( arrAction.length != 2 )\r
-                       return false; // if event is combined, there must be 2 actions\r
-               for( i = 0 ; i < 2; i++ )\r
-               {\r
-                       if( TargetObject.SetEventManager(arrEvent[i], arrAction[i], \r
-                               arrSetting[i], event_additional) == false )\r
-                               return false; // the event manager has not been set up\r
-               }\r
-       }\r
-       else // the event_type string is not combined\r
-       {\r
-               for( i = 0 ; i < arrAction.length; i++ )\r
-               {\r
-                       TargetObject.SetEventManager(event_type, arrAction[i], arrSetting[i], event_additional);\r
-                       // to validate the event manager\r
-                       if( typeof(TargetObject.objManager[event_type]) != "object" ||\r
-                                       typeof(TargetObject.objManager[event_type][i]) != "object" )\r
-                               return false; // the event manager has not been set up\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-CEngine.BuildTriggerObject = function(trigger_ID, target_ID)\r
-{// to build the trigger object\r
-       var arrTrigger = trigger_ID.split("|"); // to split the combined trigger_ID string\r
-       for( var i = 0; i < arrTrigger.length; i ++ )\r
-       {// to get the trigger element then add it to the trigger list\r
-               arrTrigger[i] = CCSSP.TrimSpace( arrTrigger[i] );\r
-               var eleTrigger = CCSSP.GetObject( arrTrigger[i] );\r
-               if( eleTrigger == null )\r
-                       continue; // the trigger_ID string in the HTML code maybe wrong\r
-               CEngine.AddOneTrigger( arrTrigger[i], eleTrigger );\r
-\r
-               // to get the target object\r
-               if( typeof( this.objTrigger[arrTrigger[i]] ) != "object" )\r
-                       continue;// the engine's AddOneTarget function might have failed.\r
-               CEngine.objTrigger[arrTrigger[i]].AddTargetID( target_ID );\r
-       }\r
-}\r
-//End the definition of CEngine class\r
-\r
-/// Section End  - CCSSP DHTM 1 (JavaScript 1.2)\r
-\r
-/// Section Begin  - CCSSP DHTM 2 (JavaScript 1.2)\r
-\r
-//Begin the definition of CAgencyXXXX classes\r
-\r
-//Begin of the CAgencyShow definition\r
-function CAgencyShow( element, bIsShow )\r
-{\r
-       this.ele = element;\r
-       this.bIsShow = bIsShow;\r
-}\r
-\r
-CAgencyShow.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject( this.ele, !this.bIsShow );\r
-}\r
-\r
-CAgencyShow.prototype.UpdateEffect = function()\r
-{\r
-       CCSSP.ShowObject( this.ele, this.bIsShow );\r
-}\r
-\r
-CAgencyShow.prototype.EndEffect = function()\r
-{\r
-       CCSSP.ShowObject( this.ele, !this.bIsShow );\r
-}\r
-// End of the CAgencyShow definition\r
-\r
-// Begin of CAgencyFly definition\r
-function CAgencyFly( element, settings, bIsIn )\r
-{\r
-       this.ele = element;\r
-       this.bIsIn = bIsIn;\r
-       this.duration = 1000; // default\r
-       this.direction = "right";\r
-\r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
-               case "direction" : this.direction = arrOneSet[1]; break;\r
-               }\r
-       }\r
-               \r
-       if( gbBsIE5 && this.ele.style.position != "absolute" )\r
-               this.ele.style.position = "relative";\r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyFly.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencyFly.prototype.UpdateEffect = function()\r
-{\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-\r
-       var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-       if( percent >= 1.0 )\r
-               this.EndEffect();\r
-       else\r
-       {\r
-               var newX = this.startX*(1.0-percent) +  this.finalX*percent;\r
-               var newY = this.startY*(1.0-percent) +  this.finalY*percent;\r
-               CCSSP.MoveObjectTo(this.ele, newX, newY);\r
-               if( this.timer == null )\r
-                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
-       }\r
-}\r
-\r
-CAgencyFly.prototype.EndEffect = function()\r
-{\r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-\r
-       if( this.bIsIn ) // FlyIn\r
-               CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
-       else // FlyOut\r
-               CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
-       CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencyFly.prototype.ResetParameters = function()\r
-{\r
-       this.PrepareEffect();\r
-       CCSSP.ShowObject(this.ele, true );\r
-\r
-       this.startX = 0;\r
-       this.startY = 0;\r
-       this.finalX = 0;\r
-       this.finalY = 0; \r
-       \r
-       var offsetLeft = CCSSP.GetObjectWindowLeft(this.ele) + this.ele.offsetWidth;\r
-       var offsetTop = CCSSP.GetObjectWindowTop(this.ele) + this.ele.offsetHeight;\r
-       var offsetRight = CCSSP.GetWindowRight();\r
-       var offsetBottom = CCSSP.GetWindowBottom();\r
-\r
-       if( this.bIsIn )\r
-       { // FlyIn\r
-               this.finalX = this.ele.ABSX;\r
-               this.finalY = this.ele.ABSY;\r
-\r
-               switch( this.direction )\r
-               {\r
-               case "right": this.startX = offsetRight; this.startY = this.finalY; break;\r
-               case "left": this.startX = -offsetLeft;  this.startY = this.finalY; break;\r
-               case "down": this.startY = offsetBottom; this.startX = this.finalX; break;\r
-               case "up":  this.startY = -offsetTop;    this.startX = this.finalX; break;\r
-               case "downright":\r
-                       this.startX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;\r
-                       this.startY = this.startX;              break;\r
-               case "upright":\r
-                       this.startX = (offsetTop < offsetRight)? offsetTop : offsetRight;\r
-                       this.startY = -this.startX;             break;\r
-               case "upleft":\r
-                       this.startX = -((offsetTop < offsetRight)? offsetTop : offsetRight);\r
-                       this.startY = this.startX;              break;\r
-               case "downleft":\r
-                       this.startX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);\r
-                       this.startY = -this.startX;     break;\r
-               }\r
-       }\r
-       else\r
-       { // FlyOut\r
-               this.startX = this.ele.ABSX;\r
-               this.startY = this.ele.ABSY;\r
-\r
-               switch( this.direction )\r
-               {\r
-               case "right": this.finalX = offsetRight;  this.finalY = this.startY; break;\r
-               case "left": this.finalX = -offsetLeft;   this.finalY = this.startY;  break;\r
-               case "down": this.finalY = offsetBottom;  this.finalX = this.startX; break;\r
-               case "up":  this.finalY = -offsetTop;     this.finalX = this.startX; break;\r
-               case "downright":\r
-                       this.finalX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;\r
-                       this.finalY = this.finalX;              break;\r
-               case "upright":\r
-                       this.finalX = (offsetTop < offsetRight)? offsetTop : offsetRight;\r
-                       this.finalY = -this.finalX;             break;\r
-               case "upleft":\r
-                       this.finalX = -((offsetTop < offsetRight)? offsetTop : offsetRight);\r
-                       this.finalY = this.finalX;              break;\r
-               case "downleft":\r
-                       this.finalX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);\r
-                       this.finalY = -this.finalX;     break;\r
-               }\r
-       }\r
-       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
-       this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyFly definition\r
-\r
-// Begin of CAgencySpiral\r
-function CAgencySpiral( element, settings, bIsIn )\r
-{\r
-       this.ele = element;\r
-       this.bIsIn = bIsIn;\r
-       this.duration = 1000; // default\r
-\r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
-               }\r
-       }\r
-\r
-       if( gbBsIE5 && this.ele.style.position != "absolute" )\r
-               this.ele.style.position = "relative";\r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencySpiral.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencySpiral.prototype.UpdateEffect = function()\r
-{\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-\r
-       var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-       if( percent >= 1.0 )\r
-               this.EndEffect();\r
-       else\r
-       {\r
-               var rf = (this.bIsIn)? (1.0 - percent) : percent; \r
-               var t = (1.0-rf) * 4.0 * Math.PI\r
-               var rxP = (this.bIsIn)? this.startX : this.finalX; \r
-               var ryP = (this.bIsIn)? this.startY : this.finalY; \r
-               var rx = (Math.abs(rxP) < 200) ? Math.abs(rxP) : 200;\r
-               var ry = (Math.abs(ryP) < 200) ? Math.abs(ryP) : 200;\r
-\r
-               var newX = Math.ceil(-rf*Math.cos(t)*rx) + this.ele.ABSX;\r
-               var newY = Math.ceil(-rf*Math.sin(t)*ry) + this.ele.ABSY;\r
-               CCSSP.MoveObjectTo(this.ele, newX, newY);\r
-               if( this.timer == null )\r
-                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
-       }\r
-}\r
-\r
-CAgencySpiral.prototype.EndEffect = function()\r
-{\r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-       \r
-       if( this.bIsIn ) // In\r
-               CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
-       else // Out\r
-               CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
-       CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencySpiral.prototype.ResetParameters = function()\r
-{\r
-       this.PrepareEffect();\r
-       CCSSP.ShowObject(this.ele, true );\r
-       this.startX = (this.bIsIn)? CCSSP.GetWindowRight() : this.ele.ABSX;\r
-       this.startY = (this.bIsIn)? CCSSP.GetWindowBottom() : this.ele.ABSY;\r
-       this.finalX = (this.bIsIn)? this.ele.ABSX : CCSSP.GetWindowRight();\r
-       this.finalY = (this.bIsIn)? this.ele.ABSY : CCSSP.GetWindowBottom(); \r
-       \r
-       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
-       this.startTime = (new Date()).getTime();\r
-}\r
-// End of CAgencySpiral\r
-\r
-// Begin of CAgencyElastic\r
-function CAgencyElastic( element, settings)\r
-{\r
-       this.ele = element;\r
-       this.duration = 1000; // default\r
-       this.direction = "right";\r
-\r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
-               case "direction" : this.direction = arrOneSet[1]; break;\r
-               }\r
-       }\r
-               \r
-       if( gbBsIE5 && this.ele.style.position != "absolute" )\r
-               this.ele.style.position = "relative";\r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyElastic.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, false );\r
-}\r
-\r
-CAgencyElastic.prototype.UpdateEffect = function()\r
-{\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-\r
-       var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-       if( percent >= 1.0 )\r
-               this.EndEffect();\r
-       else\r
-       {\r
-               var newX = this.startX;\r
-               var newY = this.startY;\r
-               var rf = Math.exp(-percent*3);\r
-               var t = percent * 1.5 * Math.PI\r
-               var rx = (Math.abs(this.startX) > Math.abs(this.startY)) ? this.startX : this.startY;\r
-               switch (this.direction )\r
-               {\r
-               case "left":   \r
-               case "right" : newX = rf*Math.cos(t)*rx + this.ele.ABSX; break;\r
-               case "up":         \r
-               case "down" :  newY = rf*Math.cos(t)*rx + this.ele.ABSX; break;\r
-               }\r
-               CCSSP.MoveObjectTo(this.ele, newX, newY);\r
-               if( this.timer == null )\r
-                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
-       }\r
-}\r
-\r
-CAgencyElastic.prototype.EndEffect = function()\r
-{\r
-       CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);\r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-}\r
-\r
-CAgencyElastic.prototype.ResetParameters = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, true );\r
-       this.startX = this.ele.ABSX;\r
-       this.finalX = this.ele.ABSX;\r
-       this.startY = this.ele.ABSY;\r
-       this.finalY = this.ele.ABSY;\r
-       \r
-       switch (this.direction)\r
-       { \r
-       case "left":  this.startX = -this.ele.offsetWidth; break;\r
-       case "right": this.startX = this.ele.offsetWidth;  break;\r
-       case "up":    this.startY = -this.ele.offsetHeight;break;\r
-       case "down":  this.startY = this.ele.offsetHeight; break;\r
-       }\r
-       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);\r
-       this.startTime = (new Date()).getTime();\r
-}\r
-// End of CAgencyElastic\r
-\r
-// Begin of CAgencyZoom\r
-function CAgencyZoom( element, settings, bIsIn)\r
-{\r
-       this.ele = element;\r
-       this.duration = 1000; // default\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
-               }\r
-       }\r
-\r
-       this.bIsIn = bIsIn;\r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyZoom.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, false);\r
-}\r
-\r
-CAgencyZoom.prototype.UpdateEffect = function()\r
-{\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-\r
-       var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-       if( percent >= 1.0 )\r
-               this.EndEffect();\r
-       else\r
-       {\r
-               var nFactorIn = Math.ceil(50+50*percent);\r
-               var nFactorOut = Math.ceil(100+200*(1-percent));\r
-               var AlterFontsize = ((this.bIsIn)? nFactorIn : nFactorOut) + "%";\r
-               var AlterFactor = ((this.bIsIn)? nFactorIn : nFactorOut) / 100;\r
-               \r
-               this.UpdateEffectAllChildren(this.ele, AlterFontsize, AlterFactor);\r
-               for(var index = 0; index < this.ele.all.length; index++)\r
-                       this.UpdateEffectAllChildren(this.ele.all[index], AlterFontsize, AlterFactor);\r
-                       \r
-               if( this.timer == null )\r
-                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
-       }\r
-}\r
-\r
-CAgencyZoom.prototype.UpdateEffectAllChildren = function(child, FontSize, Factor)\r
-{\r
-       if( CCSSP.IsTextTag(child) )\r
-               child.style.fontSize = FontSize;\r
-       else\r
-       {\r
-               if( typeof(child.orgWidth) == "number" )\r
-                       child.style.width = Factor * child.orgWidth;\r
-               if( typeof(child.orgHeight) == "number" )\r
-                       child.style.height = Factor * child.orgHeight;\r
-       }\r
-}\r
-\r
-CAgencyZoom.prototype.EndEffect = function()\r
-{\r
-       this.EndEffectAllChildren(this.ele);\r
-       for(var index = 0; index < this.ele.all.length; index++)\r
-               this.EndEffectAllChildren(this.ele.all[index]);\r
-       \r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-}\r
-\r
-CAgencyZoom.prototype.EndEffectAllChildren = function( child )\r
-{      \r
-       if( CCSSP.IsTextTag(child) )\r
-               child.style.fontSize = child.orgFontSize;\r
-       else\r
-       {\r
-               if( typeof(child.intactWidth) != "undefined" )\r
-               {\r
-                       child.width = child.intactWidth;\r
-                       child.height = child.intactHeight;\r
-               }\r
-               else if( typeof(child.style.intactPixelWidth) != "undefined" )\r
-               {\r
-                       child.style.pixelWidth = child.style.intactPixelWidth;\r
-                       child.style.pixelHeight = child.style.intactPixelHeight;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyZoom.prototype.ResetParameters = function()\r
-{\r
-       this.PrepareEffect();\r
-       this.ResetParametersAllChildren( this.ele );\r
-       for(var index = 0; index < this.ele.all.length; index++)\r
-               this.ResetParametersAllChildren(this.ele.all[index]);\r
-               \r
-       this.startTime = (new Date()).getTime();\r
-}\r
-\r
-CAgencyZoom.prototype.ResetParametersAllChildren = function( child )\r
-{\r
-       CCSSP.ShowObject(child, true );\r
-       if( (child.tagName == "DIV") && (getParentNode(child).tagName == "TD") )\r
-               child.width = "100%";// if the div is inside a cell of table, we need the this hack\r
-       \r
-       if( CCSSP.IsTextTag(child) )\r
-               child.orgFontSize = child.style.fontSize;\r
-       else\r
-       {\r
-               if( child.width > "" || child.height > "" )\r
-               {\r
-                       child.orgWidth = child.intactWidth = child.width;\r
-                       child.orgHeight = child.intactHeight = child.height;\r
-               }\r
-               else if( ( typeof(child.orgWidth) != "number" ) && (typeof(child.orgHeight) != "number") )\r
-               {\r
-                       child.orgWidth = child.style.intactPixelWidth = child.style.pixelWidth;\r
-                       child.orgHeight = child.style.intactPixelHeight = child.style.pixelHeight;\r
-               }\r
-       }\r
-}\r
-// End of CAgencyZoom\r
-\r
-//// the following effects will use IE's exclusive "filter" function ////\r
-// Begin of CAgencyAlpha definition\r
-function CAgencyAlpha( element, settings, bIsIn )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-       this.bIsIn = bIsIn;\r
-\r
-       // to set the default value\r
-       this.startOpacity = (this.bIsIn) ? 0 : 100;\r
-       this.endOpacity = (this.bIsIn) ? 100 : 0;\r
-       \r
-       this.duration = 1000; // default\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "speed" : this.duration = 100000/arrOneSet[1]; break;\r
-               }\r
-       }\r
-       \r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyAlpha.prototype.PrepareEffect = function()\r
-{// to set the visual filter function\r
-       // the visual filter ONLY work when set by "Width and Height" or\r
-       // absolute position for DIV, SPAN and normal tag ( such as p )\r
-       // but, "absolute" cause the following elements overlap, so:\r
-       CCSSP.PrepareFilter( this.ele );\r
-       CCSSP.ShowObject(this.ele, !this.bIsIn );\r
-}\r
-\r
-CAgencyAlpha.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-       if( typeof(this.ele.filters.alpha) != "object" )\r
-       {\r
-               this.EndEffect();\r
-               return;\r
-       }\r
-\r
-       var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-       if( percent >= 1.0 )\r
-               this.EndEffect();\r
-       else if( typeof(this.ele.filters.alpha) == "object" )\r
-       {\r
-               this.ele.filters.alpha.opacity = this.startOpacity*(1.0-percent) + this.endOpacity*percent;\r
-               if( this.timer == null )\r
-                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );\r
-       }\r
-}\r
-\r
-CAgencyAlpha.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-       this.ele.style.filter = "";\r
-       CCSSP.ShowObject(this.ele, this.bIsIn );\r
-}\r
-\r
-CAgencyAlpha.prototype.ResetParameters = function()\r
-{\r
-       this.PrepareEffect();\r
-       CCSSP.ShowObject(this.ele, true );\r
-       this.ele.style.filter = "alpha(opacity=" + this.startOpacity + ")";\r
-       this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyAlpha definition\r
-\r
-// Begin of CAgencyWave definition\r
-function CAgencyWave( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       this.duration = 0; // default\r
-       this.strength = 10;\r
-       this.freq = 1;\r
-       this.lightstrength = 1;\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "duration" : this.duration = 100000/arrOneSet[1]; break;\r
-               case "strength" : this.strength = arrOneSet[1]; break;\r
-               case "freq" : this.freq = arrOneSet[1]; break;\r
-               case "lightstrength" : this.lightstrength = arrOneSet[1]; break;\r
-               }\r
-       }\r
-\r
-       this.timer = null;\r
-       this.aniIndex = CEngine.arrAnimation.length;\r
-       CEngine.arrAnimation[this.aniIndex] = this;\r
-}\r
-\r
-CAgencyWave.prototype.PrepareEffect = function()\r
-{// to set the visual filter function\r
-       CCSSP.PrepareFilter(this.ele);\r
-\r
-       CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyWave.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       if( this.timer == null )\r
-               this.ResetParameters();\r
-       if( typeof(this.ele.filters.wave) != "object" )\r
-       {\r
-               this.EndEffect();\r
-               return;\r
-       }\r
-\r
-       if( this.duration > 0 )\r
-       {\r
-               var percent = ((new Date()).getTime() - this.startTime)/this.duration;\r
-               if( percent >= 1.0 )\r
-               {\r
-                       this.EndEffect();\r
-                       return;\r
-               }\r
-       }\r
-       \r
-       this.ele.filters.wave.phase += 5;\r
-       this.ele.filters.wave.phase %= 100;\r
-       if( this.timer == null )\r
-               this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 50 );\r
-}\r
-\r
-CAgencyWave.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       this.ele.style.filter = "";\r
-       clearInterval( this.timer );\r
-       this.timer = null;\r
-}\r
-\r
-CAgencyWave.prototype.ResetParameters = function()\r
-{\r
-       this.PrepareEffect();\r
-       this.ele.style.filter = "wave(strength=" + this.strength + ",freq=" + \r
-        this.freq +", lightstrength=" + this.lightstrength +",phase=0);";\r
-       this.startTime = (new Date()).getTime();\r
-}\r
-// End of the CAgencyWave definition\r
-\r
-// Begin of CAgencyGlow definition\r
-function CAgencyGlow( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       // to set the default value\r
-       this.glowColor = "green";\r
-       this.glowStrength = "3";\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "color" : this.glowColor = arrOneSet[1]; break;\r
-               case "strength" : this.glowStrength = arrOneSet[1]; break;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyGlow.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.PrepareFilter(this.ele);\r
-       CCSSP.ShowObject(this.ele, true );\r
-       if( this.ele.style.backgroundColor != "" )\r
-       {//style.backgroundColor somehow stop the visual filter\r
-               this.ele.intactBackgroundColor = this.ele.style.backgroundColor;\r
-               this.ele.style.backgroundColor = "";\r
-       }\r
-}\r
-\r
-CAgencyGlow.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       this.PrepareEffect();\r
-       this.ele.style.filter = "glow(Color=" + this.glowColor + ", Strength=" + \r
-               this.glowStrength + ", enabled=true" +")";\r
-}\r
-\r
-CAgencyGlow.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       this.ele.style.filter = "";\r
-       if( typeof(this.ele.intactBackgroundColor) != "undefined" )\r
-               this.ele.style.backgroundColor = this.ele.intactBackgroundColor;\r
-}\r
-// End of the CAgencyGlow definition\r
-\r
-// Begin of CAgencyDropShadow definition\r
-function CAgencyDropShadow( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       // to set the default value\r
-       this.shadowColor = "black"; \r
-       this.shadowOffx = "1";\r
-       this.shadowOffy = "1";\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "color" : this.shadowColor = arrOneSet[1]; break;\r
-               case "offx" : this.shadowOffx = arrOneSet[1]; break;\r
-               case "offy" : this.shadowOffy = arrOneSet[1]; break;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyDropShadow.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.PrepareFilter(this.ele);\r
-       CCSSP.ShowObject(this.ele, true );\r
-       \r
-       if( this.ele.style.backgroundColor != "" )\r
-       {//style.backgroundColor somehow stop the visual filter\r
-               this.ele.intactBackgroundColor = this.ele.style.backgroundColor;\r
-               this.ele.style.backgroundColor = "";\r
-       }\r
-}\r
-\r
-CAgencyDropShadow.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       this.PrepareEffect();\r
-       this.ele.style.filter = "dropshadow(color=" + this.shadowColor + ", offx=" + \r
-               this.shadowOffx + ", offy=" + this.shadowOffy + ")";\r
-}\r
-\r
-CAgencyDropShadow.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       this.ele.style.filter = "";\r
-       if( typeof(this.ele.intactBackgroundColor) != "undefined" )\r
-               this.ele.style.backgroundColor = this.ele.intactBackgroundColor;\r
-}\r
-// End of the CAgencyDropShadow definition\r
-\r
-// Begin of CAgencyRevealTrans definition\r
-function CAgencyRevealTrans( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       // to set the default value\r
-       this.duration = 1.0; //The value is specified in seconds.milliseconds format (0.0000).\r
-       this.transition = 0;\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "type" : this.transition = arrOneSet[1]; break;\r
-               case "duration" : this.duration = 100/arrOneSet[1];     break;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyRevealTrans.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.PrepareFilter(this.ele);\r
-       CCSSP.ShowObject( this.ele, false);\r
-}\r
-\r
-CAgencyRevealTrans.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
-       {\r
-               if( this.ele.filters.RevealTrans.status == 2 )\r
-                       this.ele.filters.RevealTrans.stop();  \r
-       }\r
-\r
-       this.PrepareEffect();\r
-       \r
-       this.ele.style.filter = "RevealTrans(duration=" + this.duration + \r
-               ", transition=" + this.transition + ")";\r
-       \r
-    if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
-    {\r
-               this.ele.filters.RevealTrans.apply();\r
-               CCSSP.ShowObject( this.ele, true);\r
-               this.ele.filters.RevealTrans.play();  \r
-       }\r
-       else\r
-               CCSSP.ShowObject( this.ele, true);\r
-}\r
-\r
-CAgencyRevealTrans.prototype.EndEffect = function()\r
-{\r
-    if( typeof( this.ele.filters.RevealTrans ) == "object" )\r
-               this.ele.filters.RevealTrans.stop();  \r
-       this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyRevealTrans definition\r
-\r
-// Begin of CAgencyBlur definition\r
-function CAgencyBlur( element, settings )\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       // to set the default value\r
-       this.strength = "5";\r
-       this.direction = "90";\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "strength" : this.strength = arrOneSet[1]; break;\r
-               case "direction" : this.direction = arrOneSet[1]; break;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyBlur.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.PrepareFilter(this.ele);\r
-       CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyBlur.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       CCSSP.PrepareFilter(this.ele);\r
-       this.ele.style.filter = "blur(strength=" + this.strength + \r
-               ", direction=" + this.direction + ")";\r
-}\r
-\r
-CAgencyBlur.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyBlur definition\r
-\r
-// Begin of CAgencyChangeFilter definition\r
-function CAgencyChangeFilter( element, settings ) // flipH, flipV, invert, grey,\r
-{// because of "visual filter" style, this won't work in Navigator\r
-       this.ele = element;\r
-\r
-       // to set the default value\r
-       this.filterFunction = settings;\r
-}\r
-\r
-CAgencyChangeFilter.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.PrepareFilter(this.ele);\r
-       CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyChangeFilter.prototype.UpdateEffect = function()\r
-{// to set the visual filter function\r
-       CCSSP.PrepareFilter(this.ele);\r
-       this.ele.style.filter = this.filterFunction;\r
-}\r
-\r
-CAgencyChangeFilter.prototype.EndEffect = function()\r
-{// to remove the visual filter function\r
-       this.ele.style.filter = "";\r
-}\r
-// End of the CAgencyChangeFilter definition\r
-\r
-// The effects below change the style on the fly, so they won't work in Navigator\r
-\r
-// Begin of CAgencyFontChange definition, \r
-function CAgencyFontChange( element, settings )\r
-{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.\r
-       this.ele = element;\r
-       \r
-       // to retrieve the original font style\r
-       this.RetrieveOldFont( this.ele );\r
-       \r
-       // to set the default font to change\r
-       this.newfontFamily = this.ele.oldFontFamily;\r
-       this.newfColor = this.ele.oldColor;\r
-       this.newtextDecoration = this.ele.oldTextDecoration;\r
-       this.newfontWeight = this.ele.oldFontWeight;\r
-       this.newfontStyle = this.ele.oldFontStyle;\r
-       this.newfontSize = this.ele.oldFontSize;\r
-       this.newBackgroundColor = this.ele.oldBackgroundColor;\r
-       \r
-       var arrAllSet = settings.split(",");\r
-       for( var i = 0; i < arrAllSet.length; i ++ )\r
-       {// to retrieve the setting\r
-               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);\r
-               var arrOneSet = arrAllSet[i].split("=");\r
-               for( var j = 0; j < arrOneSet.length; j++ )\r
-                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);\r
-               switch( arrOneSet[0] )\r
-               {\r
-               case "font-family" : this.newfontFamily = arrOneSet[1]; break;\r
-               case "color" : this.newfColor = arrOneSet[1]; break;\r
-               case "underline" : this.newtextDecoration = (arrOneSet[1]=="on")? "underline" : "none"; break;\r
-               case "bold" : this.newfontWeight = (arrOneSet[1]=="on")? "bold" : "normal"; break;\r
-               case "italic" : this.newfontStyle = (arrOneSet[1]=="on")? "italic" : "normal"; break;\r
-               case "size" : this.newfontSize = arrOneSet[1]; break;\r
-               case "background-color" : this.newBackgroundColor = arrOneSet[1]; break;\r
-               }\r
-       }\r
-}\r
-\r
-CAgencyFontChange.prototype.RetrieveOldFont = function(objChild)\r
-{\r
-       if( typeof(objChild.oldFontFamily) == "undefined" )\r
-               objChild.oldFontFamily = objChild.style.fontFamily;\r
-       if( typeof(objChild.oldColor) == "undefined" )\r
-               objChild.oldColor = objChild.style.color;\r
-       if( typeof(objChild.oldTextDecoration) == "undefined" )\r
-               objChild.oldTextDecoration = objChild.style.textDecoration;\r
-       if( typeof(objChild.oldFontWeight) == "undefined" )\r
-               objChild.oldFontWeight = objChild.style.fontWeight;\r
-       if( typeof(objChild.oldFontStyle) == "undefined" )\r
-               objChild.oldFontStyle = objChild.style.fontStyle;\r
-       if( typeof(objChild.oldFontSize) == "undefined" )\r
-               objChild.oldFontSize = objChild.style.fontSize;\r
-       if( typeof(objChild.oldBackgroundColor) == "undefined" )\r
-               objChild.oldBackgroundColor = objChild.style.backgroundColor;\r
-}\r
-\r
-CAgencyFontChange.prototype.PrepareEffect = function()\r
-{\r
-       // as for expanding text, the child is created after the constructor called\r
-       for(var index = 0; index < this.ele.all.length; index++)\r
-               this.RetrieveOldFont(this.ele.all[index]);\r
-       CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyFontChange.prototype.UpdateEffect = function()\r
-{// to change the font\r
-       this.PrepareEffect();\r
-       this.UpdateEffectAllChildren( this.ele );\r
-       for( var index = 0; index < this.ele.all.length; index++)\r
-               this.UpdateEffectAllChildren(this.ele.all[index]);\r
-}\r
-\r
-CAgencyFontChange.prototype.UpdateEffectAllChildren = function(objChild)\r
-{\r
-       objChild.style.fontFamily = this.newfontFamily;\r
-       objChild.style.color = this.newfColor;\r
-       objChild.style.textDecoration = this.newtextDecoration;\r
-       objChild.style.fontWeight = this.newfontWeight;\r
-       objChild.style.fontStyle = this.newfontStyle;\r
-       objChild.style.fontSize = this.newfontSize;\r
-       objChild.style.backgroundColor = this.newBackgroundColor;\r
-}\r
-\r
-CAgencyFontChange.prototype.EndEffect = function()\r
-{// to reinstate the original font style\r
-       this.EndEffectAllChildren( this.ele );\r
-       for( var index = 0; index < this.ele.all.length; index++)\r
-               this.EndEffectAllChildren(this.ele.all[index]);\r
-}\r
-\r
-CAgencyFontChange.prototype.EndEffectAllChildren = function( objChild )\r
-{\r
-       if( typeof(objChild.oldFontFamily) != "undefined" )\r
-               objChild.style.fontFamily = objChild.oldFontFamily;\r
-       if( typeof(objChild.oldColor) != "undefined" )\r
-               objChild.style.color = objChild.oldColor;\r
-       if( typeof(objChild.oldFontWeight) != "undefined" )\r
-               objChild.style.fontWeight = objChild.oldFontWeight;\r
-       if( typeof(objChild.oldFontStyle) != "undefined" )\r
-               objChild.style.fontStyle = objChild.oldFontStyle;\r
-       if( typeof(objChild.oldFontSize) != "undefined" )\r
-               objChild.style.fontSize = objChild.oldFontSize;\r
-       if( typeof(objChild.oldTextDecoration) != "undefined" )\r
-               objChild.style.textDecoration = objChild.oldTextDecoration;\r
-       if( typeof(objChild.oldBackgroundColor) != "undefined" )\r
-               objChild.style.backgroundColor = objChild.oldBackgroundColor;\r
-}\r
-// End of the CAgencyFontChange definition\r
-\r
-// Begin of the CAgencyChangeStyle definition\r
-function CAgencyChangeStyle( element, settings )\r
-{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.\r
-       this.ele = element;\r
-       \r
-       // to retrieve the original style\r
-       this.oldstyle = this.ele.style.cssText;\r
-       \r
-       // to set the default style\r
-       this.newStyle = this.oldstyle;\r
-       \r
-       if( typeof(settings) == "string" && settings.length > 1 )\r
-               this.newStyle = this.oldstyle + " " + settings;\r
-}\r
-\r
-CAgencyChangeStyle.prototype.PrepareEffect = function()\r
-{\r
-       CCSSP.ShowObject(this.ele, true );\r
-}\r
-\r
-CAgencyChangeStyle.prototype.UpdateEffect = function()\r
-{// to change the style\r
-       this.ele.style.cssText = this.newStyle;\r
-}\r
-\r
-CAgencyChangeStyle.prototype.EndEffect = function()\r
-{// to reinstate the original style\r
-       this.ele.style.cssText = this.oldStyle;\r
-}\r
-// End of the CAgencyChangeStyle definition\r
-\r
-//End the definition of CAgencyXXXX classes\r
-\r
-//Begin to collaborate with other event handler settings \r
-CCSSP.RegisterEventHandler( window, "onload", "CEngine.OnPageLoad();BSSCOnLoad();kadovInitTriggersInHead();");\r
-CCSSP.RegisterEventHandler( document, "onclick", "CEngine.OnPageClick();BSSCOnClick();");\r
-CCSSP.RegisterEventHandler( document, "onmouseover", "CEngine.OnMouseOver();BSSCOnMouseOver();" );\r
-CCSSP.RegisterEventHandler( document, "onmouseout", "CEngine.OnMouseOver();BSSCOnMouseOut();" );\r
-CCSSP.RegisterEventHandler( window, "onunload", "BSSCOnUnload();");\r
-//End to collaborate with other event handler settings\r
-\r
-/// Section End  - CCSSP DHTM 2 (JavaScript 1.2)\r
-\r
+// eHelp® Corporation Dynamic HTML JavaScript 
+// Copyright© 1998-2003 eHelp® Corporation.All rights reserved.
+// Version=4.82
+
+// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten.
+
+//// Segment Begin -- (JavaScript 1.0)
+
+/// Section Begin - General and relative topics(JavaScript 1.0)
+
+//{{HH_SYMBOL_SECTION
+var HH_ChmFilename = "";
+var HH_WindowName = "";
+var HH_GlossaryFont = "";
+var HH_Glossary = "";
+var HH_Avenue = "";
+var HH_ActiveX = false;
+//}}HH_SYMBOL_SECTION
+
+//Begin to support previous generic parameters
+//Get the information about the browser.
+var gstrBsAgent        = navigator.userAgent.toLowerCase();
+var gnBsVer                    = parseInt(navigator.appVersion);
+
+var gbBsOpera          = (gstrBsAgent.indexOf('opera') != -1);
+var gbBsKonqueror      = (gstrBsAgent.indexOf('konqueror') != -1);
+var gbBsSafari         = (gstrBsAgent.indexOf('safari') != -1);
+var gbBsIE             = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;
+var gbBsNS             = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;
+
+var gbBsMac                    = (gstrBsAgent.indexOf('mac') != -1);
+var gbBsWindows                = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1));
+var gbBsSunOS          = (gstrBsAgent.indexOf("sunos") != -1);
+
+var gbBsIE3Before      = ((gbBsIE) && (gnBsVer <= 2));
+var gbBsNS3Before      = ((gbBsNS) && (gnBsVer <= 3));
+
+var gbBsNS2                    = ((gbBsNS) && (gnBsVer <= 2));
+var gbBsNS3                    = ((gbBsNS) && (gnBsVer == 3));
+var gbBsIE300301       = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1)));
+var gbBsIE302          = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1));
+
+var gbBsNS4                    = ((gbBsNS) && (gnBsVer >= 4));
+var gbBsNS6                    = ((gbBsNS) && (gnBsVer >= 5));
+var    gbBsNS7                 = false;
+
+var gbBsIE4                    = ((gbBsIE) && (gnBsVer >= 4));
+var gbBsIE5                    = false;
+var gbBsIE55           = false;
+
+var gbBsOpera6         = false;
+var gbBsOpera7         = false;
+
+var gbBsKonqueror3     = false;
+
+
+
+gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;;
+if (gbBsIE)
+{
+       if (parseInt(navigator.appVersion) >= 4) {
+               gbBsIE4 = true;
+               if (gbBsIE4) {
+                       var nPos = gstrBsAgent.indexOf("msie");
+                       var strIEversion = gstrBsAgent.substring(nPos + 5);
+                       var nVersion =  parseFloat(strIEversion);
+                       if (nVersion >= 5)
+                               gbBsIE5 = true;
+                       if (nVersion >= 5.5)
+                               gbBsIE55 = true;
+               }
+       }
+}
+if (gbBsNS6)
+{
+       var nPos=gstrBsAgent.indexOf("gecko");
+       if(nPos!=-1)
+       {
+               var nPos2=gstrBsAgent.indexOf("/", nPos);
+               if(nPos2!=-1)
+               {
+                       var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1));
+                       if (nVersion>=20020823)
+                               gbBsNS7=true;
+               }
+       }       
+}
+if (gbBsOpera)
+{
+       var nPos = gstrBsAgent.indexOf("opera");
+       if(nPos!=-1)
+       {
+               var nVersion = parseFloat(gstrBsAgent.substring(nPos+6));
+               if (nVersion >= 6)
+               {
+                       gbBsOpera6=true;
+                       if (nVersion >=7)
+                               gbBsOpera7=true;        
+               }
+       }
+}
+if (gbBsKonqueror)
+{
+       var nPos = gstrBsAgent.indexOf("konqueror");
+       if(nPos!=-1)
+       {
+               var nVersion = parseFloat(gstrBsAgent.substring(nPos+10));
+               if (nVersion >= 3)
+               {
+                       gbBsKonqueror3=true;
+               }
+       }
+}
+
+function insertAdjacentHTML(obj, where, htmlStr)
+{
+       if (gbBsIE || gbBsOpera7)
+       {
+               obj.insertAdjacentHTML(where, htmlStr);
+       }
+       else if (gbBsNS6 || gbBsSafari)
+       {
+               var r = obj.ownerDocument.createRange();
+               r.setStartBefore(obj);
+               var     parsedHTML = r.createContextualFragment(htmlStr);
+               
+               switch (where){
+               case 'beforeBegin':
+                       obj.parentNode.insertBefore(parsedHTML,obj);
+                       break;
+               case 'afterBegin':
+                       obj.insertBefore(parsedHTML,obj.firstChild);
+                       break;
+               case 'beforeEnd':
+                       obj.appendChild(parsedHTML);
+                       break;
+               case 'afterEnd':
+                       if (obj.nextSibling){
+                       obj.parentNode.insertBefore(parsedHTML,obj.nextSibling);
+                       } else {
+                       obj.parentNode.appendChild(parsedHTML);
+                       }
+                       break;
+               }
+       }
+}
+
+// Utilities functions.
+function BsscHasExtJs()
+{
+       if( gbBsIE3Before || gbBsNS3Before)
+               return false;
+       return true;
+}
+
+// Register event handler
+var gBsOnLoads                         = new Array();  // An array holds all the onload event handler.
+var gBsOnClicks                = new Array();  // An array holds all the onClick event handler.
+var gBsOnUnLoads               = new Array();  // An array holds all the OnUnLoad event handler.
+var gBsOnMouseOvers    = new Array();  // An array holds all the OnMouseOver event handler.
+var gBsOnMouseOuts             = new Array();  // An array holds all the OnMouseOut event handler.
+
+var gbOrignalOnMouseDown = null;
+
+function BsscRegisterOnLoad(funcHandler)
+{
+       var nLength = gBsOnLoads.length;
+       gBsOnLoads[nLength] = funcHandler;
+}
+
+function BsscRegisterOnClick(funcHandler)
+{
+       var nLength = gBsOnClicks.length;
+       gBsOnClicks[nLength] = funcHandler;
+}
+
+function BsscRegisterOnUnLoad(funcHandler)
+{
+       var nLength = gBsOnUnLoads.length;
+       gBsOnUnLoads[nLength] = funcHandler;
+}
+
+function BsscRegisterOnMouseOver(funcHandler)
+{
+       var nLength = gBsOnMouseOvers.length;
+       gBsOnMouseOvers[nLength] = funcHandler;
+}
+
+function BsscRegisterOnMouseOut(funcHandler)
+{
+       var nLength = gBsOnMouseOuts.length;
+       gBsOnMouseOuts[nLength] = funcHandler;
+}
+
+function BsGeneralOnLoad()
+{
+       if (!gbBsIE4 && !gbBsNS4)
+               return;
+
+       // Make everything visible in navigator
+       if (gbBsNS4 && !gbBsNS6) {
+               // Make some special effects items visible
+               for (var iLayer = 0; iLayer < document.layers.length; iLayer++) {
+                       document.layers[iLayer].visibility = "show";
+                       document.layers[iLayer].left = 0;
+               }
+       }
+}
+
+// If resize the netscape browser, need to reload it.
+function BsReDo()
+{
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+// End of the local functions.
+
+// The following functions are used by the html files.
+function BSSCOnLoad()
+{
+       if( !BsscHasExtJs() )
+               return;
+       for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--)
+               gBsOnLoads[nElement]();
+}
+
+function BSSCOnClick()
+{
+       if (!BsscHasExtJs()) return;
+               
+       for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--)
+               gBsOnClicks[nElement]();
+}
+
+function BSSCOnUnload()
+{
+       if (!BsscHasExtJs()) return;
+       for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--)
+               gBsOnUnLoads[nElement]();
+}
+
+function BSSCOnMouseOver()
+{
+       if (!BsscHasExtJs()) return;
+       for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--)
+               gBsOnMouseOvers[nElement]();
+}
+
+function BSSCOnMouseOut()
+{
+       if (!BsscHasExtJs()) return;
+       for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--)
+       {
+               gBsOnMouseOuts[nElement]();
+       }
+}
+// End of invocation of the event handle functions.
+
+// Add the GereralOnLoad to the onload array.
+if (typeof(BsscRegisterOnLoad) != "undefined")
+{
+       BsscRegisterOnLoad(BsGeneralOnLoad);
+}
+if (gbBsNS4&&!gbBsNS6) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = BsReDo;
+}
+//End to support previous generic parameters
+
+//Begin to support previous HHActiveX invoking
+function BsHHActivateComponents()
+{
+       if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0])))
+       {
+               var objBody = getElementsByTag(document,"BODY")[0];
+               if( typeof(objBody) == "object" )
+               {
+                       insertAdjacentHTML(objBody, "beforeEnd", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');
+                       if (HHComponentActivator.object)
+                               HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);
+               }
+       }
+}
+
+function BsHHActivXOnLoad()
+{      
+       if( gbBsIE4 )
+               BsHHActivateComponents(); 
+}
+
+if( typeof(BsscRegisterOnLoad) != "undefined" )
+{
+       BsscRegisterOnLoad(BsHHActivXOnLoad);
+}
+//End to support previous HHActiveX invoking
+
+//Begin to support previous relative topics
+//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here
+var gbPopupMenuTimeoutExpired = false;
+var gbInPopupMenu = false;
+var gbPopupMenuTopicList = null;
+var gOlddocumentClick = null;
+
+//////////////////////////////////////////////////////////////////////////////////////////
+//
+// Popup Menu code
+//
+//////////////////////////////////////////////////////////////////////////////////////////
+
+var g_bIsPopupMenuInit = false;
+function _WritePopupMenuLayer()
+{
+       if (!g_bIsPopupMenuInit)
+        {
+         if (gbBsNS4&&!gbBsNS6) {
+//Do not try to write ininle styles for NS!  NS can not handle it and will not stop downloading the html page...
+               document.write("<DIV CLASS='WebHelpPopupMenu' ID='PopupMenu'></DIV>");
+         } else{
+         document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");
+         if (!(gbBsNS4&&!gbBsNS6)) {
+               document.write("<STYLE TYPE='text/css'>");
+               if (gbBsMac&&gbBsIE4) {
+                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");
+                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; font-style:normal;font-weight:normal;text-decoration:none;}");
+               } else {
+                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");
+                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; font-style:normal;font-weight:normal;text-decoration:none;}");
+               }
+               document.write("</STYLE>");
+          }
+          }
+         g_bIsPopupMenuInit = true;
+       }
+}
+
+//Seek for the bsscright frame 
+function _SeekFrameByName( cRoot, strName )
+{
+       if( cRoot == null )     return null;
+       if( cRoot.frames == null )      return null;
+       if( cRoot.frames[strName] != null )     return cRoot.frames[strName];
+       for (var i=0; i<cRoot.frames.length; i++)
+       {
+               var cObj = null;
+               if (!gbBsNS6) 
+                       cObj = _SeekFrameByName( cRoot.frames(i).document, strName );
+               else
+                       cObj = _SeekFrameByName( cRoot.frames[i], strName );
+               if( cObj != null )              return cObj;
+       };
+       return null;
+}
+function _GetFrameByName( cRoot, strName )
+{
+       if( cRoot == null )     return null;
+       var cRet = _SeekFrameByName(cRoot, strName);
+       if( cRet != null )      return cRet;
+       if (cRoot.parent != cRoot)
+               return _GetFrameByName( cRoot.parent, strName );
+       else
+               return null;
+}
+
+var gfn_arguments = null;
+function _PopupMenu_Invoke(fn_arguments)
+{
+       gfn_arguments = fn_arguments;
+       if (gbBsOpera6&&gbBsMac)
+       {
+               var wndOldPopupLinks= window.open(document.location.href, "popuplinks");
+               wndOldPopupLinks.close();
+               setTimeout("_PopupMenu_Invoke_2();",100);
+       }
+       else
+       {
+               _PopupMenu_Invoke_2();
+       }
+}
+
+function _PopupMenu_Invoke_2()
+{
+       var fn_arguments = gfn_arguments;
+       gfn_arguments = null;
+       
+       // Make sure we have reasonable arguments
+       var argLen = fn_arguments.length;
+       if (argLen < 3) {
+               return false;
+       }
+
+       // Check to see if we only have one target
+       var strTarget = "";
+       var targetDoc = null;
+       if (fn_arguments[1] == '') {
+               if (BSSCPopup_IsPopup()) {
+                       targetDoc = parent;
+                       strTarget = "TARGET= _parent";
+               }
+               else
+                       targetDoc = window.document;
+       } else {
+               targetDoc = _GetFrameByName( parent, fn_arguments[1] );
+
+               strTarget = "TARGET='" + fn_arguments[1] + "'";
+       }
+
+       if ((!gbBsIE4 && !gbBsNS4 && !gbBsOpera7 && !gbBsKonqueror3 &&!gbBsSafari) || ((gbBsMac) && (gbBsIE4) && (window.event.srcElement.tagName == "AREA"))) {
+       
+               var argLen      = fn_arguments.length;
+
+               // Create the window that the hyperlinks will go into
+               var nHeight = argLen * 15;
+               var nWidth = 400;
+               var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";
+               strParam += ",height=" + nHeight + ",width=200";
+               strParam += ",resizable";
+
+               var wndTemp=null;
+               // Create a temporary window first to ensure the real popup comes up on top
+               if (!gbBsOpera)
+                       wndTemp = window.open("", "temp", strParam);
+
+               // Create the real popup window
+               var wndPopupLinks=null;
+               if (gbBsOpera&&gbBsMac)
+               {
+                       wndTemp = window.open(document.location.href, "temp", strParam);
+                       wndPopupLinks= window.open(document.location.href, "popuplinks", strParam);
+               }
+               else
+                       wndPopupLinks= window.open("", "popuplinks", strParam);
+               wndPopupLinks.document.open("text/html");
+
+               // Close the temporary
+               if (wndTemp)
+                       wndTemp.close();
+
+               var sHTML="<html><head></head>";
+               sHTML+="<body onBlur=\'self.focus();\'>";
+               var strParaLine = "";
+               for (var i = 0; i < (argLen - 2) / 2; i++) {
+                       strParaLine = "";
+                       strParaLine += "<a href=\"javascript:";
+                       if (gbBsIE) {
+                               strParaLine += "onBlur=null; ";
+                       }
+                       strParaLine += "opener.location=\'";
+                       strParaLine += fn_arguments[2 * i + 3];
+                       strParaLine += "\';close();\"";
+                       strParaLine += strTarget;
+
+                       strParaLine += ">";
+                       strParaLine += fn_arguments[2 * i + 2];
+                       strParaLine += "</a>";
+                       strParaLine += "<br>";
+                       sHTML+=strParaLine;
+               }
+               sHTML+="</body></html>";
+               wndPopupLinks.document.write(sHTML);
+               wndPopupLinks.document.close();
+               window.gbInPopupMenu = true;
+               if (!gbBsIE) {
+                       wndPopupLinks.focus();
+               }
+               return false;
+       }
+
+       if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) ||
+               ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) {
+               // Get the place that we will be putting the topic into
+               var strURL = "";
+               if (isNaN(fn_arguments[2]) ||  (gbPopupMenuTopicList == null)) {
+                       strURL = fn_arguments[3];
+               }
+               else    {
+                       strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL;
+               }
+
+               if (targetDoc != null) {
+                       targetDoc.location.href = strURL;
+               }
+               else {
+                       if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")
+                               window.open(strURL, fn_arguments[1]);
+                       else
+                               window.open(strURL);
+               }               
+               window.gbInPopupMenu = true;
+               return false;
+       }
+       
+       var strMenu = "";
+       if (gbBsNS4&&!gbBsNS6) {
+               strMenu = '<TABLE BORDER="1" CELLSPACING=0 CELLPADDING=3 BGCOLOR="#c0c0c0">';
+       } else {
+               strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';
+               if (gbBsMac) {
+                       strMenu += ' CELLPADDING=4';
+               } else {
+                       strMenu += ' CELLPADDING=2';
+               }       
+               strMenu += ' BGCOLOR=#c0c0c0>';
+       }
+       // Add each of the items
+       var i = 2;
+       while (i <= argLen - 1) {
+               strMenu += '<TR><TD><NOBR>'
+               // If the destination is a number then look it up in the topic list
+               if (isNaN(fn_arguments[i]) ||  (gbPopupMenuTopicList == null)) {
+                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '"' + strTarget;
+               } else {
+                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + gbPopupMenuTopicList[fn_arguments[i]].strURL + '"' + strTarget;
+               }
+               strMenu += ' onclick="PopupMenu_HandleClick(event);"';
+               strMenu += ' onmouseover="PopupMenu_Over(event);"';
+               strMenu += ' onmouseout="PopupMenu_Out(event);"';
+               strMenu += '>';
+               if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {
+                       strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';
+               } else {
+                       strMenu += '<SPAN CLASS="PopupNotOver">' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + '</SPAN>';
+               }
+               strMenu += '</A></DIV></NOBR></TD></TR>';
+
+               if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) {
+                       i += 2;
+               } else {
+                       i += 1;
+               }
+       }
+       strMenu += "</TABLE>";
+
+       if (gbBsMac) {
+       // totally hack. because ie5 in mac need something. </TABLE> is one of them. mac is mad.
+               strMenu +="<TABLE></TABLE>";
+       }
+
+       var layerPopup = null;
+       var stylePopup = null;
+       var nEventX = 0;
+       var nEventY = 0;
+       var nWindowWidth = 0;
+       if (gbBsIE4 || gbBsOpera7) {
+
+               layerPopup = getElement("PopupMenu");
+               layerPopup.innerHTML = strMenu;
+               stylePopup = layerPopup.style;
+
+               _BSPSGetClientSize();
+
+               // Get the position of the item causing the event (relative to its parent)
+               nEventX = window.event.clientX;
+               nEventY = window.event.clientY;
+
+               if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {
+                       nEventY += document.body.scrollTop + 10;
+               } else {
+                       nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;
+               }
+               stylePopup.top = nEventY;
+               
+               var nPopupWidth = layerPopup.scrollWidth;
+               if (gbBsMac) {
+                       nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup.
+               }
+               if (nEventX + nPopupWidth + 20 > gBsClientWidth) {
+                       if (gBsClientWidth - nPopupWidth < 5) {
+                               stylePopup.left = 5;
+                       } else {
+                               stylePopup.left = gBsClientWidth - nPopupWidth - 5;
+                       }
+               } else {
+                       stylePopup.left = nEventX + document.body.scrollLeft + 20;
+               }
+
+               stylePopup.visibility = "visible";
+               if (!gOlddocumentClick && document.onclick)
+                       gOlddocumentClick = document.onclick;
+               document.onclick = PopupMenu_HandleClick;
+
+       } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) {
+               layerPopup = getElement("PopupMenu");
+               layerPopup.style.visibility = "hidden";
+       
+               if (gbBsNS6)
+               {
+                       var e = fn_arguments[0];
+                       nEventX = e.pageX;
+                       nEventY = e.pageY;
+               }
+               else
+               {
+                       nEventX = window.event.clientX;
+                       nEventY = window.event.clientY;
+               }
+               _BSPSGetClientSize();
+               layerPopup.innerHTML = strMenu;
+
+               if (nEventY + layerPopup.offsetHeight + 20  <  window.pageYOffset + gBsClientHeight) {
+                       nEventY += 20;
+               } else {
+                       nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;
+               }
+
+               if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {
+                       if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {
+                               nEventX = 5;
+                       } else {
+                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;
+                       }
+               } else {
+                       nEventX += 20;
+               }
+               layerPopup.style.top = nEventY;
+               layerPopup.style.left = nEventX;
+               // set again to avoid the stupid frash in netscape 6.
+               layerPopup.innerHTML = strMenu;
+               layerPopup.style.visibility = "visible";
+               //window.captureEvents(Event.MOUSEDOWN);
+               if (!gOlddocumentClick && document.onclick)
+                       gOlddocumentClick = document.onclick;
+               window.onclick = PopupMenu_HandleClick;
+       }
+       else if (gbBsNS4) {
+               layerPopup = document.layers.PopupMenu;
+               layerPopup.visibility = "hide";
+               stylePopup = layerPopup.document;
+               stylePopup.write(strMenu);
+               stylePopup.close();
+               var e = fn_arguments[0];
+               nEventX = e.pageX;
+               nEventY = e.pageY;
+               _BSPSGetClientSize();
+               if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) {
+                       nEventY += 20;
+               } else {
+                       nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20;
+               }
+               layerPopup.top = nEventY;
+
+               if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) {
+                       if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) {
+                               nEventX = 5;
+                       } else {
+                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20;
+                       }
+               } else {
+                       nEventX += 20;
+               }
+
+               layerPopup.left = nEventX;
+
+               layerPopup.visibility = "show";
+
+               window.captureEvents(Event.MOUSEDOWN);
+               if (!gOlddocumentClick && document.onmousedown)
+                       gOlddocumentClick = document.onmousedown;
+               window.onmousedown = PopupMenu_HandleClick;
+       }
+
+       window.gbInPopupMenu = true;
+       window.gbPopupMenuTimeoutExpired = false;
+       setTimeout("PopupMenu_Timeout();", 100);
+       return false;
+}
+
+function PopupMenu_Timeout()
+{
+       window.gbPopupMenuTimeoutExpired = true;
+}
+
+function PopupMenu_Over(e)
+{
+    if (gbBsIE4||gbBsOpera7)
+               e.srcElement.className = "PopupOver";
+    else if (gbBsNS6)
+               e.target.parentNode.className = "PopupOver";
+       return;
+}
+
+function PopupMenu_Out(e)
+{
+    if (gbBsIE4||gbBsOpera7)
+               e.srcElement.className = "PopupNotOver";
+    else if (gbBsNS6)
+               e.target.parentNode.className = "PopupNotOver";
+       return;
+}
+
+function PopupMenu_HandleClick(e)
+{
+       if (window.gbPopupMenuTimeoutExpired) {
+               window.gbInPopupMenu = false;
+               if (gbBsNS4 && !gbBsNS6) {
+                       window.releaseEvents(Event.MOUSEDOWN);
+               }
+
+               var layerPopup = null;
+               if (gbBsNS4&&!gbBsNS6) {
+                       layerPopup = document.layers.PopupMenu;
+                       layerPopup.visibility = "hide";
+               } else {
+                       layerPopup = getElement("PopupMenu");
+                       layerPopup.style.visibility = "hidden";
+               }
+       
+               if (gOlddocumentClick)
+               {
+                       if (gbBsNS4 && !gbBsNS6)
+                               document.onmousedown = gOlddocumentClick;
+                       else
+                               document.onclick = gOlddocumentClick;
+               }
+       }
+       return;
+}
+
+function BSSCPopup_ClickMac()
+{
+       if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7))
+       {       
+               var bClickOnAnchor = false;
+               var el;
+               if ((window.event != null) &&
+                   (window.event.srcElement != null))
+               {
+                   el = window.event.srcElement;
+                       while (el != null)
+                       {
+                               if ((el.tagName == "A") || (el.tagName == "AREA"))      {
+                                       bClickOnAnchor = true;
+                                       break;
+                               }
+                               if (el.tagName == "BODY") {
+                                       break;
+                               }
+                               el = getParentNode(el);
+                       }
+               }
+               if (BSSCPopup_IsPopup())
+               {
+                       if (!bClickOnAnchor) {
+                               parent.window.gPopupWindow = null;
+                               self.close();
+                       }
+               }
+               else
+               {
+                       bClosePopupWindow = true;
+                       if ((bClickOnAnchor) &&
+                               (el.href) &&
+                           ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1)))
+                       {
+                               bClosePopupWindow = false;
+                       }
+                       if (bClosePopupWindow)
+                       {
+                               if (window.gPopupWindow != null && !window.gPopupWindow.closed )
+                               {
+                                       window.gPopupWindow.close();
+                               }
+                       }
+               }
+       }
+}
+
+function BsPopupOnClick()
+{
+       if (!gbBsIE4 && !gbBsOpera7)
+               return;
+
+       BSSCPopup_ClickMac();
+}
+
+function _BSSCOnError(message)
+{
+       if(-1 != message.indexOf("denied") 
+               || -1 != message.indexOf("Object required"))
+        return true;
+}
+
+//End to support previous relative topics
+
+/// Section End - General and relative topics (JavaScript 1.0)
+
+/// Section Begin  - Popup (JavaScript 1.0)
+//Begin to support previous popup functions
+
+//variables used to isolate the browser type
+var gBsStyVisShow      = null;
+var gBsStyVisHide      = null;
+var gBsClientWidth     = 640;
+var gBsClientHeight = 480;
+
+// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others.
+var gBRateH_W          = 0.618; // 1.618 Golden cut.
+var gBMaxXOfParent     = 0.8; 
+var gBMaxYOfParent     = 0.8;
+var gBscrollHeight   = 16;
+var gBscrollWidth   =  16;
+var gBpermitXDelta     = 3;
+var gBpermitYDelta     = 3;
+
+
+var arrayPopupURL = new Array();
+var arrayAbsPopupURL = new Array();
+
+var arrayDirty = new Array();
+
+function setAbsPopupURL(nIndex, strURL)
+{
+       arrayAbsPopupURL[nIndex] = strURL;
+}
+
+function getAbsPopupURL(nIndex)
+{
+       if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null;
+       else 
+               return arrayAbsPopupURL[nIndex];
+}
+
+function getPopupURL(nIndex)
+{
+       if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null;
+       else 
+               return arrayPopupURL[nIndex];
+}
+
+function getPopupID(nIndex)
+{
+       return gstrPopupID + nIndex;
+}
+
+function getPopupShadowID(nIndex)
+{
+       return gstrPopupShadowID + nIndex;
+}
+
+function getPopupTopicID(nIndex)
+{
+       return gstrPopupTopicID + nIndex;
+}
+
+function getPopupIFrameID(nIndex)
+{
+       return gstrPopupIFrameID + nIndex;
+}
+
+function getPopupIFrameName(nIndex)
+{
+       return gstrPopupIFrameName + nIndex;
+}
+
+
+function getPopupTopicStyle(nIndex)
+{
+       return getElement(getPopupTopicID(nIndex)).style;
+}
+
+function getPopupShadowStyle(nIndex)
+{
+       return getElement(getPopupShadowID(nIndex)).style;
+}
+
+function getPopupIFrame(nIndex)
+{
+       if (gbBsNS6)
+               return eval("window.frames['" + getPopupIFrameName(nIndex) + "']");
+       else
+               return eval("document.frames['" + getPopupIFrameName(nIndex) + "']");
+}
+
+function getPopupDivStyle(nIndex)
+{
+       return getElement(getPopupID(nIndex)).style;
+}
+
+function getPopupIFrameStyle(nIndex)
+{
+       return getElement(getPopupIFrameID(nIndex)).style;
+}
+
+
+function findDiv(strURL)
+{
+       for (var i = 0; i < arrayPopupURL.length; i ++ ) {
+               if (arrayPopupURL[i] == strURL) {
+                       return i;
+               }
+       }
+       return -1;
+}
+
+var gnToken = -1;
+function takeToken()
+{
+       gnToken ++;
+       if (gnToken > 10000) gnToken = 0;
+       return gnToken;
+}
+
+function IsValidToken(nToken)
+{
+       return (gnToken == nToken);
+}
+
+function addDiv(strURL)
+{
+       for (var i = 0; i < arrayPopupURL.length; i ++) {
+               if (arrayPopupURL[i] == null) {
+                       arrayPopupURL[i] = strURL;
+                       return i;
+               }
+       }       
+       arrayPopupURL[i] = strURL;
+       arrayDirty[i] = true;
+       return i;
+}
+
+function setDirty()
+{
+       for (var i = 0; i < arrayPopupURL.length; i ++ )
+               arrayDirty[i] = true;
+}
+
+function IsDirty(nIndex)
+{
+       if (nIndex == -1)
+               return true;
+       else 
+               if (arrayDirty.length > nIndex) 
+                       return arrayDirty[nIndex];
+               else
+                       return true;
+}
+
+function hideAll()
+{
+       for (var i = 0; i < arrayPopupURL.length; i ++ )
+       {
+               getPopupDivStyle(i).visibility = gBsStyVisHide;
+               getPopupIFrameStyle(i).visibility = gBsStyVisHide;
+       }
+}
+
+function getCurrentPopupIFrame()
+{
+       for (var i = 0; i < arrayPopupURL.length; i ++)
+               if (getPopupDivStyle(i).visibility == gBsStyVisShow)
+                       return getPopupIFrame(i);
+       return null;
+}
+
+function setClear(nIndex)
+{
+       if (nIndex != -1)
+               arrayDirty[nIndex] = false;
+}
+
+function _BSSCCreatePopupDiv(strURL)
+{
+       var nIndex = findDiv(strURL);
+       if (nIndex == -1 ) {
+               nIndex = addDiv(strURL);
+               BsPopup_CreateDiv(nIndex);
+       }
+       else {
+               if (IsDirty(nIndex)) {
+                       if("object" == typeof(getPopupIFrame(nIndex).document))
+                               getPopupIFrame(nIndex).document.location.href = strURL;
+               }
+       }
+       return nIndex;
+}
+
+//Here is the browser type 
+function _BSPSGetBrowserInfo()
+{
+       if (gbBsNS4&&!gbBsNS6)
+       {
+               gBsStyVisShow   = "show";
+               gBsStyVisHide   = "hide";
+       }
+       else
+       {
+               gBsStyVisShow   = "visible";
+               gBsStyVisHide   = "hidden";
+       }
+}
+
+_BSPSGetBrowserInfo();
+
+//Get client size info
+function _BSPSGetClientSize()
+{
+       if (gbBsNS4||gbBsKonqueror3||gbBsSafari)
+       {
+               gBsClientWidth  = innerWidth;
+               gBsClientHeight = innerHeight;
+       }
+       else if (gbBsIE4 || gbBsOpera7)
+       {
+               gBsClientWidth  = document.body.clientWidth;
+               gBsClientHeight = document.body.clientHeight;
+       }
+}
+
+var gstrPopupID = 'BSSCPopup';
+var gstrPopupShadowID = 'BSSCPopupShadow';
+var gstrPopupTopicID = 'BSSCPopupTopic';
+var gstrPopupIFrameID = 'BSSCPopupIFrame';
+var gstrPopupIFrameName = 'BSSCPopupIFrameName';
+
+var gstrPopupSecondWindowName = 'BSSCPopup';
+
+var gPopupWindow = null;
+var gnPopupClickX = 0;
+var gnPopupClickY = 0;
+
+var gnPopupScreenClickX = 0;
+var gnPopupScreenClickY = 0;
+
+var gbPopupTimeoutExpired = false;
+
+function DHTMLPopupSupport()
+{
+       if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) {
+               return true;
+       }
+       return false;
+}
+
+function BSSCPopup_IsPopup()
+{
+       if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) {
+               return true;
+       } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) {
+               return true;
+       } else {
+               return false;
+       }
+}
+
+// If there is a hyperlink in a popup window, display the hyperlink in
+// the original window. (bsscright)
+if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) {
+       document.write("<base target=\"bsscright\">");
+}
+
+// Local functions.
+function BsPopup_CreateDiv(nIndex)
+{
+       if(!DHTMLPopupSupport())
+               return;
+       // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone.
+       var strPopupDiv = "<DIV ID='" + getPopupID(nIndex) + "' STYLE='position:absolute; top:-100; left:0; z-index:600; visibility:hidden;'>";
+       strPopupDiv += "<DIV ID='" + getPopupShadowID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0;  background-color:#C0C0C0;\"></DIV>";
+       strPopupDiv += "<DIV ID='" + getPopupTopicID(nIndex) + "' STYLE=\"position:absolute;top:0; left:0;  background-color:#FFFFFF;border:1px #000000 outset;\">";
+       strPopupDiv += "<IFRAME title=\"Popup Window\" ID='" + getPopupIFrameID(nIndex) + "' name='" + getPopupIFrameName(nIndex) + "' src = '" + getPopupURL(nIndex) + "' frameborder=0 scrolling=auto></IFRAME>";
+       strPopupDiv += "</DIV></DIV>";
+
+       var objBody = getElementsByTag(document, "BODY")[0];
+       if( typeof(objBody) != "object" )
+               return;
+
+       insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv);
+}
+
+function handleLoadNS()
+{
+       if (this.id)
+       {
+               var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length));
+               BSSCPopup_PostWork(nIndex);
+       }
+}
+
+function BSSCPopup_PostWork(nIndex)
+{
+       getPopupDivStyle(nIndex).visibility = gBsStyVisShow;
+       getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow;
+
+       setClear(nIndex);
+       window.gbPopupTimeoutExpired = true;
+
+       BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document);
+       if (gbBsNS6)
+               getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false);
+       else
+               getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked;
+
+       if (!gbOrignalOnMouseDown && document.onmousedown)
+               gbOrignalOnMouseDown = document.onmousedown;
+
+       if (gbBsNS6)
+               document.addEventListener("mousedown", BSSCPopupParentClicked,false);
+       else
+               document.onmousedown = BSSCPopupParentClicked;
+}
+
+function BSSCPopup_Timeout(nIndex, nToken)
+{
+    if (!IsValidToken(nToken)) return;
+
+       if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") &&
+               (getPopupIFrame(nIndex).document.body != null))) {
+               BSSCPopup_PostWork(nIndex);
+       } else {
+               setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100);
+       }
+}
+
+// VH 08/10/00 
+// do not change target to parent if the href is using javascript
+function BSSCPopup_ChangeTargettoParent(tagsObject)
+{
+       var collA = getElementsByTag(tagsObject, "A");
+       BSSCPopup_ChangeTargettoParent2(collA);
+
+       var collIMG = getElementsByTag(tagsObject,"IMG");
+       BSSCPopup_ChangeTargettoParent2(collIMG);
+}
+
+function BSSCPopup_ChangeTargettoParent2(colls)
+{
+       if (colls != null)  {
+               for (var j = 0; j < colls.length; j ++ )
+               {
+                       var strtemp = colls[j].href;
+                       if (strtemp)
+                       {
+                               strtemp = strtemp.toLowerCase();
+                               if (strtemp.indexOf("javascript:") == -1)
+                               if (colls[j].target == "")
+                                       colls[j].target = "_parent";
+                       }
+               }
+       }
+}
+
+function BSPSPopupTopicWinHelp(strURL)
+{
+       _BSSCPopup(strURL);
+       return;
+}
+
+function _BSSCPopup(strURL, width, height)
+{
+       var cuswidth = 0;
+       var cusheight = 0;
+       if ("undefined" != typeof(width) && "undefined" != typeof(height)) {
+               cuswidth = width;
+               cusheight= height;
+       }
+       
+       if (DHTMLPopupSupport()) {
+               var nToken = takeToken(); // take  token first.
+               var nIndex = _BSSCCreatePopupDiv(strURL);
+               window.gbPopupTimeoutExpired = false;
+               var ntWidth = gBsClientWidth;
+               var ntHeight = gBsClientHeight;
+               _BSPSGetClientSize();
+               if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) {
+                       setDirty();
+               }
+
+               if (IsDirty(nIndex)) {
+                       if (gbBsMac) {
+                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight  +")", 400);
+                       } else {
+                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100);
+                       }
+               }
+               else {
+                       MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight);
+               }
+       } else {
+               _BSSCPopup2(strURL, cuswidth, cusheight);
+       }
+       return;
+}
+
+if (gbBsIE55)
+{
+       var ehlpdhtm_fOldBefureUnload = window.onbeforeunload;
+       var gnBsUnload=0;
+       window.onbeforeunload = window_BUnload;
+}
+       
+function window_BUnload()
+{
+       gnBsUnload++;
+       if (gnBsUnload>1)
+               return;
+       for (var i = 0; i < arrayPopupURL.length; i ++)
+               removeThis(document.all(getPopupID(i)));
+       arrayPopupURL.length = 0;       
+       if (ehlpdhtm_fOldBefureUnload)
+               ehlpdhtm_fOldBefureUnload();
+}
+
+function _BSSCPopup2(strURL, width, height)
+{
+       if (gbBsOpera6&&gbBsMac)
+       {
+               var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName);
+               wmTemp.close();
+               setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100);
+       }
+       else
+               _BSSCPopup3(strURL, width, height);
+}
+               
+function _BSSCPopup3(strURL, width, height)
+{
+       if (window.name == gstrPopupSecondWindowName) {
+               window.location = strURL;
+       } else {
+               if (!gbBsMac || !gbBsNS4) {
+                       BSSCHidePopupWindow();
+               }
+               var nX = 0;
+               var nY = 0;
+               var nHeight = 300;
+               var nWidth = 400;
+               if (width > 0 && height > 0) {
+                       nHeight = height;
+                       nWidth = width;
+               }
+               _BSPSGetClientSize();
+
+               nX = window.gnPopupScreenClickX;
+               nY = window.gnPopupScreenClickY;
+
+               if (nY + nHeight + 40 > screen.availHeight) {
+                       nY = screen.availHeight - nHeight - 40;
+               }
+               if (nX + nWidth + 40 > screen.availWidth) {
+                       nX = screen.availWidth - nWidth - 40;
+               }
+
+               // Launch a separate window
+               var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes";
+               if (gbBsNS) {
+                       if (gbBsNS6) {
+                               strParam += ",Height=" + nHeight + ",Width=" + nWidth;
+                               strParam += ",screenX=" + nX + ",screenY=" + nY;
+                               strParam += ",dependent=yes";
+                       }
+                       else {
+                               strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth;
+                               strParam += ",screenX=" + nX + ",screenY=" + nY;
+                               strParam += ",dependent=yes";
+                       }
+               }
+               else {
+                       strParam += ",height=" + nHeight + ",width=" + nWidth;
+                       strParam += ",left=" + nX + ",top=" + nY;
+               }
+               if (gbBsSafari)
+               {
+                       if (window.gPopupWindow)
+                               window.gPopupWindow.close();            
+                       window.gPopupWindow = window.open(strURL, "", strParam);
+                       window.gPopupWindow.name = gstrPopupSecondWindowName;
+                       window.gPopupWindow.moveTo(nX, nY);
+                       widnow.gPopupWindow.document.location.reload();
+               }       
+               else
+               {
+                       var wmTemp=null;
+                       if (gbBsKonqueror3)
+                       {
+                               if (window.gPopupWindow)
+                                       window.gPopupWindow.close();
+                       }
+                       if (gbBsOpera&&gbBsMac)
+                       {
+                               wmTemp= window.open(document.location.href, "Temp", strParam);
+                       }
+                       window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);
+                       if (!gbBsIE)
+                               window.gPopupWindow.focus();
+                               
+                       if (wmTemp)
+                               wmTemp.close();
+               }
+
+               if (gbBsNS4)
+                       setEventHandle();
+               else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3)
+                       setTimeout("setPopupFocus();", 100);
+       }
+       return;
+}
+
+function setEventHandle()
+{
+       window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR);
+       window.gPopupWindow.onclick = NonIEPopup_HandleClick;
+       window.gPopupWindow.onblur = NonIEPopup_HandleBlur;
+}
+
+function setPopupFocus()
+{
+       window.gPopupWindow.focus();
+}
+
+function NonIEPopup_HandleBlur(e)
+{
+       window.gPopupWindow.focus();
+}
+
+function NonIEPopup_HandleClick(e)
+{
+       // Because navigator will give the event to the handler before the hyperlink, let's
+       // first route the event to see if we are clicking on a Popup menu in a popup.
+       document.routeEvent(e);
+
+       // If a popup menu is active then don't do anything with the click
+       if (window.gPopupWindow.gbInPopupMenu) {
+               window.gPopupWindow.captureEvents(Event.CLICK);
+               window.gPopupWindow.onclick = NonIEPopup_HandleClick;
+               return false;
+       }
+
+       // Close the popup window
+       if(e.target.href)
+       {
+               if(e.target.href.indexOf("javascript:")==-1) 
+               {
+                       if (e.target.target=="")
+                               window.location.href = e.target.href;
+                       else
+                               window.open(e.target.href, e.target.target);
+                       this.close();
+               }
+       } 
+       else
+               this.close();
+       return false;
+}
+
+function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight)
+{      
+       if (!window.getPopupIFrame(nIndex).document) {
+               _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight);
+               return;
+       }
+       
+    if (!IsValidToken(nToken)) return;
+
+       if (gbBsNS6)
+       {
+               setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.
+               BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);
+               return;
+       }
+       
+       if ((window.getPopupIFrame(nIndex).document.readyState == "complete") &&
+               (window.getPopupIFrame(nIndex).document.body != null)) {
+                       if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe.
+                               window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);
+                               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);
+                       }
+                       else
+                               {
+                                       setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url.
+                                       BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight);
+                               }
+       } else {
+               setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);
+       }
+}
+
+function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight)
+{
+       if (window.gbPopupTimeoutExpired) return;
+
+    if (!IsValidToken(nToken)) return;
+
+       getPopupDivStyle(nIndex).visibility = gBsStyVisHide;
+       getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide;
+
+       // Determine the width and height for the window
+       _BSPSGetClientSize();
+
+       var size = new BSSCSize(0, 0);
+
+       if (cuswidth <= 0 || cusheight <= 0)
+               BSSCGetContentSize(window.getPopupIFrame(nIndex), size);
+       else {
+               size.x = cuswidth;
+               size.y = cusheight;
+       }
+
+       // Determine the width and height for the window
+       var nWidth = size.x;
+       var nHeight = size.y;
+
+       // for small popup size, we should allow any size.
+       // The popup size should be ok if bigger than 0
+       if (nWidth < 0 || nHeight < 0) return;  // there must be something terribly wrong.              
+
+       getPopupDivStyle(nIndex).width = nWidth;
+       getPopupDivStyle(nIndex).height = nHeight;
+
+       getPopupShadowStyle(nIndex).width = nWidth;
+       getPopupShadowStyle(nIndex).height = nHeight;
+       getPopupTopicStyle(nIndex).width = nWidth;
+       getPopupTopicStyle(nIndex).height = nHeight;
+       if (gbBsIE55)
+       {
+               getPopupShadowStyle(nIndex).width = nWidth + 2;
+               getPopupShadowStyle(nIndex).height = nHeight + 2;
+               getPopupTopicStyle(nIndex).width = nWidth + 2;
+               getPopupTopicStyle(nIndex).height = nHeight + 2;
+       }
+
+       getPopupIFrameStyle(nIndex).width = nWidth;
+       getPopupIFrameStyle(nIndex).height = nHeight;
+       if (gbBsIE55 || gbBsNS6)
+       {
+               getPopupIFrameStyle(nIndex).top = 0;
+               getPopupIFrameStyle(nIndex).left = 0;
+       }
+       
+       var strURL = getPopupURL(nIndex);
+       if (strURL.indexOf("#") != -1&&gbBsNS6)
+               getPopupIFrame(nIndex).location.reload();
+       else if (strURL.indexOf("#") != -1||gbBsNS6)
+               getPopupIFrame(nIndex).location.href = strURL;  // reload again, this will fix the bookmark misunderstand in IE5.
+               
+       MoveDivAndShow(nIndex, nToken, cuswidth, cusheight);
+}
+
+function getScrollLeft()
+{
+       if (document.body.scrollLeft)
+               return document.body.scrollLeft;
+       else if (window.pageXOffset)
+               return window.pageXOffset;
+       else
+               return 0;
+}
+
+function getScrollTop()
+{
+       if (document.body.scrollTop)
+               return document.body.scrollTop;
+       else if (window.pageYOffset)
+               return window.pageYOffset;
+       else
+               return 0;
+}
+
+
+function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight)
+{
+       if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again.
+                       window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex);
+                       setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200);
+                       return;
+       }
+
+       // Determine the position of the window
+       var nClickX = window.gnPopupClickX;
+       var nClickY = window.gnPopupClickY;
+       var nTop = 0;
+       var nLeft = 0;
+
+       var nWidth = parseInt(getPopupDivStyle(nIndex).width);
+       var nHeight = parseInt(getPopupDivStyle(nIndex).height);
+
+       if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) {
+               nTop = nClickY + 10;
+       } else {
+               nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20;
+       }
+       if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) {
+               nLeft = nClickX;
+       } else {
+               nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8;
+       }
+
+       if (nTop < getScrollTop()) nTop  = getScrollTop() + 1;
+       if (nLeft< getScrollLeft())  nLeft = getScrollLeft() + 1;
+
+       getPopupDivStyle(nIndex).left = nLeft;
+       getPopupDivStyle(nIndex).top = nTop;
+
+       // Set the location of the background blocks
+       getPopupShadowStyle(nIndex).left = 6;
+       getPopupShadowStyle(nIndex).top = 6;
+       if (gbBsIE55)
+       {
+               getPopupShadowStyle(nIndex).left = 4;
+               getPopupShadowStyle(nIndex).top = 4;
+       }
+
+       if (gbBsMac&&gbBsIE4) {
+               // Total hack on the iMac to get the IFrame to position properly
+               getPopupIFrameStyle(nIndex).pixelLeft = 100;
+               getPopupIFrameStyle(nIndex).pixelLeft = 0;
+               // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it
+               getPopupIFrame(nIndex).window.BSSCOnLoad();
+       }
+
+       if (gbBsNS6&&IsDirty(nIndex))
+               getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false);
+       else
+               BSSCPopup_Timeout(nIndex , nToken );
+       return;
+}
+
+function       BSSCSize(x, y)
+{
+       this.x = x;
+       this.y = y;
+}
+
+function BSSCGetContentSize(thisWindow, size)
+{
+       if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4)
+               return;
+
+       if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) {
+               size.x = 320;
+               size.y = 180;
+               return;
+       }
+
+       // Resize the width until it is wide enough to handle the content
+       // The trick is to start wide and determine when the scrollHeight changes
+       // because then we know a scrollbar is necessary. We can then go back
+       // to the next widest size (for no scrollbar)
+
+       var ClientRate = gBsClientHeight / gBsClientWidth;
+
+       
+       var GoldenSize = new BSSCSize(0,0);
+       GoldenSize.x = gBsClientWidth * gBMaxXOfParent;
+       GoldenSize.y = gBsClientHeight *gBMaxYOfParent ;
+
+       if (ClientRate > gBRateH_W) {
+               GoldenSize.y = GoldenSize.x * gBRateH_W;
+       }
+       else {
+               GoldenSize.x = GoldenSize.y / gBRateH_W;
+       }
+
+       // Try to using parent specified max x.
+       var x = 0;
+       var maxgoldx = GoldenSize.x;
+       var maxx = gBsClientWidth * gBMaxXOfParent;
+       
+       // This double resize causes the document to re-render (and we need it to)
+       if (!gbBsIE5)
+               thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4.
+               
+       thisWindow.resizeTo(1, 1);
+       thisWindow.resizeTo(1, 1);
+       thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);
+       thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight);
+               
+       var miny = thisWindow.document.body.scrollHeight + gBscrollHeight;
+       
+       if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can
+       {
+               thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);
+               thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight);
+               
+               miny =  thisWindow.document.body.scrollHeight + gBscrollHeight;
+               maxy = gBsClientHeight * gBMaxYOfParent;
+               
+               if (miny > maxy) { // the popup must have a scroll, OK let it be.
+                       miny = maxy;
+                       size.x = maxx;
+                       size.y = maxy;
+                       thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little.
+               }
+               else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent.
+                       size.y = miny;
+                       
+                       //  downsize from maxx , now I try to using binary divide.
+                       x = maxx;
+                       deltax = -maxx/2;
+                       //j = 0;
+                       while (true) {
+                               x = x + deltax;
+                               thisWindow.resizeTo(x, miny);
+                               thisWindow.resizeTo(x, miny);
+                               diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate;
+                               if (diffy >  gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter
+                                       deltax = Math.abs(deltax) /2;
+                               else if (diffy <  -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter
+                                       deltax = -Math.abs(deltax) /2;
+                               else 
+                                       // the y is close enough to wanted.
+                                       break;
+                               if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.
+                                       break;
+                       }
+                       size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;
+                       size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight;     
+                       thisWindow.document.body.scroll = 'no';
+               }
+       }
+       else {
+               if (thisWindow.document.body.scrollWidth > maxgoldx) {
+                       size.x = maxx; 
+                       size.y = miny;  
+                       thisWindow.document.body.scroll = 'yes';
+               }
+               else {
+                       //  downsize from maxgoldx , now I try to using binary divide.
+                       x = maxgoldx;
+                       deltax = -maxgoldx/2;
+                       while (true) {
+                               x = x + deltax;
+                               thisWindow.resizeTo(x, miny);
+                               thisWindow.resizeTo(x, miny);
+                               diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W;
+                               if (diffy >  gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter
+                                       deltax = Math.abs(deltax) /2;
+                               else if (diffy <  -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter
+                                       deltax = -Math.abs(deltax) /2;
+                               else 
+                                       // the y is close enough to wanted.
+                                       break;
+                               if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore.
+                                       break;
+                       }
+                       size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth;
+                       size.y = thisWindow.document.body.scrollHeight ;
+                       thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little.
+                       thisWindow.resizeTo(size.x, size.y);
+                       if (thisWindow.document.body.scrollWidth > size.x)
+                       {
+                               size.x = thisWindow.document.body.scrollWidth;
+                       }
+                       if (thisWindow.document.body.scrollHeight > size.y)
+                       {
+                               size.y = thisWindow.document.body.scrollHeight;
+                       }
+               }
+       }
+       thisWindow.resizeTo(size.x, size.y);
+       thisWindow.resizeTo(size.x, size.y);
+       return;
+}
+
+function BSSCPopupParentClicked()
+{
+       if (!window.gbPopupTimeoutExpired) {
+               return false;
+       }
+       
+       document.onmousedown = gbOrignalOnMouseDown;
+
+       // Simply hide the popup
+       hideAll();
+
+       window.gbPopupTimeoutExpired = false;
+
+       return true;
+}
+
+function isInsideHyperLink(obj)
+{
+       if (obj&&obj!=getParentNode(obj))
+       {
+               if (obj.tagName=="A"||obj.tagName=="IMG")
+                       return true;
+               else
+                       return isInsideHyperLink(getParentNode(obj));
+       }
+       else
+               return false;
+}
+
+function BSSCPopupClicked(e)
+{
+       if (!window.gbPopupTimeoutExpired) {
+               return false;
+       }
+
+       var popupIFrame = getCurrentPopupIFrame();
+       if (popupIFrame == null) {
+               return true;
+       }
+
+       if (gbBsIE4 && (!((popupIFrame.window.event != null) &&
+               (popupIFrame.window.event.srcElement != null) &&
+               isInsideHyperLink(popupIFrame.window.event.srcElement)))) {
+               document.onmousedown = gbOrignalOnMouseDown;
+               
+               // Simply hide the popup
+               hideAll();
+               window.gbPopupTimeoutExpired = false;
+               return true;
+       }
+       else if (gbBsNS6 && (!((e != null) &&
+                       (e.target!= null) && isInsideHyperLink(e.target))))
+       {
+               document.addEventListener("mousedown", gbOrignalOnMouseDown,false);
+               // Simply hide the popup
+               hideAll();
+               window.gbPopupTimeoutExpired = false;
+               return true;            
+       }
+}
+
+//trace the mouse over's position for hotspot
+function  BSPSPopupOnMouseOver(event)
+{
+       if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) {
+               window.gnPopupClickX = event.clientX + getScrollLeft();
+               window.gnPopupClickY = event.clientY + getScrollTop();
+               window.gnPopupScreenClickX = event.screenX;
+               window.gnPopupScreenClickY = event.screenY;
+       } else if (gbBsSafari) {
+               window.gnPopupClickX = event.clientX + getScrollLeft();
+               window.gnPopupClickY = event.clientY + getScrollTop();
+               window.gnPopupScreenClickX = event.screenX + window.screenX;
+               window.gnPopupScreenClickY = event.screenY + window.screenY;
+       } else if (gbBsNS4) {
+               window.gnPopupClickX = event.pageX - window.pageXOffset;
+               window.gnPopupClickY = event.pageY - window.pageYOffset;
+               window.gnPopupScreenClickX = event.screenX - window.pageXOffset;
+               window.gnPopupScreenClickY = event.screenY - window.pageYOffset;
+       }
+}
+
+function BSSCHidePopupWindow()
+{
+       if (window.gPopupWindow != null) {
+               if (gbBsNS4) {
+                       if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) {
+                               window.gPopupWindow.close();
+                               window.gPopupWindow = null;
+                       }
+               }
+       }
+       return;
+}
+
+// Add the PopupOnClick to the onclick array.
+if (typeof(BsscRegisterOnClick) != "undefined")
+{
+       BsscRegisterOnClick(BsPopupOnClick);
+}
+//End to support previous popup functions
+
+/// Section End  - Popup (JavaScript 1.0)
+
+/// Section Begin - Embedded Stub (JavaScript 1.0)
+
+function BSSCCreatePopupDiv()
+{
+       return;
+}
+
+function WritePopupMenuLayer()
+{
+       if (BsscHasExtJs()) {_WritePopupMenuLayer();}
+}
+
+function BSSCPopup(strURL, width, height)
+{
+       var re = new RegExp("'", 'g');
+       strURL = strURL.replace(re, "%27");
+
+       if (BsscHasExtJs())     { 
+               _BSSCPopup(strURL, width, height);
+       }else{
+               //Create a temporary window first to ensure the real popup comes up on top
+               var wndTemp = null;
+               if (!gbBsNS3) {
+                       wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");
+               }
+               // Create the real popup window
+               var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400");
+               // Close the temporary
+               if (!gbBsNS3) {
+                       wndTemp.close();
+               } else {
+                       wndPopup.focus();
+               }
+       }
+}
+
+var gbWndTemp = null, gbWndPopupLinks = null;
+var gbstrParaTotal = "";
+
+function PopupMenu_Invoke()
+{
+       if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function')
+       {
+               if (Number(gsSkinVersion) > 2 && IsFlashSupported())
+               {
+                       return wfRelatedTopic(PopupMenu_Invoke.arguments);
+               }
+       }
+       if (BsscHasExtJs()) {
+               return _PopupMenu_Invoke(PopupMenu_Invoke.arguments);
+       }
+       if (gbBsNS3Before || gbBsIE3Before )    {
+               var argLen      = PopupMenu_Invoke.arguments.length;
+               if (argLen < 5) {
+                       window.document.location.href = PopupMenu_Invoke.arguments[3];
+                       return false;
+               }
+               gbWndTemp = null;
+               gbWndPopupLinks = null;
+               gbstrParaTotal = "";
+               for (var i = 0; i < (argLen - 2) / 2; i++) {
+                       var strParaLine = "";
+                       if (gbBsNS2){
+                               strParaLine += "<a href=\"";
+                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];
+                               strParaLine += "\">"
+                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];
+                               strParaLine += "</a>";
+                       } else {
+                               strParaLine += "<a href=\"javascript:";
+                               strParaLine += "gotoUrl(\'";
+                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 3];
+                               strParaLine += "\');\"";
+                               if (PopupMenu_Invoke.arguments[1] != '') {
+                                       strParaLine += " TARGET='" + PopupMenu_Invoke.arguments[1] + "'";
+                               }
+                               strParaLine += ">";
+                               strParaLine += PopupMenu_Invoke.arguments[2 * i + 2];
+                               strParaLine += "</a>";
+                       }
+                       strParaLine += "<br>";
+                       gbstrParaTotal += strParaLine;
+               }
+               var nHeight = argLen * 15;
+               var nWidth = 400;
+               var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=auto";
+               strParam += ",height=" + nHeight + ",width=200,resizable";
+               
+               //Create a temporary window first to ensure the real popup comes up on top
+               //var wndTemp = null;
+               if (!gbBsNS3) {
+                       gbWndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4");
+               } 
+               gbWndPopupLinks = window.open("", "popuplinks", strParam);
+
+               setTimeout("Wait_PopupMenuReady()", 100);
+       }
+       return true;
+}
+
+function Wait_PopupMenuReady() 
+{
+       if (gbWndPopupLinks != null && "object" == typeof(gbWndPopupLinks.document)) {
+               PopupMenu_InvokeReady();
+       }
+       else 
+               setTimeout("Wait_PopupMenuReady()", 100);
+}
+
+function PopupMenu_InvokeReady()
+{
+       if (gbWndPopupLinks != null) {
+               gbWndPopupLinks.document.open("text/html");
+               gbWndPopupLinks.document.write("<html><head>");
+               if (gbBsNS2) {
+                       gbWndPopupLinks.document.write("<base href=\"" + location +"\">");
+               } else {
+                       //YJ: IE301,302 and NS3.x works fine
+                       gbWndPopupLinks.document.write("<");
+                       gbWndPopupLinks.document.write("script>");
+                       gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}");
+                       gbWndPopupLinks.document.write("<");
+                       gbWndPopupLinks.document.write("/script>");
+               }
+               gbWndPopupLinks.document.write("</head><body onBlur=\'self.focus();\'>");
+               gbWndPopupLinks.document.write(gbstrParaTotal);
+               gbWndPopupLinks.document.write("</body></html>");
+               gbWndPopupLinks.document.close();
+
+               // Close the temporary
+               if (!gbBsNS3 && gbWndTemp != null) {
+                       gbWndTemp.close();
+               }else {
+                       gbWndPopupLinks.focus();
+               }
+
+               return true;
+       }
+       return false;
+}
+
+/// Section End - Embedded Stub (JavaScript 1.0)
+
+//// Segment End -- (JavaScript 1.0)
+
+//// Segment Begin -- (JavaScript 1.2)
+/// Section Begin  - kadov DHTM (JavaScript 1.2)
+
+//Begin to support extended and dropdown text effects.
+function kadovIsParagraph(el)
+{
+       return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false;
+}
+
+function kadovInitEachChild(el)
+{      
+       for(var i=0; i<getChildNodes(el).length; i++)
+       {
+               var child = getChildNodes(el)[i];
+               if( child.tagName == "SCRIPT" || child.tagName == "!" )
+                       continue;
+
+               if( child.id != "" )
+               {
+                       // to wipe out the onload effects
+                       if (gbBsIE4&&!gbBsMac)
+                       {
+                               var onLoadEffect = child.style.getAttribute( "x-on-pageload" );
+                               if( (onLoadEffect != null) && (onLoadEffect > "") )
+                                       child.style.setAttribute( "x-on-pageload", "" );
+                       }
+                       
+                       var href = child.getAttribute("href")
+                       if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 )
+                               kadovFilePopupInit(child.id); // Init for Popup
+                       else if( child.className == "dropspot" || child.className == "expandspot" || 
+                                        child.className == "glossterm" )
+                               kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text
+                       else if( child.className == "trigger")
+                               kadovInitTrigger(child.id);// Init for Trigger
+                       else
+                       {
+                               kadovInitEffects(child.id);// Init for DHTML effects
+                               CEngine.SetOneTargetInitialState( child.id );
+                       }
+               }
+               
+               if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") )
+                       child.start = "mouseover";// to start a AVI file. fileopen doesn't work
+
+               kadovInitEachChild(child);
+       }
+}
+
+function kadovRetrieveTextInner(el)
+{      
+       var x = "";
+       if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" ))
+               return x;
+
+       if( kadovIsParagraph(el) )
+       {
+               var strNewID = " ";
+               if( el.id != "" )
+                       strNewID += "id=" + el.id + "_NewSpan ";
+               x = "<span" + strNewID + "style='" + el.style.cssText + "'>" + el.innerHTML + "</span>";
+       }
+       else
+       {
+               for(var i=0; i<getChildNodes(el).length; i++)
+                       x += kadovRetrieveTextInner( getChildNodes(el)[i] );
+       }
+       return x;
+}
+
+function kadovRetrieveCleanHTML( strRawHTML, strTagOpen, strTagClose, nDistance )
+{      
+       var nTagOpen = strRawHTML.indexOf( strTagOpen, 0 );
+       if( nTagOpen < 0 )
+               return strRawHTML;
+
+       var nTagClose = strRawHTML.indexOf( strTagClose, nTagOpen);
+       if( nTagClose < nTagOpen )
+               return strRawHTML;
+               
+       if( typeof(nDistance) == "number" && nDistance > 0 )
+               if( (nTagClose - nTagOpen) != nDistance )
+                       return strRawHTML;
+               
+       var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ;
+       return  kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose );
+}
+
+function kadovAdjustObjectTag(strRawHTML, nStartPos)
+{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings
+       
+       //Is there any DTC?
+       var strDTCTagOpen = '<!--Metadata type="DesignerControl" startspan';
+       var strDTCTagClose = '<!--Metadata type="DesignerControl" endspan-->';
+       var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos );
+       if( nDTCTagOpen < 0 )
+               return strRawHTML;
+       var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen );
+       if( nDTCTagClose < nDTCTagOpen)
+               return strRawHTML; // no Design Time Controls;
+               
+       //Is the DTC HTML Help Control?
+       var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11';
+       var strRTObjTagClose = '</OBJECT>';
+       var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen );
+       if( nRTObjTagOpen < nDTCTagOpen )
+               return strRawHTML;
+       var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen );
+       if( nRTObjTagClose < nRTObjTagOpen )
+               return strRawHTML; // is not a HTML help control
+               
+       // Is it a related Topics html help control?
+       var strRTObjLabel = '<PARAM NAME=\"Command\" VALUE=\"Related Topics';
+       if( strRawHTML.indexOf(strRTObjLabel, nRTObjTagOpen) < 0 )
+               return strRawHTML;
+       
+       // does the commented object tag contain a items parameters             
+       var strRTItemsOpen = '<param name="Items" value="';
+       var strRTItemsClose = '$$**$$" >';
+       var strRTItemsClose2 = '$$**$$">';
+
+       var nRTItemsOpen = strRawHTML.indexOf(strRTItemsOpen, nDTCTagOpen);
+       if( nRTItemsOpen < nDTCTagOpen )
+               return strRawHTML;
+       var nRTItemsClose = strRawHTML.indexOf(strRTItemsClose, nRTItemsOpen);
+       if (nRTItemsClose == -1)
+               nRTItemsClose = strRawHTML.indexOf(strRTItemsClose2, nRTItemsOpen);
+       if( nRTItemsClose < nRTItemsOpen )
+               return strRawHTML;
+               
+       // found a items string
+       var strItems = strRawHTML.substring( nRTItemsOpen + strRTItemsOpen.length, nRTItemsClose);
+       if( strItems.length < 1 )
+               return strRawHTML;
+       
+       // to reconstruct the item(s) param tag(s)
+       var strItemsArray = strItems.split('$$**$$');
+       if( strItemsArray.length < 1 )
+               return strRawHTML;
+       var strRunTimeItemParam = "";
+       for( var i = 0; i < strItemsArray.length; i++ )
+       {
+               strRunTimeItemParam += '<PARAM  NAME="Item' + (i+1);
+               strRunTimeItemParam += '"' + '  VALUE="';
+               strRunTimeItemParam += strItemsArray[i];
+               strRunTimeItemParam += '">';
+       }
+       
+       // to insert the reconstructed item params into runtime object tag
+       var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length);
+       return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length);
+}
+
+function kadovTextPopupOnLoad( el )
+{
+       if( typeof(el) == "string" )
+               el = getElement(el);
+
+       var src = el.getAttribute( "x-use-popup" );
+       var bNeedMove=true;
+       if(!src&&el.id)
+       {
+               for (var i=0;i<gPopupData.length;i++)
+                       if (gPopupData[i].el==el.id)
+                       {
+                               src=gPopupData[i].popupId;
+                               bNeedMove=false;
+                               break;
+                       }
+       }
+       if(!src)
+               src = el.style.getAttribute( "x-use-popup" );   
+       if (!src)       
+               return 0;
+
+       var name = src;
+       if( src.substr(0,1) == "#" ) 
+               name = src.substr(1, src.length-1);
+       var srcDiv = getElement(name);
+       if( !srcDiv )
+               return 1;
+
+       if (bNeedMove)
+       {
+               var type = el.getAttribute( "x-popup-type" );
+               if (!type)
+                       type = el.style.getAttribute("x-popup-type");
+               if (!type)              
+                       return 1;               
+               var setup = el.getAttribute( "x-tmp-setup" );
+               var newId = name;
+               if( newId.indexOf( "_tmp") <= 0 )
+                       newId += "_tmp";
+
+               if( !setup)
+               {
+                       el.setAttribute( "x-tmp-setup", 1 );
+
+                       if( type == "pulldown"  )
+                       {
+                               var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0);
+                               var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");
+                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");
+                               
+                               //work around the bug in HH.exe that highlight the phrases when use Search tab
+                               //this approach is just removing the <FONT...> tag inserted by Microsoft in the runtime
+                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<FONT color=#", "\">", 52);
+                               
+                               var strStyle = " style='display:none; position:relative;";
+                               var newDiv = "<div class=droptext id=" + newId + strStyle + "'>" + strCleanHTML + "</div>";
+
+                               removeThis(srcDiv); // empty the original DIV tag
+                               var elParentPra = kadovFindParentParagraph(el);
+                               if( elParentPra )
+                                       insertAdjacentHTML(elParentPra, "afterEnd", newDiv );
+                       }
+                       else if( type == "expanding"  )
+                       {
+                               var inner = kadovRetrieveTextInner(srcDiv);
+                               if( inner == "" )
+                                       inner = srcDiv.innerHTML;
+                               var strAdjust = kadovAdjustObjectTag(inner,0);
+                               var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, "<!--", "-->");
+                               strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "<SCRIPT", "/SCRIPT>");
+                               var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext";
+                               var newSpan = "<span class=" + strClassName + " style='display: none;' id=" + newId + ">&nbsp;" + strCleanHTML + "</span>";
+                               removeThis(srcDiv); // empty the original DIV tag
+                               insertAdjacentHTML(el, "afterEnd", newSpan );
+                       }
+               }
+       }
+       else
+       {
+               srcDiv.style.display = "none";
+       }
+       return 0;
+}
+
+function getElementsByTag(obj,sTagName)
+{
+       if(obj.getElementsByTagName)
+               return obj.getElementsByTagName(sTagName);
+       else if(obj.all)
+               return obj.all.tags(sTagName);
+       return null;
+}
+
+function getElement(sID)
+{
+       if(document.getElementById)
+               return document.getElementById(sID);
+       else if(document.all)
+               return document.all(sID);
+       return null;
+}
+
+function getParentNode(obj)
+{
+       if(obj.parentNode)
+               return obj.parentNode;
+       else if(obj.parentElement)
+               return obj.parentElement;
+       return null;
+}
+
+function getChildNodes(obj)
+{
+       if(obj.childNodes)
+       {
+               var children = new Array();
+               for (var i = 0; i < obj.childNodes.length; i++)
+               {
+                       if (obj.childNodes[i].nodeType == 1)
+                               children[children.length] = obj.childNodes[i];
+               }
+               return children;
+       }
+       else if(obj.children)
+               return obj.children;
+       return null;    
+}
+
+function removeThis(obj)
+{
+       if(obj.parentNode)
+               obj.parentNode.removeChild(obj);
+       else
+               obj.outerHTML="";
+}
+
+function kadovTextPopup( el )
+{
+       if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 )
+               return;
+
+       var bNeedMove=true;
+       
+       if (window.event)
+               window.event.cancelBubble = true;
+
+       if( typeof(el) == "string" )
+               el = getElement(el);
+
+       if (!el||el==window)
+               return;
+       
+       var src = el.getAttribute( "x-use-popup" );
+       if(!src&&el.id)
+       {
+               for (var i=0;i<gPopupData.length;i++)
+                       if (gPopupData[i].el==el.id)
+                       {
+                               src=gPopupData[i].popupId;
+                               bNeedMove=false;
+                               break;
+                       }
+       }
+       if(!src)
+               src = el.style.getAttribute( "x-use-popup" );   
+       if(!src)
+               return;
+               
+       var name = src;
+       if( src.substr(0,1) == "#" ) 
+       if (bNeedMove)
+               name = src.substr(1, src.length-1) + "_tmp";
+       else
+               name = src.substr(1, src.length-1);
+
+       var srcDiv = getElement(name);
+       if( !srcDiv )
+               return;
+
+       if( srcDiv )
+       {
+               if( srcDiv.style.display == "" )
+                       srcDiv.style.display = "none";
+               else
+               {
+                       srcDiv.style.display = "";
+                       if( typeof(srcDiv.bInitialized) == "undefined" )
+                       {
+                               srcDiv.bInitialized = true;
+                               kadovInitEffects(name);
+                               kadovInitEachChild(srcDiv);
+                       }
+               }
+       }
+       if(gbBsIE4)
+               event.returnValue=false;
+       return;
+}
+
+function kadovFindParentParagraph( el )
+{
+       if( typeof(el) == "string" )
+               el = getElement(el);
+       if( (!el) || el.tagName == "BODY" )
+               return null;
+       if( kadovIsParagraph(getParentNode(el)) )
+               return getParentNode(el);
+       else
+               return kadovFindParentParagraph( getParentNode(el) );
+}
+
+//Begin HTML code invoked function
+function kadovRegisterEventHandler( obj, strEvent, strEventHandler )
+{
+       if( !gbBsIE4 )
+               return;
+       CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler );
+}
+
+function textPopupData(el, popupId)
+{
+       this.el = el;
+       this.popupId = "#"+popupId;
+}
+
+var gPopupData = new Array();
+
+function kadovTextPopupInit( el, popupId)
+{
+       if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3)
+               return;
+               
+       if( typeof(el) == "string" )
+       {
+               if (popupId)
+               {
+                       gPopupData[gPopupData.length]=new textPopupData(el, popupId);
+               }
+               el = getElement(el);
+       }
+               
+       if( el != null )
+       {
+               CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(\"" + el.id +"\");" );
+               CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(\"" + el.id +"\");" );
+       }
+}
+//End HTML code invoked function
+
+//End to support extended and dropdown text effects.
+
+//Begin to convert iWrite format to RoboEditor Format for DHTML effects
+function kadovInitTriggersInHead( )
+{
+  if( Object.xDelayedInitElements )
+  {
+     var x = Object.xDelayedInitElements;
+     for(i=0; i<x.length; i++)
+       kadovInitTrigger( x[i] );
+  }
+}
+
+//Begin HTML code invoked function
+function kadovFilePopupInit( el )
+{
+       if( typeof(el) == "string" )
+               el = getElement(el);
+
+       if( el != null )
+               CCSSP.RegisterEventHandler( el, "onmouseover", "BSPSPopupOnMouseOver(event);" );
+}
+
+function kadovInitTrigger( element )
+{
+       if( !gbBsIE4 )
+               return;
+       var srcElement = element;
+       if( typeof(srcElement) == "string" )
+       {
+               srcElement = getElement(element,0);
+               if(srcElement == null)
+                       return;
+       }
+       
+       if( !kadovIsParentVisible(srcElement) )
+               return;
+
+       var targets = srcElement.getAttribute( "x-targets" );
+       if (!targets)
+               targets = srcElement.style.getAttribute("x-targets");
+       if (!targets)
+               return; 
+       var arrOneTarget = targets.split( "," );
+       for( var i = 0; i < arrOneTarget.length; i ++ )
+               bsscFXInit( element, arrOneTarget[i], null, null, null, null );
+}
+
+function kadovIsParentVisible( el )
+{
+       if( typeof(el) == "string" )
+               el = getElement(el);
+       if( (!el) || el.tagName == "BODY" )
+               return true;
+       if( el.style.display == 'none' ) //el.visibility == 'hidden' || 
+               return false;
+       else
+               return kadovIsParentVisible( getParentNode(el) );
+}
+
+function kadovInitEffects( element )
+{
+       if( !gbBsIE4 )
+               return;
+       var srcElement = element;
+       if( typeof(srcElement) == "string" )
+       {
+               srcElement = getElement(element,0);
+               if(srcElement == null)
+                       return;
+       }
+       
+       if( !kadovIsParentVisible(srcElement) )
+               return;
+       
+       kadovInitEffect( srcElement, "x-on-hover" );
+       kadovInitEffect( srcElement, "x-on-pageclick" );
+       kadovInitEffect( srcElement, "x-on-pageload" );
+       kadovInitEffect( srcElement, "x-on-trigger-1" );
+       kadovInitEffect( srcElement, "x-on-trigger-2" );
+}
+//End HTML code invoked function
+
+function kadovInitEffect( element, prop )
+{
+       var values = null;
+       if( element.getAttribute( "currentStyle" )  && element.currentStyle.getAttribute)
+               values = element.currentStyle.getAttribute( prop );
+       else  if (element.style.getAttribute)
+               values = element.style.getAttribute( prop );
+       if( !values )
+               return;
+
+       var functions = new Array();
+       var nIdx = 0, nStart = 0;
+       var nNext = values.indexOf( "\)", 0);
+       while( nNext >= 0 && nNext < values.length )
+       {
+               functions[nIdx] = values.substr( nStart, nNext-nStart+1);
+               nStart = nNext + 1;
+               nIdx++;
+               nNext = values.indexOf( "\)", nStart);
+       }
+               
+       for( var i=0; i<functions.length; i++)
+       {
+               var id = element.getAttribute( "id" );
+               var translatedProp = kadovTranslateProp(prop);
+
+               var lp = functions[i].indexOf( "(" );
+               var fnname = functions[i].substring(0, lp);
+               var srcargs = functions[i].substring(lp+1, functions[i].length-1);
+               
+               var nClickTimes = 1;
+               var arrForClickCount = srcargs.split( "," );
+               for( var j = 0; j < arrForClickCount.length; j++ )
+               {// to locate and get the "clicks=99" settings
+                       var nPageClick = arrForClickCount[j].indexOf("clicks");
+                       if( nPageClick >= 0 )
+                       {
+                               nPageClick = arrForClickCount[j].indexOf("=");
+                               if( nPageClick > 0 )
+                               {
+                                       nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1;
+                                       break;
+                               }
+                       }
+               }
+               var args = srcargs;
+               if( j < arrForClickCount.length )
+               {// to strip out the "clicks=99" from the arguments string
+                       args = "";
+                       for( var k = 0; k < arrForClickCount.length; k ++ )
+                       {
+                               if( k != j )
+                               {
+                                       args += arrForClickCount[k];
+                                       if( k < arrForClickCount.length - 1 )
+                                               args += ",";
+                               }
+                       }
+               }
+               bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes );
+       }
+}
+
+function kadovTranslateProp( prop )
+{
+       switch( prop )
+       {
+       case "x-on-hover" :     return "bsschover";
+       case "x-on-pageclick" : return "bsscpageclick";
+       case "x-on-pageload" :  return "bsscpageload";
+       case "x-on-trigger-1" : return "bssctrigger1";
+       case "x-on-trigger-2" : return "bssctrigger2";
+       }
+       return null;
+}
+//End to convert iWrite format to RoboEditor Format for DHTML effects
+
+//Begin the definition of one entry to DHTML effects
+function bsscFXInit( trigger_ID, target_ID, event_type, 
+       action_type, action_setting, event_addional )
+{
+       if( (!gbBsWindows && !gbBsSunOS  && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID
+               return; // we don't support Navigator yet
+       
+       if( typeof(event_type) == "string" )
+               event_type = event_type.toLowerCase();
+       if( typeof(action_type) == "string" )
+               action_type = action_type.toLowerCase();
+       if( typeof(action_setting) == "string" )
+                action_setting = action_setting.toLowerCase();
+       
+       // to get the target element then add it to the target list
+       var eleTarget = CCSSP.GetObject( target_ID );
+       if( (eleTarget != null) && (event_type != null) && (action_type != null) )
+       {
+               CEngine.AddOneTarget( target_ID, eleTarget );
+               CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional);
+       }
+       
+       // to validate the trigger_ID parameter
+       if( typeof(trigger_ID) == "string" && trigger_ID != "" )
+               CEngine.BuildTriggerObject( trigger_ID, target_ID );
+}      
+//End the definition of one entry to DHTML effects
+
+/// Section End  - kadov DHTM (JavaScript 1.2)
+
+/// Section Begin  - CCSSP DHTM (JavaScript 1.2)
+
+//Begin JavaScript libary for cross-platform positioning object.
+function CCSSP(){} // constructor of CCSSP class
+
+CCSSP.GetObject = function( obj )
+{//convert object name string or reference into a valid object reference
+       if( typeof(obj) == "object" )
+               return obj;
+       else if( typeof(obj) == "string" && obj != "")
+       {
+               if( gbBsNS4 )
+                       return eval("document." + obj);
+               else
+                       return eval("document.all(\"" + obj + "\")");
+       }
+       else
+               return null;
+}
+
+CCSSP.MoveObjectTo = function(obj, x, y)
+{//positioning an object at a specific pixel coordinate
+       if( gbBsNS4 )
+               obj.moveTo(x,y);
+       else
+       {
+               obj.style.pixelLeft = x;
+               obj.style.pixelTop = y;
+       }
+}
+
+CCSSP.MoveObjectBy = function(obj, dx, dy)
+{//moveing a object by x and/or y pixel
+       if( gbBsNS4 )
+               obj.moveBy(dx,dy);
+       else
+       {
+               obj.style.pixelLeft += dx;
+               obj.style.pixelTop += dy;
+       }
+}
+
+CCSSP.SetObjectBGColor = function(obj, color)
+{//set the background color of an object
+       if( gbBsNS4 )
+               obj.bgColor = color;
+       else
+               obj.style.backgroundColor = color;
+}
+
+CCSSP.ShowObject = function(obj, bShow)
+{// set the object to be visible or invisible
+       if( gbBsNS4 )
+               obj.visibility = (bShow == true) ? 'show' : 'hide';
+       else
+               obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space.
+}
+
+CCSSP.GetObjectLeft = function(obj)
+{// retrieve the x coordinate of a posionable object
+       if( gbBsNS4 )
+               return obj.left;
+       else
+               return obj.style.pixelLeft;
+}
+
+CCSSP.GetObjectTop = function(obj)
+{// retrieve the y coordinate of a posionable object
+       if( gbBsNS4 )
+               return obj.top;
+       else
+               return obj.style.pixelTop;
+}
+
+CCSSP.GetObjectContainLeft = function(obj)
+{// retrieve the x coordinate of a posionable object relative to it's parent element
+       if( gbBsNS4 )
+               return obj.pageX;
+       else
+       {
+               if( obj == document.body )
+                       return obj.clientLeft;
+               else
+                       return obj.offsetLeft;
+       }
+}
+
+CCSSP.GetObjectWindowLeft = function(obj)
+{// retrieve the x coordinate of a posionable object relative to browser window
+       if( gbBsNS4 )
+               return obj.pageX;
+       else
+       {
+               var nOffsetWindowLeft = 0;
+               for(var element = obj; element; element = element.offsetParent)
+                       nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element);
+               return nOffsetWindowLeft;
+       }
+}
+
+CCSSP.GetObjectContainTop = function(obj)
+{// retrieve the y coordinate of a posionable object relative to it's parent element
+       if( gbBsNS4 )
+               return obj.pageY;
+       else
+       {
+               if( obj == document.body )
+                       return obj.clientTop;
+               else
+                       return obj.offsetTop;
+       }
+}
+
+CCSSP.GetObjectWindowTop = function(obj)
+{// retrieve the y coordinate of a posionable object relative to browser window
+       if( gbBsNS4 )
+               return obj.pageY;
+       else
+       {
+               var nOffsetWindowTop = 0;
+               for(var element = obj; element; element = element.offsetParent)
+                       nOffsetWindowTop += CCSSP.GetObjectContainTop(element);
+               return nOffsetWindowTop;
+       }
+}
+
+CCSSP.GetObjectHeight = function(obj)
+{// retrieve the height of a posionable object
+       if( gbBsNS4 )
+               return obj.clip.height;
+       else
+               return obj.offsetHeight;
+}
+
+CCSSP.GetObjectWidth = function(obj)
+{// retrieve the width of a posionable object
+       if( gbBsNS4 )
+               return obj.clip.width;
+       else
+               return obj.offsetWidth;
+}
+
+CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler )
+{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined
+       if (gbBsNS4 && !gbBsNS6)
+               return ;
+               
+       var oldHandler = "";
+
+       if (gbBsMac &&gbBsIE4&&!gbBsIE5)
+       {
+               if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown")
+               { //search for <SCRIPT> tag which define the event handler
+                       for( var i = 0; i < document.scripts.length; i++ ) 
+                       {
+                               var script = document.scripts[i];
+                               if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )
+                               {
+                                       oldHandler = script.innerHTML;
+                                       break;
+                               }
+                       }
+               }
+       }
+       else
+       {
+               var oldInlineHandler = srcObj[rawEventName.toLowerCase()];
+               if( oldInlineHandler != null && typeof(oldInlineHandler) != "undefined")
+               {
+                       var functionDefinition = oldInlineHandler.toString();
+                       var bodyStart = functionDefinition.indexOf( "{" );
+                       var bodyEnd = functionDefinition.lastIndexOf( "}" );
+                       if( bodyStart > 0 || bodyEnd > bodyStart )
+                               oldHandler = functionDefinition.substr( bodyStart + 1, bodyEnd - bodyStart - 2 );
+               }
+               else if( gbBsIE4 )
+               { //search for <SCRIPT> tag which define the event handler
+                       for( var i = 0; i < document.scripts.length; i++ ) 
+                       {
+                               var script = document.scripts[i];
+                               if( (script.htmlFor == srcObj.id || script.htmlFor == srcObj ) && script.event == rawEventName )
+                               {
+                                       oldHandler = script.innerHTML;
+                                       break;
+                               }
+                       }
+               }
+       }
+       if( oldHandler.indexOf(funcHandler) >= 0 )
+               return;// to prevent register the funtion twice.
+
+       if( gbBsNS4 ) // only "onload, onresize, onfocus" apply to window
+       {// other raw events will apply to layer
+               var noOn = rawEventName.substring(2, rawEventName.length);
+               if( typeof(noOn) == "string" && noOn.length > 3 ) {
+                       if (srcObj.captureEvents)
+                               srcObj.captureEvents( Event[noOn.toUpperCase()] );
+               }
+       }
+       
+       var newHandler = oldHandler;
+       if( newHandler.length == 0 )
+               newHandler = funcHandler;
+       else
+               newHandler += "; " + funcHandler;
+       
+       srcObj[rawEventName.toLowerCase()] = new Function( newHandler );
+}
+
+CCSSP.GetWindowHeight = function()
+{// retrieve the height of available content in browser window
+       if( gbBsNS4 )
+               return window.innerHeight;
+       else
+               return document.body.clientHeight;
+}
+
+CCSSP.GetWindowBottom = function()
+{// retrieve the bottom postion of browser window
+       if( gbBsNS4 )
+               return window.outerHeight + window.pageYOffset;
+       else
+               return document.body.clientHeight + document.body.scrollTop;
+}
+
+CCSSP.GetWindowWidth = function()
+{// retrieve the width of available content in browser window
+       if( gbBsNS4 )
+               return window.innerWidth;
+       else
+               return document.body.clientWidth;
+}
+
+CCSSP.GetWindowRight = function()
+{// retrieve the right postion of browser window
+       if( gbBsNS4 )
+               return window.outerWidth + window.pageXOffset;
+       else
+               return document.body.clientWidth + document.body.scrollLeft;
+}
+
+CCSSP.TrimString = function( objString, subtrim )
+{// to trim the "subtrim" in the beginning and ending of a string object
+       if( typeof(subtrim) != "string" || subtrim == null )
+               return objString;
+       var strHead = objString.substring(0, 1);
+       var strRear = objString.substring(objString.length-1, objString.length);
+       if( strHead != subtrim && strRear != subtrim )
+               return objString;
+       
+       var spacePos = objString.indexOf(subtrim);
+       if( spacePos < 0 )
+               return objString;
+       else if( spacePos == objString.length - 1 )
+               return objString.substring(0, spacePos);
+       else
+       {
+               var newString = objString.substring( spacePos + 1, objString.length);
+               return CCSSP.TrimString( newString, subtrim );
+       }
+}
+
+CCSSP.TrimSpace = function( objString )
+{
+       var Trim1 = CCSSP.TrimString( objString, " ");
+       return CCSSP.TrimString( Trim1, "\'");
+}
+
+CCSSP.GetEventElement = function( navEventObject )
+{// to get the element who fired the current event
+       if(gbBsNS4) 
+               if (gbBsNS6)
+                       return null;
+               else
+                        navEventObject.target;
+       else
+               return event.srcElement;
+}
+
+CCSSP.PrepareFilter = function( Obj )
+{//to prepare for making the filter work
+       Obj.style.filter = "";
+       if( Obj.style.width != "" || Obj.style.height != "" || Obj.style.position == "absolute" )
+               return;
+       Obj.style.height = CCSSP.GetObjectHeight(Obj);
+}
+
+CCSSP.IsDescendant = function( progenitor, progeny )
+{
+       if( typeof(progeny) == "undefined" || progeny == null )
+               return false;
+       else if( progeny == progenitor )
+               return true; 
+       else if( progeny.id == progenitor.id ) 
+               return true; 
+       else if( getParentNode(progeny) == getParentNode(progenitor))
+               return false;
+       else
+               return CCSSP.IsDescendant( progenitor, getParentNode(progeny));
+}
+
+CCSSP.IsTextTag = function( Obj )
+{
+       if( typeof( Obj.tagName ) == "undefined" )
+               return false;
+       return( Obj.tagName.indexOf("H") == 0 || Obj.tagName == "P" || 
+                       Obj.tagName == "FONT" || Obj.tagName == "SPAN" );
+}
+
+//End JavaScript libary for cross-platform positioning object.
+
+/// Section End  - CCSSP DHTM (JavaScript 1.2)
+
+/// Section Begin  - CCSSP DHTM 1 (JavaScript 1.2)
+
+//Begin the definition of class CTrigger
+function CTrigger( TriggerElement )
+{
+       // object : the trigger element. Never be null. 
+       this.eleTrigger = TriggerElement;
+       
+       // number : the click counter number: only 3 values: 0,1,2;
+       this.nCounter = 0; 
+       
+       //object as associative array of string:
+       // the associate target ID strings; one element at least.                       
+       this.objStrTarget = new Object();
+       this.eleTrigger.style.cursor = "hand";
+       if( this.eleTrigger.tagName == "AREA" && this.eleTrigger.getAttribute("href") == "" )
+               this.eleTrigger.setAttribute("href", "#") // to make a hand cursor for image map
+}
+
+CTrigger.prototype.AddTargetID = function( strTargetID )
+{// add one target ID string to the objStrTarget
+       if( typeof(strTargetID) != "string" )
+               return ;
+       if( typeof(this.objStrTarget[strTargetID]) != "string" )
+               this.objStrTarget[strTargetID] = strTargetID;
+}
+
+CTrigger.prototype.OnTriggerClick = function()
+{// to activate all asociated target
+       var strEventType = ( (this.nCounter++)% 2 == 0 ) ? 
+               "bssctrigger1" : "bssctrigger2";
+               
+       // to enumerate associative target element's ID string
+       for( var strTargetID in this.objStrTarget ) 
+               CEngine.SendEventToOneTarget( strTargetID, strEventType );
+}
+//End the definition of class CTrigger
+
+//Begin the definition of class CTarget
+function CTarget( TargetElement )
+{
+       // object : the target element. Never be null.
+       this.eleTarget = TargetElement;
+       this.objManager = new Object(); // object: the event manager
+} 
+
+CTarget.nPageClickCounter = 0;// static class property.
+
+CTarget.prototype.GetAgencyObject = function(str_action_type,action_setting )
+{// return the action agency ( effect )object's refernece 
+       switch( str_action_type )
+       {
+       case "show":return new CAgencyShow( this.eleTarget, true ) ;
+       case "hide":return new CAgencyShow( this.eleTarget, false ) ;
+
+    case "flyin" : 
+       return new CAgencyFly(this.eleTarget, action_setting, true);
+    case "flyout" : 
+       return new CAgencyFly(this.eleTarget, action_setting, false);
+    case "spiralin" : 
+       return new CAgencySpiral(this.eleTarget, action_setting, true);
+    case "spiralout" : 
+       return new CAgencySpiral(this.eleTarget, action_setting, false);
+    case "zoomin" :
+       return new CAgencyZoom(this.eleTarget, action_setting, true);
+    case "zoomout" : 
+       return new CAgencyZoom(this.eleTarget, action_setting, false);
+    case "elastic" : 
+               return new CAgencyElastic(this.eleTarget, action_setting);
+               
+    case "fadein" : 
+       return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, true) : null;
+    case "fadeout" :
+       return (gbBsIE4)? new CAgencyAlpha(this.eleTarget, action_setting, false) : null;
+    case "rockrollstatic" :
+    case "rockroll" :
+       return (gbBsIE4)? new CAgencyWave(this.eleTarget, action_setting, false) : null;
+    case "glow":
+       return (gbBsIE4)? new CAgencyGlow(this.eleTarget,action_setting) : null;
+    case "dropshadow":
+       return (gbBsIE4)? new CAgencyDropShadow(this.eleTarget,action_setting) : null;
+    case "transition" :
+       return (gbBsIE4)? new CAgencyRevealTrans(this.eleTarget,action_setting) : null;
+    case "blur" :
+       return (gbBsIE4)? new CAgencyBlur(this.eleTarget,action_setting) : null;
+
+    case "fliph" : // all these 4 do NOT need any parameters
+    case "flipv" :
+    case "invert":
+    case "gray" :
+       return (gbBsIE4)? new CAgencyChangeFilter(this.eleTarget, str_action_type) : null;
+    
+    case "fontchange": // the effects below change the style on the fly, so won't work in Navigator
+       return (gbBsIE4)? new CAgencyFontChange(this.eleTarget,action_setting) : null;
+    case "boderchange": 
+    case "stylechange":
+       return (gbBsIE4)? new CAgencyChangeStyle(this.eleTarget,action_setting) : null;
+
+       default: return null;
+       }
+}
+
+CTarget.prototype.SetEventManager = function( 
+       one_event_type,str_action_type,action_setting,event_additional)
+{// to set the event manager with specified action 
+       if( typeof( one_event_type ) != "string" ||     
+               typeof( str_action_type ) != "string"||
+               typeof( action_setting ) != "string" )
+               return false;
+       if( typeof(this.objManager[one_event_type]) == "undefined" )
+       {
+               this.objManager[one_event_type] = new Object();
+               this.objManager[one_event_type].length = 0;
+       }
+       
+       var eventAgency = this.GetAgencyObject(str_action_type,action_setting);
+       if( eventAgency != null )
+       {
+               var ct = this.objManager[one_event_type].length ++;
+               this.objManager[one_event_type][ct] = eventAgency;
+               
+               if( one_event_type == "bsscpageclick" )
+               {// to deal with the "number of pageclick" stuff
+                       if( typeof(event_additional) == "number" )
+                               this.objManager[one_event_type][ct].nPageClick = event_additional;
+                       else // set the default number 
+                               this.objManager[one_event_type][ct].nPageClick = 1;
+                       
+                       if( (typeof(this.objManager.nMinPageClickIndex) == "undefined") ||
+                           (this.objManager[one_event_type][ct].nPageClick < 
+                                       this.objManager[one_event_type][this.objManager.nMinPageClickIndex].nPageClick) )
+                               this.objManager.nMinPageClickIndex = ct;
+               }
+               
+               //hide the object blindly,SetState function will take care of the final correct state
+               if( ((one_event_type == "bsscpageclick") && 
+                        (this.objManager[one_event_type][ct].nPageClick == 1)) ||
+                       one_event_type == "bsscpageload" ||
+                       one_event_type == "bssctrigger1" )
+                       CCSSP.ShowObject( this.eleTarget, false );
+               
+               if( one_event_type == "bssctrigger1" || one_event_type == "bssctrigger2" )
+                       if( typeof( this.strTriggerEvent ) == "undefined" )
+                               this.strTriggerEvent = ( one_event_type == "bssctrigger1" ) ? "bssctrigger2" : "bssctrigger1";
+                       
+               return true;
+       }
+       return false;
+}
+
+CTarget.prototype.OnEvent = function( strBsscEvent )
+{// response to the event ( bssc format )
+       if( typeof(this.objManager[strBsscEvent]) == "object" )
+       { // to get the event agency from the event manager
+               var eventAgency = this.objManager[strBsscEvent];
+               for( var i = 0; i < eventAgency.length; i++ )
+               {
+                       if( strBsscEvent == "bsscpageclick" && 
+                               eventAgency[i].nPageClick != CTarget.nPageClickCounter )
+                                continue;
+                       else if( strBsscEvent == "bsschover" && event.type == "mouseout" )
+                               eventAgency[i].EndEffect();
+                       else // to invoke the unified function in effect object 
+                               eventAgency[i].UpdateEffect(); 
+               }
+       }
+}
+
+CTarget.prototype.SetState = function( strBsscEvent )
+{
+       if( typeof(this.objManager[strBsscEvent]) != "object" )
+               return false;
+
+       // to get the event agency from the event manager
+       var eventAgency = this.objManager[strBsscEvent];
+       
+       if( strBsscEvent == "bsscpageclick" )
+       {// we only set the initial state for the minium number of pageclick 
+               eventAgency[this.objManager.nMinPageClickIndex].PrepareEffect();
+               return true;
+       }
+       else
+       {
+               for( var i = 0; i < eventAgency.length; i++ )
+                       eventAgency[i].PrepareEffect(); // to invoke the unified function in effect object       
+               if( i > 0 )
+                       return true;
+               else
+                       return false;
+       }
+}
+//End the definition of class CTarget
+
+//Begin the definition of CEngine class
+function CEngine(){}// all properities are going be "class" properities
+
+// object : as associative array of trigger objects
+CEngine.objTrigger = new Object();
+// object : as associative array of target objects 
+CEngine.objTarget = new Object(); 
+
+// Array : each element is a CAgencyXXX animation object
+CEngine.arrAnimation = new Array();
+CEngine.PerformAnimation = function( nIndex )
+{// animation : update effects function
+       CEngine.arrAnimation[nIndex].UpdateEffect();
+}
+
+CEngine.AddOneTrigger = function(TriggerID,TriggerElement)
+{// add one Trigger object into the trigger array
+       if( typeof(TriggerID) != "string" || TriggerElement == null ||
+           typeof(TriggerElement) != "object" )
+               return;
+       if( typeof(CEngine.objTrigger[TriggerID] ) != "object" )
+               CEngine.objTrigger[TriggerID] = new CTrigger(TriggerElement);
+}
+       
+CEngine.AddOneTarget = function(TargetID, TargetElement)
+{// add one Target object into the target array
+       if( typeof(TargetID) != "string" || TargetElement == null ||
+               typeof(TargetElement) != "object" )
+               return;
+       if( typeof(CEngine.objTarget[TargetID]) != "object" )
+               CEngine.objTarget[TargetID] = new CTarget( TargetElement );
+}
+
+CEngine.SendEventToOneTarget = function(strTargetID, strBsscEvent )
+{// to activate one target object
+       if( typeof(CEngine.objTarget[strTargetID]) == "object" ) 
+       {
+               if( strBsscEvent == "bssctrigger1" || strBsscEvent == "bssctrigger2" )
+               {//now, the "bssctrigger1" and "bssctrigger2" work like a toggle
+                       if( strBsscEvent == CEngine.objTarget[strTargetID].strTriggerEvent )
+                               strBsscEvent = (strBsscEvent == "bssctrigger1") ? "bssctrigger2" : "bssctrigger1";
+                       CEngine.objTarget[strTargetID].strTriggerEvent = strBsscEvent;
+               }
+               CEngine.objTarget[strTargetID].OnEvent( strBsscEvent );
+       }
+}
+
+CEngine.SendEventToAllTarget = function( strBsscEvent )
+{ //to activate all target associative to the BSSC event
+       for( var strTargetID in CEngine.objTarget ) //to enumerate all target
+               CEngine.SendEventToOneTarget( strTargetID, strBsscEvent );
+}
+
+CEngine.SetOneTargetInitialState = function( strTargetID )
+{// only invoked after ALL effects for the target have been set
+       if( typeof(CEngine.objTarget[strTargetID]) == "object" ) 
+       {// to get target object
+               var objTarget = CEngine.objTarget[strTargetID];
+               if( objTarget.SetState( "bsscpageload" ) == false )
+               {
+                       objTarget.SetState( "bsscpageclick" );
+                       objTarget.SetState( "bssctrigger1" );
+               }
+       }
+}
+
+CEngine.AdjustPageClickCounter = function()
+{
+       var nAdjustedClickCounter = CTarget.nPageClickCounter;
+       var bAdjusted = false;
+       for( var strTargetID in CEngine.objTarget ) //to enumerate all target
+       {// try to find the minum pageCliclConter greater than CTarget.nPageClickCounter
+               var objEventPageClick = CEngine.objTarget[strTargetID].objManager.bsscpageclick;
+               if( objEventPageClick != null )
+               {
+                       for( var i = 0; i < objEventPageClick.length; i++ )
+                       {
+                               var nOtherPageClick = objEventPageClick[i].nPageClick;
+                               if( nOtherPageClick == CTarget.nPageClickCounter )
+                                       return;
+                               if( nOtherPageClick > CTarget.nPageClickCounter )
+                               {
+                                       if( !bAdjusted )
+                                       {
+                                               nAdjustedClickCounter = nOtherPageClick;
+                                               bAdjusted = true;
+                                       }
+                                       else if( nOtherPageClick < nAdjustedClickCounter )
+                                               nAdjustedClickCounter = nOtherPageClick;
+                               }
+                       }
+               }
+       }
+       CTarget.nPageClickCounter = nAdjustedClickCounter;
+}
+
+CEngine.OnPageLoad = function()
+{      
+       // first, to set all target's initial state
+       for( var strTargetID in CEngine.objTarget )
+               CEngine.SetOneTargetInitialState( strTargetID );
+       
+       // to invoke all target's onpageload handler
+       CEngine.SendEventToAllTarget( "bsscpageload" );
+}
+
+CEngine.OnPageClick = function()
+{ // to invoke all target's onpageclick handler
+       var src = CCSSP.GetEventElement( arguments[0] );
+       if( src == null )
+               return;
+               
+       var objClickedTrigger = null;
+       for( var strTriggerID in CEngine.objTrigger )
+       { // to detect which trigger is clicked
+               if( CCSSP.IsDescendant( CEngine.objTrigger[strTriggerID].eleTrigger,src) )
+               {
+                       objClickedTrigger = CEngine.objTrigger[strTriggerID];
+                       break;
+               }
+       }
+       
+       if( objClickedTrigger != null) // the clicked trigger found
+               objClickedTrigger.OnTriggerClick();
+       else // no trigger is clicked
+       { // to send PageClick event to all target
+               CTarget.nPageClickCounter++;
+               CEngine.AdjustPageClickCounter();
+               CEngine.SendEventToAllTarget( "bsscpageclick" );
+       }
+}      
+
+CEngine.OnMouseOver = function()
+{ // to invoke all target's onpageload handler
+       var src = CCSSP.GetEventElement( arguments[0] );
+       if( src == null )
+               return;
+               
+       var strHoveredTargetID = null;
+       for( var strTargetID in CEngine.objTarget )
+       { // to detect which Target is hovering on
+               if( CCSSP.IsDescendant( CEngine.objTarget[strTargetID].eleTarget, src ) )
+           {
+                       strHoveredTargetID = strTargetID;
+                       break;
+           }
+       }
+       
+       if( strHoveredTargetID != null ) // the hovered target found
+               CEngine.SendEventToOneTarget( strHoveredTargetID, "bsschover" );
+}
+
+CEngine.BuildTargetObject = function(target_ID,event_type,action_type,
+                       action_setting, event_additional)
+{// to build target object 
+       // to get the target object
+       if( typeof( CEngine.objTarget[target_ID] ) != "object" )
+               return false;// the engine's AddOneTarget function might have failed.
+       var TargetObject = CEngine.objTarget[target_ID];
+       
+       // to prepare the parameters for the event manager
+       var arrEvent = event_type.split("|"); // to split the combined event_type string
+       var arrAction = action_type.split("|");//to split the combined action_type string
+       for( var trim = 0; trim < arrEvent.length; trim++ )
+               arrEvent[trim] = CCSSP.TrimSpace(arrEvent[trim]);
+       
+       for( trim = 0; trim < arrAction.length; trim++ )
+               arrAction[trim] = CCSSP.TrimSpace(arrAction[trim]);
+       
+       var arrSetting = new Array(); 
+       if( typeof(action_setting) == "string" )
+               arrSetting = action_setting.split("|");// to split the combined action_setting string
+       // to calibrate the arrays
+       for( var i = arrSetting.length; i < arrAction.length; i++ )
+       {
+               if( typeof(arrSetting[i]) != "string" )
+                        arrSetting[i] = "";
+       }                                
+
+       // to prepare for dealing with the absolute posioning element
+       TargetObject.eleTarget.ABSX = CCSSP.GetObjectLeft( TargetObject.eleTarget );
+       TargetObject.eleTarget.ABSY = CCSSP.GetObjectTop( TargetObject.eleTarget );
+
+       if( arrEvent.length > 1 )
+       {// if event is combined, it must be : "bssctrigger1 | bssctrigger2"
+               if( arrAction.length != 2 )
+                       return false; // if event is combined, there must be 2 actions
+               for( i = 0 ; i < 2; i++ )
+               {
+                       if( TargetObject.SetEventManager(arrEvent[i], arrAction[i], 
+                               arrSetting[i], event_additional) == false )
+                               return false; // the event manager has not been set up
+               }
+       }
+       else // the event_type string is not combined
+       {
+               for( i = 0 ; i < arrAction.length; i++ )
+               {
+                       TargetObject.SetEventManager(event_type, arrAction[i], arrSetting[i], event_additional);
+                       // to validate the event manager
+                       if( typeof(TargetObject.objManager[event_type]) != "object" ||
+                                       typeof(TargetObject.objManager[event_type][i]) != "object" )
+                               return false; // the event manager has not been set up
+               }
+       }
+       return true;
+}
+
+CEngine.BuildTriggerObject = function(trigger_ID, target_ID)
+{// to build the trigger object
+       var arrTrigger = trigger_ID.split("|"); // to split the combined trigger_ID string
+       for( var i = 0; i < arrTrigger.length; i ++ )
+       {// to get the trigger element then add it to the trigger list
+               arrTrigger[i] = CCSSP.TrimSpace( arrTrigger[i] );
+               var eleTrigger = CCSSP.GetObject( arrTrigger[i] );
+               if( eleTrigger == null )
+                       continue; // the trigger_ID string in the HTML code maybe wrong
+               CEngine.AddOneTrigger( arrTrigger[i], eleTrigger );
+
+               // to get the target object
+               if( typeof( this.objTrigger[arrTrigger[i]] ) != "object" )
+                       continue;// the engine's AddOneTarget function might have failed.
+               CEngine.objTrigger[arrTrigger[i]].AddTargetID( target_ID );
+       }
+}
+//End the definition of CEngine class
+
+/// Section End  - CCSSP DHTM 1 (JavaScript 1.2)
+
+/// Section Begin  - CCSSP DHTM 2 (JavaScript 1.2)
+
+//Begin the definition of CAgencyXXXX classes
+
+//Begin of the CAgencyShow definition
+function CAgencyShow( element, bIsShow )
+{
+       this.ele = element;
+       this.bIsShow = bIsShow;
+}
+
+CAgencyShow.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject( this.ele, !this.bIsShow );
+}
+
+CAgencyShow.prototype.UpdateEffect = function()
+{
+       CCSSP.ShowObject( this.ele, this.bIsShow );
+}
+
+CAgencyShow.prototype.EndEffect = function()
+{
+       CCSSP.ShowObject( this.ele, !this.bIsShow );
+}
+// End of the CAgencyShow definition
+
+// Begin of CAgencyFly definition
+function CAgencyFly( element, settings, bIsIn )
+{
+       this.ele = element;
+       this.bIsIn = bIsIn;
+       this.duration = 1000; // default
+       this.direction = "right";
+
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "speed" : this.duration = 100000/arrOneSet[1]; break;
+               case "direction" : this.direction = arrOneSet[1]; break;
+               }
+       }
+               
+       if( gbBsIE5 && this.ele.style.position != "absolute" )
+               this.ele.style.position = "relative";
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencyFly.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject(this.ele, !this.bIsIn );
+}
+
+CAgencyFly.prototype.UpdateEffect = function()
+{
+       if( this.timer == null )
+               this.ResetParameters();
+
+       var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+       if( percent >= 1.0 )
+               this.EndEffect();
+       else
+       {
+               var newX = this.startX*(1.0-percent) +  this.finalX*percent;
+               var newY = this.startY*(1.0-percent) +  this.finalY*percent;
+               CCSSP.MoveObjectTo(this.ele, newX, newY);
+               if( this.timer == null )
+                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );
+       }
+}
+
+CAgencyFly.prototype.EndEffect = function()
+{
+       clearInterval( this.timer );
+       this.timer = null;
+
+       if( this.bIsIn ) // FlyIn
+               CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);
+       else // FlyOut
+               CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);
+       CCSSP.ShowObject(this.ele, this.bIsIn );
+}
+
+CAgencyFly.prototype.ResetParameters = function()
+{
+       this.PrepareEffect();
+       CCSSP.ShowObject(this.ele, true );
+
+       this.startX = 0;
+       this.startY = 0;
+       this.finalX = 0;
+       this.finalY = 0; 
+       
+       var offsetLeft = CCSSP.GetObjectWindowLeft(this.ele) + this.ele.offsetWidth;
+       var offsetTop = CCSSP.GetObjectWindowTop(this.ele) + this.ele.offsetHeight;
+       var offsetRight = CCSSP.GetWindowRight();
+       var offsetBottom = CCSSP.GetWindowBottom();
+
+       if( this.bIsIn )
+       { // FlyIn
+               this.finalX = this.ele.ABSX;
+               this.finalY = this.ele.ABSY;
+
+               switch( this.direction )
+               {
+               case "right": this.startX = offsetRight; this.startY = this.finalY; break;
+               case "left": this.startX = -offsetLeft;  this.startY = this.finalY; break;
+               case "down": this.startY = offsetBottom; this.startX = this.finalX; break;
+               case "up":  this.startY = -offsetTop;    this.startX = this.finalX; break;
+               case "downright":
+                       this.startX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;
+                       this.startY = this.startX;              break;
+               case "upright":
+                       this.startX = (offsetTop < offsetRight)? offsetTop : offsetRight;
+                       this.startY = -this.startX;             break;
+               case "upleft":
+                       this.startX = -((offsetTop < offsetRight)? offsetTop : offsetRight);
+                       this.startY = this.startX;              break;
+               case "downleft":
+                       this.startX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);
+                       this.startY = -this.startX;     break;
+               }
+       }
+       else
+       { // FlyOut
+               this.startX = this.ele.ABSX;
+               this.startY = this.ele.ABSY;
+
+               switch( this.direction )
+               {
+               case "right": this.finalX = offsetRight;  this.finalY = this.startY; break;
+               case "left": this.finalX = -offsetLeft;   this.finalY = this.startY;  break;
+               case "down": this.finalY = offsetBottom;  this.finalX = this.startX; break;
+               case "up":  this.finalY = -offsetTop;     this.finalX = this.startX; break;
+               case "downright":
+                       this.finalX = ( offsetBottom < offsetRight) ? offsetBottom : offsetRight;
+                       this.finalY = this.finalX;              break;
+               case "upright":
+                       this.finalX = (offsetTop < offsetRight)? offsetTop : offsetRight;
+                       this.finalY = -this.finalX;             break;
+               case "upleft":
+                       this.finalX = -((offsetTop < offsetRight)? offsetTop : offsetRight);
+                       this.finalY = this.finalX;              break;
+               case "downleft":
+                       this.finalX = -(( offsetBottom < offsetRight) ? offsetBottom : offsetRight);
+                       this.finalY = -this.finalX;     break;
+               }
+       }
+       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);
+       this.startTime = (new Date()).getTime();
+}
+// End of the CAgencyFly definition
+
+// Begin of CAgencySpiral
+function CAgencySpiral( element, settings, bIsIn )
+{
+       this.ele = element;
+       this.bIsIn = bIsIn;
+       this.duration = 1000; // default
+
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "speed" : this.duration = 100000/arrOneSet[1]; break;
+               }
+       }
+
+       if( gbBsIE5 && this.ele.style.position != "absolute" )
+               this.ele.style.position = "relative";
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencySpiral.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject(this.ele, !this.bIsIn );
+}
+
+CAgencySpiral.prototype.UpdateEffect = function()
+{
+       if( this.timer == null )
+               this.ResetParameters();
+
+       var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+       if( percent >= 1.0 )
+               this.EndEffect();
+       else
+       {
+               var rf = (this.bIsIn)? (1.0 - percent) : percent; 
+               var t = (1.0-rf) * 4.0 * Math.PI
+               var rxP = (this.bIsIn)? this.startX : this.finalX; 
+               var ryP = (this.bIsIn)? this.startY : this.finalY; 
+               var rx = (Math.abs(rxP) < 200) ? Math.abs(rxP) : 200;
+               var ry = (Math.abs(ryP) < 200) ? Math.abs(ryP) : 200;
+
+               var newX = Math.ceil(-rf*Math.cos(t)*rx) + this.ele.ABSX;
+               var newY = Math.ceil(-rf*Math.sin(t)*ry) + this.ele.ABSY;
+               CCSSP.MoveObjectTo(this.ele, newX, newY);
+               if( this.timer == null )
+                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );
+       }
+}
+
+CAgencySpiral.prototype.EndEffect = function()
+{
+       clearInterval( this.timer );
+       this.timer = null;
+       
+       if( this.bIsIn ) // In
+               CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);
+       else // Out
+               CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);
+       CCSSP.ShowObject(this.ele, this.bIsIn );
+}
+
+CAgencySpiral.prototype.ResetParameters = function()
+{
+       this.PrepareEffect();
+       CCSSP.ShowObject(this.ele, true );
+       this.startX = (this.bIsIn)? CCSSP.GetWindowRight() : this.ele.ABSX;
+       this.startY = (this.bIsIn)? CCSSP.GetWindowBottom() : this.ele.ABSY;
+       this.finalX = (this.bIsIn)? this.ele.ABSX : CCSSP.GetWindowRight();
+       this.finalY = (this.bIsIn)? this.ele.ABSY : CCSSP.GetWindowBottom(); 
+       
+       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);
+       this.startTime = (new Date()).getTime();
+}
+// End of CAgencySpiral
+
+// Begin of CAgencyElastic
+function CAgencyElastic( element, settings)
+{
+       this.ele = element;
+       this.duration = 1000; // default
+       this.direction = "right";
+
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "speed" : this.duration = 100000/arrOneSet[1]; break;
+               case "direction" : this.direction = arrOneSet[1]; break;
+               }
+       }
+               
+       if( gbBsIE5 && this.ele.style.position != "absolute" )
+               this.ele.style.position = "relative";
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencyElastic.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject(this.ele, false );
+}
+
+CAgencyElastic.prototype.UpdateEffect = function()
+{
+       if( this.timer == null )
+               this.ResetParameters();
+
+       var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+       if( percent >= 1.0 )
+               this.EndEffect();
+       else
+       {
+               var newX = this.startX;
+               var newY = this.startY;
+               var rf = Math.exp(-percent*3);
+               var t = percent * 1.5 * Math.PI
+               var rx = (Math.abs(this.startX) > Math.abs(this.startY)) ? this.startX : this.startY;
+               switch (this.direction )
+               {
+               case "left":   
+               case "right" : newX = rf*Math.cos(t)*rx + this.ele.ABSX; break;
+               case "up":         
+               case "down" :  newY = rf*Math.cos(t)*rx + this.ele.ABSX; break;
+               }
+               CCSSP.MoveObjectTo(this.ele, newX, newY);
+               if( this.timer == null )
+                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );
+       }
+}
+
+CAgencyElastic.prototype.EndEffect = function()
+{
+       CCSSP.MoveObjectTo(this.ele, this.finalX, this.finalY);
+       clearInterval( this.timer );
+       this.timer = null;
+}
+
+CAgencyElastic.prototype.ResetParameters = function()
+{
+       CCSSP.ShowObject(this.ele, true );
+       this.startX = this.ele.ABSX;
+       this.finalX = this.ele.ABSX;
+       this.startY = this.ele.ABSY;
+       this.finalY = this.ele.ABSY;
+       
+       switch (this.direction)
+       { 
+       case "left":  this.startX = -this.ele.offsetWidth; break;
+       case "right": this.startX = this.ele.offsetWidth;  break;
+       case "up":    this.startY = -this.ele.offsetHeight;break;
+       case "down":  this.startY = this.ele.offsetHeight; break;
+       }
+       CCSSP.MoveObjectTo(this.ele, this.startX, this.startY);
+       this.startTime = (new Date()).getTime();
+}
+// End of CAgencyElastic
+
+// Begin of CAgencyZoom
+function CAgencyZoom( element, settings, bIsIn)
+{
+       this.ele = element;
+       this.duration = 1000; // default
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "speed" : this.duration = 100000/arrOneSet[1]; break;
+               }
+       }
+
+       this.bIsIn = bIsIn;
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencyZoom.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject(this.ele, false);
+}
+
+CAgencyZoom.prototype.UpdateEffect = function()
+{
+       if( this.timer == null )
+               this.ResetParameters();
+
+       var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+       if( percent >= 1.0 )
+               this.EndEffect();
+       else
+       {
+               var nFactorIn = Math.ceil(50+50*percent);
+               var nFactorOut = Math.ceil(100+200*(1-percent));
+               var AlterFontsize = ((this.bIsIn)? nFactorIn : nFactorOut) + "%";
+               var AlterFactor = ((this.bIsIn)? nFactorIn : nFactorOut) / 100;
+               
+               this.UpdateEffectAllChildren(this.ele, AlterFontsize, AlterFactor);
+               for(var index = 0; index < this.ele.all.length; index++)
+                       this.UpdateEffectAllChildren(this.ele.all[index], AlterFontsize, AlterFactor);
+                       
+               if( this.timer == null )
+                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );
+       }
+}
+
+CAgencyZoom.prototype.UpdateEffectAllChildren = function(child, FontSize, Factor)
+{
+       if( CCSSP.IsTextTag(child) )
+               child.style.fontSize = FontSize;
+       else
+       {
+               if( typeof(child.orgWidth) == "number" )
+                       child.style.width = Factor * child.orgWidth;
+               if( typeof(child.orgHeight) == "number" )
+                       child.style.height = Factor * child.orgHeight;
+       }
+}
+
+CAgencyZoom.prototype.EndEffect = function()
+{
+       this.EndEffectAllChildren(this.ele);
+       for(var index = 0; index < this.ele.all.length; index++)
+               this.EndEffectAllChildren(this.ele.all[index]);
+       
+       clearInterval( this.timer );
+       this.timer = null;
+}
+
+CAgencyZoom.prototype.EndEffectAllChildren = function( child )
+{      
+       if( CCSSP.IsTextTag(child) )
+               child.style.fontSize = child.orgFontSize;
+       else
+       {
+               if( typeof(child.intactWidth) != "undefined" )
+               {
+                       child.width = child.intactWidth;
+                       child.height = child.intactHeight;
+               }
+               else if( typeof(child.style.intactPixelWidth) != "undefined" )
+               {
+                       child.style.pixelWidth = child.style.intactPixelWidth;
+                       child.style.pixelHeight = child.style.intactPixelHeight;
+               }
+       }
+}
+
+CAgencyZoom.prototype.ResetParameters = function()
+{
+       this.PrepareEffect();
+       this.ResetParametersAllChildren( this.ele );
+       for(var index = 0; index < this.ele.all.length; index++)
+               this.ResetParametersAllChildren(this.ele.all[index]);
+               
+       this.startTime = (new Date()).getTime();
+}
+
+CAgencyZoom.prototype.ResetParametersAllChildren = function( child )
+{
+       CCSSP.ShowObject(child, true );
+       if( (child.tagName == "DIV") && (getParentNode(child).tagName == "TD") )
+               child.width = "100%";// if the div is inside a cell of table, we need the this hack
+       
+       if( CCSSP.IsTextTag(child) )
+               child.orgFontSize = child.style.fontSize;
+       else
+       {
+               if( child.width > "" || child.height > "" )
+               {
+                       child.orgWidth = child.intactWidth = child.width;
+                       child.orgHeight = child.intactHeight = child.height;
+               }
+               else if( ( typeof(child.orgWidth) != "number" ) && (typeof(child.orgHeight) != "number") )
+               {
+                       child.orgWidth = child.style.intactPixelWidth = child.style.pixelWidth;
+                       child.orgHeight = child.style.intactPixelHeight = child.style.pixelHeight;
+               }
+       }
+}
+// End of CAgencyZoom
+
+//// the following effects will use IE's exclusive "filter" function ////
+// Begin of CAgencyAlpha definition
+function CAgencyAlpha( element, settings, bIsIn )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+       this.bIsIn = bIsIn;
+
+       // to set the default value
+       this.startOpacity = (this.bIsIn) ? 0 : 100;
+       this.endOpacity = (this.bIsIn) ? 100 : 0;
+       
+       this.duration = 1000; // default
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "speed" : this.duration = 100000/arrOneSet[1]; break;
+               }
+       }
+       
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencyAlpha.prototype.PrepareEffect = function()
+{// to set the visual filter function
+       // the visual filter ONLY work when set by "Width and Height" or
+       // absolute position for DIV, SPAN and normal tag ( such as p )
+       // but, "absolute" cause the following elements overlap, so:
+       CCSSP.PrepareFilter( this.ele );
+       CCSSP.ShowObject(this.ele, !this.bIsIn );
+}
+
+CAgencyAlpha.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       if( this.timer == null )
+               this.ResetParameters();
+       if( typeof(this.ele.filters.alpha) != "object" )
+       {
+               this.EndEffect();
+               return;
+       }
+
+       var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+       if( percent >= 1.0 )
+               this.EndEffect();
+       else if( typeof(this.ele.filters.alpha) == "object" )
+       {
+               this.ele.filters.alpha.opacity = this.startOpacity*(1.0-percent) + this.endOpacity*percent;
+               if( this.timer == null )
+                       this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 20 );
+       }
+}
+
+CAgencyAlpha.prototype.EndEffect = function()
+{// to remove the visual filter function
+       clearInterval( this.timer );
+       this.timer = null;
+       this.ele.style.filter = "";
+       CCSSP.ShowObject(this.ele, this.bIsIn );
+}
+
+CAgencyAlpha.prototype.ResetParameters = function()
+{
+       this.PrepareEffect();
+       CCSSP.ShowObject(this.ele, true );
+       this.ele.style.filter = "alpha(opacity=" + this.startOpacity + ")";
+       this.startTime = (new Date()).getTime();
+}
+// End of the CAgencyAlpha definition
+
+// Begin of CAgencyWave definition
+function CAgencyWave( element, settings )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       this.duration = 0; // default
+       this.strength = 10;
+       this.freq = 1;
+       this.lightstrength = 1;
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "duration" : this.duration = 100000/arrOneSet[1]; break;
+               case "strength" : this.strength = arrOneSet[1]; break;
+               case "freq" : this.freq = arrOneSet[1]; break;
+               case "lightstrength" : this.lightstrength = arrOneSet[1]; break;
+               }
+       }
+
+       this.timer = null;
+       this.aniIndex = CEngine.arrAnimation.length;
+       CEngine.arrAnimation[this.aniIndex] = this;
+}
+
+CAgencyWave.prototype.PrepareEffect = function()
+{// to set the visual filter function
+       CCSSP.PrepareFilter(this.ele);
+
+       CCSSP.ShowObject(this.ele, true );
+}
+
+CAgencyWave.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       if( this.timer == null )
+               this.ResetParameters();
+       if( typeof(this.ele.filters.wave) != "object" )
+       {
+               this.EndEffect();
+               return;
+       }
+
+       if( this.duration > 0 )
+       {
+               var percent = ((new Date()).getTime() - this.startTime)/this.duration;
+               if( percent >= 1.0 )
+               {
+                       this.EndEffect();
+                       return;
+               }
+       }
+       
+       this.ele.filters.wave.phase += 5;
+       this.ele.filters.wave.phase %= 100;
+       if( this.timer == null )
+               this.timer = setInterval("CEngine.PerformAnimation(" + this.aniIndex + ")", 50 );
+}
+
+CAgencyWave.prototype.EndEffect = function()
+{// to remove the visual filter function
+       this.ele.style.filter = "";
+       clearInterval( this.timer );
+       this.timer = null;
+}
+
+CAgencyWave.prototype.ResetParameters = function()
+{
+       this.PrepareEffect();
+       this.ele.style.filter = "wave(strength=" + this.strength + ",freq=" + 
+        this.freq +", lightstrength=" + this.lightstrength +",phase=0);";
+       this.startTime = (new Date()).getTime();
+}
+// End of the CAgencyWave definition
+
+// Begin of CAgencyGlow definition
+function CAgencyGlow( element, settings )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       // to set the default value
+       this.glowColor = "green";
+       this.glowStrength = "3";
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "color" : this.glowColor = arrOneSet[1]; break;
+               case "strength" : this.glowStrength = arrOneSet[1]; break;
+               }
+       }
+}
+
+CAgencyGlow.prototype.PrepareEffect = function()
+{
+       CCSSP.PrepareFilter(this.ele);
+       CCSSP.ShowObject(this.ele, true );
+       if( this.ele.style.backgroundColor != "" )
+       {//style.backgroundColor somehow stop the visual filter
+               this.ele.intactBackgroundColor = this.ele.style.backgroundColor;
+               this.ele.style.backgroundColor = "";
+       }
+}
+
+CAgencyGlow.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       this.PrepareEffect();
+       this.ele.style.filter = "glow(Color=" + this.glowColor + ", Strength=" + 
+               this.glowStrength + ", enabled=true" +")";
+}
+
+CAgencyGlow.prototype.EndEffect = function()
+{// to remove the visual filter function
+       this.ele.style.filter = "";
+       if( typeof(this.ele.intactBackgroundColor) != "undefined" )
+               this.ele.style.backgroundColor = this.ele.intactBackgroundColor;
+}
+// End of the CAgencyGlow definition
+
+// Begin of CAgencyDropShadow definition
+function CAgencyDropShadow( element, settings )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       // to set the default value
+       this.shadowColor = "black"; 
+       this.shadowOffx = "1";
+       this.shadowOffy = "1";
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "color" : this.shadowColor = arrOneSet[1]; break;
+               case "offx" : this.shadowOffx = arrOneSet[1]; break;
+               case "offy" : this.shadowOffy = arrOneSet[1]; break;
+               }
+       }
+}
+
+CAgencyDropShadow.prototype.PrepareEffect = function()
+{
+       CCSSP.PrepareFilter(this.ele);
+       CCSSP.ShowObject(this.ele, true );
+       
+       if( this.ele.style.backgroundColor != "" )
+       {//style.backgroundColor somehow stop the visual filter
+               this.ele.intactBackgroundColor = this.ele.style.backgroundColor;
+               this.ele.style.backgroundColor = "";
+       }
+}
+
+CAgencyDropShadow.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       this.PrepareEffect();
+       this.ele.style.filter = "dropshadow(color=" + this.shadowColor + ", offx=" + 
+               this.shadowOffx + ", offy=" + this.shadowOffy + ")";
+}
+
+CAgencyDropShadow.prototype.EndEffect = function()
+{// to remove the visual filter function
+       this.ele.style.filter = "";
+       if( typeof(this.ele.intactBackgroundColor) != "undefined" )
+               this.ele.style.backgroundColor = this.ele.intactBackgroundColor;
+}
+// End of the CAgencyDropShadow definition
+
+// Begin of CAgencyRevealTrans definition
+function CAgencyRevealTrans( element, settings )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       // to set the default value
+       this.duration = 1.0; //The value is specified in seconds.milliseconds format (0.0000).
+       this.transition = 0;
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "type" : this.transition = arrOneSet[1]; break;
+               case "duration" : this.duration = 100/arrOneSet[1];     break;
+               }
+       }
+}
+
+CAgencyRevealTrans.prototype.PrepareEffect = function()
+{
+       CCSSP.PrepareFilter(this.ele);
+       CCSSP.ShowObject( this.ele, false);
+}
+
+CAgencyRevealTrans.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       if( typeof( this.ele.filters.RevealTrans ) == "object" )
+       {
+               if( this.ele.filters.RevealTrans.status == 2 )
+                       this.ele.filters.RevealTrans.stop();  
+       }
+
+       this.PrepareEffect();
+       
+       this.ele.style.filter = "RevealTrans(duration=" + this.duration + 
+               ", transition=" + this.transition + ")";
+       
+    if( typeof( this.ele.filters.RevealTrans ) == "object" )
+    {
+               this.ele.filters.RevealTrans.apply();
+               CCSSP.ShowObject( this.ele, true);
+               this.ele.filters.RevealTrans.play();  
+       }
+       else
+               CCSSP.ShowObject( this.ele, true);
+}
+
+CAgencyRevealTrans.prototype.EndEffect = function()
+{
+    if( typeof( this.ele.filters.RevealTrans ) == "object" )
+               this.ele.filters.RevealTrans.stop();  
+       this.ele.style.filter = "";
+}
+// End of the CAgencyRevealTrans definition
+
+// Begin of CAgencyBlur definition
+function CAgencyBlur( element, settings )
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       // to set the default value
+       this.strength = "5";
+       this.direction = "90";
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "strength" : this.strength = arrOneSet[1]; break;
+               case "direction" : this.direction = arrOneSet[1]; break;
+               }
+       }
+}
+
+CAgencyBlur.prototype.PrepareEffect = function()
+{
+       CCSSP.PrepareFilter(this.ele);
+       CCSSP.ShowObject(this.ele, true );
+}
+
+CAgencyBlur.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       CCSSP.PrepareFilter(this.ele);
+       this.ele.style.filter = "blur(strength=" + this.strength + 
+               ", direction=" + this.direction + ")";
+}
+
+CAgencyBlur.prototype.EndEffect = function()
+{// to remove the visual filter function
+       this.ele.style.filter = "";
+}
+// End of the CAgencyBlur definition
+
+// Begin of CAgencyChangeFilter definition
+function CAgencyChangeFilter( element, settings ) // flipH, flipV, invert, grey,
+{// because of "visual filter" style, this won't work in Navigator
+       this.ele = element;
+
+       // to set the default value
+       this.filterFunction = settings;
+}
+
+CAgencyChangeFilter.prototype.PrepareEffect = function()
+{
+       CCSSP.PrepareFilter(this.ele);
+       CCSSP.ShowObject(this.ele, true );
+}
+
+CAgencyChangeFilter.prototype.UpdateEffect = function()
+{// to set the visual filter function
+       CCSSP.PrepareFilter(this.ele);
+       this.ele.style.filter = this.filterFunction;
+}
+
+CAgencyChangeFilter.prototype.EndEffect = function()
+{// to remove the visual filter function
+       this.ele.style.filter = "";
+}
+// End of the CAgencyChangeFilter definition
+
+// The effects below change the style on the fly, so they won't work in Navigator
+
+// Begin of CAgencyFontChange definition, 
+function CAgencyFontChange( element, settings )
+{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.
+       this.ele = element;
+       
+       // to retrieve the original font style
+       this.RetrieveOldFont( this.ele );
+       
+       // to set the default font to change
+       this.newfontFamily = this.ele.oldFontFamily;
+       this.newfColor = this.ele.oldColor;
+       this.newtextDecoration = this.ele.oldTextDecoration;
+       this.newfontWeight = this.ele.oldFontWeight;
+       this.newfontStyle = this.ele.oldFontStyle;
+       this.newfontSize = this.ele.oldFontSize;
+       this.newBackgroundColor = this.ele.oldBackgroundColor;
+       
+       var arrAllSet = settings.split(",");
+       for( var i = 0; i < arrAllSet.length; i ++ )
+       {// to retrieve the setting
+               arrAllSet[i] = CCSSP.TrimSpace(arrAllSet[i]);
+               var arrOneSet = arrAllSet[i].split("=");
+               for( var j = 0; j < arrOneSet.length; j++ )
+                       arrOneSet[j] = CCSSP.TrimSpace(arrOneSet[j]);
+               switch( arrOneSet[0] )
+               {
+               case "font-family" : this.newfontFamily = arrOneSet[1]; break;
+               case "color" : this.newfColor = arrOneSet[1]; break;
+               case "underline" : this.newtextDecoration = (arrOneSet[1]=="on")? "underline" : "none"; break;
+               case "bold" : this.newfontWeight = (arrOneSet[1]=="on")? "bold" : "normal"; break;
+               case "italic" : this.newfontStyle = (arrOneSet[1]=="on")? "italic" : "normal"; break;
+               case "size" : this.newfontSize = arrOneSet[1]; break;
+               case "background-color" : this.newBackgroundColor = arrOneSet[1]; break;
+               }
+       }
+}
+
+CAgencyFontChange.prototype.RetrieveOldFont = function(objChild)
+{
+       if( typeof(objChild.oldFontFamily) == "undefined" )
+               objChild.oldFontFamily = objChild.style.fontFamily;
+       if( typeof(objChild.oldColor) == "undefined" )
+               objChild.oldColor = objChild.style.color;
+       if( typeof(objChild.oldTextDecoration) == "undefined" )
+               objChild.oldTextDecoration = objChild.style.textDecoration;
+       if( typeof(objChild.oldFontWeight) == "undefined" )
+               objChild.oldFontWeight = objChild.style.fontWeight;
+       if( typeof(objChild.oldFontStyle) == "undefined" )
+               objChild.oldFontStyle = objChild.style.fontStyle;
+       if( typeof(objChild.oldFontSize) == "undefined" )
+               objChild.oldFontSize = objChild.style.fontSize;
+       if( typeof(objChild.oldBackgroundColor) == "undefined" )
+               objChild.oldBackgroundColor = objChild.style.backgroundColor;
+}
+
+CAgencyFontChange.prototype.PrepareEffect = function()
+{
+       // as for expanding text, the child is created after the constructor called
+       for(var index = 0; index < this.ele.all.length; index++)
+               this.RetrieveOldFont(this.ele.all[index]);
+       CCSSP.ShowObject(this.ele, true );
+}
+
+CAgencyFontChange.prototype.UpdateEffect = function()
+{// to change the font
+       this.PrepareEffect();
+       this.UpdateEffectAllChildren( this.ele );
+       for( var index = 0; index < this.ele.all.length; index++)
+               this.UpdateEffectAllChildren(this.ele.all[index]);
+}
+
+CAgencyFontChange.prototype.UpdateEffectAllChildren = function(objChild)
+{
+       objChild.style.fontFamily = this.newfontFamily;
+       objChild.style.color = this.newfColor;
+       objChild.style.textDecoration = this.newtextDecoration;
+       objChild.style.fontWeight = this.newfontWeight;
+       objChild.style.fontStyle = this.newfontStyle;
+       objChild.style.fontSize = this.newfontSize;
+       objChild.style.backgroundColor = this.newBackgroundColor;
+}
+
+CAgencyFontChange.prototype.EndEffect = function()
+{// to reinstate the original font style
+       this.EndEffectAllChildren( this.ele );
+       for( var index = 0; index < this.ele.all.length; index++)
+               this.EndEffectAllChildren(this.ele.all[index]);
+}
+
+CAgencyFontChange.prototype.EndEffectAllChildren = function( objChild )
+{
+       if( typeof(objChild.oldFontFamily) != "undefined" )
+               objChild.style.fontFamily = objChild.oldFontFamily;
+       if( typeof(objChild.oldColor) != "undefined" )
+               objChild.style.color = objChild.oldColor;
+       if( typeof(objChild.oldFontWeight) != "undefined" )
+               objChild.style.fontWeight = objChild.oldFontWeight;
+       if( typeof(objChild.oldFontStyle) != "undefined" )
+               objChild.style.fontStyle = objChild.oldFontStyle;
+       if( typeof(objChild.oldFontSize) != "undefined" )
+               objChild.style.fontSize = objChild.oldFontSize;
+       if( typeof(objChild.oldTextDecoration) != "undefined" )
+               objChild.style.textDecoration = objChild.oldTextDecoration;
+       if( typeof(objChild.oldBackgroundColor) != "undefined" )
+               objChild.style.backgroundColor = objChild.oldBackgroundColor;
+}
+// End of the CAgencyFontChange definition
+
+// Begin of the CAgencyChangeStyle definition
+function CAgencyChangeStyle( element, settings )
+{//this class can be replace by CAgencyChangeStyle,provided the "settings" is standard CSS string.
+       this.ele = element;
+       
+       // to retrieve the original style
+       this.oldstyle = this.ele.style.cssText;
+       
+       // to set the default style
+       this.newStyle = this.oldstyle;
+       
+       if( typeof(settings) == "string" && settings.length > 1 )
+               this.newStyle = this.oldstyle + " " + settings;
+}
+
+CAgencyChangeStyle.prototype.PrepareEffect = function()
+{
+       CCSSP.ShowObject(this.ele, true );
+}
+
+CAgencyChangeStyle.prototype.UpdateEffect = function()
+{// to change the style
+       this.ele.style.cssText = this.newStyle;
+}
+
+CAgencyChangeStyle.prototype.EndEffect = function()
+{// to reinstate the original style
+       this.ele.style.cssText = this.oldStyle;
+}
+// End of the CAgencyChangeStyle definition
+
+//End the definition of CAgencyXXXX classes
+
+//Begin to collaborate with other event handler settings 
+CCSSP.RegisterEventHandler( window, "onload", "CEngine.OnPageLoad();BSSCOnLoad();kadovInitTriggersInHead();");
+CCSSP.RegisterEventHandler( document, "onclick", "CEngine.OnPageClick();BSSCOnClick();");
+CCSSP.RegisterEventHandler( document, "onmouseover", "CEngine.OnMouseOver();BSSCOnMouseOver();" );
+CCSSP.RegisterEventHandler( document, "onmouseout", "CEngine.OnMouseOver();BSSCOnMouseOut();" );
+CCSSP.RegisterEventHandler( window, "onunload", "BSSCOnUnload();");
+//End to collaborate with other event handler settings
+
+/// Section End  - CCSSP DHTM 2 (JavaScript 1.2)
+
 //// Segment End -- (JavaScript 1.2)
\ No newline at end of file
index 7b56ecd85e7fb5e771ad2263529414d708916ae1..3245a95a763c75bdd29397972cc9bd67a735ef2c 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Extrusion</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:27px; height:24px; border-style:none; }\r
-img_whs3 { border:none; width:411px; height:309px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-table.whs5 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs6 { width:50%; }\r
-tr.whs7 { x-cell-content-align:top; }\r
-td.whs8 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs9 { border:none; width:350px; height:201px; border-style:none; }\r
-td.whs10 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nExtrusion");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Extrusion</h1>\r
-\r
-<p>Extrusion is a type of surface meshing by generation from discretized \r
- lines. It is used to build mesh elements of plus one dimension than the \r
- swept ones. Each swept 1D element produces one or more quadrangles (or \r
- triangles if one node of a rotated element lays on the revolution axis).</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To use extrusion:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Extrusion </B></span>item \r
- or click <img src="image91.gif" width="27px" height="24px" border="0" class="img_whs2"> button in the toolbar. The following dialog box \r
- will appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/extrusionalongaline1.png" x-maintain-ratio="TRUE" width="411px" height="309px" border="0" class="img_whs3"> &nbsp;<img src="pics/extrusionalongaline2.png" x-maintain-ratio="TRUE" width="411px" height="309px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. In this dialog box you should select </p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs1">the type of elements \r
- which will be extruded (1D or 2D),</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">specify the IDs of \r
- the elements which will be extruded by selecting them in the 3D viewer \r
- or select the whole mesh or submesh,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">specify the vector \r
- along which the elements will be extruded,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">number of steps</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs5">\r
-<col class="whs6">\r
-<col class="whs6">\r
-\r
-<tr valign="top" class="whs7">\r
-<td width="50%" class="whs8">\r
-<p><img src="image77.jpg" width="350px" height="201px" border="0" class="img_whs9"></td>\r
-<td width="50%" class="whs10">\r
-<p><img src="image76.jpg" width="350px" height="201px" border="0" class="img_whs9"></td></tr>\r
-</table>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of an <a href="modifying_meshes.htm#bookmark9">Extrusion</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Extrusion</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:27px; height:24px; border-style:none; }
+img_whs3 { border:none; width:411px; height:309px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+table.whs5 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs6 { width:50%; }
+tr.whs7 { x-cell-content-align:top; }
+td.whs8 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs9 { border:none; width:350px; height:201px; border-style:none; }
+td.whs10 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nExtrusion");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Extrusion</h1>
+
+<p>Extrusion is a type of surface meshing by generation from discretized 
+ lines. It is used to build mesh elements of plus one dimension than the 
+ swept ones. Each swept 1D element produces one or more quadrangles (or 
+ triangles if one node of a rotated element lays on the revolution axis).</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To use extrusion:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Extrusion </B></span>item 
+ or click <img src="image91.gif" width="27px" height="24px" border="0" class="img_whs2"> button in the toolbar. The following dialog box 
+ will appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/extrusionalongaline1.png" x-maintain-ratio="TRUE" width="411px" height="309px" border="0" class="img_whs3"> &nbsp;<img src="pics/extrusionalongaline2.png" x-maintain-ratio="TRUE" width="411px" height="309px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. In this dialog box you should select </p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1">the type of elements 
+ which will be extruded (1D or 2D),</p></li>
+       
+       <li class=kadov-p><p class="whs1">specify the IDs of 
+ the elements which will be extruded by selecting them in the 3D viewer 
+ or select the whole mesh or submesh,</p></li>
+       
+       <li class=kadov-p><p class="whs1">specify the vector 
+ along which the elements will be extruded,</p></li>
+       
+       <li class=kadov-p><p class="whs1">number of steps</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>
+
+<p class=TODO
+       style="margin-left: 40px;">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs5">
+<col class="whs6">
+<col class="whs6">
+
+<tr valign="top" class="whs7">
+<td width="50%" class="whs8">
+<p><img src="image77.jpg" width="350px" height="201px" border="0" class="img_whs9"></td>
+<td width="50%" class="whs10">
+<p><img src="image76.jpg" width="350px" height="201px" border="0" class="img_whs9"></td></tr>
+</table>
+
+<p class=TODO>&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of an <a href="modifying_meshes.htm#bookmark9">Extrusion</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 0811bc58634f730da87c7cbd680d9ae2694615c3..449308c20582d7ca7ddfc0f80b89d44ee369d321 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>About hypotheses</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { background-color:Transparent; color:#000000; }\r
-ol.whs4 { list-style:disc; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs3 {background-color:white; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nAbout Hypotheses");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body page-style="x-size: Letter;"><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>About hypotheses</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Hypotheses</B></span> represent \r
- boundary conditions which will be taken into account at calculations of \r
- meshes or submeshes basing on geometrical objects. These hypotheses allow \r
- you to manage the level of detail of the resulting meshes or submeshes: \r
- when applying different hypotheses with different parameters you can preset \r
- the quantity of meshing elements which will compose your mesh. So, it \r
- will be possible to generate a rough or a more refined mesh or submesh. \r
- </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>In <span style="font-weight: bold;"><B>MESH </B></span>there are the following \r
- Basic Hypotheses (to introduce them, you operate numerical values):</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               type=circle\r
-               class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm">1D Hypotheses</a> (for meshing of <span style="font-weight: bold;"><B>edges)</B></span>:</p></li>\r
-       \r
-       <ul type="disc" class="whs2">\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#arithmetic_1D">Arithmetic 1D</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#Average_length">Average Length</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#deflection_1D">Deflection 1D </a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#Number_of_elements">Number of segments</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#start_and_end_length">Start and end length</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#automatic_length">Automatic Length</a></p></li>\r
-       </ul>\r
-       \r
-       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               type=circle\r
-               class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm">2D Hypotheses</a> (for meshing \r
- of <span style="font-weight: bold;"><B>faces)</B></span>: </p></li>\r
-</ul>\r
-\r
-<ol type="disc" class="whs4">\r
-       \r
-       <ul type="disc" class="whs2">\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#max_element_area">Max Element Area</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#length_from_edges">Length from \r
- Edges</a></p></li>\r
-               \r
-               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#quadrangle preference">Quadrangle \r
- Preference</a></p></li>\r
-       </ul>\r
-</ol>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               type=circle\r
-               class=kadov-p><p class="whs3">3D \r
- Hypothesis (for meshing of <span style="font-weight: bold;"><B>volumes)</B></span>: \r
- </p></li>\r
-       \r
-       <ul type="disc" class="whs2">\r
-               \r
-               <li class=kadov-p><p><a href="max._element_volume_hypothsis.htm">Max \r
- Element Volume</a></p></li>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>There also exist some <a href="non_conform_mesh_allowed_hypothesis.htm">Additional \r
- Hypotheses</a></p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <ul type="disc" class="whs2">\r
-               \r
-               <li class=kadov-p><p>Propagation of 1D Hypothesis on opposite edges</p></li>\r
-               \r
-               <li class=kadov-p><p>Non conform mesh allowed</p></li>\r
-               \r
-               <li class=kadov-p><p>Quadratic mesh</p></li>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The choice of a hypothesis depends on:</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>the geometrical object (shape) which will be meshed</p></li>\r
-       \r
-       <li class=kadov-p><p>the algorithm, which will be selected for meshing \r
- of this geometrical object (shape)</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>About hypotheses</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs2 { list-style:disc; }
+p.whs3 { background-color:Transparent; color:#000000; }
+ol.whs4 { list-style:disc; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs3 {background-color:white; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nAbout Hypotheses");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body page-style="x-size: Letter;"><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>About hypotheses</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Hypotheses</B></span> represent 
+ boundary conditions which will be taken into account at calculations of 
+ meshes or submeshes basing on geometrical objects. These hypotheses allow 
+ you to manage the level of detail of the resulting meshes or submeshes: 
+ when applying different hypotheses with different parameters you can preset 
+ the quantity of meshing elements which will compose your mesh. So, it 
+ will be possible to generate a rough or a more refined mesh or submesh. 
+ </p>
+
+<p>&nbsp;</p>
+
+<p>In <span style="font-weight: bold;"><B>MESH </B></span>there are the following 
+ Basic Hypotheses (to introduce them, you operate numerical values):</p>
+
+<ul type="disc" class="whs2">
+       
+       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               type=circle
+               class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm">1D Hypotheses</a> (for meshing of <span style="font-weight: bold;"><B>edges)</B></span>:</p></li>
+       
+       <ul type="disc" class="whs2">
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#arithmetic_1D">Arithmetic 1D</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#Average_length">Average Length</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#deflection_1D">Deflection 1D </a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#Number_of_elements">Number of segments</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#start_and_end_length">Start and end length</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="arithmetic_1d.htm#automatic_length">Automatic Length</a></p></li>
+       </ul>
+       
+       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               type=circle
+               class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm">2D Hypotheses</a> (for meshing 
+ of <span style="font-weight: bold;"><B>faces)</B></span>: </p></li>
+</ul>
+
+<ol type="disc" class="whs4">
+       
+       <ul type="disc" class="whs2">
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#max_element_area">Max Element Area</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#length_from_edges">Length from 
+ Edges</a></p></li>
+               
+               <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+                       class=kadov-p><p class="whs3"><a href="max._element_area_hypothesis.htm#quadrangle preference">Quadrangle 
+ Preference</a></p></li>
+       </ul>
+</ol>
+
+<ul type="disc" class="whs2">
+       
+       <li style="list-style: circle; /*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               type=circle
+               class=kadov-p><p class="whs3">3D 
+ Hypothesis (for meshing of <span style="font-weight: bold;"><B>volumes)</B></span>: 
+ </p></li>
+       
+       <ul type="disc" class="whs2">
+               
+               <li class=kadov-p><p><a href="max._element_volume_hypothsis.htm">Max 
+ Element Volume</a></p></li>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>There also exist some <a href="non_conform_mesh_allowed_hypothesis.htm">Additional 
+ Hypotheses</a></p>
+
+<ul type="disc" class="whs2">
+       
+       <ul type="disc" class="whs2">
+               
+               <li class=kadov-p><p>Propagation of 1D Hypothesis on opposite edges</p></li>
+               
+               <li class=kadov-p><p>Non conform mesh allowed</p></li>
+               
+               <li class=kadov-p><p>Quadratic mesh</p></li>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>The choice of a hypothesis depends on:</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>the geometrical object (shape) which will be meshed</p></li>
+       
+       <li class=kadov-p><p>the algorithm, which will be selected for meshing 
+ of this geometrical object (shape)</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 1b91ca43419e472acdfa5f830ba64423e93cd7dd..353b6a7a89fbcc44babb826f3826ac8a286cc6b8 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>About meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { text-indent:8px; }\r
-p.whs4 { text-indent:48px; }\r
-h4.whs5 { text-indent:1px; }\r
-p.whs6 { text-indent:1px; }\r
-img_whs7 { border:none; width:36px; height:38px; float:none; border-style:none; }\r
-p.whs8 { font-weight:bold; text-indent:1px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nAbout meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>About meshes</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>MESH</B></span> represents \r
- a discretization of a geometrical CAD model into a set of entities with \r
- a simple topology. In MESH there are two options of creation of meshes, \r
- you can:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>generate meshes on the basis of geometrical shapes \r
- produced in the GEOM module, </p></li>\r
-       \r
-       <li class=kadov-p><p>create your own meshes using the MESH functions \r
- destined for modification of generated meshes. </p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The topology of a mesh is described by the relationships between its \r
- entities including:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Node</B></span> \r
\96 0D element of a mesh presented by a point with coordinates (x, y, z).</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Edge</B></span> \r
\96 1D element of a mesh defined by two nodes.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Face</B></span> \r
\96 2D element of a mesh defined by three or four edges (closed contour).</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Volume</B></span> \r
\96 3D element of a mesh defined by several faces.</p></li>\r
-</ul>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4">These entities are considered as topological \r
- entities and they don't imply any geometric representation. Only <span \r
- style="font-weight: bold;"><B>Nodes</B></span> reference &nbsp;geometric \r
- representations of points with definite coordinates. <span style="text-indent: 8px;">The \r
- node entity will contain &nbsp;additional \r
- information about its position in the space and its relations with the \r
- meshed CAD model. Its position could be described in the following way:</span></p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>2D \r
- position</B></span>. It is a free position defined by only two coordinates \r
- x,y.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>3D \r
- position</B></span>. It is a free position defined by three coordinates x,y \r
- and z.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Surface \r
- position</B></span>. It characterizes the position of a node on a geometric \r
- surface and is defined by the u,v position in the parametric space of \r
- the corresponding surface.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Line \r
- position</B></span>. It characterizes the position of a node on a geometric \r
- curve and is defined by the u parameter and the corresponding curve.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Vertex \r
- position</B></span>. It characterizes the position of a node on a geometric \r
- point of the meshed CAD model and is defined by the x,y,z coordinates \r
- of the corresponding vertex.</p></li>\r
-</ul>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4 class="whs5">Connections</h4>\r
-\r
-<p class="whs6">Each mesh entity bounds 0 or more mesh entities \r
- of higher dimension. In the same way each mesh entity is bounded by 0 \r
- or more mesh entities of lower dimension:</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs6">A node bounds edges, \r
- faces and volumes</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6">An edge bounds faces, \r
- and volumes</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6">A face bounds volumes</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6">A volume is bounded \r
- by faces, edges and nodes</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6">A face is bounded by \r
- edges, and nodes</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6">An edge is bounded by \r
- nodes</p></li>\r
-</ul>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">You can notice that there are two types of \r
- connections: <span style="font-weight: bold;"><B>inverse</B></span> and <span \r
- style="font-weight: bold;"><B>direct</B></span> connections.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<h4 class="whs5">Inverse connections</h4>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">This relationship has a particularity that \r
- the order of bounded entities has not a direct meaning. Also the number \r
- of bounded entities is not fixed.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"><img src="../pics/exemple.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7"> The edges surrounding a node. \r
- The 3rd edge has no more sense that the 5th one.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs8">Direct connections</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">This relationship has a particularity that \r
- the order of bounding entities is meaningful. The number of bounding entities \r
- is fixed and depends on the type of the entity (hexahedron, tetrahedron,\85).</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"><img src="../pics/exemple.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7"> An edge is composed of two \r
- nodes. A face is composed of 3 or 4 edges depending if we are dealing \r
- with triangles or quadrangles.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">The connections are not only restricted to \r
- entities of one dimension higher or lower. For example some algorithms \r
- may be interested to retrieve all the faces surrounding a node.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>About meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs2 { list-style:disc; }
+p.whs3 { text-indent:8px; }
+p.whs4 { text-indent:48px; }
+h4.whs5 { text-indent:1px; }
+p.whs6 { text-indent:1px; }
+img_whs7 { border:none; width:36px; height:38px; float:none; border-style:none; }
+p.whs8 { font-weight:bold; text-indent:1px; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nAbout meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>About meshes</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>MESH</B></span> represents 
+ a discretization of a geometrical CAD model into a set of entities with 
+ a simple topology. In MESH there are two options of creation of meshes, 
+ you can:</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>generate meshes on the basis of geometrical shapes 
+ produced in the GEOM module, </p></li>
+       
+       <li class=kadov-p><p>create your own meshes using the MESH functions 
+ destined for modification of generated meshes. </p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>The topology of a mesh is described by the relationships between its 
+ entities including:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Node</B></span> 
\96 0D element of a mesh presented by a point with coordinates (x, y, z).</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Edge</B></span> 
\96 1D element of a mesh defined by two nodes.</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Face</B></span> 
\96 2D element of a mesh defined by three or four edges (closed contour).</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Volume</B></span> 
\96 3D element of a mesh defined by several faces.</p></li>
+</ul>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs4">These entities are considered as topological 
+ entities and they don't imply any geometric representation. Only <span 
+ style="font-weight: bold;"><B>Nodes</B></span> reference &nbsp;geometric 
+ representations of points with definite coordinates. <span style="text-indent: 8px;">The 
+ node entity will contain &nbsp;additional 
+ information about its position in the space and its relations with the 
+ meshed CAD model. Its position could be described in the following way:</span></p>
+
+<p class="whs4">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>2D 
+ position</B></span>. It is a free position defined by only two coordinates 
+ x,y.</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>3D 
+ position</B></span>. It is a free position defined by three coordinates x,y 
+ and z.</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Surface 
+ position</B></span>. It characterizes the position of a node on a geometric 
+ surface and is defined by the u,v position in the parametric space of 
+ the corresponding surface.</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Line 
+ position</B></span>. It characterizes the position of a node on a geometric 
+ curve and is defined by the u parameter and the corresponding curve.</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Vertex 
+ position</B></span>. It characterizes the position of a node on a geometric 
+ point of the meshed CAD model and is defined by the x,y,z coordinates 
+ of the corresponding vertex.</p></li>
+</ul>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4 class="whs5">Connections</h4>
+
+<p class="whs6">Each mesh entity bounds 0 or more mesh entities 
+ of higher dimension. In the same way each mesh entity is bounded by 0 
+ or more mesh entities of lower dimension:</p>
+
+<p class="whs6">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs6">A node bounds edges, 
+ faces and volumes</p></li>
+       
+       <li class=kadov-p><p class="whs6">An edge bounds faces, 
+ and volumes</p></li>
+       
+       <li class=kadov-p><p class="whs6">A face bounds volumes</p></li>
+       
+       <li class=kadov-p><p class="whs6">A volume is bounded 
+ by faces, edges and nodes</p></li>
+       
+       <li class=kadov-p><p class="whs6">A face is bounded by 
+ edges, and nodes</p></li>
+       
+       <li class=kadov-p><p class="whs6">An edge is bounded by 
+ nodes</p></li>
+</ul>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">You can notice that there are two types of 
+ connections: <span style="font-weight: bold;"><B>inverse</B></span> and <span 
+ style="font-weight: bold;"><B>direct</B></span> connections.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<h4 class="whs5">Inverse connections</h4>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">This relationship has a particularity that 
+ the order of bounded entities has not a direct meaning. Also the number 
+ of bounded entities is not fixed.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><img src="../pics/exemple.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7"> The edges surrounding a node. 
+ The 3rd edge has no more sense that the 5th one.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs8">Direct connections</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">This relationship has a particularity that 
+ the order of bounding entities is meaningful. The number of bounding entities 
+ is fixed and depends on the type of the entity (hexahedron, tetrahedron,\85).</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><img src="../pics/exemple.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7"> An edge is composed of two 
+ nodes. A face is composed of 3 or 4 edges depending if we are dealing 
+ with triangles or quadrangles.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">The connections are not only restricted to 
+ entities of one dimension higher or lower. For example some algorithms 
+ may be interested to retrieve all the faces surrounding a node.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 213fa1f1357f3cb0bcec5044517be8df3502837f..5444163bc011771c7219b82c3d94154fabf11689 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>About meshing algorithms</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs2 { list-style:disc; }\r
-ul.whs3 { list-style:circle; }\r
-table.whs4 { x-cell-content-align:top; width:45.771%; border-spacing:0px; }\r
-col.whs5 { width:42.826%; }\r
-col.whs6 { width:57.174%; }\r
-tr.whs7 { x-cell-content-align:top; }\r
-td.whs8 { width:42.826%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-p.whs9 { margin-right:2px; }\r
-img_whs10 { border:none; width:170px; height:170px; border-style:none; }\r
-td.whs11 { width:57.174%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-p.whs12 { margin-right:240px; }\r
-img_whs13 { border:none; width:182px; height:177px; border-style:none; }\r
-table.whs14 { x-cell-content-align:top; width:30.595%; border-spacing:0px; }\r
-col.whs15 { width:50.334%; }\r
-col.whs16 { width:49.666%; }\r
-td.whs17 { width:50.334%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs18 { border:none; width:119px; height:299px; border-style:none; }\r
-td.whs19 { width:49.666%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs20 { border:none; width:127px; height:298px; border-style:none; }\r
-p.whs21 { margin-left:40px; }\r
-p.whs22 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs22 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining meshing algorithms");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Defining meshing algorithms</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The MESH module contains a set of meshing algorithms, \r
- which are used for meshing entities (1D, 2D, 3D) composing geometrical \r
- objects. They are as follows:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>For meshing of 1D entities (<span style="font-weight: bold;"><B>edges</B></span>):</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <ul type="disc" class="whs2">\r
-               \r
-               <li style="list-style: circle;"\r
-                       type=circle\r
-                       class=kadov-p><p>Wire Discretization meshing algorithm</p></li>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>For meshing of 2D entities (<span style="font-weight: bold;"><B>faces</B></span>):</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <ul type="circle" class="whs3">\r
-               \r
-               <li class=kadov-p><p>Triangle meshing algorithm - Faces are split \r
- into triangular elements.</p></li>\r
-               \r
-               <li class=kadov-p><p>Quadrangle meshing algorithm - Faces are split \r
- into quadrangular elements.</p></li>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="45.771%" class="whs4">\r
-<col class="whs5">\r
-<col class="whs6">\r
-\r
-<tr valign="top" class="whs7">\r
-<td width="42.826%" class="whs8">\r
-<p class="whs9"><img src="../image123.gif" width="170px" height="170px" border="0" class="img_whs10"></td>\r
-<td width="57.174%" class="whs11">\r
-<p class="whs12"><img src="../image124.gif" width="182px" height="177px" border="0" class="img_whs13"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>For meshing of 3D entities (<span style="font-weight: bold;"><B>volume \r
- objects</B></span>):</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <ul type="circle" class="whs3">\r
-               \r
-               <li class=kadov-p><p>Hexahedron meshing algorithm - Volumes are \r
- split into hexahedral (cubic) elements. </p></li>\r
-               \r
-               <li class=kadov-p><p>Tetrahedron (Netgen) meshing algorithm - Volumes \r
- are split into tetrahedral (pyramidal) elements. </p></li>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="30.595%" class="whs14">\r
-<col class="whs15">\r
-<col class="whs16">\r
-\r
-<tr valign="top" class="whs7">\r
-<td width="50.334%" class="whs17">\r
-<p><img src="../image125.gif" width="119px" height="299px" border="0" class="img_whs18"> </td>\r
-<td width="49.666%" class="whs19">\r
-<p><img src="../image126.gif" width="127px" height="298px" border="0" class="img_whs20"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h4>To apply a meshing algorithm:</h4>\r
-\r
-<p class="whs21">Select this algorithm in the <span style="font-weight: bold;"><B><a href="constructing_meshes.htm">Create Mesh</a> </B></span>dialog box.</p>\r
-\r
-<p class="whs21">&nbsp;</p>\r
-\r
-<p class="whs22"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark8">Define \r
- Meshing Algorithm</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>About meshing algorithms</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs2 { list-style:disc; }
+ul.whs3 { list-style:circle; }
+table.whs4 { x-cell-content-align:top; width:45.771%; border-spacing:0px; }
+col.whs5 { width:42.826%; }
+col.whs6 { width:57.174%; }
+tr.whs7 { x-cell-content-align:top; }
+td.whs8 { width:42.826%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+p.whs9 { margin-right:2px; }
+img_whs10 { border:none; width:170px; height:170px; border-style:none; }
+td.whs11 { width:57.174%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+p.whs12 { margin-right:240px; }
+img_whs13 { border:none; width:182px; height:177px; border-style:none; }
+table.whs14 { x-cell-content-align:top; width:30.595%; border-spacing:0px; }
+col.whs15 { width:50.334%; }
+col.whs16 { width:49.666%; }
+td.whs17 { width:50.334%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs18 { border:none; width:119px; height:299px; border-style:none; }
+td.whs19 { width:49.666%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs20 { border:none; width:127px; height:298px; border-style:none; }
+h4.whs21 { margin-left:0px; }
+p.whs22 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "h4.whs21 {margin-left:1pt; }";
+  strNSS += "p.whs22 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining Algorithms\nBasic meshing algorithms");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Basic meshing algorithms</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The MESH module contains a set of meshing algorithms, 
+ which are used for meshing entities (1D, 2D, 3D) composing geometrical 
+ objects. </p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>For meshing of 1D entities (<span style="font-weight: bold;"><B>edges</B></span>):</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <ul type="disc" class="whs2">
+               
+               <li style="list-style: circle;"
+                       type=circle
+                       class=kadov-p><p>Wire Discretization meshing algorithm</p></li>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>For meshing of 2D entities (<span style="font-weight: bold;"><B>faces</B></span>):</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <ul type="circle" class="whs3">
+               
+               <li class=kadov-p><p>Triangle meshing algorithms (Mefisto and Netgen 
+ 1D-2D ) - Faces are split into triangular elements.</p></li>
+               
+               <li class=kadov-p><p>Quadrangle meshing algorithm (Mapping) - Faces 
+ are split into quadrangular elements.</p></li>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="45.771%" class="whs4">
+<col class="whs5">
+<col class="whs6">
+
+<tr valign="top" class="whs7">
+<td width="42.826%" class="whs8">
+<p class="whs9"><img src="../image123.gif" width="170px" height="170px" border="0" class="img_whs10"></td>
+<td width="57.174%" class="whs11">
+<p class="whs12"><img src="../image124.gif" width="182px" height="177px" border="0" class="img_whs13"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>For meshing of 3D entities (<span style="font-weight: bold;"><B>volume 
+ objects</B></span>):</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <ul type="circle" class="whs3">
+               
+               <li class=kadov-p><p>Hexahedron meshing algorithm (i,j,k) - Volumes 
+ are split into hexahedral (cubic) elements. </p></li>
+               
+               <li class=kadov-p><p>Tetrahedron (Netgen) meshing algorithm - Volumes 
+ are split into tetrahedral (pyramidal) elements. </p></li>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="30.595%" class="whs14">
+<col class="whs15">
+<col class="whs16">
+
+<tr valign="top" class="whs7">
+<td width="50.334%" class="whs17">
+<p><img src="../image125.gif" width="119px" height="299px" border="0" class="img_whs18"> </td>
+<td width="49.666%" class="whs19">
+<p><img src="../image126.gif" width="127px" height="298px" border="0" class="img_whs20"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>There also is a number of more specific algorithms: </p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p><a href="../projection_algorithms.htm">for meshing 
+ by projection of another mesh</a></p></li>
+       
+       <li class=kadov-p><p><a href="../radial_prism.htm">for meshing geometrical 
+ objects with cavities</a></p></li>
+       
+       <li class=kadov-p><p><a href="../prism_3d_algorithm.htm">for meshing 
+ prismatic shapes.</a> </p></li>
+</ul>
+
+<h4 class="whs21"><a href="constructing_meshes.htm">Constructing 
+ meshes</a> <span style="font-weight: normal;">page describes in detail 
+ how to apply meshing algorithms.</span><a href="constructing_meshes.htm" style="font-weight: bold;"> 
+ </a></h4>
+
+<p class="whs22"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark8">Define 
+ Meshing Algorithm</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 0bf3d0bf796b80cc8c324200acbd21c71f0fc938..e8bd41667772e3ddc0ae6f15ec1afb01e7cb52a2 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>About quality controls</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { text-align:justify; }\r
-img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
-ul.whs3 { list-style:disc; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nAbout quality controls");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>About quality controls</h1>\r
-\r
-<p class="whs1"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> <span style="font-weight: bold;"><B>Mesh \r
- quality control</B></span> in MESH is destined for visual control of the generated \r
- mesh.</p>\r
-\r
-<p class="whs1">Application of a definite quality control \r
- consists of usage of the corresponding algorithm, which calculates a value \r
- of a definite geometric characteristic (Area, Length of edges, etc) for \r
- all meshing elements, composing your mesh. Then all meshing elements are \r
- colored according the calculated values. The reference between the coloring \r
- of the meshing elements and these calculated values is shown with the \r
- help of a scalar bar, which is displayed near the presentation of your \r
- mesh. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">There are 1D, 2D and 3D quality controls. \r
- </p>\r
-\r
-<p class="whs1">&nbsp;&nbsp;</p>\r
-\r
-<p class="whs1">1D mesh quality controls:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../free_borders.htm">Free \r
- borders</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../borders_at_multi-connection.htm">Borders \r
- at multi-connection</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../length.htm">Length</a></p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2D mesh quality controls:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../free_edges.htm">Free \r
- edges</a></p></li>\r
-</ul>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="length_of_edges.htm">Length \r
- 2D</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../borders_at_multiconnection_2d.htm">Borders \r
- at multi-connection 2D</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="area_of_elements.htm">Area</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="taper.htm">Taper</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="aspect_ratio.htm">Aspect \r
- ratio</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="minimum_angle.htm">Minimum \r
- angle</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="warp.htm">Warping</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="skew.htm">Skew</a></p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3D mesh quality controls:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../aspect_ratio_3d.htm">Aspect \r
- ratio 3D</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><a href="../volume.htm">Volume</a></p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>About quality controls</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { text-align:justify; }
+img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; }
+ul.whs3 { list-style:disc; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nAbout quality controls");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>About quality controls</h1>
+
+<p class="whs1"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> <span style="font-weight: bold;"><B>Mesh 
+ quality control</B></span> in MESH is destined for visual control of the generated 
+ mesh.</p>
+
+<p class="whs1">Application of a definite quality control 
+ consists of usage of the corresponding algorithm, which calculates a value 
+ of a definite geometric characteristic (Area, Length of edges, etc) for 
+ all meshing elements, composing your mesh. Then all meshing elements are 
+ colored according the calculated values. The reference between the coloring 
+ of the meshing elements and these calculated values is shown with the 
+ help of a scalar bar, which is displayed near the presentation of your 
+ mesh. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">There are 1D, 2D and 3D quality controls. 
+ </p>
+
+<p class="whs1">&nbsp;&nbsp;</p>
+
+<p class="whs1">1D mesh quality controls:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p class="whs1"><a href="../free_borders.htm">Free 
+ borders</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="../borders_at_multi-connection.htm">Borders 
+ at multi-connection</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="../length.htm">Length</a></p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2D mesh quality controls:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p class="whs1"><a href="../free_edges.htm">Free 
+ edges</a></p></li>
+</ul>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p class="whs1"><a href="length_of_edges.htm">Length 
+ 2D</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="../borders_at_multiconnection_2d.htm">Borders 
+ at multi-connection 2D</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="area_of_elements.htm">Area</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="taper.htm">Taper</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="aspect_ratio.htm">Aspect 
+ ratio</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="minimum_angle.htm">Minimum 
+ angle</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="warp.htm">Warping</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="skew.htm">Skew</a></p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3D mesh quality controls:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p class="whs1"><a href="../aspect_ratio_3d.htm">Aspect 
+ ratio 3D</a></p></li>
+       
+       <li class=kadov-p><p class="whs1"><a href="../volume.htm">Volume</a></p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 88826e3c809e2010580f060884b5a9b20915fa51..014d6120dd63f2915f443bb40b693a37d88c65a4 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Adding nodes and elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { font-weight:bold; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:155px; height:189px; border-style:none; }\r
-img_whs5 { border:none; width:332px; height:222px; float:none; border-style:none; }\r
-img_whs6 { border:none; width:257px; height:247px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:332px; height:231px; float:none; border-style:none; }\r
-img_whs8 { border:none; width:260px; height:255px; float:none; border-style:none; }\r
-img_whs9 { border:none; width:332px; height:257px; float:none; border-style:none; }\r
-img_whs10 { border:none; width:275px; height:254px; float:none; border-style:none; }\r
-h4.whs11 { margin-left:40px; }\r
-img_whs12 { border:none; float:none; width:280px; height:258px; border-style:none; }\r
-img_whs13 { border:none; width:251px; height:258px; float:none; border-style:none; }\r
-img_whs14 { border:none; width:350px; height:184px; border-style:none; }\r
-img_whs15 { border:none; width:332px; height:430px; float:none; border-style:none; }\r
-img_whs16 { border:none; width:369px; height:360px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nAdding nodes and elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Adding nodes and elements</h1>\r
-\r
-<p>In MESH you can add to your mesh different elements such as:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_nodes">Nodes</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_edges">Edges</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_triangles">Triangles</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_quadrangles">Quadrangles</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_polygons">Polygons</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_tetrahedrons">Tetrahedrons</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_hexahedrons">Hexahedrons</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="#Adding_polyhedrons">Polyhedrons</a></p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To add a node or an element to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs3">1. Select your mesh in the Object Browser \r
- or in the 3D viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Add </B></span>item, \r
- the following associated submenu will appear:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image146.gif" width="155px" height="189px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">From this submenu select the type of element \r
- which you would like to add to your mesh. </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> sample TUI Scripts of &nbsp;<a href="../modifying_meshes.htm#bookmark">Adding \r
- Nodes and Elements</a><a href="../modifying_meshes.htm#bookmark8"> </a>operations. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h4><a name=Adding_nodes>Adding nodes</a></h4>\r
-\r
-<p class="whs3"><img src="../pics/addnode.png" x-maintain-ratio="TRUE" width="332px" height="222px" border="0" class="img_whs5"> &nbsp;&nbsp;&nbsp;&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;<img src="../pics/add_node.png" x-maintain-ratio="TRUE" width="257px" height="247px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box set coordinates for your \r
- node in the <span style="font-weight: bold;"><B>Coordinates </B></span>set of \r
- fields and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your node will be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_edges>Adding edges</a></h4>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/addedge.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_edge.png" x-maintain-ratio="TRUE" width="260px" height="255px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your edge by selecting them in the 3D viewer with pressed Shift \r
- button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your edge will be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_triangles>Adding triangles</a></h4>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/addtriangle.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_triangle.png" x-maintain-ratio="TRUE" width="275px" height="254px" border="0" class="img_whs10"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your triangle by selecting them in the 3D viewer with pressed \r
- Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your triangle will \r
- be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_quadrangles>Adding quadrangles</a></h4>\r
-\r
-<h4 class="whs11"><img src="../pics/addquadrangle.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_quadrangle.png" x-maintain-ratio="TRUE" width="280px" height="258px" border="0" class="img_whs12"></h4>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your quadrangle by selecting them in the 3D viewer with pressed \r
- Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your quadrangle will \r
- be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_polygons>Adding polygons</a><a name=Adding_quadrangles1> \r
- </a></h4>\r
-\r
-<h4 class="whs11"><img src="../pics/addpolygon.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_polygone.png" x-maintain-ratio="TRUE" width="251px" height="258px" border="0" class="img_whs13"></h4>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your polygon by selecting them in the 3D viewer with pressed \r
- Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_tetrahedrons>Adding tetrahedrons</a></h4>\r
-\r
-<p class="whs3"><img src="../pics/addtetrahedron.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your tetrahedron by selecting them in the 3D viewer with pressed \r
- Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your tetrahedron will \r
- be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image70.jpg" width="350px" height="184px" border="0" class="img_whs14"></p>\r
-\r
-<h4><a name=Adding_hexahedrons>Adding hexahedrons</a></h4>\r
-\r
-<p class="whs3"><img src="../pics/addhexahedron.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box specify the nodes which \r
- will form your hexahedron by selecting them in the 3D viewer with pressed \r
- Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or \r
- <span style="font-weight: bold;"><B>OK </B></span>button. Your hexahedron will \r
- be created:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image71.jpg" width="350px" height="184px" border="0" class="img_whs14"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4><a name=Adding_polyhedrons>Adding polyhedrons</a></h4>\r
-\r
-<p class="whs3"><img src="../pics/a-createpolyhedralvolume.png" x-maintain-ratio="TRUE" width="332px" height="430px" border="0" class="img_whs15"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_polyhedron.png" x-maintain-ratio="TRUE" width="369px" height="360px" border="0" class="img_whs16"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">There are two different ways to add polyhedral \r
- volumes. </p>\r
-\r
-<p class="whs3">If you select <span style="font-weight: bold;"><B>Node</B></span> \r
- as <span style="font-weight: bold;"><B>Elements Type</B></span> you will specify \r
- the nodes which will form the faces of your polyhedron by selecting the \r
- nodes in the 3D viewer with pressed Shift button and clicking the <span \r
- style="font-weight: bold;"><B>Add</B></span> button to add the face in the list \r
- of Faces by Nodes, which will form your polyhedron. Note, that it could \r
- be very useful to toggle Polyhedron Preview checkbox to see the results \r
- of your selection. </p>\r
-\r
-<p class="whs3">The second way is somewhat simpler, however, \r
- there are cases when it does not provide you with the necessary level \r
- of precision. If you select <span style="font-weight: bold;"><B>Face</B></span> \r
- as <span style="font-weight: bold;"><B>Elements Type</B></span>, you will be \r
- able to select the faces &nbsp;which \r
- will form your polyhedron in the 3D viewer with pressed Shift button. \r
- If you've managed to </p>\r
-\r
-<p class="whs3">obtain the necessary result, click the <span \r
- style="font-weight: bold;"><B>Apply </B></span>or <span style="font-weight: bold;"><B>OK \r
- </B></span><span style="margin-left: 40px;">button. Your hexahedron will be \r
- created.</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Adding nodes and elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { font-weight:bold; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:155px; height:189px; border-style:none; }
+img_whs5 { border:none; width:332px; height:222px; float:none; border-style:none; }
+img_whs6 { border:none; width:257px; height:247px; float:none; border-style:none; }
+img_whs7 { border:none; width:332px; height:231px; float:none; border-style:none; }
+img_whs8 { border:none; width:260px; height:255px; float:none; border-style:none; }
+img_whs9 { border:none; width:332px; height:257px; float:none; border-style:none; }
+img_whs10 { border:none; width:275px; height:254px; float:none; border-style:none; }
+h4.whs11 { margin-left:40px; }
+img_whs12 { border:none; float:none; width:280px; height:258px; border-style:none; }
+img_whs13 { border:none; width:251px; height:258px; float:none; border-style:none; }
+img_whs14 { border:none; width:350px; height:184px; border-style:none; }
+img_whs15 { border:none; width:332px; height:430px; float:none; border-style:none; }
+img_whs16 { border:none; width:369px; height:360px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nAdding nodes and elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Adding nodes and elements</h1>
+
+<p>In MESH you can add to your mesh different elements such as:</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs1">
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_nodes">Nodes</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_edges">Edges</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_triangles">Triangles</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_quadrangles">Quadrangles</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_polygons">Polygons</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_tetrahedrons">Tetrahedrons</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_hexahedrons">Hexahedrons</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="#Adding_polyhedrons">Polyhedrons</a></p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To add a node or an element to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs3">1. Select your mesh in the Object Browser 
+ or in the 3D viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Add </B></span>item, 
+ the following associated submenu will appear:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../image146.gif" width="155px" height="189px" border="0" class="img_whs4"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">From this submenu select the type of element 
+ which you would like to add to your mesh. </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> sample TUI Scripts of &nbsp;<a href="../modifying_meshes.htm#bookmark">Adding 
+ Nodes and Elements</a><a href="../modifying_meshes.htm#bookmark8"> </a>operations. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h4><a name=Adding_nodes>Adding nodes</a></h4>
+
+<p class="whs3"><img src="../pics/addnode.png" x-maintain-ratio="TRUE" width="332px" height="222px" border="0" class="img_whs5"> &nbsp;&nbsp;&nbsp;&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;<img src="../pics/add_node.png" x-maintain-ratio="TRUE" width="257px" height="247px" border="0" class="img_whs6"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box set coordinates for your 
+ node in the <span style="font-weight: bold;"><B>Coordinates </B></span>set of 
+ fields and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your node will be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_edges>Adding edges</a></h4>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/addedge.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_edge.png" x-maintain-ratio="TRUE" width="260px" height="255px" border="0" class="img_whs8"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your edge by selecting them in the 3D viewer with pressed Shift 
+ button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your edge will be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_triangles>Adding triangles</a></h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../pics/addtriangle.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_triangle.png" x-maintain-ratio="TRUE" width="275px" height="254px" border="0" class="img_whs10"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your triangle by selecting them in the 3D viewer with pressed 
+ Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your triangle will 
+ be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_quadrangles>Adding quadrangles</a></h4>
+
+<h4 class="whs11"><img src="../pics/addquadrangle.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_quadrangle.png" x-maintain-ratio="TRUE" width="280px" height="258px" border="0" class="img_whs12"></h4>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your quadrangle by selecting them in the 3D viewer with pressed 
+ Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your quadrangle will 
+ be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_polygons>Adding polygons</a><a name=Adding_quadrangles1> 
+ </a></h4>
+
+<h4 class="whs11"><img src="../pics/addpolygon.png" x-maintain-ratio="TRUE" width="332px" height="257px" border="0" class="img_whs9"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_polygone.png" x-maintain-ratio="TRUE" width="251px" height="258px" border="0" class="img_whs13"></h4>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your polygon by selecting them in the 3D viewer with pressed 
+ Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. </p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_tetrahedrons>Adding tetrahedrons</a></h4>
+
+<p class="whs3"><img src="../pics/addtetrahedron.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your tetrahedron by selecting them in the 3D viewer with pressed 
+ Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your tetrahedron will 
+ be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../image70.jpg" width="350px" height="184px" border="0" class="img_whs14"></p>
+
+<h4><a name=Adding_hexahedrons>Adding hexahedrons</a></h4>
+
+<p class="whs3"><img src="../pics/addhexahedron.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs7"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box specify the nodes which 
+ will form your hexahedron by selecting them in the 3D viewer with pressed 
+ Shift button and click the <span style="font-weight: bold;"><B>Apply </B></span>or 
+ <span style="font-weight: bold;"><B>OK </B></span>button. Your hexahedron will 
+ be created:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../image71.jpg" width="350px" height="184px" border="0" class="img_whs14"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4><a name=Adding_polyhedrons>Adding polyhedrons</a></h4>
+
+<p class="whs3"><img src="../pics/a-createpolyhedralvolume.png" x-maintain-ratio="TRUE" width="332px" height="430px" border="0" class="img_whs15"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/add_polyhedron.png" x-maintain-ratio="TRUE" width="369px" height="360px" border="0" class="img_whs16"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">There are two different ways to add polyhedral 
+ volumes. </p>
+
+<p class="whs3">If you select <span style="font-weight: bold;"><B>Node</B></span> 
+ as <span style="font-weight: bold;"><B>Elements Type</B></span> you will specify 
+ the nodes which will form the faces of your polyhedron by selecting the 
+ nodes in the 3D viewer with pressed Shift button and clicking the <span 
+ style="font-weight: bold;"><B>Add</B></span> button to add the face in the list 
+ of Faces by Nodes, which will form your polyhedron. Note, that it could 
+ be very useful to toggle Polyhedron Preview checkbox to see the results 
+ of your selection. </p>
+
+<p class="whs3">The second way is somewhat simpler, however, 
+ there are cases when it does not provide you with the necessary level 
+ of precision. If you select <span style="font-weight: bold;"><B>Face</B></span> 
+ as <span style="font-weight: bold;"><B>Elements Type</B></span>, you will be 
+ able to select the faces &nbsp;which 
+ will form your polyhedron in the 3D viewer with pressed Shift button. 
+ If you've managed to </p>
+
+<p class="whs3">obtain the necessary result, click the <span 
+ style="font-weight: bold;"><B>Apply </B></span>or <span style="font-weight: bold;"><B>OK 
+ </B></span><span style="margin-left: 40px;">button. Your hexahedron will be 
+ created.</span></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 78cbd6cdd83431da961b3f4f3453a77181908d1a..5947a248c97c23df08c971558af0a1091fcbe3fd 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Area of elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:22px; height:23px; border-style:none; }\r
-img_whs4 { border:none; width:451px; height:308px; border-style:none; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nArea");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Area</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Area </B></span>mesh quality \r
- control is based on the algorithm of area calculation of &nbsp;meshing \r
- elements. It can be applied to meshes consisting of 2D meshing elements \r
- with 3 and 4 nodes (triangles and quadrangles). &nbsp;&nbsp;&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Area quality control to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Area </B></span>or click <img src="../image35.gif" width="22px" height="23px" border="0" class="img_whs3"> button. Your mesh will be displayed \r
- in the viewer with its elements colored according to the applied mesh \r
- quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image5.jpg" width="451px" height="308px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <a href="../quality_controls.htm#bookmark6">Area \r
- quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Area of elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:22px; height:23px; border-style:none; }
+img_whs4 { border:none; width:451px; height:308px; border-style:none; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nArea");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Area</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Area </B></span>mesh quality 
+ control is based on the algorithm of area calculation of &nbsp;meshing 
+ elements. It can be applied to meshes consisting of 2D meshing elements 
+ with 3 and 4 nodes (triangles and quadrangles). &nbsp;&nbsp;&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To apply the Area quality control to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Area </B></span>or click <img src="../image35.gif" width="22px" height="23px" border="0" class="img_whs3"> button. Your mesh will be displayed 
+ in the viewer with its elements colored according to the applied mesh 
+ quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../image5.jpg" width="451px" height="308px" border="0" class="img_whs4"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <a href="../quality_controls.htm#bookmark6">Area 
+ quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index d421cd9139f19f207c45b595010b0dda13a835d6..e6cac0059dbc5f23f15052f63eea32fa45a33163 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Arithmetic 1D</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { background-color:Transparent; color:#000000; font-weight:bold; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:332px; height:238px; float:none; border-style:none; }\r
-img_whs5 { border:none; width:309px; height:316px; float:none; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
-img_whs7 { border:none; width:332px; height:212px; float:none; border-style:none; }\r
-img_whs8 { border:none; width:267px; height:339px; float:none; border-style:none; }\r
-p.whs9 { font-weight:bold; }\r
-img_whs10 { border:none; width:367px; height:224px; border-style:none; float:right; }\r
-img_whs11 { border:none; width:252px; height:243px; float:none; border-style:none; }\r
-p.whs12 { font-weight:bold; margin-left:40px; }\r
-img_whs13 { border:none; width:431px; height:233px; border-style:none; float:right; }\r
-img_whs14 { border:none; width:395px; height:387px; float:none; border-style:none; }\r
-img_whs15 { border:none; width:332px; height:264px; float:none; border-style:none; }\r
-img_whs16 { border:none; width:368px; height:760px; float:none; border-style:none; }\r
-h3.whs17 { margin-left:40px; }\r
-img_whs18 { border:none; width:365px; height:605px; float:none; border-style:none; }\r
-img_whs19 { border:none; width:287px; height:305px; float:none; border-style:none; }\r
-img_whs20 { border:none; width:205px; height:175px; float:none; border-style:none; }\r
-img_whs21 { border:none; width:195px; height:192px; border-style:none; }\r
-img_whs22 { border:none; width:206px; height:195px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs2 {background-color:white; }";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\n1D Meshing Hypotheses");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>1D Meshing Hypotheses</h1>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#arithmetic_1D"><span \r
- style="font-weight: bold;"><B>Arithmetic 1D</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#Average_length"><span \r
- style="font-weight: bold;"><B>Average Length</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#deflection_1D"><span \r
- style="font-weight: bold;"><B>Deflection 1D </B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#Number_of_elements"><span \r
- style="font-weight: bold;"><B>Number of segments</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#start_and_end_length"><span \r
- style="font-weight: bold;"><B>Start and end length</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#automatic_length"><span \r
- style="font-weight: bold;"><B>Automatic Length</B></span></a></p></li>\r
-</ul>\r
-\r
-<h3><a name=arithmetic_1D>Arithmetic 1D hypothesis</a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Arithmetic 1D</B></span> hypothesis allows \r
- to split edges into segments with a length that changes in arithmetic \r
- progression (Lk = Lk-1 + d) beginning from a given starting length and \r
- up to a given end length.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-arithmetic1d.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-ithmetic1d.png" x-maintain-ratio="TRUE" width="309px" height="316px" border="0" class="img_whs5"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark">Defining \r
- Arithmetic 1D hypothesis</a> operation. &nbsp;</p>\r
-\r
-<h3><a name=deflection_1D>Deflection 1D hypothesis</a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Deflection ID </B></span>hypothesis can \r
- be applied for meshing curvilinear edges composing your geometrical object. \r
- It uses only one parameter: the value of deflection. &nbsp;</p>\r
-\r
-<p>A geometrical edge is divided into equal segments. The maximum distance \r
- between a point on the edge within a segment and the line connecting the \r
- ends of the segment should not exceed the specified value of deflection \r
- . Then mesh nodes are constructed at end segment locations and 1D mesh \r
- elements are constructed on segments.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-deflection1d.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-flection1d.png" x-maintain-ratio="TRUE" width="267px" height="339px" border="0" class="img_whs8"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark9">Defining \r
- Deflection 1D hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs9"><img src="../image41.gif" x-maintain-ratio="TRUE" width="367px" height="224px" align="right" border="0" class="img_whs10"></p>\r
-\r
-<h3><a name=Average_length>Average Length hypothesis</a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Average Length </B></span>hypothesis can \r
- be applied for meshing of edges composing your geometrical object. Definition \r
- of this hypothesis consists of setting the <span style="font-weight: bold;"><B>length</B></span> \r
- of segments, which will split these edges. The points on the edges generated \r
- by these segments will represent nodes of your mesh. Later these nodes \r
- will be used for meshing of the faces abutting to these edges.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-averagelength.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-erage_length.png" x-maintain-ratio="TRUE" width="252px" height="243px" border="0" class="img_whs11"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark3">Defining \r
- Average Length hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs12"><img src="../image46.gif" x-maintain-ratio="TRUE" width="431px" height="233px" align="right" border="0" class="img_whs13"></p>\r
-\r
-<h3><a name=Number_of_elements>Number of segments hypothesis</a> </h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Number of segments </B></span>hypothesis \r
- can be applied for meshing of edges composing your geometrical object. \r
- Definition of this hypothesis consists of setting the <span style="font-weight: bold;"><B>number</B></span> \r
- of segments, which will split these edges. In other words your edges will \r
- be split into a definite number of segments with approximately the same \r
- length. The points on the edges generated by these segments will represent \r
- nodes of your mesh. Later these nodes will be used for meshing of the \r
- faces abutting to these edges.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs6">You can set the type of distribution for this \r
- hypothesis in the <span style="font-weight: bold;"><B>Hypothesis Construction</B></span> \r
- dialog bog : </p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>Equidistant \r
- Distribution</B></span> - all segments will have the same length, you define \r
- only the <span style="font-weight: bold;"><B>Number of Segments</B></span>.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-nbsegments1.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-mberofsegments.png" x-maintain-ratio="TRUE" width="395px" height="387px" border="0" class="img_whs14"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs9">Scale Distribution - <span style="font-weight: normal;">each \r
- next segment differs from the previous according to the formula:</span> \r
- A<span style="vertical-align: Sub;">i+1</span> = A<span style="vertical-align: Sub;">i \r
- </span>* k, <span style="font-weight: normal;">where</span> k <span style="font-weight: normal;">is \r
- a</span> Scale Factor. </p>\r
-\r
-<p class="whs12"><img src="../pics/a-nbsegments2.png" x-maintain-ratio="TRUE" width="332px" height="264px" border="0" class="img_whs15">\</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">Distribution with Table Density - <span style="font-weight: normal;">you \r
- input a number of pairs</span> t - F(t),<span style="font-weight: normal;"> \r
- where </span>t<span style="font-weight: normal;"> ranges from 0 to 1,</span> \r
- &nbsp;<span style="font-weight: normal;">and \r
- the module computes the formula, which will rule the change of length \r
- of segments and shows the curve in the plot. You can select the </span>Conversion \r
- mode<span style="font-weight: normal;"> from </span>Exponent<span style="font-weight: normal;"> \r
- and </span>Cut negative<span style="font-weight: normal;">. </span></p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs12"><img src="../pics/distributionwithtabledensity.png" x-maintain-ratio="TRUE" width="368px" height="760px" border="0" class="img_whs16"></p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">Distribution with Analytic Density - <span \r
- style="font-weight: normal;">you input the formula, which will rule the \r
- change of length of segments and the module shows the curve in the plot.</span></p>\r
-\r
-<h3 class="whs17"><img src="../pics/distributionwithanalyticdensity.png" x-maintain-ratio="TRUE" width="365px" height="605px" border="0" class="img_whs18"></h3>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark9">Defining \r
- Number of Segments hypothesis</a> operation. &nbsp;</p>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3><a name=start_and_end_length>Start and End Length hypothesis.</a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Start and End Length</B></span> hypothesis \r
- allows to divide a geometrical edge into segments so that the first and \r
- the last segments have a specified length. The length of each but the \r
- first segment differs from length of the previous one by a constant factor. \r
- Then mesh nodes are constructed at segment ends location and 1D mesh elements \r
- are constructed on them.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-startendlength.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-art_end_length.png" x-maintain-ratio="TRUE" width="287px" height="305px" border="0" class="img_whs19"></p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark3">Defining \r
- Start and End Length &nbsp;hypothesis</a> \r
- operation. &nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<h3><a name=automatic_length>Automatic Length</a></h3>\r
-\r
-<p>This hypothesis is automatically applied when you select <span style="font-weight: bold;"><B>Assign \r
- a set of hypotheses</B></span> option in Create Mesh menu. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/automaticlength.png" x-maintain-ratio="TRUE" width="205px" height="175px" border="0" class="img_whs20"> </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The dialog box prompts you to define the quality of the future mesh \r
- by only one parameter, which is <span style="font-weight: bold;"><B>Fineness</B></span>, \r
- ranging from 0 (coarse mesh, low number of elements) to 1 (extremely fine \r
- mesh, great number of elements). Compare one and the same object (sphere) \r
- meshed with minimum and maximum value of this parameter. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image147.gif" width="195px" height="192px" border="0" class="img_whs21"> &nbsp;&nbsp;&nbsp;<img src="../image148.gif" width="206px" height="195px" border="0" class="img_whs22"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Arithmetic 1D</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { background-color:Transparent; color:#000000; font-weight:bold; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:332px; height:238px; float:none; border-style:none; }
+img_whs5 { border:none; width:309px; height:316px; float:none; border-style:none; }
+p.whs6 { margin-left:0px; }
+img_whs7 { border:none; width:332px; height:212px; float:none; border-style:none; }
+img_whs8 { border:none; width:267px; height:339px; float:none; border-style:none; }
+p.whs9 { font-weight:bold; }
+img_whs10 { border:none; width:367px; height:224px; border-style:none; float:right; }
+img_whs11 { border:none; width:252px; height:243px; float:none; border-style:none; }
+p.whs12 { font-weight:bold; margin-left:40px; }
+img_whs13 { border:none; width:431px; height:233px; border-style:none; float:right; }
+img_whs14 { border:none; width:395px; height:387px; float:none; border-style:none; }
+img_whs15 { border:none; width:332px; height:264px; float:none; border-style:none; }
+img_whs16 { border:none; width:368px; height:760px; float:none; border-style:none; }
+h3.whs17 { margin-left:40px; }
+img_whs18 { border:none; width:365px; height:605px; float:none; border-style:none; }
+img_whs19 { border:none; width:287px; height:305px; float:none; border-style:none; }
+img_whs20 { border:none; width:205px; height:175px; float:none; border-style:none; }
+img_whs21 { border:none; width:195px; height:192px; border-style:none; }
+img_whs22 { border:none; width:206px; height:195px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs2 {background-color:white; }";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\n1D Meshing Hypotheses");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>1D Meshing Hypotheses</h1>
+
+<ul type="disc" class="whs1">
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#arithmetic_1D"><span 
+ style="font-weight: bold;"><B>Arithmetic 1D</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#Average_length"><span 
+ style="font-weight: bold;"><B>Average Length</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#deflection_1D"><span 
+ style="font-weight: bold;"><B>Deflection 1D </B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#Number_of_elements"><span 
+ style="font-weight: bold;"><B>Number of segments</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#start_and_end_length"><span 
+ style="font-weight: bold;"><B>Start and end length</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="arithmetic_1d.htm#automatic_length"><span 
+ style="font-weight: bold;"><B>Automatic Length</B></span></a></p></li>
+</ul>
+
+<h3><a name=arithmetic_1D>Arithmetic 1D hypothesis</a></h3>
+
+<p><span style="font-weight: bold;"><B>Arithmetic 1D</B></span> hypothesis allows 
+ to split edges into segments with a length that changes in arithmetic 
+ progression (Lk = Lk-1 + d) beginning from a given starting length and 
+ up to a given end length.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-arithmetic1d.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-ithmetic1d.png" x-maintain-ratio="TRUE" width="309px" height="316px" border="0" class="img_whs5"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark">Defining 
+ Arithmetic 1D hypothesis</a> operation. &nbsp;</p>
+
+<h3><a name=deflection_1D>Deflection 1D hypothesis</a></h3>
+
+<p><span style="font-weight: bold;"><B>Deflection ID </B></span>hypothesis can 
+ be applied for meshing curvilinear edges composing your geometrical object. 
+ It uses only one parameter: the value of deflection. &nbsp;</p>
+
+<p>A geometrical edge is divided into equal segments. The maximum distance 
+ between a point on the edge within a segment and the line connecting the 
+ ends of the segment should not exceed the specified value of deflection 
+ . Then mesh nodes are constructed at end segment locations and 1D mesh 
+ elements are constructed on segments.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-deflection1d.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-flection1d.png" x-maintain-ratio="TRUE" width="267px" height="339px" border="0" class="img_whs8"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark9">Defining 
+ Deflection 1D hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs9"><img src="../image41.gif" x-maintain-ratio="TRUE" width="367px" height="224px" align="right" border="0" class="img_whs10"></p>
+
+<h3><a name=Average_length>Average Length hypothesis</a></h3>
+
+<p><span style="font-weight: bold;"><B>Average Length </B></span>hypothesis can 
+ be applied for meshing of edges composing your geometrical object. Definition 
+ of this hypothesis consists of setting the <span style="font-weight: bold;"><B>length</B></span> 
+ of segments, which will split these edges. The points on the edges generated 
+ by these segments will represent nodes of your mesh. Later these nodes 
+ will be used for meshing of the faces abutting to these edges.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-averagelength.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs7"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-erage_length.png" x-maintain-ratio="TRUE" width="252px" height="243px" border="0" class="img_whs11"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark3">Defining 
+ Average Length hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs12"><img src="../image46.gif" x-maintain-ratio="TRUE" width="431px" height="233px" align="right" border="0" class="img_whs13"></p>
+
+<h3><a name=Number_of_elements>Number of segments hypothesis</a> </h3>
+
+<p><span style="font-weight: bold;"><B>Number of segments </B></span>hypothesis 
+ can be applied for meshing of edges composing your geometrical object. 
+ Definition of this hypothesis consists of setting the <span style="font-weight: bold;"><B>number</B></span> 
+ of segments, which will split these edges. In other words your edges will 
+ be split into a definite number of segments with approximately the same 
+ length. The points on the edges generated by these segments will represent 
+ nodes of your mesh. Later these nodes will be used for meshing of the 
+ faces abutting to these edges.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs6">You can set the type of distribution for this 
+ hypothesis in the <span style="font-weight: bold;"><B>Hypothesis Construction</B></span> 
+ dialog bog : </p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>Equidistant 
+ Distribution</B></span> - all segments will have the same length, you define 
+ only the <span style="font-weight: bold;"><B>Number of Segments</B></span>.</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-nbsegments1.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-mberofsegments.png" x-maintain-ratio="TRUE" width="395px" height="387px" border="0" class="img_whs14"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs9">Scale Distribution - <span style="font-weight: normal;">each 
+ next segment differs from the previous according to the formula:</span> 
+ A<span style="vertical-align: Sub;">i+1</span> = A<span style="vertical-align: Sub;">i 
+ </span>* k, <span style="font-weight: normal;">where</span> k <span style="font-weight: normal;">is 
+ a</span> Scale Factor. </p>
+
+<p class="whs12"><img src="../pics/a-nbsegments2.png" x-maintain-ratio="TRUE" width="332px" height="264px" border="0" class="img_whs15">\</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">Distribution with Table Density - <span style="font-weight: normal;">you 
+ input a number of pairs</span> t - F(t),<span style="font-weight: normal;"> 
+ where </span>t<span style="font-weight: normal;"> ranges from 0 to 1,</span> 
+ &nbsp;<span style="font-weight: normal;">and 
+ the module computes the formula, which will rule the change of length 
+ of segments and shows the curve in the plot. You can select the </span>Conversion 
+ mode<span style="font-weight: normal;"> from </span>Exponent<span style="font-weight: normal;"> 
+ and </span>Cut negative<span style="font-weight: normal;">. </span></p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs12"><img src="../pics/distributionwithtabledensity.png" x-maintain-ratio="TRUE" width="368px" height="760px" border="0" class="img_whs16"></p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">Distribution with Analytic Density - <span 
+ style="font-weight: normal;">you input the formula, which will rule the 
+ change of length of segments and the module shows the curve in the plot.</span></p>
+
+<h3 class="whs17"><img src="../pics/distributionwithanalyticdensity.png" x-maintain-ratio="TRUE" width="365px" height="605px" border="0" class="img_whs18"></h3>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark9">Defining 
+ Number of Segments hypothesis</a> operation. &nbsp;</p>
+
+<h3>&nbsp;</h3>
+
+<h3><a name=start_and_end_length>Start and End Length hypothesis.</a></h3>
+
+<p><span style="font-weight: bold;"><B>Start and End Length</B></span> hypothesis 
+ allows to divide a geometrical edge into segments so that the first and 
+ the last segments have a specified length. The length of each but the 
+ first segment differs from length of the previous one by a constant factor. 
+ Then mesh nodes are constructed at segment ends location and 1D mesh elements 
+ are constructed on them.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-startendlength.png" x-maintain-ratio="TRUE" width="332px" height="238px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/b-art_end_length.png" x-maintain-ratio="TRUE" width="287px" height="305px" border="0" class="img_whs19"></p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark3">Defining 
+ Start and End Length &nbsp;hypothesis</a> 
+ operation. &nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<h3><a name=automatic_length>Automatic Length</a></h3>
+
+<p>This hypothesis is automatically applied when you select <span style="font-weight: bold;"><B>Assign 
+ a set of hypotheses</B></span> option in Create Mesh menu. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/automaticlength.png" x-maintain-ratio="TRUE" width="205px" height="175px" border="0" class="img_whs20"> </p>
+
+<p>&nbsp;</p>
+
+<p>The dialog box prompts you to define the quality of the future mesh 
+ by only one parameter, which is <span style="font-weight: bold;"><B>Fineness</B></span>, 
+ ranging from 0 (coarse mesh, low number of elements) to 1 (extremely fine 
+ mesh, great number of elements). Compare one and the same object (sphere) 
+ meshed with minimum and maximum value of this parameter. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../image147.gif" width="195px" height="192px" border="0" class="img_whs21"> &nbsp;&nbsp;&nbsp;<img src="../image148.gif" width="206px" height="195px" border="0" class="img_whs22"></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 52b40c9a10002087a1ed85b40f2bda0d06e8cd79..d10a24b0103837d76dbd2f100b7266fa87bcc1cb 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Aspect Ratio</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:120px; height:56px; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-img_whs5 { border:none; width:158px; height:110px; float:none; border-style:none; }\r
-img_whs6 { border:none; width:120px; height:48px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:234px; height:96px; float:none; border-style:none; }\r
-p.whs8 { margin-left:0px; }\r
-p.whs9 { margin-left:36px; }\r
-img_whs10 { border:none; width:622px; height:412px; float:none; border-style:none; }\r
-p.whs11 { margin-left:80px; }\r
-img_whs12 { border:none; width:25px; height:24px; border-style:none; }\r
-img_whs13 { border:none; width:439px; height:313px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs8 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nAspect ratio");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Aspect Ratio</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The <span style="font-weight: bold;"><B>Aspect Ratio</B></span> \r
- quality criterion for mesh elements reveals the degree of conformity of \r
- a mesh element to the regular element of its type (with all edges having \r
- the same length). &nbsp;The \r
- criterion can be defined as </p>\r
-\r
-<p class="whs2"><img src="../image142.gif" width="120px" height="56px" border="0" class="img_whs3">where <span style="font-weight: bold; font-style: italic;"><I><B>&#1050;</B></I></span> \r
- is the considered element of the mesh, <span style="font-weight: bold; font-style: italic;"><I><B>h</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>max</B></I></span> is the diameter of the element \r
- &#1050; (i.e. the length of the longest edge), <span style="font-weight: bold; font-style: italic;"><I><B>&#1088;</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>&#1082;</B></I></span> is the radius of the sphere \r
- inscribed in the element K, and <span style="font-weight: bold; font-style: italic;"><I><B>a</B></I></span> \r
- is a normalisation value chosen so that <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>K</B></I></span> = 1 when &#1050; is an equilateral \r
- simplex. </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>The value of <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>K</B></I></span> varies between 1 and +oo and the \r
- closer it is to 1, the better the element &#1050; is. </p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p>The <span style="font-weight: bold;"><B>Aspect Ratio</B></span> \r
- of a <span style="font-weight: bold;"><B>triangle</B></span> 2D element consisting \r
- of 3 nodes is calculated by the formula:</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/image21.gif" x-maintain-ratio="TRUE" width="158px" height="110px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs2"><img src="../pics/image23.gif" x-maintain-ratio="TRUE" width="120px" height="48px" border="0" class="img_whs6"> ,</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">where <span style="font-weight: bold; font-style: italic;"><I><B>&#1088;</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>&#1082;</B></I></span> is the half perimeter of the \r
- element K and <span style="font-weight: bold; font-style: italic;"><I><B>S</B></I></span><span \r
- style="vertical-align: Sub;\r
-               font-weight: bold;\r
-               font-style: italic;"><I><B>K</B></I></span> is its surface.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/image27.gif" x-maintain-ratio="TRUE" width="234px" height="96px" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs8">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs8">The <span style="font-weight: bold;"><B>Aspect \r
- Ratio</B></span> of a <span style="font-weight: bold;"><B>quadrangle</B></span> 2D \r
- element consisting of 4 nodes is the worst (i.e. the greatest) value from \r
- all triangles which can be built taking three nodes of the quadrangle. \r
- There are four triangles to consider: </p></li>\r
-</ul>\r
-\r
-<p class="whs9"><img src="../pics/image138.gif" x-maintain-ratio="TRUE" width="622px" height="412px" border="0" class="img_whs10"></p>\r
-\r
-<p class="whs9">Note, that the Aspect Ratio criterion is \r
- applicable to 2D mesh elements only. For 3D elements we use the <a href="../aspect_ratio_3d.htm">Aspect \r
- Ratio 3D</a> criterion. &nbsp;&nbsp;</p>\r
-\r
-<p class="whs11">&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Aspect Ratio quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Aspect Ratio </B></span>or click <img src="../image37.gif" width="25px" height="24px" border="0" class="img_whs12"> button in the toolbar. \r
- Your mesh will be displayed in the viewer with its elements colored according \r
- to the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image94.jpg" width="439px" height="313px" border="0" class="img_whs13"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs8"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <a href="../quality_controls.htm#bookmark8">Aspect \r
- Ratio quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Aspect Ratio</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:120px; height:56px; border-style:none; }
+ul.whs4 { list-style:disc; }
+img_whs5 { border:none; width:158px; height:110px; float:none; border-style:none; }
+img_whs6 { border:none; width:120px; height:48px; float:none; border-style:none; }
+img_whs7 { border:none; width:234px; height:96px; float:none; border-style:none; }
+p.whs8 { margin-left:0px; }
+p.whs9 { margin-left:36px; }
+img_whs10 { border:none; width:622px; height:412px; float:none; border-style:none; }
+p.whs11 { margin-left:80px; }
+img_whs12 { border:none; width:25px; height:24px; border-style:none; }
+img_whs13 { border:none; width:439px; height:313px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs8 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nAspect ratio");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Aspect Ratio</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The <span style="font-weight: bold;"><B>Aspect Ratio</B></span> 
+ quality criterion for mesh elements reveals the degree of conformity of 
+ a mesh element to the regular element of its type (with all edges having 
+ the same length). &nbsp;The 
+ criterion can be defined as </p>
+
+<p class="whs2"><img src="../image142.gif" width="120px" height="56px" border="0" class="img_whs3">where <span style="font-weight: bold; font-style: italic;"><I><B>&#1050;</B></I></span> 
+ is the considered element of the mesh, <span style="font-weight: bold; font-style: italic;"><I><B>h</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>max</B></I></span> is the diameter of the element 
+ &#1050; (i.e. the length of the longest edge), <span style="font-weight: bold; font-style: italic;"><I><B>&#1088;</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>&#1082;</B></I></span> is the radius of the sphere 
+ inscribed in the element K, and <span style="font-weight: bold; font-style: italic;"><I><B>a</B></I></span> 
+ is a normalisation value chosen so that <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>K</B></I></span> = 1 when &#1050; is an equilateral 
+ simplex. </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>The value of <span style="font-weight: bold; font-style: italic;"><I><B>Q</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>K</B></I></span> varies between 1 and +oo and the 
+ closer it is to 1, the better the element &#1050; is. </p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p>The <span style="font-weight: bold;"><B>Aspect Ratio</B></span> 
+ of a <span style="font-weight: bold;"><B>triangle</B></span> 2D element consisting 
+ of 3 nodes is calculated by the formula:</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/image21.gif" x-maintain-ratio="TRUE" width="158px" height="110px" border="0" class="img_whs5"></p>
+
+<p class="whs2"><img src="../pics/image23.gif" x-maintain-ratio="TRUE" width="120px" height="48px" border="0" class="img_whs6"> ,</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">where <span style="font-weight: bold; font-style: italic;"><I><B>&#1088;</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>&#1082;</B></I></span> is the half perimeter of the 
+ element K and <span style="font-weight: bold; font-style: italic;"><I><B>S</B></I></span><span 
+ style="vertical-align: Sub;
+               font-weight: bold;
+               font-style: italic;"><I><B>K</B></I></span> is its surface.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/image27.gif" x-maintain-ratio="TRUE" width="234px" height="96px" border="0" class="img_whs7"></p>
+
+<p class="whs8">&nbsp;</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs8">The <span style="font-weight: bold;"><B>Aspect 
+ Ratio</B></span> of a <span style="font-weight: bold;"><B>quadrangle</B></span> 2D 
+ element consisting of 4 nodes is the worst (i.e. the greatest) value from 
+ all triangles which can be built taking three nodes of the quadrangle. 
+ There are four triangles to consider: </p></li>
+</ul>
+
+<p class="whs9"><img src="../pics/image138.gif" x-maintain-ratio="TRUE" width="622px" height="412px" border="0" class="img_whs10"></p>
+
+<p class="whs9">Note, that the Aspect Ratio criterion is 
+ applicable to 2D mesh elements only. For 3D elements we use the <a href="../aspect_ratio_3d.htm">Aspect 
+ Ratio 3D</a> criterion. &nbsp;&nbsp;</p>
+
+<p class="whs11">&nbsp;</p>
+
+<p class=TODO>To apply the Aspect Ratio quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Aspect Ratio </B></span>or click <img src="../image37.gif" width="25px" height="24px" border="0" class="img_whs12"> button in the toolbar. 
+ Your mesh will be displayed in the viewer with its elements colored according 
+ to the applied mesh quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../image94.jpg" width="439px" height="313px" border="0" class="img_whs13"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs8"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <a href="../quality_controls.htm#bookmark8">Aspect 
+ Ratio quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 7a1c6e64dbb694cb4a3f099b6cd2e77572b9bd98..c282fe13b4481aa844fdce81a0eefada35d72ff2 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Changing orientation of elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:21px; height:21px; border-style:none; }\r
-img_whs3 { border:none; width:306px; height:425px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-p.whs5 { margin-left:40px; font-weight:normal; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nChanging orientation of elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Changing orientation of elements</h1>\r
-\r
-<p>Orientation of an element is changed by reverting the order of nodes \r
- of the selected elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To change orientation of elements:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1">1. Display a mesh or a submesh in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Orientation </B></span>item \r
- or click <img src="../image79.gif" width="21px" height="21px" border="0" class="img_whs2"> button in the toolbar. The following dialog box \r
- will appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/orientaation1.png" x-maintain-ratio="TRUE" width="306px" height="425px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs5"><span \r
- style="font-weight: bold;"><B>The main list </B></span><span>shall contain the \r
- elements which will be reoriented.</span> You can click on an element \r
- in the 3D viewer and it will be highlighted. After that click the <span \r
- style="font-weight: bold;"><B>Add </B></span>button and the ID of this element \r
- will be added to the list. To remove a selected element or elements from \r
- the list click the <span style="font-weight: bold;"><B>Remove </B></span>button. \r
- The <span style="font-weight: bold;"><B>Sort </B></span>button allows to sort \r
- the list of elements IDs. The <span style="font-weight: bold;"><B>Set filter \r
- </B></span>button allows to apply a definite filter to selection of elements \r
- of your group.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs5"><span \r
- style="font-weight: bold;"><B>Apply to all </B></span><span>radio button allows \r
- to modify the orientation of all elements of the currently displayed mesh \r
- or submesh.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs5"><span \r
- style="font-weight: bold;"><B>Select from </B></span>set of fields allows to \r
- choose a submesh or an existing group whose elements will be automatically \r
- added to the list.</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm \r
- the operation.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark12">Change \r
- Orientation</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Changing orientation of elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:21px; height:21px; border-style:none; }
+img_whs3 { border:none; width:306px; height:425px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+p.whs5 { margin-left:40px; font-weight:normal; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nChanging orientation of elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Changing orientation of elements</h1>
+
+<p>Orientation of an element is changed by reverting the order of nodes 
+ of the selected elements.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To change orientation of elements:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs1">1. Display a mesh or a submesh in the 3D 
+ viewer.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Orientation </B></span>item 
+ or click <img src="../image79.gif" width="21px" height="21px" border="0" class="img_whs2"> button in the toolbar. The following dialog box 
+ will appear:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/orientaation1.png" x-maintain-ratio="TRUE" width="306px" height="425px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs5"><span 
+ style="font-weight: bold;"><B>The main list </B></span><span>shall contain the 
+ elements which will be reoriented.</span> You can click on an element 
+ in the 3D viewer and it will be highlighted. After that click the <span 
+ style="font-weight: bold;"><B>Add </B></span>button and the ID of this element 
+ will be added to the list. To remove a selected element or elements from 
+ the list click the <span style="font-weight: bold;"><B>Remove </B></span>button. 
+ The <span style="font-weight: bold;"><B>Sort </B></span>button allows to sort 
+ the list of elements IDs. The <span style="font-weight: bold;"><B>Set filter 
+ </B></span>button allows to apply a definite filter to selection of elements 
+ of your group.</p></li>
+       
+       <li class=kadov-p><p class="whs5"><span 
+ style="font-weight: bold;"><B>Apply to all </B></span><span>radio button allows 
+ to modify the orientation of all elements of the currently displayed mesh 
+ or submesh.</span></p></li>
+       
+       <li class=kadov-p><p class="whs5"><span 
+ style="font-weight: bold;"><B>Select from </B></span>set of fields allows to 
+ choose a submesh or an existing group whose elements will be automatically 
+ added to the list.</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm 
+ the operation.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark12">Change 
+ Orientation</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 749449fdf86dec0d519afea5c1559fb48b9aca3f..0b8e2f5e69305c58da196e730f08da8093cbd610 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Constructing groups of specific elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nConstructing groups of specific elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Constructing groups of specific elements</h1>\r
-\r
-<p>In MESH you can easily construct groups of specific elements (nodes, \r
- edges, faces or volumes) which will be taken from a definite submesh.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To construct a group of specific elements:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">Right-click on a submesh in the Object Browser \r
- and choose the <span style="font-weight: bold;"><B>Construct Group </B></span>item \r
- or select your submesh in the Object Browser and in the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Construct Group \r
- </B></span>item. MESH will construct several groups consisting of elements \r
- of the definite type: nodes, edges, faces or volumes.</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Constructing groups of specific elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nConstructing groups of specific elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Constructing groups of specific elements</h1>
+
+<p>In MESH you can easily construct groups of specific elements (nodes, 
+ edges, faces or volumes) which will be taken from a definite submesh.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To construct a group of specific elements:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">Right-click on a submesh in the Object Browser 
+ and choose the <span style="font-weight: bold;"><B>Construct Group </B></span>item 
+ or select your submesh in the Object Browser and in the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Construct Group 
+ </B></span>item. MESH will construct several groups consisting of elements 
+ of the definite type: nodes, edges, faces or volumes.</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 9005df312cb1630e9df20b3d2b38aebd2f1e964c..1098a35d5ed3efc17f1934fb7cdf423945be7cab 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Constructing meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:0px; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:22px; height:24px; border-style:none; }\r
-p.whs5 { margin-left:80px; }\r
-img_whs6 { border:none; border-style:none; width:355px; height:296px; float:none; }\r
-img_whs7 { border:none; width:173px; height:88px; border-style:none; }\r
-img_whs8 { border:none; width:34px; height:29px; border-style:none; }\r
-img_whs9 { border:none; width:29px; height:28px; border-style:none; }\r
-img_whs10 { border:none; width:30px; height:29px; border-style:none; }\r
-img_whs11 { border:none; width:232px; height:142px; border-style:none; float:right; }\r
-img_whs12 { border:none; width:25px; height:24px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nConstructing meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Constructing meshes</h1>\r
-\r
-<p class="whs1">Construction of a mesh consists of:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs1">Selecting a geometrical \r
- object for meshing</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">Applying <a href="about_meshing_algorithms.htm">meshing \r
- algorithms</a> and <a href="about_hypotheses.htm">hypotheses</a> which \r
- will be used at computation of this mesh.</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class=TODO>To construct a mesh:</p>\r
-\r
-<p class="whs3">1. In the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu select<span style="font-weight: bold;"><B> Create Mesh </B></span>or \r
- click <img src="../image32.gif" width="22px" height="24px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will \r
- appear:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs5"><img src="../pics/createmesh-inv.png" x-maintain-ratio="TRUE" width="355px" height="296px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs3">2. For example, you need to mesh a 3d object. \r
- </p>\r
-\r
-<p class="whs3">First, type the name for your mesh in the \r
- &quot;Name&quot; box, by default, it is &quot;Mesh_1&quot;. Then select \r
- the object you wish to mesh in the Object Browser <img src="../image119.gif" width="173px" height="88px" border="0" class="img_whs7">and click \r
- the <img src="../image120.gif" width="34px" height="29px" border="0" class="img_whs8"> &quot;Add&quot; button. </p>\r
-\r
-<p class="whs3">Now you can define 1d Algorithm and 1d Hypotheses, \r
- which will be applied to the edges of your object. (Note that any object \r
- has edges, even if their existence is not apparent, for example, a sphere \r
- has 4 edges). Click the &nbsp;<img src="../image121.gif" width="29px" height="28px" border="0" class="img_whs9"> button to add a hypothesis. Click the <img src="../image122.gif" width="30px" height="29px" border="0" class="img_whs10"> button \r
- to define values for the current hypothesis. The use of additional hypotheses \r
- is optional (i.e. you may leave &quot;None&quot; in this box). &nbsp;&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">Proceed in the same way with 2d and 3d Algorithms \r
- and Hypotheses, note that the choice of hypotheses depends on the algorithm. \r
- There must be one Algorithm and one or several Hypotheses for each dimension \r
- of your object, otherwise you will not get any mesh at all. Of course, \r
- if you wish to mesh a face, which is a 2d object, you don't need to define \r
- 3d Algorithm and Hypotheses. </p>\r
-\r
-<p class="whs3">In the <span style="font-weight: bold;"><B>Object \r
- Browser</B></span> the structure of the new mesh will be displayed as follows:</p>\r
-\r
-<p class="whs3"><img src="../image88.jpg" width="232px" height="142px" align="right" border="0" class="img_whs11">It contains:</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3">a reference to the \r
- geometrical object on the basis of which the mesh has been constructed;</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied \r
- hypotheses </B></span>folder containing the references to the hypotheses applied \r
- to the construction of the mesh;</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied \r
- algorithms </B></span>folder containing the references to the algorithms applied \r
- to the construction of the mesh.</p></li>\r
-</ul>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">There is an alternative way to create a mesh \r
- on an object simply by clicking <span style="font-weight: bold;"><B>Assign \r
- a set of hypotheses </B></span>button and selecting between Automatic Tetrahedralization \r
- or Hexahedralization. &nbsp;The \r
- program will automatically generate a 3D mesh with the most appropriate \r
- settings. In the same way you can apply this functionality for meshing \r
- 2D objects, in which case 3D algorithms are not applied. </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">3. Now, when everything is ready, select \r
- your mesh in the <span style="font-weight: bold;"><B>Object Browser</B></span>. \r
- &nbsp;From the \r
- <span style="font-weight: bold;"><B>Mesh </B></span>menu select<span style="font-weight: bold;"><B> \r
- Compute </B></span>or click <img src="../image28.gif" width="25px" height="24px" border="0" class="img_whs12"> button of the toolbar. </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">Consider trying a sample script for construction \r
- of a mesh from our <a href="../constructing_meshes.htm">TUI Scripts</a> \r
- section.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Constructing meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:0px; }
+ul.whs2 { list-style:disc; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:22px; height:24px; border-style:none; }
+p.whs5 { margin-left:80px; }
+img_whs6 { border:none; border-style:none; width:355px; height:296px; float:none; }
+img_whs7 { border:none; width:173px; height:88px; border-style:none; }
+img_whs8 { border:none; width:34px; height:29px; border-style:none; }
+img_whs9 { border:none; width:29px; height:28px; border-style:none; }
+img_whs10 { border:none; width:30px; height:29px; border-style:none; }
+img_whs11 { border:none; width:232px; height:142px; border-style:none; float:right; }
+img_whs12 { border:none; width:25px; height:24px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nConstructing meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Constructing meshes</h1>
+
+<p class="whs1">Construction of a mesh consists of:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs1">Selecting a geometrical 
+ object for meshing</p></li>
+       
+       <li class=kadov-p><p class="whs1">Applying <a href="about_meshing_algorithms.htm">meshing 
+ algorithms</a> and <a href="about_hypotheses.htm">hypotheses</a> which 
+ will be used at computation of this mesh.</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class=TODO>To construct a mesh:</p>
+
+<p class="whs3">1. In the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu select<span style="font-weight: bold;"><B> Create Mesh </B></span>or 
+ click <img src="../image32.gif" width="22px" height="24px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will 
+ appear:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"><img src="../pics/createmesh-inv.png" x-maintain-ratio="TRUE" width="355px" height="296px" border="0" class="img_whs6"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs3">2. For example, you need to mesh a 3d object. 
+ </p>
+
+<p class="whs3">First, type the name for your mesh in the 
+ &quot;Name&quot; box, by default, it is &quot;Mesh_1&quot;. Then select 
+ the object you wish to mesh in the Object Browser <img src="../image119.gif" width="173px" height="88px" border="0" class="img_whs7">and click 
+ the <img src="../image120.gif" width="34px" height="29px" border="0" class="img_whs8"> &quot;Add&quot; button. </p>
+
+<p class="whs3">Now you can define 1d Algorithm and 1d Hypotheses, 
+ which will be applied to the edges of your object. (Note that any object 
+ has edges, even if their existence is not apparent, for example, a sphere 
+ has 4 edges). Click the &nbsp;<img src="../image121.gif" width="29px" height="28px" border="0" class="img_whs9"> button to add a hypothesis. Click the <img src="../image122.gif" width="30px" height="29px" border="0" class="img_whs10"> button 
+ to define values for the current hypothesis. The use of additional hypotheses 
+ is optional (i.e. you may leave &quot;None&quot; in this box). &nbsp;&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">Proceed in the same way with 2d and 3d Algorithms 
+ and Hypotheses, note that the choice of hypotheses depends on the algorithm. 
+ There must be one Algorithm and one or several Hypotheses for each dimension 
+ of your object, otherwise you will not get any mesh at all. Of course, 
+ if you wish to mesh a face, which is a 2d object, you don't need to define 
+ 3d Algorithm and Hypotheses. </p>
+
+<p class="whs3">In the <span style="font-weight: bold;"><B>Object 
+ Browser</B></span> the structure of the new mesh will be displayed as follows:</p>
+
+<p class="whs3"><img src="../image88.jpg" width="232px" height="142px" align="right" border="0" class="img_whs11">It contains:</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3">a reference to the 
+ geometrical object on the basis of which the mesh has been constructed;</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied 
+ hypotheses </B></span>folder containing the references to the hypotheses applied 
+ to the construction of the mesh;</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied 
+ algorithms </B></span>folder containing the references to the algorithms applied 
+ to the construction of the mesh.</p></li>
+</ul>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">There is an alternative way to create a mesh 
+ on an object simply by clicking <span style="font-weight: bold;"><B>Assign 
+ a set of hypotheses </B></span>button and selecting between Automatic Tetrahedralization 
+ or Hexahedralization. &nbsp;The 
+ program will automatically generate a 3D mesh with the most appropriate 
+ settings. In the same way you can apply this functionality for meshing 
+ 2D objects, in which case 3D algorithms are not applied. </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">3. Now, when everything is ready, select 
+ your mesh in the <span style="font-weight: bold;"><B>Object Browser</B></span>. 
+ &nbsp;From the 
+ <span style="font-weight: bold;"><B>Mesh </B></span>menu select<span style="font-weight: bold;"><B> 
+ Compute </B></span>or click <img src="../image28.gif" width="25px" height="24px" border="0" class="img_whs12"> button of the toolbar. </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">Consider trying a sample script for construction 
+ of a mesh from our <a href="../constructing_meshes.htm">TUI Scripts</a> 
+ section.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 07dd8dfec5f150f3dbe49a90a020bda5cac79b91..9e0adf4081b1bfc938ca78add7d2fce15b8ebed0 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Constructing submeshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:0px; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:27px; height:25px; border-style:none; }\r
-p.whs5 { margin-left:80px; }\r
-img_whs6 { border:none; border-style:none; width:355px; height:326px; float:none; }\r
-p.whs7 { margin-left:38px; }\r
-img_whs8 { border:none; width:224px; height:212px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nConstructing submeshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Constructing submeshes</h1>\r
-\r
-<p class="whs1">Construction of a submesh consists of:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs1">Selecting a mesh which \r
- will encapsulate your submesh</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">Selecting a geometrical \r
- object for meshing</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">Applying one or several \r
- previously <a href="about_hypotheses.htm">hypotheses</a> and <a href="about_meshing_algorithms.htm">meshing \r
- algorithms</a> which will be used at computation of this submesh.</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class=TODO>To construct a submesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs3">From the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu select<span style="font-weight: bold;"><B> Local Hyp. </B></span>or \r
- click <img src="../image33.gif" width="27px" height="25px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will \r
- appear:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs5"><img src="../pics/createmesh-inv2.png" x-maintain-ratio="TRUE" width="355px" height="326px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7">It allows to define the <span style="font-weight: bold;"><B>Name</B></span>, \r
- the parent <span style="font-weight: bold;"><B>Mesh</B></span> and the <span \r
- style="font-weight: bold;"><B>Geometry</B></span> (e.g. a face if the parent \r
- mesh has been built on box) of the submesh. You can define algorithms \r
- and hypotheses in the same way as in <a href="constructing_meshes.htm">Create \r
- mesh</a> menu. &nbsp;</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs3">In the Object Browser the structure of the \r
- new submesh will be displayed as follows:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image10.jpg" width="224px" height="212px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">It contains:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3">a reference to the \r
- geometrical object on the basis of which the submesh has been constructed;</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied \r
- hypotheses </B></span>folder containing the references to the hypotheses applied \r
- to the construction of the submesh;</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied \r
- algorithms </B></span>folder containing the references to the algorithms applied \r
- to the construction of the submesh.</p></li>\r
-</ul>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../constructing_meshes.htm#bookmark1">Construct \r
- Submesh</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Constructing submeshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:0px; }
+ul.whs2 { list-style:disc; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:27px; height:25px; border-style:none; }
+p.whs5 { margin-left:80px; }
+img_whs6 { border:none; border-style:none; width:355px; height:326px; float:none; }
+p.whs7 { margin-left:38px; }
+img_whs8 { border:none; width:224px; height:212px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nConstructing submeshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Constructing submeshes</h1>
+
+<p class="whs1">Construction of a submesh consists of:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs1">Selecting a mesh which 
+ will encapsulate your submesh</p></li>
+       
+       <li class=kadov-p><p class="whs1">Selecting a geometrical 
+ object for meshing</p></li>
+       
+       <li class=kadov-p><p class="whs1">Applying one or several 
+ previously <a href="about_hypotheses.htm">hypotheses</a> and <a href="about_meshing_algorithms.htm">meshing 
+ algorithms</a> which will be used at computation of this submesh.</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class=TODO>To construct a submesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs3">From the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu select<span style="font-weight: bold;"><B> Local Hyp. </B></span>or 
+ click <img src="../image33.gif" width="27px" height="25px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will 
+ appear:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"><img src="../pics/createmesh-inv2.png" x-maintain-ratio="TRUE" width="355px" height="326px" border="0" class="img_whs6"></p>
+
+<p class="whs7">&nbsp;</p>
+
+<p class="whs7">It allows to define the <span style="font-weight: bold;"><B>Name</B></span>, 
+ the parent <span style="font-weight: bold;"><B>Mesh</B></span> and the <span 
+ style="font-weight: bold;"><B>Geometry</B></span> (e.g. a face if the parent 
+ mesh has been built on box) of the submesh. You can define algorithms 
+ and hypotheses in the same way as in <a href="constructing_meshes.htm">Create 
+ mesh</a> menu. &nbsp;</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs3">In the Object Browser the structure of the 
+ new submesh will be displayed as follows:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../image10.jpg" width="224px" height="212px" border="0" class="img_whs8"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">It contains:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3">a reference to the 
+ geometrical object on the basis of which the submesh has been constructed;</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied 
+ hypotheses </B></span>folder containing the references to the hypotheses applied 
+ to the construction of the submesh;</p></li>
+       
+       <li class=kadov-p><p class="whs3"><span style="font-weight: bold;"><B>Applied 
+ algorithms </B></span>folder containing the references to the algorithms applied 
+ to the construction of the submesh.</p></li>
+</ul>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../constructing_meshes.htm#bookmark1">Construct 
+ Submesh</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index dbc19538e26137fa1d04829b441a7920ebee895d..1200e5969c7c3538131389e05c3cf2bea801e174 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Creating groups</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { font-weight:bold; }\r
-img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs3 { margin-left:40px; font-weight:normal; }\r
-ul.whs4 { list-style:disc; }\r
-p.whs5 { font-weight:bold; margin-left:40px; }\r
-p.whs6 { margin-left:40px; font-weight:bold; }\r
-p.whs7 { margin-left:40px; }\r
-p.whs8 { margin-left:36px; }\r
-table.whs9 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs10 { width:33.382%; }\r
-col.whs11 { width:66.618%; }\r
-tr.whs12 { x-cell-content-align:top; height:587px; }\r
-td.whs13 { width:33.382%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }\r
-img_whs14 { border:none; width:312px; height:621px; float:none; border-style:none; }\r
-td.whs15 { width:66.618%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }\r
-p.whs16 { margin-left:0px; }\r
-img_whs17 { border:none; width:145px; height:150px; border-style:none; float:left; }\r
-img_whs18 { border:none; width:149px; height:158px; border-style:none; }\r
-col.whs19 { width:33.48%; }\r
-col.whs20 { width:66.52%; }\r
-tr.whs21 { x-cell-content-align:top; }\r
-td.whs22 { width:33.48%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs23 { border:none; width:312px; height:312px; float:none; border-style:none; }\r
-td.whs24 { width:66.52%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs25 { border:none; width:135px; height:150px; border-style:none; }\r
-p.whs26 { margin-left:80px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs16 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nCreating groups");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Creating groups</h1>\r
-\r
-<p class="whs1"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> &nbsp;&nbsp;<span \r
- style="font-weight: normal;">In MESH you \r
- can create groups of elements of different types. To create a group of \r
- elements</span><span style="font-weight: normal; margin-left: 40px;"> \r
- in the </span><span style="margin-left: 40px;">Mesh</span><span style="font-weight: normal; margin-left: 40px;"> \r
- menu select </span><span style="margin-left: 40px;">Create Group</span><span \r
- style="font-weight: normal; margin-left: 40px;">.</span><span style="margin-left: 40px;"> \r
- </span></p>\r
-\r
-<p class="whs3">To create any group \r
- you should define the following: &nbsp;&nbsp;</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs5">Mesh: \r
- <span style="font-weight: normal;">the name of the mesh whose elements \r
- will form your group. You can select your mesh in the Objet Browser or \r
- in the 3D viewer.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Elements</B></span> <span style="font-weight: bold;"><B>Type</B></span> \r
- set of radio buttons allows to select the type of elements which will \r
- form your group:</p></li>\r
-       \r
-       <ul type="disc" class="whs4">\r
-               \r
-               <li class=kadov-p><p class="whs6">Nodes</p></li>\r
-               \r
-               <li class=kadov-p><p class="whs6">Edges \r
- </p></li>\r
-               \r
-               <li class=kadov-p><p class="whs6">Faces</p></li>\r
-               \r
-               <li class=kadov-p><p class="whs6">Volumes</p></li>\r
-       </ul>\r
-       \r
-       <li class=kadov-p><p class="whs3"><span \r
- style="font-weight: bold;"><B>Name </B></span>field allows to enter the name \r
- of your new group.</p></li>\r
-</ul>\r
-\r
-<p class="whs3">SALOME Platform distinguishes \r
- between the two Group types: <span style="font-weight: bold;"><B>Standalone \r
- Group</B></span> and <span style="font-weight: bold;"><B>Group on Geometry</B></span>. \r
- &nbsp;</p>\r
-\r
-<h3>Standalone Group </h3>\r
-\r
-<p class="whs7"><span style="font-weight: bold;"><B>Standalone \r
- Group</B></span> consists of mesh elements, which you can define in two possible \r
- ways.</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs8">Choosing them manually \r
- with the mouse in the 3D Viewer. You can click on an element in the 3D \r
- viewer and it will be highlighted. After that click the <span style="font-weight: bold;"><B>Add \r
- </B></span>button and the ID of this element will be added to the list. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs7">Applying Filters. The \r
- <span style="font-weight: bold;"><B>Set filter </B></span>button allows to apply \r
- a definite filter to selection of the elements of your group. See more \r
- about filters on the <a href="../selection_filter_library.htm">Selection \r
- filter library</a> page. &nbsp;&nbsp;</p></li>\r
-</ul>\r
-\r
-<p class="whs7">To remove a selected element or elements \r
- from the list click the <span style="font-weight: bold;"><B>Remove </B></span>button. \r
- The <span style="font-weight: bold;"><B>Sort List </B></span>button allows to \r
- sort the list of IDs of mesh elements. </p>\r
-\r
-<p class="whs7"><span style="font-weight: bold;"><B>Select from \r
- </B></span>set of fields allows to choose a submesh or an existing group whose \r
- elements of the previously defined type will be added to the list of elements \r
- which will form your group. </p>\r
-\r
-<p class="whs7"><span style="font-weight: bold;"><B>Color Number</B></span> \r
- (integer only, ranging from 0 to 9999) - allows to assign to the group \r
- a certain index, for example, defining boundary conditions. This feature \r
- introduces a useful element of preprocessing in Mesh module. Note that \r
- <span style="font-weight: bold;"><B>Color number</B></span> attribute has nothing \r
- to do with the colors used for the display of the elements of the group.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs9">\r
-<col class="whs10">\r
-<col class="whs11">\r
-\r
-<tr valign="top" class="whs12">\r
-<td width="33.382%" class="whs13">\r
-<p class="whs1"><img src="../pics/creategroup.png" x-maintain-ratio="TRUE" width="312px" height="621px" border="0" class="img_whs14"></td>\r
-<td width="66.618%" class="whs15">\r
-<p class="whs16"><img src="../image130.gif" width="145px" height="150px" align="left" border="0" class="img_whs17"> &nbsp;&nbsp;</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">In this picture the brown cells belong to \r
- a group defined manually.</p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;<img src="../image131.gif" width="149px" height="158px" border="0" class="img_whs18"> In this picture the brown cells belong to the group defined \r
- by the criterion <br>\r
-Taper &gt; 0. </p>\r
-<p class="whs16">&nbsp;</p>\r
-<p class="whs16">&nbsp;</td></tr>\r
-</table>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs5">&nbsp;&nbsp;&nbsp;See \r
- Also a sample TUI Script of a <a href="../grouping_elements.htm#bookmark">Create \r
- a Standalone Group</a> operation. &nbsp;</p>\r
-\r
-<h3>Group on Geometry </h3>\r
-\r
-<p class="whs3">To create a group on \r
- geometry check <span style="font-weight: bold;"><B>Group on geometry</B></span> \r
- in the <span style="font-weight: bold;"><B>Group type</B></span> field. <span \r
- style="font-weight: bold;"><B>Group on geometry </B></span>contains the elements \r
- of a certain type belonging to the selected<span style="font-weight: bold;"> \r
- <B></B></span>geometrical object. To define a group select in the Objet Browser \r
- or in the 3D viewer a geometrical object from which the elements will \r
- be taken. After confirmation of the operation a new group of mesh elements \r
- will be created.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs9">\r
-<col class="whs19">\r
-<col class="whs20">\r
-\r
-<tr valign="top" class="whs21">\r
-<td width="33.48%" class="whs22">\r
-<p><img src="../pics/a-creategroup.png" x-maintain-ratio="TRUE" width="312px" height="312px" border="0" class="img_whs23"></td>\r
-<td width="66.52%" class="whs24">\r
-<p><img src="../image132.gif" width="135px" height="150px" border="0" class="img_whs25"> In this picture the cells which belong to a certain face \r
- are selected in green. </td></tr>\r
-</table>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;&nbsp;&nbsp;See \r
- Also a sample TUI Script of a <a href="../grouping_elements.htm#bookmark5">Create \r
- a Group on Geometry</a><a href="../grouping_elements.htm#bookmark"> </a>operation. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs16">&nbsp;</p>\r
-\r
-<p class="whs26">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Creating groups</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { font-weight:bold; }
+img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs3 { margin-left:40px; font-weight:normal; }
+ul.whs4 { list-style:disc; }
+p.whs5 { font-weight:bold; margin-left:40px; }
+p.whs6 { margin-left:40px; font-weight:bold; }
+p.whs7 { margin-left:40px; }
+p.whs8 { margin-left:36px; }
+table.whs9 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs10 { width:33.382%; }
+col.whs11 { width:66.618%; }
+tr.whs12 { x-cell-content-align:top; height:587px; }
+td.whs13 { width:33.382%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; }
+img_whs14 { border:none; width:312px; height:621px; float:none; border-style:none; }
+td.whs15 { width:66.618%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; }
+p.whs16 { margin-left:0px; }
+img_whs17 { border:none; width:145px; height:150px; border-style:none; float:left; }
+img_whs18 { border:none; width:149px; height:158px; border-style:none; }
+col.whs19 { width:33.48%; }
+col.whs20 { width:66.52%; }
+tr.whs21 { x-cell-content-align:top; }
+td.whs22 { width:33.48%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs23 { border:none; width:312px; height:312px; float:none; border-style:none; }
+td.whs24 { width:66.52%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs25 { border:none; width:135px; height:150px; border-style:none; }
+p.whs26 { margin-left:80px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs16 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nCreating groups");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Creating groups</h1>
+
+<p class="whs1"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> &nbsp;&nbsp;<span 
+ style="font-weight: normal;">In MESH you 
+ can create groups of elements of different types. To create a group of 
+ elements</span><span style="font-weight: normal; margin-left: 40px;"> 
+ in the </span><span style="margin-left: 40px;">Mesh</span><span style="font-weight: normal; margin-left: 40px;"> 
+ menu select </span><span style="margin-left: 40px;">Create Group</span><span 
+ style="font-weight: normal; margin-left: 40px;">.</span><span style="margin-left: 40px;"> 
+ </span></p>
+
+<p class="whs3">To create any group 
+ you should define the following: &nbsp;&nbsp;</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs5">Mesh: 
+ <span style="font-weight: normal;">the name of the mesh whose elements 
+ will form your group. You can select your mesh in the Objet Browser or 
+ in the 3D viewer.</span></p></li>
+       
+       <li class=kadov-p><p class="whs3"><span 
+ style="font-weight: bold;"><B>Elements</B></span> <span style="font-weight: bold;"><B>Type</B></span> 
+ set of radio buttons allows to select the type of elements which will 
+ form your group:</p></li>
+       
+       <ul type="disc" class="whs4">
+               
+               <li class=kadov-p><p class="whs6">Nodes</p></li>
+               
+               <li class=kadov-p><p class="whs6">Edges 
+ </p></li>
+               
+               <li class=kadov-p><p class="whs6">Faces</p></li>
+               
+               <li class=kadov-p><p class="whs6">Volumes</p></li>
+       </ul>
+       
+       <li class=kadov-p><p class="whs3"><span 
+ style="font-weight: bold;"><B>Name </B></span>field allows to enter the name 
+ of your new group.</p></li>
+</ul>
+
+<p class="whs3">SALOME Platform distinguishes 
+ between the two Group types: <span style="font-weight: bold;"><B>Standalone 
+ Group</B></span> and <span style="font-weight: bold;"><B>Group on Geometry</B></span>. 
+ &nbsp;</p>
+
+<h3>Standalone Group </h3>
+
+<p class="whs7"><span style="font-weight: bold;"><B>Standalone 
+ Group</B></span> consists of mesh elements, which you can define in two possible 
+ ways.</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs8">Choosing them manually 
+ with the mouse in the 3D Viewer. You can click on an element in the 3D 
+ viewer and it will be highlighted. After that click the <span style="font-weight: bold;"><B>Add 
+ </B></span>button and the ID of this element will be added to the list. </p></li>
+       
+       <li class=kadov-p><p class="whs7">Applying Filters. The 
+ <span style="font-weight: bold;"><B>Set filter </B></span>button allows to apply 
+ a definite filter to selection of the elements of your group. See more 
+ about filters on the <a href="../selection_filter_library.htm">Selection 
+ filter library</a> page. &nbsp;&nbsp;</p></li>
+</ul>
+
+<p class="whs7">To remove a selected element or elements 
+ from the list click the <span style="font-weight: bold;"><B>Remove </B></span>button. 
+ The <span style="font-weight: bold;"><B>Sort List </B></span>button allows to 
+ sort the list of IDs of mesh elements. </p>
+
+<p class="whs7"><span style="font-weight: bold;"><B>Select from 
+ </B></span>set of fields allows to choose a submesh or an existing group whose 
+ elements of the previously defined type will be added to the list of elements 
+ which will form your group. </p>
+
+<p class="whs7"><span style="font-weight: bold;"><B>Color Number</B></span> 
+ (integer only, ranging from 0 to 9999) - allows to assign to the group 
+ a certain index, for example, defining boundary conditions. This feature 
+ introduces a useful element of preprocessing in Mesh module. Note that 
+ <span style="font-weight: bold;"><B>Color number</B></span> attribute has nothing 
+ to do with the colors used for the display of the elements of the group.</p>
+
+<p class="whs7">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs9">
+<col class="whs10">
+<col class="whs11">
+
+<tr valign="top" class="whs12">
+<td width="33.382%" class="whs13">
+<p class="whs1"><img src="../pics/creategroup.png" x-maintain-ratio="TRUE" width="312px" height="621px" border="0" class="img_whs14"></td>
+<td width="66.618%" class="whs15">
+<p class="whs16"><img src="../image130.gif" width="145px" height="150px" align="left" border="0" class="img_whs17"> &nbsp;&nbsp;</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">In this picture the brown cells belong to 
+ a group defined manually.</p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;<img src="../image131.gif" width="149px" height="158px" border="0" class="img_whs18"> In this picture the brown cells belong to the group defined 
+ by the criterion <br>
+Taper &gt; 0. </p>
+<p class="whs16">&nbsp;</p>
+<p class="whs16">&nbsp;</td></tr>
+</table>
+
+<p class="whs7">&nbsp;</p>
+
+<p class="whs5">&nbsp;&nbsp;&nbsp;See 
+ Also a sample TUI Script of a <a href="../grouping_elements.htm#bookmark">Create 
+ a Standalone Group</a> operation. &nbsp;</p>
+
+<h3>Group on Geometry </h3>
+
+<p class="whs3">To create a group on 
+ geometry check <span style="font-weight: bold;"><B>Group on geometry</B></span> 
+ in the <span style="font-weight: bold;"><B>Group type</B></span> field. <span 
+ style="font-weight: bold;"><B>Group on geometry </B></span>contains the elements 
+ of a certain type belonging to the selected<span style="font-weight: bold;"> 
+ <B></B></span>geometrical object. To define a group select in the Objet Browser 
+ or in the 3D viewer a geometrical object from which the elements will 
+ be taken. After confirmation of the operation a new group of mesh elements 
+ will be created.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs9">
+<col class="whs19">
+<col class="whs20">
+
+<tr valign="top" class="whs21">
+<td width="33.48%" class="whs22">
+<p><img src="../pics/a-creategroup.png" x-maintain-ratio="TRUE" width="312px" height="312px" border="0" class="img_whs23"></td>
+<td width="66.52%" class="whs24">
+<p><img src="../image132.gif" width="135px" height="150px" border="0" class="img_whs25"> In this picture the cells which belong to a certain face 
+ are selected in green. </td></tr>
+</table>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs6">&nbsp;&nbsp;&nbsp;See 
+ Also a sample TUI Script of a <a href="../grouping_elements.htm#bookmark5">Create 
+ a Group on Geometry</a><a href="../grouping_elements.htm#bookmark"> </a>operation. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs16">&nbsp;</p>
+
+<p class="whs26">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index f8c7a43bf1871cd4f5e566bc7bedcc7b37b94bd4..3ffa9a6ae275be29d19c6c34471252524b2fe881 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Cutting quadrangles</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:25px; height:22px; border-style:none; }\r
-img_whs4 { border:none; width:306px; height:525px; float:none; border-style:none; }\r
-ul.whs5 { list-style:disc; }\r
-p.whs6 { margin-left:40px; font-weight:normal; }\r
-p.whs7 { margin-left:40px; font-weight:bold; }\r
-p.whs8 { font-weight:bold; margin-left:0px; }\r
-p.whs9 { margin-left:0px; }\r
-table.whs10 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs11 { width:50%; }\r
-tr.whs12 { x-cell-content-align:top; }\r
-td.whs13 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs14 { border:none; width:353px; height:300px; border-style:none; }\r
-td.whs15 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs8 {margin-left:1pt; }";\r
-  strNSS += "p.whs9 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nCutting quadrangles");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Cutting quadrangles</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This operation allows to cut one or several quadrangle \r
- elements by addition of a supplementary edge which will connect two opposite \r
- corners. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To cut quadrangles:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">1. Display a mesh or a submesh in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Cutting of quadrangles \r
- </B></span>item or click <img src="../image82.gif" width="25px" height="22px" border="0" class="img_whs3"> button in the toolbar. The following \r
- dialog box will appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/a-cuttingofquadrangles.png" x-maintain-ratio="TRUE" width="306px" height="525px" border="0" class="img_whs4"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs5">\r
-       \r
-       <li class=kadov-p><p class="whs6">The \r
- main list<span style="font-weight: bold;"> <B></B></span>contains the list of \r
- quadrangles. You can click on an quadrangle in the 3D viewer and it will \r
- be highlighted (lock Shift keyboard button to select several quadrangles). \r
- <span style="margin-left: 0px; font-weight: bold;"><B>Click Add </B></span><span \r
- style="margin-left: 0px;">button and the ID of this quadrangle will be \r
- added to the list. To remove a selected element or elements from the list \r
- click </span><span style="margin-left: 0px; font-weight: bold;"><B>Remove \r
- </B></span><span style="margin-left: 0px;">button. </span><span style="margin-left: 0px; font-weight: bold;"><B>Sort \r
- list </B></span><span style="margin-left: 0px;">button allows to sort the \r
- list of IDs. </span><span style="margin-left: 0px; font-weight: bold;"><B>Filter \r
- </B></span><span style="margin-left: 0px;">button allows to apply a definite \r
- filter to the selection of quadrangles.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Apply to all </B></span>radio button allows to \r
- modify the orientation of all quadrangles of the currently displayed mesh \r
- or submesh.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs7">Preview \r
- - <span style="font-weight: normal;">provides a preview of cutting in \r
- the viewer.</span> </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs8">Criterion</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Use diagonal 1-3 </B></span>and<span style="font-weight: bold;"><B> \r
- Use diagonal 2-4 </B></span>&nbsp;allows \r
- to specify the opposite corners which will be connected by the cutting \r
- edge.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs7">Use \r
- numeric factor - <span style="margin-left: 40px; font-weight: normal;">&nbsp;allows \r
- to apply the operation only to those objects which meet the chosen criterion \r
- (from the list of Quality Controls, i.e. Skew, Warping, Minimum Angle, \r
- etc.)</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs9"><span style="font-weight: bold;"><B>Select \r
- from -</B></span> allows to choose a submesh or an existing group whose quadrangle \r
- elements will be automatically added to the list.</p></li>\r
-</ul>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm \r
- the operation.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs10">\r
-<col class="whs11">\r
-<col class="whs11">\r
-\r
-<tr valign="top" class="whs12">\r
-<td width="50%" class="whs13">\r
-<p><img src="../image52.jpg" width="353px" height="300px" border="0" class="img_whs14"></td>\r
-<td width="50%" class="whs15">\r
-<p><img src="../image51.jpg" width="353px" height="300px" border="0" class="img_whs14"></td></tr>\r
-</table>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark7">Cutting \r
- Quadrangles</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Cutting quadrangles</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:25px; height:22px; border-style:none; }
+img_whs4 { border:none; width:306px; height:525px; float:none; border-style:none; }
+ul.whs5 { list-style:disc; }
+p.whs6 { margin-left:40px; font-weight:normal; }
+p.whs7 { margin-left:40px; font-weight:bold; }
+p.whs8 { font-weight:bold; margin-left:0px; }
+p.whs9 { margin-left:0px; }
+table.whs10 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs11 { width:50%; }
+tr.whs12 { x-cell-content-align:top; }
+td.whs13 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs14 { border:none; width:353px; height:300px; border-style:none; }
+td.whs15 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs8 {margin-left:1pt; }";
+  strNSS += "p.whs9 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nCutting quadrangles");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Cutting quadrangles</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This operation allows to cut one or several quadrangle 
+ elements by addition of a supplementary edge which will connect two opposite 
+ corners. </p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To cut quadrangles:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">1. Display a mesh or a submesh in the 3D 
+ viewer.</p>
+
+<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Cutting of quadrangles 
+ </B></span>item or click <img src="../image82.gif" width="25px" height="22px" border="0" class="img_whs3"> button in the toolbar. The following 
+ dialog box will appear:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/a-cuttingofquadrangles.png" x-maintain-ratio="TRUE" width="306px" height="525px" border="0" class="img_whs4"></p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs5">
+       
+       <li class=kadov-p><p class="whs6">The 
+ main list<span style="font-weight: bold;"> <B></B></span>contains the list of 
+ quadrangles. You can click on an quadrangle in the 3D viewer and it will 
+ be highlighted (lock Shift keyboard button to select several quadrangles). 
+ <span style="margin-left: 0px; font-weight: bold;"><B>Click Add </B></span><span 
+ style="margin-left: 0px;">button and the ID of this quadrangle will be 
+ added to the list. To remove a selected element or elements from the list 
+ click </span><span style="margin-left: 0px; font-weight: bold;"><B>Remove 
+ </B></span><span style="margin-left: 0px;">button. </span><span style="margin-left: 0px; font-weight: bold;"><B>Sort 
+ list </B></span><span style="margin-left: 0px;">button allows to sort the 
+ list of IDs. </span><span style="margin-left: 0px; font-weight: bold;"><B>Filter 
+ </B></span><span style="margin-left: 0px;">button allows to apply a definite 
+ filter to the selection of quadrangles.</span></p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Apply to all </B></span>radio button allows to 
+ modify the orientation of all quadrangles of the currently displayed mesh 
+ or submesh.</p></li>
+       
+       <li class=kadov-p><p class="whs7">Preview 
+ - <span style="font-weight: normal;">provides a preview of cutting in 
+ the viewer.</span> </p></li>
+       
+       <li class=kadov-p><p class="whs8">Criterion</p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Use diagonal 1-3 </B></span>and<span style="font-weight: bold;"><B> 
+ Use diagonal 2-4 </B></span>&nbsp;allows 
+ to specify the opposite corners which will be connected by the cutting 
+ edge.</p></li>
+       
+       <li class=kadov-p><p class="whs7">Use 
+ numeric factor - <span style="margin-left: 40px; font-weight: normal;">&nbsp;allows 
+ to apply the operation only to those objects which meet the chosen criterion 
+ (from the list of Quality Controls, i.e. Skew, Warping, Minimum Angle, 
+ etc.)</span></p></li>
+       
+       <li class=kadov-p><p class="whs9"><span style="font-weight: bold;"><B>Select 
+ from -</B></span> allows to choose a submesh or an existing group whose quadrangle 
+ elements will be automatically added to the list.</p></li>
+</ul>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm 
+ the operation.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs10">
+<col class="whs11">
+<col class="whs11">
+
+<tr valign="top" class="whs12">
+<td width="50%" class="whs13">
+<p><img src="../image52.jpg" width="353px" height="300px" border="0" class="img_whs14"></td>
+<td width="50%" class="whs15">
+<p><img src="../image51.jpg" width="353px" height="300px" border="0" class="img_whs14"></td></tr>
+</table>
+
+<p class="whs9">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark7">Cutting 
+ Quadrangles</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 0217776c5fd55c8a8d3a1cfab4d66d2db0fd4419..3976832f62fb58481275cfb6dd6a181c55f1490e 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Diagonal iversion of elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:24px; height:22px; border-style:none; }\r
-img_whs3 { border:none; border-style:none; width:306px; height:163px; float:none; }\r
-table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs5 { width:50%; }\r
-tr.whs6 { x-cell-content-align:top; }\r
-td.whs7 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs8 { border:none; width:300px; height:224px; border-style:none; }\r
-td.whs9 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nDiagonal inversion of elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Diagonal inversion of elements</h1>\r
-\r
-<p>&nbsp;In MESH \r
- you can inverse the diagonal (edge) of a pseudo-quadrangle formed by two \r
- neighboring triangles with one common edge.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To inverse the diagonal:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Diagonal inversion \r
- </B></span>item or click <img src="../image70.gif" width="24px" height="22px" border="0" class="img_whs2"> button in the toolbar. The following \r
- dialog box shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/diagonalinversion.png" x-maintain-ratio="TRUE" width="306px" height="163px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. Enter the ID of the required edge in the \r
- <span style="font-weight: bold;"><B>Edge </B></span>&nbsp;field \r
- or select this edge in the 3D viewer. </p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs4">\r
-<col class="whs5">\r
-<col class="whs5">\r
-\r
-<tr valign="top" class="whs6">\r
-<td width="50%" class="whs7">\r
-<p><img src="../image38.jpg" width="300px" height="224px" border="0" class="img_whs8"></td>\r
-<td width="50%" class="whs9">\r
-<p><img src="../image36.jpg" width="300px" height="224px" border="0" class="img_whs8"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark4">Diagonal \r
- Inversion of Elements</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Diagonal iversion of elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:24px; height:22px; border-style:none; }
+img_whs3 { border:none; border-style:none; width:306px; height:163px; float:none; }
+table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs5 { width:50%; }
+tr.whs6 { x-cell-content-align:top; }
+td.whs7 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs8 { border:none; width:300px; height:224px; border-style:none; }
+td.whs9 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nDiagonal inversion of elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Diagonal inversion of elements</h1>
+
+<p>&nbsp;In MESH 
+ you can inverse the diagonal (edge) of a pseudo-quadrangle formed by two 
+ neighboring triangles with one common edge.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To inverse the diagonal:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Diagonal inversion 
+ </B></span>item or click <img src="../image70.gif" width="24px" height="22px" border="0" class="img_whs2"> button in the toolbar. The following 
+ dialog box shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/diagonalinversion.png" x-maintain-ratio="TRUE" width="306px" height="163px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. Enter the ID of the required edge in the 
+ <span style="font-weight: bold;"><B>Edge </B></span>&nbsp;field 
+ or select this edge in the 3D viewer. </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>
+
+<p class=TODO
+       style="margin-left: 40px;">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs4">
+<col class="whs5">
+<col class="whs5">
+
+<tr valign="top" class="whs6">
+<td width="50%" class="whs7">
+<p><img src="../image38.jpg" width="300px" height="224px" border="0" class="img_whs8"></td>
+<td width="50%" class="whs9">
+<p><img src="../image36.jpg" width="300px" height="224px" border="0" class="img_whs8"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark4">Diagonal 
+ Inversion of Elements</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 17b20adb330e251023b262e40b78c244ad470a43..14898fac25aa4c55cbe8ff7a960dec160863ffb8 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Displacing nodes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:24px; height:22px; border-style:none; }\r
-img_whs3 { border:none; width:306px; height:269px; float:none; border-style:none; }\r
-table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs5 { width:39.706%; }\r
-col.whs6 { width:60.294%; }\r
-tr.whs7 { x-cell-content-align:top; }\r
-td.whs8 { padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-p.whs9 { margin-right:116px; }\r
-img_whs10 { border:none; border-style:none; float:none; width:266px; height:249px; }\r
-td.whs11 { padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs12 { border:none; border-style:none; width:324px; height:250px; float:none; }\r
-p.whs13 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs13 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nMoving nodes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Moving nodes</h1>\r
-\r
-<p>In MESH you can change the location of any node of your mesh. In this \r
- case all adjacent elements (edges) will be also transformed right after \r
- the displaced node.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To displace a node:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Move node </B></span>item \r
- or click <img src="../image67.gif" width="24px" height="22px" border="0" class="img_whs2"> button in the toolbar. The following dialog box \r
- shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/movenodes.png" x-maintain-ratio="TRUE" width="306px" height="269px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. Enter the ID of the required node in the \r
- <span style="font-weight: bold;"><B>Node ID </B></span>&nbsp;field \r
- or select this node in the 3D viewer. The coordinates of your node will \r
- be automatically displayed in the <span style="font-weight: bold;"><B>Coordinates \r
- </B></span>set of fields.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Set new coordinates for your node in the \r
- <span style="font-weight: bold;"><B>Coordinates </B></span>set of fields.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">4. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs4">\r
-<col class="whs5">\r
-<col class="whs6">\r
-\r
-<tr valign="top" class="whs7">\r
-<td width="39.706%" class="whs8">\r
-<p class="whs9"><img src="../pics/moving_nodes1.png" x-maintain-ratio="TRUE" width="266px" height="249px" border="0" class="img_whs10"></td>\r
-<td width="60.294%" class="whs11">\r
-<p><img src="../pics/moving_nodes2.png" x-maintain-ratio="TRUE" width="324px" height="250px" border="0" class="img_whs12"></td></tr>\r
-</table>\r
-\r
-<p class="whs13">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark3">Moving \r
- Nodes</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs13">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Displacing nodes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:24px; height:22px; border-style:none; }
+img_whs3 { border:none; width:306px; height:269px; float:none; border-style:none; }
+table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs5 { width:39.706%; }
+col.whs6 { width:60.294%; }
+tr.whs7 { x-cell-content-align:top; }
+td.whs8 { padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+p.whs9 { margin-right:116px; }
+img_whs10 { border:none; border-style:none; float:none; width:266px; height:249px; }
+td.whs11 { padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs12 { border:none; border-style:none; width:324px; height:250px; float:none; }
+p.whs13 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs13 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nMoving nodes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Moving nodes</h1>
+
+<p>In MESH you can change the location of any node of your mesh. In this 
+ case all adjacent elements (edges) will be also transformed right after 
+ the displaced node.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To displace a node:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Move node </B></span>item 
+ or click <img src="../image67.gif" width="24px" height="22px" border="0" class="img_whs2"> button in the toolbar. The following dialog box 
+ shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/movenodes.png" x-maintain-ratio="TRUE" width="306px" height="269px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. Enter the ID of the required node in the 
+ <span style="font-weight: bold;"><B>Node ID </B></span>&nbsp;field 
+ or select this node in the 3D viewer. The coordinates of your node will 
+ be automatically displayed in the <span style="font-weight: bold;"><B>Coordinates 
+ </B></span>set of fields.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Set new coordinates for your node in the 
+ <span style="font-weight: bold;"><B>Coordinates </B></span>set of fields.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">4. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs4">
+<col class="whs5">
+<col class="whs6">
+
+<tr valign="top" class="whs7">
+<td width="39.706%" class="whs8">
+<p class="whs9"><img src="../pics/moving_nodes1.png" x-maintain-ratio="TRUE" width="266px" height="249px" border="0" class="img_whs10"></td>
+<td width="60.294%" class="whs11">
+<p><img src="../pics/moving_nodes2.png" x-maintain-ratio="TRUE" width="324px" height="250px" border="0" class="img_whs12"></td></tr>
+</table>
+
+<p class="whs13">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark3">Moving 
+ Nodes</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs13">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 8f2bc264ac8f1b017b8cd547d2cff607046bdb4b..94a2d5425e7b90fe206c610fff821f1bcd87ac74 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Displaying nodes numbers</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-p.whs2 { margin-left:0px; }\r
-img_whs3 { border:none; width:429px; height:189px; }\r
-img_whs4 { border:none; width:324px; height:278px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs2 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nNumbering");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Displaying nodes numbers</h1>\r
-\r
-<p>In MESH you can display the ID numbers of all nodes of your mesh in \r
- the viewer.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To display ID numbers of nodes:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. Display your mesh in the viewer</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. Right-click on the mesh in the 3D viewer \r
- and from the associated pop-up menu choose <span style="font-weight: bold;"><B>Numbering \r
- &gt; Display Nodes #</B></span>.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2">It will look like as follows:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../image96.jpg" width="429px" height="189px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<h1>Displaying elements numbers</h1>\r
-\r
-<p>In MESH you can display the ID numbers of all meshing elements composing \r
- your mesh in the viewer.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To display ID numbers of elements:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. Display your mesh in the viewer</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. Right-click on the mesh in the 3D viewer \r
- and from the associated pop-up menu choose <span style="font-weight: bold;"><B>Numbering \r
- &gt; Display Elements #</B></span>.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2">It will look like as follows:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../image95.jpg" width="324px" height="278px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Displaying nodes numbers</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+p.whs2 { margin-left:0px; }
+img_whs3 { border:none; width:429px; height:189px; }
+img_whs4 { border:none; width:324px; height:278px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs2 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nNumbering");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Displaying nodes numbers</h1>
+
+<p>In MESH you can display the ID numbers of all nodes of your mesh in 
+ the viewer.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To display ID numbers of nodes:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. Display your mesh in the viewer</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. Right-click on the mesh in the 3D viewer 
+ and from the associated pop-up menu choose <span style="font-weight: bold;"><B>Numbering 
+ &gt; Display Nodes #</B></span>.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">It will look like as follows:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs1"><img src="../image96.jpg" width="429px" height="189px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<h1>Displaying elements numbers</h1>
+
+<p>In MESH you can display the ID numbers of all meshing elements composing 
+ your mesh in the viewer.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To display ID numbers of elements:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. Display your mesh in the viewer</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. Right-click on the mesh in the 3D viewer 
+ and from the associated pop-up menu choose <span style="font-weight: bold;"><B>Numbering 
+ &gt; Display Elements #</B></span>.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">It will look like as follows:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs1"><img src="../image95.jpg" width="324px" height="278px" border="0" class="img_whs4"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 0c5b3974cc608d17368823cbb739bda3235b180f..adf5054d3b8153bbebaa6ca29e2572af88d89b6e 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Editing groups</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:21px; height:22px; border-style:none; }\r
-img_whs3 { border:none; width:400px; height:622px; float:none; }\r
-p.whs4 { font-weight:normal; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nEditing groups");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Editing groups</h1>\r
-\r
-<p class=TODO\r
-       style="margin-left: 0px;">To edit an existing group of elements:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. Select your group in the Object Browser \r
- and in the <span style="font-weight: bold;"><B>Mesh </B></span>menu click the \r
- <span style="font-weight: bold;"><B>Edit Group </B></span>item or <img src="../image74.gif" width="21px" height="22px" border="0" class="img_whs2"> icon in the toolbar. The following dialog box will appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/editgroup.png" x-maintain-ratio="TRUE" width="400px" height="622px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs1">In this dialog box you can modify the name<span \r
- style="font-weight: bold;"> <B></B></span>of your group and add or remove the \r
- elements forming it. For more information <a href="creating_groups.htm">see \r
- Creating Groups </a><span style="margin-left: 40px;">page.</span></p>\r
-\r
-<p class="whs1">2. Click the <span style="font-weight: bold;"><B>OK \r
- </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply \r
- </B></span>button to confirm modification of the group.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <a href="../grouping_elements.htm#bookmark1">Edit \r
- Group</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Editing groups</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:21px; height:22px; border-style:none; }
+img_whs3 { border:none; width:400px; height:622px; float:none; }
+p.whs4 { font-weight:normal; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nEditing groups");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Editing groups</h1>
+
+<p class=TODO
+       style="margin-left: 0px;">To edit an existing group of elements:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. Select your group in the Object Browser 
+ and in the <span style="font-weight: bold;"><B>Mesh </B></span>menu click the 
+ <span style="font-weight: bold;"><B>Edit Group </B></span>item or <img src="../image74.gif" width="21px" height="22px" border="0" class="img_whs2"> icon in the toolbar. The following dialog box will appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/editgroup.png" x-maintain-ratio="TRUE" width="400px" height="622px" border="0" class="img_whs3"></p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs1">In this dialog box you can modify the name<span 
+ style="font-weight: bold;"> <B></B></span>of your group and add or remove the 
+ elements forming it. For more information <a href="creating_groups.htm">see 
+ Creating Groups </a><span style="margin-left: 40px;">page.</span></p>
+
+<p class="whs1">2. Click the <span style="font-weight: bold;"><B>OK 
+ </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply 
+ </B></span>button to confirm modification of the group.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <a href="../grouping_elements.htm#bookmark1">Edit 
+ Group</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 26f27486f0e40ee3d4b86ff7b920ad2062c6dc1e..5cfa16047fd4cc814feb5b7d7a2f4b183cc6b62f 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Importing and exporting meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; border-style:none; width:437px; height:283px; float:none; }\r
-img_whs4 { border:none; border-style:none; width:436px; height:307px; float:none; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nImporting and exporting meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Importing and exporting meshes</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In MESH there is a functionality allowing importation/exportation \r
- of meshes from <span style="font-weight: bold;"><B>MED</B></span>, <span style="font-weight: bold;"><B>UNV</B></span> \r
- format files. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To import a mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. From the <span style="font-weight: bold;"><B>File</B></span> \r
- menu choose the <span style="font-weight: bold;"><B>Import</B></span> item, from \r
- its sub-menu select the corresponding format (MED, &nbsp;UNV) \r
- of the file containing your mesh.</p>\r
-\r
-<p class="whs2">2. In the standard <span style="font-weight: bold;"><B>Search \r
- File </B></span>dialog box find the file for importation. </p>\r
-\r
-<p class="whs2">3. Click the <span style="font-weight: bold;"><B>OK \r
- </B></span>button.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/meshimportmesh.png" x-maintain-ratio="TRUE" width="437px" height="283px" border="0" class="img_whs3"> </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class=TODO>To export a mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Select the object you wish to export.</p>\r
-\r
-<p class="whs2">2. From the <span style="font-weight: bold;"><B>File</B></span> \r
- menu choose the <span style="font-weight: bold;"><B>Export</B></span> item, from \r
- its sub-menu select the format (MED, UNV) of the file which will contain \r
- your exported mesh..</p>\r
-\r
-<p class="whs2">3. In the standard <span style="font-weight: bold;"><B>Search \r
- File </B></span><span>select a location for the exported file and enter its \r
- name.</span> </p>\r
-\r
-<p class="whs2">4. Click the <span style="font-weight: bold;"><B>OK \r
- </B></span>button. </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/meshexportmesh.png" x-maintain-ratio="TRUE" width="436px" height="307px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <a href="../constructing_meshes.htm#bookmark3">Export \r
- Mesh</a> operation. &nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Importing and exporting meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; border-style:none; width:437px; height:283px; float:none; }
+img_whs4 { border:none; border-style:none; width:436px; height:307px; float:none; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nImporting and exporting meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Importing and exporting meshes</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In MESH there is a functionality allowing importation/exportation 
+ of meshes from <span style="font-weight: bold;"><B>MED</B></span> and <span style="font-weight: bold;"><B>UNV 
+ </B></span>(I-DEAS 10) format files. </p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To import a mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. From the <span style="font-weight: bold;"><B>File</B></span> 
+ menu choose the <span style="font-weight: bold;"><B>Import</B></span> item, from 
+ its sub-menu select the corresponding format (MED, &nbsp;UNV) 
+ of the file containing your mesh.</p>
+
+<p class="whs2">2. In the standard <span style="font-weight: bold;"><B>Search 
+ File </B></span>dialog box find the file for importation. </p>
+
+<p class="whs2">3. Click the <span style="font-weight: bold;"><B>OK 
+ </B></span>button.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/meshimportmesh.png" x-maintain-ratio="TRUE" width="437px" height="283px" border="0" class="img_whs3"> </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class=TODO>To export a mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Select the object you wish to export.</p>
+
+<p class="whs2">2. From the <span style="font-weight: bold;"><B>File</B></span> 
+ menu choose the <span style="font-weight: bold;"><B>Export</B></span> item, from 
+ its sub-menu select the format (MED, UNV) of the file which will contain 
+ your exported mesh..</p>
+
+<p class="whs2">3. In the standard <span style="font-weight: bold;"><B>Search 
+ File </B></span><span>select a location for the exported file and enter its 
+ name.</span> </p>
+
+<p class="whs2">4. Click the <span style="font-weight: bold;"><B>OK 
+ </B></span>button. </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/meshexportmesh.png" x-maintain-ratio="TRUE" width="436px" height="307px" border="0" class="img_whs4"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <a href="../constructing_meshes.htm#bookmark3">Export 
+ Mesh</a> operation. &nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 259d204da1b2a91cee5b1561240d3439fe130550..54cf225538764126837963e54a8a479648f88813 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Length of edges</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:27px; height:24px; border-style:none; }\r
-img_whs4 { border:none; border-style:none; width:450px; height:381px; float:none; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nLength 2D");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Length 2D</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This quality control criterion consists of calculation \r
- of length of the edges combining the meshing elements (triangles and quadrangles) \r
- of your mesh. </p>\r
-\r
-<p>&nbsp;&nbsp;&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Length 2D quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Length 2D </B></span>or click <img src="../image34.gif" width="27px" height="24px" border="0" class="img_whs3"> button in the toolbar. Your \r
- mesh will be displayed in the viewer with its elements colored according \r
- to the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/length2d.png" x-maintain-ratio="TRUE" width="450px" height="381px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../quality_controls.htm#bookmark4">&nbsp;Length \r
- 2D quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Length of edges</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:27px; height:24px; border-style:none; }
+img_whs4 { border:none; border-style:none; width:450px; height:381px; float:none; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nLength 2D");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Length 2D</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This quality control criterion consists of calculation 
+ of length of the edges combining the meshing elements (triangles and quadrangles) 
+ of your mesh. </p>
+
+<p>&nbsp;&nbsp;&nbsp;</p>
+
+<p class=TODO>To apply the Length 2D quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Length 2D </B></span>or click <img src="../image34.gif" width="27px" height="24px" border="0" class="img_whs3"> button in the toolbar. Your 
+ mesh will be displayed in the viewer with its elements colored according 
+ to the applied mesh quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/length2d.png" x-maintain-ratio="TRUE" width="450px" height="381px" border="0" class="img_whs4"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../quality_controls.htm#bookmark4">&nbsp;Length 
+ 2D quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index d52787ce3596683dad21fbb66710cb5383a77f44..213603d7b466bc15fbe378b091002d18651fe7d1 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Length from edges</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { background-color:Transparent; color:#000000; font-weight:bold; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:332px; height:212px; float:none; border-style:none; }\r
-p.whs5 { margin-left:80px; }\r
-p.whs6 { margin-left:0px; }\r
-img_whs7 { border:none; width:455px; height:385px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs2 {background-color:white; }";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\n2D Meshing Hypotheses");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>2D Meshing Hypotheses</h1>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#max_element_area"><span \r
- style="font-weight: bold;"><B>Max Element Area</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#length_from_edges"><span \r
- style="font-weight: bold;"><B>Length from Edges</B></span></a></p></li>\r
-       \r
-       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "\r
-               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#quadrangle preference" style="font-weight: bold;">Quadrangle \r
- Preference</a></p></li>\r
-</ul>\r
-\r
-<h3><a name=max_element_area>Max Element Area </a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Max Element Area </B></span>hypothesis \r
- is applied for meshing of 2D faces composing your geometrical object. \r
- Definition of this hypothesis consists of setting the <span style="font-weight: bold;"><B>maximum \r
- area </B></span>of meshing elements (depending on the chosen meshing algorithm \r
- it can be <span style="font-weight: bold;"><B>triangles</B></span> or <span style="font-weight: bold;"><B>quadrangles</B></span>), \r
- which will compose the mesh of these 2D faces. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-maxelarea.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark4">Maximum \r
- Element Area hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/max_el_area.png" x-maintain-ratio="TRUE" width="455px" height="385px" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=length_from_edges>Length from Edges</a></h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Length from edges</B></span> hypothesis \r
- builds 2D mesh segments having a length calculated as an average edge \r
- length for a given wire. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark6">Length \r
- from Edges hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3><a name="quadrangle preference">Quadrangle Preference</a></h3>\r
-\r
-<p>This algorithm can be used only together with Quadrangle (Mapping) algorithm. \r
- It allows to build quadrangular meshes even if the number of nodes at \r
- the opposite edges of a meshed face is not equal, otherwise this mesh \r
- will contain some triangular elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Length from edges</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { background-color:Transparent; color:#000000; font-weight:bold; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:332px; height:212px; float:none; border-style:none; }
+p.whs5 { margin-left:80px; }
+p.whs6 { margin-left:0px; }
+img_whs7 { border:none; width:455px; height:385px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs2 {background-color:white; }";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\n2D Meshing Hypotheses");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>2D Meshing Hypotheses</h1>
+
+<ul type="disc" class="whs1">
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#max_element_area"><span 
+ style="font-weight: bold;"><B>Max Element Area</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#length_from_edges"><span 
+ style="font-weight: bold;"><B>Length from Edges</B></span></a></p></li>
+       
+       <li style="/*begin!kadov{{*/ color: #000000; /*}}end!kadov*/ "
+               class=kadov-p><p class="whs2"><a href="max._element_area_hypothesis.htm#quadrangle preference" style="font-weight: bold;">Quadrangle 
+ Preference</a></p></li>
+</ul>
+
+<h3><a name=max_element_area>Max Element Area </a></h3>
+
+<p><span style="font-weight: bold;"><B>Max Element Area </B></span>hypothesis 
+ is applied for meshing of 2D faces composing your geometrical object. 
+ Definition of this hypothesis consists of setting the <span style="font-weight: bold;"><B>maximum 
+ area </B></span>of meshing elements (depending on the chosen meshing algorithm 
+ it can be <span style="font-weight: bold;"><B>triangles</B></span> or <span style="font-weight: bold;"><B>quadrangles</B></span>), 
+ which will compose the mesh of these 2D faces. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-maxelarea.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs4"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark4">Maximum 
+ Element Area hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/max_el_area.png" x-maintain-ratio="TRUE" width="455px" height="385px" border="0" class="img_whs7"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h3><a name=length_from_edges>Length from Edges</a></h3>
+
+<p><span style="font-weight: bold;"><B>Length from edges</B></span> hypothesis 
+ builds 2D mesh segments having a length calculated as an average edge 
+ length for a given wire. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark6">Length 
+ from Edges hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3><a name="quadrangle preference">Quadrangle Preference</a></h3>
+
+<p>This algorithm can be used only together with Quadrangle (Mapping) algorithm. 
+ It allows to build quadrangular meshes even if the number of nodes at 
+ the opposite edges of a meshed face is not equal, otherwise this mesh 
+ will contain some triangular elements.</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 8876409e2f7b7fee30382c19007d2718e11dd31c..b9be270306c5be9e872fc1631ac4090cf50d2fb2 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Non conform mesh allowed hypothesis</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:48px; }\r
-img_whs3 { border:none; width:332px; height:212px; float:none; border-style:none; }\r
-p.whs4 { margin-left:80px; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nMax Element Volume hypothesis");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Max Element Volume hypothesis</h1>\r
-\r
-<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"></B></span> <span style="font-weight: bold;"><B>Max \r
- Element Area </B></span>hypothesis is applied for meshing of 3D objects composing \r
- your geometrical object. Definition of this hypothesis consists of setting \r
- the <span style="font-weight: bold;"><B>maximum volume </B></span>of 3D meshing \r
- elements (depending on the chosen meshing algorithm it can be <span style="font-weight: bold;"><B>hexahedrons \r
- </B></span>or <span style="font-weight: bold;"><B>tetrahedrons</B></span>), which \r
- will compose the mesh of these 3D objects. </p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/a-maxelvolume.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark5">Maximum \r
- Element Volume hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Non conform mesh allowed hypothesis</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:48px; }
+img_whs3 { border:none; width:332px; height:212px; float:none; border-style:none; }
+p.whs4 { margin-left:80px; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nMax Element Volume hypothesis");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Max Element Volume hypothesis</h1>
+
+<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"></B></span> <span style="font-weight: bold;"><B>Max 
+ Element Area </B></span>hypothesis is applied for meshing of 3D objects composing 
+ your geometrical object. Definition of this hypothesis consists of setting 
+ the <span style="font-weight: bold;"><B>maximum volume </B></span>of 3D meshing 
+ elements (depending on the chosen meshing algorithm it can be <span style="font-weight: bold;"><B>hexahedrons 
+ </B></span>or <span style="font-weight: bold;"><B>tetrahedrons</B></span>), which 
+ will compose the mesh of these 3D objects. </p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/a-maxelvolume.png" x-maintain-ratio="TRUE" width="332px" height="212px" border="0" class="img_whs3"></p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark5">Maximum 
+ Element Volume hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index ec83b75492ccfc4661f5a50a5526a69e603bb3ba..b762170ce22b5f122fa2e56b98e24cf323bdef46 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Merging nodes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:312px; height:488px; float:none; border-style:none; }\r
-img_whs4 { border:none; width:341px; height:375px; float:none; border-style:none; }\r
-img_whs5 { border:none; float:none; width:347px; height:376px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nMerging nodes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Merging nodes</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This functionality allows user to detect groups of coincident \r
- nodes with desirable tolerance, edit these groups and merge.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To merge nodes of your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and \r
- &nbsp;from its \r
- sub-menu select the <span style="font-weight: bold;"><B>Merge nodes </B></span>item. \r
- The following dialog box shall appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/mergenodes.png" x-maintain-ratio="TRUE" width="312px" height="488px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">This dialog box allows to create groups of \r
- coincident nodes and to merge them. </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/merging_nodes1.png" x-maintain-ratio="TRUE" width="341px" height="375px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/merging_nodes2.png" x-maintain-ratio="TRUE" width="347px" height="376px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark3">Merge \r
- Nodes</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Merging nodes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:312px; height:488px; float:none; border-style:none; }
+img_whs4 { border:none; width:341px; height:375px; float:none; border-style:none; }
+img_whs5 { border:none; float:none; width:347px; height:376px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nMerging nodes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Merging nodes</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This functionality allows user to detect groups of coincident 
+ nodes with desirable tolerance, edit these groups and merge.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To merge nodes of your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and 
+ &nbsp;from its 
+ sub-menu select the <span style="font-weight: bold;"><B>Merge nodes </B></span>item. 
+ The following dialog box shall appear:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/mergenodes.png" x-maintain-ratio="TRUE" width="312px" height="488px" border="0" class="img_whs3"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">This dialog box allows to create groups of 
+ coincident nodes and to merge them. </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/merging_nodes1.png" x-maintain-ratio="TRUE" width="341px" height="375px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/merging_nodes2.png" x-maintain-ratio="TRUE" width="347px" height="376px" border="0" class="img_whs5"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark3">Merge 
+ Nodes</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 202ab024e9147e4fd4299a8bcb742d02447a901c..edf891759e7441ae34d20a23adda065d6a8f8f8d 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Minimum angle</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:24px; height:24px; border-style:none; }\r
-img_whs4 { border:none; width:443px; height:254px; border-style:none; }\r
-p.whs5 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs5 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nMinimum angle");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Minimum angle</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Minimum angle</B></span> \r
- mesh quality criterion consists of calculation of the minimum value of \r
- angle between two adjacent sides of a 2D meshing element (triangle or \r
- quadrangle). </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Minimum angle quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Minimum angle </B></span>or click <img src="../image38.gif" width="24px" height="24px" border="0" class="img_whs3"> button. Your mesh will \r
- be displayed in the viewer with its elements colored according to the \r
- applied mesh quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image92.jpg" width="443px" height="254px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../quality_controls.htm#bookmark9">Minimum \r
- Angle quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Minimum angle</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:24px; height:24px; border-style:none; }
+img_whs4 { border:none; width:443px; height:254px; border-style:none; }
+p.whs5 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs5 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nMinimum angle");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Minimum angle</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Minimum angle</B></span> 
+ mesh quality criterion consists of calculation of the minimum value of 
+ angle between two adjacent sides of a 2D meshing element (triangle or 
+ quadrangle). </p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To apply the Minimum angle quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Minimum angle </B></span>or click <img src="../image38.gif" width="24px" height="24px" border="0" class="img_whs3"> button. Your mesh will 
+ be displayed in the viewer with its elements colored according to the 
+ applied mesh quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../image92.jpg" width="443px" height="254px" border="0" class="img_whs4"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs5"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../quality_controls.htm#bookmark9">Minimum 
+ Angle quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 1083820b9eb5fa99dd9116fed676b90d058943ab..f79a74bc2c0e904cf64b39b59565ea4d9c8cc544 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Non conform mesh allowed hypothesis</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:0px; }\r
-p.whs2 { margin-left:40px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nAdditional Hypotheses");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Additional Hypotheses</h1>\r
-\r
-<p><span style="font-weight: bold;"><B>Additional Hypotheses</B></span> can be \r
- applied as a supplement to the main hypotheses, introducing additional \r
- concepts to mesh creation.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>To define an <span style="font-weight: bold;"><B>Additional Hypothesis</B></span> \r
- simply select it in <span style="font-weight: bold;"><B>Create Mesh</B></span> \r
- menu. These hypotheses are actually changes in the rules of mesh creation \r
- and as such don't possess adjustable values. </p>\r
-\r
-<h3>Non Conform mesh allowed hypothesis</h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Non Conform mesh allowed</B></span> hypothesis \r
- allows to generate non-conform meshes (that is, meshes having some edges \r
- ending on an edge or face of adjacent elements). </p>\r
-\r
-<h3>Quadratic Mesh</h3>\r
-\r
-<p>Quadratic Mesh hypothesis allows to build a quadratic mesh (whose edges \r
- are not straight but broken lines and can be defined by three points: \r
- first, middle and last) instead of an ordinary one. &nbsp;</p>\r
-\r
-<h3>Propagation of 1D Hypothesis on opposite edges</h3>\r
-\r
-<p><span style="font-weight: bold;"><B>Propagation of 1D Hypothesis on opposite \r
- edges </B></span>allows to propagate a hypothesis onto an opposite edge. If \r
- a local hypothesis and propagation are defined on an edge of a quadrangular \r
- face, the opposite edge will have the same hypothesis, unless another \r
- hypothesis has been locally defined on the opposite edge.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark7">Propagation \r
- hypothesis</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Non conform mesh allowed hypothesis</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:0px; }
+p.whs2 { margin-left:40px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nAdditional Hypotheses");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Additional Hypotheses</h1>
+
+<p><span style="font-weight: bold;"><B>Additional Hypotheses</B></span> can be 
+ applied as a supplement to the main hypotheses, introducing additional 
+ concepts to mesh creation.</p>
+
+<p>&nbsp;</p>
+
+<p>To define an <span style="font-weight: bold;"><B>Additional Hypothesis</B></span> 
+ simply select it in <span style="font-weight: bold;"><B>Create Mesh</B></span> 
+ menu. These hypotheses are actually changes in the rules of mesh creation 
+ and as such don't possess adjustable values. </p>
+
+<h3>Non Conform mesh allowed hypothesis</h3>
+
+<p><span style="font-weight: bold;"><B>Non Conform mesh allowed</B></span> hypothesis 
+ allows to generate non-conform meshes (that is, meshes having some edges 
+ ending on an edge or face of adjacent elements). </p>
+
+<h3>Quadratic Mesh</h3>
+
+<p>Quadratic Mesh hypothesis allows to build a quadratic mesh (whose edges 
+ are not straight but broken lines and can be defined by three points: 
+ first, middle and last) instead of an ordinary one. &nbsp;</p>
+
+<h3>Propagation of 1D Hypothesis on opposite edges</h3>
+
+<p><span style="font-weight: bold;"><B>Propagation of 1D Hypothesis on opposite 
+ edges </B></span>allows to propagate a hypothesis onto an opposite edge. If 
+ a local hypothesis and propagation are defined on an edge of a quadrangular 
+ face, the opposite edge will have the same hypothesis, unless another 
+ hypothesis has been locally defined on the opposite edge.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../defining_hypotheses_tui.htm#bookmark7">Propagation 
+ hypothesis</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 5244eead1c64c68d00b5f2688d208f1fce1985bf..c0b0d06bcd7add9c257ad0c648b76210790b2d22 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Reassigning hypotheses and algorithms</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; border-style:none; width:355px; height:296px; float:none; }\r
-img_whs2 { border:none; width:30px; height:29px; border-style:none; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; float:none; width:386px; height:336px; border-style:none; }\r
-img_whs5 { border:none; float:none; width:386px; height:338px; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
-p.whs7 { font-weight:bold; margin-left:40px; }\r
-img_whs8 { border:none; width:388px; height:341px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nCreating meshes\nEditing Meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Editing Meshes</h1>\r
-\r
-<p>After you have created a mesh or submesh with definite applied hypotheses \r
- and algorithms you can edit your mesh by <span style="font-weight: bold;"><B>assigning</B></span> \r
- new hypotheses and algorithms or <span style="font-weight: bold;"><B>unassigning \r
- </B></span>the applied hypotheses and algorithms. The editing proceeds in \r
- the same way as <span style="font-weight: bold;"><B>Mesh Creation</B></span>. \r
- </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;"><img src="../pics/createmesh-inv3.png" x-maintain-ratio="TRUE" width="355px" height="296px" border="0" class="img_whs1"></p>\r
-\r
-<p>You can also change values for the current hypothesis by clicking the \r
- <img src="../image122.gif" width="30px" height="29px" border="0" class="img_whs2"> button. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>See how a mesh constructed on one and the same geometrical object changes \r
- if we apply different algorithms to it. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/edit_mesh1.png" x-maintain-ratio="TRUE" width="386px" height="336px" border="0" class="img_whs4"> &nbsp;<img src="../pics/edit_mesh_remove_hyp.png" x-maintain-ratio="TRUE" width="386px" height="338px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs7"><img src="../pics/edit_mesh_change_value_hyp.png" x-maintain-ratio="TRUE" width="388px" height="341px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of an <a href="../constructing_meshes.htm#bookmark2">Edit \r
- Mesh</a> operation. &nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Reassigning hypotheses and algorithms</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; border-style:none; width:355px; height:296px; float:none; }
+img_whs2 { border:none; width:30px; height:29px; border-style:none; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; float:none; width:386px; height:336px; border-style:none; }
+img_whs5 { border:none; float:none; width:386px; height:338px; border-style:none; }
+p.whs6 { margin-left:0px; }
+p.whs7 { font-weight:bold; margin-left:40px; }
+img_whs8 { border:none; width:388px; height:341px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nCreating meshes\nEditing Meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Editing Meshes</h1>
+
+<p>After you have created a mesh or submesh with definite applied hypotheses 
+ and algorithms you can edit your mesh by <span style="font-weight: bold;"><B>assigning</B></span> 
+ new hypotheses and algorithms or <span style="font-weight: bold;"><B>unassigning 
+ </B></span>the applied hypotheses and algorithms. The editing proceeds in 
+ the same way as <span style="font-weight: bold;"><B>Mesh Creation</B></span>. 
+ </p>
+
+<p>&nbsp;</p>
+
+<p class=TODO
+       style="margin-left: 40px;"><img src="../pics/createmesh-inv3.png" x-maintain-ratio="TRUE" width="355px" height="296px" border="0" class="img_whs1"></p>
+
+<p>You can also change values for the current hypothesis by clicking the 
+ <img src="../image122.gif" width="30px" height="29px" border="0" class="img_whs2"> button. </p>
+
+<p>&nbsp;</p>
+
+<p>See how a mesh constructed on one and the same geometrical object changes 
+ if we apply different algorithms to it. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/edit_mesh1.png" x-maintain-ratio="TRUE" width="386px" height="336px" border="0" class="img_whs4"> &nbsp;<img src="../pics/edit_mesh_remove_hyp.png" x-maintain-ratio="TRUE" width="386px" height="338px" border="0" class="img_whs5"></p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs7"><img src="../pics/edit_mesh_change_value_hyp.png" x-maintain-ratio="TRUE" width="388px" height="341px" border="0" class="img_whs8"></p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of an <a href="../constructing_meshes.htm#bookmark2">Edit 
+ Mesh</a> operation. &nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 7137d89e66983c5d3ef2ae6b4326950dd1be66dd..9b720e9675a35f9f196a9046fef8c7378285e717 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Removing nodes and elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { margin-left:40px; font-weight:bold; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:27px; height:25px; border-style:none; }\r
-img_whs5 { border:none; width:332px; height:231px; float:none; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
-img_whs7 { border:none; width:36px; height:38px; float:none; border-style:none; }\r
-table.whs8 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs9 { width:31.569%; }\r
-col.whs10 { width:68.431%; }\r
-tr.whs11 { x-cell-content-align:top; }\r
-td.whs12 { width:31.569%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs13 { border:none; width:245px; height:289px; float:none; border-style:none; }\r
-td.whs14 { width:68.431%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs15 { border:none; width:252px; height:288px; float:none; border-style:none; }\r
-table.whs16 { x-cell-content-align:top; width:55.882%; border-spacing:0px; }\r
-col.whs17 { width:47.72%; }\r
-col.whs18 { width:52.28%; }\r
-td.whs19 { width:47.72%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs20 { border:none; width:219px; height:210px; float:none; border-style:none; }\r
-td.whs21 { width:52.28%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs22 { border:none; float:none; width:240px; height:209px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nRemoving nodes and elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Removing nodes and elements</h1>\r
-\r
-<p>In MESH you can remove nodes and all types of cells of your mesh. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#remove_a_node"\r
-       style="font-weight: bold;"><span style="font-weight: bold;"><B>Nodes</a> \r
- </B></span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#remove_an_element"\r
-       style="font-weight: bold;">Elements</a></p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO><a name=remove_a_node>To remove a node:</a></p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;">&nbsp;</p>\r
-\r
-<p class="whs3">1. Select your mesh in the Object Browser \r
- or in the 3D viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose <span style="font-weight: bold;"><B>Remove </B></span>and \r
- from the associated submenu select the <span style="font-weight: bold;"><B>Remove \r
- nodes</B></span>, or just click <img src="../image88.gif" width="27px" height="25px" border="0" class="img_whs4"> icon in the toolbar. The \r
- following dialog box will appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/removenodes.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box you can specify one or \r
- several nodes (with pressed Shift button) by choosing them in the 3D viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">3. Click <span style="font-weight: bold;"><B>OK \r
- </B></span>or <span style="font-weight: bold;"><B>Apply </B></span>&nbsp;to \r
- confirm deletion of the specified nodes.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7">Be careful while removing \r
- nodes because if you remove a definite node of your mesh all adjacent \r
- elements will be also deleted.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs8">\r
-<col class="whs9">\r
-<col class="whs10">\r
-\r
-<tr valign="top" class="whs11">\r
-<td width="31.569%" class="whs12">\r
-<p><img src="../pics/remove_nodes1.png" x-maintain-ratio="TRUE" width="245px" height="289px" border="0" class="img_whs13"></td>\r
-<td width="68.431%" class="whs14">\r
-<p><img src="../pics/remove_nodes2.png" x-maintain-ratio="TRUE" width="252px" height="288px" border="0" class="img_whs15"></td></tr>\r
-</table>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO><a name=remove_an_element>To remove an element:</a></p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;">&nbsp;</p>\r
-\r
-<p class="whs3">1. Select your mesh in the Object Browser \r
- or in the 3D viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose <span style="font-weight: bold;"><B>Remove </B></span>and \r
- from the associated submenu select the <span style="font-weight: bold;"><B>Remove \r
- elements</B></span>, or just click <img src="../image88.gif" width="27px" height="25px" border="0" class="img_whs4"> icon in the toolbar. The \r
- following dialog box will appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/removeelements.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">In this dialog box you can specify one or \r
- several elements of your mesh (with pressed Shift button) by choosing \r
- them in the 3D viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">3. Click <span style="font-weight: bold;"><B>OK \r
- </B></span>or <span style="font-weight: bold;"><B>Apply </B></span>&nbsp;to \r
- confirm deletion of the specified elements.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="55.882%" class="whs16">\r
-<col class="whs17">\r
-<col class="whs18">\r
-\r
-<tr valign="top" class="whs11">\r
-<td width="47.72%" class="whs19">\r
-<p><img src="../pics/remove_elements1.png" x-maintain-ratio="TRUE" width="219px" height="210px" border="0" class="img_whs20"></td>\r
-<td width="52.28%" class="whs21">\r
-<p><img src="../pics/remove_elements2.png" x-maintain-ratio="TRUE" width="240px" height="209px" border="0" class="img_whs22"></td></tr>\r
-</table>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark1">Removing \r
- Nodes and Elements</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Removing nodes and elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { margin-left:40px; font-weight:bold; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:27px; height:25px; border-style:none; }
+img_whs5 { border:none; width:332px; height:231px; float:none; border-style:none; }
+p.whs6 { margin-left:0px; }
+img_whs7 { border:none; width:36px; height:38px; float:none; border-style:none; }
+table.whs8 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs9 { width:31.569%; }
+col.whs10 { width:68.431%; }
+tr.whs11 { x-cell-content-align:top; }
+td.whs12 { width:31.569%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs13 { border:none; width:245px; height:289px; float:none; border-style:none; }
+td.whs14 { width:68.431%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs15 { border:none; width:252px; height:288px; float:none; border-style:none; }
+table.whs16 { x-cell-content-align:top; width:55.882%; border-spacing:0px; }
+col.whs17 { width:47.72%; }
+col.whs18 { width:52.28%; }
+td.whs19 { width:47.72%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs20 { border:none; width:219px; height:210px; float:none; border-style:none; }
+td.whs21 { width:52.28%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs22 { border:none; float:none; width:240px; height:209px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nRemoving nodes and elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Removing nodes and elements</h1>
+
+<p>In MESH you can remove nodes and all types of cells of your mesh. </p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs1">
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#remove_a_node"
+       style="font-weight: bold;"><span style="font-weight: bold;"><B>Nodes</a> 
+ </B></span></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#remove_an_element"
+       style="font-weight: bold;">Elements</a></p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p class=TODO><a name=remove_a_node>To remove a node:</a></p>
+
+<p class=TODO
+       style="margin-left: 40px;">&nbsp;</p>
+
+<p class="whs3">1. Select your mesh in the Object Browser 
+ or in the 3D viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose <span style="font-weight: bold;"><B>Remove </B></span>and 
+ from the associated submenu select the <span style="font-weight: bold;"><B>Remove 
+ nodes</B></span>, or just click <img src="../image88.gif" width="27px" height="25px" border="0" class="img_whs4"> icon in the toolbar. The 
+ following dialog box will appear:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/removenodes.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box you can specify one or 
+ several nodes (with pressed Shift button) by choosing them in the 3D viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">3. Click <span style="font-weight: bold;"><B>OK 
+ </B></span>or <span style="font-weight: bold;"><B>Apply </B></span>&nbsp;to 
+ confirm deletion of the specified nodes.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs6"><img src="../note1.gif" x-maintain-ratio="TRUE" width="36px" height="38px" border="0" class="img_whs7">Be careful while removing 
+ nodes because if you remove a definite node of your mesh all adjacent 
+ elements will be also deleted.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs8">
+<col class="whs9">
+<col class="whs10">
+
+<tr valign="top" class="whs11">
+<td width="31.569%" class="whs12">
+<p><img src="../pics/remove_nodes1.png" x-maintain-ratio="TRUE" width="245px" height="289px" border="0" class="img_whs13"></td>
+<td width="68.431%" class="whs14">
+<p><img src="../pics/remove_nodes2.png" x-maintain-ratio="TRUE" width="252px" height="288px" border="0" class="img_whs15"></td></tr>
+</table>
+
+<p class="whs6">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO><a name=remove_an_element>To remove an element:</a></p>
+
+<p class=TODO
+       style="margin-left: 40px;">&nbsp;</p>
+
+<p class="whs3">1. Select your mesh in the Object Browser 
+ or in the 3D viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose <span style="font-weight: bold;"><B>Remove </B></span>and 
+ from the associated submenu select the <span style="font-weight: bold;"><B>Remove 
+ elements</B></span>, or just click <img src="../image88.gif" width="27px" height="25px" border="0" class="img_whs4"> icon in the toolbar. The 
+ following dialog box will appear:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3"><img src="../pics/removeelements.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">In this dialog box you can specify one or 
+ several elements of your mesh (with pressed Shift button) by choosing 
+ them in the 3D viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">3. Click <span style="font-weight: bold;"><B>OK 
+ </B></span>or <span style="font-weight: bold;"><B>Apply </B></span>&nbsp;to 
+ confirm deletion of the specified elements.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="55.882%" class="whs16">
+<col class="whs17">
+<col class="whs18">
+
+<tr valign="top" class="whs11">
+<td width="47.72%" class="whs19">
+<p><img src="../pics/remove_elements1.png" x-maintain-ratio="TRUE" width="219px" height="210px" border="0" class="img_whs20"></td>
+<td width="52.28%" class="whs21">
+<p><img src="../pics/remove_elements2.png" x-maintain-ratio="TRUE" width="240px" height="209px" border="0" class="img_whs22"></td></tr>
+</table>
+
+<p class="whs6">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark1">Removing 
+ Nodes and Elements</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index c329d15668eac6509d125fbc8ab2bd072c927423..577cd3356d297b66c3a310f0089b7e17f8a537d6 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Renumbering nodes and elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { margin-left:40px; font-weight:bold; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:29px; height:23px; border-style:none; }\r
-img_whs5 { border:none; width:332px; height:231px; float:none; border-style:none; }\r
-img_whs6 { border:none; width:26px; height:25px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nRenumbering nodes and elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Renumbering nodes and elements</h1>\r
-\r
-<p>In MESH you can renumber the nodes and elements of your mesh.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#renumber_nodes">Nodes</a> </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#renumber_elements"\r
-       style="font-weight: bold;">Elements</a></p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO><a name=renumber_nodes>To renumber the nodes of your mesh:</a></p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs3">1. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select <span style="font-weight: bold;"><B>Renumbering </B></span>submenu \r
- and choose the <span style="font-weight: bold;"><B>Nodes </B></span>item or click \r
- <img src="../image63.gif" width="29px" height="23px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will \r
- appear: </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/renumbernodes.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. Fill the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>field by selecting your mesh in the Object Browser or in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span><span>or </span><span style="font-weight: bold;"><B>OK </B></span><span>button \r
- to perform the operation.</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class=TODO><a name=renumber_elements>To renumber the elements of your \r
- mesh:</a></p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs3">1. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select <span style="font-weight: bold;"><B>Renumbering </B></span>submenu \r
- and choose the <span style="font-weight: bold;"><B>Elements </B></span>item or \r
- click <img src="../image64.gif" width="26px" height="25px" border="0" class="img_whs6"> button in the toolbar. The following dialog box will \r
- appear: </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/renumberelements.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. Fill the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>field by selecting your mesh in the Object Browser or in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span><span>or </span><span style="font-weight: bold;"><B>OK </B></span><span>button \r
- to perform the operation.</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark2">Renumbering \r
- Nodes and Elements</a><a href="../modifying_meshes.htm#bookmark8"> </a>operation. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Renumbering nodes and elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { margin-left:40px; font-weight:bold; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:29px; height:23px; border-style:none; }
+img_whs5 { border:none; width:332px; height:231px; float:none; border-style:none; }
+img_whs6 { border:none; width:26px; height:25px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nRenumbering nodes and elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Renumbering nodes and elements</h1>
+
+<p>In MESH you can renumber the nodes and elements of your mesh.</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs1">
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#renumber_nodes">Nodes</a> </p></li>
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#renumber_elements"
+       style="font-weight: bold;">Elements</a></p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p class=TODO><a name=renumber_nodes>To renumber the nodes of your mesh:</a></p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs3">1. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select <span style="font-weight: bold;"><B>Renumbering </B></span>submenu 
+ and choose the <span style="font-weight: bold;"><B>Nodes </B></span>item or click 
+ <img src="../image63.gif" width="29px" height="23px" border="0" class="img_whs4"> button in the toolbar. The following dialog box will 
+ appear: </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../pics/renumbernodes.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. Fill the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>field by selecting your mesh in the Object Browser or in the 3D 
+ viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span><span>or </span><span style="font-weight: bold;"><B>OK </B></span><span>button 
+ to perform the operation.</span></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class=TODO><a name=renumber_elements>To renumber the elements of your 
+ mesh:</a></p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs3">1. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select <span style="font-weight: bold;"><B>Renumbering </B></span>submenu 
+ and choose the <span style="font-weight: bold;"><B>Elements </B></span>item or 
+ click <img src="../image64.gif" width="26px" height="25px" border="0" class="img_whs6"> button in the toolbar. The following dialog box will 
+ appear: </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../pics/renumberelements.png" x-maintain-ratio="TRUE" width="332px" height="231px" border="0" class="img_whs5"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. Fill the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>field by selecting your mesh in the Object Browser or in the 3D 
+ viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span><span>or </span><span style="font-weight: bold;"><B>OK </B></span><span>button 
+ to perform the operation.</span></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark2">Renumbering 
+ Nodes and Elements</a><a href="../modifying_meshes.htm#bookmark8"> </a>operation. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 55b13144e9a369f91928f46e6ade0b1fe9c673f5..2e825820b160e4664b64a0bf70d8bec6f587d75f 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Rotation</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:390px; height:411px; float:none; border-style:none; }\r
-ul.whs3 { list-style:disc; }\r
-img_whs4 { border:none; float:none; width:418px; height:332px; }\r
-img_whs5 { border:none; width:443px; height:331px; float:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nRotation");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Rotation</h1>\r
-\r
-<p>This geometrical operation allows to rotate in space your mesh or some \r
- of its elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>&nbsp;To \r
- rotate your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and \r
- &nbsp;from its \r
- sub-menu select the <span style="font-weight: bold;"><B>Rotation </B></span>item. \r
- The following dialog box shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/rotation.png" x-maintain-ratio="TRUE" width="390px" height="411px" border="0" class="img_whs2"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">In this dialog box you can specify the elements \r
- which should be rotated and the rotation parameters:</p>\r
-\r
-<ul type="disc" class="whs3">\r
-       \r
-       <li class=kadov-p><p class="whs1"><span style="font-weight: bold;"><B>Axis:</B></span> \r
- point and vector</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><span style="font-weight: bold;"><B>Angle \r
- </B></span>of rotation </p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Create a \r
- copy </B></span>radio button allows to copy the rotated object.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark1">Rotation</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="../pics/rotation1.png" x-maintain-ratio="TRUE" width="418px" height="332px" border="0" class="img_whs4"> &nbsp;&nbsp;<img src="../pics/rotation2.png" x-maintain-ratio="TRUE" width="443px" height="331px" border="0" class="img_whs5"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Rotation</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:390px; height:411px; float:none; border-style:none; }
+ul.whs3 { list-style:disc; }
+img_whs4 { border:none; float:none; width:418px; height:332px; }
+img_whs5 { border:none; width:443px; height:331px; float:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nRotation");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Rotation</h1>
+
+<p>This geometrical operation allows to rotate in space your mesh or some 
+ of its elements.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>&nbsp;To 
+ rotate your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and 
+ &nbsp;from its 
+ sub-menu select the <span style="font-weight: bold;"><B>Rotation </B></span>item. 
+ The following dialog box shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/rotation.png" x-maintain-ratio="TRUE" width="390px" height="411px" border="0" class="img_whs2"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">In this dialog box you can specify the elements 
+ which should be rotated and the rotation parameters:</p>
+
+<ul type="disc" class="whs3">
+       
+       <li class=kadov-p><p class="whs1"><span style="font-weight: bold;"><B>Axis:</B></span> 
+ point and vector</p></li>
+       
+       <li class=kadov-p><p class="whs1"><span style="font-weight: bold;"><B>Angle 
+ </B></span>of rotation </p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Create a 
+ copy </B></span>radio button allows to copy the rotated object.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark1">Rotation</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p><img src="../pics/rotation1.png" x-maintain-ratio="TRUE" width="418px" height="332px" border="0" class="img_whs4"> &nbsp;&nbsp;<img src="../pics/rotation2.png" x-maintain-ratio="TRUE" width="443px" height="331px" border="0" class="img_whs5"></p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index a7422b23d457bb6740e388cf9db245fbb97cdcdb..a00aac9467acde62abde003f280813f29e742db7 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Running SMESH module</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:29px; height:28px; border-style:none; }\r
-p.whs2 { font-family:'Times New Roman' , serif; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; border-style:none; width:685px; height:398px; float:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nRunning MESH module");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Running MESH module</h1>\r
-\r
-<p class=TODO\r
-       style="font-style: normal;\r
-                       font-weight: normal;\r
-                       font-family: 'Times New Roman', serif;">To start MESH <span \r
- class=glossterm>module</span> in SALOME click <img src="../image25.jpg" width="29px" height="28px" border="0" class="img_whs1"> icon in the \r
- bottom toolbar or select <span style="font-weight: bold;"><B>MESH</B></span> \r
- &nbsp;from the \r
- Choose box:<span style="margin-left: 40px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">The desktop of the SALOME \r
- platform will be updated with additional toolbars and menus related to \r
- the <span style="font-weight: bold;"><B>MESH</B></span> component . </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../pics/a-viewgeneral.png" x-maintain-ratio="TRUE" width="685px" height="398px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Running SMESH module</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:29px; height:28px; border-style:none; }
+p.whs2 { font-family:'Times New Roman' , serif; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; border-style:none; width:685px; height:398px; float:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nRunning MESH module");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Running MESH module</h1>
+
+<p class=TODO
+       style="font-style: normal;
+                       font-weight: normal;
+                       font-family: 'Times New Roman', serif;">To start MESH <span 
+ class=glossterm>module</span> in SALOME click <img src="../image25.jpg" width="29px" height="28px" border="0" class="img_whs1"> icon in the 
+ bottom toolbar or select <span style="font-weight: bold;"><B>MESH</B></span> 
+ &nbsp;from the 
+ Choose box:<span style="margin-left: 40px;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">The desktop of the SALOME 
+ platform will be updated with additional toolbars and menus related to 
+ the <span style="font-weight: bold;"><B>MESH</B></span> component . </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"><img src="../pics/a-viewgeneral.png" x-maintain-ratio="TRUE" width="685px" height="398px" border="0" class="img_whs4"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 3a71c8db9fb56f64dce2af4fe6f5c3c79a9ec73e..3a461cf2539ff840e058216627b654ed7277f10c 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Sewing meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { font-weight:bold; }\r
-p.whs4 { margin-left:40px; }\r
-img_whs5 { border:none; width:332px; height:548px; border-style:none; float:right; }\r
-img_whs6 { border:none; width:612px; height:225px; border-style:none; }\r
-img_whs7 { border:none; width:581px; height:218px; border-style:none; float:left; }\r
-img_whs8 { border:none; width:600px; height:227px; border-style:none; }\r
-p.whs9 { margin-left:0px; }\r
-img_whs10 { border:none; width:620px; height:228px; border-style:none; }\r
-img_whs11 { border:none; width:304px; height:222px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs9 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSewing meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Sewing meshes</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In SMESH you can sew elements of &nbsp;different \r
- meshes. The current functionality allows you to sew:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#free bord">Free \r
- borders </a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#conform">Conform \r
- free borders</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#border to side">Border \r
- to side</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#side elements">Side \r
- elements</a></p></li>\r
-</ul>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class=TODO>To sew elements of different meshes:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs4">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Transformation \r
- </B></span>item and &nbsp;from \r
- its sub-menu select the <span style="font-weight: bold;"><B>Sewing </B></span>item. \r
- </p>\r
-\r
-<p class="whs4">2. Check in the dialog box one of the radio \r
- buttons corresponding to the type of sewing operation you would like to \r
- perform. </p>\r
-\r
-<p class="whs4">3. Fill the other fields available in the \r
- dialog box</p>\r
-\r
-<p class="whs4">4. Click the <span style="font-weight: bold;"><B>OK \r
- </B></span><span>or </span><span style="font-weight: bold;"><B>Apply </B></span>button \r
- to perform the operation of sewing. </p>\r
-\r
-<h3><a name="free bord"></a>Sew free borders<img src="../pics/sewing1.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>\r
-\r
-<p>This functionality allows you to unite two free borders of a 2D mesh.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>For sewing free borders you should define three points on each border: \r
- first, second and the last node: </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p>&nbsp;the \r
- first node specifies beginning of the border ;</p></li>\r
-       \r
-       <li class=kadov-p><p>&nbsp;the \r
- second node specifies the part of the border which should be considered \r
- (as far as the free border usually forms a closed contour);</p></li>\r
-       \r
-       <li class=kadov-p><p>&nbsp;the \r
- last node specifies the end of the border.</p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>You can select these nodes in the 3D viewer or define by its id.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The first and the second nodes should belong to the same link of a face. \r
- The second and the last nodes of a border can be the same. The first and \r
- the last nodes of two borders can be the same. The corresponding end nodes \r
- of two borders will be merged. Intermediate nodes of two borders will \r
- be either merged or inserted into faces of the opposite border.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The sewing algorithm is as follows:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4">1. The parameter (U) of each node within \r
- a border is computed. So that the first node has U=0.0, the last node \r
- has U=1.0, for the rest nodes 0.0 &lt; U &lt; 1.0;</p>\r
-\r
-<p class="whs4">2. Compare node parameters of the two borders. \r
- If two nodes of the opposite borders have close parameters, they are merged, \r
- i.e. a node of the first border is replaced in all elements by a node \r
- of the second border. If a node has no node with a close parameter in \r
- the opposite border, it is inserted into an edge of element of the opposite \r
- border, an element is split. Two nodes are considered close enough to \r
- merge, if difference of their parameters is less than one fifth of minimum \r
- length of adjacent face edges on the borders.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4"><img src="../image22.jpg" width="612px" height="225px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark4">Sew \r
- Free Borders</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<h3><a name=conform></a>Sew conform free borders<img src="../pics/sewing2.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>\r
-\r
-<p>This functionality can be used to unite two free borders of a 2D mesh. \r
- </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The borders of meshes for sewing are defined as for &quot;Sew free borders&quot; \r
- except that the second free border is not limited and can be defined by \r
- the first and the second nodes only. The first nodes of two borders can \r
- be the same.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The algorithm is following: counting nodes starting at the first ones, \r
- the n-th node of the first border is merged with the n-th node of the \r
- other border, until the end of either of borders. Nodes of the first border \r
- are replaced in all elements with corresponding nodes of the second border.</p>\r
-\r
-<p>For sewing conform free borders you should define three points on the \r
- first border and two points on the second one. User can select these nodes \r
- in 3D viewer or define node by its id.<img src="../image23.jpg" width="581px" height="218px" align="left" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark5">Sew \r
- Conform Free Borders</a> operation. &nbsp;</p>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3><a name="border to side"></a>Sew border to side<img src="../pics/sewing3.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>\r
-\r
-<p>&quot;Sew border to side&quot; is intended to sew a free border to a \r
- mesh surface.</p>\r
-\r
-<p>The free border is defined as for &quot;Sewing of free borders&quot;. \r
- The place where to sew the border is defined by two nodes, between which \r
- the border faces are placed, so that the first border node is merged with \r
- the first node on the side and the last node of the border is merged with \r
- the second specified node on the side.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p>The algorithm is following.</p>\r
-\r
-<p>1. Find a sequence of linked nodes on the side such that the found links \r
- to be most co-directed with the links of the free border.</p>\r
-\r
-<p>2. Sew two sequences of nodes using algorithm of &quot;Sewing of free \r
- berders&quot;.</p>\r
-\r
-<p>For sewing border to side you should define three points on the border \r
- and two points on the side. User can select these nodes in 3D viewer or \r
- define node by its id.</p>\r
-\r
-<p><img src="../image30.jpg" width="600px" height="227px" border="0" class="img_whs8"></p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark6">Sew \r
- Border to Side</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3>&nbsp;</h3>\r
-\r
-<h3><a name="side elements"></a>Sew side elements<img src="../pics/sewing4.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>\r
-\r
-<p class="whs9">This operation is intended to unite two mesh \r
- surfaces.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p>Surfaces may be defined by either 2d or 3d elements. The number of given \r
- elements of the sides must be the same. The sets of given elements must \r
- be topologically equal, i.e. each node of one element set must have a \r
- corresponding node in the other element set and corresponding nodes must \r
- be equally linked. If there are 3d elements in a set, only their free \r
- faces must obey to that rule.</p>\r
-\r
-<p>Two corresponding nodes on each side must be specified. They must belong \r
- to one element and must be located on an element set boundary.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>Sewing algorithm finds and merges the corresponding nodes starting from \r
- the specified ones.</p>\r
-\r
-<p><img src="../image31.jpg" width="620px" height="228px" border="0" class="img_whs10"></p>\r
-\r
-<p class="whs4"><img src="../image32.jpg" width="304px" height="222px" border="0" class="img_whs11"></p>\r
-\r
-<p>For sewing side elements you should define elements for sewing and two \r
- nodes for merging on the each side. User can select these elements and \r
- nodes in 3D viewer or define them by its id.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><span style="font-weight: bold;"><B>See Also</B></span> a sample TUI Script \r
- of a <a href="../transforming_meshes.htm#bookmark7">Sew Side Elements</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Sewing meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs2 { list-style:disc; }
+p.whs3 { font-weight:bold; }
+p.whs4 { margin-left:40px; }
+img_whs5 { border:none; width:332px; height:548px; border-style:none; float:right; }
+img_whs6 { border:none; width:612px; height:225px; border-style:none; }
+img_whs7 { border:none; width:581px; height:218px; border-style:none; float:left; }
+img_whs8 { border:none; width:600px; height:227px; border-style:none; }
+p.whs9 { margin-left:0px; }
+img_whs10 { border:none; width:620px; height:228px; border-style:none; }
+img_whs11 { border:none; width:304px; height:222px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs9 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSewing meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Sewing meshes</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In SMESH you can sew elements of &nbsp;different 
+ meshes. The current functionality allows you to sew:</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3"><a href="#free bord">Free 
+ borders </a></p></li>
+       
+       <li class=kadov-p><p class="whs3"><a href="#conform">Conform 
+ free borders</a></p></li>
+       
+       <li class=kadov-p><p class="whs3"><a href="#border to side">Border 
+ to side</a></p></li>
+       
+       <li class=kadov-p><p class="whs3"><a href="#side elements">Side 
+ elements</a></p></li>
+</ul>
+
+<p class="whs3">&nbsp;</p>
+
+<p class=TODO>To sew elements of different meshes:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs4">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Transformation 
+ </B></span>item and &nbsp;from 
+ its sub-menu select the <span style="font-weight: bold;"><B>Sewing </B></span>item. 
+ </p>
+
+<p class="whs4">2. Check in the dialog box one of the radio 
+ buttons corresponding to the type of sewing operation you would like to 
+ perform. </p>
+
+<p class="whs4">3. Fill the other fields available in the 
+ dialog box</p>
+
+<p class="whs4">4. Click the <span style="font-weight: bold;"><B>OK 
+ </B></span><span>or </span><span style="font-weight: bold;"><B>Apply </B></span>button 
+ to perform the operation of sewing. </p>
+
+<h3><a name="free bord"></a>Sew free borders<img src="../pics/sewing1.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
+
+<p>This functionality allows you to unite two free borders of a 2D mesh.</p>
+
+<p>&nbsp;</p>
+
+<p>For sewing free borders you should define three points on each border: 
+ first, second and the last node: </p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p>&nbsp;the 
+ first node specifies beginning of the border ;</p></li>
+       
+       <li class=kadov-p><p>&nbsp;the 
+ second node specifies the part of the border which should be considered 
+ (as far as the free border usually forms a closed contour);</p></li>
+       
+       <li class=kadov-p><p>&nbsp;the 
+ last node specifies the end of the border.</p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<p>You can select these nodes in the 3D viewer or define by its id.</p>
+
+<p>&nbsp;</p>
+
+<p>The first and the second nodes should belong to the same link of a face. 
+ The second and the last nodes of a border can be the same. The first and 
+ the last nodes of two borders can be the same. The corresponding end nodes 
+ of two borders will be merged. Intermediate nodes of two borders will 
+ be either merged or inserted into faces of the opposite border.</p>
+
+<p>&nbsp;</p>
+
+<p>The sewing algorithm is as follows:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs4">1. The parameter (U) of each node within 
+ a border is computed. So that the first node has U=0.0, the last node 
+ has U=1.0, for the rest nodes 0.0 &lt; U &lt; 1.0;</p>
+
+<p class="whs4">2. Compare node parameters of the two borders. 
+ If two nodes of the opposite borders have close parameters, they are merged, 
+ i.e. a node of the first border is replaced in all elements by a node 
+ of the second border. If a node has no node with a close parameter in 
+ the opposite border, it is inserted into an edge of element of the opposite 
+ border, an element is split. Two nodes are considered close enough to 
+ merge, if difference of their parameters is less than one fifth of minimum 
+ length of adjacent face edges on the borders.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs4"><img src="../image22.jpg" width="612px" height="225px" border="0" class="img_whs6"></p>
+
+<p class="whs4">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark4">Sew 
+ Free Borders</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs4">&nbsp;</p>
+
+<h3><a name=conform></a>Sew conform free borders<img src="../pics/sewing2.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
+
+<p>This functionality can be used to unite two free borders of a 2D mesh. 
+ </p>
+
+<p>&nbsp;</p>
+
+<p>The borders of meshes for sewing are defined as for &quot;Sew free borders&quot; 
+ except that the second free border is not limited and can be defined by 
+ the first and the second nodes only. The first nodes of two borders can 
+ be the same.</p>
+
+<p>&nbsp;</p>
+
+<p>The algorithm is following: counting nodes starting at the first ones, 
+ the n-th node of the first border is merged with the n-th node of the 
+ other border, until the end of either of borders. Nodes of the first border 
+ are replaced in all elements with corresponding nodes of the second border.</p>
+
+<p>For sewing conform free borders you should define three points on the 
+ first border and two points on the second one. User can select these nodes 
+ in 3D viewer or define node by its id.<img src="../image23.jpg" width="581px" height="218px" align="left" border="0" class="img_whs7"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<h3>&nbsp;</h3>
+
+<h3>&nbsp;</h3>
+
+<h3>&nbsp;</h3>
+
+<h3>&nbsp;</h3>
+
+<h3>&nbsp;</h3>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark5">Sew 
+ Conform Free Borders</a> operation. &nbsp;</p>
+
+<h3>&nbsp;</h3>
+
+<h3>&nbsp;</h3>
+
+<h3><a name="border to side"></a>Sew border to side<img src="../pics/sewing3.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
+
+<p>&quot;Sew border to side&quot; is intended to sew a free border to a 
+ mesh surface.</p>
+
+<p>The free border is defined as for &quot;Sewing of free borders&quot;. 
+ The place where to sew the border is defined by two nodes, between which 
+ the border faces are placed, so that the first border node is merged with 
+ the first node on the side and the last node of the border is merged with 
+ the second specified node on the side.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p>The algorithm is following.</p>
+
+<p>1. Find a sequence of linked nodes on the side such that the found links 
+ to be most co-directed with the links of the free border.</p>
+
+<p>2. Sew two sequences of nodes using algorithm of &quot;Sewing of free 
+ berders&quot;.</p>
+
+<p>For sewing border to side you should define three points on the border 
+ and two points on the side. User can select these nodes in 3D viewer or 
+ define node by its id.</p>
+
+<p><img src="../image30.jpg" width="600px" height="227px" border="0" class="img_whs8"></p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark6">Sew 
+ Border to Side</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3>&nbsp;</h3>
+
+<h3><a name="side elements"></a>Sew side elements<img src="../pics/sewing4.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
+
+<p class="whs9">This operation is intended to unite two mesh 
+ surfaces.</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p>Surfaces may be defined by either 2d or 3d elements. The number of given 
+ elements of the sides must be the same. The sets of given elements must 
+ be topologically equal, i.e. each node of one element set must have a 
+ corresponding node in the other element set and corresponding nodes must 
+ be equally linked. If there are 3d elements in a set, only their free 
+ faces must obey to that rule.</p>
+
+<p>Two corresponding nodes on each side must be specified. They must belong 
+ to one element and must be located on an element set boundary.</p>
+
+<p>&nbsp;</p>
+
+<p>Sewing algorithm finds and merges the corresponding nodes starting from 
+ the specified ones.</p>
+
+<p><img src="../image31.jpg" width="620px" height="228px" border="0" class="img_whs10"></p>
+
+<p class="whs4"><img src="../image32.jpg" width="304px" height="222px" border="0" class="img_whs11"></p>
+
+<p>For sewing side elements you should define elements for sewing and two 
+ nodes for merging on the each side. User can select these elements and 
+ nodes in 3D viewer or define them by its id.</p>
+
+<p>&nbsp;</p>
+
+<p><span style="font-weight: bold;"><B>See Also</B></span> a sample TUI Script 
+ of a <a href="../transforming_meshes.htm#bookmark7">Sew Side Elements</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 2a39312ab28244ba579f1137b9ad11da4a4c7654..cfeac0793b263708f019ef23feaa0423395ca58e 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Skew</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:453px; height:411px; border-style:none; }\r
-img_whs4 { border:none; width:24px; height:23px; border-style:none; }\r
-img_whs5 { border:none; width:448px; height:323px; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nSkew");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Skew</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Skew</B></span> mesh quality \r
- criterion reflects the angle between the lines that join opposite sides \r
- of the element. SKEW &nbsp;is \r
- a maximum value of all skew angles. <span style="margin-left: 0px; text-indent: 48px;">This \r
- mesh quality criterion can be applied to elements composed of 4 and 3 \r
- nodes (quadrangles and triangles)</span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image27.jpg" width="453px" height="411px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Skew quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Skew </B></span>or click <img src="../image40.gif" width="24px" height="23px" border="0" class="img_whs4"> button of the toolbar. Your mesh \r
- will be displayed in the viewer with its elements colored according to \r
- the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image93.jpg" width="448px" height="323px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../quality_controls.htm#bookmark12">Skew \r
- quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Skew</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:453px; height:411px; border-style:none; }
+img_whs4 { border:none; width:24px; height:23px; border-style:none; }
+img_whs5 { border:none; width:448px; height:323px; border-style:none; }
+p.whs6 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nSkew");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Skew</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Skew</B></span> mesh quality 
+ criterion reflects the angle between the lines that join opposite sides 
+ of the element. SKEW &nbsp;is 
+ a maximum value of all skew angles. <span style="margin-left: 0px; text-indent: 48px;">This 
+ mesh quality criterion can be applied to elements composed of 4 and 3 
+ nodes (quadrangles and triangles)</span></p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../image27.jpg" width="453px" height="411px" border="0" class="img_whs3"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class=TODO>To apply the Skew quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Skew </B></span>or click <img src="../image40.gif" width="24px" height="23px" border="0" class="img_whs4"> button of the toolbar. Your mesh 
+ will be displayed in the viewer with its elements colored according to 
+ the applied mesh quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../image93.jpg" width="448px" height="323px" border="0" class="img_whs5"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../quality_controls.htm#bookmark12">Skew 
+ quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 7ceadedc96788ced003aa744eb416a875be15632..5b34249e014096907de5c94a166cfbfc416989e6 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Smoothing</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:24px; height:25px; border-style:none; }\r
-img_whs4 { border:none; width:332px; height:396px; float:none; border-style:none; }\r
-ul.whs5 { list-style:disc; }\r
-p.whs6 { margin-left:40px; font-weight:normal; }\r
-p.whs7 { font-weight:bold; }\r
-p.whs8 { margin-left:80px; }\r
-img_whs9 { border:none; width:527px; height:281px; border-style:none; }\r
-img_whs10 { border:none; float:none; width:353px; height:235px; border-style:none; }\r
-img_whs11 { border:none; width:351px; height:235px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nSmoothing");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Smoothing</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> Smoothing is used to adjust the locations of element \r
- corners (nodes) to reduce distortions in these elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To apply smoothing to the elements of your mesh:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display a mesh or a submesh in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Smoothing </B></span>item \r
- or click <img src="../image84.gif" width="24px" height="25px" border="0" class="img_whs3"> button in the toolbar. The <span style="margin-left: 40px;">dialog \r
- box contains the following fields which should be specified:</span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/smoothing.png" x-maintain-ratio="TRUE" width="332px" height="396px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
-\r
-<ul type="disc" class="whs5">\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Id Elements </B></span>field allows to specify \r
- the elements which should be smoothed by selecting them in the 3D viewer \r
- (lock <span style="font-weight: bold;"><B>Shift </B></span>button to select several \r
- elements).</p></li>\r
-       \r
-       <ul type="disc" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs7">Select whole mesh, \r
- submesh or group - <span style="font-weight: normal;">smoothing is applied \r
- to the whole mesh or its part.</span></p></li>\r
-               \r
-               <li class=kadov-p><p><span style="font-weight: bold;"><B>Fixed nodes \r
- ids</B></span>: some nodes keep their location during smoothing. If a mesh \r
- is built on a geometry shape, the nodes built on geometrical edges are \r
- always fixed. If smoothing is applied to a part of a mesh then the boundary \r
- nodes of an elements set are also fixed. Any other nodes may be additionally \r
- fixed.</p></li>\r
-               \r
-               <li class=kadov-p><p><span style="font-weight: bold;"><B>Smoothing \r
- Method</B></span>:</p></li>\r
-               \r
-               <ul type="disc" class="whs5">\r
-                       \r
-                       <li class=kadov-p><p><span style="font-weight: bold;"><B>Laplacian</B></span> \r
- smoothing pulls a node toward the center of surrounding nodes directly \r
- connected to that node along an element edge. Centroidal smoothing pulls \r
- a node toward the element-area-weighted centroid of the surrounding elements. \r
- Typically, the Laplacian method will produce the mesh with the least element \r
- distortion. It is also the faster method. </p></li>\r
-                       \r
-                       <li class=kadov-p><p><span style="font-weight: bold;"><B>Centroidal</B></span> \r
- smoothing usually produces a mesh that has more uniform element sizes. \r
- Both methods produce good results with &quot;free&quot; meshes.</p></li>\r
-               </ul>\r
-       </ul>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs8"><img src="../image83.gif" width="527px" height="281px" border="0" class="img_whs9"></p>\r
-\r
-<ul type="disc" class="whs5">\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Iteration limit: </B></span>both of the smoothing \r
- methods use an iterative procedure to converge toward a smoothed mesh. \r
- All nodes are smoothed according to one of the techniques shown above. \r
- Then the smoothing is reevaluated with the updated nodal locations. This \r
- process continues until the maximum number of iterations has been exceeded, \r
- or all elements has aspect ratio less or equal than the specified one.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Max. aspect ratio</B></span>.</p></li>\r
-</ul>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm \r
- the operation.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/smoothing1.png" x-maintain-ratio="TRUE" width="353px" height="235px" border="0" class="img_whs10"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/smoothing2.png" x-maintain-ratio="TRUE" width="351px" height="235px" border="0" class="img_whs11"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark8">Smoothing</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Smoothing</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:24px; height:25px; border-style:none; }
+img_whs4 { border:none; width:332px; height:396px; float:none; border-style:none; }
+ul.whs5 { list-style:disc; }
+p.whs6 { margin-left:40px; font-weight:normal; }
+p.whs7 { font-weight:bold; }
+p.whs8 { margin-left:80px; }
+img_whs9 { border:none; width:527px; height:281px; border-style:none; }
+img_whs10 { border:none; float:none; width:353px; height:235px; border-style:none; }
+img_whs11 { border:none; width:351px; height:235px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nSmoothing");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Smoothing</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> Smoothing is used to adjust the locations of element 
+ corners (nodes) to reduce distortions in these elements.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To apply smoothing to the elements of your mesh:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">1. Display a mesh or a submesh in the 3D 
+ viewer.</p>
+
+<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Smoothing </B></span>item 
+ or click <img src="../image84.gif" width="24px" height="25px" border="0" class="img_whs3"> button in the toolbar. The <span style="margin-left: 40px;">dialog 
+ box contains the following fields which should be specified:</span></p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/smoothing.png" x-maintain-ratio="TRUE" width="332px" height="396px" border="0" class="img_whs4"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
+
+<ul type="disc" class="whs5">
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Id Elements </B></span>field allows to specify 
+ the elements which should be smoothed by selecting them in the 3D viewer 
+ (lock <span style="font-weight: bold;"><B>Shift </B></span>button to select several 
+ elements).</p></li>
+       
+       <ul type="disc" class="whs5">
+               
+               <li class=kadov-p><p class="whs7">Select whole mesh, 
+ submesh or group - <span style="font-weight: normal;">smoothing is applied 
+ to the whole mesh or its part.</span></p></li>
+               
+               <li class=kadov-p><p><span style="font-weight: bold;"><B>Fixed nodes 
+ ids</B></span>: some nodes keep their location during smoothing. If a mesh 
+ is built on a geometry shape, the nodes built on geometrical edges are 
+ always fixed. If smoothing is applied to a part of a mesh then the boundary 
+ nodes of an elements set are also fixed. Any other nodes may be additionally 
+ fixed.</p></li>
+               
+               <li class=kadov-p><p><span style="font-weight: bold;"><B>Smoothing 
+ Method</B></span>:</p></li>
+               
+               <ul type="disc" class="whs5">
+                       
+                       <li class=kadov-p><p><span style="font-weight: bold;"><B>Laplacian</B></span> 
+ smoothing pulls a node toward the center of surrounding nodes directly 
+ connected to that node along an element edge. Centroidal smoothing pulls 
+ a node toward the element-area-weighted centroid of the surrounding elements. 
+ Typically, the Laplacian method will produce the mesh with the least element 
+ distortion. It is also the faster method. </p></li>
+                       
+                       <li class=kadov-p><p><span style="font-weight: bold;"><B>Centroidal</B></span> 
+ smoothing usually produces a mesh that has more uniform element sizes. 
+ Both methods produce good results with &quot;free&quot; meshes.</p></li>
+               </ul>
+       </ul>
+</ul>
+
+<p>&nbsp;</p>
+
+<p class="whs8"><img src="../image83.gif" width="527px" height="281px" border="0" class="img_whs9"></p>
+
+<ul type="disc" class="whs5">
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Iteration limit: </B></span>both of the smoothing 
+ methods use an iterative procedure to converge toward a smoothed mesh. 
+ All nodes are smoothed according to one of the techniques shown above. 
+ Then the smoothing is reevaluated with the updated nodal locations. This 
+ process continues until the maximum number of iterations has been exceeded, 
+ or all elements has aspect ratio less or equal than the specified one.</p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Max. aspect ratio</B></span>.</p></li>
+</ul>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm 
+ the operation.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/smoothing1.png" x-maintain-ratio="TRUE" width="353px" height="235px" border="0" class="img_whs10"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../pics/smoothing2.png" x-maintain-ratio="TRUE" width="351px" height="235px" border="0" class="img_whs11"></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark8">Smoothing</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index bc13e22f5fefa12791c226638b057449fef7c1c2..b8e622996d901bbfe8199cccce371e7c712091c4 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Symmetry</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:384px; height:375px; float:none; border-style:none; }\r
-img_whs3 { border:none; width:384px; height:385px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSymmetry");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Symmetry</h1>\r
-\r
-<p>This geometrical operation allows to perform a symmetrical copy of your \r
- mesh or some of its elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>&nbsp;To \r
- apply symmetry to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and \r
- &nbsp;from its \r
- sub-menu select the <span style="font-weight: bold;"><B>Symmetry </B></span>item. \r
- The following dialog box shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/symmetry1.png" x-maintain-ratio="TRUE" width="384px" height="375px" border="0" class="img_whs2"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/symmetry2.png" x-maintain-ratio="TRUE" width="384px" height="385px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/symmetry3.png" x-maintain-ratio="TRUE" width="384px" height="385px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">This operation has three options, you can \r
- symmetrically copy your mesh or some of its elements specifying: </p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs1">one point</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">one axis (point and \r
- vector)</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">one plane (point and \r
- normal)</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Create a \r
- copy </B></span>radio button allows to keep the initial elements or mesh.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark2">Symmetry</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Symmetry</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:384px; height:375px; float:none; border-style:none; }
+img_whs3 { border:none; width:384px; height:385px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSymmetry");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Symmetry</h1>
+
+<p>This geometrical operation allows to perform a symmetrical copy of your 
+ mesh or some of its elements.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>&nbsp;To 
+ apply symmetry to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and 
+ &nbsp;from its 
+ sub-menu select the <span style="font-weight: bold;"><B>Symmetry </B></span>item. 
+ The following dialog box shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/symmetry1.png" x-maintain-ratio="TRUE" width="384px" height="375px" border="0" class="img_whs2"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/symmetry2.png" x-maintain-ratio="TRUE" width="384px" height="385px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/symmetry3.png" x-maintain-ratio="TRUE" width="384px" height="385px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">This operation has three options, you can 
+ symmetrically copy your mesh or some of its elements specifying: </p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1">one point</p></li>
+       
+       <li class=kadov-p><p class="whs1">one axis (point and 
+ vector)</p></li>
+       
+       <li class=kadov-p><p class="whs1">one plane (point and 
+ normal)</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Create a 
+ copy </B></span>radio button allows to keep the initial elements or mesh.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark2">Symmetry</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 4e635c4e332788d78137d2b41760b782f739fb17..9ea8a26a700a7f83fbd015888695b0b722f426a7 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Taper</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
-img_whs2 { border:none; width:791px; height:170px; border-style:none; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:24px; height:23px; border-style:none; }\r
-img_whs5 { border:none; width:416px; height:316px; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nTaper");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Taper</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"><span style="font-weight: bold;"><B>Taper</B></span> mesh quality \r
- criterion represents the ratio of the areas of two triangles separated \r
- by a diagonal. So it can be calculated only for elements consisting of \r
- 4 nodes.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="../image25.gif" width="791px" height="170px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Taper quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs3">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Taper </B></span>or click <img src="../image36.gif" width="24px" height="23px" border="0" class="img_whs4"> button in the toolbar. Your mesh \r
- will be displayed in the viewer with its elements colored according to \r
- the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="../image90.jpg" width="416px" height="316px" border="0" class="img_whs5"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../quality_controls.htm#bookmark7">Taper \r
- quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Taper</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }
+img_whs2 { border:none; width:791px; height:170px; border-style:none; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:24px; height:23px; border-style:none; }
+img_whs5 { border:none; width:416px; height:316px; border-style:none; }
+p.whs6 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nTaper");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Taper</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"><span style="font-weight: bold;"><B>Taper</B></span> mesh quality 
+ criterion represents the ratio of the areas of two triangles separated 
+ by a diagonal. So it can be calculated only for elements consisting of 
+ 4 nodes.</p>
+
+<p>&nbsp;</p>
+
+<p><img src="../image25.gif" width="791px" height="170px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class=TODO>To apply the Taper quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs3">1. Display your mesh in the viewer.</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Taper </B></span>or click <img src="../image36.gif" width="24px" height="23px" border="0" class="img_whs4"> button in the toolbar. Your mesh 
+ will be displayed in the viewer with its elements colored according to 
+ the applied mesh quality control criterion:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="../image90.jpg" width="416px" height="316px" border="0" class="img_whs5"></p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../quality_controls.htm#bookmark7">Taper 
+ quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 8102d759d40e4e2345de544f09d4171c01f79890..82be5851da2f24cd681512c4d2a03888d7224601 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Translation</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; border-style:none; width:393px; height:353px; float:none; }\r
-img_whs3 { border:none; width:393px; height:353px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nTranslation");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Translation</h1>\r
-\r
-<p>This geometrical operation allows to translate in space your mesh or \r
- some of its elements.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>&nbsp;To \r
- translate your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and \r
- &nbsp;from its \r
- sub-menu select the <span style="font-weight: bold;"><B>Translation </B></span>item. \r
- The following dialog box shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/translation1.png" x-maintain-ratio="TRUE" width="393px" height="353px" border="0" class="img_whs2"> &nbsp;&nbsp;<img src="../pics/translation2.png" x-maintain-ratio="TRUE" width="393px" height="353px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">This operation has two options, you can translate \r
- in space your mesh or some of its elements specifying: </p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs1">two points (starting \r
- and ending)</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">one vector</p></li>\r
-</ul>\r
-\r
-<p class="whs1">Toggle the corresponding checkbox to <span \r
- style="font-weight: bold;"><B>Select whole mesh, submesh or group.</B></span></p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Create a \r
- copy </B></span>button allows to copy the translated object.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark">Translation</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Translation</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; border-style:none; width:393px; height:353px; float:none; }
+img_whs3 { border:none; width:393px; height:353px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nTranslation");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Translation</h1>
+
+<p>This geometrical operation allows to translate in space your mesh or 
+ some of its elements.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>&nbsp;To 
+ translate your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>choose <span style="font-weight: bold;"><B>Transformation </B></span>and 
+ &nbsp;from its 
+ sub-menu select the <span style="font-weight: bold;"><B>Translation </B></span>item. 
+ The following dialog box shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/translation1.png" x-maintain-ratio="TRUE" width="393px" height="353px" border="0" class="img_whs2"> &nbsp;&nbsp;<img src="../pics/translation2.png" x-maintain-ratio="TRUE" width="393px" height="353px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">This operation has two options, you can translate 
+ in space your mesh or some of its elements specifying: </p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1">two points (starting 
+ and ending)</p></li>
+       
+       <li class=kadov-p><p class="whs1">one vector</p></li>
+</ul>
+
+<p class="whs1">Toggle the corresponding checkbox to <span 
+ style="font-weight: bold;"><B>Select whole mesh, submesh or group.</B></span></p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Create a 
+ copy </B></span>button allows to copy the translated object.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark">Translation</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 514f50a7669722524c27d6e97f7c36305b028a9f..69e6ea13b0c13c1ecca6caa11aee4852209c88db 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Uniting a set of triangles</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:306px; height:450px; border-style:none; float:none; }\r
-img_whs4 { border:none; width:23px; height:24px; border-style:none; }\r
-ul.whs5 { list-style:disc; }\r
-p.whs6 { margin-left:40px; font-weight:normal; }\r
-p.whs7 { margin-left:0px; }\r
-img_whs8 { border:none; width:286px; height:242px; float:none; border-style:none; }\r
-img_whs9 { border:none; float:none; width:286px; height:242px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs7 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nUniting a set of triangles");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Uniting a set of triangles</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In contrast to <a href="uniting_two_triangles.htm">the \r
- previous operation</a> this one allows to unite at once many triangles \r
- if they have adjacent edges. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To union several triangles:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/a-unionoftriangles.png" x-maintain-ratio="TRUE" width="306px" height="450px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">1. Display a mesh or a submesh in the 3D \r
- viewer.</p>\r
-\r
-<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Union of triangles \r
- </B></span>item or click <img src="../image80.gif" width="23px" height="24px" border="0" class="img_whs4"> button in the toolbar. The following \r
- dialog box will appear:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs5">\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>The main list </B></span>shall contain the triangles \r
- which will be united. You can click on an triangle in the 3D viewer and \r
- it will be highlighted. After that click the <span style="font-weight: bold;"><B>Add \r
- </B></span>button and the ID of this triangle will be added to the list. To \r
- remove a selected element or elements from the list click the <span style="font-weight: bold;"><B>Remove \r
- </B></span>button. The <span style="font-weight: bold;"><B>Sort </B></span>button \r
- allows to sort the list of IDs. The <span style="font-weight: bold;"><B>Set \r
- filter </B></span>button allows to apply a definite filter to selection of \r
- triangles.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Apply to all </B></span>radio button allows to \r
- modify the orientation of all triangles of the currently displayed mesh \r
- or submesh.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Criterion</B></span> menu allows to apply the operation \r
- only to those object which meet the chosen criterion (from the list of \r
- Quality Controls, i.e. Skew, Warping, Minimum Angle, etc.)</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs6"><span \r
- style="font-weight: bold;"><B>Select from </B></span>set of fields allows to \r
- choose a submesh or an existing group whose triangle elements will be \r
- automatically added to the list.</p></li>\r
-</ul>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm \r
- the operation.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> If some selected triangle \r
- elements have no adjacent edges with one of the others, the operation \r
- on these elements shall take no effect.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="../pics/uniting_a_set_of_triangles1.png" x-maintain-ratio="TRUE" width="286px" height="242px" border="0" class="img_whs8"> &nbsp;&nbsp;&nbsp;<img src="../pics/uniting_a_set_of_triangles2.png" x-maintain-ratio="TRUE" width="286px" height="242px" border="0" class="img_whs9"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark5">Uniting \r
- a Set of Triangles</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Uniting a set of triangles</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:306px; height:450px; border-style:none; float:none; }
+img_whs4 { border:none; width:23px; height:24px; border-style:none; }
+ul.whs5 { list-style:disc; }
+p.whs6 { margin-left:40px; font-weight:normal; }
+p.whs7 { margin-left:0px; }
+img_whs8 { border:none; width:286px; height:242px; float:none; border-style:none; }
+img_whs9 { border:none; float:none; width:286px; height:242px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs7 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nUniting a set of triangles");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Uniting a set of triangles</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In contrast to <a href="uniting_two_triangles.htm">the 
+ previous operation</a> this one allows to unite at once many triangles 
+ if they have adjacent edges. </p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To union several triangles:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2"><img src="../pics/a-unionoftriangles.png" x-maintain-ratio="TRUE" width="306px" height="450px" border="0" class="img_whs3"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">1. Display a mesh or a submesh in the 3D 
+ viewer.</p>
+
+<p class="whs2">2. In the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Union of triangles 
+ </B></span>item or click <img src="../image80.gif" width="23px" height="24px" border="0" class="img_whs4"> button in the toolbar. The following 
+ dialog box will appear:</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs5">
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>The main list </B></span>shall contain the triangles 
+ which will be united. You can click on an triangle in the 3D viewer and 
+ it will be highlighted. After that click the <span style="font-weight: bold;"><B>Add 
+ </B></span>button and the ID of this triangle will be added to the list. To 
+ remove a selected element or elements from the list click the <span style="font-weight: bold;"><B>Remove 
+ </B></span>button. The <span style="font-weight: bold;"><B>Sort </B></span>button 
+ allows to sort the list of IDs. The <span style="font-weight: bold;"><B>Set 
+ filter </B></span>button allows to apply a definite filter to selection of 
+ triangles.</p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Apply to all </B></span>radio button allows to 
+ modify the orientation of all triangles of the currently displayed mesh 
+ or submesh.</p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Criterion</B></span> menu allows to apply the operation 
+ only to those object which meet the chosen criterion (from the list of 
+ Quality Controls, i.e. Skew, Warping, Minimum Angle, etc.)</p></li>
+       
+       <li class=kadov-p><p class="whs6"><span 
+ style="font-weight: bold;"><B>Select from </B></span>set of fields allows to 
+ choose a submesh or an existing group whose triangle elements will be 
+ automatically added to the list.</p></li>
+</ul>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button to confirm 
+ the operation.</p>
+
+<p class="whs7">&nbsp;</p>
+
+<p class="whs7"><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> If some selected triangle 
+ elements have no adjacent edges with one of the others, the operation 
+ on these elements shall take no effect.</p>
+
+<p>&nbsp;</p>
+
+<p><img src="../pics/uniting_a_set_of_triangles1.png" x-maintain-ratio="TRUE" width="286px" height="242px" border="0" class="img_whs8"> &nbsp;&nbsp;&nbsp;<img src="../pics/uniting_a_set_of_triangles2.png" x-maintain-ratio="TRUE" width="286px" height="242px" border="0" class="img_whs9"></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark5">Uniting 
+ a Set of Triangles</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 61ad185fd44bf3a6644f38c973d47d6509f7e21e..738ef90f0251122cde5a8dd3e61d785be66bdcd8 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Uniting two triangles</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:23px; height:23px; border-style:none; }\r
-img_whs3 { border:none; width:306px; height:163px; float:none; border-style:none; }\r
-table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs5 { width:37.647%; }\r
-col.whs6 { width:62.353%; }\r
-tr.whs7 { x-cell-content-align:top; }\r
-td.whs8 { padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs9 { border:none; border-style:none; float:none; width:297px; height:204px; }\r
-td.whs10 { padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs11 { border:none; border-style:none; width:318px; height:206px; float:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nUniting two triangles");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Uniting two triangles</h1>\r
-\r
-<p>&nbsp;In MESH \r
- you can union two neighboring triangles (cells) by deletion of the common \r
- edge.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To unite two triangles:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Union of two triangles \r
- </B></span>item or click <img src="../image71.gif" width="23px" height="23px" border="0" class="img_whs2"> button in the toolbar. The following \r
- dialog box shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="../pics/unionoftwotriangles.png" x-maintain-ratio="TRUE" width="306px" height="163px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. Enter the ID of the required edge in the \r
- <span style="font-weight: bold;"><B>Edge </B></span>&nbsp;field \r
- or select this edge in the 3D viewer. </p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs4">\r
-<col class="whs5">\r
-<col class="whs6">\r
-\r
-<tr valign="top" class="whs7">\r
-<td width="37.647%" class="whs8">\r
-<p><img src="../pics/uniting_two_triangles1.png" x-maintain-ratio="TRUE" width="297px" height="204px" border="0" class="img_whs9"></td>\r
-<td width="62.353%" class="whs10">\r
-<p><img src="../pics/uniting_two_triangles2.png" x-maintain-ratio="TRUE" width="318px" height="206px" border="0" class="img_whs11"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark5">Uniting \r
- Two Triangles</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Uniting two triangles</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:23px; height:23px; border-style:none; }
+img_whs3 { border:none; width:306px; height:163px; float:none; border-style:none; }
+table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs5 { width:37.647%; }
+col.whs6 { width:62.353%; }
+tr.whs7 { x-cell-content-align:top; }
+td.whs8 { padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs9 { border:none; border-style:none; float:none; width:297px; height:204px; }
+td.whs10 { padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs11 { border:none; border-style:none; width:318px; height:206px; float:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nUniting two triangles");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Uniting two triangles</h1>
+
+<p>&nbsp;In MESH 
+ you can union two neighboring triangles (cells) by deletion of the common 
+ edge.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To unite two triangles:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Union of two triangles 
+ </B></span>item or click <img src="../image71.gif" width="23px" height="23px" border="0" class="img_whs2"> button in the toolbar. The following 
+ dialog box shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="../pics/unionoftwotriangles.png" x-maintain-ratio="TRUE" width="306px" height="163px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. Enter the ID of the required edge in the 
+ <span style="font-weight: bold;"><B>Edge </B></span>&nbsp;field 
+ or select this edge in the 3D viewer. </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>
+
+<p class=TODO
+       style="margin-left: 40px;">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs4">
+<col class="whs5">
+<col class="whs6">
+
+<tr valign="top" class="whs7">
+<td width="37.647%" class="whs8">
+<p><img src="../pics/uniting_two_triangles1.png" x-maintain-ratio="TRUE" width="297px" height="204px" border="0" class="img_whs9"></td>
+<td width="62.353%" class="whs10">
+<p><img src="../pics/uniting_two_triangles2.png" x-maintain-ratio="TRUE" width="318px" height="206px" border="0" class="img_whs11"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../modifying_meshes.htm#bookmark5">Uniting 
+ Two Triangles</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index b24231f231f08886e023c4920664c2629b3e381f..4cd9fa069d1cc4ae854ea1114dcfd2e3f5b36e76 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Using operations on groups</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs2 { list-style:disc; }\r
-p.whs3 { font-weight:bold; }\r
-p.whs4 { margin-left:40px; }\r
-table.whs5 { x-cell-content-align:top; width:100%; border-spacing:0px; }\r
-col.whs6 { width:32.6%; }\r
-col.whs7 { width:67.4%; }\r
-tr.whs8 { x-cell-content-align:top; }\r
-td.whs9 { width:32.6%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs10 { border:none; width:306px; height:253px; float:none; border-style:none; }\r
-td.whs11 { width:67.4%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs12 { border:none; width:134px; height:151px; border-style:none; }\r
-img_whs13 { border:none; width:136px; height:151px; border-style:none; }\r
-img_whs14 { border:none; width:133px; height:159px; border-style:none; }\r
-p.whs15 { margin-left:0px; }\r
-col.whs16 { width:32.796%; }\r
-col.whs17 { width:67.204%; }\r
-td.whs18 { width:32.796%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-td.whs19 { width:67.204%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs20 { border:none; width:141px; height:157px; border-style:none; }\r
-col.whs21 { width:33.089%; }\r
-col.whs22 { width:66.911%; }\r
-td.whs23 { width:33.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-td.whs24 { width:66.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs25 { border:none; width:140px; height:146px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs15 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nUsing operations on groups");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Using operations on groups</h1>\r
-\r
-<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> </B></span>In MESH you can \r
- perform some Boolean operations on groups, which belong to one and the \r
- same mesh.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs2">\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#Union">Union</a> \r
- </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#Intersection">Intersection</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs3"><a href="#Cut">Cut</a></p></li>\r
-</ul>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3><a name=Union></a>Union of two groups</h3>\r
-\r
-<p>This operation allows to create a new group in such a way that all mesh \r
- elements that are present in the initial groups will be added to the new \r
- one.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To union two groups:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Union Groups </B></span>item. \r
- The following dialog box will appear:</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs5">\r
-<col class="whs6">\r
-<col class="whs7">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="32.6%" class="whs9">\r
-<p><img src="../pics/uniongroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>\r
-<td width="67.4%" class="whs11">\r
-<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;&nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"> &nbsp;&nbsp;&nbsp;&nbsp;<img src="../image135.gif" width="133px" height="159px" border="0" class="img_whs14"></p>\r
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12</p>\r
-<p>&nbsp;</p>\r
-<p>For example, we have two groups Group1 and Group2. </p>\r
-<p>The result of their <span style="font-weight: bold;"><B>Union</B></span> will \r
- be Group12 &nbsp;&nbsp;</td></tr>\r
-</table>\r
-\r
-<p class="whs4">&nbsp;&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="margin-left: 40px;">In \r
- this dialog box you should specify the name</span><span style="margin-left: 40px; font-weight: bold;"> \r
- <B></B></span><span style="margin-left: 40px;">of the resulting group and two \r
- groups which will be united.</span></p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok \r
- </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply \r
- </B></span>button to confirm creation of the group. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs15"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../grouping_elements.htm#bookmark2">Union \r
- of two Groups</a> operation. &nbsp;</p>\r
-\r
-<p class="whs15">&nbsp;</p>\r
-\r
-<p class="whs15">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3><a name=Intersection></a>Intersection of two groups</h3>\r
-\r
-<p>This operation allows to create a new group in such a way that all mesh \r
- elements that are present in both initial groups are added to the new \r
- one.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To intersect two groups:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Intersect Groups \r
- </B></span>item. The following dialog box will appear:</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs5">\r
-<col class="whs16">\r
-<col class="whs17">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="32.796%" class="whs18">\r
-<p><img src="../pics/intersectgroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>\r
-<td width="67.204%" class="whs19">\r
-<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"><img src="../image136.gif" width="141px" height="157px" border="0" class="img_whs20"></p>\r
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12a</p>\r
-<p>&nbsp;</p>\r
-<p>For example, we have two groups Group1 and Group2. </p>\r
-<p>The result of their <span style="font-weight: bold;"><B>Intersection</B></span> \r
- will be Group12a &nbsp;&nbsp;</td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs15">In this dialog box you should specify the \r
- name<span style="font-weight: bold;"> <B></B></span>of the resulting group and \r
- two groups which will be intersected.</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok \r
- </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply \r
- </B></span>button to confirm creation of the group. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of an <a href="../grouping_elements.htm#bookmark3">&nbsp;Intersection \r
- of two Groups</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3><a name=Cut></a>Cut of two groups</h3>\r
-\r
-<p>This operation allows to create a new group in such a way that all mesh \r
- elements that are present in the main group but are absent in the tool \r
- group are added to the new one.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To cut two groups:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh \r
- </B></span>menu select the <span style="font-weight: bold;"><B>Cut Groups </B></span>item. \r
- The following dialog box will appear:</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="100%" class="whs5">\r
-<col class="whs21">\r
-<col class="whs22">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="33.089%" class="whs23">\r
-<p><img src="../pics/cutgroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>\r
-<td width="66.911%" class="whs24">\r
-<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;&nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"> &nbsp;<img src="../image137.gif" width="140px" height="146px" border="0" class="img_whs25"></p>\r
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12b</p>\r
-<p>&nbsp;</p>\r
-<p>For example, we have two groups Group1 and Group2. </p>\r
-<p>The result of their <span style="font-weight: bold;"><B>Cut</B></span> will \r
- be Group12b &nbsp;&nbsp;</td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4">In this dialog box you should specify the \r
- name<span style="font-weight: bold;"> <B></B></span>of the resulting group and \r
- two groups which will be cut.</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok \r
- </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply \r
- </B></span>button to confirm creation of the group. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="../grouping_elements.htm#bookmark3">&nbsp;Cut \r
- of two Groups</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Using operations on groups</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs2 { list-style:disc; }
+p.whs3 { font-weight:bold; }
+p.whs4 { margin-left:40px; }
+table.whs5 { x-cell-content-align:top; width:100%; border-spacing:0px; }
+col.whs6 { width:32.6%; }
+col.whs7 { width:67.4%; }
+tr.whs8 { x-cell-content-align:top; }
+td.whs9 { width:32.6%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs10 { border:none; width:306px; height:253px; float:none; border-style:none; }
+td.whs11 { width:67.4%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs12 { border:none; width:134px; height:151px; border-style:none; }
+img_whs13 { border:none; width:136px; height:151px; border-style:none; }
+img_whs14 { border:none; width:133px; height:159px; border-style:none; }
+p.whs15 { margin-left:0px; }
+col.whs16 { width:32.796%; }
+col.whs17 { width:67.204%; }
+td.whs18 { width:32.796%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+td.whs19 { width:67.204%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs20 { border:none; width:141px; height:157px; border-style:none; }
+col.whs21 { width:33.089%; }
+col.whs22 { width:66.911%; }
+td.whs23 { width:33.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+td.whs24 { width:66.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs25 { border:none; width:140px; height:146px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs15 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nUsing operations on groups");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Using operations on groups</h1>
+
+<p><span style="font-weight: bold;"><B><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> </B></span>In MESH you can 
+ perform some Boolean operations on groups, which belong to one and the 
+ same mesh.</p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs2">
+       
+       <li class=kadov-p><p class="whs3"><a href="#Union">Union</a> 
+ </p></li>
+       
+       <li class=kadov-p><p class="whs3"><a href="#Intersection">Intersection</a></p></li>
+       
+       <li class=kadov-p><p class="whs3"><a href="#Cut">Cut</a></p></li>
+</ul>
+
+<p>&nbsp;</p>
+
+<h3><a name=Union></a>Union of two groups</h3>
+
+<p>This operation allows to create a new group in such a way that all mesh 
+ elements that are present in the initial groups will be added to the new 
+ one.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To union two groups:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Union Groups </B></span>item. 
+ The following dialog box will appear:</p>
+
+<p class="whs4">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs5">
+<col class="whs6">
+<col class="whs7">
+
+<tr valign="top" class="whs8">
+<td width="32.6%" class="whs9">
+<p><img src="../pics/uniongroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>
+<td width="67.4%" class="whs11">
+<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;&nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"> &nbsp;&nbsp;&nbsp;&nbsp;<img src="../image135.gif" width="133px" height="159px" border="0" class="img_whs14"></p>
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12</p>
+<p>&nbsp;</p>
+<p>For example, we have two groups Group1 and Group2. </p>
+<p>The result of their <span style="font-weight: bold;"><B>Union</B></span> will 
+ be Group12 &nbsp;&nbsp;</td></tr>
+</table>
+
+<p class="whs4">&nbsp;&nbsp;</p>
+
+<p>&nbsp;<span style="margin-left: 40px;">In 
+ this dialog box you should specify the name</span><span style="margin-left: 40px; font-weight: bold;"> 
+ <B></B></span><span style="margin-left: 40px;">of the resulting group and two 
+ groups which will be united.</span></p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok 
+ </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply 
+ </B></span>button to confirm creation of the group. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs15"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../grouping_elements.htm#bookmark2">Union 
+ of two Groups</a> operation. &nbsp;</p>
+
+<p class="whs15">&nbsp;</p>
+
+<p class="whs15">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3><a name=Intersection></a>Intersection of two groups</h3>
+
+<p>This operation allows to create a new group in such a way that all mesh 
+ elements that are present in both initial groups are added to the new 
+ one.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To intersect two groups:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Intersect Groups 
+ </B></span>item. The following dialog box will appear:</p>
+
+<p class="whs4">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs5">
+<col class="whs16">
+<col class="whs17">
+
+<tr valign="top" class="whs8">
+<td width="32.796%" class="whs18">
+<p><img src="../pics/intersectgroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>
+<td width="67.204%" class="whs19">
+<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"><img src="../image136.gif" width="141px" height="157px" border="0" class="img_whs20"></p>
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12a</p>
+<p>&nbsp;</p>
+<p>For example, we have two groups Group1 and Group2. </p>
+<p>The result of their <span style="font-weight: bold;"><B>Intersection</B></span> 
+ will be Group12a &nbsp;&nbsp;</td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p class="whs15">In this dialog box you should specify the 
+ name<span style="font-weight: bold;"> <B></B></span>of the resulting group and 
+ two groups which will be intersected.</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok 
+ </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply 
+ </B></span>button to confirm creation of the group. </p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of an <a href="../grouping_elements.htm#bookmark3">&nbsp;Intersection 
+ of two Groups</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3><a name=Cut></a>Cut of two groups</h3>
+
+<p>This operation allows to create a new group in such a way that all mesh 
+ elements that are present in the main group but are absent in the tool 
+ group are added to the new one.</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To cut two groups:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs4">1. In the <span style="font-weight: bold;"><B>Mesh 
+ </B></span>menu select the <span style="font-weight: bold;"><B>Cut Groups </B></span>item. 
+ The following dialog box will appear:</p>
+
+<p class="whs4">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="100%" class="whs5">
+<col class="whs21">
+<col class="whs22">
+
+<tr valign="top" class="whs8">
+<td width="33.089%" class="whs23">
+<p><img src="../pics/cutgroups.png" x-maintain-ratio="TRUE" width="306px" height="253px" border="0" class="img_whs10"></td>
+<td width="66.911%" class="whs24">
+<p><img src="../image133.gif" width="134px" height="151px" border="0" class="img_whs12"> &nbsp;&nbsp;<img src="../image134.gif" width="136px" height="151px" border="0" class="img_whs13"> &nbsp;<img src="../image137.gif" width="140px" height="146px" border="0" class="img_whs25"></p>
+<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group1 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group2 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group12b</p>
+<p>&nbsp;</p>
+<p>For example, we have two groups Group1 and Group2. </p>
+<p>The result of their <span style="font-weight: bold;"><B>Cut</B></span> will 
+ be Group12b &nbsp;&nbsp;</td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<p class="whs4">In this dialog box you should specify the 
+ name<span style="font-weight: bold;"> <B></B></span>of the resulting group and 
+ two groups which will be cut.</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">2. Click the <span style="font-weight: bold;"><B>Ok 
+ </B></span>or <span style="font-weight: bold;"><B>&nbsp;Apply 
+ </B></span>button to confirm creation of the group. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="../grouping_elements.htm#bookmark3">&nbsp;Cut 
+ of two Groups</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 267ac4529cf51fd5e095e865ced42b0f81ae5803..e6a9ffb214c172ebb2b3eac42febd593d3a86100 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Viewing mesh info</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-ul.whs1 { list-style:disc; }\r
-p.whs2 { font-weight:bold; margin-left:40px; }\r
-p.whs3 { font-style:normal; font-weight:normal; }\r
-img_whs4 { border:none; width:20px; height:26px; border-style:none; }\r
-p.whs5 { margin-left:40px; }\r
-img_whs6 { border:none; width:271px; height:269px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:22px; height:27px; border-style:none; }\r
-img_whs8 { border:none; border-style:none; width:451px; height:506px; float:none; }\r
-img_whs9 { border:none; width:866px; height:287px; float:none; border-style:none; }\r
-p.whs10 { margin-left:0px; }\r
-p.whs11 { margin-left:80px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs10 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nMesh infos");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Mesh infos</h1>\r
-\r
-<p>There are two types of information boxes: <span style="font-weight: bold;"><B>Standard \r
- Mesh Infos</B></span> and <span style="font-weight: bold;"><B>Advanced</B></span> \r
- <span style="font-weight: bold;"><B>Mesh Infos.</B></span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<ul type="disc" class="whs1">\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#standard_infos">Standard</a></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a \r
- href="#advanced_infos">Advanced</a></p></li>\r
-</ul>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h3><a name=standard_infos>Standard Mesh Infos</a></h3>\r
-\r
-<p class="whs3">The <span style="font-weight: bold;"><B>Standard \r
- Mesh Infos</B></span> box gives only the information on the number of elements \r
- of maximum dimension and the number of nodes in the mesh. However, from \r
- this Info you can learn about groups selected on this mesh. </p>\r
-\r
-<p class="whs3">To view the <span style="font-weight: bold;"><B>Standard \r
- Mesh Infos, </B></span>select your mesh or submesh in the <span style="font-weight: bold;"><B>Object \r
- Browser</B></span> and<span style="font-weight: bold;"> <B></B></span>select <span \r
- style="font-weight: bold;"><B>Standard Mesh Infos </B></span>from<span style="font-weight: bold;"> \r
- <B></B></span>the <span style="font-weight: bold;"><B>Mesh </B></span>menu or click \r
- <img src="../image49.gif" width="20px" height="26px" border="0" class="img_whs4"> button in the toolbar. The following information will \r
- be displayed:</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs5"><img src="../pics/a-standmeshinfo.png" x-maintain-ratio="TRUE" width="271px" height="269px" border="0" class="img_whs6"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3><a name="advanced infos">Advanced Mesh Infos</a></h3>\r
-\r
-<p>The<span style="font-weight: bold;"><B> Advanced</B></span> <span style="font-weight: bold;"><B>Mesh \r
- Infos </B></span>gives more information about the mesh, including the total \r
- number of faces and volumes and their geometrical types.</p>\r
-\r
-<p>To view the <span style="font-weight: bold;"><B>Advanced Mesh Infos, </B></span>select \r
- your mesh or submesh in the <span style="font-weight: bold;"><B>Object Browser</B></span> \r
- and<span style="font-weight: bold;"> <B></B></span>select <span style="font-weight: bold;"><B>Advanced \r
- Mesh Infos </B></span>from<span style="font-weight: bold;"> <B></B></span>the <span \r
- style="font-weight: bold;"><B>Mesh </B></span>menu or click <img src="../image50.gif" width="22px" height="27px" border="0" class="img_whs7"> button \r
- in the toolbar. The following information will be displayed:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs5"><img src="../pics/advanced_mesh_infos.png" x-maintain-ratio="TRUE" width="451px" height="506px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">In case you get Mesh Infos via a <a href="../viewing_meshes.htm">TUI \r
- script</a>, the information is displayed in Python Console.</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5"><img src="../pics/b-mesh_infos.png" x-maintain-ratio="TRUE" width="866px" height="287px" border="0" class="img_whs9"></p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs11">&nbsp;</p>\r
-\r
-<p class="whs11">&nbsp;</p>\r
-\r
-<p class="whs11">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Viewing mesh info</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+ul.whs1 { list-style:disc; }
+p.whs2 { font-weight:bold; margin-left:40px; }
+p.whs3 { font-style:normal; font-weight:normal; }
+img_whs4 { border:none; width:20px; height:26px; border-style:none; }
+p.whs5 { margin-left:40px; }
+img_whs6 { border:none; width:271px; height:269px; float:none; border-style:none; }
+img_whs7 { border:none; width:22px; height:27px; border-style:none; }
+img_whs8 { border:none; border-style:none; width:451px; height:506px; float:none; }
+img_whs9 { border:none; width:866px; height:287px; float:none; border-style:none; }
+p.whs10 { margin-left:0px; }
+p.whs11 { margin-left:80px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs10 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nMesh infos");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Mesh infos</h1>
+
+<p>There are two types of information boxes: <span style="font-weight: bold;"><B>Standard 
+ Mesh Infos</B></span> and <span style="font-weight: bold;"><B>Advanced</B></span> 
+ <span style="font-weight: bold;"><B>Mesh Infos.</B></span></p>
+
+<p>&nbsp;</p>
+
+<ul type="disc" class="whs1">
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#standard_infos">Standard</a></p></li>
+       
+       <li class=kadov-p><p class="whs2"><a 
+ href="#advanced_infos">Advanced</a></p></li>
+</ul>
+
+<p class="whs2">&nbsp;</p>
+
+<h3><a name=standard_infos>Standard Mesh Infos</a></h3>
+
+<p class="whs3">The <span style="font-weight: bold;"><B>Standard 
+ Mesh Infos</B></span> box gives only the information on the number of elements 
+ of maximum dimension and the number of nodes in the mesh. However, from 
+ this Info you can learn about groups selected on this mesh. </p>
+
+<p class="whs3">To view the <span style="font-weight: bold;"><B>Standard 
+ Mesh Infos, </B></span>select your mesh or submesh in the <span style="font-weight: bold;"><B>Object 
+ Browser</B></span> and<span style="font-weight: bold;"> <B></B></span>select <span 
+ style="font-weight: bold;"><B>Standard Mesh Infos </B></span>from<span style="font-weight: bold;"> 
+ <B></B></span>the <span style="font-weight: bold;"><B>Mesh </B></span>menu or click 
+ <img src="../image49.gif" width="20px" height="26px" border="0" class="img_whs4"> button in the toolbar. The following information will 
+ be displayed:</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"><img src="../pics/a-standmeshinfo.png" x-maintain-ratio="TRUE" width="271px" height="269px" border="0" class="img_whs6"></p>
+
+<p>&nbsp;</p>
+
+<h3><a name="advanced infos">Advanced Mesh Infos</a></h3>
+
+<p>The<span style="font-weight: bold;"><B> Advanced</B></span> <span style="font-weight: bold;"><B>Mesh 
+ Infos </B></span>gives more information about the mesh, including the total 
+ number of faces and volumes and their geometrical types.</p>
+
+<p>To view the <span style="font-weight: bold;"><B>Advanced Mesh Infos, </B></span>select 
+ your mesh or submesh in the <span style="font-weight: bold;"><B>Object Browser</B></span> 
+ and<span style="font-weight: bold;"> <B></B></span>select <span style="font-weight: bold;"><B>Advanced 
+ Mesh Infos </B></span>from<span style="font-weight: bold;"> <B></B></span>the <span 
+ style="font-weight: bold;"><B>Mesh </B></span>menu or click <img src="../image50.gif" width="22px" height="27px" border="0" class="img_whs7"> button 
+ in the toolbar. The following information will be displayed:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs5"><img src="../pics/advanced_mesh_infos.png" x-maintain-ratio="TRUE" width="451px" height="506px" border="0" class="img_whs8"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">In case you get Mesh Infos via a <a href="../viewing_meshes.htm">TUI 
+ script</a>, the information is displayed in Python Console.</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"><img src="../pics/b-mesh_infos.png" x-maintain-ratio="TRUE" width="866px" height="287px" border="0" class="img_whs9"></p>
+
+<p class="whs10">&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs11">&nbsp;</p>
+
+<p class="whs11">&nbsp;</p>
+
+<p class="whs11">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index e8ce5413c75196d9ba6c76452cf1a01b244fe640..6979fe96ab3a49c7546aa4904551739a670c132c 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>VTK 3D Viewer</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; margin-left:48px; }\r
-img_whs3 { border:none; width:249px; height:29px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-img_whs5 { border:none; width:26px; height:25px; float:none; border-style:none; }\r
-img_whs6 { border:none; width:27px; height:25px; float:none; border-style:none; }\r
-img_whs7 { border:none; width:24px; height:23px; float:none; border-style:none; }\r
-img_whs8 { border:none; width:24px; height:24px; float:none; border-style:none; }\r
-img_whs9 { border:none; width:25px; height:24px; float:none; border-style:none; }\r
-img_whs10 { border:none; width:23px; height:23px; float:none; border-style:none; }\r
-img_whs11 { border:none; width:26px; height:26px; float:none; border-style:none; }\r
-img_whs12 { border:none; width:78px; height:147px; float:none; border-style:none; }\r
-img_whs13 { border:none; width:28px; height:25px; float:none; border-style:none; }\r
-img_whs14 { border:none; width:27px; height:27px; float:none; border-style:none; }\r
-p.whs15 { font-weight:bold; margin-left:80px; margin-top:0pt; margin-bottom:0pt; }\r
-img_whs16 { border:none; width:350px; height:453px; float:none; border-style:none; }\r
-p.whs17 { font-weight:bold; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs18 { font-weight:bold; margin-left:36px; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs19 { font-weight:bold; margin-left:0px; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs20 { margin-left:0px; font-weight:bold; margin-top:0pt; margin-bottom:0pt; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs15 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs17 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs18 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs19 {margin-left:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs20 {margin-left:1pt;margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nVTK 3D Viewer");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>VTK 3D Viewer</h1>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>VTK \r
- 3D viewer</B></span> is the default viewer for Mesh Module, allowing to visualize \r
- meshes. It is also used in Post-Pro module for all 3D presentations except \r
- for Gauss Points.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">The functionalities of \r
- VTK viewer are available via its Viewer Toolbar. Buttons marked with small \r
- downward triangles have extended functionality which can be accessed by \r
- locking on them with left mouse button. &nbsp;</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../pics/image107.gif" x-maintain-ratio="TRUE" width="249px" height="29px" border="0" class="img_whs3"></p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image77.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs5"> <span style="font-weight: bold;"><B>Dump View</B></span> - exports \r
- an object from the viewer in bmp, png, jpg or jpeg image format. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image78.gif" x-maintain-ratio="TRUE" width="27px" height="25px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Show/Hide Trihedron</B></span> \r
- - shows or hides coordinate axes. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image96.gif" x-maintain-ratio="TRUE" width="24px" height="23px" border="0" class="img_whs7"> &nbsp;<span style="font-weight: bold;"><B>Fit \r
- all - </B></span>allows to select a point to be the center of a scene representing \r
- all displayed objects in the visible area.<span style="font-weight: bold;"> \r
- <B></B></span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">&nbsp;<img src="../pics/image97.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Fit area</B></span> - resizes \r
- the view to place in the visible area only the contents of a frame drawn \r
- with pressed left mouse button.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image98.gif" x-maintain-ratio="TRUE" width="25px" height="24px" border="0" class="img_whs9"> <span style="font-weight: bold;"><B>Zoom</B></span> - &nbsp;allows \r
- to zoom in and out. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image99.gif" x-maintain-ratio="TRUE" width="23px" height="23px" border="0" class="img_whs10"> <span style="font-weight: bold;"><B>Panning</B></span> - if the \r
- represented objects are greater that the visible area and you don't wish \r
- to use <span style="font-weight: bold;"><B>Fit all</B></span> functionality, \r
- click on this button and you'll be able to drag the scene to see its remote \r
- parts. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image100.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Global panning</B></span> - \r
- represents all displayed objects in the visible area. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image89.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs11"> <span style="font-weight: bold;"><B>Rotation</B></span> - allows \r
- to rotate the selected object using the mouse. </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image102.gif" x-maintain-ratio="TRUE" width="78px" height="147px" border="0" class="img_whs12"> These buttons orientate the scene strictly about coordinate \r
- axes.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image91.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs11"> <span style="font-weight: bold;"><B>Reset</B></span> - restores \r
- the default position (isometric) of objects in the scene.</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1"><img src="../pics/image108.gif" x-maintain-ratio="TRUE" width="28px" height="25px" border="0" class="img_whs13"> <span style="font-weight: bold;"><B>Scaling</B></span> - represents \r
- objects deformed (stretched or stuffed) along the axes of coordinates</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">&nbsp;<span \r
- style="font-weight: bold;\r
-               margin-top: 0pt;\r
-               margin-bottom: 0pt;"><B><img src="../pics/image109.gif" x-maintain-ratio="TRUE" width="27px" height="27px" border="0" class="img_whs14">Graduated axes - </B></span><span style="margin-top: 0pt;\r
-                                                                                                       margin-bottom: 0pt;\r
-                                                                                                       font-weight: normal;">allows \r
- to define parameters of axes and graduate them.</span></p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs15"><img src="../pics/graduatedaxes1.png" x-maintain-ratio="TRUE" width="350px" height="453px" border="0" class="img_whs16"></p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs17">Axis name </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Is visible - <span \r
- style="font-weight: normal;">if checked the axis name is displayed in \r
- the viewer.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Name<span style="font-weight: normal;"> \r
- - allows to redefine the name of the axis.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Font<span style="font-weight: normal;"> \r
- - allows to define color and properties of the font of axis name. </span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs19">Labels<span style="font-weight: normal;"> \r
- </span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Is visible - <span \r
- style="font-weight: normal;">if checked the labels are displayed in the \r
- viewer.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Number<span style="font-weight: normal;"> \r
- - allows to define the number of labels.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Offset<span style="font-weight: normal;"> \r
- - allows to define the distance between labels.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Font<span style="font-weight: normal;"> \r
- - allows to define color and properties of the font of labels names.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs20">Tick marks </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Is visible - <span \r
- style="font-weight: normal;">if checked the tick marks are displayed in \r
- the viewer.</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs18">Length<span style="font-weight: normal;"> \r
- - allows to define the length of tick marks</span></p></li>\r
-       \r
-       <li class=kadov-p><p class="whs20">Is visible <span style="font-weight: normal;">if \r
- checked the axis is displayed in the viewer.</span></p></li>\r
-</ul>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>VTK 3D Viewer</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; margin-left:48px; }
+img_whs3 { border:none; width:301px; height:26px; float:none; }
+ul.whs4 { list-style:disc; }
+img_whs5 { border:none; width:26px; height:25px; float:none; border-style:none; }
+img_whs6 { border:none; width:27px; height:25px; float:none; border-style:none; }
+img_whs7 { border:none; width:24px; height:23px; float:none; border-style:none; }
+img_whs8 { border:none; width:24px; height:24px; float:none; border-style:none; }
+img_whs9 { border:none; width:25px; height:24px; float:none; border-style:none; }
+img_whs10 { border:none; width:23px; height:23px; float:none; border-style:none; }
+img_whs11 { border:none; width:20px; height:20px; float:none; }
+p.whs12 { margin-top:0pt; margin-bottom:0pt; margin-left:80px; }
+img_whs13 { border:none; width:410px; height:255px; float:none; }
+img_whs14 { border:none; width:26px; height:26px; float:none; border-style:none; }
+img_whs15 { border:none; width:78px; height:147px; float:none; border-style:none; }
+img_whs16 { border:none; width:28px; height:25px; float:none; border-style:none; }
+img_whs17 { border:none; width:27px; height:27px; float:none; border-style:none; }
+p.whs18 { font-weight:bold; margin-left:80px; margin-top:0pt; margin-bottom:0pt; }
+img_whs19 { border:none; width:350px; height:453px; float:none; border-style:none; }
+p.whs20 { font-weight:bold; margin-top:0pt; margin-bottom:0pt; }
+p.whs21 { font-weight:bold; margin-left:36px; margin-top:0pt; margin-bottom:0pt; }
+p.whs22 { font-weight:bold; margin-left:0px; margin-top:0pt; margin-bottom:0pt; }
+p.whs23 { margin-left:0px; font-weight:bold; margin-top:0pt; margin-bottom:0pt; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs12 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs18 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs20 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs21 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs22 {margin-left:1pt;margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs23 {margin-left:1pt;margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nVTK 3D Viewer");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>VTK 3D Viewer</h1>
+
+<p class="whs1"><span style="font-weight: bold;"><B>VTK 
+ 3D viewer</B></span> is the default viewer for Mesh Module, allowing to visualize 
+ meshes. It is also used in Post-Pro module for all 3D presentations except 
+ for Gauss Points.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">The functionalities of 
+ VTK viewer are available via its Viewer Toolbar. Buttons marked with small 
+ downward triangles have extended functionality which can be accessed by 
+ locking on them with left mouse button. &nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"><img src="../pics/image157.gif" x-maintain-ratio="TRUE" width="301px" height="26px" border="0" class="img_whs3"></p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image77.gif" x-maintain-ratio="TRUE" width="26px" height="25px" border="0" class="img_whs5"> <span style="font-weight: bold;"><B>Dump View</B></span> - exports 
+ an object from the viewer in bmp, png, jpg or jpeg image format. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image78.gif" x-maintain-ratio="TRUE" width="27px" height="25px" border="0" class="img_whs6"> <span style="font-weight: bold;"><B>Show/Hide Trihedron</B></span> 
+ - shows or hides coordinate axes. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image96.gif" x-maintain-ratio="TRUE" width="24px" height="23px" border="0" class="img_whs7"> &nbsp;<span style="font-weight: bold;"><B>Fit 
+ all - </B></span>allows to select a point to be the center of a scene representing 
+ all displayed objects in the visible area.<span style="font-weight: bold;"> 
+ <B></B></span></p></li>
+       
+       <li class=kadov-p><p class="whs1">&nbsp;<img src="../pics/image97.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Fit area</B></span> - resizes 
+ the view to place in the visible area only the contents of a frame drawn 
+ with pressed left mouse button.</p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image98.gif" x-maintain-ratio="TRUE" width="25px" height="24px" border="0" class="img_whs9"> <span style="font-weight: bold;"><B>Zoom</B></span> - &nbsp;allows 
+ to zoom in and out. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image99.gif" x-maintain-ratio="TRUE" width="23px" height="23px" border="0" class="img_whs10"> <span style="font-weight: bold;"><B>Panning</B></span> - if the 
+ represented objects are greater that the visible area and you don't wish 
+ to use <span style="font-weight: bold;"><B>Fit all</B></span> functionality, 
+ click on this button and you'll be able to drag the scene to see its remote 
+ parts. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image100.gif" x-maintain-ratio="TRUE" width="24px" height="24px" border="0" class="img_whs8"> <span style="font-weight: bold;"><B>Global panning</B></span> - 
+ represents all displayed objects in the visible area. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/view_rotation_point.png" x-maintain-ratio="TRUE" width="20px" height="20px" border="0" class="img_whs11"> <span style="font-weight: bold;"><B>Change rotation point</B></span> 
+ - allows to to choose the point around which the rotation is performed</p></li>
+</ul>
+
+<p class="whs12"><img src="../pics/set_rotation_point_dialog1.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs13"></p>
+
+<p class="whs12">&nbsp;</p>
+
+<p class="whs12">By default the rotation point is located 
+ in the Center of the bounding box of an object. </p>
+
+<p class="whs12">&nbsp;</p>
+
+<p class="whs12"><img src="../pics/set_rotation_point_dialog2.png" x-maintain-ratio="TRUE" width="410px" height="255px" border="0" class="img_whs13"></p>
+
+<p class="whs12">&nbsp;</p>
+
+<p class="whs12">Unchecking <span style="font-weight: bold;"><B>Use 
+ Bounding Box Center</B></span> box allows you to define the coordinates of 
+ the rotation point manually. </p>
+
+<p class="whs12">&nbsp;</p>
+
+<p class="whs12"><span style="font-weight: bold;"><B>Set to 
+ Origin</B></span> button restores the default rotation point coordinates.</p>
+
+<p class="whs12"><span style="font-weight: bold;"><B>Select 
+ Point from View</B></span> button allows to select the rotation point in the 
+ 3D Viewer</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image89.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs14"> <span style="font-weight: bold;"><B>Rotation</B></span> - allows 
+ to rotate the selected object using the mouse. </p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image102.gif" x-maintain-ratio="TRUE" width="78px" height="147px" border="0" class="img_whs15"> These buttons orientate the scene strictly about coordinate 
+ axes.</p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image91.gif" x-maintain-ratio="TRUE" width="26px" height="26px" border="0" class="img_whs14"> <span style="font-weight: bold;"><B>Reset</B></span> - restores 
+ the default position (isometric) of objects in the scene.</p></li>
+       
+       <li class=kadov-p><p class="whs1"><img src="../pics/image108.gif" x-maintain-ratio="TRUE" width="28px" height="25px" border="0" class="img_whs16"> <span style="font-weight: bold;"><B>Scaling</B></span> - represents 
+ objects deformed (stretched or stuffed) along the axes of coordinates</p></li>
+       
+       <li class=kadov-p><p class="whs1">&nbsp;<span 
+ style="font-weight: bold;
+               margin-top: 0pt;
+               margin-bottom: 0pt;"><B><img src="../pics/image109.gif" x-maintain-ratio="TRUE" width="27px" height="27px" border="0" class="img_whs17">Graduated axes - </B></span><span style="margin-top: 0pt;
+                                                                                                       margin-bottom: 0pt;
+                                                                                                       font-weight: normal;">allows 
+ to define parameters of axes and graduate them.</span></p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs18"><img src="../pics/graduatedaxes1.png" x-maintain-ratio="TRUE" width="350px" height="453px" border="0" class="img_whs19"></p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs20">Axis name </p></li>
+       
+       <li class=kadov-p><p class="whs21">Is visible - <span 
+ style="font-weight: normal;">if checked the axis name is displayed in 
+ the viewer.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Name<span style="font-weight: normal;"> 
+ - allows to redefine the name of the axis.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Font<span style="font-weight: normal;"> 
+ - allows to define color and properties of the font of axis name. </span></p></li>
+       
+       <li class=kadov-p><p class="whs22">Labels<span style="font-weight: normal;"> 
+ </span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Is visible - <span 
+ style="font-weight: normal;">if checked the labels are displayed in the 
+ viewer.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Number<span style="font-weight: normal;"> 
+ - allows to define the number of labels.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Offset<span style="font-weight: normal;"> 
+ - allows to define the distance between labels.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Font<span style="font-weight: normal;"> 
+ - allows to define color and properties of the font of labels names.</span></p></li>
+       
+       <li class=kadov-p><p class="whs23">Tick marks </p></li>
+       
+       <li class=kadov-p><p class="whs21">Is visible - <span 
+ style="font-weight: normal;">if checked the tick marks are displayed in 
+ the viewer.</span></p></li>
+       
+       <li class=kadov-p><p class="whs21">Length<span style="font-weight: normal;"> 
+ - allows to define the length of tick marks</span></p></li>
+       
+       <li class=kadov-p><p class="whs23">Is visible <span style="font-weight: normal;">if 
+ checked the axis is displayed in the viewer.</span></p></li>
+</ul>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index b5191bdbf342ca24925b5cc45bf2e10c820b5c05..a67d0e2f37201ef0e22a9322c75aa23cc7056b70 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Warp</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='../default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-p.whs3 { margin-left:0px; }\r
-img_whs4 { border:none; width:496px; height:336px; border-style:none; }\r
-img_whs5 { border:none; width:23px; height:23px; border-style:none; }\r
-img_whs6 { border:none; width:405px; height:308px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs3 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="../whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nWarping");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("../index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Warping</h1>\r
-\r
-<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Warping</B></span> indicates \r
- that a face is not planar and is applied only to 2D elements with 4 nodes. \r
- This quality control criterion is based on a projection plane created \r
- by:</p>\r
-\r
-<p class="whs2">1. bisecting the four element edges, </p>\r
-\r
-<p class="whs2">2. creating a point on the plane at the vector \r
- average of the corners, where the x-axis extends from the point to the \r
- bisector on edge 2. </p>\r
-\r
-<p class="whs3">The plane normal is in the direction of the \r
- cross product of the x-axis and the vector from the origin to the bisector \r
- of edge 3. Every corner of the quad will then be a distance \93h\94 from the \r
- plane. The length of each half edge is measured and the shortest length \r
- is assigned \93l\94. The warp angle is the arcsine of the ratio of the projection \r
- height \93h\94 to the half edge length \93l\94. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image24.gif" width="496px" height="336px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class=TODO>To apply the Warping quality criterion to your mesh:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Warp </B></span>or click <img src="../image39.gif" width="23px" height="23px" border="0" class="img_whs5"> button of the toolbar. Your mesh \r
- will be displayed in the viewer with its elements colored according to \r
- the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="../image97.jpg" width="405px" height="308px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="../quality_controls.htm#bookmark10">Warping \r
- quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Warp</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='../default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; float:none; width:30px; height:30px; border-style:none; }
+p.whs2 { margin-left:40px; }
+p.whs3 { margin-left:0px; }
+img_whs4 { border:none; width:496px; height:336px; border-style:none; }
+img_whs5 { border:none; width:23px; height:23px; border-style:none; }
+img_whs6 { border:none; width:405px; height:308px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs3 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="../whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nWarping");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("../index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Warping</h1>
+
+<p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> <span style="font-weight: bold;"><B>Warping</B></span> indicates 
+ that a face is not planar and is applied only to 2D elements with 4 nodes. 
+ This quality control criterion is based on a projection plane created 
+ by:</p>
+
+<p class="whs2">1. bisecting the four element edges, </p>
+
+<p class="whs2">2. creating a point on the plane at the vector 
+ average of the corners, where the x-axis extends from the point to the 
+ bisector on edge 2. </p>
+
+<p class="whs3">The plane normal is in the direction of the 
+ cross product of the x-axis and the vector from the origin to the bisector 
+ of edge 3. Every corner of the quad will then be a distance \93h\94 from the 
+ plane. The length of each half edge is measured and the shortest length 
+ is assigned \93l\94. The warp angle is the arcsine of the ratio of the projection 
+ height \93h\94 to the half edge length \93l\94. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="../image24.gif" width="496px" height="336px" border="0" class="img_whs4"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class=TODO>To apply the Warping quality criterion to your mesh:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. Display your mesh in the viewer.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Warp </B></span>or click <img src="../image39.gif" width="23px" height="23px" border="0" class="img_whs5"> button of the toolbar. Your mesh 
+ will be displayed in the viewer with its elements colored according to 
+ the applied mesh quality control criterion:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="../image97.jpg" width="405px" height="308px" border="0" class="img_whs6"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs3"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="../quality_controls.htm#bookmark10">Warping 
+ quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index abe1d0fa37c451f81e7f00206cd479e65229b681..b262c9cd32ab9cc993d9ab88fa0d9aaa5c733854 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Free borders</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:278px; height:231px; float:none; border-style:none; }\r
-p.whs4 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs4 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nFree borders");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Free borders</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of faces \r
- consisting of edges belonging to one face only.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/free_borders1.png" x-maintain-ratio="TRUE" width="278px" height="231px" border="0" class="img_whs3"> &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>In this picture the free borders are displayed in white. </p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark">Free \r
- Borders quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Free borders</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:278px; height:231px; float:none; border-style:none; }
+p.whs4 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs4 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nFree borders");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Free borders</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1">This mesh quality control highlights borders of faces 
+ consisting of edges belonging to one face only.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="pics/free_borders1.png" x-maintain-ratio="TRUE" width="278px" height="231px" border="0" class="img_whs3"> &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>In this picture the free borders are displayed in white. </p>
+
+<p>&nbsp;</p>
+
+<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark">Free 
+ Borders quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 52ea7f54a7537dd61ba47ee9ac412196a88958f2..fe7146d129abf64c28f850d6126d229c2ebc9998 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Free_edges</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; border-style:none; width:395px; height:445px; float:none; }\r
-p.whs4 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs4 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nFree edges");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Free edges</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> &nbsp;&nbsp;This \r
- mesh quality control highlights borders of &nbsp;elements \r
- of mesh consisting of edges belonging to one element of mesh only.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/free_edges.png" x-maintain-ratio="TRUE" width="395px" height="445px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">In this picture some elements of mesh have \r
- been deleted and the &quot;holes&quot; are outlined in red. </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark3">Free \r
- Edges quality control</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Free_edges</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; border-style:none; width:395px; height:445px; float:none; }
+p.whs4 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs4 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nFree edges");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Free edges</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> &nbsp;&nbsp;This 
+ mesh quality control highlights borders of &nbsp;elements 
+ of mesh consisting of edges belonging to one element of mesh only.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="pics/free_edges.png" x-maintain-ratio="TRUE" width="395px" height="445px" border="0" class="img_whs3"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">In this picture some elements of mesh have 
+ been deleted and the &quot;holes&quot; are outlined in red. </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark3">Free 
+ Edges quality control</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 173e22108bcb93052bedf0a92f2f3e08c557caf3..0231e5df7d4598d24dab31c51eaf8629e7d37dcf 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Grouping Elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-img_whs5 { border:none; width:430px; height:391px; float:none; border-style:none; }\r
-p.whs6 { margin-top:0pt; margin-bottom:0pt; color:#ff0000; font-weight:bold; }\r
-img_whs7 { border:none; float:none; width:463px; height:417px; border-style:none; }\r
-img_whs8 { border:none; width:541px; height:417px; float:none; border-style:none; }\r
-img_whs9 { border:none; width:394px; height:425px; float:none; border-style:none; }\r
-img_whs10 { border:none; float:none; width:368px; height:379px; border-style:none; }\r
-img_whs11 { border:none; float:none; width:344px; height:381px; border-style:none; }\r
-img_whs12 { border:none; width:314px; height:351px; float:none; border-style:none; }\r
-img_whs13 { border:none; float:none; width:319px; height:351px; border-style:none; }\r
-img_whs14 { border:none; float:none; width:304px; height:352px; border-style:none; }\r
-img_whs15 { border:none; width:318px; height:355px; float:none; border-style:none; }\r
-img_whs16 { border:none; float:none; width:318px; height:355px; border-style:none; }\r
-img_whs17 { border:none; float:none; width:320px; height:354px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nGrouping Elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Grouping Elements</h1>\r
-\r
-<h3><a name=bookmark>Create a Standalone Group</a></h3>\r
-\r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a standalone group. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Get ids of all faces \r
- with area &gt; 100 </p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor( \r
- aFunctor )</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin( \r
- 100 )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate( \r
- aPredicate )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId( \r
- mesh )</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"># create a group consisting \r
- of faces with area &gt; 100</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup( \r
- SMESH.FACE, &quot;Area &gt; 100&quot; )</p>\r
-\r
-<p class="whs3">aGroup.Add( anIds \r
- )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/create_group.png" x-maintain-ratio="TRUE" width="430px" height="391px" border="0" class="img_whs5"></p>\r
-\r
-<h3><a name=bookmark5>Create a Group on Geometry</a></h3>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a box</p>\r
-\r
-<p class="whs3">box = geompy.MakeBox(0., \r
- 0., 0., 100., 100., 100.)</p>\r
-\r
-<p class="whs3">geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add the first face \r
- of the box to the study</p>\r
-\r
-<p class="whs3">subShapeList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs3">face = subShapeList[0]</p>\r
-\r
-<p class="whs3">geompy.addToStudyInFather(box, \r
- face, &quot;face 1&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create group of edges \r
- on the face</p>\r
-\r
-<p class="whs3">aGeomGroupE = geompy.CreateGroup(face, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
- 3)</p>\r
-\r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
- 6)</p>\r
-\r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
- 8)</p>\r
-\r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
- 10)</p>\r
-\r
-<p class="whs3">geompy.addToStudyInFather(face, \r
- aGeomGroupE, &quot;Group of Edges&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create quadrangle \r
- 2D mesh on the box</p>\r
-\r
-<p class="whs3">quadra = smesh.Mesh(box, \r
- &quot;Box : quadrangle 2D mesh&quot;)</p>\r
-\r
-<p class="whs3">algo1D = quadra.Segment()</p>\r
-\r
-<p class="whs3">quadra.Quadrangle()</p>\r
-\r
-<p class="whs3">algo1D.NumberOfSegments(7)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># compute the mesh</p>\r
-\r
-<p class="whs3">quadra.Compute()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create SMESH group \r
- on the face with name &quot;SMESHGroup1&quot;</p>\r
-\r
-<p class="whs3">aSmeshGroup1 = quadra.Group(face, \r
- &quot;SMESHGroup1&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create SMESH group \r
- on &lt;aGeomGroupE&gt; with default name</p>\r
-\r
-<p class="whs3">aSmeshGroup2 = quadra.Group(aGeomGroupE)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark1>Edit a Group</a></h3>\r
-\r
-<p class="whs6"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs6"># For the moment smesh package doesn't \r
- provide methods to edit a group. </p>\r
-\r
-<p class="whs6"># In the next SALOME version the scripts \r
- will be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Get ids of all faces \r
- with area &gt; 35</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(35.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 35, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &gt; 35</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; 35&quot;)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Get ids of all faces \r
- with area &gt; 40</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(40.)</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 40, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group of \r
- elements with area [35; 40] by removing elements with area &gt; 40 from \r
- group aGroup</p>\r
-\r
-<p class="whs3">aGroup.Remove(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">aGroupElemIDs = \r
- aGroup.GetListOfID()</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- 35 &lt; Area &lt; 40, Nb = &quot;, len(aGroupElemIDs)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(aGroupElemIDs)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- aGroupElemIDs[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/editing_groups1.png" x-maintain-ratio="TRUE" width="463px" height="417px" border="0" class="img_whs7"> &nbsp;<img src="pics/editing_groups2.png" x-maintain-ratio="TRUE" width="541px" height="417px" border="0" class="img_whs8"></p>\r
-\r
-<h3><a name=bookmark2>Union of two groups</a></h3>\r
-\r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a union of two groups. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &gt; 20</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len( anIds )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &gt; 20</p>\r
-\r
-<p class="whs3">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; 20&quot;)</p>\r
-\r
-<p class="whs3">aGroup1.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- = 20</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateEqualTo()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area = 20, Nb = &quot;, len( anIds )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area = 20</p>\r
-\r
-<p class="whs3">aGroup2 = mesh.CreateGroup( \r
- SMESH.FACE, &quot;Area = 20&quot; )</p>\r
-\r
-<p class="whs3">aGroup2.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create union group \r
- : area &gt;= 20</p>\r
-\r
-<p class="whs3">aGroup3 = mesh.UnionGroups(aGroup1, \r
- aGroup2, &quot;Area &gt;= 20&quot;)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt;= 20, Nb = &quot;, len(aGroup3.GetListOfID())</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &lt; 20</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &lt; 20, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &lt; 20</p>\r
-\r
-<p class="whs3">aGroup4 = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &lt; 20&quot;)</p>\r
-\r
-<p class="whs3">aGroup4.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create union group \r
- : area &gt;= 20 and area &lt; 20</p>\r
-\r
-<p class="whs3">aGroup5 = mesh.UnionGroups(aGroup3, \r
- aGroup4, &quot;Any Area&quot;)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Any Area, Nb = &quot;, len(aGroup5.GetListOfID())</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="pics/union_groups1.png" x-maintain-ratio="TRUE" width="394px" height="425px" border="0" class="img_whs9"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><img src="pics/union_groups2.png" x-maintain-ratio="TRUE" width="368px" height="379px" border="0" class="img_whs10"> <img src="pics/union_groups3.png" x-maintain-ratio="TRUE" width="344px" height="381px" border="0" class="img_whs11"></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark3>Intersection of two groups</a></h3>\r
-\r
-<p class="whs6"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs6"># For the moment smesh package doesn't \r
- provide methods to create an intersection of two groups. </p>\r
-\r
-<p class="whs6"># In the next SALOME version the scripts \r
- will be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &gt; 20</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &gt; 20</p>\r
-\r
-<p class="whs3">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; 20&quot;)</p>\r
-\r
-<p class="whs3">aGroup1.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &lt; 60</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(60)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &lt; 60, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &lt; 60</p>\r
-\r
-<p class="whs3">aGroup2 = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &lt; 60&quot;)</p>\r
-\r
-<p class="whs3">aGroup2.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create an intersection \r
- of groups : 20 &lt; area &lt; 60</p>\r
-\r
-<p class="whs3">aGroup3 = mesh.IntersectGroups(aGroup1, \r
- aGroup2, &quot;20 &lt; Area &lt; 60&quot;)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- 20 &lt; Area &lt; 60, Nb = &quot;, len(aGroup3.GetListOfID())</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/intersect_groups1.png" x-maintain-ratio="TRUE" width="314px" height="351px" border="0" class="img_whs12"> &nbsp;<img src="pics/intersect_groups2.png" x-maintain-ratio="TRUE" width="319px" height="351px" border="0" class="img_whs13"> &nbsp;<img src="pics/intersect_groups3.png" x-maintain-ratio="TRUE" width="304px" height="352px" border="0" class="img_whs14"></p>\r
-\r
-<h3><a name=bookmark4>Cut of two groups</a></h3>\r
-\r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a cut of two groups. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &gt; 20</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &gt; 20</p>\r
-\r
-<p class="whs3">aGroupMain = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; 20&quot;)</p>\r
-\r
-<p class="whs3">aGroupMain.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &lt; 60</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(60.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &lt; 60, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
- adding elements with area &lt; 60</p>\r
-\r
-<p class="whs3">aGroupTool = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &lt; 60&quot;)</p>\r
-\r
-<p class="whs3">aGroupTool.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a cut of groups \r
- : area &gt;= 60</p>\r
-\r
-<p class="whs3">aGroupRes = mesh.CutGroups(aGroupMain, \r
- aGroupTool, &quot;Area &gt;= 60&quot;)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt;= 60, Nb = &quot;, len(aGroupRes.GetListOfID())</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/cut_groups1.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs15"> &nbsp;<img src="pics/cut_groups2.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs16"> &nbsp;<img src="pics/cut_groups3.png" x-maintain-ratio="TRUE" width="320px" height="354px" border="0" class="img_whs17"></p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Grouping Elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs3 { margin-top:0pt; margin-bottom:0pt; }
+img_whs4 { border:none; width:430px; height:391px; float:none; border-style:none; }
+img_whs5 { border:none; float:none; width:463px; height:417px; border-style:none; }
+img_whs6 { border:none; width:541px; height:417px; float:none; border-style:none; }
+img_whs7 { border:none; width:394px; height:425px; float:none; border-style:none; }
+img_whs8 { border:none; float:none; width:368px; height:379px; border-style:none; }
+img_whs9 { border:none; float:none; width:344px; height:381px; border-style:none; }
+img_whs10 { border:none; width:314px; height:351px; float:none; border-style:none; }
+img_whs11 { border:none; float:none; width:319px; height:351px; border-style:none; }
+img_whs12 { border:none; float:none; width:304px; height:352px; border-style:none; }
+img_whs13 { border:none; width:318px; height:355px; float:none; border-style:none; }
+img_whs14 { border:none; float:none; width:318px; height:355px; border-style:none; }
+img_whs15 { border:none; float:none; width:320px; height:354px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nGrouping Elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Grouping Elements</h1>
+
+<h3><a name=bookmark>Create a Standalone Group</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Get ids of all faces 
+ with area &gt; 100 </p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 100.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group consisting 
+ of faces with area &gt; 100</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup = mesh.MakeGroupByIds(&quot;Area 
+ &gt; 100&quot;, smesh.FACE, anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="pics/create_group.png" x-maintain-ratio="TRUE" width="430px" height="391px" border="0" class="img_whs4"></p>
+
+<h3><a name=bookmark5>Create a Group on Geometry</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a box</p>
+
+<p class="whs1">box = geompy.MakeBox(0., 
+ 0., 0., 100., 100., 100.)</p>
+
+<p class="whs1">geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add the first face 
+ of the box to the study</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">subShapeList 
+ = geompy.SubShapeAll(box, geompy.ShapeType[&quot;FACE&quot;])</span></p>
+
+<p class="whs1">face = subShapeList[0]</p>
+
+<p class="whs1">geompy.addToStudyInFather(box, 
+ face, &quot;face 1&quot;) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create group of edges 
+ on the face</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGeomGroupE 
+ = geompy.CreateGroup(face, geompy.ShapeType[&quot;EDGE&quot;])</span></p>
+
+<p class="whs1">geompy.AddObject(aGeomGroupE, 
+ 3)</p>
+
+<p class="whs1">geompy.AddObject(aGeomGroupE, 
+ 6)</p>
+
+<p class="whs1">geompy.AddObject(aGeomGroupE, 
+ 8)</p>
+
+<p class="whs1">geompy.AddObject(aGeomGroupE, 
+ 10)</p>
+
+<p class="whs1">geompy.addToStudyInFather(face, 
+ aGeomGroupE, &quot;Group of Edges&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create quadrangle 
+ 2D mesh on the box</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">quadra 
+ = smesh.Mesh(box, &quot;Box : quadrangle 2D mesh&quot;)</span></p>
+
+<p class="whs1">algo1D = quadra.Segment()</p>
+
+<p class="whs1">quadra.Quadrangle()</p>
+
+<p class="whs1">algo1D.NumberOfSegments(7) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># compute the mesh</p>
+
+<p class="whs1">quadra.Compute()</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create SMESH group 
+ on the face with name &quot;SMESHGroup1&quot;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aSmeshGroup1 
+ = quadra.GroupOnGeom(face, &quot;SMESHGroup1&quot;)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create SMESH group 
+ on &lt;aGeomGroupE&gt; with default name</p>
+
+<p class="whs1">aSmeshGroup2 = quadra.GroupOnGeom(aGeomGroupE) 
+ </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark1>Edit a Group</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Get ids of all faces 
+ with area &gt; 35</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 35.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; 35, Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &gt; 35</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &gt; 35&quot;)</span></p>
+
+<p class="whs1">aGroup.Add(anIds) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Get ids of all faces 
+ with area &gt; 40</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 40.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; 40, Nb = &quot;, len(anIds) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group of 
+ elements with area [35; 40] by removing elements with area &gt; 40 from 
+ group aGroup</p>
+
+<p class="whs1">aGroup.Remove(anIds) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># print the result</p>
+
+<p class="whs1">aGroupElemIDs = 
+ aGroup.GetListOfID()</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ 35 &lt; Area &lt; 40, Nb = &quot;, len(aGroupElemIDs)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(aGroupElemIDs)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ aGroupElemIDs[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="pics/editing_groups1.png" x-maintain-ratio="TRUE" width="463px" height="417px" border="0" class="img_whs5"> &nbsp;<img src="pics/editing_groups2.png" x-maintain-ratio="TRUE" width="541px" height="417px" border="0" class="img_whs6"></p>
+
+<h3><a name=bookmark2>Union of two groups</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &gt; 20</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; 20, Nb = &quot;, len( anIds ) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &gt; 20</p>
+
+<p class="whs1">aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, 
+ &quot;Area &gt; 20&quot;)</p>
+
+<p class="whs1">aGroup1.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ = 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_EqualTo, 20.)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area = 20, Nb = &quot;, len( anIds ) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area = 20</p>
+
+<p class="whs1">aGroup2 = mesh.CreateEmptyGroup( 
+ smesh.FACE, &quot;Area = 20&quot; )</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup2.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create union group 
+ : area &gt;= 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 
+ = mesh.UnionGroups(aGroup1, aGroup2, &quot;Area &gt;= 20&quot;)</span></p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt;= 20, Nb = &quot;, len(aGroup3.GetListOfID())</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &lt; 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 20.)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &lt; 20, Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &lt; 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup4 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &lt; 20&quot;)</span></p>
+
+<p class="whs1">aGroup4.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create union group 
+ : area &gt;= 20 and area &lt; 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup5 
+ = mesh.UnionGroups(aGroup3, aGroup4, &quot;Any Area&quot;)</span></p>
+
+<p class="whs1">print &quot;Criterion: 
+ Any Area, Nb = &quot;, len(aGroup5.GetListOfID())</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/union_groups1.png" x-maintain-ratio="TRUE" width="394px" height="425px" border="0" class="img_whs7"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/union_groups2.png" x-maintain-ratio="TRUE" width="368px" height="379px" border="0" class="img_whs8"> <img src="pics/union_groups3.png" x-maintain-ratio="TRUE" width="344px" height="381px" border="0" class="img_whs9"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark3>Intersection of two groups</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &gt; 20</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; 20, Nb = &quot;, len(anIds) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &gt; 20</p>
+
+<p class="whs1">aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, 
+ &quot;Area &gt; 20&quot;)</p>
+
+<p class="whs1">aGroup1.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &lt; 60</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_LessThan, 60.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &lt; 60, Nb = &quot;, len(anIds) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &lt; 60</p>
+
+<p class="whs1">aGroup2 = mesh.CreateEmptyGroup(SMESH.FACE, 
+ &quot;Area &lt; 60&quot;)</p>
+
+<p class="whs1">aGroup2.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create an intersection 
+ of groups : 20 &lt; area &lt; 60</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 
+ = mesh.IntersectGroups(aGroup1, aGroup2, &quot;20 &lt; Area &lt; 60&quot;)</span></p>
+
+<p class="whs1">print &quot;Criterion: 
+ 20 &lt; Area &lt; 60, Nb = &quot;, len(aGroup3.GetListOfID())</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><img src="pics/intersect_groups1.png" x-maintain-ratio="TRUE" width="314px" height="351px" border="0" class="img_whs10"> &nbsp;<img src="pics/intersect_groups2.png" x-maintain-ratio="TRUE" width="319px" height="351px" border="0" class="img_whs11"> &nbsp;<img src="pics/intersect_groups3.png" x-maintain-ratio="TRUE" width="304px" height="352px" border="0" class="img_whs12"></p>
+
+<h3><a name=bookmark4>Cut of two groups</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &gt; 20</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; 20, Nb = &quot;, len(anIds) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &gt; 20</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupMain 
+ = mesh.MakeGroupByIds(&quot;Area &gt; 20&quot;, smesh.FACE, anIds)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA 
+ &lt; 60</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_LessThan, 60.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &lt; 60, Nb = &quot;, len(anIds) </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group by 
+ adding elements with area &lt; 60</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupTool 
+ = mesh.MakeGroupByIds(&quot;Area &lt; 60&quot;, smesh.FACE, anIds)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a cut of groups 
+ : area &gt;= 60</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupRes 
+ = mesh.CutGroups(aGroupMain, aGroupTool, &quot;Area &gt;= 60&quot;)</span></p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt;= 60, Nb = &quot;, len(aGroupRes.GetListOfID())</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"><img src="pics/cut_groups1.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs13"> &nbsp;<img src="pics/cut_groups2.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs14"> &nbsp;<img src="pics/cut_groups3.png" x-maintain-ratio="TRUE" width="320px" height="354px" border="0" class="img_whs15"></p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 5a15643bb019c662e2a22ef3c50db01b49ec66cb..14cea86187fe4e395d55cc30cf1ddb90bdd5b932 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image10.jpg and b/doc/salome/gui/SMESH/image10.jpg differ
index 8ca3453fdac083655fb3c9950eee1cad985b5c0d..dc6433146575445d3777b8a69c1077d533ed35b4 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image131.gif and b/doc/salome/gui/SMESH/image131.gif differ
diff --git a/doc/salome/gui/SMESH/image157.gif b/doc/salome/gui/SMESH/image157.gif
new file mode 100644 (file)
index 0000000..4592151
Binary files /dev/null and b/doc/salome/gui/SMESH/image157.gif differ
index edd5263d85a207447082330eed7c63e2e33d233d..43592da643f1dcc10d026e35f1bdf971eec1f97c 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image37.gif and b/doc/salome/gui/SMESH/image37.gif differ
index cbd6170ee9f9fdd1078ce15363a6eee1ed9dc86d..ded3ae99a35200597497fb8f0a1ad3803ce276c0 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image7.jpg and b/doc/salome/gui/SMESH/image7.jpg differ
index cb1223d3895bfeb700592dfd27b64d20f6ef772b..bdb07ea6bab04466f5aa3a92191cff1485b68014 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image71.jpg and b/doc/salome/gui/SMESH/image71.jpg differ
index c66029e7484cd22dcbdfddd29e9592812a56b299..db8a4c8cd10fe3f3e33103f3bddfb74954d58a32 100755 (executable)
Binary files a/doc/salome/gui/SMESH/image74.gif and b/doc/salome/gui/SMESH/image74.gif differ
index 767e2b76603b15f474450307885db3890a5b070c..3163eee1bf114ea08f2cfd912baabafb8030c04e 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whstub.js"></script><script language="javascript1.2" src="whstart.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var strDefaultTopic = "about:blank";\r
-var nWebhelpNavPaneMode = 1;                   //1: DHTML 2:Applet 3:PureHTML 4:Noframeset\r
-var bNoApplet  = false;\r
-var strPaneDHTML  = "whd_nvp10.htm";           //whd_nvp10.htm  if tab enabled, whnframe.htm if tab disabled.\r
-var strPaneApplet = "whd_nvp20.htm";\r
-var strPaneList   = "whgdata/whnvp30.htm";\r
-\r
-var strHTML = "";\r
-var strPane = "";\r
-var nViewFrameType = -1;\r
-\r
-function CMRServer()\r
-{\r
-  this.m_cAgents = new Array;\r
-}\r
-var cMRServer = new CMRServer;\r
-\r
-//figure out which mode is the best\r
-if (!window.gAgent)\r
-{\r
-       // low end browser, we don't even try to determine it.\r
-       document.location = "whnjs.htm";\r
-}\r
-else\r
-{\r
-       if (!gbNav4&&!gbIE4&&!gbOpera7&&!gbSafari)\r
-               document.location = "whnjs.htm";\r
-       else if (gbNav4 && !gbNav6 && ((gnVerMinor <= 4.06)))\r
-               document.location = "whnjs.htm";\r
-       else if (gbMac && gbIE4 && !gbIE5)\r
-               document.location = "whnjs.htm";\r
-       //figure out which mode is the best\r
-       else \r
-       {\r
-               nViewFrameType=nWebhelpNavPaneMode;\r
-               if (nWebhelpNavPaneMode==1||nWebhelpNavPaneMode == 2)\r
-               {\r
-                       var gbDHTML=(nWebhelpNavPaneMode==1);\r
-                       if (gbNav4)                                                                             nViewFrameType = 2;\r
-                       if (gbNav4&&(gnVerMinor < 4.1))                                         nViewFrameType = 3;\r
-                       if (gbNav4&&(gnVerMinor == 4.6))                                        nViewFrameType = 3;\r
-                       if (gbIE4&&gbDHTML)                                                                     nViewFrameType = 1;\r
-                       if (gbIE4&&gbSunOS&&nWebhelpNavPaneMode==2)                     nViewFrameType = 3;\r
-                       if (gbNav6&&gbDHTML)                                                            nViewFrameType = 1;\r
-                       if (gbNav6&&!gbNav61&&nWebhelpNavPaneMode == 2)         nViewFrameType = 3;\r
-                       if (gbMac)                                                                                      nViewFrameType = 3;\r
-                       if (gbOpera7&&nViewFrameType == 2)                                      nViewFrameType = 3;\r
-                       if ((bNoApplet)&&(nViewFrameType == 2))                         nViewFrameType = 3;\r
-               }\r
-       }\r
-}\r
-\r
-if (nViewFrameType!=-1)\r
-{\r
-       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));\r
-       //The colordepth of the 16 color on Windows is 1. \r
-       if ((gbWindows) && (gbNav4) && (window.screen) && (window.screen.colorDepth <= 4))\r
-       {\r
-          alert("WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors.");\r
-          nViewFrameType = 3;\r
-       }\r
-\r
-       //figure out which one is navpane\r
-       if (nViewFrameType == 1)\r
-               strPane = strPaneDHTML;\r
-       else if (nViewFrameType == 2)\r
-               strPane = strPaneApplet;\r
-       else \r
-               strPane = strPaneList;\r
-\r
-       var oParam = new Object();\r
-       oParam.sTopic = "";\r
-       var oMsg = new whMessage(WH_MSG_GETDEFAULTTOPIC, window, 1, oParam);\r
-       if (SendMessage(oMsg) && oParam.sTopic != "")\r
-               strDefaultTopic =  oParam.sTopic;\r
-\r
-\r
-       if (nViewFrameType == 1)\r
-       {\r
-               //DHTML (iframe or xml based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" frameborder=\"1\">";\r
-               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane + "\" scrolling=\"no\"></frame>";\r
-               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";\r
-       }\r
-       else if (nViewFrameType == 2)\r
-       {\r
-               //applet (xml based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" framespacing=\"0\" frameborder=\"0\" border=\"0\">";\r
-               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane+ "\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\"></frame>";\r
-               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";\r
-       }\r
-       else if (nViewFrameType == 3)\r
-       {\r
-               //generic html (pure html based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\">";\r
-               strHTML += "<frame title=\"navigation frame\" src=\"" + strPane + "\" name=\"bsscleft\"  scrolling=\"no\"></frame>";\r
-               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" scrolling=\"auto\"></frame>";\r
-               strHTML += "</frameset>";\r
-       } \r
-       else if (nViewFrameType == 4)\r
-       {\r
-               //no navipane at all\r
-               strHTML += "<frameset  id=\"whPfset\" border=\"0\" cols=\"100%,*\">";\r
-               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" framespacing=\"0\" frameborder=\"0\" border=\"0\" scrolling=\"auto\">";\r
-               strHTML += "</frameset>";\r
-       }\r
-\r
-       document.write(strHTML);\r
-\r
-       RegisterListener2(window, WH_MSG_SHOWPANE);\r
-       RegisterListener2(window, WH_MSG_HIDEPANE);\r
-       RegisterListener2(window, WH_MSG_ISPANEVISIBLE);\r
-       window.onunload = window_unload;\r
-}\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(window, WH_MSG_SHOWPANE);\r
-       UnRegisterListener2(window, WH_MSG_HIDEPANE);\r
-       UnRegisterListener2(window, WH_MSG_ISPANEVISIBLE);\r
-}\r
-\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId = oMsg.nMessageId;\r
-       if (nMsgId == WH_MSG_SHOWPANE)\r
-       {\r
-               getElement("whPfset").cols = "260,*";\r
-               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");\r
-               SendMessage(onMsg);\r
-               onMsg = new whMessage(WH_MSG_GETPANEINFO, this, 1, "");\r
-               if (SendMessage(onMsg))\r
-               {\r
-                       onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, onMsg.oParam);\r
-                       SendMessage(onMsg);\r
-               }\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_HIDEPANE)\r
-       {\r
-               getElement("whPfset").cols = "0,*";\r
-               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "invisible");\r
-               SendMessage(onMsg);\r
-               onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, "");\r
-               SendMessage(onMsg);\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_ISPANEVISIBLE)\r
-       {\r
-               var n = parseInt(getElement("whPfset").cols);\r
-               if (n > 0)\r
-               {\r
-                       oMsg.oParam.bVisible = true;\r
-               }\r
-               return false;\r
-       }\r
-       return true;\r
-}\r
-//-->\r
-</script>\r
-<body>\r
-<noscript>\r
-       <p> It seems javascript is disabled in your browser, please enable it and reload again, or click <a href="whnjs.htm">here</a> to view without javascript</p>\r
-</noscript>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whstub.js"></script><script language="javascript1.2" src="whstart.js"></script>
+<script language="javascript">
+<!--
+var strDefaultTopic = "about:blank";
+var nWebhelpNavPaneMode = 1;                   //1: DHTML 2:Applet 3:PureHTML 4:Noframeset
+var bNoApplet  = false;
+var strPaneDHTML  = "whd_nvp10.htm";           //whd_nvp10.htm  if tab enabled, whnframe.htm if tab disabled.
+var strPaneApplet = "whd_nvp20.htm";
+var strPaneList   = "whgdata/whnvp30.htm";
+
+var strHTML = "";
+var strPane = "";
+var nViewFrameType = -1;
+
+function CMRServer()
+{
+  this.m_cAgents = new Array;
+}
+var cMRServer = new CMRServer;
+
+//figure out which mode is the best
+if (!window.gAgent)
+{
+       // low end browser, we don't even try to determine it.
+       document.location = "whnjs.htm";
+}
+else
+{
+       if (!gbNav4&&!gbIE4&&!gbOpera7&&!gbSafari)
+               document.location = "whnjs.htm";
+       else if (gbNav4 && !gbNav6 && ((gnVerMinor <= 4.06)))
+               document.location = "whnjs.htm";
+       else if (gbMac && gbIE4 && !gbIE5)
+               document.location = "whnjs.htm";
+       //figure out which mode is the best
+       else 
+       {
+               nViewFrameType=nWebhelpNavPaneMode;
+               if (nWebhelpNavPaneMode==1||nWebhelpNavPaneMode == 2)
+               {
+                       var gbDHTML=(nWebhelpNavPaneMode==1);
+                       if (gbNav4)                                                                             nViewFrameType = 2;
+                       if (gbNav4&&(gnVerMinor < 4.1))                                         nViewFrameType = 3;
+                       if (gbNav4&&(gnVerMinor == 4.6))                                        nViewFrameType = 3;
+                       if (gbIE4&&gbDHTML)                                                                     nViewFrameType = 1;
+                       if (gbIE4&&gbSunOS&&nWebhelpNavPaneMode==2)                     nViewFrameType = 3;
+                       if (gbNav6&&gbDHTML)                                                            nViewFrameType = 1;
+                       if (gbNav6&&!gbNav61&&nWebhelpNavPaneMode == 2)         nViewFrameType = 3;
+                       if (gbMac)                                                                                      nViewFrameType = 3;
+                       if (gbOpera7&&nViewFrameType == 2)                                      nViewFrameType = 3;
+                       if ((bNoApplet)&&(nViewFrameType == 2))                         nViewFrameType = 3;
+               }
+       }
+}
+
+if (nViewFrameType!=-1)
+{
+       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));
+       //The colordepth of the 16 color on Windows is 1. 
+       if ((gbWindows) && (gbNav4) && (window.screen) && (window.screen.colorDepth <= 4))
+       {
+          alert("WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors.");
+          nViewFrameType = 3;
+       }
+
+       //figure out which one is navpane
+       if (nViewFrameType == 1)
+               strPane = strPaneDHTML;
+       else if (nViewFrameType == 2)
+               strPane = strPaneApplet;
+       else 
+               strPane = strPaneList;
+
+       var oParam = new Object();
+       oParam.sTopic = "";
+       var oMsg = new whMessage(WH_MSG_GETDEFAULTTOPIC, window, 1, oParam);
+       if (SendMessage(oMsg) && oParam.sTopic != "")
+               strDefaultTopic =  oParam.sTopic;
+
+
+       if (nViewFrameType == 1)
+       {
+               //DHTML (iframe or xml based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" frameborder=\"1\">";
+               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane + "\" scrolling=\"no\"></frame>";
+               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";
+       }
+       else if (nViewFrameType == 2)
+       {
+               //applet (xml based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" framespacing=\"0\" frameborder=\"0\" border=\"0\">";
+               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane+ "\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\"></frame>";
+               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";
+       }
+       else if (nViewFrameType == 3)
+       {
+               //generic html (pure html based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\">";
+               strHTML += "<frame title=\"navigation frame\" src=\"" + strPane + "\" name=\"bsscleft\"  scrolling=\"no\"></frame>";
+               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" scrolling=\"auto\"></frame>";
+               strHTML += "</frameset>";
+       } 
+       else if (nViewFrameType == 4)
+       {
+               //no navipane at all
+               strHTML += "<frameset  id=\"whPfset\" border=\"0\" cols=\"100%,*\">";
+               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" framespacing=\"0\" frameborder=\"0\" border=\"0\" scrolling=\"auto\">";
+               strHTML += "</frameset>";
+       }
+
+       document.write(strHTML);
+
+       RegisterListener2(window, WH_MSG_SHOWPANE);
+       RegisterListener2(window, WH_MSG_HIDEPANE);
+       RegisterListener2(window, WH_MSG_ISPANEVISIBLE);
+       window.onunload = window_unload;
+}
+
+function window_unload()
+{
+       UnRegisterListener2(window, WH_MSG_SHOWPANE);
+       UnRegisterListener2(window, WH_MSG_HIDEPANE);
+       UnRegisterListener2(window, WH_MSG_ISPANEVISIBLE);
+}
+
+
+function onSendMessage(oMsg)
+{
+       var nMsgId = oMsg.nMessageId;
+       if (nMsgId == WH_MSG_SHOWPANE)
+       {
+               getElement("whPfset").cols = "260,*";
+               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");
+               SendMessage(onMsg);
+               onMsg = new whMessage(WH_MSG_GETPANEINFO, this, 1, "");
+               if (SendMessage(onMsg))
+               {
+                       onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, onMsg.oParam);
+                       SendMessage(onMsg);
+               }
+               return false;
+       }
+       else if (nMsgId == WH_MSG_HIDEPANE)
+       {
+               getElement("whPfset").cols = "0,*";
+               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "invisible");
+               SendMessage(onMsg);
+               onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, "");
+               SendMessage(onMsg);
+               return false;
+       }
+       else if (nMsgId == WH_MSG_ISPANEVISIBLE)
+       {
+               var n = parseInt(getElement("whPfset").cols);
+               if (n > 0)
+               {
+                       oMsg.oParam.bVisible = true;
+               }
+               return false;
+       }
+       return true;
+}
+//-->
+</script>
+<body>
+<noscript>
+       <p> It seems javascript is disabled in your browser, please enable it and reload again, or click <a href="whnjs.htm">here</a> to view without javascript</p>
+</noscript>
+</body>
+</html>
index 2bd1f63873cbe478f4efe7e5f44b207c754106e8..867d877c9d78dc2e3789baac48bef64f6d489373 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript" src="whutils.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var gCSHFileName   = "whc_data.htm";\r
-var gCSHSuffixName1 = "_csh.html";\r
-var gCSHSuffixName2 = "_csh.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-gCSHFileName="cshdat_webhelp.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-var gasProj = new Array();\r
-gasProj[0] = _getPath(document.location.href);\r
-var gCurrent = 0;\r
-\r
-function addProject(strProj)\r
-{\r
-       var len  = gasProj.length;\r
-       if (strProj)\r
-       {\r
-               strProj = _replaceSlash(strProj);\r
-               if (strProj.lastIndexOf("/") != strProj.length - 1)\r
-                       strProj += "/";\r
-               var strPPath = _getFullPath(_getPath(document.location.href), strProj);\r
-               var bFound = false;\r
-               for (var i = 0; i < len; i ++)\r
-               {\r
-                       if (isSamePath(gasProj[i], strPPath))\r
-                       {\r
-                               bFound = true;\r
-                               break;\r
-                       }\r
-               }\r
-               if (!bFound)\r
-                       gasProj[len] = strPPath;\r
-       }\r
-}\r
-\r
-function isSamePath(strPath1, strPath2)\r
-{\r
-       return strPath1.toLowerCase() == strPath2.toLowerCase();\r
-}\r
-\r
-function goNext()\r
-{\r
-       gCurrent ++;\r
-       var len = gasProj.length;\r
-       if (gCurrent >= len)\r
-               return getHomePage()\r
-       else\r
-               frames["csh"].location = gasProj[gCurrent] + gCSHFileName;\r
-       return "";\r
-}\r
-\r
-function getRelHomePage(strLocation)\r
-{\r
-       var strCurPPath = _getPath(strLocation);\r
-       var strOriPPath = _getPath(getHomePage());\r
-       var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);\r
-       var strURL = getHomePage() + "#" + strRelPath;\r
-       return strURL;\r
-}\r
-\r
-function getHomePage()\r
-{\r
-       var strHomePage;\r
-       var strTmp = location.toString();\r
-       var nPos = strTmp.indexOf("#");\r
-       if (nPos != -1)\r
-       {\r
-          strHomePage = strTmp.substring(0, nPos);\r
-       }\r
-       else\r
-       {\r
-          strHomePage = strTmp;\r
-       }\r
-       var nPos1 = strHomePage.indexOf(gCSHSuffixName1);\r
-       var nPos = strHomePage.indexOf(gCSHSuffixName2);\r
-       if (nPos != -1)\r
-       {\r
-          strHomePage = strHomePage.substring(0,nPos);\r
-          if (nPos1 != -1)\r
-            strHomePage += ".html";\r
-          else\r
-            strHomePage += ".htm";\r
-       }\r
-       return strHomePage;\r
-}\r
-//-->\r
-</script>\r
-</head>\r
-<frameset rows="1,*">\r
-<frame name="dumb" src="about:blank"></frame>\r
-<frame name="csh" src="cshdat_webhelp.htm"></frame>            \r
-</frameset>\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript" src="whutils.js"></script>
+<script language="javascript">
+<!--
+var gCSHFileName   = "whc_data.htm";
+var gCSHSuffixName1 = "_csh.html";
+var gCSHSuffixName2 = "_csh.htm";
+//-->
+</script>
+<script language="javascript">
+<!--
+gCSHFileName="cshdat_webhelp.htm";
+//-->
+</script>
+<script language="javascript">
+<!--
+var gasProj = new Array();
+gasProj[0] = _getPath(document.location.href);
+var gCurrent = 0;
+
+function addProject(strProj)
+{
+       var len  = gasProj.length;
+       if (strProj)
+       {
+               strProj = _replaceSlash(strProj);
+               if (strProj.lastIndexOf("/") != strProj.length - 1)
+                       strProj += "/";
+               var strPPath = _getFullPath(_getPath(document.location.href), strProj);
+               var bFound = false;
+               for (var i = 0; i < len; i ++)
+               {
+                       if (isSamePath(gasProj[i], strPPath))
+                       {
+                               bFound = true;
+                               break;
+                       }
+               }
+               if (!bFound)
+                       gasProj[len] = strPPath;
+       }
+}
+
+function isSamePath(strPath1, strPath2)
+{
+       return strPath1.toLowerCase() == strPath2.toLowerCase();
+}
+
+function goNext()
+{
+       gCurrent ++;
+       var len = gasProj.length;
+       if (gCurrent >= len)
+               return getHomePage()
+       else
+               frames["csh"].location = gasProj[gCurrent] + gCSHFileName;
+       return "";
+}
+
+function getRelHomePage(strLocation)
+{
+       var strCurPPath = _getPath(strLocation);
+       var strOriPPath = _getPath(getHomePage());
+       var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);
+       var strURL = getHomePage() + "#" + strRelPath;
+       return strURL;
+}
+
+function getHomePage()
+{
+       var strHomePage;
+       var strTmp = location.toString();
+       var nPos = strTmp.indexOf("#");
+       if (nPos != -1)
+       {
+          strHomePage = strTmp.substring(0, nPos);
+       }
+       else
+       {
+          strHomePage = strTmp;
+       }
+       var nPos1 = strHomePage.indexOf(gCSHSuffixName1);
+       var nPos = strHomePage.indexOf(gCSHSuffixName2);
+       if (nPos != -1)
+       {
+          strHomePage = strHomePage.substring(0,nPos);
+          if (nPos1 != -1)
+            strHomePage += ".html";
+          else
+            strHomePage += ".htm";
+       }
+       return strHomePage;
+}
+//-->
+</script>
+</head>
+<frameset rows="1,*">
+<frame name="dumb" src="about:blank"></frame>
+<frame name="csh" src="cshdat_webhelp.htm"></frame>            
+</frameset>
 </html>
\ No newline at end of file
index 4e87239075c443db35f8612a1e34f451adabaa68..b751bd4c832b0f8dfc471286556f2115bb8ff670 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript" src="whutils.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var gCSHFileName   = "whc_data.htm";\r
-var gCSHSuffixName1 = "_rhc.html";\r
-var gCSHSuffixName2 = "_rhc.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-gCSHFileName="cshdat_robohelp.htm";\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-var gasProj = new Array();\r
-gasProj[0] = _getPath(document.location.href);\r
-var gCurrent = 0;\r
-\r
-function addProject(strProj)\r
-{\r
-       var len  = gasProj.length;\r
-       if (strProj)\r
-       {\r
-               strProj = _replaceSlash(strProj);\r
-               if (strProj.lastIndexOf("/") != strProj.length - 1)\r
-                       strProj += "/";\r
-               var strPPath = _getFullPath(_getPath(document.location.href), strProj);\r
-               var bFound = false;\r
-               for (var i = 0; i < len; i ++)\r
-               {\r
-                       if (isSamePath(gasProj[i], strPPath))\r
-                       {\r
-                               bFound = true;\r
-                               break;\r
-                       }\r
-               }\r
-               if (!bFound)\r
-                       gasProj[len] = strPPath;\r
-       }\r
-}\r
-\r
-function isSamePath(strPath1, strPath2)\r
-{\r
-       return strPath1.toLowerCase() == strPath2.toLowerCase();\r
-}\r
-\r
-function goNext()\r
-{\r
-       gCurrent ++;\r
-       var len = gasProj.length;\r
-       if (gCurrent >= len)\r
-               return getHomePage()\r
-       else\r
-               frames["csh"].location = gasProj[gCurrent] + gCSHFileName;\r
-       return "";\r
-}\r
-\r
-function getRelHomePage(strLocation)\r
-{\r
-       var strCurPPath = _getPath(strLocation);\r
-       var strOriPPath = _getPath(getHomePage());\r
-       var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);\r
-       var strURL = getHomePage() + "#" + strRelPath;\r
-       return strURL;\r
-}\r
-\r
-function getHomePage()\r
-{\r
-       var strHomePage;\r
-       var strTmp = location.toString();\r
-       var nPos = strTmp.indexOf("#");\r
-       if (nPos != -1)\r
-       {\r
-          strHomePage = strTmp.substring(0, nPos);\r
-       }\r
-       else\r
-       {\r
-          strHomePage = strTmp;\r
-       }\r
-       var nPos1 = strHomePage.indexOf(gCSHSuffixName1);\r
-       var nPos = strHomePage.indexOf(gCSHSuffixName2);\r
-       if (nPos != -1)\r
-       {\r
-          strHomePage = strHomePage.substring(0,nPos);\r
-          if (nPos1 != -1)\r
-            strHomePage += ".html";\r
-          else\r
-            strHomePage += ".htm";\r
-       }\r
-       return strHomePage;\r
-}\r
-//-->\r
-</script>\r
-</head>\r
-<frameset rows="1,*">\r
-<frame name="dumb" src="about:blank"></frame>\r
-<frame name="csh" src="cshdat_robohelp.htm"></frame>           \r
-</frameset>\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript" src="whutils.js"></script>
+<script language="javascript">
+<!--
+var gCSHFileName   = "whc_data.htm";
+var gCSHSuffixName1 = "_rhc.html";
+var gCSHSuffixName2 = "_rhc.htm";
+//-->
+</script>
+<script language="javascript">
+<!--
+gCSHFileName="cshdat_robohelp.htm";
+//-->
+</script>
+<script language="javascript">
+<!--
+var gasProj = new Array();
+gasProj[0] = _getPath(document.location.href);
+var gCurrent = 0;
+
+function addProject(strProj)
+{
+       var len  = gasProj.length;
+       if (strProj)
+       {
+               strProj = _replaceSlash(strProj);
+               if (strProj.lastIndexOf("/") != strProj.length - 1)
+                       strProj += "/";
+               var strPPath = _getFullPath(_getPath(document.location.href), strProj);
+               var bFound = false;
+               for (var i = 0; i < len; i ++)
+               {
+                       if (isSamePath(gasProj[i], strPPath))
+                       {
+                               bFound = true;
+                               break;
+                       }
+               }
+               if (!bFound)
+                       gasProj[len] = strPPath;
+       }
+}
+
+function isSamePath(strPath1, strPath2)
+{
+       return strPath1.toLowerCase() == strPath2.toLowerCase();
+}
+
+function goNext()
+{
+       gCurrent ++;
+       var len = gasProj.length;
+       if (gCurrent >= len)
+               return getHomePage()
+       else
+               frames["csh"].location = gasProj[gCurrent] + gCSHFileName;
+       return "";
+}
+
+function getRelHomePage(strLocation)
+{
+       var strCurPPath = _getPath(strLocation);
+       var strOriPPath = _getPath(getHomePage());
+       var strRelPath = _getRelativeFileName(strOriPPath, strCurPPath);
+       var strURL = getHomePage() + "#" + strRelPath;
+       return strURL;
+}
+
+function getHomePage()
+{
+       var strHomePage;
+       var strTmp = location.toString();
+       var nPos = strTmp.indexOf("#");
+       if (nPos != -1)
+       {
+          strHomePage = strTmp.substring(0, nPos);
+       }
+       else
+       {
+          strHomePage = strTmp;
+       }
+       var nPos1 = strHomePage.indexOf(gCSHSuffixName1);
+       var nPos = strHomePage.indexOf(gCSHSuffixName2);
+       if (nPos != -1)
+       {
+          strHomePage = strHomePage.substring(0,nPos);
+          if (nPos1 != -1)
+            strHomePage += ".html";
+          else
+            strHomePage += ".htm";
+       }
+       return strHomePage;
+}
+//-->
+</script>
+</head>
+<frameset rows="1,*">
+<frame name="dumb" src="about:blank"></frame>
+<frame name="csh" src="cshdat_robohelp.htm"></frame>           
+</frameset>
 </html>
\ No newline at end of file
index d318cbe4ab75a4f1c73787e9d974dc1f6b0fa60b..db7b0ae0f5e310425ea51940a75b813632550394 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Length</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:165px; height:239px; float:none; border-style:none; }\r
-p.whs4 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs4 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nLength");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Length</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The Length quality control criterion returns a value \r
- of length of edge.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2"><img src="pics/length-crit.png" x-maintain-ratio="TRUE" width="165px" height="239px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark2">&nbsp;Length \r
- quality control</a> operation. &nbsp;</p>\r
-\r
-<p>.</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Length</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:165px; height:239px; float:none; border-style:none; }
+p.whs4 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs4 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nLength");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Length</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The Length quality control criterion returns a value 
+ of length of edge.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2"><img src="pics/length-crit.png" x-maintain-ratio="TRUE" width="165px" height="239px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark2">&nbsp;Length 
+ quality control</a> operation. &nbsp;</p>
+
+<p>.</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 32b5ebfb8a8cf87bc86a3ef37531edd482243ab8..f210b6af87547d32271a48a4b9ee7bee34306f17 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Merge Elements</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-img_whs2 { border:none; width:313px; height:221px; float:none; border-style:none; }\r
-img_whs3 { border:none; width:235px; height:150px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nMerging Elements");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Merging Elements</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This functionality allows to merge coincident elements \r
- of a mesh selectable in the dialog box. </p>\r
-\r
-<p><img src="pics/mergeelems.png" x-maintain-ratio="TRUE" width="313px" height="221px" border="0" class="img_whs2"></p>\r
-\r
-<p>In this picture you see a triangle which coincides with one of the elements \r
- of the mesh. After we apply <span style="font-weight: bold;"><B>Merge Elements</B></span> \r
- functionality, the triangle will be completely merged with the mesh. </p>\r
-\r
-<p><img src="pics/meshtrianglemergeelem1.png" x-maintain-ratio="TRUE" width="235px" height="150px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="transforming_meshes.htm#bookmark8">Merge \r
- Elements</a> operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Merge Elements</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+img_whs2 { border:none; width:313px; height:221px; float:none; border-style:none; }
+img_whs3 { border:none; width:235px; height:150px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nMerging Elements");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Merging Elements</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> This functionality allows to merge coincident elements 
+ of a mesh selectable in the dialog box. </p>
+
+<p><img src="pics/mergeelems.png" x-maintain-ratio="TRUE" width="313px" height="221px" border="0" class="img_whs2"></p>
+
+<p>In this picture you see a triangle which coincides with one of the elements 
+ of the mesh. After we apply <span style="font-weight: bold;"><B>Merge Elements</B></span> 
+ functionality, the triangle will be completely merged with the mesh. </p>
+
+<p><img src="pics/meshtrianglemergeelem1.png" x-maintain-ratio="TRUE" width="235px" height="150px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="transforming_meshes.htm#bookmark8">Merge 
+ Elements</a> operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index be7069d510c1e1dd93f192dc6183ecf6473e95ce..f849df81a47d7dc643643e97a5e9222e41c23daf 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>mesh</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-h1.whs1 { margin-top:0pt; margin-bottom:0pt; font-size:24pt; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-img_whs3 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-ul.whs5 { list-style:circle; }\r
-p.whs6 { margin-left:40px; margin-top:0pt; margin-bottom:0pt; }\r
-img_whs7 { border:none; width:472px; height:355px; border-style:none; float:right; }\r
-p.whs8 { margin-left:40px; font-weight:bold; margin-top:0pt; margin-bottom:0pt; }\r
-ol.whs9 { list-style:disc; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "h1.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs8 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nIntroduction to Mesh");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1 class="whs1">Introduction to MESH</h1>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"><span style="font-weight: bold;"><B>MESH</B></span> \r
- module of SALOME is destined for: </p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="files/importing_and_exporting_meshes.htm">import and export of meshes \r
- in MED format</a>,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="files/constructing_meshes.htm">meshing geometrical models</a> previously \r
- created or imported by the GEOM component. MESH module allows to apply \r
- 1D, 2D, 3D meshing algorithms and a set of hypotheses:</p></li>\r
-       \r
-       <ul type="circle" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#arithmetic_1D">Arithmetic 1D</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#Average_length">Average Length</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#deflection_1D">Deflection 1D </a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#Number_of_elements">Number of segments</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#start_and_end_length">Start and end length</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#automatic_length">Automatic Length</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#max_element_area">Max Element \r
- Area</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#length_from_edges">Length \r
- from Edges</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#quadrangle preference">Quadrangle \r
- Preference</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/max._element_volume_hypothsis.htm">Max Element Volume</a></p></li>\r
-       </ul>\r
-       \r
-       <li class=kadov-p><p class="whs2">modification \r
- of locally generated meshes by</p></li>\r
-       \r
-       <ul type="circle" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/adding_nodes_and_elements.htm">Addition</a> of nodes and elements</p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/removing_nodes_and_elements.htm">Removal</a> of nodes and \r
- elements</p></li>\r
-       </ul>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="files/creating_groups.htm">grouping mesh elements</a> and <a href="files/using_operations_on_groups.htm">performing \r
- operations on these groups</a> </p></li>\r
-       \r
-       <li class=kadov-p><p class="whs2"><a href="files/about_quality_controls.htm">quality control</a> of meshes \r
- basing on a set of definite criteria -</p></li>\r
-</ul>\r
-\r
-<p class="whs6"><img src="image7.jpg" x-maintain-ratio="TRUE" width="472px" height="355px" align="right" border="0" class="img_whs7"></p>\r
-\r
-<p class="whs8">for edges:</p>\r
-\r
-<ol type="disc" class="whs9">\r
-       \r
-       <ul type="circle" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="length.htm">Length of edges</a> </p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="borders_at_multi-connection.htm">Borders at multi-connection</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="free_borders.htm">Free borders</a></p></li>\r
-       </ul>\r
-</ol>\r
-\r
-<p class="whs8">for faces:</p>\r
-\r
-<ol type="disc" class="whs9">\r
-       \r
-       <ul type="circle" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/area_of_elements.htm">Area</a> </p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="free_edges.htm">Free edges</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="borders_at_multiconnection_2d.htm">Borders at multi-connection 2D</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/length_of_edges.htm">Length 2D</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/minimum_angle.htm">Minimum angle</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/taper.htm">Taper</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/aspect_ratio.htm">Aspect Ratio</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/warp.htm">Warping</a> </p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="files/skew.htm">Skew</a></p></li>\r
-       </ul>\r
-</ol>\r
-\r
-<p class="whs8">for solids:</p>\r
-\r
-<ol type="disc" class="whs9">\r
-       \r
-       <ul type="circle" class="whs5">\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="aspect_ratio_3d.htm">Aspect ratio 3D</a></p></li>\r
-               \r
-               <li class=kadov-p><p class="whs2"><a href="volume.htm">Volume</a></p></li>\r
-       </ul>\r
-</ol>\r
-\r
-<p class="whs2">.</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>mesh</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+h1.whs1 { margin-top:0pt; margin-bottom:0pt; font-size:24pt; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; }
+img_whs3 { border:none; width:30px; height:30px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+ul.whs5 { list-style:circle; }
+p.whs6 { margin-left:40px; margin-top:0pt; margin-bottom:0pt; }
+img_whs7 { border:none; width:472px; height:355px; border-style:none; float:right; }
+p.whs8 { margin-left:40px; font-weight:bold; margin-top:0pt; margin-bottom:0pt; }
+ol.whs9 { list-style:disc; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "h1.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs8 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nIntroduction to Mesh");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1 class="whs1">Introduction to MESH</h1>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs3"><span style="font-weight: bold;"><B>MESH</B></span> 
+ module of SALOME is destined for: </p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs2"><a href="files/importing_and_exporting_meshes.htm">import and export of meshes 
+ in MED format</a>,</p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="files/constructing_meshes.htm">meshing geometrical models</a> previously 
+ created or imported by the GEOM component. MESH module allows to apply 
+ 1D, 2D, 3D meshing algorithms and a set of hypotheses:</p></li>
+       
+       <ul type="circle" class="whs5">
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#arithmetic_1D">Arithmetic 1D</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#Average_length">Average Length</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#deflection_1D">Deflection 1D </a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#Number_of_elements">Number of segments</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#start_and_end_length">Start and end length</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/arithmetic_1d.htm#automatic_length">Automatic Length</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#max_element_area">Max Element 
+ Area</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#length_from_edges">Length 
+ from Edges</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/max._element_area_hypothesis.htm#quadrangle preference">Quadrangle 
+ Preference</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/max._element_volume_hypothsis.htm">Max Element Volume</a></p></li>
+       </ul>
+       
+       <li class=kadov-p><p class="whs2">modification 
+ of locally generated meshes by</p></li>
+       
+       <ul type="circle" class="whs5">
+               
+               <li class=kadov-p><p class="whs2"><a href="files/adding_nodes_and_elements.htm">Addition</a> of nodes and elements</p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/removing_nodes_and_elements.htm">Removal</a> of nodes and 
+ elements</p></li>
+       </ul>
+       
+       <li class=kadov-p><p class="whs2"><a href="files/creating_groups.htm">grouping mesh elements</a> and <a href="files/using_operations_on_groups.htm">performing 
+ operations on these groups</a> </p></li>
+       
+       <li class=kadov-p><p class="whs2"><a href="files/about_quality_controls.htm">quality control</a> of meshes 
+ basing on a set of definite criteria -</p></li>
+</ul>
+
+<p class="whs6"><img src="image7.jpg" x-maintain-ratio="TRUE" width="472px" height="355px" align="right" border="0" class="img_whs7"></p>
+
+<p class="whs8">for edges:</p>
+
+<ol type="disc" class="whs9">
+       
+       <ul type="circle" class="whs5">
+               
+               <li class=kadov-p><p class="whs2"><a href="length.htm">Length of edges</a> </p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="borders_at_multi-connection.htm">Borders at multi-connection</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="free_borders.htm">Free borders</a></p></li>
+       </ul>
+</ol>
+
+<p class="whs8">for faces:</p>
+
+<ol type="disc" class="whs9">
+       
+       <ul type="circle" class="whs5">
+               
+               <li class=kadov-p><p class="whs2"><a href="files/area_of_elements.htm">Area</a> </p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="free_edges.htm">Free edges</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="borders_at_multiconnection_2d.htm">Borders at multi-connection 2D</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/length_of_edges.htm">Length 2D</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/minimum_angle.htm">Minimum angle</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/taper.htm">Taper</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/aspect_ratio.htm">Aspect Ratio</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/warp.htm">Warping</a> </p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="files/skew.htm">Skew</a></p></li>
+       </ul>
+</ol>
+
+<p class="whs8">for solids:</p>
+
+<ol type="disc" class="whs9">
+       
+       <ul type="circle" class="whs5">
+               
+               <li class=kadov-p><p class="whs2"><a href="aspect_ratio_3d.htm">Aspect ratio 3D</a></p></li>
+               
+               <li class=kadov-p><p class="whs2"><a href="volume.htm">Volume</a></p></li>
+       </ul>
+</ol>
+
+<p class="whs2">.</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 7338481cc7988230bddd341e78141dcff8d21d44..7ed7089df751fe972eee3c48acd08c5971bc81f5 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Modifying Meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>\r
-<!--\r
-P { margin-top:0pt; margin-bottom:0pt; }\r
-LI.kadov-P {  }\r
--->\r
-</style><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-h4.whs5 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs6 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs7 { margin-top:0.5pt; margin-bottom:0pt; }\r
-p.whs8 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs9 { font-family:'Lucida Console' , monospace; }\r
-p.whs10 { font-family:'Times New Roman' , serif; }\r
-p.whs11 { margin-left:36px; font-family:'Lucida Console' , monospace; }\r
-p.whs12 { margin-left:36px; }\r
-p.whs13 { margin-left:192px; font-family:'Lucida Console' , monospace; }\r
-p.whs14 { font-family:'Lucida Console' , monospace; margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "h4.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs8 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs14 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nModifying Meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Modifying Meshes</h1>\r
-\r
-<h3><a name=bookmark>Adding Nodes and Elements</a></h3>\r
-\r
-<p class="whs1"># Attention! The scripts for Adding nodes \r
- and Elements &nbsp;have \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to add nodes and elements. </p>\r
-\r
-<p class="whs2"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- In the next SALOME version the scripts will be updated to use only the \r
- commands from smesh package.</B></font></span></p>\r
-\r
-<h4>Add Node</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add node</p>\r
-\r
-<p class="whs3">new_id = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">if new_id == 0: \r
- print &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Node has been added with ID &quot;, new_id </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4>Add Edge</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add node</p>\r
-\r
-<p class="whs3">n1 = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">if n1 == 0: print \r
- &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add edge</p>\r
-\r
-<p class="whs3">e1 = aMeshEditor.AddEdge([n1, \r
- 38])</p>\r
-\r
-<p class="whs3">if e1 == 0: print \r
- &quot;KO edge addition.&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Edge has been added with ID &quot;, e1 </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4>Add Triangle</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add node</p>\r
-\r
-<p class="whs3">n1 = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">if n1 == 0: print \r
- &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add triangle</p>\r
-\r
-<p class="whs3">t1 = aMeshEditor.AddFace([n1, \r
- 38, 39])</p>\r
-\r
-<p class="whs3">if t1 == 0: print \r
- &quot;KO triangle addition.&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Triangle has been added with ID &quot;, t1 </p>\r
-\r
-<h4>Add Quadrangle</h4>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># add node</p>\r
-\r
-<p class="whs3">n1 = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">if n1 == 0: print \r
- &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">n2 = aMeshEditor.AddNode(40, \r
- 20, 0)</p>\r
-\r
-<p class="whs3">if n2 == 0: print \r
- &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"># add quadrangle</p>\r
-\r
-<p class="whs3">q1 = aMeshEditor.AddFace([n2, \r
- n1, 38, 39])</p>\r
-\r
-<p class="whs3">if q1 == 0: print \r
- &quot;KO quadrangle addition.&quot;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">else: \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Quadrangle has been added with ID &quot;, q1</span> </p>\r
-\r
-<h4>Add Tetrahedron</h4>\r
-\r
-<p class="whs3">import SMESH </p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add node</p>\r
-\r
-<p class="whs3">n1 = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">if n1 == 0: print \r
- &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add tetrahedron</p>\r
-\r
-<p class="whs3">t1 = aMeshEditor.AddVolume([n1, \r
- 38, 39, 246])</p>\r
-\r
-<p class="whs3">if t1 == 0: print \r
- &quot;KO tetrahedron addition.&quot;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">else: \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Tetrahedron has been added with ID &quot;, t1</span> </p>\r
-\r
-<h4>Add Hexahedron</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add nodes</p>\r
-\r
-<p class="whs3">nId1 = aMeshEditor.AddNode(50, \r
- 10, 0)</p>\r
-\r
-<p class="whs3">nId2 = aMeshEditor.AddNode(47, \r
- 12, 0)</p>\r
-\r
-<p class="whs3">nId3 = aMeshEditor.AddNode(50, \r
- 10, 10)</p>\r
-\r
-<p class="whs3">nId4 = aMeshEditor.AddNode(47, \r
- 12, 10)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">if nId1 == 0 or \r
- nId2 == 0 or nId3 == 0 or nId4 == 0: print &quot;KO node addition.&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># add hexahedron</p>\r
-\r
-<p class="whs3">vId = aMeshEditor.AddVolume([nId2, \r
- nId1, 38, 39, nId4, nId3, 245, 246])</p>\r
-\r
-<p class="whs3">if vId == 0: print \r
- &quot;KO Hexahedron addition.&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;New Hexahedron has been added with ID &quot;, vId </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h4>Add Polygon</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- math</span></p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create an empty mesh \r
- structure</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs3">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs3">MeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># a method to build \r
- a polygonal mesh element with &lt;nb_vert&gt; angles:</p>\r
-\r
-<p class="whs3">def MakePolygon \r
- (a_mesh, x0, y0, z0, radius, nb_vert):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;al \r
- = 2.0 * math.pi / nb_vert</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;node_ids \r
- = []</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# \r
- Create nodes for a polygon</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;for \r
- ii in range(nb_vert):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nid \r
- = MeshEditor.AddNode(x0 + radius * math.cos(ii*al),</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y0 \r
- + radius * math.sin(ii*al),</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z0)</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_ids.append(nid)</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# \r
- Create a polygon</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;return \r
- MeshEditor.AddPolygonalFace(node_ids)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Create three polygons</p>\r
-\r
-<p class="whs3">f1 = MakePolygon(mesh, \r
- 0, 0, &nbsp;0, \r
- 30, 13)</p>\r
-\r
-<p class="whs3">f2 = MakePolygon(mesh, \r
- 0, 0, 10, 21, &nbsp;9)</p>\r
-\r
-<p class="whs3">f3 = MakePolygon(mesh, \r
- 0, 0, 20, 13, &nbsp;6)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<h4>Add Polyhedron</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- salome</span></p>\r
-\r
-<p class="whs3">import math</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create an empty mesh \r
- structure</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs3">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs3">MeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Create nodes for \r
- 12-hedron with pentagonal faces</p>\r
-\r
-<p class="whs3">al = 2 * math.pi \r
- / 5.0</p>\r
-\r
-<p class="whs3">cosal = math.cos(al)</p>\r
-\r
-<p class="whs3">aa = 13</p>\r
-\r
-<p class="whs3">rr = aa / (2.0 * \r
- math.sin(al/2.0))</p>\r
-\r
-<p class="whs3">dr = 2.0 * rr * \r
- cosal</p>\r
-\r
-<p class="whs3">r1 = rr + dr</p>\r
-\r
-<p class="whs3">dh = rr * math.sqrt(2.0 \r
- * (1.0 - cosal * (1.0 + 2.0 * cosal)))</p>\r
-\r
-<p class="whs3">hh = 2.0 * dh - \r
- dr * (rr*(cosal - 1) + (rr + dr)*(math.cos(al/2) - 1)) / dh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">dd = [] <span style="font-family: 'Times New Roman', serif;"># \r
- top</span></p>\r
-\r
-<p class="whs3">cc = [] <span style="font-family: 'Times New Roman', serif;"># \r
- below top</span></p>\r
-\r
-<p class="whs3">bb = [] <span style="font-family: 'Times New Roman', serif;"># \r
- above bottom</span></p>\r
-\r
-<p class="whs3">aa = [] <span style="font-family: 'Times New Roman', serif;"># \r
- bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">for i in range(5):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;cos_bot \r
- = math.cos(i*al)</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;sin_bot \r
- = math.sin(i*al)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;<span \r
- style="margin-top: 0pt;\r
-               margin-bottom: 0pt;\r
-               font-family: 'Lucida Console', monospace;">cos_top \r
- = math.cos(i*al + al/2.0)</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;sin_top \r
- = math.sin(i*al + al/2.0)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;nd \r
- = MeshEditor.AddNode(rr * cos_top, rr * sin_top, hh &nbsp;&nbsp;&nbsp;&nbsp;) \r
- <span style="font-family: 'Times New Roman', serif;"># top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;nc \r
- = MeshEditor.AddNode(r1 * cos_top, r1 * sin_top, hh - dh) <span style="font-family: 'Times New Roman', serif;"># \r
- below top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;nb \r
- = MeshEditor.AddNode(r1 * cos_bot, r1 * sin_bot, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dh) \r
- <span style="font-family: 'Times New Roman', serif;"># above bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;na \r
- = MeshEditor.AddNode(rr * cos_bot, rr * sin_bot, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0) \r
- <span style="font-family: 'Times New Roman', serif;"># bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;dd.append(nd) \r
- <span style="font-family: 'Times New Roman', serif;"># top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;cc.append(nc) \r
- <span style="font-family: 'Times New Roman', serif;"># below top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;bb.append(nb) \r
- <span style="font-family: 'Times New Roman', serif;"># above bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;aa.append(na) \r
- <span style="font-family: 'Times New Roman', serif;"># bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Create a polyhedral \r
- volume (12-hedron with pentagonal faces)</p>\r
-\r
-<p class="whs3">MeshEditor.AddPolyhedralVolume([dd[0], \r
- dd[1], dd[2], dd[3], dd[4], &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
- top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[0], \r
- cc[0], bb[1], cc[1], dd[1], &nbsp;# \r
- -</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[1], \r
- cc[1], bb[2], cc[2], dd[2], &nbsp;# \r
- -</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[2], \r
- cc[2], bb[3], cc[3], dd[3], &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
- - below top</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[3], \r
- cc[3], bb[4], cc[4], dd[4], &nbsp;# \r
- -</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[4], \r
- cc[4], bb[0], cc[0], dd[0], &nbsp;# \r
- -</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[4], \r
- bb[4], cc[4], bb[0], aa[0], &nbsp;# \r
- .</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[3], \r
- bb[3], cc[3], bb[4], aa[4], &nbsp;# \r
- .</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[2], \r
- bb[2], cc[2], bb[3], aa[3], &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
- . above bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[1], \r
- bb[1], cc[1], bb[2], aa[2], &nbsp;# \r
- .</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[0], \r
- bb[0], cc[0], bb[1], aa[1], &nbsp;# \r
- .</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[0], \r
- aa[1], aa[2], aa[3], aa[4]], <span style="font-family: 'Times New Roman', serif;"># \r
- bottom</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[5,5,5,5,5,5,5,5,5,5,5,5])</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark1>Removing Nodes and Elements</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to remove nodes and elements. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<h4 class="whs5">&nbsp;</h4>\r
-\r
-<h4 class="whs5">Removing Nodes</h4>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH_mechanic</span></p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># remove nodes #246 \r
- and #255</p>\r
-\r
-<p class="whs3">res = aMeshEditor.RemoveNodes([246, \r
- 255])</p>\r
-\r
-<p class="whs3">if res == 1: print \r
- &quot;Nodes removing is OK!&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;KO nodes removing.&quot; </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h4>Removing Elements</h4>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH_mechanic</span></p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># remove three elements: \r
- #850, #859 and #814</p>\r
-\r
-<p class="whs3">res = anEditor.RemoveElements([850, \r
- 859, 814])</p>\r
-\r
-<p class="whs3">if res == 1: print \r
- &quot;Elements removing is OK!&quot;</p>\r
-\r
-<p class="whs3">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;KO Elements removing.&quot; &nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark2>Renumbering Nodes and Elements</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to renumber nodes and elements. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">import SMESH_mechanic</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs6">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">anEditor.RenumberNodes()</span> \r
- </p>\r
-\r
-<h3><a name=bookmark3>Moving Nodes</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to move nodes. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># move node #38</p>\r
-\r
-<p class="whs3">aMeshEditor.MoveNode(38, \r
- 20., 10., 0.) </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h3><a name=bookmark4>Diagonal Inversion</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to produce a diagonal inversion. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs6">import salome</p>\r
-\r
-<p class="whs6">import smesh</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs8"># create an empty mesh \r
- structure</p>\r
-\r
-<p class="whs6">gen = smesh.smesh</p>\r
-\r
-<p class="whs6">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs6">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs8"># create the following \r
- mesh:</p>\r
-\r
-<p class="whs6"># .----.----.----.</p>\r
-\r
-<p class="whs6"># | &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/|</p>\r
-\r
-<p class="whs6"># | &nbsp;/ \r
- | &nbsp;/ | &nbsp;/ \r
- |</p>\r
-\r
-<p class="whs6"># | / &nbsp;| \r
- / &nbsp;| / &nbsp;|</p>\r
-\r
-<p class="whs6"># |/ &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|</p>\r
-\r
-<p class="whs6"># .----.----.----.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">bb = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs6">tt = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs6">ff = [0, 0, 0, 0, \r
- 0, 0]</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">bb[0] = aMeshEditor.AddNode( \r
- 0., 0., 0.)</p>\r
-\r
-<p class="whs6">bb[1] = aMeshEditor.AddNode(10., \r
- 0., 0.)</p>\r
-\r
-<p class="whs6">bb[2] = aMeshEditor.AddNode(20., \r
- 0., 0.)</p>\r
-\r
-<p class="whs6">bb[3] = aMeshEditor.AddNode(30., \r
- 0., 0.)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">tt[0] = aMeshEditor.AddNode( \r
- 0., 15., 0.)</p>\r
-\r
-<p class="whs6">tt[1] = aMeshEditor.AddNode(10., \r
- 15., 0.)</p>\r
-\r
-<p class="whs6">tt[2] = aMeshEditor.AddNode(20., \r
- 15., 0.)</p>\r
-\r
-<p class="whs6">tt[3] = aMeshEditor.AddNode(30., \r
- 15., 0.)</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6">ff[0] = aMeshEditor.AddFace([bb[0], \r
- bb[1], tt[1]])</p>\r
-\r
-<p class="whs6">ff[1] = aMeshEditor.AddFace([bb[0], \r
- tt[1], tt[0]])</p>\r
-\r
-<p class="whs6">ff[2] = aMeshEditor.AddFace([bb[1], \r
- bb[2], tt[2]])</p>\r
-\r
-<p class="whs6">ff[3] = aMeshEditor.AddFace([bb[1], \r
- tt[2], tt[1]])</p>\r
-\r
-<p class="whs6">ff[4] = aMeshEditor.AddFace([bb[2], \r
- bb[3], tt[3]])</p>\r
-\r
-<p class="whs6">ff[5] = aMeshEditor.AddFace([bb[2], \r
- tt[3], tt[2]])</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs8"># inverse the diagonal \r
- bb[1] - tt[2]</p>\r
-\r
-<p class="whs6">print &quot;\nDiagonal \r
- inversion ... &quot;,</p>\r
-\r
-<p class="whs6">res = aMeshEditor.InverseDiag(bb[1], \r
- tt[2])</p>\r
-\r
-<p class="whs6">if not res: print \r
- &quot;failed!&quot;</p>\r
-\r
-<p class="whs6">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;done.&quot;</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark5>Uniting two Triangles</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to unite two triangles. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">import smesh</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p># create an empty mesh structure</p>\r
-\r
-<p class="whs9">gen = smesh.smesh</p>\r
-\r
-<p class="whs9">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p># create the following mesh:</p>\r
-\r
-<p class="whs9"># .----.----.----.</p>\r
-\r
-<p class="whs9"># | &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/|</p>\r
-\r
-<p class="whs9"># | &nbsp;/ \r
- | &nbsp;/ | &nbsp;/ \r
- |</p>\r
-\r
-<p class="whs9"># | / &nbsp;| \r
- / &nbsp;| / &nbsp;|</p>\r
-\r
-<p class="whs9"># |/ &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|</p>\r
-\r
-<p class="whs9"># .----.----.----.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs9">bb = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs9">tt = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs9">ff = [0, 0, 0, 0, \r
- 0, 0]</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">bb[0] = aMeshEditor.AddNode( \r
- 0., 0., 0.)</p>\r
-\r
-<p class="whs9">bb[1] = aMeshEditor.AddNode(10., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">bb[2] = aMeshEditor.AddNode(20., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">bb[3] = aMeshEditor.AddNode(30., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">tt[0] = aMeshEditor.AddNode( \r
- 0., 15., 0.)</p>\r
-\r
-<p class="whs9">tt[1] = aMeshEditor.AddNode(10., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">tt[2] = aMeshEditor.AddNode(20., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">tt[3] = aMeshEditor.AddNode(30., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">ff[0] = aMeshEditor.AddFace([bb[0], \r
- bb[1], tt[1]])</p>\r
-\r
-<p class="whs9">ff[1] = aMeshEditor.AddFace([bb[0], \r
- tt[1], tt[0]])</p>\r
-\r
-<p class="whs9">ff[2] = aMeshEditor.AddFace([bb[1], \r
- bb[2], tt[2]])</p>\r
-\r
-<p class="whs9">ff[3] = aMeshEditor.AddFace([bb[1], \r
- tt[2], tt[1]])</p>\r
-\r
-<p class="whs9">ff[4] = aMeshEditor.AddFace([bb[2], \r
- bb[3], tt[3]])</p>\r
-\r
-<p class="whs9">ff[5] = aMeshEditor.AddFace([bb[2], \r
- tt[3], tt[2]])</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p># delete the diagonal bb[1] - tt[2]</p>\r
-\r
-<p class="whs9">print &quot;\nUnite \r
- two triangles ... &quot;,</p>\r
-\r
-<p class="whs9">res = aMeshEditor.DeleteDiag(bb[1], \r
- tt[2])</p>\r
-\r
-<p class="whs9">if not res: print \r
- &quot;failed!&quot;</p>\r
-\r
-<p class="whs9">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;done.&quot;</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark6>Uniting a Set of Triangles</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to unite a set of triangles. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">import smesh</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create an empty mesh \r
- structure</p>\r
-\r
-<p class="whs9">gen = smesh.smesh</p>\r
-\r
-<p class="whs9">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create the following \r
- mesh:</p>\r
-\r
-<p class="whs9"># .----.----.----.</p>\r
-\r
-<p class="whs9"># | &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/| \r
- &nbsp;&nbsp;/|</p>\r
-\r
-<p class="whs9"># | &nbsp;/ \r
- | &nbsp;/ | &nbsp;/ \r
- |</p>\r
-\r
-<p class="whs9"># | / &nbsp;| \r
- / &nbsp;| / &nbsp;|</p>\r
-\r
-<p class="whs9"># |/ &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|/ \r
- &nbsp;&nbsp;|</p>\r
-\r
-<p class="whs9"># .----.----.----.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">bb = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs9">tt = [0, 0, 0, 0]</p>\r
-\r
-<p class="whs9">ff = [0, 0, 0, 0, \r
- 0, 0]</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">bb[0] = aMeshEditor.AddNode( \r
- 0., 0., 0.)</p>\r
-\r
-<p class="whs9">bb[1] = aMeshEditor.AddNode(10., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">bb[2] = aMeshEditor.AddNode(20., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">bb[3] = aMeshEditor.AddNode(30., \r
- 0., 0.)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">tt[0] = aMeshEditor.AddNode( \r
- 0., 15., 0.)</p>\r
-\r
-<p class="whs9">tt[1] = aMeshEditor.AddNode(10., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">tt[2] = aMeshEditor.AddNode(20., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">tt[3] = aMeshEditor.AddNode(30., \r
- 15., 0.)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">ff[0] = aMeshEditor.AddFace([bb[0], \r
- bb[1], tt[1]])</p>\r
-\r
-<p class="whs9">ff[1] = aMeshEditor.AddFace([bb[0], \r
- tt[1], tt[0]])</p>\r
-\r
-<p class="whs9">ff[2] = aMeshEditor.AddFace([bb[1], \r
- bb[2], tt[2]])</p>\r
-\r
-<p class="whs9">ff[3] = aMeshEditor.AddFace([bb[1], \r
- tt[2], tt[1]])</p>\r
-\r
-<p class="whs9">ff[4] = aMeshEditor.AddFace([bb[2], \r
- bb[3], tt[3]])</p>\r
-\r
-<p class="whs9">ff[5] = aMeshEditor.AddFace([bb[2], \r
- tt[3], tt[2]])</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># unite a set of triangles</p>\r
-\r
-<p class="whs9">aFilterMgr = smesh.smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs9">aFunctor = aFilterMgr.CreateMinimumAngle()</p>\r
-\r
-<p class="whs9">print &quot;\nUnite \r
- a set of triangles ... &quot;,</p>\r
-\r
-<p class="whs9">res = aMeshEditor.TriToQuad([ff[2], \r
- ff[3], ff[4], ff[5]], aFunctor, 60.)</p>\r
-\r
-<p class="whs9">if not res: print \r
- &quot;failed!&quot;</p>\r
-\r
-<p class="whs9">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;done.&quot;</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<h3><a name=bookmark12>Orientation</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to change orientation. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">import smesh</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># SMESH module</p>\r
-\r
-<p class="whs9">gen = smesh.smesh</p>\r
-\r
-<p class="whs9">mesh = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs9">MeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># build five quadrangles:</p>\r
-\r
-<p class="whs9">dx = 10</p>\r
-\r
-<p class="whs9">dy = 20</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">n1 &nbsp;= \r
- MeshEditor.AddNode(0.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n2 &nbsp;= \r
- MeshEditor.AddNode(1.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n3 &nbsp;= \r
- MeshEditor.AddNode(2.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n4 &nbsp;= \r
- MeshEditor.AddNode(3.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n5 &nbsp;= \r
- MeshEditor.AddNode(4.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n6 &nbsp;= \r
- MeshEditor.AddNode(5.0 * dx, 0, 0)</p>\r
-\r
-<p class="whs9">n7 &nbsp;= \r
- MeshEditor.AddNode(0.0 * dx, dy, 0)</p>\r
-\r
-<p class="whs9">n8 &nbsp;= \r
- MeshEditor.AddNode(1.0 * dx, dy, 0)</p>\r
-\r
-<p class="whs9">n9 &nbsp;= \r
- MeshEditor.AddNode(2.0 * dx, dy, 0)</p>\r
-\r
-<p class="whs9">n10 = MeshEditor.AddNode(3.0 \r
- * dx, dy, 0)</p>\r
-\r
-<p class="whs9">n11 = MeshEditor.AddNode(4.0 \r
- * dx, dy, 0)</p>\r
-\r
-<p class="whs9">n12 = MeshEditor.AddNode(5.0 \r
- * dx, dy, 0)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">f1 = MeshEditor.AddFace([n1, \r
- n2, n8 , n7 ])</p>\r
-\r
-<p class="whs9">f2 = MeshEditor.AddFace([n2, \r
- n3, n9 , n8 ])</p>\r
-\r
-<p class="whs9">f3 = MeshEditor.AddFace([n3, \r
- n4, n10, n9 ])</p>\r
-\r
-<p class="whs9">f4 = MeshEditor.AddFace([n4, \r
- n5, n11, n10])</p>\r
-\r
-<p class="whs9">f5 = MeshEditor.AddFace([n5, \r
- n6, n12, n11])</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># Change the orientation \r
- of the second and the fourth faces.</p>\r
-\r
-<p class="whs9">MeshEditor.Reorient([2, \r
- 4])</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<h3><a name=bookmark7>Cutting Quadrangles</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to cut quadrangles. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import SMESH</p>\r
-\r
-<p class="whs9">import SMESH_mechanic</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">smesh = SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs9">mesh &nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># cut two quadrangles: \r
- 405 and 406</p>\r
-\r
-<p class="whs9">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs9">aFunctor = aFilterMgr.CreateMinimumAngle()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">aMeshEditor.QuadToTri([405, \r
- 406], aFunctor) </p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<h3><a name=bookmark8>Smoothing</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to perform smoothing. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">import geompy</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import SMESH</p>\r
-\r
-<p class="whs9">import SMESH_mechanic</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># select the top face</p>\r
-\r
-<p class="whs9">faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs9">face = faces[3]</p>\r
-\r
-<p class="whs9">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
- face, &quot;face planar with hole&quot;)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create a group of faces \r
- to be smoothed</p>\r
-\r
-<p class="whs9">GroupSmooth = mesh.CreateGroupFromGEOM(SMESH.FACE, \r
- &quot;Group of faces (smooth)&quot;, face)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># perform smoothing</p>\r
-\r
-<p class="whs10"># boolean SmoothObject(Object, \r
- IDsOfFixedNodes, MaxNbOfIterations, MaxAspectRatio, Method)</p>\r
-\r
-<p class="whs9">res = aMeshEditor.SmoothObject(GroupSmooth, \r
- [], 20, 2., SMESH.SMESH_MeshEditor.CENTROIDAL_SMOOTH)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">print &quot;\nSmoothing \r
- ... &quot;,</p>\r
-\r
-<p class="whs9">if not res: print \r
- &quot;failed!&quot;</p>\r
-\r
-<p class="whs9">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print \r
- &quot;done.&quot;</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<h3><a name=bookmark9>Extrusion</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to perform extrusion. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">import geompy</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import SMESH</p>\r
-\r
-<p class="whs9">import SMESH_mechanic</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># select the top face</p>\r
-\r
-<p class="whs9">faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs9">face = faces[7]</p>\r
-\r
-<p class="whs9">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
- face, &quot;face circular top&quot;)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create a vector for \r
- extrusion</p>\r
-\r
-<p class="whs9">point = SMESH.PointStruct(0., \r
- 0., 5.)</p>\r
-\r
-<p class="whs9">vector = SMESH.DirStruct(point)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create a group to be \r
- extruded</p>\r
-\r
-<p class="whs9">GroupTri = mesh.CreateGroupFromGEOM(SMESH.FACE, \r
- &quot;Group of faces (extrusion)&quot;, face)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># perform extrusion of \r
- the group</p>\r
-\r
-<p class="whs9">aMeshEditor.ExtrusionSweepObject(GroupTri, \r
- vector, 5)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark10>Extrusion along a Path</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to perform extrusion along a path. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import math</p>\r
-\r
-<p class="whs9">import salome</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># Geometry</p>\r
-\r
-<p class="whs9">import geompy</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 1. Create points</p>\r
-\r
-<p class="whs9">points = [[0, 0], \r
- [50, 30], [50, 110], [0, 150], [-80, 150], [-130, 70], [-130, -20]]</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">iv = 1</p>\r
-\r
-<p class="whs9">vertices = []</p>\r
-\r
-<p class="whs9">for point in points:</p>\r
-\r
-<p class="whs11">vert \r
- = geompy.MakeVertex(point[0], point[1], 0)</p>\r
-\r
-<p class="whs11">geompy.addToStudy(vert, \r
- &quot;Vertex_&quot; + `iv`)</p>\r
-\r
-<p class="whs11">vertices.append(vert)</p>\r
-\r
-<p class="whs11">iv \r
- += 1</p>\r
-\r
-<p class="whs11">pass</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 2. Create edges and \r
- wires</p>\r
-\r
-<p class="whs9">Edge_straight = geompy.MakeEdge(vertices[0], \r
- vertices[4])</p>\r
-\r
-<p class="whs9">Edge_bezierrr = geompy.MakeBezier(vertices)</p>\r
-\r
-<p class="whs9">Wire_polyline = geompy.MakePolyline(vertices)</p>\r
-\r
-<p class="whs9">Edge_Circle &nbsp;&nbsp;= \r
- geompy.MakeCircleThreePnt(vertices[0], vertices[1], vertices[2])</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">geompy.addToStudy(Edge_straight, \r
- &quot;Edge_straight&quot;)</p>\r
-\r
-<p class="whs9">geompy.addToStudy(Edge_bezierrr, \r
- &quot;Edge_bezierrr&quot;)</p>\r
-\r
-<p class="whs9">geompy.addToStudy(Wire_polyline, \r
- &quot;Wire_polyline&quot;)</p>\r
-\r
-<p class="whs9">geompy.addToStudy(Edge_Circle \r
- &nbsp;, &quot;Edge_Circle&quot;)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 3. Explode wire on \r
- edges, as they will be used for mesh extrusion</p>\r
-\r
-<p class="whs9">Wire_polyline_edges \r
- = geompy.SubShapeAll(Wire_polyline, geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs9">for ii in range(len(Wire_polyline_edges)):</p>\r
-\r
-<p class="whs11">geompy.addToStudyInFather(Wire_polyline, \r
- Wire_polyline_edges[ii], &quot;Edge_&quot; + `ii + 1`)</p>\r
-\r
-<p class="whs11">pass</p>\r
-\r
-<p class="whs12">&nbsp;</p>\r
-\r
-<p class="whs10"># Mesh</p>\r
-\r
-<p class="whs9">import smesh</p>\r
-\r
-<p class="whs9">import SMESH</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">gen = smesh.smesh</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">smeshgui = salome.ImportComponentGUI(&quot;SMESH&quot;)</p>\r
-\r
-<p class="whs9">smeshgui.Init(salome.myStudyId)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 1D algorithm and three \r
- 1D hypotheses</p>\r
-\r
-<p class="whs9">Wire_discretisation \r
- = gen.CreateHypothesis('Regular_1D', 'libStdMeshersEngine.so')</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">Nb_Segments_3 = gen.CreateHypothesis('NumberOfSegments', \r
- 'libStdMeshersEngine.so')</p>\r
-\r
-<p class="whs9">Nb_Segments_7 = gen.CreateHypothesis('NumberOfSegments', \r
- 'libStdMeshersEngine.so')</p>\r
-\r
-<p class="whs9">Nb_Segments_8 = gen.CreateHypothesis('NumberOfSegments', \r
- 'libStdMeshersEngine.so')</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">Nb_Segments_3.SetNumberOfSegments(3)</p>\r
-\r
-<p class="whs9">Nb_Segments_7.SetNumberOfSegments(7)</p>\r
-\r
-<p class="whs9">Nb_Segments_8.SetNumberOfSegments(8)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># Mesh given shape with \r
- given 1d hypothesis</p>\r
-\r
-<p class="whs9">def Mesh1D(shape1d, \r
- hyp1d, name):</p>\r
-\r
-<p class="whs11">mesh1d_tool \r
- = smesh.Mesh(shape1d)</p>\r
-\r
-<p class="whs11">mesh1d \r
- = mesh1d_tool.GetMesh()</p>\r
-\r
-<p class="whs11">status \r
- = mesh1d.AddHypothesis(shape1d, hyp1d)</p>\r
-\r
-<p class="whs11">status \r
- = mesh1d.AddHypothesis(shape1d, Wire_discretisation)</p>\r
-\r
-<p class="whs11">isDone \r
- = mesh1d_tool.Compute()</p>\r
-\r
-<p class="whs11">if \r
- not isDone: print 'Mesh ', name, ': computation failed'</p>\r
-\r
-<p class="whs11">return \r
- mesh1d</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># Create a mesh with \r
- six nodes, seven edges and two quadrangle faces</p>\r
-\r
-<p class="whs9">def MakeQuadMesh2(mesh_name):</p>\r
-\r
-<p class="whs11">quad_1 \r
- = gen.CreateEmptyMesh()</p>\r
-\r
-<p class="whs11">smeshgui.SetName(salome.ObjectToID(quad_1), \r
- mesh_name)</p>\r
-\r
-<p class="whs11">editor_1 \r
- = quad_1.GetMeshEditor()</p>\r
-\r
-<p class="whs12">&nbsp;</p>\r
-\r
-<p class="whs12"># six nodes</p>\r
-\r
-<p class="whs11">n1 \r
- = editor_1.AddNode(0, 20, 10)</p>\r
-\r
-<p class="whs11">n2 \r
- = editor_1.AddNode(0, 40, 10)</p>\r
-\r
-<p class="whs11">n3 \r
- = editor_1.AddNode(0, 40, 30)</p>\r
-\r
-<p class="whs11">n4 \r
- = editor_1.AddNode(0, 20, 30)</p>\r
-\r
-<p class="whs11">n5 \r
- = editor_1.AddNode(0, &nbsp;0, \r
- 30)</p>\r
-\r
-<p class="whs11">n6 \r
- = editor_1.AddNode(0, &nbsp;0, \r
- 10)</p>\r
-\r
-<p class="whs12">&nbsp;</p>\r
-\r
-<p class="whs12"># seven edges</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n1, \r
- n2]) # 1</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n2, \r
- n3]) # 2</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n3, \r
- n4]) # 3</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n4, \r
- n1]) # 4</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n4, \r
- n5]) # 5</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n5, \r
- n6]) # 6</p>\r
-\r
-<p class="whs11">editor_1.AddEdge([n6, \r
- n1]) # 7</p>\r
-\r
-<p class="whs12">&nbsp;</p>\r
-\r
-<p class="whs12"># two quadrangle faces</p>\r
-\r
-<p class="whs11">editor_1.AddFace([n1, \r
- n2, n3, n4]) # 8</p>\r
-\r
-<p class="whs11">editor_1.AddFace([n1, \r
- n4, n5, n6]) # 9</p>\r
-\r
-<p class="whs11">return \r
- [quad_1, editor_1, [1,2,3,4,5,6,7], [8,9]]</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># Path meshes</p>\r
-\r
-<p class="whs9">Edge_straight_mesh \r
- = Mesh1D(Edge_straight, Nb_Segments_7, &quot;Edge_straight&quot;)</p>\r
-\r
-<p class="whs9">Edge_bezierrr_mesh \r
- = Mesh1D(Edge_bezierrr, Nb_Segments_7, &quot;Edge_bezierrr&quot;)</p>\r
-\r
-<p class="whs9">Wire_polyline_mesh \r
- = Mesh1D(Wire_polyline, Nb_Segments_3, &quot;Wire_polyline&quot;)</p>\r
-\r
-<p class="whs9">Edge_Circle_mesh &nbsp;&nbsp;= \r
- Mesh1D(Edge_Circle &nbsp;, \r
- Nb_Segments_8, &quot;Edge_Circle&quot;)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># Initial meshes (to \r
- be extruded)</p>\r
-\r
-<p class="whs9">[quad_1, editor_1, \r
- ee_1, ff_1] = MakeQuadMesh2(&quot;quad_1&quot;)</p>\r
-\r
-<p class="whs9">[quad_2, editor_2, \r
- ee_2, ff_2] = MakeQuadMesh2(&quot;quad_2&quot;)</p>\r
-\r
-<p class="whs9">[quad_3, editor_3, \r
- ee_3, ff_3] = MakeQuadMesh2(&quot;quad_3&quot;)</p>\r
-\r
-<p class="whs9">[quad_4, editor_4, \r
- ee_4, ff_4] = MakeQuadMesh2(&quot;quad_4&quot;)</p>\r
-\r
-<p class="whs9">[quad_5, editor_5, \r
- ee_5, ff_5] = MakeQuadMesh2(&quot;quad_5&quot;)</p>\r
-\r
-<p class="whs9">[quad_6, editor_6, \r
- ee_6, ff_6] = MakeQuadMesh2(&quot;quad_6&quot;)</p>\r
-\r
-<p class="whs9">[quad_7, editor_7, \r
- ee_7, ff_7] = MakeQuadMesh2(&quot;quad_7&quot;)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># ExtrusionAlongPath</p>\r
-\r
-<p class="whs10"># IDsOfElements, PathMesh, \r
- PathShape, NodeStart,</p>\r
-\r
-<p class="whs10"># HasAngles, Angles, \r
- HasRefPoint, RefPoint</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs9">refPoint = SMESH.PointStruct(0, \r
- 0, 0)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">a10 = 10.0*math.pi/180.0</p>\r
-\r
-<p class="whs9">a45 = 45.0*math.pi/180.0</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 1. Extrusion of two \r
- mesh edges along a straight path</p>\r
-\r
-<p class="whs9">error = editor_1.ExtrusionAlongPath([1,2], \r
- Edge_straight_mesh, Edge_straight, 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;0, \r
- [], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 2. Extrusion of one \r
- mesh edge along a curved path</p>\r
-\r
-<p class="whs9">error = editor_2.ExtrusionAlongPath([2], \r
- Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;0, \r
- [], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 3. Extrusion of one \r
- mesh edge along a curved path with usage of angles </p>\r
-\r
-<p class="whs9">error = editor_3.ExtrusionAlongPath([2], \r
- Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;1, \r
- [a45, a45, a45, 0, -a45, -a45, -a45], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 4. Extrusion of one \r
- mesh edge along the path, which is a part of a meshed wire</p>\r
-\r
-<p class="whs9">error = editor_4.ExtrusionAlongPath([4], \r
- Wire_polyline_mesh, Wire_polyline_edges[0], 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;1, \r
- [a10, a10, a10], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 5. Extrusion of two \r
- mesh faces along the path, which is a part of a meshed wire</p>\r
-\r
-<p class="whs9">error = editor_5.ExtrusionAlongPath(ff_5 \r
- , Wire_polyline_mesh, Wire_polyline_edges[2], 4,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;0, \r
- [], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 6. Extrusion of two \r
- mesh faces along a closed path</p>\r
-\r
-<p class="whs9">error = editor_6.ExtrusionAlongPath(ff_6 \r
- , Edge_Circle_mesh, Edge_Circle, 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;0, \r
- [], 0, refPoint)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># 7. Extrusion of two \r
- mesh faces along a closed path with usage of angles </p>\r
-\r
-<p class="whs9">error = editor_7.ExtrusionAlongPath(ff_7, \r
- Edge_Circle_mesh, Edge_Circle, 1,</p>\r
-\r
-<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;1, \r
- [a45, -a45, a45, -a45, a45, -a45, a45, -a45], 0, refPoint</p>\r
-\r
-<p class="whs13">&nbsp;</p>\r
-\r
-<p class="whs14">salome.sg.updateObjBrowser(1)</p>\r
-\r
-<h3><a name=bookmark11>Revolution</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to perform revolution. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs9">import math</p>\r
-\r
-<p class="whs9">import SMESH</p>\r
-\r
-<p class="whs9">import SMESH_mechanic</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs9">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create a group of faces \r
- to be revolved</p>\r
-\r
-<p class="whs9">FacesRotate = [492, \r
- 493, 502, 503]</p>\r
-\r
-<p class="whs9">GroupRotate = mesh.CreateGroup(SMESH.FACE,&quot;Group \r
- of faces (rotate)&quot;)</p>\r
-\r
-<p class="whs9">GroupRotate.Add(FacesRotate)</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<p class="whs10"># define revolution angle \r
- and axis</p>\r
-\r
-<p class="whs9">angle45 = 45 * math.pi \r
- / 180</p>\r
-\r
-<p class="whs9">axisXYZ = SMESH.AxisStruct(-38.3128, \r
- -73.3658, -23.321, -13.3402, -13.3265, 6.66632)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># perform revolution \r
- of an object</p>\r
-\r
-<p class="whs9">aMeshEditor.RotationSweepObject(GroupRotate, \r
- axisXYZ, angle45, 4, 1e-5) </p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<h3><a name=bookmark13>Pattern Mapping</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to perform pattern mapping. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">import geompy</p>\r
-\r
-<p class="whs9">import smesh</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># define the geometry</p>\r
-\r
-<p class="whs9">Box_1 = geompy.MakeBoxDXDYDZ(200., \r
- 200., 200.)</p>\r
-\r
-<p class="whs9">geompy.addToStudy(Box_1, \r
- &quot;Box_1&quot;)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">faces = geompy.SubShapeAll(Box_1, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs9">Face_1 = faces[0]</p>\r
-\r
-<p class="whs9">Face_2 = faces[1]</p>\r
-\r
-<p class="whs9">geompy.addToStudyInFather(Box_1, \r
- Face_1, &quot;Face_1&quot;)</p>\r
-\r
-<p class="whs9">geompy.addToStudyInFather(Box_1, \r
- Face_2, &quot;Face_2&quot;)</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># build a quadrangle \r
- mesh 3x3 on Face_1</p>\r
-\r
-<p class="whs9">Mesh_1 = smesh.Mesh(Face_1)</p>\r
-\r
-<p class="whs9">algo1D = Mesh_1.Segment()</p>\r
-\r
-<p class="whs9">algo1D.NumberOfSegments(3)</p>\r
-\r
-<p class="whs9">Mesh_1.Quadrangle()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs9">isDone = Mesh_1.Compute()</p>\r
-\r
-<p class="whs9">if not isDone: print \r
- 'Mesh Mesh_1 : computation failed'</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># build a triangle mesh \r
- on Face_2</p>\r
-\r
-<p class="whs9">Mesh_2 = smesh.Mesh(Face_2)</p>\r
-\r
-<p class="whs9">algo1D = Mesh_2.Segment()</p>\r
-\r
-<p class="whs9">algo1D.NumberOfSegments(1)</p>\r
-\r
-<p class="whs9">algo2D = Mesh_2.Triangle()</p>\r
-\r
-<p class="whs9">algo2D.MaxElementArea(240)</p>\r
-\r
-<p class="whs9">isDone = Mesh_2.Compute()</p>\r
-\r
-<p class="whs9">if not isDone: print \r
- 'Mesh Mesh_2 : computation failed'</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># create a pattern</p>\r
-\r
-<p class="whs9">pattern = smesh.smesh.GetPattern()</p>\r
-\r
-<p class="whs9">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), \r
- Face_2, 0)</p>\r
-\r
-<p class="whs9">if (isDone != 1): \r
- print 'LoadFromFace :', pattern.GetErrorCode()</p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10"># apply the pattern to \r
- a face of the first mesh</p>\r
-\r
-<p class="whs9">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), \r
- [17], 0, 0)</p>\r
-\r
-<p class="whs9">isDone = pattern.MakeMesh(Mesh_1.GetMesh(), \r
- 0, 0)</p>\r
-\r
-<p class="whs9">if (isDone != 1): \r
- print 'MakeMesh :', pattern.GetErrorCode() </p>\r
-\r
-<p class="whs9">&nbsp;</p>\r
-\r
-<p class="whs10">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Modifying Meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>
+<!--
+P { margin-top:0pt; margin-bottom:0pt; }
+LI.kadov-P {  }
+-->
+</style><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs3 { margin-top:0pt; margin-bottom:0pt; }
+h4.whs4 { margin-top:0pt; margin-bottom:0pt; }
+p.whs5 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs6 { margin-top:0.5pt; margin-bottom:0pt; }
+p.whs7 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs8 { font-family:'Lucida Console' , monospace; }
+p.whs9 { font-family:'Times New Roman' , serif; }
+p.whs10 { margin-left:36px; font-family:'Lucida Console' , monospace; }
+p.whs11 { margin-left:36px; }
+p.whs12 { margin-left:0px; font-family:'Times New Roman' , serif; }
+p.whs13 { font-family:'Lucida Console' , monospace; margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "h4.whs4 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs12 {margin-left:1pt; }";
+  strNSS += "p.whs13 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nModifying Meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Modifying Meshes</h1>
+
+<h3><a name=bookmark>Adding Nodes and Elements</a></h3>
+
+<h4>Add Node</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add node</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">new_id 
+ = mesh.AddNode(50, 10, 0)</span></p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">if new_id == 0: 
+ print &quot;KO node addition.&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Node has been added with ID &quot;, new_id &nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<h4>Add Edge</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add node</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">n1 
+ = mesh.AddNode(50, 10, 0)</span></p>
+
+<p class="whs1">if n1 == 0: print 
+ &quot;KO node addition.&quot; </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add edge</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">e1 
+ = mesh.AddEdge([n1, 38])</span></p>
+
+<p class="whs1">if e1 == 0: print 
+ &quot;KO edge addition.&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Edge has been added with ID &quot;, e1 </p>
+
+<h4>Add Triangle</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add node</p>
+
+<p class="whs1">n1 = mesh.AddNode(50, 
+ 10, 0)</p>
+
+<p class="whs1">if n1 == 0: print 
+ &quot;KO node addition.&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add triangle</p>
+
+<p class="whs1">t1 = mesh.AddFace([n1, 
+ 38, 39])</p>
+
+<p class="whs1">if t1 == 0: print 
+ &quot;KO triangle addition.&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Triangle has been added with ID &quot;, t1 </p>
+
+<h4>Add Quadrangle</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"># add node</p>
+
+<p class="whs1">n1 = mesh.AddNode(50, 
+ 10, 0)</p>
+
+<p class="whs1">if n1 == 0: print 
+ &quot;KO node addition.&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">n2 = mesh.AddNode(40, 
+ 20, 0)</p>
+
+<p class="whs1">if n2 == 0: print 
+ &quot;KO node addition.&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># add quadrangle</p>
+
+<p class="whs1">q1 = mesh.AddFace([n2, 
+ n1, 38, 39])</p>
+
+<p class="whs1">if q1 == 0: print 
+ &quot;KO quadrangle addition.&quot;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">else: 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Quadrangle has been added with ID &quot;, q1</span> </p>
+
+<h4>Add Tetrahedron</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add node</p>
+
+<p class="whs1">n1 = mesh.AddNode(50, 
+ 10, 0)</p>
+
+<p class="whs1">if n1 == 0: print 
+ &quot;KO node addition.&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add tetrahedron</p>
+
+<p class="whs1">t1 = mesh.AddVolume([n1, 
+ 38, 39, 246])</p>
+
+<p class="whs1">if t1 == 0: print 
+ &quot;KO tetrahedron addition.&quot;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">else: 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Tetrahedron has been added with ID &quot;, t1</span> </p>
+
+<h4>Add Hexahedron</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add nodes</p>
+
+<p class="whs1">nId1 = mesh.AddNode(50, 
+ 10, 0)</p>
+
+<p class="whs1">nId2 = mesh.AddNode(47, 
+ 12, 0)</p>
+
+<p class="whs1">nId3 = mesh.AddNode(50, 
+ 10, 10)</p>
+
+<p class="whs1">nId4 = mesh.AddNode(47, 
+ 12, 10)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">if nId1 == 0 or 
+ nId2 == 0 or nId3 == 0 or nId4 == 0: print &quot;KO node addition.&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># add hexahedron</p>
+
+<p class="whs1">vId = mesh.AddVolume([nId2, 
+ nId1, 38, 39, nId4, nId3, 245, 246])</p>
+
+<p class="whs1">if vId == 0: print 
+ &quot;KO Hexahedron addition.&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;New Hexahedron has been added with ID &quot;, vId </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h4>Add Polygon</h4>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import 
+ math</span></p>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create an empty mesh 
+ structure</p>
+
+<p class="whs1">mesh = smesh.Mesh() 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># a method to build 
+ a polygonal mesh element with &lt;nb_vert&gt; angles:</p>
+
+<p class="whs1">def MakePolygon 
+ (a_mesh, x0, y0, z0, radius, nb_vert):</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;al 
+ = 2.0 * math.pi / nb_vert</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;node_ids 
+ = []</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 
+ Create nodes for a polygon</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;for 
+ ii in range(nb_vert):</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nid 
+ = mesh.AddNode(x0 + radius * math.cos(ii*al),</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y0 
+ + radius * math.sin(ii*al),</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z0)</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_ids.append(nid)</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 
+ Create a polygon</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;return 
+ mesh.AddPolygonalFace(node_ids)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Create three polygons</p>
+
+<p class="whs1">f1 = MakePolygon(mesh, 
+ 0, 0, &nbsp;0, 
+ 30, 13)</p>
+
+<p class="whs1">f2 = MakePolygon(mesh, 
+ 0, 0, 10, 21, &nbsp;9)</p>
+
+<p class="whs1">f3 = MakePolygon(mesh, 
+ 0, 0, 20, 13, &nbsp;6)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<h4>Add Polyhedron</h4>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import 
+ salome</span></p>
+
+<p class="whs1">import math</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create an empty mesh 
+ structure</p>
+
+<p class="whs1">mesh = smesh.Mesh() 
+ &nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Create nodes for 
+ 12-hedron with pentagonal faces</p>
+
+<p class="whs1">al = 2 * math.pi 
+ / 5.0</p>
+
+<p class="whs1">cosal = math.cos(al)</p>
+
+<p class="whs1">aa = 13</p>
+
+<p class="whs1">rr = aa / (2.0 * 
+ math.sin(al/2.0))</p>
+
+<p class="whs1">dr = 2.0 * rr * 
+ cosal</p>
+
+<p class="whs1">r1 = rr + dr</p>
+
+<p class="whs1">dh = rr * math.sqrt(2.0 
+ * (1.0 - cosal * (1.0 + 2.0 * cosal)))</p>
+
+<p class="whs1">hh = 2.0 * dh - 
+ dr * (rr*(cosal - 1) + (rr + dr)*(math.cos(al/2) - 1)) / dh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">dd = [] <span style="font-family: 'Times New Roman', serif;"># 
+ top</span></p>
+
+<p class="whs1">cc = [] <span style="font-family: 'Times New Roman', serif;"># 
+ below top</span></p>
+
+<p class="whs1">bb = [] <span style="font-family: 'Times New Roman', serif;"># 
+ above bottom</span></p>
+
+<p class="whs1">aa = [] <span style="font-family: 'Times New Roman', serif;"># 
+ bottom</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">for i in range(5):</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;cos_bot 
+ = math.cos(i*al)</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;sin_bot 
+ = math.sin(i*al)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;<span 
+ style="margin-top: 0pt;
+               margin-bottom: 0pt;
+               font-family: 'Lucida Console', monospace;">cos_top 
+ = math.cos(i*al + al/2.0)</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;sin_top 
+ = math.sin(i*al + al/2.0)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;nd 
+ = mesh.AddNode(rr * cos_top, rr * sin_top, hh &nbsp;&nbsp;&nbsp;&nbsp;) 
+ <span style="font-family: 'Times New Roman', serif;"># top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;nc 
+ = mesh.AddNode(r1 * cos_top, r1 * sin_top, hh - dh) <span style="font-family: 'Times New Roman', serif;"># 
+ below top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;nb 
+ = mesh.AddNode(r1 * cos_bot, r1 * sin_bot, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dh) 
+ <span style="font-family: 'Times New Roman', serif;"># above bottom</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;na 
+ = mesh.AddNode(rr * cos_bot, rr * sin_bot, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0) 
+ <span style="font-family: 'Times New Roman', serif;"># bottom</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;dd.append(nd) 
+ <span style="font-family: 'Times New Roman', serif;"># top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;cc.append(nc) 
+ <span style="font-family: 'Times New Roman', serif;"># below top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;bb.append(nb) 
+ <span style="font-family: 'Times New Roman', serif;"># above bottom</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;aa.append(na) 
+ <span style="font-family: 'Times New Roman', serif;"># bottom</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;pass</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># Create a polyhedral 
+ volume (12-hedron with pentagonal faces)</p>
+
+<p class="whs1">MeshEditor.AddPolyhedralVolume([dd[0], 
+ dd[1], dd[2], dd[3], dd[4], &nbsp;<span style="font-family: 'Times New Roman', serif;"># 
+ top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[0], 
+ cc[0], bb[1], cc[1], dd[1], &nbsp;# 
+ -</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[1], 
+ cc[1], bb[2], cc[2], dd[2], &nbsp;# 
+ -</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[2], 
+ cc[2], bb[3], cc[3], dd[3], &nbsp;<span style="font-family: 'Times New Roman', serif;"># 
+ - below top</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[3], 
+ cc[3], bb[4], cc[4], dd[4], &nbsp;# 
+ -</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dd[4], 
+ cc[4], bb[0], cc[0], dd[0], &nbsp;# 
+ -</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[4], 
+ bb[4], cc[4], bb[0], aa[0], &nbsp;# 
+ .</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[3], 
+ bb[3], cc[3], bb[4], aa[4], &nbsp;# 
+ .</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[2], 
+ bb[2], cc[2], bb[3], aa[3], &nbsp;<span style="font-family: 'Times New Roman', serif;"># 
+ . above bottom</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[1], 
+ bb[1], cc[1], bb[2], aa[2], &nbsp;# 
+ .</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[0], 
+ bb[0], cc[0], bb[1], aa[1], &nbsp;# 
+ .</p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aa[0], 
+ aa[1], aa[2], aa[3], aa[4]], <span style="font-family: 'Times New Roman', serif;"># 
+ bottom</span></p>
+
+<p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[5,5,5,5,5,5,5,5,5,5,5,5])</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark1>Removing Nodes and Elements</a></h3>
+
+<h4 class="whs4">Removing Nodes</h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import 
+ SMESH_mechanic</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># remove nodes #246 
+ and #255</p>
+
+<p class="whs1">res = mesh.RemoveNodes([246, 
+ 255])</p>
+
+<p class="whs1">if res == 1: print 
+ &quot;Nodes removing is OK!&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;KO nodes removing.&quot; </p>
+
+<p class="whs3">&nbsp;</p>
+
+<h4>Removing Elements</h4>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># remove three elements: 
+ #850, #859 and #814</p>
+
+<p class="whs1">res = mesh.RemoveElements([850, 
+ 859, 814])</p>
+
+<p class="whs1">if res == 1: print 
+ &quot;Elements removing is OK!&quot;</p>
+
+<p class="whs1">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;KO Elements removing.&quot; &nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark2>Renumbering Nodes and Elements</a></h3>
+
+<p class="whs5">import SMESH_mechanic</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><span style="font-family: 'Lucida Console', monospace;">mesh.RenumberNodes()</span> 
+ </p>
+
+<h3><a name=bookmark3>Moving Nodes</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"># move node #38</p>
+
+<p class="whs1">mesh.MoveNode(38, 
+ 20., 10., 0.) </p>
+
+<p class="whs3">&nbsp;</p>
+
+<h3><a name=bookmark4>Diagonal Inversion</a></h3>
+
+<p class="whs5">import salome</p>
+
+<p class="whs5">import smesh</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs7"># create an empty mesh 
+ structure</p>
+
+<p class="whs5">mesh = smesh.Mesh() 
+ </p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs7"># create the following 
+ mesh:</p>
+
+<p class="whs5"># .----.----.----.</p>
+
+<p class="whs5"># | &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/|</p>
+
+<p class="whs5"># | &nbsp;/ 
+ | &nbsp;/ | &nbsp;/ 
+ |</p>
+
+<p class="whs5"># | / &nbsp;| 
+ / &nbsp;| / &nbsp;|</p>
+
+<p class="whs5"># |/ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|</p>
+
+<p class="whs5"># .----.----.----.</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">bb = [0, 0, 0, 0]</p>
+
+<p class="whs5">tt = [0, 0, 0, 0]</p>
+
+<p class="whs5">ff = [0, 0, 0, 0, 
+ 0, 0]</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">bb[0] = mesh.AddNode( 
+ 0., 0., 0.)</p>
+
+<p class="whs5">bb[1] = mesh.AddNode(10., 
+ 0., 0.)</p>
+
+<p class="whs5">bb[2] = mesh.AddNode(20., 
+ 0., 0.)</p>
+
+<p class="whs5">bb[3] = mesh.AddNode(30., 
+ 0., 0.)</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">tt[0] = mesh.AddNode( 
+ 0., 15., 0.)</p>
+
+<p class="whs5">tt[1] = mesh.AddNode(10., 
+ 15., 0.)</p>
+
+<p class="whs5">tt[2] = mesh.AddNode(20., 
+ 15., 0.)</p>
+
+<p class="whs5">tt[3] = mesh.AddNode(30., 
+ 15., 0.)</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">ff[0] = mesh.AddFace([bb[0], 
+ bb[1], tt[1]])</p>
+
+<p class="whs5">ff[1] = mesh.AddFace([bb[0], 
+ tt[1], tt[0]])</p>
+
+<p class="whs5">ff[2] = mesh.AddFace([bb[1], 
+ bb[2], tt[2]])</p>
+
+<p class="whs5">ff[3] = mesh.AddFace([bb[1], 
+ tt[2], tt[1]])</p>
+
+<p class="whs5">ff[4] = mesh.AddFace([bb[2], 
+ bb[3], tt[3]])</p>
+
+<p class="whs5">ff[5] = mesh.AddFace([bb[2], 
+ tt[3], tt[2]])</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs7"># inverse the diagonal 
+ bb[1] - tt[2]</p>
+
+<p class="whs5">print &quot;\nDiagonal 
+ inversion ... &quot;,</p>
+
+<p class="whs5">res = mesh.InverseDiag(bb[1], 
+ tt[2])</p>
+
+<p class="whs5">if not res: print 
+ &quot;failed!&quot;</p>
+
+<p class="whs5">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;done.&quot;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<p class="whs6"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark5>Uniting two Triangles</a></h3>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">import smesh</p>
+
+<p>&nbsp;</p>
+
+<p># create an empty mesh structure</p>
+
+<p class="whs8">mesh = smesh.Mesh() 
+ </p>
+
+<p>&nbsp;</p>
+
+<p># create the following mesh:</p>
+
+<p class="whs8"># .----.----.----.</p>
+
+<p class="whs8"># | &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/|</p>
+
+<p class="whs8"># | &nbsp;/ 
+ | &nbsp;/ | &nbsp;/ 
+ |</p>
+
+<p class="whs8"># | / &nbsp;| 
+ / &nbsp;| / &nbsp;|</p>
+
+<p class="whs8"># |/ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|</p>
+
+<p class="whs8"># .----.----.----.</p>
+
+<p>&nbsp;</p>
+
+<p class="whs8">bb = [0, 0, 0, 0]</p>
+
+<p class="whs8">tt = [0, 0, 0, 0]</p>
+
+<p class="whs8">ff = [0, 0, 0, 0, 
+ 0, 0]</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">bb[0] 
+ = mesh.AddNode( 0., 0., 0.)</span></p>
+
+<p class="whs8">bb[1] = mesh.AddNode(10., 
+ 0., 0.)</p>
+
+<p class="whs8">bb[2] = mesh.AddNode(20., 
+ 0., 0.)</p>
+
+<p class="whs8">bb[3] = mesh.AddNode(30., 
+ 0., 0.)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">tt[0] = mesh.AddNode( 
+ 0., 15., 0.)</p>
+
+<p class="whs8">tt[1] = mesh.AddNode(10., 
+ 15., 0.)</p>
+
+<p class="whs8">tt[2] = mesh.AddNode(20., 
+ 15., 0.)</p>
+
+<p class="whs8">tt[3] = mesh.AddNode(30., 
+ 15., 0.)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">ff[0] = mesh.AddFace([bb[0], 
+ bb[1], tt[1]])</p>
+
+<p class="whs8">ff[1] = mesh.AddFace([bb[0], 
+ tt[1], tt[0]])</p>
+
+<p class="whs8">ff[2] = mesh.AddFace([bb[1], 
+ bb[2], tt[2]])</p>
+
+<p class="whs8">ff[3] = mesh.AddFace([bb[1], 
+ tt[2], tt[1]])</p>
+
+<p class="whs8">ff[4] = mesh.AddFace([bb[2], 
+ bb[3], tt[3]])</p>
+
+<p class="whs8">ff[5] = mesh.AddFace([bb[2], 
+ tt[3], tt[2]]) </p>
+
+<p>&nbsp;</p>
+
+<p># delete the diagonal bb[1] - tt[2]</p>
+
+<p class="whs8">print &quot;\nUnite 
+ two triangles ... &quot;,</p>
+
+<p class="whs8">res = mesh.DeleteDiag(bb[1], 
+ tt[2])</p>
+
+<p class="whs8">if not res: print 
+ &quot;failed!&quot;</p>
+
+<p class="whs8">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;done.&quot;</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark6>Uniting a Set of Triangles</a></h3>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">import smesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># create an empty mesh 
+ structure</p>
+
+<p class="whs8">mesh = smesh.Mesh() 
+ </p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># create the following 
+ mesh:</p>
+
+<p class="whs8"># .----.----.----.</p>
+
+<p class="whs8"># | &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/| 
+ &nbsp;&nbsp;/|</p>
+
+<p class="whs8"># | &nbsp;/ 
+ | &nbsp;/ | &nbsp;/ 
+ |</p>
+
+<p class="whs8"># | / &nbsp;| 
+ / &nbsp;| / &nbsp;|</p>
+
+<p class="whs8"># |/ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|/ 
+ &nbsp;&nbsp;|</p>
+
+<p class="whs8"># .----.----.----.</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">bb = [0, 0, 0, 0]</p>
+
+<p class="whs8">tt = [0, 0, 0, 0]</p>
+
+<p class="whs8">ff = [0, 0, 0, 0, 
+ 0, 0]</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">bb[0] 
+ = mesh.AddNode( 0., 0., 0.)</span></p>
+
+<p class="whs8">bb[1] = mesh.AddNode(10., 
+ 0., 0.)</p>
+
+<p class="whs8">bb[2] = mesh.AddNode(20., 
+ 0., 0.)</p>
+
+<p class="whs8">bb[3] = mesh.AddNode(30., 
+ 0., 0.)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">tt[0] = mesh.AddNode( 
+ 0., 15., 0.)</p>
+
+<p class="whs8">tt[1] = mesh.AddNode(10., 
+ 15., 0.)</p>
+
+<p class="whs8">tt[2] = mesh.AddNode(20., 
+ 15., 0.)</p>
+
+<p class="whs8">tt[3] = mesh.AddNode(30., 
+ 15., 0.)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">ff[0] = mesh.AddFace([bb[0], 
+ bb[1], tt[1]])</p>
+
+<p class="whs8">ff[1] = mesh.AddFace([bb[0], 
+ tt[1], tt[0]])</p>
+
+<p class="whs8">ff[2] = mesh.AddFace([bb[1], 
+ bb[2], tt[2]])</p>
+
+<p class="whs8">ff[3] = mesh.AddFace([bb[1], 
+ tt[2], tt[1]])</p>
+
+<p class="whs8">ff[4] = mesh.AddFace([bb[2], 
+ bb[3], tt[3]])</p>
+
+<p class="whs8">ff[5] = mesh.AddFace([bb[2], 
+ tt[3], tt[2]])</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># unite a set of triangles</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">print 
+ &quot;\nUnite a set of triangles ... &quot;,</span></p>
+
+<p class="whs8">res = mesh.TriToQuad([ff[2], 
+ ff[3], ff[4], ff[5]], smesh.FT_MinimumAngle, 60.)</p>
+
+<p class="whs8">if not res: print 
+ &quot;failed!&quot;</p>
+
+<p class="whs8">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;done.&quot;</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">salome.sg.updateObjBrowser(1) 
+ &nbsp;</p>
+
+<h3><a name=bookmark12>Orientation</a></h3>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">import smesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p># create an empty mesh structure</p>
+
+<p class="whs8">mesh = smesh.Mesh() 
+ </p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># build five quadrangles:</p>
+
+<p class="whs8">dx = 10</p>
+
+<p class="whs8">dy = 20</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">n1 
+ &nbsp;= mesh.AddNode(0.0 
+ * dx, 0, 0)</span></p>
+
+<p class="whs8">n2 &nbsp;= 
+ mesh.AddNode(1.0 * dx, 0, 0)</p>
+
+<p class="whs8">n3 &nbsp;= 
+ mesh.AddNode(2.0 * dx, 0, 0)</p>
+
+<p class="whs8">n4 &nbsp;= 
+ mesh.AddNode(3.0 * dx, 0, 0)</p>
+
+<p class="whs8">n5 &nbsp;= 
+ mesh.AddNode(4.0 * dx, 0, 0)</p>
+
+<p class="whs8">n6 &nbsp;= 
+ mesh.AddNode(5.0 * dx, 0, 0)</p>
+
+<p class="whs8">n7 &nbsp;= 
+ mesh.AddNode(0.0 * dx, dy, 0)</p>
+
+<p class="whs8">n8 &nbsp;= 
+ mesh.AddNode(1.0 * dx, dy, 0)</p>
+
+<p class="whs8">n9 &nbsp;= 
+ mesh.AddNode(2.0 * dx, dy, 0)</p>
+
+<p class="whs8">n10 = mesh.AddNode(3.0 
+ * dx, dy, 0)</p>
+
+<p class="whs8">n11 = mesh.AddNode(4.0 
+ * dx, dy, 0)</p>
+
+<p class="whs8">n12 = mesh.AddNode(5.0 
+ * dx, dy, 0)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">f1 = mesh.AddFace([n1, 
+ n2, n8 , n7 ])</p>
+
+<p class="whs8">f2 = mesh.AddFace([n2, 
+ n3, n9 , n8 ])</p>
+
+<p class="whs8">f3 = mesh.AddFace([n3, 
+ n4, n10, n9 ])</p>
+
+<p class="whs8">f4 = mesh.AddFace([n4, 
+ n5, n11, n10])</p>
+
+<p class="whs8">f5 = mesh.AddFace([n5, 
+ n6, n12, n11]) </p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># Change the orientation 
+ of the second and the fourth faces.</p>
+
+<p class="whs8">mesh.Reorient([2, 
+ 4])</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs8">&nbsp;</p>
+
+<h3><a name=bookmark7>Cutting Quadrangles</a></h3>
+
+<p class="whs8">import SMESH_mechanic</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">smesh = SMESH_mechanic.smesh</p>
+
+<p class="whs8">mesh &nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># cut two quadrangles: 
+ 405 and 406</p>
+
+<p class="whs8">mesh.QuadToTri([405, 
+ 406], smesh.FT_MinimumAngle) &nbsp;</p>
+
+<p class="whs9">&nbsp;</p>
+
+<h3><a name=bookmark8>Smoothing</a></h3>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">import geompy</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">import SMESH_mechanic</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">smesh 
+ = SMESH_mechanic.smesh</span></p>
+
+<p class="whs8">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># select the top face</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">faces 
+ = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, geompy.ShapeType[&quot;FACE&quot;])</span></p>
+
+<p class="whs8">face = faces[3]</p>
+
+<p class="whs8">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, 
+ face, &quot;face planar with hole&quot;)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># create a group of 
+ faces to be smoothed</p>
+
+<p class="whs8">GroupSmooth = mesh.GroupOnGeom(face, 
+ &quot;Group of faces (smooth)&quot;, smesh.FACE)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># perform smoothing</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># boolean SmoothObject(Object, 
+ IDsOfFixedNodes, MaxNbOfIterations, MaxAspectRatio, Method)</p>
+
+<p class="whs8">res = mesh.SmoothObject(GroupSmooth, 
+ [], 20, 2., smesh.CENTROIDAL_SMOOTH)</p>
+
+<p class="whs8">print &quot;\nSmoothing 
+ ... &quot;,</p>
+
+<p class="whs8">if not res: print 
+ &quot;failed!&quot;</p>
+
+<p class="whs8">else: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print 
+ &quot;done.&quot;</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs8">&nbsp;</p>
+
+<h3><a name=bookmark9>Extrusion</a></h3>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">import geompy</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">import SMESH_mechanic</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">smesh 
+ = SMESH_mechanic.smesh</span></p>
+
+<p class="whs8">mesh = SMESH_mechanic.mesh 
+ </p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># select the top face</p>
+
+<p class="whs8">faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs8">face = faces[7]</p>
+
+<p class="whs8">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, 
+ face, &quot;face circular top&quot;)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># create a vector 
+ for extrusion</p>
+
+<p class="whs8">point = smesh.PointStruct(0., 
+ 0., 5.)</p>
+
+<p class="whs8">vector = smesh.DirStruct(point)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># create a group to 
+ be extruded</p>
+
+<p class="whs8">GroupTri = mesh.GroupOnGeom(face, 
+ &quot;Group of faces (extrusion)&quot;, smesh.FACE)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># perform extrusion 
+ of the group</p>
+
+<p class="whs8">mesh.ExtrusionSweepObject(GroupTri, 
+ vector, 5)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark10>Extrusion along a Path</a></h3>
+
+<p class="whs8">import math</p>
+
+<p class="whs8">import salome</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># Geometry</p>
+
+<p class="whs8">import geompy</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9"># 1. Create points</p>
+
+<p class="whs8">points = [[0, 0], 
+ [50, 30], [50, 110], [0, 150], [-80, 150], [-130, 70], [-130, -20]]</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">iv = 1</p>
+
+<p class="whs8">vertices = []</p>
+
+<p class="whs8">for point in points:</p>
+
+<p class="whs10">vert 
+ = geompy.MakeVertex(point[0], point[1], 0)</p>
+
+<p class="whs10">geompy.addToStudy(vert, 
+ &quot;Vertex_&quot; + `iv`)</p>
+
+<p class="whs10">vertices.append(vert)</p>
+
+<p class="whs10">iv 
+ += 1</p>
+
+<p class="whs10">pass</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9"># 2. Create edges and 
+ wires</p>
+
+<p class="whs8">Edge_straight = geompy.MakeEdge(vertices[0], 
+ vertices[4])</p>
+
+<p class="whs8">Edge_bezierrr = geompy.MakeBezier(vertices)</p>
+
+<p class="whs8">Wire_polyline = geompy.MakePolyline(vertices)</p>
+
+<p class="whs8">Edge_Circle &nbsp;&nbsp;= 
+ geompy.MakeCircleThreePnt(vertices[0], vertices[1], vertices[2])</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">geompy.addToStudy(Edge_straight, 
+ &quot;Edge_straight&quot;)</p>
+
+<p class="whs8">geompy.addToStudy(Edge_bezierrr, 
+ &quot;Edge_bezierrr&quot;)</p>
+
+<p class="whs8">geompy.addToStudy(Wire_polyline, 
+ &quot;Wire_polyline&quot;)</p>
+
+<p class="whs8">geompy.addToStudy(Edge_Circle 
+ &nbsp;, &quot;Edge_Circle&quot;)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9"># 3. Explode wire on 
+ edges, as they will be used for mesh extrusion</p>
+
+<p class="whs8">Wire_polyline_edges 
+ = geompy.SubShapeAll(Wire_polyline, geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs8">for ii in range(len(Wire_polyline_edges)):</p>
+
+<p class="whs10">geompy.addToStudyInFather(Wire_polyline, 
+ Wire_polyline_edges[ii], &quot;Edge_&quot; + `ii + 1`)</p>
+
+<p class="whs10">pass</p>
+
+<p class="whs11">&nbsp;</p>
+
+<p class="whs9"># Mesh</p>
+
+<p class="whs8">import smesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs12"># Mesh 
+ the given shape with the given 1d hypothesis</p>
+
+<p class="whs13">def 
+ Mesh1D(shape1d, nbSeg, name):</p>
+
+<p class="whs13">&nbsp;&nbsp;mesh1d_tool 
+ = smesh.Mesh(shape1d, name)</p>
+
+<p class="whs13">&nbsp;&nbsp;algo 
+ = mesh1d_tool.Segment()</p>
+
+<p class="whs13">&nbsp;&nbsp;hyp 
+ &nbsp;= algo.NumberOfSegments(nbSeg)</p>
+
+<p class="whs13">&nbsp;&nbsp;isDone 
+ = mesh1d_tool.Compute()</p>
+
+<p class="whs13">&nbsp;&nbsp;if 
+ not isDone: print 'Mesh ', name, ': computation failed'</p>
+
+<p class="whs13">&nbsp;&nbsp;return 
+ mesh1d_tool</p>
+
+<p class="whs12"># Create 
+ a mesh with six nodes, seven edges and two quadrangle faces</p>
+
+<p class="whs13">def 
+ MakeQuadMesh2(mesh_name):</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1 
+ = smesh.Mesh(name = mesh_name)</p>
+
+<p class="whs13">&nbsp;&nbsp;</p>
+
+<p class="whs13">&nbsp;&nbsp;<span 
+ style="font-family: 'Times New Roman', serif;"># 
+ six nodes</span></p>
+
+<p class="whs13">&nbsp;&nbsp;n1 
+ = quad_1.AddNode(0, 20, 10)</p>
+
+<p class="whs13">&nbsp;&nbsp;n2 
+ = quad_1.AddNode(0, 40, 10)</p>
+
+<p class="whs13">&nbsp;&nbsp;n3 
+ = quad_1.AddNode(0, 40, 30)</p>
+
+<p class="whs13">&nbsp;&nbsp;n4 
+ = quad_1.AddNode(0, 20, 30)</p>
+
+<p class="whs13">&nbsp;&nbsp;n5 
+ = quad_1.AddNode(0, &nbsp;0, 
+ 30)</p>
+
+<p class="whs13">&nbsp;&nbsp;n6 
+ = quad_1.AddNode(0, &nbsp;0, 
+ 10)</p>
+
+<p class="whs13">&nbsp;&nbsp;</p>
+
+<p class="whs13">&nbsp;&nbsp;<span 
+ style="font-family: 'Times New Roman', serif;"># 
+ seven edges</span></p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n1, 
+ n2]) # 1</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n2, 
+ n3]) # 2</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n3, 
+ n4]) # 3</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n4, 
+ n1]) # 4</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n4, 
+ n5]) # 5</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n5, 
+ n6]) # 6</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddEdge([n6, 
+ n1]) # 7</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs13">&nbsp;&nbsp;<span 
+ style="font-family: 'Times New Roman', serif;"># 
+ two quadrangle faces</span></p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddFace([n1, 
+ n2, n3, n4]) # 8</p>
+
+<p class="whs13">&nbsp;&nbsp;quad_1.AddFace([n1, 
+ n4, n5, n6]) # 9</p>
+
+<p class="whs13">&nbsp;&nbsp;return 
+ [quad_1, [1,2,3,4,5,6,7], [8,9]]</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># Path 
+ meshes</p>
+
+<p class="whs13">Edge_straight_mesh 
+ = Mesh1D(Edge_straight, 7, &quot;Edge_straight&quot;)</p>
+
+<p class="whs13">Edge_bezierrr_mesh 
+ = Mesh1D(Edge_bezierrr, 7, &quot;Edge_bezierrr&quot;)</p>
+
+<p class="whs13">Wire_polyline_mesh 
+ = Mesh1D(Wire_polyline, 3, &quot;Wire_polyline&quot;)</p>
+
+<p class="whs13">Edge_Circle_mesh 
+ &nbsp;&nbsp;= 
+ Mesh1D(Edge_Circle &nbsp;, 
+ 8, &quot;Edge_Circle&quot;)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># Initial 
+ meshes (to be extruded)</p>
+
+<p class="whs13">[quad_1, 
+ ee_1, ff_1] = MakeQuadMesh2(&quot;quad_1&quot;)</p>
+
+<p class="whs13">[quad_2, 
+ ee_2, ff_2] = MakeQuadMesh2(&quot;quad_2&quot;)</p>
+
+<p class="whs13">[quad_3, 
+ ee_3, ff_3] = MakeQuadMesh2(&quot;quad_3&quot;)</p>
+
+<p class="whs13">[quad_4, 
+ ee_4, ff_4] = MakeQuadMesh2(&quot;quad_4&quot;)</p>
+
+<p class="whs13">[quad_5, 
+ ee_5, ff_5] = MakeQuadMesh2(&quot;quad_5&quot;)</p>
+
+<p class="whs13">[quad_6, 
+ ee_6, ff_6] = MakeQuadMesh2(&quot;quad_6&quot;)</p>
+
+<p class="whs13">[quad_7, 
+ ee_7, ff_7] = MakeQuadMesh2(&quot;quad_7&quot;)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># ExtrusionAlongPath</p>
+
+<p class="whs12"># IDsOfElements, 
+ PathMesh, PathShape, NodeStart,</p>
+
+<p class="whs12"># HasAngles, 
+ Angles, HasRefPoint, RefPoint</p>
+
+<p class="whs13">refPoint 
+ = smesh.PointStruct(0, 0, 0)</p>
+
+<p class="whs13">a10 
+ = 10.0*math.pi/180.0</p>
+
+<p class="whs13">a45 
+ = 45.0*math.pi/180.0</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 1. 
+ Extrusion of two mesh edges along a straight path</p>
+
+<p class="whs13">error 
+ = quad_1.ExtrusionAlongPath([1,2], Edge_straight_mesh, Edge_straight, 
+ 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 
+ [], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 2. 
+ Extrusion of one mesh edge along a curved path</p>
+
+<p class="whs13">error 
+ = quad_2.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 
+ [], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 3. 
+ Extrusion of one mesh edge along a curved path with usage of angles</p>
+
+<p class="whs13">error 
+ = quad_3.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, 
+ [a45, a45, a45, 0, -a45, -a45, -a45], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 4. 
+ Extrusion of one mesh edge along the path, which is a part of a meshed 
+ wire</p>
+
+<p class="whs13">error 
+ = quad_4.ExtrusionAlongPath([4], Wire_polyline_mesh, Wire_polyline_edges[0], 
+ 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, 
+ [a10, a10, a10], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 5. 
+ Extrusion of two mesh faces along the path, which is a part of a meshed 
+ wire</p>
+
+<p class="whs13">error 
+ = quad_5.ExtrusionAlongPath(ff_5 , Wire_polyline_mesh, Wire_polyline_edges[2], 
+ 4,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 
+ [], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 6. 
+ Extrusion of two mesh faces along a closed path</p>
+
+<p class="whs13">error 
+ = quad_6.ExtrusionAlongPath(ff_6 , Edge_Circle_mesh, Edge_Circle, 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0, 
+ [], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs12"># 7. 
+ Extrusion of two mesh faces along a closed path with usage of angles</p>
+
+<p class="whs13">error 
+ = quad_7.ExtrusionAlongPath(ff_7, Edge_Circle_mesh, Edge_Circle, 1,</p>
+
+<p class="whs13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, 
+ [a45, -a45, a45, -a45, a45, -a45, a45, -a45], 0, refPoint)</p>
+
+<p class="whs13">&nbsp;</p>
+
+<p class="whs13">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<h3><a name=bookmark11>Revolution</a></h3>
+
+<p class="whs8">import math</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">import SMESH_mechanic</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ &nbsp;= SMESH_mechanic.mesh</span></p>
+
+<p class="whs8">smesh = SMESH_mechanic.smesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># create a group of faces 
+ to be revolved</p>
+
+<p class="whs8">FacesRotate = [492, 
+ 493, 502, 503]</p>
+
+<p class="whs8">GroupRotate = mesh.CreateGroup(SMESH.FACE,&quot;Group 
+ of faces (rotate)&quot;)</p>
+
+<p class="whs8">GroupRotate.Add(FacesRotate)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9"># define revolution angle 
+ and axis</p>
+
+<p class="whs8">angle45 = 45 * math.pi 
+ / 180</p>
+
+<p class="whs8">axisXYZ = SMESH.AxisStruct(-38.3128, 
+ -73.3658, -23.321, -13.3402, -13.3265, 6.66632)</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs9"># perform revolution 
+ of an object</p>
+
+<p class="whs8">mesh.RotationSweepObject(GroupRotate, 
+ axisXYZ, angle45, 4, 1e-5) </p>
+
+<p class="whs9">&nbsp;</p>
+
+<h3><a name=bookmark13>Pattern Mapping</a></h3>
+
+<p class="whs8">import geompy</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8">import smesh</p>
+
+<p class="whs8">&nbsp;</p>
+
+<p class="whs8"># define the geometry</p>
+
+<p class="whs9">Box_1 = geompy.MakeBoxDXDYDZ(200., 
+ 200., 200.)</p>
+
+<p class="whs9">geompy.addToStudy(Box_1, 
+ &quot;Box_1&quot;)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">faces = geompy.SubShapeAll(Box_1, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs9">Face_1 = faces[0]</p>
+
+<p class="whs9">Face_2 = faces[1]</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">geompy.addToStudyInFather(Box_1, 
+ Face_1, &quot;Face_1&quot;)</p>
+
+<p class="whs9">geompy.addToStudyInFather(Box_1, 
+ Face_2, &quot;Face_2&quot;)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs8"># build a quadrangle 
+ mesh 3x3 on Face_1</p>
+
+<p class="whs9">Mesh_1 = smesh.Mesh(Face_1)</p>
+
+<p class="whs9">algo1D = Mesh_1.Segment()</p>
+
+<p class="whs9">algo1D.NumberOfSegments(3)</p>
+
+<p class="whs9">Mesh_1.Quadrangle()</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">isDone = Mesh_1.Compute()</p>
+
+<p class="whs9">if not isDone: print 
+ 'Mesh Mesh_1 : computation failed'</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs8"># build a triangle 
+ mesh on Face_2</p>
+
+<p class="whs9">Mesh_2 = smesh.Mesh(Face_2)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">algo1D = Mesh_2.Segment()</p>
+
+<p class="whs9">algo1D.NumberOfSegments(1)</p>
+
+<p class="whs9">algo2D = Mesh_2.Triangle()</p>
+
+<p class="whs9">algo2D.MaxElementArea(240)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">isDone = Mesh_2.Compute()</p>
+
+<p class="whs9">if not isDone: print 
+ 'Mesh Mesh_2 : computation failed'</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs8"># create a pattern</p>
+
+<p class="whs9">pattern = smesh.GetPattern()</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), 
+ Face_2, 0)</p>
+
+<p class="whs9">if (isDone != 1): print 
+ 'LoadFromFace :', pattern.GetErrorCode()</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs8"># apply the pattern 
+ to a face of the first mesh</p>
+
+<p class="whs9">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), 
+ [17], 0, 0)</p>
+
+<p class="whs9">&nbsp;</p>
+
+<p class="whs9">isDone = pattern.MakeMesh(Mesh_1.GetMesh(), 
+ 0, 0)</p>
+
+<p class="whs9">if (isDone != 1): print 
+ 'MakeMesh :', pattern.GetErrorCode() &nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
diff --git a/doc/salome/gui/SMESH/netgen_2d_and_3d_hypotheses.htm b/doc/salome/gui/SMESH/netgen_2d_and_3d_hypotheses.htm
new file mode 100644 (file)
index 0000000..1413f3b
--- /dev/null
@@ -0,0 +1,146 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>Netgen 2D and 3D hypotheses</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
+<!--\r
+p.whs1 { margin-left:0px; }\r
+img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
+p.whs3 { margin-left:40px; }\r
+img_whs4 { border:none; width:365px; height:353px; float:none; border-style:none; }\r
+ul.whs5 { list-style:disc; }\r
+p.whs6 { margin-left:40px; margin-top:0px; margin-bottom:0px; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs1 {margin-left:1pt; }";\r
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+  if (innerWidth != origWidth || innerHeight != origHeight)\r
+     location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+       origWidth = innerWidth;\r
+       origHeight = innerHeight;\r
+       onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+       if (window.setRelStartPage)\r
+       {\r
+       addTocInfo("MESH module\nCreating meshes\nDefining hypotheses\nNetgen 2D and 3D hypotheses");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+       }\r
+\r
+\r
+       if (window.setRelStartPage)\r
+       {\r
+       setRelStartPage("index.htm");\r
+\r
+               autoSync(1);\r
+               sendSyncInfo();\r
+               sendAveInfoOut();\r
+       }\r
+\r
+}\r
+else\r
+       if (window.gbIE4)\r
+               document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>Netgen 2D and 3D hypotheses</h1>\r
+\r
+<p class="whs1"><span style="font-weight: bold;"><B><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> Netgen 2D</B></span> and <span style="font-weight: bold;"><B>Netgen</B></span> \r
+ <span style="font-weight: bold;"><B>3D</B></span> hypotheses work only with <span \r
+ style="font-weight: bold;"><B>Netgen 1D-2D</B></span> and <span style="font-weight: bold;"><B>Netgen</B></span> \r
+ <span style="font-weight: bold;"><B>1D-2D-3D </B></span>algorithms. These algorithms \r
+ do not require definition of lower-level &nbsp;hypotheses \r
+ and algorithms (2D and 1D for meshing 3D objects and 1D for meshing 2D \r
+ objects). They prove to be useful if lower-level meshing is homogeneous \r
+ for all wires and faces of the meshed object.</p>\r
+\r
+<p class="whs3"><img src="pics/netgen2d.png" x-maintain-ratio="TRUE" width="365px" height="353px" border="0" class="img_whs4"></p>\r
+\r
+<ul type="disc" class="whs5">\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Name</B></span> \r
+ - allows to define the name for the algorithm (Netgen 2D (or 3D) Parameters \r
+ by default)</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Max \r
+ Size</B></span> - maximum linear dimensions for mesh cells.</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Second \r
+ Order</B></span> - if this box is checked in, the algorithm will create second \r
+ order nodes on the mesh, which actually will become <a href="adding_quadratic_nodes_and_elements.htm">Quadratic</a>. \r
+ &nbsp;&nbsp;</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Fineness</B></span> \r
+ - ranging from Very Coarse to Very Fine allows to set the level of meshing \r
+ detalization using the three parameters below. You can select Custom to \r
+ define them manually.</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Growth \r
+ rate</B></span> - allows to define how much the linear dimensions of two adjacent \r
+ cells can differ (i.e. 0.3 means 30%).</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Nb. \r
+ Segs per Edge</B></span> and<span style="font-weight: bold;"><B> Nb Segs per \r
+ Radius</B></span> - allows to define the minimum number of mesh segments in \r
+ which edges and radiuses will be split. </p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Allow \r
+ Quadrangles</B></span> - allows to use quadrangle elements in a triangle 2D \r
+ mesh. This checkbox is not present in Netgen 3D parameters because currently \r
+ building a tetrahedral mesh with quadrangle faces is not possible.</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs6"><span style="font-weight: bold;"><B>Optimize</B></span> \r
+ - if this box is checked in, the algorithm will try to create regular \r
+ (possessing even sides) elements.</p></li>\r
+</ul>\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
index 2e1bccf29bac9d525bea2ab4d320903f15bab25f..87685f026f3d9a1c4621567c3ed7882d6449beaa 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Pattern mapping</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:626px; height:471px; border-style:none; }\r
-img_whs4 { border:none; width:22px; height:28px; border-style:none; }\r
-table.whs5 { x-cell-content-align:top; width:64.066%; border-spacing:0px; }\r
-col.whs6 { width:56.089%; }\r
-col.whs7 { width:43.911%; }\r
-tr.whs8 { x-cell-content-align:top; }\r
-td.whs9 { width:56.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-p.whs10 { margin-right:0px; }\r
-img_whs11 { border:none; width:306px; height:632px; float:none; border-style:none; }\r
-td.whs12 { width:43.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs13 { border:none; width:306px; height:670px; float:none; border-style:none; }\r
-img_whs14 { border:none; width:34px; height:34px; border-style:none; }\r
-table.whs15 { x-cell-content-align:top; width:68.686%; border-spacing:0px; }\r
-col.whs16 { width:50.224%; }\r
-col.whs17 { width:49.776%; }\r
-td.whs18 { width:50.224%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs19 { border:none; width:306px; height:428px; float:none; border-style:none; }\r
-td.whs20 { width:49.776%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs21 { border:none; width:306px; height:248px; float:none; border-style:none; }\r
-p.whs22 { margin-left:0px; }\r
-img_whs23 { border:none; width:554px; height:279px; border-style:none; }\r
-img_whs24 { border:none; width:572px; height:233px; border-style:none; }\r
-img_whs25 { border:none; width:606px; height:249px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs10 {margin-right:1pt; }";\r
-  strNSS += "p.whs22 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nPattern mapping");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Pattern mapping</h1>\r
-\r
-<h3>About patterns</h3>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The pattern describes a mesh to generate: positions of \r
- nodes within a geometrical domain and nodal connectivity of elements. \r
- As well, a pattern specifies the so-called key-points, i.e. nodes that \r
- will be located at geometrical vertices. Pattern description is stored \r
- in &lt;pattern_name&gt;.smp file.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The smp file contains 4 sections:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">1. The first line holds the number of nodes \r
- (N).</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. The next N lines describe nodes coordinates. \r
- Each line holds 2 coordinates of a node.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. A key-points line: indices of nodes to \r
- be mapped on geometrical vertices. An index n refers to a node described \r
- on an n-th line of section 2. The first node index is zero.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">4. The rest lines describe nodal connectivity \r
- of elements, one line for an element. A line holds indices of nodes forming \r
- an element. An index n refers to a node described on an n-th line of the \r
- section 2. The first node index is zero. There must be 3 or 4 indices \r
- on a line: only 2d elements are allowed.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>The 2D pattern must contain at least one element and at least one key-point. \r
- All key-points must lay on boundaries.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>An example of a simple smp file and a preview of a pattern described \r
- in this file:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="image94.gif" width="626px" height="471px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3>Application of pattern mapping</h3>\r
-\r
-<p class=TODO>To apply pattern mapping to a geometrical object:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Pattern Mapping \r
- </B></span>item or click <img src="image98.gif" width="22px" height="28px" border="0" class="img_whs4"> button in the toolbar. The following \r
- dialog box shall appear:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="64.066%" class="whs5">\r
-<col class="whs6">\r
-<col class="whs7">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="56.089%" class="whs9">\r
-<p class="whs10"><img src="pics/patternmapping1.png" x-maintain-ratio="TRUE" width="306px" height="632px" border="0" class="img_whs11"></td>\r
-<td width="43.911%" class="whs12">\r
-<p><img src="pics/patternmapping2.png" x-maintain-ratio="TRUE" width="306px" height="670px" border="0" class="img_whs13"></td></tr>\r
-</table>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>To apply a pattern to a geometrical object, you should specify:</p>\r
-\r
-<p class="whs2">- a face having the number of vertices equal \r
- to the number of key-points in the pattern; the number of key-points on \r
- internal boundaries of a pattern must also be equal to the number of vertices \r
- on internal boundaries of a face;</p>\r
-\r
-<p class="whs2">- a vertex to which the first key-point should \r
- be mapped,</p>\r
-\r
-<p class="whs2">- reverse or not the order of key-points. \r
- (The order of vertices of a face is counterclockwise looking from outside).</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>Then you either load a .smp pattern file previously created manually \r
- by clicking on the <img src="image108.gif" width="34px" height="34px" border="0" class="img_whs14"> button, or click on the <span style="font-weight: bold;"><B>New</B></span> \r
- button for automatic generation.</p>\r
-\r
-<p>For an automatic generation you just specify a geometrical face having \r
- a mesh built on it. Mesh nodes lying on face vertices become key-points. \r
- Additionally, you may choose the way of getting nodes coordinates by <span \r
- style="font-weight: bold;"><B>projecting nodes on the face</B></span> instead \r
- of using &quot;positions on face&quot; generated by mesher (if there is \r
- any). Faces having a seam edge can\92t be used for automatic pattern creation.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>When creating a pattern from an existing mesh, there are two possible \r
- cases:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>1. A sub-mesh on face is selected. A pattern is created from the 2d \r
- elements bound to a face by mesher. Node coordinates are either &quot;positions \r
- on face&quot; computed by mesher, or coordinates got by node projection \r
- on a geometrical surface, according to your choice.</p>\r
-\r
-<p>2. A mesh where the main shape is a face, is selected. A pattern is \r
- created from all the 2d elements in a mesh. If all mesh elements are build \r
- by mesher, the user can select the way of getting nodes coordinates, else \r
- all nodes are projected on a face surface.</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="68.686%" class="whs15">\r
-<col class="whs16">\r
-<col class="whs17">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="50.224%" class="whs18">\r
-<p><img src="pics/a-patterntype.png" x-maintain-ratio="TRUE" width="306px" height="428px" border="0" class="img_whs19"></td>\r
-<td width="49.776%" class="whs20">\r
-<p><img src="pics/a-patterntype1.png" x-maintain-ratio="TRUE" width="306px" height="248px" border="0" class="img_whs21"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3>Mapping algorithm:</h3>\r
-\r
-<p class="whs22">The mapping algorithm is as follows:</p>\r
-\r
-<p class="whs22">&nbsp;</p>\r
-\r
-<p class="whs2">1. Key-points are set in the order that they \r
- are encountered when walking along a pattern boundary so that elements \r
- are on the left. The first key-point is preserved.</p>\r
-\r
-<p class="whs2">2. Find geometrical vertices corresponding \r
- to key-points by vertices order in a face boundary; here, &quot;Reverse \r
- order of key-points&quot; flag is taken into account.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image95.gif" width="554px" height="279px" border="0" class="img_whs23"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. Boundary nodes of a pattern are mapped \r
- onto edges of a face: a node located between certain key-points on a pattern \r
- boundary is mapped on a geometrical edge limited by corresponding geometrical \r
- vertices. Node position on an edge reflects its distance from two key-points.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image96.gif" width="572px" height="233px" border="0" class="img_whs24"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">4. Coordinates of a non-boundary node in \r
- a parametric space of a face are defined as following. In a parametric \r
- space of a pattern, a node lays at the intersection of two iso-lines, \r
- each of which intersects a pattern boundary at least at two points. Knowing \r
- mapped positions of boundary nodes, we find where isoline-boundary intersection \r
- points are mapped to, and hence we can find mapped isolines direction \r
- and then, two node positions on two mapped isolines. The eventual mapped \r
- position of a node is found as an average of positions on mapped isolines.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image97.gif" width="606px" height="249px" border="0" class="img_whs25"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="modifying_meshes.htm#bookmark13">Pattern \r
- Mapping</a><a href="modifying_meshes.htm#bookmark11"> </a>operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Pattern mapping</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:626px; height:471px; border-style:none; }
+img_whs4 { border:none; width:22px; height:28px; border-style:none; }
+table.whs5 { x-cell-content-align:top; width:64.066%; border-spacing:0px; }
+col.whs6 { width:56.089%; }
+col.whs7 { width:43.911%; }
+tr.whs8 { x-cell-content-align:top; }
+td.whs9 { width:56.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+p.whs10 { margin-right:0px; }
+img_whs11 { border:none; width:306px; height:632px; float:none; border-style:none; }
+td.whs12 { width:43.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs13 { border:none; width:306px; height:670px; float:none; border-style:none; }
+img_whs14 { border:none; width:34px; height:34px; border-style:none; }
+table.whs15 { x-cell-content-align:top; width:68.686%; border-spacing:0px; }
+col.whs16 { width:50.224%; }
+col.whs17 { width:49.776%; }
+td.whs18 { width:50.224%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs19 { border:none; width:306px; height:428px; float:none; border-style:none; }
+td.whs20 { width:49.776%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs21 { border:none; width:306px; height:248px; float:none; border-style:none; }
+p.whs22 { margin-left:0px; }
+img_whs23 { border:none; width:554px; height:279px; border-style:none; }
+img_whs24 { border:none; width:572px; height:233px; border-style:none; }
+img_whs25 { border:none; width:606px; height:249px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs10 {margin-right:1pt; }";
+  strNSS += "p.whs22 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nPattern mapping");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Pattern mapping</h1>
+
+<h3>About patterns</h3>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The pattern describes a mesh to generate: positions of 
+ nodes within a geometrical domain and nodal connectivity of elements. 
+ As well, a pattern specifies the so-called key-points, i.e. nodes that 
+ will be located at geometrical vertices. Pattern description is stored 
+ in &lt;pattern_name&gt;.smp file.</p>
+
+<p>&nbsp;</p>
+
+<p>The smp file contains 4 sections:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">1. The first line holds the number of nodes 
+ (N).</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. The next N lines describe nodes coordinates. 
+ Each line holds 2 coordinates of a node.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. A key-points line: indices of nodes to 
+ be mapped on geometrical vertices. An index n refers to a node described 
+ on an n-th line of section 2. The first node index is zero.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">4. The rest lines describe nodal connectivity 
+ of elements, one line for an element. A line holds indices of nodes forming 
+ an element. An index n refers to a node described on an n-th line of the 
+ section 2. The first node index is zero. There must be 3 or 4 indices 
+ on a line: only 2d elements are allowed.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>The 2D pattern must contain at least one element and at least one key-point. 
+ All key-points must lay on boundaries.</p>
+
+<p>&nbsp;</p>
+
+<p>An example of a simple smp file and a preview of a pattern described 
+ in this file:</p>
+
+<p>&nbsp;</p>
+
+<p><img src="image94.gif" width="626px" height="471px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3>Application of pattern mapping</h3>
+
+<p class=TODO>To apply pattern mapping to a geometrical object:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Pattern Mapping 
+ </B></span>item or click <img src="image98.gif" width="22px" height="28px" border="0" class="img_whs4"> button in the toolbar. The following 
+ dialog box shall appear:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="64.066%" class="whs5">
+<col class="whs6">
+<col class="whs7">
+
+<tr valign="top" class="whs8">
+<td width="56.089%" class="whs9">
+<p class="whs10"><img src="pics/patternmapping1.png" x-maintain-ratio="TRUE" width="306px" height="632px" border="0" class="img_whs11"></td>
+<td width="43.911%" class="whs12">
+<p><img src="pics/patternmapping2.png" x-maintain-ratio="TRUE" width="306px" height="670px" border="0" class="img_whs13"></td></tr>
+</table>
+
+<p class="whs2">&nbsp;</p>
+
+<p>To apply a pattern to a geometrical object, you should specify:</p>
+
+<p class="whs2">- a face having the number of vertices equal 
+ to the number of key-points in the pattern; the number of key-points on 
+ internal boundaries of a pattern must also be equal to the number of vertices 
+ on internal boundaries of a face;</p>
+
+<p class="whs2">- a vertex to which the first key-point should 
+ be mapped,</p>
+
+<p class="whs2">- reverse or not the order of key-points. 
+ (The order of vertices of a face is counterclockwise looking from outside).</p>
+
+<p>&nbsp;</p>
+
+<p>Then you either load a .smp pattern file previously created manually 
+ by clicking on the <img src="image108.gif" width="34px" height="34px" border="0" class="img_whs14"> button, or click on the <span style="font-weight: bold;"><B>New</B></span> 
+ button for automatic generation.</p>
+
+<p>For an automatic generation you just specify a geometrical face having 
+ a mesh built on it. Mesh nodes lying on face vertices become key-points. 
+ Additionally, you may choose the way of getting nodes coordinates by <span 
+ style="font-weight: bold;"><B>projecting nodes on the face</B></span> instead 
+ of using &quot;positions on face&quot; generated by mesher (if there is 
+ any). Faces having a seam edge can\92t be used for automatic pattern creation.</p>
+
+<p>&nbsp;</p>
+
+<p>When creating a pattern from an existing mesh, there are two possible 
+ cases:</p>
+
+<p>&nbsp;</p>
+
+<p>1. A sub-mesh on face is selected. A pattern is created from the 2d 
+ elements bound to a face by mesher. Node coordinates are either &quot;positions 
+ on face&quot; computed by mesher, or coordinates got by node projection 
+ on a geometrical surface, according to your choice.</p>
+
+<p>2. A mesh where the main shape is a face, is selected. A pattern is 
+ created from all the 2d elements in a mesh. If all mesh elements are build 
+ by mesher, the user can select the way of getting nodes coordinates, else 
+ all nodes are projected on a face surface.</p>
+
+<table x-use-null-cells cellspacing="0" width="68.686%" class="whs15">
+<col class="whs16">
+<col class="whs17">
+
+<tr valign="top" class="whs8">
+<td width="50.224%" class="whs18">
+<p><img src="pics/a-patterntype.png" x-maintain-ratio="TRUE" width="306px" height="428px" border="0" class="img_whs19"></td>
+<td width="49.776%" class="whs20">
+<p><img src="pics/a-patterntype1.png" x-maintain-ratio="TRUE" width="306px" height="248px" border="0" class="img_whs21"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<h3>Mapping algorithm:</h3>
+
+<p class="whs22">The mapping algorithm is as follows:</p>
+
+<p class="whs22">&nbsp;</p>
+
+<p class="whs2">1. Key-points are set in the order that they 
+ are encountered when walking along a pattern boundary so that elements 
+ are on the left. The first key-point is preserved.</p>
+
+<p class="whs2">2. Find geometrical vertices corresponding 
+ to key-points by vertices order in a face boundary; here, &quot;Reverse 
+ order of key-points&quot; flag is taken into account.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image95.gif" width="554px" height="279px" border="0" class="img_whs23"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. Boundary nodes of a pattern are mapped 
+ onto edges of a face: a node located between certain key-points on a pattern 
+ boundary is mapped on a geometrical edge limited by corresponding geometrical 
+ vertices. Node position on an edge reflects its distance from two key-points.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image96.gif" width="572px" height="233px" border="0" class="img_whs24"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">4. Coordinates of a non-boundary node in 
+ a parametric space of a face are defined as following. In a parametric 
+ space of a pattern, a node lays at the intersection of two iso-lines, 
+ each of which intersects a pattern boundary at least at two points. Knowing 
+ mapped positions of boundary nodes, we find where isoline-boundary intersection 
+ points are mapped to, and hence we can find mapped isolines direction 
+ and then, two node positions on two mapped isolines. The eventual mapped 
+ position of a node is found as an average of positions on mapped isolines.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image97.gif" width="606px" height="249px" border="0" class="img_whs25"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="modifying_meshes.htm#bookmark13">Pattern 
+ Mapping</a><a href="modifying_meshes.htm#bookmark11"> </a>operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
diff --git a/doc/salome/gui/SMESH/pics/distribution_of_layers.png b/doc/salome/gui/SMESH/pics/distribution_of_layers.png
new file mode 100644 (file)
index 0000000..3d01d66
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/distribution_of_layers.png differ
diff --git a/doc/salome/gui/SMESH/pics/image157.gif b/doc/salome/gui/SMESH/pics/image157.gif
new file mode 100644 (file)
index 0000000..2f66e05
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/image157.gif differ
diff --git a/doc/salome/gui/SMESH/pics/netgen2d.png b/doc/salome/gui/SMESH/pics/netgen2d.png
new file mode 100644 (file)
index 0000000..b2a9f25
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/netgen2d.png differ
diff --git a/doc/salome/gui/SMESH/pics/number_of_layers.png b/doc/salome/gui/SMESH/pics/number_of_layers.png
new file mode 100644 (file)
index 0000000..846fa2c
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/number_of_layers.png differ
diff --git a/doc/salome/gui/SMESH/pics/projection_1d.png b/doc/salome/gui/SMESH/pics/projection_1d.png
new file mode 100644 (file)
index 0000000..1560aca
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/projection_1d.png differ
diff --git a/doc/salome/gui/SMESH/pics/projection_2d.png b/doc/salome/gui/SMESH/pics/projection_2d.png
new file mode 100644 (file)
index 0000000..91d446b
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/projection_2d.png differ
diff --git a/doc/salome/gui/SMESH/pics/projection_3d.png b/doc/salome/gui/SMESH/pics/projection_3d.png
new file mode 100644 (file)
index 0000000..aeffc7a
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/projection_3d.png differ
diff --git a/doc/salome/gui/SMESH/pics/set_rotation_point_dialog1.png b/doc/salome/gui/SMESH/pics/set_rotation_point_dialog1.png
new file mode 100644 (file)
index 0000000..bdab73b
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/set_rotation_point_dialog1.png differ
diff --git a/doc/salome/gui/SMESH/pics/set_rotation_point_dialog2.png b/doc/salome/gui/SMESH/pics/set_rotation_point_dialog2.png
new file mode 100644 (file)
index 0000000..7f3696a
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/set_rotation_point_dialog2.png differ
diff --git a/doc/salome/gui/SMESH/pics/view_rotation_point.png b/doc/salome/gui/SMESH/pics/view_rotation_point.png
new file mode 100644 (file)
index 0000000..7fe8f83
Binary files /dev/null and b/doc/salome/gui/SMESH/pics/view_rotation_point.png differ
index 497621caeb60eb78b177457e29b7819597b0636f..21c5ae4ccfd8a2a9e23e8866f306addfc490f971 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Presentation</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; height:274px; width:260px; border-style:none; }\r
-p.whs3 { font-weight:bold; margin-left:40px; }\r
-img_whs4 { border:none; height:285px; width:261px; border-style:none; }\r
-p.whs5 { font-weight:bold; }\r
-img_whs6 { border:none; width:263px; height:277px; border-style:none; }\r
-p.whs7 { font-weight:normal; }\r
-img_whs8 { border:none; height:287px; width:259px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nDisplay Mode");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Display Mode</h1>\r
-\r
-<p>By default your objects are represented as set in <span style="font-weight: bold;"><B>Preferences.</B></span></p>\r
-\r
-<p>However, right-clicking on the mesh in the <span style="font-weight: bold;"><B>Object \r
- Browser, </B></span>and selecting<span style="font-weight: bold;"><B> Display \r
- Mode, </B></span>you can display your mesh as<span style="font-weight: bold;"><B>: \r
- </B></span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Wireframe \r
- </B></span></p>\r
-\r
-<p class="whs1"><img src="image53.gif" height="274px" width="260px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1"><span style="font-weight: bold;"><B>Shading</B></span></p>\r
-\r
-<p class="whs3"><img src="image37.jpg" height="285px" width="261px" border="0" class="img_whs4"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-weight: normal;">or \r
- </span>Nodes.</p>\r
-\r
-<p class="whs3"><img src="image56.gif" width="263px" height="277px" border="0" class="img_whs6"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">Wireframe <span style="font-weight: normal;">can \r
- combine with</span> Nodes<span style="font-weight: normal;"> and</span> \r
- Shading.</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">Shading<span style="font-weight: normal;"> \r
- and</span> Wireframe<span style="font-weight: normal;"> modes can combine \r
- with</span> Shrink, <span style="font-weight: normal;">however</span> \r
- Nodes <span style="font-weight: normal;">can't.</span></p>\r
-\r
-<p class="whs7"><img src="image55.gif" height="287px" width="259px" border="0" class="img_whs8"></p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Presentation</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; height:274px; width:260px; border-style:none; }
+p.whs3 { font-weight:bold; margin-left:40px; }
+img_whs4 { border:none; height:285px; width:261px; border-style:none; }
+p.whs5 { font-weight:bold; }
+img_whs6 { border:none; width:263px; height:277px; border-style:none; }
+p.whs7 { font-weight:normal; }
+img_whs8 { border:none; height:287px; width:259px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nDisplay Mode");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Display Mode</h1>
+
+<p>By default your objects are represented as set in <span style="font-weight: bold;"><B>Preferences.</B></span></p>
+
+<p>However, right-clicking on the mesh in the <span style="font-weight: bold;"><B>Object 
+ Browser, </B></span>and selecting<span style="font-weight: bold;"><B> Display 
+ Mode, </B></span>you can display your mesh as<span style="font-weight: bold;"><B>: 
+ </B></span></p>
+
+<p>&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Wireframe 
+ </B></span></p>
+
+<p class="whs1"><img src="image53.gif" height="274px" width="260px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs1"><span style="font-weight: bold;"><B>Shading</B></span></p>
+
+<p class="whs3"><img src="image37.jpg" height="285px" width="261px" border="0" class="img_whs4"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs3"><span style="font-weight: normal;">or 
+ </span>Nodes.</p>
+
+<p class="whs3"><img src="image56.gif" width="263px" height="277px" border="0" class="img_whs6"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">Wireframe <span style="font-weight: normal;">can 
+ combine with</span> Nodes<span style="font-weight: normal;"> and</span> 
+ Shading.</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5">Shading<span style="font-weight: normal;"> 
+ and</span> Wireframe<span style="font-weight: normal;"> modes can combine 
+ with</span> Shrink, <span style="font-weight: normal;">however</span> 
+ Nodes <span style="font-weight: normal;">can't.</span></p>
+
+<p class="whs7"><img src="image55.gif" height="287px" width="259px" border="0" class="img_whs8"></p>
+
+<p class="whs5">&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
diff --git a/doc/salome/gui/SMESH/prism_3d_algorithm.htm b/doc/salome/gui/SMESH/prism_3d_algorithm.htm
new file mode 100644 (file)
index 0000000..da64656
--- /dev/null
@@ -0,0 +1,116 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>Prism 3D Algorithm</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
+<!--\r
+p.whs1 { margin-left:24px; margin-top:0pt; margin-bottom:0pt; }\r
+img_whs2 { border:none; width:324px; height:337px; border-style:none; }\r
+p.whs3 { margin-top:0pt; margin-bottom:0pt; margin-left:0px; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt;margin-left:1pt; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+  if (innerWidth != origWidth || innerHeight != origHeight)\r
+     location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+       origWidth = innerWidth;\r
+       origHeight = innerHeight;\r
+       onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+       if (window.setRelStartPage)\r
+       {\r
+       addTocInfo("MESH module\nCreating meshes\nDefining Algorithms\nPrism 3D Algorithm");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+       }\r
+\r
+\r
+       if (window.setRelStartPage)\r
+       {\r
+       setRelStartPage("index.htm");\r
+\r
+               autoSync(1);\r
+               sendSyncInfo();\r
+               sendAveInfoOut();\r
+       }\r
+\r
+}\r
+else\r
+       if (window.gbIE4)\r
+               document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>Prism 3D Algorithm</h1>\r
+\r
+<p>Prism 3D algorithm can be used for meshing prisms, i.e. <span style="font-weight: bold;"><B>3D \r
+ Shapes</B></span> defined by<span style="margin-left: 24px;\r
+                                                                               margin-top: 0pt;\r
+                                                                               margin-bottom: 0pt;"> two opposing \r
+ faces having the same number of vertices and edges and meshed using the \r
+ <a href="projection_algorithms.htm">2D Projection</a> algorithm. These \r
+ two faces should be connected by quadrangle &quot;side&quot; faces.</span></p>\r
+\r
+<p><span style="margin-left: 24px;\r
+                               margin-top: 0pt;\r
+                               margin-bottom: 0pt;">The opposing faces can be meshed with \r
+ either quadrangles or triangles, while the side faces should be meshed \r
+ with quadranglees only. </span></p>\r
+\r
+<p class="whs1"><img src="image157.gif" width="324px" height="337px" border="0" class="img_whs2"></p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs3">As you can see, the <span style="font-weight: bold;"><B>Prism3D</B></span> \r
+ algorithm permits to build and to have in the same 3D mesh such elements \r
+ as hexahedrons, prisms and polyhedrons.</p>\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
diff --git a/doc/salome/gui/SMESH/projection_algorithms.htm b/doc/salome/gui/SMESH/projection_algorithms.htm
new file mode 100644 (file)
index 0000000..3e1059b
--- /dev/null
@@ -0,0 +1,179 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>Projection Algorithms</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
+<!--\r
+p.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
+img_whs2 { border:none; width:30px; height:29px; border-style:none; }\r
+p.whs3 { margin-left:40px; }\r
+img_whs4 { border:none; width:270px; height:285px; float:none; border-style:none; }\r
+img_whs5 { border:none; width:30px; height:29px; border-style:none; }\r
+img_whs6 { border:none; width:280px; height:351px; float:none; }\r
+p.whs7 { margin-left:0px; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs7 {margin-left:1pt; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+  if (innerWidth != origWidth || innerHeight != origHeight)\r
+     location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+       origWidth = innerWidth;\r
+       origHeight = innerHeight;\r
+       onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+       if (window.setRelStartPage)\r
+       {\r
+       addTocInfo("MESH module\nCreating meshes\nDefining Algorithms\nProjection Algorithms");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+       }\r
+\r
+\r
+       if (window.setRelStartPage)\r
+       {\r
+       setRelStartPage("index.htm");\r
+\r
+               autoSync(1);\r
+               sendSyncInfo();\r
+               sendAveInfoOut();\r
+       }\r
+\r
+}\r
+else\r
+       if (window.gbIE4)\r
+               document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>Projection Algorithms</h1>\r
+\r
+<p class="whs1">Projection algorithms allow \r
+ to define the mesh of a geometrical object by the projection of another \r
+ already meshed geometrical object. </p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1"><span style="font-weight: bold;"><B>Projection \r
+ 1D</B></span> algorithm permits to define the mesh of an edge by the projection \r
+ of another already meshed edge.</p>\r
+\r
+<p class="whs1">To apply this algorithm \r
+ select the edge to be meshed (indicated in the field <span style="font-weight: bold;"><B>Geometry</B></span> \r
+ of<span style="font-weight: bold;"><B> Create mesh</B></span> dialog box), <span \r
+ style="font-weight: bold;"><B>Projection 1D</B></span> in the list of 1D algorithms \r
+ and click the <img src="image122.gif" width="30px" height="29px" border="0" class="img_whs2"> button. The following dialog box will appear: \r
+ </p>\r
+\r
+<p class="whs3"><img src="pics/projection_1d.png" x-maintain-ratio="TRUE" width="270px" height="285px" border="0" class="img_whs4"></p>\r
+\r
+<p>In this menu you can define the <span style="font-weight: bold;"><B>Name</B></span> \r
+ of the algorithm, the algeady meshed source <span style="font-weight: bold;"><B>Edge</B></span> \r
+ and the <span style="font-weight: bold;"><B>Mesh</B></span> (optional, use it \r
+ if there are several different meshes on the same edge). It could also \r
+ be necessary to define the orientation of edges, which is done by indicating \r
+ the <span style="font-weight: bold;"><B>Source Vertex</B></span> being the first \r
+ point of the Source Edge and the <span style="font-weight: bold;"><B>Target \r
+ Vertex </B></span>being the first point of the created <span style="font-weight: bold;"><B>Edge.</B></span></p>\r
+\r
+<p><span style="font-weight: bold;"><B>Projection 2D</B></span> algorithm<span \r
+ style="font-weight: bold;"> <B></B></span>permits to define the mesh of a face \r
+ by the projection of another already meshed face. This algorithm works \r
+ only if all edges of the<span style="font-weight: bold;"> <B></B></span>target \r
+ face have been meshed as 1D Projections of the edges of the source face.</p>\r
+\r
+<p>To apply this algorithm select the face to be meshed (indicated in the \r
+ field <span style="font-weight: bold;"><B>Geometry</B></span> of<span style="font-weight: bold;"><B> \r
+ Create mesh</B></span> dialog box), <span style="font-weight: bold;"><B>Projection \r
+ 2D</B></span> in the list of 2D algorithms and click the <img src="image122.gif" width="30px" height="29px" border="0" class="img_whs5"> button. \r
+ The following dialog box will appear: </p>\r
+\r
+<p class="whs3"><img src="pics/projection_2d.png" x-maintain-ratio="TRUE" width="280px" height="351px" border="0" class="img_whs6"></p>\r
+\r
+<p>In this menu you can define the <span style="font-weight: bold;"><B>Name</B></span> \r
+ of the algorithm, the algeady meshed source <span style="font-weight: bold;"><B>Face</B></span> \r
+ and the <span style="font-weight: bold;"><B>Mesh</B></span> (optional, use it \r
+ if there are several different meshes on the same face). It could also \r
+ be necessary to define the orientation of mesh on the face, which is done \r
+ by indicating two <span style="font-weight: bold;"><B>Source Vertices, </B></span>which \r
+ belong to the same edge of the<span style="font-weight: bold;"> <B></B></span>source \r
+ face, and two<span style="font-weight: bold;"><B> Target Vertices,</B></span> \r
+ which belong to the same edge of the created<span style="font-weight: bold;"><B> \r
+ Face. </B></span></p>\r
+\r
+<p><span style="font-weight: bold;"><B>Projection 3D</B></span> algorithm permits \r
+ to define the mesh of a shape by the projection of another already meshed \r
+ shape. &nbsp;This \r
+ algorithm works only if all faces and edges of the<span style="font-weight: bold;"> \r
+ <B></B></span>target face have been meshed as 1D Projections of the faces and \r
+ edges of the source face. Another limitation is that this algorithm currently \r
+ works only on boxes. </p>\r
+\r
+<p>To apply this algorithm select the solid to be meshed (indicated in \r
+ the field <span style="font-weight: bold;"><B>Geometry</B></span> of<span style="font-weight: bold;"><B> \r
+ Create mesh</B></span> dialog box), <span style="font-weight: bold;"><B>Projection \r
+ 3D</B></span> in the list of 3D algorithms and click the <img src="image122.gif" width="30px" height="29px" border="0" class="img_whs5"> button. \r
+ The following dialog box will appear: </p>\r
+\r
+<p class="whs3"><img src="pics/projection_3d.png" x-maintain-ratio="TRUE" width="280px" height="351px" border="0" class="img_whs6"></p>\r
+\r
+<p class="whs7">In this menu you can define the <span style="font-weight: bold;"><B>Name</B></span> \r
+ of the algorithm, the algeady meshed source <span style="font-weight: bold;"><B>3D \r
+ shape</B></span> and the <span style="font-weight: bold;"><B>Mesh</B></span> (optional, \r
+ use it if there are several different meshes on the same shape). It could \r
+ also be necessary to define the orientation of mesh on the shape, which \r
+ is done by indicating two <span style="font-weight: bold;"><B>Source Vertices,</B></span> \r
+ which belong to the same edge of the<span style="font-weight: bold;"> \r
+ <B></B></span>source <span style="font-weight: bold;"><B>3D Shape,</B></span> and two<span \r
+ style="font-weight: bold;"><B> Target Vertices,</B></span> which belong to the \r
+ same edge of the<span style="font-weight: bold;"> <B></B></span>source <span \r
+ style="font-weight: bold;"><B>3D Shape. </B></span></p>\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
index bc5dd720ba22f48aec9748286ff2d55369a726de..064d7b9ebf617f8013d4bc99595528f2946afd69 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Quality Controls</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nQuality Controls");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Quality Controls</h1>\r
-\r
-<h3><a name=bookmark>Free Borders</a></h3>\r
-\r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check free borders. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create open shell: a \r
- box without one plane</p>\r
-\r
-<p class="whs3">box = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs3">FaceList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs3">FaceList.remove(FaceList[5])</p>\r
-\r
-<p class="whs3">box = geompy.MakeShell(FaceList)</p>\r
-\r
-<p class="whs3">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create a mesh</p>\r
-\r
-<p class="whs3">tria = smesh.Mesh(box, \r
- &quot;Mesh_free_borders&quot;)</p>\r
-\r
-<p class="whs3">algo = tria.Segment()</p>\r
-\r
-<p class="whs3">algo.NumberOfSegments(5)</p>\r
-\r
-<p class="whs3">algo = tria.Triangle()</p>\r
-\r
-<p class="whs3">algo.MaxElementArea(20.)</p>\r
-\r
-<p class="whs3">tria.Compute()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># criterion : free borders</p>\r
-\r
-<p class="whs3">aFilterMgr = gen.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateFreeBorders()</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Free borders Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.EDGE, \r
- &quot;Free borders&quot;)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark1>Borders at Multiconnection</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check borders at multiconnection. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create open shell: \r
- a box without one plane</p>\r
-\r
-<p class="whs3">box = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs3">FaceList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs3">FaceList.remove(FaceList[5])</p>\r
-\r
-<p class="whs3">box = geompy.MakeShell(FaceList)</p>\r
-\r
-<p class="whs3">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a mesh</p>\r
-\r
-<p class="whs3">tria = smesh.Mesh(box, \r
- &quot;Mesh_borders_at_multi-connections&quot;)</p>\r
-\r
-<p class="whs3">algo = tria.Segment()</p>\r
-\r
-<p class="whs3">algo.NumberOfSegments(5)</p>\r
-\r
-<p class="whs3">algo = tria.Triangle()</p>\r
-\r
-<p class="whs3">algo.MaxElementArea(20.)</p>\r
-\r
-<p class="whs3">tria.Compute()</p>\r
-\r
-<p class="whs3">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : Borders \r
- at multi-connection</p>\r
-\r
-<p class="whs3">nb_conn = 2</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = gen.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateMultiConnection()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateEqualTo()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(nb_conn)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Borders at multi-connections Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.EDGE, \r
- &quot;Borders at multi-connections&quot;)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<h3><a name=bookmark2>Length 1D</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check length 1D. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create open shell: a \r
- box without one plane</p>\r
-\r
-<p class="whs3">box = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs3">FaceList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs3">FaceList.remove(FaceList[5])</p>\r
-\r
-<p class="whs3">box = geompy.MakeShell(FaceList)</p>\r
-\r
-<p class="whs3">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create a mesh</p>\r
-\r
-<p class="whs3">tria = smesh.Mesh(box, \r
- &quot;Mesh_Length_1D&quot;)</p>\r
-\r
-<p class="whs3">algo = tria.Segment()</p>\r
-\r
-<p class="whs3">algo.NumberOfSegments(5)</p>\r
-\r
-<p class="whs3">algo = tria.Triangle()</p>\r
-\r
-<p class="whs3">algo.MaxElementArea(20.)</p>\r
-\r
-<p class="whs3">tria.Compute()</p>\r
-\r
-<p class="whs3">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># Criterion : Length &gt; \r
- 3.</p>\r
-\r
-<p class="whs3">length_margin = \r
- 3.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = gen.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateLength()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(length_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Edges length &gt; &quot;, length_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.EDGE, \r
- &quot;Edges with length &gt; &quot; + `length_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark3>Free Edges</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check free edges. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Remove some elements \r
- to obtain free edges</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
- &gt; 95.</p>\r
-\r
-<p class="whs3">area_margin = 95.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(area_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">anEditor.RemoveElements(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : Free \r
- Edges</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateFreeEdges()</p>\r
-\r
-<p class="whs3">aPredicate.SetMesh(mesh)</p>\r
-\r
-<p class="whs3">aBorders = aPredicate.GetBorders()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create groups</p>\r
-\r
-<p class="whs3">aGroupF = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Faces with free edges&quot;)</p>\r
-\r
-<p class="whs3">aGroupN = mesh.CreateGroup(SMESH.NODE, \r
- &quot;Nodes on free edges&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># fill groups with \r
- elements, corresponding to the criterion</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Free edges Nb = &quot;, len(aBorders)</p>\r
-\r
-<p class="whs3">for i in range(len(aBorders)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;aBorder \r
- = aBorders[i]</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- &quot;Face # &quot;, aBorder.myElemId, &quot; : Edge between nodes (&quot;,</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- aBorder.myPnt1, &quot;, &quot;, aBorder.myPnt2, &quot;)&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;<span \r
- style="margin-top: 0pt;\r
-               margin-bottom: 0pt;\r
-               font-family: 'Lucida Console', monospace;">aGroupF.Add([aBorder.myElemId])</span></p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;aGroupN.Add([aBorder.myPnt1, \r
- aBorder.myPnt2])</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark4>Length 2D</a></h3>\r
-\r
-<p class="whs1"><span><font color=red ><B><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check length 2D. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create open shell: \r
- a box without one plane</p>\r
-\r
-<p class="whs3">box = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs3">FaceList = geompy.SubShapeAll(box, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs3">FaceList.remove(FaceList[5])</p>\r
-\r
-<p class="whs3">box = geompy.MakeShell(FaceList)</p>\r
-\r
-<p class="whs3">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a mesh</p>\r
-\r
-<p class="whs3">tria = smesh.Mesh(box, \r
- &quot;Mesh_Length_2D&quot;)</p>\r
-\r
-<p class="whs3">algo = tria.Segment()</p>\r
-\r
-<p class="whs3">algo.NumberOfSegments(5)</p>\r
-\r
-<p class="whs3">algo = tria.Triangle()</p>\r
-\r
-<p class="whs3">algo.MaxElementArea(20.)</p>\r
-\r
-<p class="whs3">tria.Compute()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : Length \r
- 2D &gt; 5.7</p>\r
-\r
-<p class="whs3">length_margin = \r
- 5.7</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = gen.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateLength2D()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(length_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Edges length 2D &gt; &quot;, length_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Faces with length 2D &gt; &quot; + `length_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<h3><a name=bookmark5>Borders at Multiconnection 2D</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check borders at multiconnection 2D. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import salome</p>\r
-\r
-<p class="whs3">import geompy</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import smesh</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a compound \r
- of two glued boxes</p>\r
-\r
-<p class="whs3">box1 = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs3">box2 = geompy.MakeTranslation(box1, \r
- 0., 20., 0)</p>\r
-\r
-<p class="whs3">comp = geompy.MakeCompound([box1, \r
- box2])</p>\r
-\r
-<p class="whs3">box = geompy.MakeGlueFaces(comp, \r
- 0.000001)</p>\r
-\r
-<p class="whs3">idbox = geompy.addToStudy(box, \r
- &quot;box&quot;)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a mesh</p>\r
-\r
-<p class="whs3">tria = smesh.Mesh(box, \r
- &quot;Box compound : 2D triangle mesh&quot;)</p>\r
-\r
-<p class="whs3">algo = tria.Segment()</p>\r
-\r
-<p class="whs3">algo.NumberOfSegments(5)</p>\r
-\r
-<p class="whs3">algo = tria.Triangle()</p>\r
-\r
-<p class="whs3">algo.MaxElementArea(20.)</p>\r
-\r
-<p class="whs3">tria.Compute()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = tria.GetMesh()</p>\r
-\r
-<p class="whs3">gen = smesh.smesh</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : MULTI-CONNECTION \r
- 2D = 3</p>\r
-\r
-<p class="whs3">nb_conn = 3</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = gen.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateMultiConnection2D()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateEqualTo()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(nb_conn)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Borders at multi-connection 2D = &quot;, nb_conn, &quot; Nb = &quot;, \r
- len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Borders at multi-connection 2D = &quot; + `nb_conn`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark6>Area</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check area. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># Criterion : AREA &gt; \r
- 100.</p>\r
-\r
-<p class="whs3">area_margin = 100.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(area_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; &quot;, area_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; &quot; + `area_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<h3><a name=bookmark7>Taper</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check taper. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : Taper \r
- &gt; 3e-20</p>\r
-\r
-<p class="whs3">taper_margin = 3e-20</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateTaper()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(taper_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Taper &gt; &quot;, taper_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Taper &gt; &quot; + `taper_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<h3><a name=bookmark8>Aspect Ratio</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check aspect ratio. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : ASPECT \r
- RATIO &gt; 1.8</p>\r
-\r
-<p class="whs3">ar_margin = 1.8</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateAspectRatio()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(ar_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Aspect Ratio &gt; &quot;, ar_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Aspect Ratio &gt; &quot; + `ar_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark9>Minimum Angle</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check minimum angle. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : MINIMUM \r
- ANGLE &lt; 35.</p>\r
-\r
-<p class="whs3">min_angle = 35.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateMinimumAngle()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(min_angle)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Minimum Angle &lt; &quot;, min_angle, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Minimum Angle &lt; &quot; + `min_angle`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark10>Warping</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check warping. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : WARP \r
- ANGLE &gt; 1e-15</p>\r
-\r
-<p class="whs3">wa_margin = 1e-15</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateWarping()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(wa_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Warp &gt; &quot;, wa_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Warp &gt; &quot; + `wa_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark12>Skew</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check skew. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : Skew \r
- &gt; 38.</p>\r
-\r
-<p class="whs3">skew_margin = 38.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateSkew()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(skew_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Skew &gt; &quot;, skew_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Skew &gt; &quot; + `skew_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<h3><a name=bookmark11>Aspect Ratio 3D</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check aspect ratio 3D. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic_tetra</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic_tetra.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic_tetra.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic_tetra.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : ASPECT \r
- RATIO 3D &gt; 4.5</p>\r
-\r
-<p class="whs3">ar_margin = 4.5</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateAspectRatio3D()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(ar_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># print the result</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Aspect Ratio 3D &gt; &quot;, ar_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.VOLUME, \r
- &quot;Aspect Ratio 3D &gt; &quot; + `ar_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<h3><a name=Volume>Volume</a></h3>\r
-\r
-<p class="whs1"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B><span \r
- style="font-weight: bold; color: #ff0000;"><font color=red ><B># Attention! This script has \r
- been written using the old approach basing on direct usage of SMESH idl \r
- interface.</B></font></span></B></font></span></p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to check volume. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic_tetra</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
- SMESH_mechanic_tetra.smesh</p>\r
-\r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
- SMESH_mechanic_tetra.mesh</p>\r
-\r
-<p class="whs3">salome = SMESH_mechanic_tetra.salome</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># Criterion : VOLUME &lt; \r
- 7.</p>\r
-\r
-<p class="whs3">volume_margin = \r
- 7.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateVolume3D()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(volume_margin)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># print the result</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Volume &lt; &quot;, volume_margin, &quot; Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">j = 1</p>\r
-\r
-<p class="whs3">for i in range(len(anIds)):</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;if \r
- j &gt; 20: j = 1; print &quot;&quot;</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;print \r
- anIds[i],</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;j \r
- = j + 1</p>\r
-\r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
-\r
-<p class="whs3">print &quot;&quot;</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"># create a group</p>\r
-\r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.VOLUME, \r
- &quot;Volume &lt; &quot; + `volume_margin`)</p>\r
-\r
-<p class="whs3">aGroup.Add(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
- </p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Quality Controls</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; }
+p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nQuality Controls");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Quality Controls</h1>
+
+<h3><a name=bookmark>Free Borders</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create open shell: a 
+ box without one plane</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">box 
+ = geompy.MakeBox(0., 0., 0., 20., 20., 15.)</span></p>
+
+<p class="whs1">FaceList = geompy.SubShapeAll(box, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs1">FaceList.remove(FaceList[5])</p>
+
+<p class="whs1">box = geompy.MakeShell(FaceList)</p>
+
+<p class="whs1">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a mesh</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ = smesh.Mesh(box, &quot;Mesh_free_borders&quot;)</span></p>
+
+<p class="whs1">algo = mesh.Segment()</p>
+
+<p class="whs1">algo.NumberOfSegments(5)</p>
+
+<p class="whs1">algo = mesh.Triangle()</p>
+
+<p class="whs1">algo.MaxElementArea(20.)</p>
+
+<p class="whs1">mesh.Compute() </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># criterion : free borders</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.EDGE, smesh.FT_FreeBorders)</span><span style="margin-top: 0pt;
+       margin-bottom: 0pt;
+       font-family: 'Lucida Console', monospace;"> </span></p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Free borders Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateGroup(SMESH.EDGE, 
+ &quot;Free borders&quot;)</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark1>Borders at Multiconnection</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs1">import SMESH</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create open shell: 
+ a box without one plane</p>
+
+<p class="whs1">box = geompy.MakeBox(0., 
+ 0., 0., 20., 20., 15.)</p>
+
+<p class="whs1">FaceList = geompy.SubShapeAll(box, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs1">FaceList.remove(FaceList[5])</p>
+
+<p class="whs1">box = geompy.MakeShell(FaceList)</p>
+
+<p class="whs1">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a mesh</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ = smesh.Mesh(box, &quot;Mesh_borders_at_multi-connections&quot;)</span></p>
+
+<p class="whs1">algo = mesh.Segment()</p>
+
+<p class="whs1">algo.NumberOfSegments(5)</p>
+
+<p class="whs1">algo = mesh.Triangle()</p>
+
+<p class="whs1">algo.MaxElementArea(20.)</p>
+
+<p class="whs1">mesh.Compute() </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : Borders 
+ at multi-connection</p>
+
+<p class="whs1">nb_conn = 2</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.EDGE, smesh.FT_MultiConnection, smesh.FT_EqualTo, 
+ nb_conn)</span></p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Borders at multi-connections Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateGroup(SMESH.EDGE, 
+ &quot;Borders at multi-connections&quot;)</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<h3><a name=bookmark2>Length 1D</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create open shell: a 
+ box without one plane</p>
+
+<p class="whs1">box = geompy.MakeBox(0., 
+ 0., 0., 20., 20., 15.)</p>
+
+<p class="whs1">FaceList = geompy.SubShapeAll(box, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs1">FaceList.remove(FaceList[5])</p>
+
+<p class="whs1">box = geompy.MakeShell(FaceList)</p>
+
+<p class="whs1">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create a mesh</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ = smesh.Mesh(box, &quot;Mesh_Length_1D&quot;)</span></p>
+
+<p class="whs1">algo = mesh.Segment()</p>
+
+<p class="whs1">algo.NumberOfSegments(5)</p>
+
+<p class="whs1">algo = mesh.Triangle()</p>
+
+<p class="whs1">algo.MaxElementArea(20.)</p>
+
+<p class="whs1">mesh.Compute() </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># Criterion : Length &gt; 
+ 3.</p>
+
+<p class="whs1">length_margin = 
+ 3.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.EDGE, smesh.FT_Length, smesh.FT_MoreThan, length_margin)</span></p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Edges length &gt; &quot;, length_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateGroup(SMESH.EDGE, 
+ &quot;Edges with length &gt; &quot; + `length_margin`)</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ </p>
+
+<h3><a name=bookmark3>Free Edges</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilterMgr = smesh.CreateFilterManager()</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Remove some elements 
+ to obtain free edges</p>
+
+<p class="whs3"># Criterion : AREA 
+ &gt; 95.</p>
+
+<p class="whs1">area_margin = 95.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, area_margin)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">mesh.RemoveElements(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : Free 
+ Edges</p>
+
+<p class="whs1">aBorders = mesh.GetFreeBorders() 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create groups</p>
+
+<p class="whs1">aGroupF = mesh.CreateGroup(SMESH.FACE, 
+ &quot;Faces with free edges&quot;)</p>
+
+<p class="whs1">aGroupN = mesh.CreateGroup(SMESH.NODE, 
+ &quot;Nodes on free edges&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># fill groups with 
+ elements, corresponding to the criterion</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Free edges Nb = &quot;, len(aBorders)</p>
+
+<p class="whs1">for i in range(len(aBorders)):</p>
+
+<p class="whs1">&nbsp;&nbsp;aBorder 
+ = aBorders[i]</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ &quot;Face # &quot;, aBorder.myElemId, &quot; : Edge between nodes (&quot;,</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ aBorder.myPnt1, &quot;, &quot;, aBorder.myPnt2, &quot;)&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">&nbsp;&nbsp;<span 
+ style="margin-top: 0pt;
+               margin-bottom: 0pt;
+               font-family: 'Lucida Console', monospace;">aGroupF.Add([aBorder.myElemId])</span></p>
+
+<p class="whs1">&nbsp;&nbsp;aGroupN.Add([aBorder.myPnt1, 
+ aBorder.myPnt2])</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark4>Length 2D</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create open shell: 
+ a box without one plane</p>
+
+<p class="whs1">box = geompy.MakeBox(0., 
+ 0., 0., 20., 20., 15.)</p>
+
+<p class="whs1">FaceList = geompy.SubShapeAll(box, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs1">FaceList.remove(FaceList[5])</p>
+
+<p class="whs1">box = geompy.MakeShell(FaceList)</p>
+
+<p class="whs1">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a mesh</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ = smesh.Mesh(box, &quot;Mesh_Length_2D&quot;)</span></p>
+
+<p class="whs1">algo = mesh.Segment()</p>
+
+<p class="whs1">algo.NumberOfSegments(5)</p>
+
+<p class="whs1">algo = mesh.Triangle()</p>
+
+<p class="whs1">algo.MaxElementArea(20.)</p>
+
+<p class="whs1">mesh.Compute()</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : Length 
+ 2D &gt; 5.7</p>
+
+<p class="whs1">length_margin = 
+ 5.7</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Length2D, smesh.FT_MoreThan, length_margin)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Edges length 2D &gt; &quot;, length_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Faces with length 2D &gt; &quot; 
+ + `length_margin`)</span></p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs2">&nbsp;</p>
+
+<h3><a name=bookmark5>Borders at Multiconnection 2D</a></h3>
+
+<p class="whs1">import salome</p>
+
+<p class="whs1">import geompy</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"># create a compound 
+ of two glued boxes</p>
+
+<p class="whs1">box1 = geompy.MakeBox(0., 
+ 0., 0., 20., 20., 15.)</p>
+
+<p class="whs1">box2 = geompy.MakeTranslation(box1, 
+ 0., 20., 0)</p>
+
+<p class="whs1">comp = geompy.MakeCompound([box1, 
+ box2])</p>
+
+<p class="whs1">box = geompy.MakeGlueFaces(comp, 
+ 0.000001)</p>
+
+<p class="whs1">idbox = geompy.addToStudy(box, 
+ &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a mesh</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">mesh 
+ = smesh.Mesh(box, &quot;Box compound : 2D triangle mesh&quot;)</span></p>
+
+<p class="whs1">algo = mesh.Segment()</p>
+
+<p class="whs1">algo.NumberOfSegments(5)</p>
+
+<p class="whs1">algo = mesh.Triangle()</p>
+
+<p class="whs1">algo.MaxElementArea(20.)</p>
+
+<p class="whs1">mesh.Compute() </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : MULTI-CONNECTION 
+ 2D = 3</p>
+
+<p class="whs1">nb_conn = 3</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_MultiConnection2D, smesh.FT_EqualTo, 
+ nb_conn)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Borders at multi-connection 2D = &quot;, nb_conn, &quot; Nb = &quot;, 
+ len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Borders at multi-connection 
+ 2D = &quot; + `nb_conn`)</span></p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark6>Area</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># Criterion : AREA &gt; 
+ 100.</p>
+
+<p class="whs1">area_margin = 100.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Area, smesh.FT_MoreThan, area_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Area &gt; &quot;, area_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateEmptyGroup(smesh.FACE, 
+ &quot;Area &gt; &quot; + `area_margin`)</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
+ &nbsp;</p>
+
+<h3><a name=bookmark7>Taper</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : Taper 
+ &gt; 3e-20</p>
+
+<p class="whs1">taper_margin = 3e-20</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Taper, smesh.FT_MoreThan, taper_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Taper &gt; &quot;, taper_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Taper &gt; &quot; + `taper_margin`)</span></p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ &nbsp;</p>
+
+<h3><a name=bookmark8>Aspect Ratio</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : ASPECT 
+ RATIO &gt; 1.8</p>
+
+<p class="whs1">ar_margin = 1.8</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
+ = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 
+ ar_margin)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Aspect Ratio &gt; &quot;, ar_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Aspect Ratio &gt; &quot; + `ar_margin`)</span></p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark9>Minimum Angle</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : MINIMUM 
+ ANGLE &lt; 35.</p>
+
+<p class="whs1">min_angle = 35.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_MinimumAngle, smesh.FT_LessThan, min_angle)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Minimum Angle &lt; &quot;, min_angle, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Minimum Angle &lt; &quot; + 
+ `min_angle`)</span></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark10>Warping</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : WARP 
+ ANGLE &gt; 1e-15</p>
+
+<p class="whs1">wa_margin = 1e-15</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Warping, smesh.FT_MoreThan, wa_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Warp &gt; &quot;, wa_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateEmptyGroup(smesh.FACE, 
+ &quot;Warp &gt; &quot; + `wa_margin`)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark12>Skew</a></h3>
+
+<p class="whs1">import SMESH_mechanic</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : Skew 
+ &gt; 38.</p>
+
+<p class="whs1">skew_margin = 38.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
+ smesh.FT_Skew, smesh.FT_MoreThan, skew_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Skew &gt; &quot;, skew_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
+ = mesh.CreateEmptyGroup(smesh.FACE, &quot;Skew &gt; &quot; + `skew_margin`)</span></p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<h3><a name=bookmark11>Aspect Ratio 3D</a></h3>
+
+<p class="whs1">import SMESH_mechanic_tetra 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic_tetra.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic_tetra.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic_tetra.salome</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># Criterion : ASPECT 
+ RATIO 3D &gt; 4.5</p>
+
+<p class="whs1">ar_margin = 4.5</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.VOLUME, 
+ smesh.FT_AspectRatio3D, smesh.FT_MoreThan, ar_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># print the result</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Aspect Ratio 3D &gt; &quot;, ar_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs3"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateEmptyGroup(smesh.VOLUME, 
+ &quot;Aspect Ratio 3D &gt; &quot; + `ar_margin`)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<h3><a name=Volume>Volume</a></h3>
+
+<p class="whs1">import SMESH_mechanic_tetra</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">smesh &nbsp;= 
+ SMESH_mechanic_tetra.smesh</p>
+
+<p class="whs1">mesh &nbsp;&nbsp;= 
+ SMESH_mechanic_tetra.mesh</p>
+
+<p class="whs1">salome = SMESH_mechanic_tetra.salome</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># Criterion : VOLUME &lt; 
+ 7.</p>
+
+<p class="whs1">volume_margin = 
+ 7.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aFilter = smesh.GetFilter(smesh.VOLUME, 
+ smesh.FT_Volume3D, smesh.FT_LessThan, volume_margin)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
+ </p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># print the result</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs1">print &quot;Criterion: 
+ Volume &lt; &quot;, volume_margin, &quot; Nb = &quot;, len(anIds)</p>
+
+<p class="whs1">j = 1</p>
+
+<p class="whs1">for i in range(len(anIds)):</p>
+
+<p class="whs1">&nbsp;&nbsp;if 
+ j &gt; 20: j = 1; print &quot;&quot;</p>
+
+<p class="whs1">&nbsp;&nbsp;print 
+ anIds[i],</p>
+
+<p class="whs1">&nbsp;&nbsp;j 
+ = j + 1</p>
+
+<p class="whs1">&nbsp;&nbsp;pass</p>
+
+<p class="whs1">print &quot;&quot;</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"># create a group</p>
+
+<p class="whs1">aGroup = mesh.CreateEmptyGroup(smesh.VOLUME, 
+ &quot;Volume &lt; &quot; + `volume_margin`)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">aGroup.Add(anIds)</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1) 
+ </span>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
diff --git a/doc/salome/gui/SMESH/radial_prism.htm b/doc/salome/gui/SMESH/radial_prism.htm
new file mode 100644 (file)
index 0000000..3ca4485
--- /dev/null
@@ -0,0 +1,124 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>Radial Prism</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
+<!--\r
+p.whs1 { margin-left:0px; }\r
+p.whs2 { margin-left:48px; }\r
+img_whs3 { border:none; width:270px; height:179px; float:none; border-style:none; }\r
+img_whs4 { border:none; width:299px; height:182px; float:none; border-style:none; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs1 {margin-left:1pt; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+  if (innerWidth != origWidth || innerHeight != origHeight)\r
+     location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+       origWidth = innerWidth;\r
+       origHeight = innerHeight;\r
+       onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+       if (window.setRelStartPage)\r
+       {\r
+       addTocInfo("MESH module\nCreating meshes\nDefining Algorithms\nRadial Prism Algorithm");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+       }\r
+\r
+\r
+       if (window.setRelStartPage)\r
+       {\r
+       setRelStartPage("index.htm");\r
+\r
+               autoSync(1);\r
+               sendSyncInfo();\r
+               sendAveInfoOut();\r
+       }\r
+\r
+}\r
+else\r
+       if (window.gbIE4)\r
+               document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>Radial Prism</h1>\r
+\r
+<p>This algorithm applies to the meshing of a hollow 3D shape, i.e. such \r
+ shape should be composed of two meshed shells: an outer shell and an internal \r
+ shell without intersection with the outer shell. One of the shells should \r
+ be a 2D Projection of the other shell. The meshes of the shells can consist \r
+ both of triangles and quadrangles.</p>\r
+\r
+<p class="whs1">The Radial Prism algorithm would fill the \r
+ space between the two shells with meshes. </p>\r
+\r
+<p class="whs1">This algorithm also needs the information \r
+ concerning the number and distribution of mesh layers between the inner \r
+ and the outer shapes.</p>\r
+\r
+<p class="whs2">&nbsp;<img src="pics/number_of_layers.png" x-maintain-ratio="TRUE" width="270px" height="179px" border="0" class="img_whs3"></p>\r
+\r
+<p class="whs1">Distribution of layers can be set with any \r
+ of 1D Hypotheses. </p>\r
+\r
+<p class="whs2"><img src="pics/distribution_of_layers.png" x-maintain-ratio="TRUE" width="299px" height="182px" border="0" class="img_whs4"></p>\r
+\r
+<p>&nbsp;</p>\r
+\r
+<p class="whs2">&nbsp;</p>\r
+\r
+<p>&nbsp;</p>\r
+\r
+<p class="whs2">&nbsp;</p>\r
+\r
+<p class="whs2">&nbsp;</p>\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
index 177ed997c606ac389a3dbc980cae6f94240f6de9..b5d7a667def94b29f5444ab0c131abf1139a58e0 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Revolution</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; width:24px; height:25px; border-style:none; }\r
-img_whs3 { border:none; width:390px; height:437px; float:none; border-style:none; }\r
-ul.whs4 { list-style:disc; }\r
-img_whs5 { border:none; width:350px; height:201px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nRevolution");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Revolution</h1>\r
-\r
-<p>Revolution is a type of surface meshing by generation from discretized \r
- lines. It is used to build mesh elements of plus one dimension than the \r
- swept ones. Each swept 1D element produces one or more quadrangles (or \r
- triangles if one node of a rotated element lays on the revolution axis).</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class=TODO>To apply revolution:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Revolution </B></span>item \r
- or click <img src="image92.gif" width="24px" height="25px" border="0" class="img_whs2"> button in the toolbar. The following dialog box \r
- shall appear:</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/revolution1.png" x-maintain-ratio="TRUE" width="390px" height="437px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/revolution2.png" x-maintain-ratio="TRUE" width="390px" height="437px" border="0" class="img_whs3"></p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">2. In this dialog box you should specify:</p>\r
-\r
-<ul type="disc" class="whs4">\r
-       \r
-       <li class=kadov-p><p class="whs1">the type of elements \r
- which will be extruded (1D or 2D),</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">specify the IDs of \r
- the elements which will be revolved by selecting them in the 3D viewer \r
- or select the whole mesh or submesh,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">specify the axis (point \r
- and vector) around which the elements will be revolved,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">angle of rotation,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">number of steps,</p></li>\r
-       \r
-       <li class=kadov-p><p class="whs1">tolerance of rotation</p></li>\r
-</ul>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply \r
- </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class=TODO\r
-       style="margin-left: 40px;"><img src="image78.jpg" width="350px" height="201px" border="0" class="img_whs5"></p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="grouping_elements.htm#bookmark3">&nbsp;</a><a href="modifying_meshes.htm#bookmark11">Revolution</a> \r
- operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Revolution</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; width:24px; height:25px; border-style:none; }
+img_whs3 { border:none; width:390px; height:437px; float:none; border-style:none; }
+ul.whs4 { list-style:disc; }
+img_whs5 { border:none; width:350px; height:201px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nRevolution");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Revolution</h1>
+
+<p>Revolution is a type of surface meshing by generation from discretized 
+ lines. It is used to build mesh elements of plus one dimension than the 
+ swept ones. Each swept 1D element produces one or more quadrangles (or 
+ triangles if one node of a rotated element lays on the revolution axis).</p>
+
+<p>&nbsp;</p>
+
+<p class=TODO>To apply revolution:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs1">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Revolution </B></span>item 
+ or click <img src="image92.gif" width="24px" height="25px" border="0" class="img_whs2"> button in the toolbar. The following dialog box 
+ shall appear:</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/revolution1.png" x-maintain-ratio="TRUE" width="390px" height="437px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1"><img src="pics/revolution2.png" x-maintain-ratio="TRUE" width="390px" height="437px" border="0" class="img_whs3"></p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">2. In this dialog box you should specify:</p>
+
+<ul type="disc" class="whs4">
+       
+       <li class=kadov-p><p class="whs1">the type of elements 
+ which will be extruded (1D or 2D),</p></li>
+       
+       <li class=kadov-p><p class="whs1">specify the IDs of 
+ the elements which will be revolved by selecting them in the 3D viewer 
+ or select the whole mesh or submesh,</p></li>
+       
+       <li class=kadov-p><p class="whs1">specify the axis (point 
+ and vector) around which the elements will be revolved,</p></li>
+       
+       <li class=kadov-p><p class="whs1">angle of rotation,</p></li>
+       
+       <li class=kadov-p><p class="whs1">number of steps,</p></li>
+       
+       <li class=kadov-p><p class="whs1">tolerance of rotation</p></li>
+</ul>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">3. Click the <span style="font-weight: bold;"><B>Apply 
+ </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button.</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class=TODO
+       style="margin-left: 40px;"><img src="image78.jpg" width="350px" height="201px" border="0" class="img_whs5"></p>
+
+<p class=TODO>&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="grouping_elements.htm#bookmark3">&nbsp;</a><a href="modifying_meshes.htm#bookmark11">Revolution</a> 
+ operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 93ed142e977396aef08b7b758691a6774a798f8c..2a2cb8d7857540c3b0e7efb36382685cf75b5424 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Selection filter library</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { font-weight:bold; }\r
-img_whs2 { border:none; width:624px; height:776px; float:none; border-style:none; }\r
-img_whs3 { border:none; width:31px; height:30px; border-style:none; }\r
-img_whs4 { border:none; width:624px; height:525px; float:none; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nGrouping elements\nSelection filter library");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Selection filter library</h1>\r
-\r
-<p>Selection filter library is a powerful tool enabling to create filters \r
- to be used on meshes. You can access to it from the Main Menu via <span \r
- style="font-weight: bold;"><B>Tools / Selection filter library.</B></span></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1"><img src="pics/selectionfilterlibrary.png" x-maintain-ratio="TRUE" width="624px" height="776px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs1">Library file name s<span style="font-weight: normal;">hows \r
- the path and the file name where your filters will be stored. By clicking \r
- the</span> <img src="image103.gif" width="31px" height="30px" border="0" class="img_whs3"> <span style="font-weight: normal;">browse button \r
- you can load an existing filter library.</span></p>\r
-\r
-<p><span style="font-weight: bold;"><B>Names of filters</B></span> lists the filters \r
- created or uploaded for the current study. You can <span style="font-weight: bold;"><B>Add</B></span> \r
- or <span style="font-weight: bold;"><B>Delete</B></span> filters. &nbsp;</p>\r
-\r
-<p>In <span style="font-weight: bold;"><B>Filter name</B></span> box you can specify \r
- the name for your filter. By default it is prefixed with the corresponding \r
- entity type.</p>\r
-\r
-<p>Each filter can be applicable to <span style="font-weight: bold;"><B>Nodes, \r
- Edges, Faces</B></span> or <span style="font-weight: bold;"><B>Volumes</B></span>. \r
- You can combine many criteria in one filter, but they all must be of the \r
- same <span style="font-weight: bold;"><B>Entity type</B></span>. </p>\r
-\r
-<p>The <span style="font-weight: bold;"><B>Add</B></span> button creates a new \r
- criterion at the end of the list of criteria. The <span style="font-weight: bold;"><B>Insert</B></span> \r
- button creates a new criterion before the selected criterion. The <span \r
- style="font-weight: bold;"><B>Remove</B></span> button deletes the selected criterion. \r
- The <span style="font-weight: bold;"><B>Clear</B></span> button deletes all criteria. \r
- &nbsp;</p>\r
-\r
-<p>Each <span style="font-weight: bold;"><B>Entity type</B></span> has its specific \r
- list of criteria, however all filters have common syntax. For each criterion \r
- you should specify the <span style="font-weight: bold;"><B>Threshold Value</B></span> \r
- and whether we search for the elements that should be <span style="font-weight: bold;"><B>More, \r
- Less or Equal</B></span> to this <span style="font-weight: bold;"><B>Value</B></span>. \r
- You should also specify if the criterion is <span style="font-weight: bold;"><B>Unary</B></span> \r
- or <span style="font-weight: bold;"><B>Binary.</B></span> &nbsp;&nbsp;</p>\r
-\r
-<p>Some criteria should have the additional parameter of <span style="font-weight: bold;"><B>Tolerance</B></span>.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>When we create a <span style="font-weight: bold;"><B>Standalone Group</B></span> \r
- using filters (for this click <span style="font-weight: bold;"><B>Set Filters</B></span> \r
- button in the <span style="font-weight: bold;"><B>Create Group</B></span> menu), \r
- the menu for setting filters looks a bit differently. Toggling <span style="font-weight: bold;"><B>Insert \r
- filter in viewer</B></span> checkbox enables to preview the group selected \r
- with your current filter in the viewer. </p>\r
-\r
-<p>In the <span style="font-weight: bold;"><B>Source</B></span> field you choose \r
- if the filter will be applied to the whole <span style="font-weight: bold;"><B>Mesh</B></span>, \r
- the<span style="font-weight: bold;"><B> Initial Selection </B></span>or the<span \r
- style="font-weight: bold;"><B> Current Group. </B></span></p>\r
-\r
-<p><span style="font-weight: bold;"><B>Copy from...</B></span> button gives you \r
- a possibility to load an existing filter from <span style="font-weight: bold;"><B>Selection \r
- filter library</B></span> and <span style="font-weight: bold;"><B>Add to...</B></span> \r
- button gives you a possibility to save your current filter in the Library. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="pics/a-filteronedges.png" x-maintain-ratio="TRUE" width="624px" height="525px" border="0" class="img_whs4"></p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Selection filter library</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { font-weight:bold; }
+img_whs2 { border:none; width:624px; height:776px; float:none; border-style:none; }
+img_whs3 { border:none; width:31px; height:30px; border-style:none; }
+img_whs4 { border:none; width:624px; height:525px; float:none; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nGrouping elements\nSelection filter library");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Selection filter library</h1>
+
+<p>Selection filter library is a powerful tool enabling to create filters 
+ to be used on meshes. You can access to it from the Main Menu via <span 
+ style="font-weight: bold;"><B>Tools / Selection filter library.</B></span></p>
+
+<p>&nbsp;</p>
+
+<p class="whs1"><img src="pics/selectionfilterlibrary.png" x-maintain-ratio="TRUE" width="624px" height="776px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p class="whs1">Library file name s<span style="font-weight: normal;">hows 
+ the path and the file name where your filters will be stored. By clicking 
+ the</span> <img src="image103.gif" width="31px" height="30px" border="0" class="img_whs3"> <span style="font-weight: normal;">browse button 
+ you can load an existing filter library.</span></p>
+
+<p><span style="font-weight: bold;"><B>Names of filters</B></span> lists the filters 
+ created or uploaded for the current study. You can <span style="font-weight: bold;"><B>Add</B></span> 
+ or <span style="font-weight: bold;"><B>Delete</B></span> filters. &nbsp;</p>
+
+<p>In <span style="font-weight: bold;"><B>Filter name</B></span> box you can specify 
+ the name for your filter. By default it is prefixed with the corresponding 
+ entity type.</p>
+
+<p>Each filter can be applicable to <span style="font-weight: bold;"><B>Nodes, 
+ Edges, Faces</B></span> or <span style="font-weight: bold;"><B>Volumes</B></span>. 
+ You can combine many criteria in one filter, but they all must be of the 
+ same <span style="font-weight: bold;"><B>Entity type</B></span>. </p>
+
+<p>The <span style="font-weight: bold;"><B>Add</B></span> button creates a new 
+ criterion at the end of the list of criteria. The <span style="font-weight: bold;"><B>Insert</B></span> 
+ button creates a new criterion before the selected criterion. The <span 
+ style="font-weight: bold;"><B>Remove</B></span> button deletes the selected criterion. 
+ The <span style="font-weight: bold;"><B>Clear</B></span> button deletes all criteria. 
+ &nbsp;</p>
+
+<p>Each <span style="font-weight: bold;"><B>Entity type</B></span> has its specific 
+ list of criteria, however all filters have common syntax. For each criterion 
+ you should specify the <span style="font-weight: bold;"><B>Threshold Value</B></span> 
+ and whether we search for the elements that should be <span style="font-weight: bold;"><B>More, 
+ Less or Equal</B></span> to this <span style="font-weight: bold;"><B>Value</B></span>. 
+ You should also specify if the criterion is <span style="font-weight: bold;"><B>Unary</B></span> 
+ or <span style="font-weight: bold;"><B>Binary.</B></span> &nbsp;&nbsp;</p>
+
+<p>Some criteria should have the additional parameter of <span style="font-weight: bold;"><B>Tolerance</B></span>.</p>
+
+<p>&nbsp;</p>
+
+<p>When we create a <span style="font-weight: bold;"><B>Standalone Group</B></span> 
+ using filters (for this click <span style="font-weight: bold;"><B>Set Filters</B></span> 
+ button in the <span style="font-weight: bold;"><B>Create Group</B></span> menu), 
+ the menu for setting filters looks a bit differently. Toggling <span style="font-weight: bold;"><B>Insert 
+ filter in viewer</B></span> checkbox enables to preview the group selected 
+ with your current filter in the viewer. </p>
+
+<p>In the <span style="font-weight: bold;"><B>Source</B></span> field you choose 
+ if the filter will be applied to the whole <span style="font-weight: bold;"><B>Mesh</B></span>, 
+ the<span style="font-weight: bold;"><B> Initial Selection </B></span>or the<span 
+ style="font-weight: bold;"><B> Current Group. </B></span></p>
+
+<p><span style="font-weight: bold;"><B>Copy from...</B></span> button gives you 
+ a possibility to load an existing filter from <span style="font-weight: bold;"><B>Selection 
+ filter library</B></span> and <span style="font-weight: bold;"><B>Add to...</B></span> 
+ button gives you a possibility to save your current filter in the Library. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p><img src="pics/a-filteronedges.png" x-maintain-ratio="TRUE" width="624px" height="525px" border="0" class="img_whs4"></p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 91e81418c1084b049c5e7aa4b789f0ed17a8b421..08ce66a7cc6be41ba7419ebdc4320b8bf0098e37 100755 (executable)
-|SourceProjectName:SMESH.hpr\r
-|DestinationProjectName:index.htm\r
-whhost.js\r
-whmsg.js\r
-whmozemu.js\r
-whproxy.js\r
-whstub.js\r
-whutils.js\r
-whver.js\r
-whform.js\r
-whphost.js\r
-whstart.js\r
-whtopic.js\r
-whframes.js\r
-whlang.js\r
-whskin_info.htm\r
-whskin_blank.htm\r
-whskin_pickup.htm\r
-whskin_homepage.htm\r
-whskin_tw.htm\r
-whnjs.htm\r
-whthost.js\r
-whtdhtml.htm\r
-whihost.js\r
-whibody.htm\r
-whiform.htm\r
-whfhost.js\r
-whfbody.htm\r
-whfform.htm\r
-whghost.js\r
-whgbody.htm\r
-whgdhtml.htm\r
-whgdef.htm\r
-whproj.js\r
-whproj.xml\r
-whproj.htm\r
-whxdata\whtoc.xml\r
-whxdata\whidx.xml\r
-whxdata\whfts.xml\r
-whxdata\whglo.xml\r
-whdata\whtoc.js\r
-whdata\whtoc.htm\r
-whdata\whtdata.js\r
-whdata\whidx.js\r
-whdata\whidx.htm\r
-whdata\whidata.js\r
-whdata\whfts.js\r
-whdata\whfts.htm\r
-whdata\whglo.js\r
-whdata\whglo.htm\r
-whdata\whgdata.js\r
-whdata\whftdata.js\r
-whdata\whfwdata.js\r
-whres.xml\r
-webhelp.jar\r
-webhelp.cab\r
-whgdata\whnvp30.htm\r
-whgdata\whnvp31.htm\r
-whgdata\whnvp32.htm\r
-whgdata\whnvp33.htm\r
-whgdata\whnvt30.htm\r
-whgdata\whnvt31.htm\r
-whgdata\whnvt32.htm\r
-whgdata\whnvt33.htm\r
-whgdata\whnvf30.htm\r
-whgdata\whnvf31.htm\r
-whgdata\whnvf32.htm\r
-whgdata\whnvf33.htm\r
-whgdata\whnvl31.htm\r
-whgdata\whnvl32.htm\r
-whgdata\whnvl33.htm\r
-whgdata\whexpbar.gif\r
-cshdat_webhelp.htm\r
-whcsh_home.htm\r
-whcshdata.htm\r
-cshdat_robohelp.htm\r
-whd_topic.xml\r
-whd_nvp10.htm\r
-whd_nvp20.htm\r
-whd_tabs.htm\r
-whd_dpns.htm\r
-whd_tab0.gif\r
-whd_tab1.gif\r
-whd_tab2.gif\r
-whd_tab3.gif\r
-whd_tab4.gif\r
-whd_tab5.gif\r
-whd_tab6.gif\r
-whd_tab7.gif\r
-whd_tab8.gif\r
-whd_toc1.gif\r
-whd_toc2.gif\r
-whd_toc3.gif\r
-whd_toc4.gif\r
-whd_show0.gif\r
-whd_show1.gif\r
-whd_show2.gif\r
-whd_hide0.gif\r
-whd_hide1.gif\r
-whd_hide2.gif\r
-whd_sync0.gif\r
-whd_sync1.gif\r
-whd_sync2.gif\r
-whd_prev0.gif\r
-whd_prev1.gif\r
-whd_prev2.gif\r
-whd_next0.gif\r
-whd_next1.gif\r
-whd_next2.gif\r
-whd_wbsh0.gif\r
-whd_wbsh1.gif\r
-whd_wbsh2.gif\r
-whidhtml.htm\r
-whfdhtml.htm\r
-index_hha.hhk\r
-index.hhc\r
-index.hhk\r
-about_viewing_meshes.htm\r
-adding_quadratic_nodes_and_elements.htm\r
-aspect_ratio_3d.htm\r
-borders_at_multi-connection.htm\r
-borders_at_multiconnection_2d.htm\r
-clipping.htm\r
-constructing_meshes.htm\r
-convert_to_from_quadratic_mesh.htm\r
-defining_hypotheses_tui.htm\r
-deleting_groups.htm\r
-display_entity.htm\r
-extrusion.htm\r
-extrusion_along_a_path.htm\r
-files\about_hypotheses.htm\r
-files\about_meshes.htm\r
-files\about_meshing_algorithms.htm\r
-files\about_quality_controls.htm\r
-files\adding_nodes_and_elements.htm\r
-files\area_of_elements.htm\r
-files\arithmetic_1d.htm\r
-files\aspect_ratio.htm\r
-files\changing_orientation_of_elements.htm\r
-files\constructing_groups_of_specific_elements.htm\r
-files\constructing_meshes.htm\r
-files\constructing_submeshes.htm\r
-files\creating_groups.htm\r
-files\cutting_quadrangles.htm\r
-files\diagonal_iversion_of_elements.htm\r
-files\displacing_nodes.htm\r
-files\displaying_nodes_numbers.htm\r
-files\editing_groups.htm\r
-files\importing_and_exporting_meshes.htm\r
-files\length_of_edges.htm\r
-files\max._element_area_hypothesis.htm\r
-files\max._element_volume_hypothsis.htm\r
-files\merging_nodes.htm\r
-files\minimum_angle.htm\r
-files\non_conform_mesh_allowed_hypothesis.htm\r
-files\reassigning_hypotheses_and_algorithms.htm\r
-files\removing_nodes_and_elements.htm\r
-files\renumbering_nodes_and_elements.htm\r
-files\rotation.htm\r
-files\running_smesh_module.htm\r
-files\sewing_meshes.htm\r
-files\skew.htm\r
-files\smoothing.htm\r
-files\symmetry.htm\r
-files\taper.htm\r
-files\translation.htm\r
-files\uniting_a_set_of_triangles.htm\r
-files\uniting_two_triangles.htm\r
-files\using_operations_on_groups.htm\r
-files\viewing_mesh_info.htm\r
-files\vtk_3d_viewer.htm\r
-files\warp.htm\r
-free_borders.htm\r
-free_edges.htm\r
-grouping_elements.htm\r
-length.htm\r
-merge_elements.htm\r
-mesh.htm\r
-modifying_meshes.htm\r
-namespacesmesh.html\r
-netgen_2d_and_3d_hypotheses.htm\r
-pattern_mapping.htm\r
-presentation.htm\r
-quality_controls.htm\r
-revolution.htm\r
-selection_filter_library.htm\r
-smesh.py_introduction.htm\r
-transforming_meshes.htm\r
-transparency.htm\r
-viewing_meshes.htm\r
-volume.htm\r
-ehelp.xml\r
-texture_horiz_ltbluebubbles.jpg\r
-index.glo\r
-default.css\r
-pics\add_node.png\r
-pics\remove_nodes2.png\r
-pics\merging_nodes2.png\r
-pics\moving_nodes2.png\r
-pics\smoothing2.png\r
-pics\b-mberofsegments.png\r
-pics\b-flection1d.png\r
-pics\a-cuttingofquadrangles.png\r
-pics\addquadrangle.png\r
-pics\intersectgroups.png\r
-pics\editgroup.png\r
-image95.jpg\r
-pics\sewing1.png\r
-image92.gif\r
-image51.jpg\r
-image70.gif\r
-pics\netgen2d.png\r
-pics\circle_simple_after.png\r
-pics\curvi_simple_after.png\r
-pics\image138.gif\r
-pics\create_group.png\r
-pics\edit_mesh_change_value_hyp.png\r
-pics\free_borders1.png\r
-pics\add_triangle.png\r
-pics\b-art_end_length.png\r
-pics\a-creategroup.png\r
-pics\a-clipping2.png\r
-pics\a-transparency.png\r
-pics\diagonalinversion.png\r
-pics\translation1.png\r
-image96.jpg\r
-pics\sewing2.png\r
-image119.gif\r
-image108.gif\r
-image52.jpg\r
-image82.gif\r
-image71.gif\r
-image30.jpg\r
-pics\extrusion1.png\r
-pics\distributionwithanalyticdensity.png\r
-pics\image139.gif\r
-pics\rotation1.png\r
-pics\a-createpolyhedralvolume.png\r
-pics\a-patterntype.png\r
-pics\orientaation1.png\r
-pics\translation2.png\r
-pics\cutgroups.png\r
-image97.jpg\r
-pics\sewing3.png\r
-image86.jpg\r
-image50.gif\r
-image94.gif\r
-image83.gif\r
-image31.jpg\r
-pics\circle_angles_after.png\r
-pics\circle_simple_before.png\r
-pics\curvi_angles_after.png\r
-pics\graduatedaxes1.png\r
-pics\image107.gif\r
-pics\automaticlength.png\r
-pics\image27.gif\r
-pics\add_polyhedron.png\r
-pics\add_edge.png\r
-pics\rotation2.png\r
-pics\b-ithmetic1d.png\r
-image10.jpg\r
-pics\a-maxelarea.png\r
-pics\addhexahedron.png\r
-pics\addtetrahedron.png\r
-image5.jpg\r
-pics\sewing4.png\r
-image95.gif\r
-image76.jpg\r
-image84.gif\r
-image32.jpg\r
-image40.gif\r
-pics\curvi_simple_before.png\r
-pics\image108.gif\r
-pics\aqt.png\r
-pics\distributionwithtabledensity.png\r
-pics\smoothing.png\r
-image88.jpg\r
-image30.gif\r
-image96.gif\r
-image77.jpg\r
-image74.gif\r
-image63.gif\r
-image22.jpg\r
-image41.gif\r
-pics\edge_wire_3d_before.png\r
-pics\image109.gif\r
-pics\meshimportmesh.png\r
-pics\deletegroups.png\r
-pics\editing_groups1.png\r
-pics\uniting_two_triangles1.png\r
-image7.jpg\r
-pics\a-averagelength.png\r
-pics\a-patterntype1.png\r
-pics\extrusionalongaline1.png\r
-pics\movenodes.png\r
-pics\rotation.png\r
-image56.jpg\r
-image53.gif\r
-image20.gif\r
-image97.gif\r
-image78.jpg\r
-image64.gif\r
-image23.jpg\r
-pics\edge_wire_after.png\r
-pics\edge_wire_before.png\r
-image151.gif\r
-pics\cut_groups1.png\r
-pics\editing_groups2.png\r
-pics\uniting_two_triangles2.png\r
-pics\a-unionoftriangles.png\r
-pics\a-arithmetic1d.png\r
-pics\extrusionalongaline2.png\r
-image79.jpg\r
-image98.gif\r
-image32.gif\r
-pics\image91.gif\r
-image152.gif\r
-pics\cut_groups2.png\r
-image130.gif\r
-pics\max_el_area.png\r
-pics\a-viewgeneral.png\r
-pics\revolution1.png\r
-pics\addtriangle.png\r
-image99.gif\r
-image55.gif\r
-image88.gif\r
-image36.jpg\r
-image33.gif\r
-image25.jpg\r
-i_blue.jpg\r
-image153.gif\r
-image15.jpg\r
-image142.gif\r
-pics\cut_groups3.png\r
-image131.gif\r
-pics\add_quadrangle.png\r
-pics\uniting_a_set_of_triangles1.png\r
-pics\a-deflection1d.png\r
-pics\revolution2.png\r
-pics\unionoftwotriangles.png\r
-pics\addnode.png\r
-image120.gif\r
-image56.gif\r
-image37.jpg\r
-image67.gif\r
-image34.gif\r
-pics\convert.png\r
-image154.gif\r
-image143.gif\r
-image132.gif\r
-pics\edit_mesh1.png\r
-pics\remove_elements1.png\r
-pics\uniting_a_set_of_triangles2.png\r
-pics\mergenodes.png\r
-pics\symmetry1.png\r
-image121.gif\r
-image79.gif\r
-image38.jpg\r
-image46.gif\r
-image35.gif\r
-image27.jpg\r
-image24.gif\r
-image155.gif\r
-pics\mesh_for_extr_along_path.png\r
-pics\createmesh-inv2.png\r
-image144.gif\r
-pics\intersect_groups1.png\r
-image133.gif\r
-pics\add_polygone.png\r
-pics\remove_elements2.png\r
-pics\a-maxelvolume.png\r
-pics\symmetry2.png\r
-image122.gif\r
-image58.gif\r
-image36.gif\r
-image25.gif\r
-note1.gif\r
-image156.gif\r
-pics\edge_wire_3d_after.png\r
-pics\createmesh-inv3.png\r
-image145.gif\r
-pics\intersect_groups2.png\r
-image134.gif\r
-pics\b-mesh_infos.png\r
-pics\symmetry3.png\r
-pics\addedge.png\r
-image123.gif\r
-image101.gif\r
-image37.gif\r
-pics\straight_after.png\r
-pics\image96.gif\r
-image146.gif\r
-pics\intersect_groups3.png\r
-image135.gif\r
-pics\b-erage_length.png\r
-pics\a-standmeshinfo.png\r
-pics\a-nbsegments1.png\r
-pics\patternmapping1.png\r
-image90.jpg\r
-image124.gif\r
-image49.gif\r
-image38.gif\r
-pics\image100.gif\r
-pics\image97.gif\r
-pics\length-crit.png\r
-image147.gif\r
-image136.gif\r
-pics\a-nbsegments2.png\r
-pics\a-startendlength.png\r
-pics\patternmapping2.png\r
-pics\removeelements.png\r
-pics\removenodes.png\r
-pics\uniongroups.png\r
-image125.gif\r
-image103.gif\r
-pics\exemple.gif\r
-image39.gif\r
-image28.gif\r
-pics\advanced_mesh_infos.png\r
-pics\image98.gif\r
-image148.gif\r
-pics\meshexportmesh.png\r
-pics\image21.gif\r
-pics\union_groups1.png\r
-image137.gif\r
-pics\free_edges.png\r
-pics\creategroup.png\r
-image92.jpg\r
-image126.gif\r
-image18.gif\r
-image70.jpg\r
-pics\straight_before.png\r
-pics\createmesh-inv.png\r
-pics\image102.gif\r
-pics\image99.gif\r
-pics\image77.gif\r
-pics\meshtrianglemergeelem1.png\r
-pics\mergeelems.png\r
-pics\union_groups2.png\r
-pics\length2d.png\r
-pics\renumbernodes.png\r
-image127.gif\r
-image93.jpg\r
-image105.gif\r
-image19.gif\r
-image71.jpg\r
-pics\image89.gif\r
-pics\image78.gif\r
-pics\image23.gif\r
-pics\selectionfilterlibrary.png\r
-pics\union_groups3.png\r
-pics\edit_mesh_remove_hyp.png\r
-pics\remove_nodes1.png\r
-pics\merging_nodes1.png\r
-pics\moving_nodes1.png\r
-pics\smoothing1.png\r
-pics\a-filteronedges.png\r
-pics\renumberelements.png\r
-pics\addpolygon.png\r
-image94.jpg\r
-image106.gif\r
-image91.gif\r
-image80.gif\r
-index.ppf\r
-ehlpdhtm.js\r
-default_ns.css\r
-whxdata\whtdata0.xml\r
-whxdata\whftdata0.xml\r
-whxdata\whfwdata0.xml\r
-whxdata\whgdata0.xml\r
-whdata\whtdata0.htm\r
-whdata\whftdata0.htm\r
-whdata\whfwdata0.htm\r
-whdata\whgdata0.htm\r
-whgdata\whlstt0.htm\r
-whgdata\whlstt1.htm\r
-whgdata\whlstt2.htm\r
-whgdata\whlstt3.htm\r
-whgdata\whlstt4.htm\r
-whgdata\whlstt5.htm\r
-whgdata\whlstt6.htm\r
-whgdata\whlstt7.htm\r
-whgdata\whlstt8.htm\r
-whgdata\whlstt9.htm\r
-whgdata\whlsti0.htm\r
-whgdata\whlstfl0.htm\r
-whgdata\whlstfl1.htm\r
-whgdata\whlstfl2.htm\r
-whgdata\whlstfl3.htm\r
-whgdata\whlstfl4.htm\r
-whgdata\whlstfl5.htm\r
-whgdata\whlstfl6.htm\r
-whgdata\whlstfl7.htm\r
-whgdata\whlstfl8.htm\r
-whgdata\whlstfl9.htm\r
-whgdata\whlstfl10.htm\r
-whgdata\whlstfl11.htm\r
-whgdata\whlstfl12.htm\r
-whgdata\whlstfl13.htm\r
-whgdata\whlstfl14.htm\r
-whgdata\whlstfl15.htm\r
-whgdata\whlstfl16.htm\r
-whgdata\whlstfl17.htm\r
-whgdata\whlstfl18.htm\r
-whgdata\whlstfl19.htm\r
-whgdata\whlstfl20.htm\r
-whgdata\whlstfl21.htm\r
-whgdata\whlstfl22.htm\r
-whgdata\whlstfl23.htm\r
-whgdata\whlstfl24.htm\r
-whgdata\whlstfl25.htm\r
-whgdata\whlstf0.htm\r
-whgdata\whlstf1.htm\r
-whgdata\whlstf2.htm\r
-whgdata\whlstf3.htm\r
-whgdata\whlstf4.htm\r
-whgdata\whlstf5.htm\r
-whgdata\whlstf6.htm\r
-whgdata\whlstf7.htm\r
-whgdata\whlstf8.htm\r
-whgdata\whlstf9.htm\r
-whgdata\whlstf10.htm\r
-whgdata\whlstf11.htm\r
-whgdata\whlstf12.htm\r
-whgdata\whlstf13.htm\r
-whgdata\whlstf14.htm\r
-whgdata\whlstg0.htm\r
-index.htm\r
-index_csh.htm\r
-index_rhc.htm\r
+|SourceProjectName:SMESH.hpr
+|DestinationProjectName:index.htm
+whhost.js
+whmsg.js
+whmozemu.js
+whproxy.js
+whstub.js
+whutils.js
+whver.js
+whform.js
+whphost.js
+whstart.js
+whtopic.js
+whframes.js
+whlang.js
+whskin_info.htm
+whskin_blank.htm
+whskin_pickup.htm
+whskin_homepage.htm
+whskin_tw.htm
+whnjs.htm
+whthost.js
+whtdhtml.htm
+whihost.js
+whibody.htm
+whiform.htm
+whfhost.js
+whfbody.htm
+whfform.htm
+whghost.js
+whgbody.htm
+whgdhtml.htm
+whgdef.htm
+whproj.js
+whproj.xml
+whproj.htm
+whxdata\whtoc.xml
+whxdata\whidx.xml
+whxdata\whfts.xml
+whxdata\whglo.xml
+whdata\whtoc.js
+whdata\whtoc.htm
+whdata\whtdata.js
+whdata\whidx.js
+whdata\whidx.htm
+whdata\whidata.js
+whdata\whfts.js
+whdata\whfts.htm
+whdata\whglo.js
+whdata\whglo.htm
+whdata\whgdata.js
+whdata\whftdata.js
+whdata\whfwdata.js
+whres.xml
+webhelp.jar
+webhelp.cab
+whgdata\whnvp30.htm
+whgdata\whnvp31.htm
+whgdata\whnvp32.htm
+whgdata\whnvp33.htm
+whgdata\whnvt30.htm
+whgdata\whnvt31.htm
+whgdata\whnvt32.htm
+whgdata\whnvt33.htm
+whgdata\whnvf30.htm
+whgdata\whnvf31.htm
+whgdata\whnvf32.htm
+whgdata\whnvf33.htm
+whgdata\whnvl31.htm
+whgdata\whnvl32.htm
+whgdata\whnvl33.htm
+whgdata\whexpbar.gif
+cshdat_webhelp.htm
+whcsh_home.htm
+whcshdata.htm
+cshdat_robohelp.htm
+whd_topic.xml
+whd_nvp10.htm
+whd_nvp20.htm
+whd_tabs.htm
+whd_dpns.htm
+whd_tab0.gif
+whd_tab1.gif
+whd_tab2.gif
+whd_tab3.gif
+whd_tab4.gif
+whd_tab5.gif
+whd_tab6.gif
+whd_tab7.gif
+whd_tab8.gif
+whd_toc1.gif
+whd_toc2.gif
+whd_toc3.gif
+whd_toc4.gif
+whd_show0.gif
+whd_show1.gif
+whd_show2.gif
+whd_hide0.gif
+whd_hide1.gif
+whd_hide2.gif
+whd_sync0.gif
+whd_sync1.gif
+whd_sync2.gif
+whd_prev0.gif
+whd_prev1.gif
+whd_prev2.gif
+whd_next0.gif
+whd_next1.gif
+whd_next2.gif
+whd_wbsh0.gif
+whd_wbsh1.gif
+whd_wbsh2.gif
+whidhtml.htm
+whfdhtml.htm
+index_hha.hhk
+index.hhc
+index.hhk
+about_viewing_meshes.htm
+adding_quadratic_nodes_and_elements.htm
+aspect_ratio_3d.htm
+borders_at_multi-connection.htm
+borders_at_multiconnection_2d.htm
+clipping.htm
+constructing_meshes.htm
+convert_to_from_quadratic_mesh.htm
+defining_hypotheses_tui.htm
+deleting_groups.htm
+display_entity.htm
+extrusion.htm
+extrusion_along_a_path.htm
+files\about_hypotheses.htm
+files\about_meshes.htm
+files\about_meshing_algorithms.htm
+files\about_quality_controls.htm
+files\adding_nodes_and_elements.htm
+files\area_of_elements.htm
+files\arithmetic_1d.htm
+files\aspect_ratio.htm
+files\changing_orientation_of_elements.htm
+files\constructing_groups_of_specific_elements.htm
+files\constructing_meshes.htm
+files\constructing_submeshes.htm
+files\creating_groups.htm
+files\cutting_quadrangles.htm
+files\diagonal_iversion_of_elements.htm
+files\displacing_nodes.htm
+files\displaying_nodes_numbers.htm
+files\editing_groups.htm
+files\importing_and_exporting_meshes.htm
+files\length_of_edges.htm
+files\max._element_area_hypothesis.htm
+files\max._element_volume_hypothsis.htm
+files\merging_nodes.htm
+files\minimum_angle.htm
+files\non_conform_mesh_allowed_hypothesis.htm
+files\reassigning_hypotheses_and_algorithms.htm
+files\removing_nodes_and_elements.htm
+files\renumbering_nodes_and_elements.htm
+files\rotation.htm
+files\running_smesh_module.htm
+files\sewing_meshes.htm
+files\skew.htm
+files\smoothing.htm
+files\symmetry.htm
+files\taper.htm
+files\translation.htm
+files\uniting_a_set_of_triangles.htm
+files\uniting_two_triangles.htm
+files\using_operations_on_groups.htm
+files\viewing_mesh_info.htm
+files\vtk_3d_viewer.htm
+files\warp.htm
+free_borders.htm
+free_edges.htm
+grouping_elements.htm
+length.htm
+merge_elements.htm
+mesh.htm
+modifying_meshes.htm
+namespacesmesh.html
+netgen_2d_and_3d_hypotheses.htm
+pattern_mapping.htm
+presentation.htm
+quality_controls.htm
+revolution.htm
+selection_filter_library.htm
+smesh.py_introduction.htm
+transforming_meshes.htm
+transparency.htm
+viewing_meshes.htm
+volume.htm
+ehelp.xml
+texture_horiz_ltbluebubbles.jpg
+index.glo
+default.css
+pics\add_node.png
+pics\remove_nodes2.png
+pics\merging_nodes2.png
+pics\moving_nodes2.png
+pics\smoothing2.png
+pics\b-mberofsegments.png
+pics\b-flection1d.png
+pics\a-cuttingofquadrangles.png
+pics\addquadrangle.png
+pics\intersectgroups.png
+pics\editgroup.png
+image95.jpg
+pics\sewing1.png
+image92.gif
+image51.jpg
+image70.gif
+pics\netgen2d.png
+pics\circle_simple_after.png
+pics\curvi_simple_after.png
+pics\image138.gif
+pics\create_group.png
+pics\edit_mesh_change_value_hyp.png
+pics\free_borders1.png
+pics\add_triangle.png
+pics\b-art_end_length.png
+pics\a-creategroup.png
+pics\a-clipping2.png
+pics\a-transparency.png
+pics\diagonalinversion.png
+pics\translation1.png
+image96.jpg
+pics\sewing2.png
+image119.gif
+image108.gif
+image52.jpg
+image82.gif
+image71.gif
+image30.jpg
+pics\extrusion1.png
+pics\distributionwithanalyticdensity.png
+pics\image139.gif
+pics\rotation1.png
+pics\a-createpolyhedralvolume.png
+pics\a-patterntype.png
+pics\orientaation1.png
+pics\translation2.png
+pics\cutgroups.png
+image97.jpg
+pics\sewing3.png
+image86.jpg
+image50.gif
+image94.gif
+image83.gif
+image31.jpg
+pics\circle_angles_after.png
+pics\circle_simple_before.png
+pics\curvi_angles_after.png
+pics\graduatedaxes1.png
+pics\image107.gif
+pics\automaticlength.png
+pics\image27.gif
+pics\add_polyhedron.png
+pics\add_edge.png
+pics\rotation2.png
+pics\b-ithmetic1d.png
+image10.jpg
+pics\a-maxelarea.png
+pics\addhexahedron.png
+pics\addtetrahedron.png
+image5.jpg
+pics\sewing4.png
+image95.gif
+image76.jpg
+image84.gif
+image32.jpg
+image40.gif
+pics\curvi_simple_before.png
+pics\image108.gif
+pics\aqt.png
+pics\distributionwithtabledensity.png
+pics\smoothing.png
+image88.jpg
+image30.gif
+image96.gif
+image77.jpg
+image74.gif
+image63.gif
+image22.jpg
+image41.gif
+pics\edge_wire_3d_before.png
+pics\image109.gif
+pics\meshimportmesh.png
+pics\deletegroups.png
+pics\editing_groups1.png
+pics\uniting_two_triangles1.png
+image7.jpg
+pics\a-averagelength.png
+pics\a-patterntype1.png
+pics\extrusionalongaline1.png
+pics\movenodes.png
+pics\rotation.png
+image56.jpg
+image53.gif
+image20.gif
+image97.gif
+image78.jpg
+image64.gif
+image23.jpg
+pics\edge_wire_after.png
+pics\edge_wire_before.png
+image151.gif
+pics\cut_groups1.png
+pics\editing_groups2.png
+pics\uniting_two_triangles2.png
+pics\a-unionoftriangles.png
+pics\a-arithmetic1d.png
+pics\extrusionalongaline2.png
+image79.jpg
+image98.gif
+image32.gif
+pics\image91.gif
+image152.gif
+pics\cut_groups2.png
+image130.gif
+pics\max_el_area.png
+pics\a-viewgeneral.png
+pics\revolution1.png
+pics\addtriangle.png
+image99.gif
+image55.gif
+image88.gif
+image36.jpg
+image33.gif
+image25.jpg
+i_blue.jpg
+image153.gif
+image15.jpg
+image142.gif
+pics\cut_groups3.png
+image131.gif
+pics\add_quadrangle.png
+pics\uniting_a_set_of_triangles1.png
+pics\a-deflection1d.png
+pics\revolution2.png
+pics\unionoftwotriangles.png
+pics\addnode.png
+image120.gif
+image56.gif
+image37.jpg
+image67.gif
+image34.gif
+pics\convert.png
+image154.gif
+image143.gif
+image132.gif
+pics\edit_mesh1.png
+pics\remove_elements1.png
+pics\uniting_a_set_of_triangles2.png
+pics\mergenodes.png
+pics\symmetry1.png
+image121.gif
+image79.gif
+image38.jpg
+image46.gif
+image35.gif
+image27.jpg
+image24.gif
+image155.gif
+pics\mesh_for_extr_along_path.png
+pics\createmesh-inv2.png
+image144.gif
+pics\intersect_groups1.png
+image133.gif
+pics\add_polygone.png
+pics\remove_elements2.png
+pics\a-maxelvolume.png
+pics\symmetry2.png
+image122.gif
+image58.gif
+image36.gif
+image25.gif
+note1.gif
+image156.gif
+pics\edge_wire_3d_after.png
+pics\createmesh-inv3.png
+image145.gif
+pics\intersect_groups2.png
+image134.gif
+pics\b-mesh_infos.png
+pics\symmetry3.png
+pics\addedge.png
+image123.gif
+image101.gif
+image37.gif
+pics\straight_after.png
+pics\image96.gif
+image146.gif
+pics\intersect_groups3.png
+image135.gif
+pics\b-erage_length.png
+pics\a-standmeshinfo.png
+pics\a-nbsegments1.png
+pics\patternmapping1.png
+image90.jpg
+image124.gif
+image49.gif
+image38.gif
+pics\image100.gif
+pics\image97.gif
+pics\length-crit.png
+image147.gif
+image136.gif
+pics\a-nbsegments2.png
+pics\a-startendlength.png
+pics\patternmapping2.png
+pics\removeelements.png
+pics\removenodes.png
+pics\uniongroups.png
+image125.gif
+image103.gif
+pics\exemple.gif
+image39.gif
+image28.gif
+pics\advanced_mesh_infos.png
+pics\image98.gif
+image148.gif
+pics\meshexportmesh.png
+pics\image21.gif
+pics\union_groups1.png
+image137.gif
+pics\free_edges.png
+pics\creategroup.png
+image92.jpg
+image126.gif
+image18.gif
+image70.jpg
+pics\straight_before.png
+pics\createmesh-inv.png
+pics\image102.gif
+pics\image99.gif
+pics\image77.gif
+pics\meshtrianglemergeelem1.png
+pics\mergeelems.png
+pics\union_groups2.png
+pics\length2d.png
+pics\renumbernodes.png
+image127.gif
+image93.jpg
+image105.gif
+image19.gif
+image71.jpg
+pics\image89.gif
+pics\image78.gif
+pics\image23.gif
+pics\selectionfilterlibrary.png
+pics\union_groups3.png
+pics\edit_mesh_remove_hyp.png
+pics\remove_nodes1.png
+pics\merging_nodes1.png
+pics\moving_nodes1.png
+pics\smoothing1.png
+pics\a-filteronedges.png
+pics\renumberelements.png
+pics\addpolygon.png
+image94.jpg
+image106.gif
+image91.gif
+image80.gif
+index.ppf
+ehlpdhtm.js
+default_ns.css
+whxdata\whtdata0.xml
+whxdata\whftdata0.xml
+whxdata\whfwdata0.xml
+whxdata\whgdata0.xml
+whdata\whtdata0.htm
+whdata\whftdata0.htm
+whdata\whfwdata0.htm
+whdata\whgdata0.htm
+whgdata\whlstt0.htm
+whgdata\whlstt1.htm
+whgdata\whlstt2.htm
+whgdata\whlstt3.htm
+whgdata\whlstt4.htm
+whgdata\whlstt5.htm
+whgdata\whlstt6.htm
+whgdata\whlstt7.htm
+whgdata\whlstt8.htm
+whgdata\whlstt9.htm
+whgdata\whlsti0.htm
+whgdata\whlstfl0.htm
+whgdata\whlstfl1.htm
+whgdata\whlstfl2.htm
+whgdata\whlstfl3.htm
+whgdata\whlstfl4.htm
+whgdata\whlstfl5.htm
+whgdata\whlstfl6.htm
+whgdata\whlstfl7.htm
+whgdata\whlstfl8.htm
+whgdata\whlstfl9.htm
+whgdata\whlstfl10.htm
+whgdata\whlstfl11.htm
+whgdata\whlstfl12.htm
+whgdata\whlstfl13.htm
+whgdata\whlstfl14.htm
+whgdata\whlstfl15.htm
+whgdata\whlstfl16.htm
+whgdata\whlstfl17.htm
+whgdata\whlstfl18.htm
+whgdata\whlstfl19.htm
+whgdata\whlstfl20.htm
+whgdata\whlstfl21.htm
+whgdata\whlstfl22.htm
+whgdata\whlstfl23.htm
+whgdata\whlstfl24.htm
+whgdata\whlstfl25.htm
+whgdata\whlstf0.htm
+whgdata\whlstf1.htm
+whgdata\whlstf2.htm
+whgdata\whlstf3.htm
+whgdata\whlstf4.htm
+whgdata\whlstf5.htm
+whgdata\whlstf6.htm
+whgdata\whlstf7.htm
+whgdata\whlstf8.htm
+whgdata\whlstf9.htm
+whgdata\whlstf10.htm
+whgdata\whlstf11.htm
+whgdata\whlstf12.htm
+whgdata\whlstf13.htm
+whgdata\whlstf14.htm
+whgdata\whlstg0.htm
+index.htm
+index_csh.htm
+index_rhc.htm
index b9978393418083b159cee1b36ac895a35994a988..4206a80ba98fd553fd2b21106a689c4793ef1413 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh Class Reference</h1><!-- doxytag: class="smesh::Mesh" -->Class to define a mesh.  
-<a href="#_details">More...</a>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<div style="text-align: center;">
+<h1>smesh.Mesh Class Reference
+</h1>
+<!-- doxytag: class="smesh::Mesh" --></div>
+<br>
+Class to define a mesh. <a href="#_details">More...</a>
 <p>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#2f592ce85252933c16d53b2233326e78">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#2f592ce85252933c16d53b2233326e78"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#dbacc8ea6620b9d3f75c78ccd01447f5">GetMesh</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method that returns the mesh.  <a href="#dbacc8ea6620b9d3f75c78ccd01447f5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#8cd4dd97fd482c2dc9366831d9edfade">GetShape</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method that returns the shape associated to the mesh.  <a href="#8cd4dd97fd482c2dc9366831d9edfade"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#06348840fb6e34f96868289711e081b8">MeshDimension</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns mesh dimension depending on shape one.  <a href="#06348840fb6e34f96868289711e081b8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#c482d4a5eb26a6215d5da9b368e19c45">Segment</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a segment discretization 1D algorithm.  <a href="#c482d4a5eb26a6215d5da9b368e19c45"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#0670294973fa7bfe28b9011e0f09f6a1">Triangle</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a triangle 2D algorithm for faces.  <a href="#0670294973fa7bfe28b9011e0f09f6a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#4ca1886a1ff06e16c670f1675c5a573b">Quadrangle</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a quadrangle 2D algorithm for faces.  <a href="#4ca1886a1ff06e16c670f1675c5a573b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#25ec76b72df8bebc8a612910a0318620">Tetrahedron</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a tetrahedron 3D algorithm for solids.  <a href="#25ec76b72df8bebc8a612910a0318620"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#21ec3ac09ca0ad1a9fdc6935654893fd">Hexahedron</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a hexahedron 3D algorithm for solids.  <a href="#21ec3ac09ca0ad1a9fdc6935654893fd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#27c0aef5694eea45b0670207d5580bc6">Netgen</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a NETGEN-based 2D or 3D independent algorithm (i.e.  <a href="#27c0aef5694eea45b0670207d5580bc6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#ed26e60b9561403c1966a8a4aac5f512">Compute</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the mesh and return the status of the computation.  <a href="#ed26e60b9561403c1966a8a4aac5f512"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#d23d8a7c9fc382821d4016774fa9e98d">AutomaticTetrahedralization</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute tetrahedral mesh using AutomaticLength + MEFISTO + NETGEN The parameter <em>fineness</em> [0.  <a href="#d23d8a7c9fc382821d4016774fa9e98d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#1c78238cdf0aad20ab2d6eef4a184799">AutomaticHexahedralization</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute hexahedral mesh using AutomaticLength + Quadrangle + Hexahedron The parameter <em>fineness</em> [0.  <a href="#1c78238cdf0aad20ab2d6eef4a184799"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#95d999f08f0aaef05f6dcdb8292e00e0">RemoveGlobalHypotheses</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all global hypotheses.  <a href="#95d999f08f0aaef05f6dcdb8292e00e0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#6deeda0a7c76698bdf314b7c81b15c0f">Group</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a mesh group based on geometric object <em>grp</em> and give a <em>name</em>, if this parameter is not defined the name is the same as the geometric group name.  <a href="#6deeda0a7c76698bdf314b7c81b15c0f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#36933e515825d7d1c62863686546a84f">ExportToMED</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export the mesh in a file with the MED format and choice the <em>version</em> of MED format.  <a href="#36933e515825d7d1c62863686546a84f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#a86bdbce4f2f57e951bcea9ab1986ecb">ExportMED</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export the mesh in a file with the MED format.  <a href="#a86bdbce4f2f57e951bcea9ab1986ecb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#5db000b98b9608f1f3384a4b09b35f58">ExportDAT</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export the mesh in a file with the DAT format.  <a href="#5db000b98b9608f1f3384a4b09b35f58"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#c008bc59ddf84fb975ea54fdd9c5b20e">ExportUNV</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export the mesh in a file with the UNV format.  <a href="#c008bc59ddf84fb975ea54fdd9c5b20e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#5f0cfa067db19492048fc67f9214a938">ExportSTL</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export the mesh in a file with the STL format.  <a href="#5f0cfa067db19492048fc67f9214a938"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#eb2e95e036f629d22802fe1caa0dea77">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#d4c31f83ccca912b41330a80953b19e2">mesh</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">mesh</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2f592ce85252933c16d53b2233326e78"></a><!-- doxytag: member="smesh::Mesh::__init__" ref="2f592ce85252933c16d53b2233326e78" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Creates mesh on the shape <em>geom</em>, sets GUI name of this mesh to <em>name</em>. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>Shape to be meshed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>Study name of the mesh </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="dbacc8ea6620b9d3f75c78ccd01447f5"></a><!-- doxytag: member="smesh::Mesh::GetMesh" ref="dbacc8ea6620b9d3f75c78ccd01447f5" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.GetMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="8cd4dd97fd482c2dc9366831d9edfade"></a><!-- doxytag: member="smesh::Mesh::GetShape" ref="8cd4dd97fd482c2dc9366831d9edfade" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.GetShape           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="06348840fb6e34f96868289711e081b8"></a><!-- doxytag: member="smesh::Mesh::MeshDimension" ref="06348840fb6e34f96868289711e081b8" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.MeshDimension           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="c482d4a5eb26a6215d5da9b368e19c45"></a><!-- doxytag: member="smesh::Mesh::Segment" ref="c482d4a5eb26a6215d5da9b368e19c45" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Segment           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>algo</em> = <code><a class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">REGULAR</a></code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the optional <em>algo</em> parameter is not sets, this algorithm is REGULAR. If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>algo</em>&nbsp;</td><td>values are <a class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">smesh.REGULAR</a> or <a class="el" href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">smesh.PYTHON</a> for discretization via python function </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="0670294973fa7bfe28b9011e0f09f6a1"></a><!-- doxytag: member="smesh::Mesh::Triangle" ref="0670294973fa7bfe28b9011e0f09f6a1" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Triangle           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="4ca1886a1ff06e16c670f1675c5a573b"></a><!-- doxytag: member="smesh::Mesh::Quadrangle" ref="4ca1886a1ff06e16c670f1675c5a573b" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Quadrangle           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="25ec76b72df8bebc8a612910a0318620"></a><!-- doxytag: member="smesh::Mesh::Tetrahedron" ref="25ec76b72df8bebc8a612910a0318620" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Tetrahedron           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>algo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-The parameter <em>algo</em> permits to choice the algorithm: NETGEN or GHS3D If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>algo</em>&nbsp;</td><td>values are: <a class="el" href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">smesh.NETGEN</a>, <a class="el" href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">smesh.GHS3D</a> </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="21ec3ac09ca0ad1a9fdc6935654893fd"></a><!-- doxytag: member="smesh::Mesh::Hexahedron" ref="21ec3ac09ca0ad1a9fdc6935654893fd" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Hexahedron           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm define a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="27c0aef5694eea45b0670207d5580bc6"></a><!-- doxytag: member="smesh::Mesh::Netgen" ref="27c0aef5694eea45b0670207d5580bc6" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Netgen           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>is3D</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-needs no discrete boundary). If the optional <em>geom</em> parameter is not sets, this algorithm is global. Otherwise, this algorithm defines a submesh based on <em>geom</em> subshape. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>is3D</em>&nbsp;</td><td>If 0 then algorithm is 2D, otherwise 3D </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>If defined, subshape to be meshed </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="ed26e60b9561403c1966a8a4aac5f512"></a><!-- doxytag: member="smesh::Mesh::Compute" ref="ed26e60b9561403c1966a8a4aac5f512" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Compute           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="d23d8a7c9fc382821d4016774fa9e98d"></a><!-- doxytag: member="smesh::Mesh::AutomaticTetrahedralization" ref="d23d8a7c9fc382821d4016774fa9e98d" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.AutomaticTetrahedralization           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>fineness</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
--1.] defines mesh fineness     </td>
-  </tr>
-</table>
-<a class="anchor" name="1c78238cdf0aad20ab2d6eef4a184799"></a><!-- doxytag: member="smesh::Mesh::AutomaticHexahedralization" ref="1c78238cdf0aad20ab2d6eef4a184799" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.AutomaticHexahedralization           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>fineness</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
--1.] defines mesh fineness     </td>
-  </tr>
-</table>
-<a class="anchor" name="95d999f08f0aaef05f6dcdb8292e00e0"></a><!-- doxytag: member="smesh::Mesh::RemoveGlobalHypotheses" ref="95d999f08f0aaef05f6dcdb8292e00e0" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.RemoveGlobalHypotheses           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="6deeda0a7c76698bdf314b7c81b15c0f"></a><!-- doxytag: member="smesh::Mesh::Group" ref="6deeda0a7c76698bdf314b7c81b15c0f" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.Group           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>grp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em> = <code>&quot;&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>grp</em>&nbsp;</td><td>is a geometric group, a vertex, an edge, a face or a solid </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>is the name of the mesh group </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="36933e515825d7d1c62863686546a84f"></a><!-- doxytag: member="smesh::Mesh::ExportToMED" ref="36933e515825d7d1c62863686546a84f" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.ExportToMED           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>version</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>opt</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>is the file name </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>values are SMESH.MED_V2_1, SMESH.MED_V2_2 </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a86bdbce4f2f57e951bcea9ab1986ecb"></a><!-- doxytag: member="smesh::Mesh::ExportMED" ref="a86bdbce4f2f57e951bcea9ab1986ecb" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.ExportMED           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>opt</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>is the file name </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="5db000b98b9608f1f3384a4b09b35f58"></a><!-- doxytag: member="smesh::Mesh::ExportDAT" ref="5db000b98b9608f1f3384a4b09b35f58" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.ExportDAT           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>is the file name </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="c008bc59ddf84fb975ea54fdd9c5b20e"></a><!-- doxytag: member="smesh::Mesh::ExportUNV" ref="c008bc59ddf84fb975ea54fdd9c5b20e" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.ExportUNV           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>is the file name </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="5f0cfa067db19492048fc67f9214a938"></a><!-- doxytag: member="smesh::Mesh::ExportSTL" ref="5f0cfa067db19492048fc67f9214a938" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh.ExportSTL           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>f</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>ascii</em> = <code>1</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>is the file name </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ascii</em>&nbsp;</td><td>defined the kind of file contents </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="f3e48df7fb0b782b294824894c7c5589"></a><!-- doxytag: member="smesh::Mesh::geom" ref="f3e48df7fb0b782b294824894c7c5589" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">smesh.Mesh.geom</a> = 0<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="05914b93aefd09a1702655e3eebde220"></a><!-- doxytag: member="smesh::Mesh::mesh" ref="05914b93aefd09a1702655e3eebde220" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">smesh.Mesh.mesh</a> = 0<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="eb2e95e036f629d22802fe1caa0dea77"></a><!-- doxytag: member="smesh::Mesh::geom" ref="eb2e95e036f629d22802fe1caa0dea77" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">smesh.Mesh.geom</a>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="d4c31f83ccca912b41330a80953b19e2"></a><!-- doxytag: member="smesh::Mesh::mesh" ref="d4c31f83ccca912b41330a80953b19e2" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">smesh.Mesh.mesh</a>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+  <tbody>
+    <tr>
+      <td> <br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2">
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2f592ce85252933c16d53b2233326e78">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Constructor. <a
+ href="#2f592ce85252933c16d53b2233326e78"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#bd750f18fbb3bbaec4658dbf9abf9a6a">SetMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Method that inits the <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> object from SMESH_Mesh
+interface. <a href="#bd750f18fbb3bbaec4658dbf9abf9a6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#dbacc8ea6620b9d3f75c78ccd01447f5">GetMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Method that returns the mesh. <a
+ href="#dbacc8ea6620b9d3f75c78ccd01447f5"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b87f0d109e7dd97722ee0bfea949d534">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get mesh name. <a
+ href="#b87f0d109e7dd97722ee0bfea949d534"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1c8c2f704ec04470c635bafbffc2fd89">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to mesh. <a
+ href="#1c8c2f704ec04470c635bafbffc2fd89"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#6a6cf011f8f9ae71976677e5fc252cba">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the subMesh object associated to a
+subShape. <a href="#6a6cf011f8f9ae71976677e5fc252cba"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8cd4dd97fd482c2dc9366831d9edfade">GetShape</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Method that returns the shape associated
+to the mesh. <a href="#8cd4dd97fd482c2dc9366831d9edfade"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3c65a48f65595eca0cb35537327f66e7">SetShape</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Method that associates given shape to the
+mesh(entails the mesh recreation). <a
+ href="#3c65a48f65595eca0cb35537327f66e7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8b180b0fecdee7086fd87b6e399fb920">IsReadyToCompute</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return true if hypotheses are defined
+well. <a href="#8b180b0fecdee7086fd87b6e399fb920"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8a4a3f3f1b1c3ab7344043fc0462b34c">GetAlgoState</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return errors of hypotheses definintion
+error list is empty if everything is OK. <a
+ href="#8a4a3f3f1b1c3ab7344043fc0462b34c"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#98eebf424797ca54f6f8d26bfe5fa198">GetGeometryByMeshElement</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return geometrical object the given
+element is built on. <a href="#98eebf424797ca54f6f8d26bfe5fa198"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#06348840fb6e34f96868289711e081b8">MeshDimension</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns mesh dimension depending on shape
+one. <a href="#06348840fb6e34f96868289711e081b8"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#c482d4a5eb26a6215d5da9b368e19c45">Segment</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a segment discretization 1D
+algorithm. <a href="#c482d4a5eb26a6215d5da9b368e19c45"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#0670294973fa7bfe28b9011e0f09f6a1">Triangle</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a triangle 2D algorithm for faces.
+      <a href="#0670294973fa7bfe28b9011e0f09f6a1"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#4ca1886a1ff06e16c670f1675c5a573b">Quadrangle</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a quadrangle 2D algorithm for
+faces. <a href="#4ca1886a1ff06e16c670f1675c5a573b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#25ec76b72df8bebc8a612910a0318620">Tetrahedron</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a tetrahedron 3D algorithm for
+solids. <a href="#25ec76b72df8bebc8a612910a0318620"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#21ec3ac09ca0ad1a9fdc6935654893fd">Hexahedron</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a hexahedron 3D algorithm for
+solids. <a href="#21ec3ac09ca0ad1a9fdc6935654893fd"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#27c0aef5694eea45b0670207d5580bc6">Netgen</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Deprecated, only for compatibility! <a
+ href="#27c0aef5694eea45b0670207d5580bc6"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ed26e60b9561403c1966a8a4aac5f512">Compute</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Compute the mesh and return the status of
+the computation. <a href="#ed26e60b9561403c1966a8a4aac5f512"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d23d8a7c9fc382821d4016774fa9e98d">AutomaticTetrahedralization</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Compute tetrahedral mesh using
+AutomaticLength + MEFISTO + NETGEN The parameter <em>fineness</em>
+[0,-1] defines mesh fineness. <a
+ href="#d23d8a7c9fc382821d4016774fa9e98d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1c78238cdf0aad20ab2d6eef4a184799">AutomaticHexahedralization</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Compute hexahedral mesh using
+AutomaticLength + Quadrangle + Hexahedron The parameter <em>fineness</em>
+[0,-1] defines mesh fineness. <a
+ href="#1c78238cdf0aad20ab2d6eef4a184799"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#9dcaabbf09856c4a4d7465cb12eaf28e">GetHypothesisList</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the list of hypothesis added on a
+geom. <a href="#9dcaabbf09856c4a4d7465cb12eaf28e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#95d999f08f0aaef05f6dcdb8292e00e0">RemoveGlobalHypotheses</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Removes all global hypotheses. <a
+ href="#95d999f08f0aaef05f6dcdb8292e00e0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#6deeda0a7c76698bdf314b7c81b15c0f">Group</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group based on geometric
+object <em>grp</em> and give a <em>name</em>, <br>
+if this parameter is not defined the name is the same as the geometric
+group name <br>
+Note: Works like <a class="el"
+ href="classsmesh_1_1Mesh.html#4766ca881b87442bb269d843d6e0fbee">GroupOnGeom()</a>.
+      <a href="#6deeda0a7c76698bdf314b7c81b15c0f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#36933e515825d7d1c62863686546a84f">ExportToMED</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Deprecated, only for compatibility!
+Please, use <a class="el"
+ href="classsmesh_1_1Mesh.html#a86bdbce4f2f57e951bcea9ab1986ecb">ExportMED()</a>
+method instead. <a href="#36933e515825d7d1c62863686546a84f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#a86bdbce4f2f57e951bcea9ab1986ecb">ExportMED</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Export the mesh in a file with the MED
+format. <a href="#a86bdbce4f2f57e951bcea9ab1986ecb"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5db000b98b9608f1f3384a4b09b35f58">ExportDAT</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Export the mesh in a file with the DAT
+format. <a href="#5db000b98b9608f1f3384a4b09b35f58"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#c008bc59ddf84fb975ea54fdd9c5b20e">ExportUNV</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Export the mesh in a file with the UNV
+format. <a href="#c008bc59ddf84fb975ea54fdd9c5b20e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5f0cfa067db19492048fc67f9214a938">ExportSTL</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Export the mesh in a file with the STL
+format. <a href="#5f0cfa067db19492048fc67f9214a938"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d0f9d4c25155f1aa2f2f9d9439bbd380">CreateEmptyGroup</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates an empty mesh group. <a
+ href="#d0f9d4c25155f1aa2f2f9d9439bbd380"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#4766ca881b87442bb269d843d6e0fbee">GroupOnGeom</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a mesh group based on geometric
+object <em>grp</em> and give a <em>name</em>, <br>
+if this parameter is not defined the name is the same as the geometric
+group name. <a href="#4766ca881b87442bb269d843d6e0fbee"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3b3954caebc6f212681cdc43d683d81f">MakeGroupByIds</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group by the given ids of
+elements. <a href="#3b3954caebc6f212681cdc43d683d81f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#971e345218f95e1d56d59450aebb8dec">MakeGroup</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group by the given
+conditions. <a href="#971e345218f95e1d56d59450aebb8dec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3ed52b9c18af35719986e962143a5ffb">MakeGroupByCriterion</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group by the given
+criterion. <a href="#3ed52b9c18af35719986e962143a5ffb"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1db8830048163a89d6e8a5b38bc0aff6">MakeGroupByCriteria</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group by the given
+criteria(list of criterions). <a
+ href="#1db8830048163a89d6e8a5b38bc0aff6"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8f4952f18ef6e065b1f21b9c501acdbd">MakeGroupByFilter</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create a mesh group by the given filter. <a
+ href="#8f4952f18ef6e065b1f21b9c501acdbd"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#14ec9ac71e14ef62aa41ab5427dc874b">GetIdsFromFilter</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Pass mesh elements through the given
+filter and return ids. <a href="#14ec9ac71e14ef62aa41ab5427dc874b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#bf1218d5cb3988330c0bf61db2a2b2b7">GetFreeBorders</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Verify whether 2D mesh element has free
+edges(edges connected to one face only)<br>
+Returns list of special structures(borders). <a
+ href="#bf1218d5cb3988330c0bf61db2a2b2b7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#cf78d6ee5bf4142a7c47c542dd29774e">RemoveGroup</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Remove a group. <a
+ href="#cf78d6ee5bf4142a7c47c542dd29774e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#7b925f04a22f5b1b6b2e534da1ecbd92">RemoveGroupWithContents</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Remove group with its contents. <a
+ href="#7b925f04a22f5b1b6b2e534da1ecbd92"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#95da60a43691e2555e1246346bab95cc">GetGroups</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the list of groups existing in the
+mesh. <a href="#95da60a43691e2555e1246346bab95cc"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ec1357647df1fae2de711e46f33bce59">GetGroupNames</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the list of names of groups existing
+in the mesh. <a href="#ec1357647df1fae2de711e46f33bce59"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#adce4d7372f7f85d7851aac8fa8223ab">UnionGroups</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Union of two groups New group is created. <a
+ href="#adce4d7372f7f85d7851aac8fa8223ab"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ff4bc7665f316f9afe4091a1aa195938">IntersectGroups</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Intersection of two groups New group is
+created. <a href="#ff4bc7665f316f9afe4091a1aa195938"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#93a759ed3183676d160b210ea16f4152">CutGroups</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Cut of two groups New group is created. <a
+ href="#93a759ed3183676d160b210ea16f4152"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#a8eb2739e60747e3e4f21f6d044fb8ea">GetLog</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the log of nodes and elements added or
+removed since previous clear of the log. <a
+ href="#a8eb2739e60747e3e4f21f6d044fb8ea"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ca397e42479735387f28e60daba5fa21">ClearLog</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Clear the log of nodes and elements added
+or removed since previous clear. <a
+ href="#ca397e42479735387f28e60daba5fa21"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8c2b5b28778a8c8e75dbf67e9e173e96">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the internal Id. <a
+ href="#8c2b5b28778a8c8e75dbf67e9e173e96"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#aefae881bffe9563d1d94a8aa94311aa">GetStudyId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the study Id. <a
+ href="#aefae881bffe9563d1d94a8aa94311aa"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d1846b2ee111a6720a7bfdb7bae9a04e">HasDuplicatedGroupNamesMED</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Check group names for duplications. <a
+ href="#d1846b2ee111a6720a7bfdb7bae9a04e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#e65f765b6a402c7c8b26335fa4422cf5">GetMeshEditor</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Obtain instance of SMESH_MeshEditor. <a
+ href="#e65f765b6a402c7c8b26335fa4422cf5"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#23967469975fb15ab095fbef5d3fff4c">GetMEDMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get MED <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a>. <a
+ href="#23967469975fb15ab095fbef5d3fff4c"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#726ae692c089873060904db2f5be2489">NbNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of nodes in mesh. <a
+ href="#726ae692c089873060904db2f5be2489"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ab9164bf03dfc3f96373c83890faeac7">NbElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of elements in mesh. <a
+ href="#ab9164bf03dfc3f96373c83890faeac7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8f6a7ba5c4246afbe8c23c31b54fe151">NbEdges</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of edges in mesh. <a
+ href="#8f6a7ba5c4246afbe8c23c31b54fe151"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#62493e2dea0235f7043c35850ea67bc1">NbEdgesOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of edges with given order
+in mesh. <a href="#62493e2dea0235f7043c35850ea67bc1"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#7e9df39cf5129962023043abcc898e69">NbFaces</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of faces in mesh. <a
+ href="#7e9df39cf5129962023043abcc898e69"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b5f5d0f76b75110f373c2978bec4511d">NbFacesOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of faces with given order
+in mesh. <a href="#b5f5d0f76b75110f373c2978bec4511d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#45deec5dbf334ba86f69210edb6eb031">NbTriangles</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of triangles in mesh. <a
+ href="#45deec5dbf334ba86f69210edb6eb031"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#81cdae5d219351e937d02a8ea5c8bd66">NbTrianglesOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of triangles with given
+order in mesh. <a href="#81cdae5d219351e937d02a8ea5c8bd66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d83429db26cce1bc35795935c4c22e0a">NbQuadrangles</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of quadrangles in mesh. <a
+ href="#d83429db26cce1bc35795935c4c22e0a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#4c9bca301fa2170813406412cfd9c1aa">NbQuadranglesOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of quadrangles with given
+order in mesh. <a href="#4c9bca301fa2170813406412cfd9c1aa"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f086f62d71136f0e5a24ee9a4150515b">NbPolygons</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of polygons in mesh. <a
+ href="#f086f62d71136f0e5a24ee9a4150515b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#e35ea16aadc59efecaff428c0b3c2dfe">NbVolumes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of volumes in mesh. <a
+ href="#e35ea16aadc59efecaff428c0b3c2dfe"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b5dc83d1838f66e925667cd6634b5919">NbVolumesOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of volumes with given order
+in mesh. <a href="#b5dc83d1838f66e925667cd6634b5919"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2a7fd2a66045ad4ef37395899cf3e2b4">NbTetras</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of tetrahedrons in mesh. <a
+ href="#2a7fd2a66045ad4ef37395899cf3e2b4"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5f6f04aee13f5e9146b0b83dc4a29136">NbTetrasOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of tetrahedrons with given
+order in mesh. <a href="#5f6f04aee13f5e9146b0b83dc4a29136"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#fd3a0392332424162db67bdc18a66b9e">NbHexas</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of hexahedrons in mesh. <a
+ href="#fd3a0392332424162db67bdc18a66b9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#30d469eb020c16ac95fe4ccc86df9847">NbHexasOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of hexahedrons with given
+order in mesh. <a href="#30d469eb020c16ac95fe4ccc86df9847"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#aee1ae2972f4256dbc23281f212bd63d">NbPyramids</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of pyramids in mesh. <a
+ href="#aee1ae2972f4256dbc23281f212bd63d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#6f9f0c840846170841655ffe6c88c9ba">NbPyramidsOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of pyramids with given
+order in mesh. <a href="#6f9f0c840846170841655ffe6c88c9ba"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#497d7d510d365904c8850f8a1ab9b9c6">NbPrisms</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of prisms in mesh. <a
+ href="#497d7d510d365904c8850f8a1ab9b9c6"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8d37e2b2ec7aff3b89b0933c03409e5b">NbPrismsOfOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of prisms with given order
+in mesh. <a href="#8d37e2b2ec7aff3b89b0933c03409e5b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#84903e975c77cc2542ea50143f9cb877">NbPolyhedrons</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of polyhedrons in mesh. <a
+ href="#84903e975c77cc2542ea50143f9cb877"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#fafa87c1893299b30bffdaa748837ace">NbSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of submeshes in mesh. <a
+ href="#fafa87c1893299b30bffdaa748837ace"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2f7b4230985fdf7dac8c1a3dc5d96efa">GetElementsId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of mesh elements ids. <a
+ href="#2f7b4230985fdf7dac8c1a3dc5d96efa"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1dbede49ac46741782d4b88096024754">GetElementsByType</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of ids of mesh elements with
+given type. <a href="#1dbede49ac46741782d4b88096024754"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d4f0260724efd10fc07d6cc030348bf7">GetNodesId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of mesh nodes ids. <a
+ href="#d4f0260724efd10fc07d6cc030348bf7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#09d64e636ad97f4929174795376cb79a">GetElementType</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns type of mesh element. <a
+ href="#09d64e636ad97f4929174795376cb79a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#cff00e6b2f5d63f24af53e5d654d259e">GetSubMeshElementsId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of submesh elements ids. <a
+ href="#cff00e6b2f5d63f24af53e5d654d259e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#df30b3062d9420c85f457d8d67716c6a">GetSubMeshNodesId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of submesh nodes ids. <a
+ href="#df30b3062d9420c85f457d8d67716c6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#01928943dd569e70590f7a82d5a9c083">GetSubMeshElementType</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns list of ids of submesh elements
+with given type. <a href="#01928943dd569e70590f7a82d5a9c083"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#97cc6a5900b73642880b5c5327167347">Dump</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get mesh description. <a
+ href="#97cc6a5900b73642880b5c5327167347"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8c5f43b40615e416e8723250aedca198">GetNodeXYZ</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get XYZ coordinates of node as list of
+double <br>
+If there is not node for given ID - returns empty list. <a
+ href="#8c5f43b40615e416e8723250aedca198"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#89759593eb975e4a98f21fad2f0471d9">GetNodeInverseElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">For given node returns list of IDs of
+inverse elements <br>
+If there is not node for given ID - returns empty list. <a
+ href="#89759593eb975e4a98f21fad2f0471d9"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#819f94ff143442f18726ad6d571f4d4d">GetShapeID</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If given element is node returns IDs of
+shape from position <br>
+If there is not node for given ID - returns -1. <a
+ href="#819f94ff143442f18726ad6d571f4d4d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#eef3aa74ef3616715448260f21f743fe">GetShapeIDForElem</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">For given element returns ID of result
+shape after FindShape() from SMESH_MeshEditor <br>
+If there is not element for given ID - returns -1. <a
+ href="#eef3aa74ef3616715448260f21f743fe"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8a3f80335947fd570bba6b4f53a8a561">GetElemNbNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of nodes for given element <br>
+If there is not element for given ID - returns -1. <a
+ href="#8a3f80335947fd570bba6b4f53a8a561"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b962a2eb7fc5b6ee8c50795d185c45d0">GetElemNode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns ID of node by given index for
+given element <br>
+If there is not element for given ID - returns -1 <br>
+If there is not node for given index - returns -2. <a
+ href="#b962a2eb7fc5b6ee8c50795d185c45d0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#e51aaa086dca92d2b7966ae0b49aefd7">IsMediumNode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns true if given node is medium node
+in given quadratic element. <a href="#e51aaa086dca92d2b7966ae0b49aefd7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#10e70db0e24a1ec78636f8651a402873">IsMediumNodeOfAnyElem</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns true if given node is medium node
+in one of quadratic elements. <a
+ href="#10e70db0e24a1ec78636f8651a402873"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#bf279ea4ea4ea4aa0e01ef0b2da41376">ElemNbEdges</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of edges for given element.
+      <a href="#bf279ea4ea4ea4aa0e01ef0b2da41376"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ba5c055ca37c30cb77d2c698cb062d18">ElemNbFaces</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns number of faces for given element.
+      <a href="#ba5c055ca37c30cb77d2c698cb062d18"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#0711cb1be29ca2d8e186e921650b9a75">IsPoly</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns true if given element is polygon. <a
+ href="#0711cb1be29ca2d8e186e921650b9a75"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#a6688e1a2742f29aa5b662cc7aaa4032">IsQuadratic</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns true if given element is
+quadratic. <a href="#a6688e1a2742f29aa5b662cc7aaa4032"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#512996a6214d6d7bb82c449126602dcb">BaryCenter</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns XYZ coordinates of bary center for
+given element as list of double <br>
+If there is not element for given ID - returns empty list. <a
+ href="#512996a6214d6d7bb82c449126602dcb"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#7ef5a1396c6ca2f87f866019d6994fda">RemoveElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Removes elements from mesh by ids. <a
+ href="#7ef5a1396c6ca2f87f866019d6994fda"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3660e81cc2503176aeaaf791d91583aa">RemoveNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Removes nodes from mesh by ids. <a
+ href="#3660e81cc2503176aeaaf791d91583aa"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1fc905250f88b780af041874783e1aba">AddNode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Add node to mesh by coordinates. <a
+ href="#1fc905250f88b780af041874783e1aba"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5300171dc7f8dcb867641e99ddfe1259">AddEdge</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create edge both similar and quadratic
+(this is determed by number of given nodes). <a
+ href="#5300171dc7f8dcb867641e99ddfe1259"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#ac29ca675d96e76ac464d552d0677bef">AddFace</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create face both similar and quadratic
+(this is determed by number of given nodes). <a
+ href="#ac29ca675d96e76ac464d552d0677bef"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1ff012def84bb3df64b313060f6de7ba">AddPolygonalFace</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Add polygonal face to mesh by list of
+nodes ids. <a href="#1ff012def84bb3df64b313060f6de7ba"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#21e6382dee8cc24808416494abc93e5f">AddVolume</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create volume both similar and quadratic
+(this is determed by number of given nodes). <a
+ href="#21e6382dee8cc24808416494abc93e5f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2d584c652eeb55d174ad4e2107ad4702">AddPolyhedralVolume</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create volume of many faces, giving nodes
+for each face. <a href="#2d584c652eeb55d174ad4e2107ad4702"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#77d8a4cee1fa308e4ce7d2b80f15e52e">AddPolyhedralVolumeByFaces</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create volume of many faces, giving IDs of
+existing faces. <a href="#77d8a4cee1fa308e4ce7d2b80f15e52e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3a0b58036724d0068a346f233ac1744f">MoveNode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Move node with given id. <a
+ href="#3a0b58036724d0068a346f233ac1744f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b1cd711562c3f4cf4d2989606210dc6d">InverseDiag</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Replace two neighbour triangles sharing
+Node1-Node2 link with ones built on the same 4 nodes but having other
+common link. <a href="#b1cd711562c3f4cf4d2989606210dc6d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#1f9d69024eb5959bacf0f14c9a99f89f">DeleteDiag</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Replace two neighbour triangles sharing
+Node1-Node2 link with a quadrangle built on the same 4 nodes. <a
+ href="#1f9d69024eb5959bacf0f14c9a99f89f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#70be24d065258cab090116d94431f08b">Reorient</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Reorient elements by ids. <a
+ href="#70be24d065258cab090116d94431f08b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#3135d68c4429b2941870e19bb3233dce">ReorientObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Reorient all elements of the object. <a
+ href="#3135d68c4429b2941870e19bb3233dce"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#922f422cb40bc3412f7561defe43ef3b">TriToQuad</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Fuse neighbour triangles into quadrangles.
+      <a href="#922f422cb40bc3412f7561defe43ef3b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b6d00be6bccc1478f6dd627ab10ef0b0">TriToQuadObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Fuse neighbour triangles of the object
+into quadrangles. <a href="#b6d00be6bccc1478f6dd627ab10ef0b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#0c0ad8d78fb361a3270325ceb3f495b6">QuadToTri</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Split quadrangles into triangles. <a
+ href="#0c0ad8d78fb361a3270325ceb3f495b6"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5ce3b8a9451caf30b6150c81000beb38">QuadToTriObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Split quadrangles into triangles. <a
+ href="#5ce3b8a9451caf30b6150c81000beb38"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#c0a1a58709e0b852d34ad4c800e4dbe5">SplitQuad</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Split quadrangles into triangles. <a
+ href="#c0a1a58709e0b852d34ad4c800e4dbe5"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#597d364ed43deec20e76bbe76733f24a">SplitQuadObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Split quadrangles into triangles. <a
+ href="#597d364ed43deec20e76bbe76733f24a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#318863d98fc0ceae3d2c40f2e140ddcc">BestSplit</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Find better splitting of the given
+quadrangle. <a href="#318863d98fc0ceae3d2c40f2e140ddcc"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#84d7a34fff0606afb1ad5ec38fbff51b">Smooth</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Smooth elements. <a
+ href="#84d7a34fff0606afb1ad5ec38fbff51b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#35fe184fb7df14af5ed11780133242b6">SmoothObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Smooth elements belong to given object. <a
+ href="#35fe184fb7df14af5ed11780133242b6"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f1a03b74c100180c10eebe21623a2c08">SmoothParametric</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Parametric smooth the given elements. <a
+ href="#f1a03b74c100180c10eebe21623a2c08"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#72f3d72d6e05ee787657079f7fae7569">SmoothParametricObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Parametric smooth elements belong to given
+object. <a href="#72f3d72d6e05ee787657079f7fae7569"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#4dc4ca27b4d1b0dfc975b5ebb9e74b98">ConvertToQuadratic</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Converts all mesh to quadratic one,
+deletes old elements, replacing them with quadratic ones with the same
+id. <a href="#4dc4ca27b4d1b0dfc975b5ebb9e74b98"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#bf3a3a02b1ec06aaa4b518eacbc61c13">ConvertFromQuadratic</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Converts all mesh from quadratic to
+ordinary ones, deletes old quadratic elements, <br>
+replacing them with ordinary mesh elements with the same id. <a
+ href="#bf3a3a02b1ec06aaa4b518eacbc61c13"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#67efca0e9f290689ed21b473e52cbd50">RenumberNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Renumber mesh nodes. <a
+ href="#67efca0e9f290689ed21b473e52cbd50"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#425c345fea14aac8d46daf65e28aa361">RenumberElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Renumber mesh elements. <a
+ href="#425c345fea14aac8d46daf65e28aa361"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5c1411e04a23bd4f4ba721a24638a833">RotationSweep</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by rotation of the
+elements around the axis. <a href="#5c1411e04a23bd4f4ba721a24638a833"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#9e3953602695cb8cfdca1357cd4281a0">RotationSweepObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by rotation of the
+elements of object around the axis. <a
+ href="#9e3953602695cb8cfdca1357cd4281a0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#975714cfcbcbb60eabd43045fe7d80f0">ExtrusionSweep</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements with given ids. <a href="#975714cfcbcbb60eabd43045fe7d80f0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#4f3409fde48b1edb83ea3c598e061b01">AdvancedExtrusion</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements with given ids. <a href="#4f3409fde48b1edb83ea3c598e061b01"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#5d29416945e6a665b83258b6f20a3b9d">ExtrusionSweepObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements belong to object. <a href="#5d29416945e6a665b83258b6f20a3b9d"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#afa41c3158cd8b1fcfaf86db26d8550f">ExtrusionSweepObject1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements belong to object. <a href="#afa41c3158cd8b1fcfaf86db26d8550f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#079e59af58714725629b5081b5ec15c4">ExtrusionSweepObject2D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements belong to object. <a href="#079e59af58714725629b5081b5ec15c4"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#691522416f481a91a268d58e15646eb7">ExtrusionAlongPath</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+given elements A path of extrusion must be a meshed edge. <a
+ href="#691522416f481a91a268d58e15646eb7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f0248dfbb1f18de28754468c1173f88c">ExtrusionAlongPathObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Generate new elements by extrusion of the
+elements belong to object A path of extrusion must be a meshed edge. <a
+ href="#f0248dfbb1f18de28754468c1173f88c"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#e847af1a376e90dc10becf6c24475577">Mirror</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Symmetrical copy of mesh elements. <a
+ href="#e847af1a376e90dc10becf6c24475577"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b1d7bc19611c4e6cbb9c6a39aa7d41e7">MirrorObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Symmetrical copy of object. <a
+ href="#b1d7bc19611c4e6cbb9c6a39aa7d41e7"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#17a4c398f12048ee97be9e34c6fcf0df">Translate</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Translates the elements. <a
+ href="#17a4c398f12048ee97be9e34c6fcf0df"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#8fd2fa7ac4bd7733b92cfdc93bc06c6a">TranslateObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Translates the object. <a
+ href="#8fd2fa7ac4bd7733b92cfdc93bc06c6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#9490661f177f27ab7c4ada20e244e049">Rotate</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Rotates the elements. <a
+ href="#9490661f177f27ab7c4ada20e244e049"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#edbcc6762a097b389338f3fb79dd2e43">RotateObject</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Rotates the object. <a
+ href="#edbcc6762a097b389338f3fb79dd2e43"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#cdf92cb074d0bdfdce13a7c496d593d4">FindCoincidentNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Find group of nodes close to each other
+within Tolerance. <a href="#cdf92cb074d0bdfdce13a7c496d593d4"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#189cb7bee4e396e1cd429f55bdeb7830">MergeNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Merge nodes. <a
+ href="#189cb7bee4e396e1cd429f55bdeb7830"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#6d065ef099f2d589074a7236cd17a8b8">MergeEqualElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Remove all but one of elements built on
+the same nodes. <a href="#6d065ef099f2d589074a7236cd17a8b8"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2a8b90d2e3ab295e130c72fa1b700e87">SewFreeBorders</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Sew free borders. <a
+ href="#2a8b90d2e3ab295e130c72fa1b700e87"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#33e575a39b2721c5f307ed633f826971">SewConformFreeBorders</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Sew conform free borders. <a
+ href="#33e575a39b2721c5f307ed633f826971"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#b92ca31f6a9cc3b67ad97c5dfc6d0df0">SewBorderToSide</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Sew border to side. <a
+ href="#b92ca31f6a9cc3b67ad97c5dfc6d0df0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#bf094f8b9d3152d4b6ad03818c2e53ae">SewSideElements</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Sew two sides of a mesh. <a
+ href="#bf094f8b9d3152d4b6ad03818c2e53ae"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f0a5ee1d36cbd2f05f0096a85f013d6a">ChangeElemNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set new nodes for given element. <a
+ href="#f0a5ee1d36cbd2f05f0096a85f013d6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#2e52a15f9fa25f6a0dc17b80636b9ef4">GetLastCreatedNodes</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If during last operation of MeshEditor
+some nodes were created this method returns list of it's IDs, <br>
+if new nodes not created - returns empty list. <a
+ href="#2e52a15f9fa25f6a0dc17b80636b9ef4"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#08160d8eccea10d14367996bb1459b77">GetLastCreatedElems</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If during last operation of MeshEditor
+some elements were created this method returns list of it's IDs, <br>
+if new elements not creared - returns empty list. <a
+ href="#08160d8eccea10d14367996bb1459b77"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#eb2e95e036f629d22802fe1caa0dea77">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#d4c31f83ccca912b41330a80953b19e2">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f6f61e4be25bdf3a89492e8d9e466f1c">editor</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html#c57794e9c688fc591fa6a634ae7ecf24">editor</a>
+= 0</td>
+    </tr>
+  </tbody>
 </table>
+</p>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+The class contains mesh shape, SMESH_Mesh, SMESH_MeshEditor More
+details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="2f592ce85252933c16d53b2233326e78"></a><!-- doxytag: member="smesh::Mesh::__init__" ref="2f592ce85252933c16d53b2233326e78" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>obj</em> = <code>0</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Creates mesh on the shape <em>geom(or the empty mesh if geom
+equal to 0)</em>, sets GUI name of this mesh to <em>name</em>. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>obj</em>&nbsp;</td>
+                <td>Shape to be meshed or SMESH_Mesh object </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>name</em>&nbsp;</td>
+                <td>Study name of the mesh </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bd750f18fbb3bbaec4658dbf9abf9a6a"></a><!-- doxytag: member="smesh::Mesh::SetMesh" ref="bd750f18fbb3bbaec4658dbf9abf9a6a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SetMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theMesh</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMesh</em>&nbsp;</td>
+                <td>is SMESH_Mesh object </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="dbacc8ea6620b9d3f75c78ccd01447f5"></a><!-- doxytag: member="smesh::Mesh::GetMesh" ref="dbacc8ea6620b9d3f75c78ccd01447f5" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Mesh object </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b87f0d109e7dd97722ee0bfea949d534"></a><!-- doxytag: member="smesh::Mesh::GetName" ref="b87f0d109e7dd97722ee0bfea949d534" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1c8c2f704ec04470c635bafbffc2fd89"></a><!-- doxytag: member="smesh::Mesh::SetName" ref="1c8c2f704ec04470c635bafbffc2fd89" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="6a6cf011f8f9ae71976677e5fc252cba"></a><!-- doxytag: member="smesh::Mesh::GetSubMesh" ref="6a6cf011f8f9ae71976677e5fc252cba" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theSubObject</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>The subMesh object gives access to nodes and elements IDs. <br>
+SubMesh will be used instead of SubShape in a next idl version to
+adress a specific subMesh... </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8cd4dd97fd482c2dc9366831d9edfade"></a><!-- doxytag: member="smesh::Mesh::GetShape" ref="8cd4dd97fd482c2dc9366831d9edfade" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetShape </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>GEOM_Object </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3c65a48f65595eca0cb35537327f66e7"></a><!-- doxytag: member="smesh::Mesh::SetShape" ref="3c65a48f65595eca0cb35537327f66e7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SetShape </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>shape to be meshed(GEOM_Object) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8b180b0fecdee7086fd87b6e399fb920"></a><!-- doxytag: member="smesh::Mesh::IsReadyToCompute" ref="8b180b0fecdee7086fd87b6e399fb920" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IsReadyToCompute </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theSubObject</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMesh</em>&nbsp;</td>
+                <td>is an instance of <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> class </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theSubObject</em>&nbsp;</td>
+                <td>subshape of a mesh shape </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8a4a3f3f1b1c3ab7344043fc0462b34c"></a><!-- doxytag: member="smesh::Mesh::GetAlgoState" ref="8a4a3f3f1b1c3ab7344043fc0462b34c" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetAlgoState </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theSubObject</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMesh</em>&nbsp;</td>
+                <td>is an instance of <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> class </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theSubObject</em>&nbsp;</td>
+                <td>subshape of a mesh shape </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>a list of errors </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="98eebf424797ca54f6f8d26bfe5fa198"></a><!-- doxytag: member="smesh::Mesh::GetGeometryByMeshElement" ref="98eebf424797ca54f6f8d26bfe5fa198" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetGeometryByMeshElement </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theElementID</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theGeomName</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>The returned geometrical object, if not nil, is either found
+in the study or is published by this method with the given name </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMesh</em>&nbsp;</td>
+                <td>is an instance of <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> class </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theElementID</em>&nbsp;</td>
+                <td>an id of the mesh element </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theGeomName</em>&nbsp;</td>
+                <td>user defined name of geometrical object </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>GEOM.GEOM_Object instance </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="06348840fb6e34f96868289711e081b8"></a><!-- doxytag: member="smesh::Mesh::MeshDimension" ref="06348840fb6e34f96868289711e081b8" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MeshDimension </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="c482d4a5eb26a6215d5da9b368e19c45"></a><!-- doxytag: member="smesh::Mesh::Segment" ref="c482d4a5eb26a6215d5da9b368e19c45" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Segment </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>algo</em> = <code><a
+ class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">REGULAR</a></code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the optional <em>algo</em> parameter is not sets, this
+algorithm is REGULAR. If the optional <em>geom</em> parameter is not
+sets, this algorithm is global. <br>
+Otherwise, this algorithm define a submesh based on <em>geom</em>
+subshape. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>algo</em>&nbsp;</td>
+                <td>values are <a class="el"
+ href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">smesh.REGULAR</a>
+or <a class="el"
+ href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">smesh.PYTHON</a>
+for discretization via python function </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>If defined, subshape to be meshed </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0670294973fa7bfe28b9011e0f09f6a1"></a><!-- doxytag: member="smesh::Mesh::Triangle" ref="0670294973fa7bfe28b9011e0f09f6a1" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Triangle </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>algo</em> = <code><a
+ class="el" href="namespacesmesh.html#4449cc4d5e7910c0afa9a35238736519">MEFISTO</a></code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the optional <em>geom</em> parameter is not sets, this
+algorithm is global. <br>
+Otherwise, this algorithm define a submesh based on <em>geom</em>
+subshape. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>algo</em>&nbsp;</td>
+                <td>values are: <a class="el"
+ href="namespacesmesh.html#4449cc4d5e7910c0afa9a35238736519">smesh.MEFISTO</a>
+or <a class="el"
+ href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">smesh.NETGEN</a>
+                </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>If defined, subshape to be meshed </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4ca1886a1ff06e16c670f1675c5a573b"></a><!-- doxytag: member="smesh::Mesh::Quadrangle" ref="4ca1886a1ff06e16c670f1675c5a573b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Quadrangle </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the optional <em>geom</em> parameter is not sets, this
+algorithm is global. <br>
+Otherwise, this algorithm define a submesh based on <em>geom</em>
+subshape. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>If defined, subshape to be meshed </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="25ec76b72df8bebc8a612910a0318620"></a><!-- doxytag: member="smesh::Mesh::Tetrahedron" ref="25ec76b72df8bebc8a612910a0318620" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Tetrahedron </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>algo</em> = <code><a
+ class="el" href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">NETGEN</a></code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>The parameter <em>algo</em> permits to choice the algorithm:
+NETGEN or GHS3D If the optional <em>geom</em> parameter is not sets,
+this algorithm is global. <br>
+Otherwise, this algorithm define a submesh based on <em>geom</em>
+subshape. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>algo</em>&nbsp;</td>
+                <td>values are: <a class="el"
+ href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">smesh.NETGEN</a>,
+                <a class="el"
+ href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">smesh.GHS3D</a>,
+                <a class="el"
+ href="namespacesmesh.html#13a34e1016fc530291cb7c688709efb3">smesh.FULL_NETGEN</a>
+                </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>If defined, subshape to be meshed </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="21ec3ac09ca0ad1a9fdc6935654893fd"></a><!-- doxytag: member="smesh::Mesh::Hexahedron" ref="21ec3ac09ca0ad1a9fdc6935654893fd" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Hexahedron </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the optional <em>geom</em> parameter is not sets, this
+algorithm is global. <br>
+Otherwise, this algorithm define a submesh based on <em>geom</em>
+subshape. </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>If defined, subshape to be meshed </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="27c0aef5694eea45b0670207d5580bc6"></a><!-- doxytag: member="smesh::Mesh::Netgen" ref="27c0aef5694eea45b0670207d5580bc6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Netgen </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>is3D</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ed26e60b9561403c1966a8a4aac5f512"></a><!-- doxytag: member="smesh::Mesh::Compute" ref="ed26e60b9561403c1966a8a4aac5f512" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Compute </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d23d8a7c9fc382821d4016774fa9e98d"></a><!-- doxytag: member="smesh::Mesh::AutomaticTetrahedralization" ref="d23d8a7c9fc382821d4016774fa9e98d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AutomaticTetrahedralization </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>fineness</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1c78238cdf0aad20ab2d6eef4a184799"></a><!-- doxytag: member="smesh::Mesh::AutomaticHexahedralization" ref="1c78238cdf0aad20ab2d6eef4a184799" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AutomaticHexahedralization </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>fineness</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9dcaabbf09856c4a4d7465cb12eaf28e"></a><!-- doxytag: member="smesh::Mesh::GetHypothesisList" ref="9dcaabbf09856c4a4d7465cb12eaf28e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetHypothesisList </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>geom</em>&nbsp;</td>
+                <td>is subhape of mesh geometry </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="95d999f08f0aaef05f6dcdb8292e00e0"></a><!-- doxytag: member="smesh::Mesh::RemoveGlobalHypotheses" ref="95d999f08f0aaef05f6dcdb8292e00e0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RemoveGlobalHypotheses </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="6deeda0a7c76698bdf314b7c81b15c0f"></a><!-- doxytag: member="smesh::Mesh::Group" ref="6deeda0a7c76698bdf314b7c81b15c0f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Group </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>grp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em> = <code>""</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>grp</em>&nbsp;</td>
+                <td>is a geometric group, a vertex, an edge, a face or
+a solid </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>name</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_GroupOnGeom </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="36933e515825d7d1c62863686546a84f"></a><!-- doxytag: member="smesh::Mesh::ExportToMED" ref="36933e515825d7d1c62863686546a84f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExportToMED </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>f</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>version</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>opt</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Export the mesh in a file with the MED format and choice the <em>version</em>
+of MED format </p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>f</em>&nbsp;</td>
+                <td>is the file name </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>version</em>&nbsp;</td>
+                <td>values are SMESH.MED_V2_1, SMESH.MED_V2_2 </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a86bdbce4f2f57e951bcea9ab1986ecb"></a><!-- doxytag: member="smesh::Mesh::ExportMED" ref="a86bdbce4f2f57e951bcea9ab1986ecb" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExportMED </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>f</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>auto_groups</em> =
+            <code>0</code>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>version</em> = <code>MED_V2_2</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>f</em>&nbsp;</td>
+                <td>is the file name </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>auto_groups</em>&nbsp;</td>
+                <td>boolean parameter for creating/not creating the
+groups Group_On_All_Nodes, Group_On_All_Faces, ... ; the typical use is
+auto_groups=false. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>version</em>&nbsp;</td>
+                <td>MED format version(MED_V2_1 or MED_V2_2) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5db000b98b9608f1f3384a4b09b35f58"></a><!-- doxytag: member="smesh::Mesh::ExportDAT" ref="5db000b98b9608f1f3384a4b09b35f58" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExportDAT </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>f</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>f</em>&nbsp;</td>
+                <td>is the file name </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="c008bc59ddf84fb975ea54fdd9c5b20e"></a><!-- doxytag: member="smesh::Mesh::ExportUNV" ref="c008bc59ddf84fb975ea54fdd9c5b20e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExportUNV </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>f</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>f</em>&nbsp;</td>
+                <td>is the file name </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5f0cfa067db19492048fc67f9214a938"></a><!-- doxytag: member="smesh::Mesh::ExportSTL" ref="5f0cfa067db19492048fc67f9214a938" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExportSTL </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>f</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>ascii</em> = <code>1</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>f</em>&nbsp;</td>
+                <td>is the file name </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>ascii</em>&nbsp;</td>
+                <td>defined the kind of file contents </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d0f9d4c25155f1aa2f2f9d9439bbd380"></a><!-- doxytag: member="smesh::Mesh::CreateEmptyGroup" ref="d0f9d4c25155f1aa2f2f9d9439bbd380" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.CreateEmptyGroup </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is the type of elements in the group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>name</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4766ca881b87442bb269d843d6e0fbee"></a><!-- doxytag: member="smesh::Mesh::GroupOnGeom" ref="4766ca881b87442bb269d843d6e0fbee" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GroupOnGeom </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>grp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em> = <code>""</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>type</em> = <code>None</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>grp</em>&nbsp;</td>
+                <td>is a geometric group, a vertex, an edge, a face or
+a solid </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>name</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_GroupOnGeom </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3b3954caebc6f212681cdc43d683d81f"></a><!-- doxytag: member="smesh::Mesh::MakeGroupByIds" ref="3b3954caebc6f212681cdc43d683d81f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MakeGroupByIds </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>groupName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elemIDs</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>groupName</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is the type of elements in the group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elemIDs</em>&nbsp;</td>
+                <td>is the list of ids </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="971e345218f95e1d56d59450aebb8dec"></a><!-- doxytag: member="smesh::Mesh::MakeGroup" ref="971e345218f95e1d56d59450aebb8dec" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MakeGroup </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>groupName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CritType</em> = <code>FT_Undefined</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Compare</em> = <code>FT_EqualTo</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Treshold</em> = <code>""</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>UnaryOp</em> = <code>FT_Undefined</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>groupName</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is the type of elements in the group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>CritType</em>&nbsp;</td>
+                <td>is type of criterion( FT_Taper, FT_Area,
+FT_RangeOfIds, FT_LyingOnGeom etc. ) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Compare</em>&nbsp;</td>
+                <td>belong to {FT_LessThan, FT_MoreThan, FT_EqualTo} </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Treshold</em>&nbsp;</td>
+                <td>is threshold value (range of id ids as string,
+shape, numeric) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>UnaryOp</em>&nbsp;</td>
+                <td>is FT_LogicalNOT or FT_Undefined </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3ed52b9c18af35719986e962143a5ffb"></a><!-- doxytag: member="smesh::Mesh::MakeGroupByCriterion" ref="3ed52b9c18af35719986e962143a5ffb" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MakeGroupByCriterion </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>groupName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Criterion</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>groupName</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Criterion</em>&nbsp;</td>
+                <td>is the instance of Criterion class </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1db8830048163a89d6e8a5b38bc0aff6"></a><!-- doxytag: member="smesh::Mesh::MakeGroupByCriteria" ref="1db8830048163a89d6e8a5b38bc0aff6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MakeGroupByCriteria </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>groupName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriteria</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>groupName</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Criteria</em>&nbsp;</td>
+                <td>is the list of criterions </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8f4952f18ef6e065b1f21b9c501acdbd"></a><!-- doxytag: member="smesh::Mesh::MakeGroupByFilter" ref="8f4952f18ef6e065b1f21b9c501acdbd" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MakeGroupByFilter </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>groupName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theFilter</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>groupName</em>&nbsp;</td>
+                <td>is the name of the mesh group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Criterion</em>&nbsp;</td>
+                <td>is the instance of Filter class </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Group </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="14ec9ac71e14ef62aa41ab5427dc874b"></a><!-- doxytag: member="smesh::Mesh::GetIdsFromFilter" ref="14ec9ac71e14ef62aa41ab5427dc874b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetIdsFromFilter </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theFilter</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theFilter</em>&nbsp;</td>
+                <td>is SMESH_Filter </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>list of ids </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bf1218d5cb3988330c0bf61db2a2b2b7"></a><!-- doxytag: member="smesh::Mesh::GetFreeBorders" ref="bf1218d5cb3988330c0bf61db2a2b2b7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetFreeBorders </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>list of SMESH.FreeEdges.Border structure: edge id and two
+its nodes ids. </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cf78d6ee5bf4142a7c47c542dd29774e"></a><!-- doxytag: member="smesh::Mesh::RemoveGroup" ref="cf78d6ee5bf4142a7c47c542dd29774e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RemoveGroup </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7b925f04a22f5b1b6b2e534da1ecbd92"></a><!-- doxytag: member="smesh::Mesh::RemoveGroupWithContents" ref="7b925f04a22f5b1b6b2e534da1ecbd92" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RemoveGroupWithContents </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="95da60a43691e2555e1246346bab95cc"></a><!-- doxytag: member="smesh::Mesh::GetGroups" ref="95da60a43691e2555e1246346bab95cc" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetGroups </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ec1357647df1fae2de711e46f33bce59"></a><!-- doxytag: member="smesh::Mesh::GetGroupNames" ref="ec1357647df1fae2de711e46f33bce59" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetGroupNames </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="adce4d7372f7f85d7851aac8fa8223ab"></a><!-- doxytag: member="smesh::Mesh::UnionGroups" ref="adce4d7372f7f85d7851aac8fa8223ab" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.UnionGroups </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group2</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>All mesh elements that are present in initial groups are added
+to the new one </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ff4bc7665f316f9afe4091a1aa195938"></a><!-- doxytag: member="smesh::Mesh::IntersectGroups" ref="ff4bc7665f316f9afe4091a1aa195938" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IntersectGroups </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>group2</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>All mesh elements that are present in both initial groups are
+added to the new one. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="93a759ed3183676d160b210ea16f4152"></a><!-- doxytag: member="smesh::Mesh::CutGroups" ref="93a759ed3183676d160b210ea16f4152" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.CutGroups </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mainGroup</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>toolGroup</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>All mesh elements that are present in main group but do not
+present in tool group are added to the new one </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a8eb2739e60747e3e4f21f6d044fb8ea"></a><!-- doxytag: member="smesh::Mesh::GetLog" ref="a8eb2739e60747e3e4f21f6d044fb8ea" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetLog </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>clearAfterGet</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>clearAfterGet</em>&nbsp;</td>
+                <td>log is emptied after Get (safe if concurrents
+access) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>list of log_block structures: commandType number coords
+indexes </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ca397e42479735387f28e60daba5fa21"></a><!-- doxytag: member="smesh::Mesh::ClearLog" ref="ca397e42479735387f28e60daba5fa21" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ClearLog </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Must be used immediately after GetLog if clearAfterGet is
+false. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8c2b5b28778a8c8e75dbf67e9e173e96"></a><!-- doxytag: member="smesh::Mesh::GetId" ref="8c2b5b28778a8c8e75dbf67e9e173e96" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="aefae881bffe9563d1d94a8aa94311aa"></a><!-- doxytag: member="smesh::Mesh::GetStudyId" ref="aefae881bffe9563d1d94a8aa94311aa" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetStudyId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d1846b2ee111a6720a7bfdb7bae9a04e"></a><!-- doxytag: member="smesh::Mesh::HasDuplicatedGroupNamesMED" ref="d1846b2ee111a6720a7bfdb7bae9a04e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.HasDuplicatedGroupNamesMED </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Consider maximum group name length stored in MED file. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e65f765b6a402c7c8b26335fa4422cf5"></a><!-- doxytag: member="smesh::Mesh::GetMeshEditor" ref="e65f765b6a402c7c8b26335fa4422cf5" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetMeshEditor </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="23967469975fb15ab095fbef5d3fff4c"></a><!-- doxytag: member="smesh::Mesh::GetMEDMesh" ref="23967469975fb15ab095fbef5d3fff4c" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetMEDMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="726ae692c089873060904db2f5be2489"></a><!-- doxytag: member="smesh::Mesh::NbNodes" ref="726ae692c089873060904db2f5be2489" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ab9164bf03dfc3f96373c83890faeac7"></a><!-- doxytag: member="smesh::Mesh::NbElements" ref="ab9164bf03dfc3f96373c83890faeac7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8f6a7ba5c4246afbe8c23c31b54fe151"></a><!-- doxytag: member="smesh::Mesh::NbEdges" ref="8f6a7ba5c4246afbe8c23c31b54fe151" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbEdges </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="62493e2dea0235f7043c35850ea67bc1"></a><!-- doxytag: member="smesh::Mesh::NbEdgesOfOrder" ref="62493e2dea0235f7043c35850ea67bc1" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbEdgesOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7e9df39cf5129962023043abcc898e69"></a><!-- doxytag: member="smesh::Mesh::NbFaces" ref="7e9df39cf5129962023043abcc898e69" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbFaces </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b5f5d0f76b75110f373c2978bec4511d"></a><!-- doxytag: member="smesh::Mesh::NbFacesOfOrder" ref="b5f5d0f76b75110f373c2978bec4511d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbFacesOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="45deec5dbf334ba86f69210edb6eb031"></a><!-- doxytag: member="smesh::Mesh::NbTriangles" ref="45deec5dbf334ba86f69210edb6eb031" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbTriangles </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="81cdae5d219351e937d02a8ea5c8bd66"></a><!-- doxytag: member="smesh::Mesh::NbTrianglesOfOrder" ref="81cdae5d219351e937d02a8ea5c8bd66" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbTrianglesOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d83429db26cce1bc35795935c4c22e0a"></a><!-- doxytag: member="smesh::Mesh::NbQuadrangles" ref="d83429db26cce1bc35795935c4c22e0a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbQuadrangles </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4c9bca301fa2170813406412cfd9c1aa"></a><!-- doxytag: member="smesh::Mesh::NbQuadranglesOfOrder" ref="4c9bca301fa2170813406412cfd9c1aa" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbQuadranglesOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f086f62d71136f0e5a24ee9a4150515b"></a><!-- doxytag: member="smesh::Mesh::NbPolygons" ref="f086f62d71136f0e5a24ee9a4150515b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPolygons </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e35ea16aadc59efecaff428c0b3c2dfe"></a><!-- doxytag: member="smesh::Mesh::NbVolumes" ref="e35ea16aadc59efecaff428c0b3c2dfe" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbVolumes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b5dc83d1838f66e925667cd6634b5919"></a><!-- doxytag: member="smesh::Mesh::NbVolumesOfOrder" ref="b5dc83d1838f66e925667cd6634b5919" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbVolumesOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="2a7fd2a66045ad4ef37395899cf3e2b4"></a><!-- doxytag: member="smesh::Mesh::NbTetras" ref="2a7fd2a66045ad4ef37395899cf3e2b4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbTetras </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5f6f04aee13f5e9146b0b83dc4a29136"></a><!-- doxytag: member="smesh::Mesh::NbTetrasOfOrder" ref="5f6f04aee13f5e9146b0b83dc4a29136" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbTetrasOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="fd3a0392332424162db67bdc18a66b9e"></a><!-- doxytag: member="smesh::Mesh::NbHexas" ref="fd3a0392332424162db67bdc18a66b9e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbHexas </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="30d469eb020c16ac95fe4ccc86df9847"></a><!-- doxytag: member="smesh::Mesh::NbHexasOfOrder" ref="30d469eb020c16ac95fe4ccc86df9847" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbHexasOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="aee1ae2972f4256dbc23281f212bd63d"></a><!-- doxytag: member="smesh::Mesh::NbPyramids" ref="aee1ae2972f4256dbc23281f212bd63d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPyramids </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="6f9f0c840846170841655ffe6c88c9ba"></a><!-- doxytag: member="smesh::Mesh::NbPyramidsOfOrder" ref="6f9f0c840846170841655ffe6c88c9ba" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPyramidsOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="497d7d510d365904c8850f8a1ab9b9c6"></a><!-- doxytag: member="smesh::Mesh::NbPrisms" ref="497d7d510d365904c8850f8a1ab9b9c6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPrisms </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8d37e2b2ec7aff3b89b0933c03409e5b"></a><!-- doxytag: member="smesh::Mesh::NbPrismsOfOrder" ref="8d37e2b2ec7aff3b89b0933c03409e5b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPrismsOfOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementOrder</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementOrder</em>&nbsp;</td>
+                <td>is order of elements: ORDER_ANY, ORDER_LINEAR or
+ORDER_QUADRATIC </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="84903e975c77cc2542ea50143f9cb877"></a><!-- doxytag: member="smesh::Mesh::NbPolyhedrons" ref="84903e975c77cc2542ea50143f9cb877" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbPolyhedrons </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="fafa87c1893299b30bffdaa748837ace"></a><!-- doxytag: member="smesh::Mesh::NbSubMesh" ref="fafa87c1893299b30bffdaa748837ace" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.NbSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="2f7b4230985fdf7dac8c1a3dc5d96efa"></a><!-- doxytag: member="smesh::Mesh::GetElementsId" ref="2f7b4230985fdf7dac8c1a3dc5d96efa" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetElementsId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1dbede49ac46741782d4b88096024754"></a><!-- doxytag: member="smesh::Mesh::GetElementsByType" ref="1dbede49ac46741782d4b88096024754" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetElementsByType </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is required type of elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d4f0260724efd10fc07d6cc030348bf7"></a><!-- doxytag: member="smesh::Mesh::GetNodesId" ref="d4f0260724efd10fc07d6cc030348bf7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetNodesId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="09d64e636ad97f4929174795376cb79a"></a><!-- doxytag: member="smesh::Mesh::GetElementType" ref="09d64e636ad97f4929174795376cb79a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetElementType </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>iselem</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cff00e6b2f5d63f24af53e5d654d259e"></a><!-- doxytag: member="smesh::Mesh::GetSubMeshElementsId" ref="cff00e6b2f5d63f24af53e5d654d259e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetSubMeshElementsId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>shapeID</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>shapeID</em>&nbsp;</td>
+                <td>is geom object(subshape) IOR </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="df30b3062d9420c85f457d8d67716c6a"></a><!-- doxytag: member="smesh::Mesh::GetSubMeshNodesId" ref="df30b3062d9420c85f457d8d67716c6a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetSubMeshNodesId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>shapeID</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>all</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>shapeID</em>&nbsp;</td>
+                <td>is geom object(subshape) IOR </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="01928943dd569e70590f7a82d5a9c083"></a><!-- doxytag: member="smesh::Mesh::GetSubMeshElementType" ref="01928943dd569e70590f7a82d5a9c083" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetSubMeshElementType </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>shapeID</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>shapeID</em>&nbsp;</td>
+                <td>is geom object(subshape) IOR </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="97cc6a5900b73642880b5c5327167347"></a><!-- doxytag: member="smesh::Mesh::Dump" ref="97cc6a5900b73642880b5c5327167347" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Dump </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8c5f43b40615e416e8723250aedca198"></a><!-- doxytag: member="smesh::Mesh::GetNodeXYZ" ref="8c5f43b40615e416e8723250aedca198" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetNodeXYZ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="89759593eb975e4a98f21fad2f0471d9"></a><!-- doxytag: member="smesh::Mesh::GetNodeInverseElements" ref="89759593eb975e4a98f21fad2f0471d9" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetNodeInverseElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="819f94ff143442f18726ad6d571f4d4d"></a><!-- doxytag: member="smesh::Mesh::GetShapeID" ref="819f94ff143442f18726ad6d571f4d4d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetShapeID </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="eef3aa74ef3616715448260f21f743fe"></a><!-- doxytag: member="smesh::Mesh::GetShapeIDForElem" ref="eef3aa74ef3616715448260f21f743fe" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetShapeIDForElem </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>id</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8a3f80335947fd570bba6b4f53a8a561"></a><!-- doxytag: member="smesh::Mesh::GetElemNbNodes" ref="8a3f80335947fd570bba6b4f53a8a561" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetElemNbNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b962a2eb7fc5b6ee8c50795d185c45d0"></a><!-- doxytag: member="smesh::Mesh::GetElemNode" ref="b962a2eb7fc5b6ee8c50795d185c45d0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetElemNode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>index</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e51aaa086dca92d2b7966ae0b49aefd7"></a><!-- doxytag: member="smesh::Mesh::IsMediumNode" ref="e51aaa086dca92d2b7966ae0b49aefd7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IsMediumNode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementID</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>nodeID</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="10e70db0e24a1ec78636f8651a402873"></a><!-- doxytag: member="smesh::Mesh::IsMediumNodeOfAnyElem" ref="10e70db0e24a1ec78636f8651a402873" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IsMediumNodeOfAnyElem </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>nodeID</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bf279ea4ea4ea4aa0e01ef0b2da41376"></a><!-- doxytag: member="smesh::Mesh::ElemNbEdges" ref="bf279ea4ea4ea4aa0e01ef0b2da41376" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ElemNbEdges </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ba5c055ca37c30cb77d2c698cb062d18"></a><!-- doxytag: member="smesh::Mesh::ElemNbFaces" ref="ba5c055ca37c30cb77d2c698cb062d18" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ElemNbFaces </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0711cb1be29ca2d8e186e921650b9a75"></a><!-- doxytag: member="smesh::Mesh::IsPoly" ref="0711cb1be29ca2d8e186e921650b9a75" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IsPoly </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a6688e1a2742f29aa5b662cc7aaa4032"></a><!-- doxytag: member="smesh::Mesh::IsQuadratic" ref="a6688e1a2742f29aa5b662cc7aaa4032" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.IsQuadratic </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="512996a6214d6d7bb82c449126602dcb"></a><!-- doxytag: member="smesh::Mesh::BaryCenter" ref="512996a6214d6d7bb82c449126602dcb" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.BaryCenter </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>id</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7ef5a1396c6ca2f87f866019d6994fda"></a><!-- doxytag: member="smesh::Mesh::RemoveElements" ref="7ef5a1396c6ca2f87f866019d6994fda" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RemoveElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>is list of ids of elements to remove </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3660e81cc2503176aeaaf791d91583aa"></a><!-- doxytag: member="smesh::Mesh::RemoveNodes" ref="3660e81cc2503176aeaaf791d91583aa" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RemoveNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfNodes</em>&nbsp;</td>
+                <td>is list of ids of nodes to remove </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1fc905250f88b780af041874783e1aba"></a><!-- doxytag: member="smesh::Mesh::AddNode" ref="1fc905250f88b780af041874783e1aba" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddNode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>x</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>y</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>z</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5300171dc7f8dcb867641e99ddfe1259"></a><!-- doxytag: member="smesh::Mesh::AddEdge" ref="5300171dc7f8dcb867641e99ddfe1259" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddEdge </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IdsOfNodes</em>&nbsp;</td>
+                <td>List of node IDs for creation of element. Needed
+order of nodes in this list corresponds to description of MED. <br>
+This description is located by the following link: <a
+ href="http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.">http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.</a>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ac29ca675d96e76ac464d552d0677bef"></a><!-- doxytag: member="smesh::Mesh::AddFace" ref="ac29ca675d96e76ac464d552d0677bef" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddFace </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IdsOfNodes</em>&nbsp;</td>
+                <td>List of node IDs for creation of element. Needed
+order of nodes in this list corresponds to description of MED. <br>
+This description is located by the following link: <a
+ href="http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.">http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.</a>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1ff012def84bb3df64b313060f6de7ba"></a><!-- doxytag: member="smesh::Mesh::AddPolygonalFace" ref="1ff012def84bb3df64b313060f6de7ba" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddPolygonalFace </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IdsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="21e6382dee8cc24808416494abc93e5f"></a><!-- doxytag: member="smesh::Mesh::AddVolume" ref="21e6382dee8cc24808416494abc93e5f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddVolume </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IdsOfNodes</em>&nbsp;</td>
+                <td>List of node IDs for creation of element. Needed
+order of nodes in this list corresponds to description of MED. <br>
+This description is located by the following link: <a
+ href="http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.">http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.</a>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="2d584c652eeb55d174ad4e2107ad4702"></a><!-- doxytag: member="smesh::Mesh::AddPolyhedralVolume" ref="2d584c652eeb55d174ad4e2107ad4702" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddPolyhedralVolume </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IdsOfNodes</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Quantities</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IdsOfNodes</em>&nbsp;</td>
+                <td>List of node IDs for volume creation face by face. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Quantities</em>&nbsp;</td>
+                <td>List of integer values, Quantities[i] gives
+quantity of nodes in face number i. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="77d8a4cee1fa308e4ce7d2b80f15e52e"></a><!-- doxytag: member="smesh::Mesh::AddPolyhedralVolumeByFaces" ref="77d8a4cee1fa308e4ce7d2b80f15e52e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AddPolyhedralVolumeByFaces </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IdsOfFaces</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IdsOfFaces</em>&nbsp;</td>
+                <td>List of face IDs for volume creation.</td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+Note: The created volume will refer only to nodes of the given faces,
+not to the faces itself. </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3a0b58036724d0068a346f233ac1744f"></a><!-- doxytag: member="smesh::Mesh::MoveNode" ref="3a0b58036724d0068a346f233ac1744f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MoveNode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>x</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>y</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>z</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeID</em>&nbsp;</td>
+                <td>id of the node </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>x</em>&nbsp;</td>
+                <td>displacing along the X axis </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>y</em>&nbsp;</td>
+                <td>displacing along the Y axis </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>z</em>&nbsp;</td>
+                <td>displacing along the Z axis </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1cd711562c3f4cf4d2989606210dc6d"></a><!-- doxytag: member="smesh::Mesh::InverseDiag" ref="b1cd711562c3f4cf4d2989606210dc6d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.InverseDiag </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID2</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeID1</em>&nbsp;</td>
+                <td>first node id </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeID2</em>&nbsp;</td>
+                <td>second node id </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>false if proper faces not found </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="1f9d69024eb5959bacf0f14c9a99f89f"></a><!-- doxytag: member="smesh::Mesh::DeleteDiag" ref="1f9d69024eb5959bacf0f14c9a99f89f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.DeleteDiag </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID2</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeID1</em>&nbsp;</td>
+                <td>first node id </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeID2</em>&nbsp;</td>
+                <td>second node id </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>false if proper faces not found </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="70be24d065258cab090116d94431f08b"></a><!-- doxytag: member="smesh::Mesh::Reorient" ref="70be24d065258cab090116d94431f08b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Reorient </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>
+= <code>None</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>if undefined reorient all mesh elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="3135d68c4429b2941870e19bb3233dce"></a><!-- doxytag: member="smesh::Mesh::ReorientObject" ref="3135d68c4429b2941870e19bb3233dce" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ReorientObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>is mesh, submesh or group </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="922f422cb40bc3412f7561defe43ef3b"></a><!-- doxytag: member="smesh::Mesh::TriToQuad" ref="922f422cb40bc3412f7561defe43ef3b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.TriToQuad </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriterion</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxAngle</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>The triangles to be fused, </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCriterion</em>&nbsp;</td>
+                <td>is FT_...; used to choose a neighbour to fuse with.
+                </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAngle</em>&nbsp;</td>
+                <td>is a max angle between element normals at which
+fusion is still performed; theMaxAngle is mesured in radians. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>TRUE in case of success, FALSE otherwise. </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b6d00be6bccc1478f6dd627ab10ef0b0"></a><!-- doxytag: member="smesh::Mesh::TriToQuadObject" ref="b6d00be6bccc1478f6dd627ab10ef0b0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.TriToQuadObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriterion</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxAngle</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>is mesh, submesh or group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCriterion</em>&nbsp;</td>
+                <td>is FT_...; used to choose a neighbour to fuse with.
+                </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAngle</em>&nbsp;</td>
+                <td>is a max angle between element normals at which
+fusion is still performed; theMaxAngle is mesured in radians. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>TRUE in case of success, FALSE otherwise. </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0c0ad8d78fb361a3270325ceb3f495b6"></a><!-- doxytag: member="smesh::Mesh::QuadToTri" ref="0c0ad8d78fb361a3270325ceb3f495b6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.QuadToTri </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriterion</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>the faces to be splitted. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCriterion</em>&nbsp;</td>
+                <td>is FT_...; used to choose a diagonal for splitting.
+                </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em></em>&nbsp;</td>
+                <td>TRUE in case of success, FALSE otherwise. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5ce3b8a9451caf30b6150c81000beb38"></a><!-- doxytag: member="smesh::Mesh::QuadToTriObject" ref="5ce3b8a9451caf30b6150c81000beb38" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.QuadToTriObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriterion</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object to taking list of elements from, is mesh,
+submesh or group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCriterion</em>&nbsp;</td>
+                <td>is FT_...; used to choose a diagonal for splitting.
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="c0a1a58709e0b852d34ad4c800e4dbe5"></a><!-- doxytag: member="smesh::Mesh::SplitQuad" ref="c0a1a58709e0b852d34ad4c800e4dbe5" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SplitQuad </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Diag13</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theElems</em>&nbsp;</td>
+                <td>The faces to be splitted </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>the13Diag</em>&nbsp;</td>
+                <td>is used to choose a diagonal for splitting. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>TRUE in case of success, FALSE otherwise. </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="597d364ed43deec20e76bbe76733f24a"></a><!-- doxytag: member="smesh::Mesh::SplitQuadObject" ref="597d364ed43deec20e76bbe76733f24a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SplitQuadObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Diag13</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>is object to taking list of elements from, is mesh,
+submesh or group </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="318863d98fc0ceae3d2c40f2e140ddcc"></a><!-- doxytag: member="smesh::Mesh::BestSplit" ref="318863d98fc0ceae3d2c40f2e140ddcc" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.BestSplit </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDOfQuad</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theCriterion</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDOfQuad</em>&nbsp;</td>
+                <td>ID of the quadrangle to be splitted. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCriterion</em>&nbsp;</td>
+                <td>is FT_...; a criterion to choose a diagonal for
+splitting. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>1 if 1-3 diagonal is better, 2 if 2-4 diagonal is better, 0
+if error occurs. </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="84d7a34fff0606afb1ad5ec38fbff51b"></a><!-- doxytag: member="smesh::Mesh::Smooth" ref="84d7a34fff0606afb1ad5ec38fbff51b" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Smooth </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfFixedNodes</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxNbOfIterations</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxAspectRatio</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Method</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list if ids of elements to smooth </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfFixedNodes</em>&nbsp;</td>
+                <td>list of ids of fixed nodes. Note that nodes built
+on edges and boundary nodes are always fixed. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxNbOfIterations</em>&nbsp;</td>
+                <td>maximum number of iterations </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAspectRatio</em>&nbsp;</td>
+                <td>varies in range [1.0, inf] </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Method</em>&nbsp;</td>
+                <td>is Laplacian(LAPLACIAN_SMOOTH) or
+Centroidal(CENTROIDAL_SMOOTH) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="35fe184fb7df14af5ed11780133242b6"></a><!-- doxytag: member="smesh::Mesh::SmoothObject" ref="35fe184fb7df14af5ed11780133242b6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SmoothObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfFixedNodes</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxNbOfIterations</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxxAspectRatio</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Method</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object to smooth </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfFixedNodes</em>&nbsp;</td>
+                <td>list of ids of fixed nodes. Note that nodes built
+on edges and boundary nodes are always fixed. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxNbOfIterations</em>&nbsp;</td>
+                <td>maximum number of iterations </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAspectRatio</em>&nbsp;</td>
+                <td>varies in range [1.0, inf] </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Method</em>&nbsp;</td>
+                <td>is Laplacian(LAPLACIAN_SMOOTH) or
+Centroidal(CENTROIDAL_SMOOTH) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f1a03b74c100180c10eebe21623a2c08"></a><!-- doxytag: member="smesh::Mesh::SmoothParametric" ref="f1a03b74c100180c10eebe21623a2c08" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SmoothParametric </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfFixedNodes</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxNbOfIterations</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxAspectRatio</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Method</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list if ids of elements to smooth </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfFixedNodes</em>&nbsp;</td>
+                <td>list of ids of fixed nodes. Note that nodes built
+on edges and boundary nodes are always fixed. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxNbOfIterations</em>&nbsp;</td>
+                <td>maximum number of iterations </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAspectRatio</em>&nbsp;</td>
+                <td>varies in range [1.0, inf] </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Method</em>&nbsp;</td>
+                <td>is Laplacian(LAPLACIAN_SMOOTH) or
+Centroidal(CENTROIDAL_SMOOTH) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="72f3d72d6e05ee787657079f7fae7569"></a><!-- doxytag: member="smesh::Mesh::SmoothParametricObject" ref="72f3d72d6e05ee787657079f7fae7569" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SmoothParametricObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfFixedNodes</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxNbOfIterations</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>MaxAspectRatio</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Method</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object to smooth </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfFixedNodes</em>&nbsp;</td>
+                <td>list of ids of fixed nodes. Note that nodes built
+on edges and boundary nodes are always fixed. </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxNbOfIterations</em>&nbsp;</td>
+                <td>maximum number of iterations </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>MaxAspectRatio</em>&nbsp;</td>
+                <td>varies in range [1.0, inf] </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Method</em>&nbsp;</td>
+                <td>is Laplacian(LAPLACIAN_SMOOTH) or
+Centroidal(CENTROIDAL_SMOOTH) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4dc4ca27b4d1b0dfc975b5ebb9e74b98"></a><!-- doxytag: member="smesh::Mesh::ConvertToQuadratic" ref="4dc4ca27b4d1b0dfc975b5ebb9e74b98" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ConvertToQuadratic </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theForce3d</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bf3a3a02b1ec06aaa4b518eacbc61c13"></a><!-- doxytag: member="smesh::Mesh::ConvertFromQuadratic" ref="bf3a3a02b1ec06aaa4b518eacbc61c13" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ConvertFromQuadratic </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="67efca0e9f290689ed21b473e52cbd50"></a><!-- doxytag: member="smesh::Mesh::RenumberNodes" ref="67efca0e9f290689ed21b473e52cbd50" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RenumberNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="425c345fea14aac8d46daf65e28aa361"></a><!-- doxytag: member="smesh::Mesh::RenumberElements" ref="425c345fea14aac8d46daf65e28aa361" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RenumberElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5c1411e04a23bd4f4ba721a24638a833"></a><!-- doxytag: member="smesh::Mesh::RotationSweep" ref="5c1411e04a23bd4f4ba721a24638a833" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RotationSweep </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Axix</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>AngleInRadians</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Tolerance</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list of ids of elements to sweep </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Axix</em>&nbsp;</td>
+                <td>axis of rotation, AxisStruct or line(geom object) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>AngleInRadians</em>&nbsp;</td>
+                <td>angle of Rotation </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>number of steps </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Tolerance</em>&nbsp;</td>
+                <td>tolerance </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9e3953602695cb8cfdca1357cd4281a0"></a><!-- doxytag: member="smesh::Mesh::RotationSweepObject" ref="9e3953602695cb8cfdca1357cd4281a0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RotationSweepObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Axix</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>AngleInRadians</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Tolerance</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object wich elements should be sweeped </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Axix</em>&nbsp;</td>
+                <td>axis of rotation, AxisStruct or line(geom object) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>AngleInRadians</em>&nbsp;</td>
+                <td>angle of Rotation </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>number of steps </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Tolerance</em>&nbsp;</td>
+                <td>tolerance </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="975714cfcbcbb60eabd43045fe7d80f0"></a><!-- doxytag: member="smesh::Mesh::ExtrusionSweep" ref="975714cfcbcbb60eabd43045fe7d80f0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionSweep </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>StepVector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list of elements ids for extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>StepVector</em>&nbsp;</td>
+                <td>vector, defining the direction and value of
+extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>the number of steps </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4f3409fde48b1edb83ea3c598e061b01"></a><!-- doxytag: member="smesh::Mesh::AdvancedExtrusion" ref="4f3409fde48b1edb83ea3c598e061b01" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.AdvancedExtrusion </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>StepVector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>ExtrFlags</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SewTolerance</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>is ids of elements </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>StepVector</em>&nbsp;</td>
+                <td>vector, defining the direction and value of
+extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>the number of steps </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>ExtrFlags</em>&nbsp;</td>
+                <td>set flags for performing extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>SewTolerance</em>&nbsp;</td>
+                <td>uses for comparing locations of nodes if flag
+EXTRUSION_FLAG_SEW is set </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5d29416945e6a665b83258b6f20a3b9d"></a><!-- doxytag: member="smesh::Mesh::ExtrusionSweepObject" ref="5d29416945e6a665b83258b6f20a3b9d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionSweepObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>StepVector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object wich elements should be processed </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>StepVector</em>&nbsp;</td>
+                <td>vector, defining the direction and value of
+extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>the number of steps </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="afa41c3158cd8b1fcfaf86db26d8550f"></a><!-- doxytag: member="smesh::Mesh::ExtrusionSweepObject1D" ref="afa41c3158cd8b1fcfaf86db26d8550f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionSweepObject1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>StepVector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object wich elements should be processed </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>StepVector</em>&nbsp;</td>
+                <td>vector, defining the direction and value of
+extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>the number of steps </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="079e59af58714725629b5081b5ec15c4"></a><!-- doxytag: member="smesh::Mesh::ExtrusionSweepObject2D" ref="079e59af58714725629b5081b5ec15c4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionSweepObject2D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>StepVector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NbOfSteps</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object wich elements should be processed </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>StepVector</em>&nbsp;</td>
+                <td>vector, defining the direction and value of
+extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NbOfSteps</em>&nbsp;</td>
+                <td>the number of steps </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="691522416f481a91a268d58e15646eb7"></a><!-- doxytag: member="smesh::Mesh::ExtrusionAlongPath" ref="691522416f481a91a268d58e15646eb7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionAlongPath </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>PathMesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>PathShape</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeStart</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>HasAngles</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Angles</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>HasRefPoint</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>RefPoint</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>is ids of elements </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>PathMesh</em>&nbsp;</td>
+                <td>mesh containing a 1D sub-mesh on the edge, along
+which proceeds the extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>PathShape</em>&nbsp;</td>
+                <td>is shape(edge); as the mesh can be complex, the
+edge is used to define the sub-mesh for the path </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeStart</em>&nbsp;</td>
+                <td>the first or the last node on the edge. It is used
+to define the direction of extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>HasAngles</em>&nbsp;</td>
+                <td>allows the shape to be rotated around the path to
+get the resulting mesh in a helical fashion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Angles</em>&nbsp;</td>
+                <td>list of angles </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>HasRefPoint</em>&nbsp;</td>
+                <td>allows to use base point </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>RefPoint</em>&nbsp;</td>
+                <td>point around which the shape is rotated(the mass
+center of the shape by default). User can specify any point as the Base
+Point and the shape will be rotated with respect to this point. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f0248dfbb1f18de28754468c1173f88c"></a><!-- doxytag: member="smesh::Mesh::ExtrusionAlongPathObject" ref="f0248dfbb1f18de28754468c1173f88c" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ExtrusionAlongPathObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>PathMesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>PathShape</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeStart</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>HasAngles</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Angles</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>HasRefPoint</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>RefPoint</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>is ids of elements </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>PathMesh</em>&nbsp;</td>
+                <td>mesh containing a 1D sub-mesh on the edge, along
+which proceeds the extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>PathShape</em>&nbsp;</td>
+                <td>is shape(edge); as the mesh can be complex, the
+edge is used to define the sub-mesh for the path </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>NodeStart</em>&nbsp;</td>
+                <td>the first or the last node on the edge. It is used
+to define the direction of extrusion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>HasAngles</em>&nbsp;</td>
+                <td>allows the shape to be rotated around the path to
+get the resulting mesh in a helical fashion </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Angles</em>&nbsp;</td>
+                <td>list of angles </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>HasRefPoint</em>&nbsp;</td>
+                <td>allows to use base point </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>RefPoint</em>&nbsp;</td>
+                <td>point around which the shape is rotated(the mass
+center of the shape by default). User can specify any point as the Base
+Point and the shape will be rotated with respect to this point. </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e847af1a376e90dc10becf6c24475577"></a><!-- doxytag: member="smesh::Mesh::Mirror" ref="e847af1a376e90dc10becf6c24475577" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Mirror </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Mirror</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theMirrorType</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list of elements ids </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Mirror</em>&nbsp;</td>
+                <td>is AxisStruct or geom object(point, line, plane) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMirrorType</em>&nbsp;</td>
+                <td>is POINT, AXIS or PLANE If the Mirror is geom
+object this parameter is unnecessary </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy element(Copy is 1) or to replace
+with its mirroring(Copy is 0) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1d7bc19611c4e6cbb9c6a39aa7d41e7"></a><!-- doxytag: member="smesh::Mesh::MirrorObject" ref="b1d7bc19611c4e6cbb9c6a39aa7d41e7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MirrorObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Mirror</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theMirrorType</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>mesh, submesh or group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Mirror</em>&nbsp;</td>
+                <td>is AxisStruct or geom object(point, line, plane) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theMirrorType</em>&nbsp;</td>
+                <td>is POINT, AXIS or PLANE If the Mirror is geom
+object this parameter is unnecessary </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy element(Copy is 1) or to replace
+with its mirroring(Copy is 0) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="17a4c398f12048ee97be9e34c6fcf0df"></a><!-- doxytag: member="smesh::Mesh::Translate" ref="17a4c398f12048ee97be9e34c6fcf0df" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Translate </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Vector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list of elements ids </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Vector</em>&nbsp;</td>
+                <td>direction of translation(DirStruct or vector) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy the translated elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8fd2fa7ac4bd7733b92cfdc93bc06c6a"></a><!-- doxytag: member="smesh::Mesh::TranslateObject" ref="8fd2fa7ac4bd7733b92cfdc93bc06c6a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.TranslateObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Vector</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object to translate(mesh, submesh, or group) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Vector</em>&nbsp;</td>
+                <td>direction of translation(DirStruct or geom vector) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy the translated elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9490661f177f27ab7c4ada20e244e049"></a><!-- doxytag: member="smesh::Mesh::Rotate" ref="9490661f177f27ab7c4ada20e244e049" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.Rotate </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfElements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Axis</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>AngleInRadians</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>IDsOfElements</em>&nbsp;</td>
+                <td>list of elements ids </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Axis</em>&nbsp;</td>
+                <td>axis of rotation(AxisStruct or geom line) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>AngleInRadians</em>&nbsp;</td>
+                <td>angle of rotation(in radians) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy the rotated elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="edbcc6762a097b389338f3fb79dd2e43"></a><!-- doxytag: member="smesh::Mesh::RotateObject" ref="edbcc6762a097b389338f3fb79dd2e43" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.RotateObject </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theObject</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Axis</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>AngleInRadians</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Copy</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObject</em>&nbsp;</td>
+                <td>object to rotate(mesh, submesh, or group) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Axis</em>&nbsp;</td>
+                <td>axis of rotation(AxisStruct or geom line) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>AngleInRadians</em>&nbsp;</td>
+                <td>angle of rotation(in radians) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Copy</em>&nbsp;</td>
+                <td>allows to copy the rotated elements </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cdf92cb074d0bdfdce13a7c496d593d4"></a><!-- doxytag: member="smesh::Mesh::FindCoincidentNodes" ref="cdf92cb074d0bdfdce13a7c496d593d4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.FindCoincidentNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Tolerance</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Tolerance</em>&nbsp;</td>
+                <td>tolerance value </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>list</em>&nbsp;</td>
+                <td>of group of nodes </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="189cb7bee4e396e1cd429f55bdeb7830"></a><!-- doxytag: member="smesh::Mesh::MergeNodes" ref="189cb7bee4e396e1cd429f55bdeb7830" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MergeNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>GroupsOfNodes</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>list</em>&nbsp;</td>
+                <td>of group of nodes </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="6d065ef099f2d589074a7236cd17a8b8"></a><!-- doxytag: member="smesh::Mesh::MergeEqualElements" ref="6d065ef099f2d589074a7236cd17a8b8" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.MergeEqualElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="2a8b90d2e3ab295e130c72fa1b700e87"></a><!-- doxytag: member="smesh::Mesh::SewFreeBorders" ref="2a8b90d2e3ab295e130c72fa1b700e87" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SewFreeBorders </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeID1</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SecondNodeID1</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>LastNodeID1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeID2</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SecondNodeID2</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>LastNodeID2</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CreatePolygons</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CreatePolyedrs</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="33e575a39b2721c5f307ed633f826971"></a><!-- doxytag: member="smesh::Mesh::SewConformFreeBorders" ref="33e575a39b2721c5f307ed633f826971" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SewConformFreeBorders </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeID1</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SecondNodeID1</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>LastNodeID1</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeID2</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SecondNodeID2</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b92ca31f6a9cc3b67ad97c5dfc6d0df0"></a><!-- doxytag: member="smesh::Mesh::SewBorderToSide" ref="b92ca31f6a9cc3b67ad97c5dfc6d0df0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SewBorderToSide </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeIDOnFreeBorder</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>SecondNodeIDOnFreeBorder</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>LastNodeIDOnFreeBorder</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>FirstNodeIDOnSide</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>LastNodeIDOnSide</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CreatePolygons</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CreatePolyedrs</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bf094f8b9d3152d4b6ad03818c2e53ae"></a><!-- doxytag: member="smesh::Mesh::SewSideElements" ref="bf094f8b9d3152d4b6ad03818c2e53ae" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.SewSideElements </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfSide1Elements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>IDsOfSide2Elements</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID1OfSide1ToMerge</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID1OfSide2ToMerge</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID2OfSide1ToMerge</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>NodeID2OfSide2ToMerge</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Nodes belonging to Side1 are merged with nodes of elements of
+Side2. Number of elements in theSide1 and in theSide2 must be equal and
+they should have similar node connectivity. The nodes to merge should
+belong to sides borders and the first node should be linked to the
+second. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f0a5ee1d36cbd2f05f0096a85f013d6a"></a><!-- doxytag: member="smesh::Mesh::ChangeElemNodes" ref="f0a5ee1d36cbd2f05f0096a85f013d6a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.ChangeElemNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>ide</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>newIDs</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>ide</em>&nbsp;</td>
+                <td>the element id </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>newIDs</em>&nbsp;</td>
+                <td>nodes ids </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>If number of nodes is not corresponded to type of element -
+returns false </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="2e52a15f9fa25f6a0dc17b80636b9ef4"></a><!-- doxytag: member="smesh::Mesh::GetLastCreatedNodes" ref="2e52a15f9fa25f6a0dc17b80636b9ef4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetLastCreatedNodes </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="08160d8eccea10d14367996bb1459b77"></a><!-- doxytag: member="smesh::Mesh::GetLastCreatedElems" ref="08160d8eccea10d14367996bb1459b77" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh.GetLastCreatedElems </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="f3e48df7fb0b782b294824894c7c5589"></a><!-- doxytag: member="smesh::Mesh::geom" ref="f3e48df7fb0b782b294824894c7c5589" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">smesh.Mesh.geom</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="05914b93aefd09a1702655e3eebde220"></a><!-- doxytag: member="smesh::Mesh::mesh" ref="05914b93aefd09a1702655e3eebde220" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">smesh.Mesh.mesh</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="c57794e9c688fc591fa6a634ae7ecf24"></a><!-- doxytag: member="smesh::Mesh::editor" ref="c57794e9c688fc591fa6a634ae7ecf24" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh.html#c57794e9c688fc591fa6a634ae7ecf24">smesh.Mesh.editor</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="eb2e95e036f629d22802fe1caa0dea77"></a><!-- doxytag: member="smesh::Mesh::geom" ref="eb2e95e036f629d22802fe1caa0dea77" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh.html#f3e48df7fb0b782b294824894c7c5589">smesh.Mesh.geom</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d4c31f83ccca912b41330a80953b19e2"></a><!-- doxytag: member="smesh::Mesh::mesh" ref="d4c31f83ccca912b41330a80953b19e2" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh.html#05914b93aefd09a1702655e3eebde220">smesh.Mesh.mesh</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6f61e4be25bdf3a89492e8d9e466f1c"></a><!-- doxytag: member="smesh::Mesh::editor" ref="f6f61e4be25bdf3a89492e8d9e466f1c" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh.html#c57794e9c688fc591fa6a634ae7ecf24">smesh.Mesh.editor</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<div class="div-footer">Generated on Mon Oct 30 10:36:51 2006 for
+SALOME - SMESH - v.3.2.2 by&nbsp;<a
+ href="http://www.doxygen.org/index.html"><img src="doxygen.png"
+ alt="doxygen" align="middle" border="0"></a> 1.4.6</div>
 </body>
 </html>
index 97d0e0ef7e314249235491acd571bb348a1c0147..eab86f41c777ef9b344f7d055bd0d2f6b07d0705 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Algorithm Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Algorithm Class Reference</h1><!-- doxytag: class="smesh::Mesh_Algorithm" -->Mother class to define algorithm, recommended to don't use directly.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Algorithm:<p><center><img src="classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Algorithm__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Algorithm Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Algorithm" --> <br>
+Mother class to define algorithm, recommended to don't use directly. <a
+ href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Algorithm:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Algorithm__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Algorithm__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Algorithm__inherit__map">
-<area href="classsmesh_1_1Mesh__Hexahedron.html" shape="rect" coords="219,8,395,32" alt="">
-<area href="classsmesh_1_1Mesh__Netgen.html" shape="rect" coords="234,56,381,80" alt="">
-<area href="classsmesh_1_1Mesh__Quadrangle.html" shape="rect" coords="221,104,394,128" alt="">
-<area href="classsmesh_1_1Mesh__Segment.html" shape="rect" coords="229,152,386,176" alt="">
-<area href="classsmesh_1_1Mesh__Tetrahedron.html" shape="rect" coords="219,200,395,224" alt="">
-<area href="classsmesh_1_1Mesh__Triangle.html" shape="rect" coords="231,248,383,272" alt="">
+<area href="classsmesh_1_1Mesh__Hexahedron.html" shape="rect"
+ coords="219,8,395,32" alt="">
+<area href="classsmesh_1_1Mesh__Netgen.html" shape="rect"
+ coords="234,56,381,80" alt="">
+<area href="classsmesh_1_1Mesh__Quadrangle.html" shape="rect"
+ coords="221,104,394,128" alt="">
+<area href="classsmesh_1_1Mesh__Segment.html" shape="rect"
+ coords="229,152,386,176" alt="">
+<area href="classsmesh_1_1Mesh__Tetrahedron.html" shape="rect"
+ coords="219,200,395,224" alt="">
+<area href="classsmesh_1_1Mesh__Triangle.html" shape="rect"
+ coords="231,248,383,272" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Algorithm::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Algorithm::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Algorithm::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Algorithm::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Algorithm::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Algorithm::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Algorithm::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Algorithm::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Algorithm::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Algorithm::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Algorithm::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Algorithm::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Algorithm::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Algorithm::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Algorithm::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Algorithm::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Algorithm::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Algorithm::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Algorithm::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Algorithm::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Algorithm::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Algorithm::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Algorithm::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Algorithm::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index d177efa43e4475479a847c4a7304fb91eff38cd3..7b13d15cab93b60ab7811367fc93e9e1bd7a7eb0 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Hexahedron Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Hexahedron Class Reference</h1><!-- doxytag: class="smesh::Mesh_Hexahedron" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a hexahedron 3D algorithm.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Hexahedron:<p><center><img src="classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Hexahedron__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Hexahedron Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Hexahedron" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->
+<br>
+Class to define a hexahedron 3D algorithm. <a href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Hexahedron:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Hexahedron__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Hexahedron__inherit__map">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="16,9,176,33" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="16,9,176,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Hexahedron.html#d65de99b0553d2994bf93b9bc4194fba">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#d65de99b0553d2994bf93b9bc4194fba"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Hexahedron.html#d65de99b0553d2994bf93b9bc4194fba">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#d65de99b0553d2994bf93b9bc4194fba"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="d65de99b0553d2994bf93b9bc4194fba"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::__init__" ref="d65de99b0553d2994bf93b9bc4194fba" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d65de99b0553d2994bf93b9bc4194fba"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::__init__" ref="d65de99b0553d2994bf93b9bc4194fba" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Hexahedron.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Hexahedron.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Hexahedron::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index 4d1e65ac6675d7b7cda598fd0e834ded872a02fb..08777ef7c519b924ce2444fca9653111096af116 100644 (file)
Binary files a/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg and b/doc/salome/gui/SMESH/smeshpy_doc/classsmesh_1_1Mesh__Hexahedron__inherit__graph.jpg differ
index cab8462b26e4f4060369005625e3dc19a8b3bc52..b263ef38886f6a1d4b665d8c09c75ad629edc56d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Netgen Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Netgen Class Reference</h1><!-- doxytag: class="smesh::Mesh_Netgen" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a NETGEN-based 2D or 3D algorithm that need no discrete boundary (i.e.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Netgen:<p><center><img src="classsmesh_1_1Mesh__Netgen__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Netgen__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Netgen Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Netgen" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->
+Class to define a NETGEN-based 2D or 3D algorithm that need no discrete
+boundary (i.e. <a href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Netgen:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Netgen__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Netgen__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Netgen__inherit__map">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="8,9,168,33" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="8,9,168,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Netgen.html#18bbc559d35c96498968cca5a6a489e2">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#18bbc559d35c96498968cca5a6a489e2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Netgen.html#0620ef2bccc9c400fb193dfd28fb0a26">Parameters</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define hypothesis containing parameters of the algorithm.  <a href="#0620ef2bccc9c400fb193dfd28fb0a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Netgen.html#021b44db5124e62363500490c9b2cb33">is3D</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">is3D</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-independent)<p>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#18bbc559d35c96498968cca5a6a489e2">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#18bbc559d35c96498968cca5a6a489e2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#0620ef2bccc9c400fb193dfd28fb0a26">Parameters</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define hypothesis containing parameters of
+the algorithm. <a href="#0620ef2bccc9c400fb193dfd28fb0a26"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#021b44db5124e62363500490c9b2cb33">is3D</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">is3D</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+independent)
+<p>This class is deprecated, only for compatibility!</p>
+<p>More details. </p>
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="18bbc559d35c96498968cca5a6a489e2"></a><!-- doxytag: member="smesh::Mesh_Netgen::__init__" ref="18bbc559d35c96498968cca5a6a489e2" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="18bbc559d35c96498968cca5a6a489e2"></a><!-- doxytag: member="smesh::Mesh_Netgen::__init__" ref="18bbc559d35c96498968cca5a6a489e2" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Netgen.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>is3D</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Netgen.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>is3D</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="0620ef2bccc9c400fb193dfd28fb0a26"></a><!-- doxytag: member="smesh::Mesh_Netgen::Parameters" ref="0620ef2bccc9c400fb193dfd28fb0a26" args="" --><p>
+<a class="anchor" name="0620ef2bccc9c400fb193dfd28fb0a26"></a><!-- doxytag: member="smesh::Mesh_Netgen::Parameters" ref="0620ef2bccc9c400fb193dfd28fb0a26" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Netgen.Parameters           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Netgen.Parameters </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Netgen::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Netgen::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Netgen::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Netgen::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="ffe45db8ad553008d544a5aaf0ca980d"></a><!-- doxytag: member="smesh::Mesh_Netgen::is3D" ref="ffe45db8ad553008d544a5aaf0ca980d" args="" --><p>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Netgen::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">smesh.Mesh_Netgen.is3D</a> = 0<code> [static]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="021b44db5124e62363500490c9b2cb33"></a><!-- doxytag: member="smesh::Mesh_Netgen::is3D" ref="021b44db5124e62363500490c9b2cb33" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Netgen::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">smesh.Mesh_Netgen.is3D</a>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Netgen::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Netgen::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Netgen::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Netgen::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Netgen::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="ffe45db8ad553008d544a5aaf0ca980d"></a><!-- doxytag: member="smesh::Mesh_Netgen::is3D" ref="ffe45db8ad553008d544a5aaf0ca980d" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">smesh.Mesh_Netgen.is3D</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Netgen::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="021b44db5124e62363500490c9b2cb33"></a><!-- doxytag: member="smesh::Mesh_Netgen::is3D" ref="021b44db5124e62363500490c9b2cb33" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html#ffe45db8ad553008d544a5aaf0ca980d">smesh.Mesh_Netgen.is3D</a>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Netgen::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Netgen::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Netgen::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Netgen::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Netgen::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Netgen::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Netgen::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Netgen::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Netgen::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Netgen::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Netgen::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Netgen::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index 8febcc801fe7a3693cab014528ab8676dc6e0400..b17a070c40ffd26e0d86e6f42df9f4a81784cb3d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Quadrangle Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Quadrangle Class Reference</h1><!-- doxytag: class="smesh::Mesh_Quadrangle" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a quadrangle 2D algorithm.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Quadrangle:<p><center><img src="classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Quadrangle__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Quadrangle Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Quadrangle" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->
+<br>
+Class to define a quadrangle 2D algorithm. <a href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Quadrangle:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Quadrangle__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Quadrangle__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Quadrangle__inherit__map">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="14,9,174,33" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="14,9,174,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Quadrangle.html#5e71a8605f4a289ce099d399d33d362e">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#5e71a8605f4a289ce099d399d33d362e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Quadrangle.html#21ffcfa5246f721b875247de6b6b70cf">QuadranglePreference</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "QuadranglePreference" hypothesis, forcing construction of quadrangles if the number of nodes on opposite edges is not the same in the case where the global number of nodes on edges is even.  <a href="#21ffcfa5246f721b875247de6b6b70cf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Quadrangle.html#5e71a8605f4a289ce099d399d33d362e">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#5e71a8605f4a289ce099d399d33d362e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Quadrangle.html#21ffcfa5246f721b875247de6b6b70cf">QuadranglePreference</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "QuadranglePreference" hypothesis,
+forcing construction of quadrangles if the number of nodes on opposite
+edges is not the same in the case where the global number of nodes on
+edges is even. <a href="#21ffcfa5246f721b875247de6b6b70cf"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="5e71a8605f4a289ce099d399d33d362e"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::__init__" ref="5e71a8605f4a289ce099d399d33d362e" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5e71a8605f4a289ce099d399d33d362e"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::__init__" ref="5e71a8605f4a289ce099d399d33d362e" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Quadrangle.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Quadrangle.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="21ffcfa5246f721b875247de6b6b70cf"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::QuadranglePreference" ref="21ffcfa5246f721b875247de6b6b70cf" args="" --><p>
+<a class="anchor" name="21ffcfa5246f721b875247de6b6b70cf"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::QuadranglePreference" ref="21ffcfa5246f721b875247de6b6b70cf" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Quadrangle.QuadranglePreference           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Quadrangle.QuadranglePreference </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Quadrangle::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index 53ca6c9938a29e34da76f2536a7621463737ad25..e39e7de347c66b7be3b24712fbb5e59fcbb87e03 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Segment Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Segment Class Reference</h1><!-- doxytag: class="smesh::Mesh_Segment" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a segment 1D algorithm for discretization.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Segment:<p><center><img src="classsmesh_1_1Mesh__Segment__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Segment__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Segment Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Segment" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->
+<br>
+Class to define a segment 1D algorithm for discretization. <a
+ href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Segment:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Segment__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Segment__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Segment__inherit__map">
-<area href="classsmesh_1_1Mesh__Segment__Python.html" shape="rect" coords="8,158,216,182" alt="">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="32,9,192,33" alt="">
+<area href="classsmesh_1_1Mesh__Segment__Python.html" shape="rect"
+ coords="8,158,216,182" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="32,9,192,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#3028b681627a583d99eee297936d2d8e">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#3028b681627a583d99eee297936d2d8e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#474a476f4ee613be478c94398202c6ad">LocalLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "LocalLength" hypothesis to cut an edge in several segments with the same length.  <a href="#474a476f4ee613be478c94398202c6ad"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#f562aced3f41d5dec7c344c78a21ff3b">NumberOfSegments</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "NumberOfSegments" hypothesis to cut an edge in several fixed number of segments.  <a href="#f562aced3f41d5dec7c344c78a21ff3b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#54cb7674f55ecb828ecadb1f3408b95f">Arithmetic1D</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Arithmetic1D" hypothesis to cut an edge in several segments with arithmetic length increasing.  <a href="#54cb7674f55ecb828ecadb1f3408b95f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#8824c58a068d8ebb6dfafe276cc45b6a">StartEndLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "StartEndLength" hypothesis to cut an edge in several segments with geometric length increasing.  <a href="#8824c58a068d8ebb6dfafe276cc45b6a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7bfa579e708b6c7558183fe50e414668">Deflection1D</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Deflection1D" hypothesis.  <a href="#7bfa579e708b6c7558183fe50e414668"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#e5d33518995c1ea6c97a4ae364841730">Propagation</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Propagation" hypothesis that propagate all other hypothesis on all others edges that are in the opposite side in the case of quadrangular faces.  <a href="#e5d33518995c1ea6c97a4ae364841730"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7a7aff5f8542efaee0115e90f2dff9c8">AutomaticLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "AutomaticLength" hypothesis.  <a href="#7a7aff5f8542efaee0115e90f2dff9c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7e99441cd6f8b7be3888663345ce8f20">QuadraticMesh</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "QuadraticMesh" hypothesis, forcing construction of quadratic edges.  <a href="#7e99441cd6f8b7be3888663345ce8f20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#3028b681627a583d99eee297936d2d8e">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#3028b681627a583d99eee297936d2d8e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#474a476f4ee613be478c94398202c6ad">LocalLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "LocalLength" hypothesis to cut an
+edge in several segments with the same length. <a
+ href="#474a476f4ee613be478c94398202c6ad"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#f562aced3f41d5dec7c344c78a21ff3b">NumberOfSegments</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "NumberOfSegments" hypothesis to
+cut an edge in several fixed number of segments. <a
+ href="#f562aced3f41d5dec7c344c78a21ff3b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#54cb7674f55ecb828ecadb1f3408b95f">Arithmetic1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Arithmetic1D" hypothesis to cut an
+edge in several segments with arithmetic length increasing. <a
+ href="#54cb7674f55ecb828ecadb1f3408b95f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#8824c58a068d8ebb6dfafe276cc45b6a">StartEndLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "StartEndLength" hypothesis to cut
+an edge in several segments with geometric length increasing. <a
+ href="#8824c58a068d8ebb6dfafe276cc45b6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7bfa579e708b6c7558183fe50e414668">Deflection1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Deflection1D" hypothesis. <a
+ href="#7bfa579e708b6c7558183fe50e414668"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#e5d33518995c1ea6c97a4ae364841730">Propagation</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Propagation" hypothesis that
+propagate all other hypothesis on all others edges that are in the
+opposite side in the case of quadrangular faces. <a
+ href="#e5d33518995c1ea6c97a4ae364841730"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7a7aff5f8542efaee0115e90f2dff9c8">AutomaticLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "AutomaticLength" hypothesis. <a
+ href="#7a7aff5f8542efaee0115e90f2dff9c8"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7e99441cd6f8b7be3888663345ce8f20">QuadraticMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "QuadraticMesh" hypothesis, forcing
+construction of quadratic edges. <a
+ href="#7e99441cd6f8b7be3888663345ce8f20"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="3028b681627a583d99eee297936d2d8e"></a><!-- doxytag: member="smesh::Mesh_Segment::__init__" ref="3028b681627a583d99eee297936d2d8e" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="3028b681627a583d99eee297936d2d8e"></a><!-- doxytag: member="smesh::Mesh_Segment::__init__" ref="3028b681627a583d99eee297936d2d8e" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-
-<p>
-Reimplemented in <a class="el" href="classsmesh_1_1Mesh__Segment__Python.html#fc80535134635f793e2b3b2aa31a8277">smesh.Mesh_Segment_Python</a>.    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <p>Reimplemented in <a class="el"
+ href="classsmesh_1_1Mesh__Segment__Python.html#fc80535134635f793e2b3b2aa31a8277">smesh.Mesh_Segment_Python</a>.
+      </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="474a476f4ee613be478c94398202c6ad"></a><!-- doxytag: member="smesh::Mesh_Segment::LocalLength" ref="474a476f4ee613be478c94398202c6ad" args="" --><p>
+<a class="anchor" name="474a476f4ee613be478c94398202c6ad"></a><!-- doxytag: member="smesh::Mesh_Segment::LocalLength" ref="474a476f4ee613be478c94398202c6ad" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.LocalLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>l</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.LocalLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>l</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>l</em>&nbsp;</td>
+                <td>for the length of segments that cut an edge </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f562aced3f41d5dec7c344c78a21ff3b"></a><!-- doxytag: member="smesh::Mesh_Segment::NumberOfSegments" ref="f562aced3f41d5dec7c344c78a21ff3b" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>for the length of segments that cut an edge </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="f562aced3f41d5dec7c344c78a21ff3b"></a><!-- doxytag: member="smesh::Mesh_Segment::NumberOfSegments" ref="f562aced3f41d5dec7c344c78a21ff3b" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.NumberOfSegments           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>s</em> = <code>[]</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.NumberOfSegments </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>n</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>s</em> = <code>[]</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>n</em>&nbsp;</td>
+                <td>for the number of segments that cut an edge </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>s</em>&nbsp;</td>
+                <td>for the scale factor (optional) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="54cb7674f55ecb828ecadb1f3408b95f"></a><!-- doxytag: member="smesh::Mesh_Segment::Arithmetic1D" ref="54cb7674f55ecb828ecadb1f3408b95f" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>for the number of segments that cut an edge </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>for the scale factor (optional) </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="54cb7674f55ecb828ecadb1f3408b95f"></a><!-- doxytag: member="smesh::Mesh_Segment::Arithmetic1D" ref="54cb7674f55ecb828ecadb1f3408b95f" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Arithmetic1D           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>start</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>end</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Arithmetic1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>start</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>end</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>start</em>&nbsp;</td>
+                <td>for the length of the first segment </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>end</em>&nbsp;</td>
+                <td>for the length of the last segment </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8824c58a068d8ebb6dfafe276cc45b6a"></a><!-- doxytag: member="smesh::Mesh_Segment::StartEndLength" ref="8824c58a068d8ebb6dfafe276cc45b6a" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>for the length of the first segment </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>for the length of the last segment </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="8824c58a068d8ebb6dfafe276cc45b6a"></a><!-- doxytag: member="smesh::Mesh_Segment::StartEndLength" ref="8824c58a068d8ebb6dfafe276cc45b6a" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.StartEndLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>start</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>end</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.StartEndLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>start</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>end</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>start</em>&nbsp;</td>
+                <td>for the length of the first segment </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>end</em>&nbsp;</td>
+                <td>for the length of the last segment </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7bfa579e708b6c7558183fe50e414668"></a><!-- doxytag: member="smesh::Mesh_Segment::Deflection1D" ref="7bfa579e708b6c7558183fe50e414668" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>for the length of the first segment </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>for the length of the last segment </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="7bfa579e708b6c7558183fe50e414668"></a><!-- doxytag: member="smesh::Mesh_Segment::Deflection1D" ref="7bfa579e708b6c7558183fe50e414668" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Deflection1D           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>d</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Deflection1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>d</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>d</em>&nbsp;</td>
+                <td>for the deflection </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e5d33518995c1ea6c97a4ae364841730"></a><!-- doxytag: member="smesh::Mesh_Segment::Propagation" ref="e5d33518995c1ea6c97a4ae364841730" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>for the deflection </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="e5d33518995c1ea6c97a4ae364841730"></a><!-- doxytag: member="smesh::Mesh_Segment::Propagation" ref="e5d33518995c1ea6c97a4ae364841730" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Propagation           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Propagation </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="7a7aff5f8542efaee0115e90f2dff9c8"></a><!-- doxytag: member="smesh::Mesh_Segment::AutomaticLength" ref="7a7aff5f8542efaee0115e90f2dff9c8" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7a7aff5f8542efaee0115e90f2dff9c8"></a><!-- doxytag: member="smesh::Mesh_Segment::AutomaticLength" ref="7a7aff5f8542efaee0115e90f2dff9c8" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.AutomaticLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>fineness</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.AutomaticLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>fineness</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>fineness</em>&nbsp;</td>
+                <td>for the fineness [0-1] </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7e99441cd6f8b7be3888663345ce8f20"></a><!-- doxytag: member="smesh::Mesh_Segment::QuadraticMesh" ref="7e99441cd6f8b7be3888663345ce8f20" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fineness</em>&nbsp;</td><td>for the fineness [0-1] </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="7e99441cd6f8b7be3888663345ce8f20"></a><!-- doxytag: member="smesh::Mesh_Segment::QuadraticMesh" ref="7e99441cd6f8b7be3888663345ce8f20" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.QuadraticMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.QuadraticMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the 2D mesher sees that all boundary edges are quadratic ones, it generates quadratic faces, else it generates linear faces using medium nodes as if they were vertex ones. The 3D mesher generates quadratic volumes only if all boundary faces are quadratic ones, else it fails.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Segment::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the 2D mesher sees that all boundary edges are quadratic
+ones, it generates quadratic faces, else it generates linear faces
+using medium nodes as if they were vertex ones. The 3D mesher generates
+quadratic volumes only if all boundary faces are quadratic ones, else
+it fails. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Segment::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Segment::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Segment::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Segment::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Segment::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Segment::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Segment::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Segment::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Segment::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Segment::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Segment::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Segment::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Segment::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Segment::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Segment::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Segment::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Segment::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Segment::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Segment::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Segment::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Segment::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Segment::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Segment::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Segment::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Segment::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Segment::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Segment::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Segment::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Segment::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index 230c9c259068622f6b9ec6b710d6f0f4c8b4cc32..8dae93e69ed54c482610d1e2f3ab79b0b8bb7a45 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Segment_Python Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Segment_Python Class Reference</h1><!-- doxytag: class="smesh::Mesh_Segment_Python" --><!-- doxytag: inherits="smesh::Mesh_Segment" -->Class to define a segment 1D algorithm for discretization with python function.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Segment_Python:<p><center><img src="classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Segment__Python__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Segment_Python Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Segment_Python" --><!-- doxytag: inherits="smesh::Mesh_Segment" -->
+<br>
+Class to define a segment 1D algorithm for discretization with python
+function. <a href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Segment_Python:<br>
+<br>
+</p>
+<p></p>
+<center><img
+ src="classsmesh_1_1Mesh__Segment__Python__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Segment__Python__inherit__map"
+ alt="Inheritance graph" border="0"></center>
 <map name="smesh_8Mesh__Segment__Python__inherit__map">
-<area href="classsmesh_1_1Mesh__Segment.html" shape="rect" coords="33,84,190,108" alt="">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="32,9,192,33" alt="">
+<area href="classsmesh_1_1Mesh__Segment.html" shape="rect"
+ coords="33,84,190,108" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="32,9,192,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment__Python.html#fc80535134635f793e2b3b2aa31a8277">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#fc80535134635f793e2b3b2aa31a8277"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment__Python.html#f76e302de7146a1af9ad154f37108b6f">PythonSplit1D</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "PythonSplit1D" hypothesis based on the Erwan Adam patch, awaiting equivalent SALOME functionality.  <a href="#f76e302de7146a1af9ad154f37108b6f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#474a476f4ee613be478c94398202c6ad">LocalLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "LocalLength" hypothesis to cut an edge in several segments with the same length.  <a href="#474a476f4ee613be478c94398202c6ad"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#f562aced3f41d5dec7c344c78a21ff3b">NumberOfSegments</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "NumberOfSegments" hypothesis to cut an edge in several fixed number of segments.  <a href="#f562aced3f41d5dec7c344c78a21ff3b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#54cb7674f55ecb828ecadb1f3408b95f">Arithmetic1D</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Arithmetic1D" hypothesis to cut an edge in several segments with arithmetic length increasing.  <a href="#54cb7674f55ecb828ecadb1f3408b95f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#8824c58a068d8ebb6dfafe276cc45b6a">StartEndLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "StartEndLength" hypothesis to cut an edge in several segments with geometric length increasing.  <a href="#8824c58a068d8ebb6dfafe276cc45b6a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7bfa579e708b6c7558183fe50e414668">Deflection1D</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Deflection1D" hypothesis.  <a href="#7bfa579e708b6c7558183fe50e414668"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#e5d33518995c1ea6c97a4ae364841730">Propagation</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "Propagation" hypothesis that propagate all other hypothesis on all others edges that are in the opposite side in the case of quadrangular faces.  <a href="#e5d33518995c1ea6c97a4ae364841730"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7a7aff5f8542efaee0115e90f2dff9c8">AutomaticLength</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "AutomaticLength" hypothesis.  <a href="#7a7aff5f8542efaee0115e90f2dff9c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html#7e99441cd6f8b7be3888663345ce8f20">QuadraticMesh</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "QuadraticMesh" hypothesis, forcing construction of quadratic edges.  <a href="#7e99441cd6f8b7be3888663345ce8f20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment__Python.html#fc80535134635f793e2b3b2aa31a8277">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#fc80535134635f793e2b3b2aa31a8277"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment__Python.html#f76e302de7146a1af9ad154f37108b6f">PythonSplit1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "PythonSplit1D" hypothesis based on
+the Erwan Adam patch, awaiting equivalent SALOME functionality. <a
+ href="#f76e302de7146a1af9ad154f37108b6f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#474a476f4ee613be478c94398202c6ad">LocalLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "LocalLength" hypothesis to cut an
+edge in several segments with the same length. <a
+ href="#474a476f4ee613be478c94398202c6ad"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#f562aced3f41d5dec7c344c78a21ff3b">NumberOfSegments</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "NumberOfSegments" hypothesis to
+cut an edge in several fixed number of segments. <a
+ href="#f562aced3f41d5dec7c344c78a21ff3b"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#54cb7674f55ecb828ecadb1f3408b95f">Arithmetic1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Arithmetic1D" hypothesis to cut an
+edge in several segments with arithmetic length increasing. <a
+ href="#54cb7674f55ecb828ecadb1f3408b95f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#8824c58a068d8ebb6dfafe276cc45b6a">StartEndLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "StartEndLength" hypothesis to cut
+an edge in several segments with geometric length increasing. <a
+ href="#8824c58a068d8ebb6dfafe276cc45b6a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7bfa579e708b6c7558183fe50e414668">Deflection1D</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Deflection1D" hypothesis. <a
+ href="#7bfa579e708b6c7558183fe50e414668"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#e5d33518995c1ea6c97a4ae364841730">Propagation</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Propagation" hypothesis that
+propagate all other hypothesis on all others edges that are in the
+opposite side in the case of quadrangular faces. <a
+ href="#e5d33518995c1ea6c97a4ae364841730"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7a7aff5f8542efaee0115e90f2dff9c8">AutomaticLength</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "AutomaticLength" hypothesis. <a
+ href="#7a7aff5f8542efaee0115e90f2dff9c8"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#7e99441cd6f8b7be3888663345ce8f20">QuadraticMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "QuadraticMesh" hypothesis, forcing
+construction of quadratic edges. <a
+ href="#7e99441cd6f8b7be3888663345ce8f20"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="fc80535134635f793e2b3b2aa31a8277"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::__init__" ref="fc80535134635f793e2b3b2aa31a8277" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="fc80535134635f793e2b3b2aa31a8277"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::__init__" ref="fc80535134635f793e2b3b2aa31a8277" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment_Python.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment_Python.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-
-<p>
-Reimplemented from <a class="el" href="classsmesh_1_1Mesh__Segment.html#3028b681627a583d99eee297936d2d8e">smesh.Mesh_Segment</a>.    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <p>Reimplemented from <a class="el"
+ href="classsmesh_1_1Mesh__Segment.html#3028b681627a583d99eee297936d2d8e">smesh.Mesh_Segment</a>.
+      </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f76e302de7146a1af9ad154f37108b6f"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::PythonSplit1D" ref="f76e302de7146a1af9ad154f37108b6f" args="" --><p>
+<a class="anchor" name="f76e302de7146a1af9ad154f37108b6f"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::PythonSplit1D" ref="f76e302de7146a1af9ad154f37108b6f" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment_Python.PythonSplit1D           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>func</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment_Python.PythonSplit1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>n</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>func</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>n</em>&nbsp;</td>
+                <td>for the number of segments that cut an edge </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>func</em>&nbsp;</td>
+                <td>for the python function that calculate the length
+of all segments </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="474a476f4ee613be478c94398202c6ad"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::LocalLength" ref="474a476f4ee613be478c94398202c6ad" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>for the number of segments that cut an edge </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>for the python function that calculate the length of all segments </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="474a476f4ee613be478c94398202c6ad"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::LocalLength" ref="474a476f4ee613be478c94398202c6ad" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.LocalLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>l</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.LocalLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>l</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>l</em>&nbsp;</td>
+                <td>for the length of segments that cut an edge </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f562aced3f41d5dec7c344c78a21ff3b"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::NumberOfSegments" ref="f562aced3f41d5dec7c344c78a21ff3b" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>for the length of segments that cut an edge </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="f562aced3f41d5dec7c344c78a21ff3b"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::NumberOfSegments" ref="f562aced3f41d5dec7c344c78a21ff3b" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.NumberOfSegments           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>s</em> = <code>[]</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.NumberOfSegments </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>n</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>s</em> = <code>[]</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>n</em>&nbsp;</td>
+                <td>for the number of segments that cut an edge </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>s</em>&nbsp;</td>
+                <td>for the scale factor (optional) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="54cb7674f55ecb828ecadb1f3408b95f"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Arithmetic1D" ref="54cb7674f55ecb828ecadb1f3408b95f" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>for the number of segments that cut an edge </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>for the scale factor (optional) </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="54cb7674f55ecb828ecadb1f3408b95f"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Arithmetic1D" ref="54cb7674f55ecb828ecadb1f3408b95f" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Arithmetic1D           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>start</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>end</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Arithmetic1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>start</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>end</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>start</em>&nbsp;</td>
+                <td>for the length of the first segment </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>end</em>&nbsp;</td>
+                <td>for the length of the last segment </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8824c58a068d8ebb6dfafe276cc45b6a"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::StartEndLength" ref="8824c58a068d8ebb6dfafe276cc45b6a" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>for the length of the first segment </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>for the length of the last segment </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="8824c58a068d8ebb6dfafe276cc45b6a"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::StartEndLength" ref="8824c58a068d8ebb6dfafe276cc45b6a" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.StartEndLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>start</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>end</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.StartEndLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>start</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>end</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>start</em>&nbsp;</td>
+                <td>for the length of the first segment </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>end</em>&nbsp;</td>
+                <td>for the length of the last segment </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7bfa579e708b6c7558183fe50e414668"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Deflection1D" ref="7bfa579e708b6c7558183fe50e414668" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>for the length of the first segment </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>for the length of the last segment </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="7bfa579e708b6c7558183fe50e414668"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Deflection1D" ref="7bfa579e708b6c7558183fe50e414668" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Deflection1D           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>d</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Deflection1D </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>d</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>d</em>&nbsp;</td>
+                <td>for the deflection </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e5d33518995c1ea6c97a4ae364841730"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Propagation" ref="e5d33518995c1ea6c97a4ae364841730" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td>for the deflection </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="e5d33518995c1ea6c97a4ae364841730"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Propagation" ref="e5d33518995c1ea6c97a4ae364841730" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.Propagation           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.Propagation </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="7a7aff5f8542efaee0115e90f2dff9c8"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::AutomaticLength" ref="7a7aff5f8542efaee0115e90f2dff9c8" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7a7aff5f8542efaee0115e90f2dff9c8"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::AutomaticLength" ref="7a7aff5f8542efaee0115e90f2dff9c8" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.AutomaticLength           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>fineness</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.AutomaticLength </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>fineness</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>fineness</em>&nbsp;</td>
+                <td>for the fineness [0-1] </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7e99441cd6f8b7be3888663345ce8f20"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::QuadraticMesh" ref="7e99441cd6f8b7be3888663345ce8f20" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fineness</em>&nbsp;</td><td>for the fineness [0-1] </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="7e99441cd6f8b7be3888663345ce8f20"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::QuadraticMesh" ref="7e99441cd6f8b7be3888663345ce8f20" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Segment.QuadraticMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Segment.QuadraticMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-If the 2D mesher sees that all boundary edges are quadratic ones, it generates quadratic faces, else it generates linear faces using medium nodes as if they were vertex ones. The 3D mesher generates quadratic volumes only if all boundary faces are quadratic ones, else it fails.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>If the 2D mesher sees that all boundary edges are quadratic
+ones, it generates quadratic faces, else it generates linear faces
+using medium nodes as if they were vertex ones. The 3D mesher generates
+quadratic volumes only if all boundary faces are quadratic ones, else
+it fails. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Segment_Python::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
+<div class="div-footer">Generated on Fri Oct 27 19:00:40 2006 for
+SALOME - SMESH - v.3.2.2 by&nbsp;<a
+ href="http://www.doxygen.org/index.html"><img src="doxygen.png"
+ alt="doxygen" align="middle" border="0"></a> 1.4.6</div>
 </body>
 </html>
index e0064eea3e3d9407eab9c35a0d076c10d7e7b66d..f1f31ddf6ae9a78196395e17f4e3804ce3c364a4 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Tetrahedron Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Tetrahedron Class Reference</h1><!-- doxytag: class="smesh::Mesh_Tetrahedron" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a tetrahedron 3D algorithm.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Tetrahedron:<p><center><img src="classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Tetrahedron__inherit__map" alt="Inheritance graph"></center>
+<h1>smesh.Mesh_Tetrahedron Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Tetrahedron" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" --><br>
+Class to define a tetrahedron 3D algorithm. <a href="#_details">More...</a>
+<p>Inheritance diagram for smesh.Mesh_Tetrahedron:<br>
+<br>
+</p>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Tetrahedron__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Tetrahedron__inherit__map"
+ alt="Inheritance graph" border="0"></center>
 <map name="smesh_8Mesh__Tetrahedron__inherit__map">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="16,9,176,33" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="16,9,176,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Tetrahedron.html#4f6c4b76dac2b592bb1a035f59662e86">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#4f6c4b76dac2b592bb1a035f59662e86"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Tetrahedron.html#b00ebafde33e06e82ec0d156891a83be">MaxElementVolume</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "MaxElementVolume" hypothesis to give the maximun volume of each tetrahedral.  <a href="#b00ebafde33e06e82ec0d156891a83be"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#4f6c4b76dac2b592bb1a035f59662e86">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#4f6c4b76dac2b592bb1a035f59662e86"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#b00ebafde33e06e82ec0d156891a83be">MaxElementVolume</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "MaxElementVolume" hypothesis to
+give the maximun volume of each tetrahedral. <a
+ href="#b00ebafde33e06e82ec0d156891a83be"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#c0eaf2eaf4fadde975e6127e4a2156f1">Parameters</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Netgen 3D Parameters" hypothesis. <a
+ href="#c0eaf2eaf4fadde975e6127e4a2156f1"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#8aeb0f8ae2afe7607508e66917048b1f">SetMaxSize</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set MaxSize. <a
+ href="#8aeb0f8ae2afe7607508e66917048b1f"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#0d5a4b74e9536e327df4212466138887">SetSecondOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set SecondOrder flag. <a
+ href="#0d5a4b74e9536e327df4212466138887"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#c24fc1ef1afa5850e995284d77c5caee">SetOptimize</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set Optimize flag. <a
+ href="#c24fc1ef1afa5850e995284d77c5caee"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#c23b97b21244cd1ae46d5dba22c446af">SetFineness</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set Fineness. <a
+ href="#c23b97b21244cd1ae46d5dba22c446af"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#54cff72fa1177898bf489cdec09606e0">SetGrowthRate</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set GrowthRate. <a
+ href="#54cff72fa1177898bf489cdec09606e0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e72ccfb372fab5e0f9636e0f3dc8d1ff">SetNbSegPerEdge</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set NbSegPerEdge. <a
+ href="#e72ccfb372fab5e0f9636e0f3dc8d1ff"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#88005a951d36f15c14471339564696d8">SetNbSegPerRadius</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set NbSegPerRadius. <a
+ href="#88005a951d36f15c14471339564696d8"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#79b86fe05d300bb0a784b2ceea0b4327">algoType</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e44277e96e89677fb254311f462a4c2f">params</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e00a10e0a5c1eb4497dbb504aac70f6b">params</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e6ef59593ce8ba300a4a46ab154d4546">algoType</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
+</table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="4f6c4b76dac2b592bb1a035f59662e86"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::__init__" ref="4f6c4b76dac2b592bb1a035f59662e86" args="" -->
 <p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4f6c4b76dac2b592bb1a035f59662e86"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::__init__" ref="4f6c4b76dac2b592bb1a035f59662e86" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Tetrahedron.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>algo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>algoType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b00ebafde33e06e82ec0d156891a83be"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::MaxElementVolume" ref="b00ebafde33e06e82ec0d156891a83be" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.MaxElementVolume </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>vol</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>vol</em>&nbsp;</td>
+                <td>for the maximum volume of each tetrahedral </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b00ebafde33e06e82ec0d156891a83be"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::MaxElementVolume" ref="b00ebafde33e06e82ec0d156891a83be" args="" --><p>
+<a class="anchor" name="c0eaf2eaf4fadde975e6127e4a2156f1"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::Parameters" ref="c0eaf2eaf4fadde975e6127e4a2156f1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Tetrahedron.MaxElementVolume           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>vol</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.Parameters </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8aeb0f8ae2afe7607508e66917048b1f"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetMaxSize" ref="8aeb0f8ae2afe7607508e66917048b1f" args="" --></p>
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>vol</em>&nbsp;</td><td>for the maximum volume of each tetrahedral </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetMaxSize </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theSize</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0d5a4b74e9536e327df4212466138887"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetSecondOrder" ref="0d5a4b74e9536e327df4212466138887" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetSecondOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
+<a class="anchor" name="c24fc1ef1afa5850e995284d77c5caee"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetOptimize" ref="c24fc1ef1afa5850e995284d77c5caee" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetOptimize </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="c23b97b21244cd1ae46d5dba22c446af"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetFineness" ref="c23b97b21244cd1ae46d5dba22c446af" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetFineness </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theFineness</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theFineness</em>&nbsp;</td>
+                <td>is: VeryCoarse, Coarse, Moderate, Fine, VeryFine or
+Custom </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
+<a class="anchor" name="54cff72fa1177898bf489cdec09606e0"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetGrowthRate" ref="54cff72fa1177898bf489cdec09606e0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetGrowthRate </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theRate</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e72ccfb372fab5e0f9636e0f3dc8d1ff"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetNbSegPerEdge" ref="e72ccfb372fab5e0f9636e0f3dc8d1ff" args="" --></p>
 <p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetNbSegPerEdge </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
+<a class="anchor" name="88005a951d36f15c14471339564696d8"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetNbSegPerRadius" ref="88005a951d36f15c14471339564696d8" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Tetrahedron.SetNbSegPerRadius </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="e00a10e0a5c1eb4497dbb504aac70f6b"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::params" ref="e00a10e0a5c1eb4497dbb504aac70f6b" args="" -->
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e00a10e0a5c1eb4497dbb504aac70f6b">smesh.Mesh_Tetrahedron.params</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e6ef59593ce8ba300a4a46ab154d4546"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algoType" ref="e6ef59593ce8ba300a4a46ab154d4546" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e6ef59593ce8ba300a4a46ab154d4546">smesh.Mesh_Tetrahedron.algoType</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
+<a class="anchor" name="79b86fe05d300bb0a784b2ceea0b4327"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algoType" ref="79b86fe05d300bb0a784b2ceea0b4327" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e6ef59593ce8ba300a4a46ab154d4546">smesh.Mesh_Tetrahedron.algoType</a>
+            </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e44277e96e89677fb254311f462a4c2f"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::params" ref="e44277e96e89677fb254311f462a4c2f" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html#e00a10e0a5c1eb4497dbb504aac70f6b">smesh.Mesh_Tetrahedron.params</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
 <table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
       </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Tetrahedron::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
 <p>
-    </td>
-  </tr>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index 718cfc3def7764851fdee346877e6474bb95c973..6ce21c2a9c66826ed3dca57fe0de1a48e7c1a970 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: smesh.Mesh_Triangle Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.6 -->
-<h1>smesh.Mesh_Triangle Class Reference</h1><!-- doxytag: class="smesh::Mesh_Triangle" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" -->Class to define a triangle 2D algorithm.  
-<a href="#_details">More...</a>
-<p>
-Inheritance diagram for smesh.Mesh_Triangle:<p><center><img src="classsmesh_1_1Mesh__Triangle__inherit__graph.jpg" border="0" usemap="#smesh_8Mesh__Triangle__inherit__map" alt="Inheritance graph"></center>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
+<h1>smesh.Mesh_Triangle Class Reference</h1>
+<!-- doxytag: class="smesh::Mesh_Triangle" --><!-- doxytag: inherits="smesh::Mesh_Algorithm" --><br>
+Class to define a triangle 2D algorithm. <a href="#_details">More...</a><br>
+<br>
+Inheritance diagram for smesh.Mesh_Triangle:<br>
+<br>
+<p></p>
+<center><img src="classsmesh_1_1Mesh__Triangle__inherit__graph.jpg"
+ usemap="#smesh_8Mesh__Triangle__inherit__map" alt="Inheritance graph"
+ border="0"></center>
 <map name="smesh_8Mesh__Triangle__inherit__map">
-<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect" coords="8,9,168,33" alt="">
+<area href="classsmesh_1_1Mesh__Algorithm.html" shape="rect"
+ coords="8,9,168,33" alt="">
 </map>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Triangle.html#d7de151c483aa4ccc41757e1986718b0">__init__</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor.  <a href="#d7de151c483aa4ccc41757e1986718b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Triangle.html#9fe448143f3fa207b3d46536b30342ec">MaxElementArea</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "MaxElementArea" hypothesis to give the maximun area of each triangles.  <a href="#9fe448143f3fa207b3d46536b30342ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Triangle.html#d2b41cafc2001c01d19619ce21379760">LengthFromEdges</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define "LengthFromEdges" hypothesis to build triangles based on the length of the edges taken from the wire.  <a href="#d2b41cafc2001c01d19619ce21379760"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the wrapped mesher.  <a href="#8451e22abaaba662c00052d95f47f7b0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#b0ee92d94d1907fc263864b727685187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private method.  <a href="#e6c4621e95fa72626c26a320a53c5929"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-More details. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d7de151c483aa4ccc41757e1986718b0"></a><!-- doxytag: member="smesh::Mesh_Triangle::__init__" ref="d7de151c483aa4ccc41757e1986718b0" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Triangle.__init__           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em> = <code>0</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="9fe448143f3fa207b3d46536b30342ec"></a><!-- doxytag: member="smesh::Mesh_Triangle::MaxElementArea" ref="9fe448143f3fa207b3d46536b30342ec" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Triangle.MaxElementArea           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>area</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>area</em>&nbsp;</td><td>for the maximum area of each triangles </td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="d2b41cafc2001c01d19619ce21379760"></a><!-- doxytag: member="smesh::Mesh_Triangle::LengthFromEdges" ref="d2b41cafc2001c01d19619ce21379760" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Triangle.LengthFromEdges           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetSubMesh           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.GetAlgorithm           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>self</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [inherited]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Triangle::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.TreatHypoStatus           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>status</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geomName</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>isAlgo</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Print error message if a hypothesis was not assigned.     </td>
-  </tr>
-</table>
-<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Triangle::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Create           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>mesh</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>geom</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hypo</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Triangle::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.Mesh_Algorithm.Hypothesis           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>self</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>hyp</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>args</em> = <code>[]</code>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>so</em> = <code>&quot;libStdMeshersEngine.so&quot;</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"><code> [inherited]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Triangle::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Triangle::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code> [inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Triangle::geom" ref="f6608d059606200dce0679f3367112d1" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Triangle::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code> [inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Triangle::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Triangle::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code> [inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Triangle::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a> = 0<code> [static, inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Triangle::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code> [inherited]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Public Member Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#d7de151c483aa4ccc41757e1986718b0">__init__</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private constructor. <a
+ href="#d7de151c483aa4ccc41757e1986718b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#9fe448143f3fa207b3d46536b30342ec">MaxElementArea</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "MaxElementArea" hypothesis to give
+the maximun area of each triangles. <a
+ href="#9fe448143f3fa207b3d46536b30342ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#d2b41cafc2001c01d19619ce21379760">LengthFromEdges</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "LengthFromEdges" hypothesis to
+build triangles based on the length of the edges taken from the wire. <a
+ href="#d2b41cafc2001c01d19619ce21379760"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#69a341f624cb8402e386658fa98e29d0">Parameters</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Define "Netgen 2D Parameters" hypothesis. <a
+ href="#69a341f624cb8402e386658fa98e29d0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#7a07e4f1132d91e8ba07fca47ca5d0f9">SetMaxSize</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set MaxSize. <a
+ href="#7a07e4f1132d91e8ba07fca47ca5d0f9"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#4e81ffd268d1bbd163b8686a4d6ed263">SetSecondOrder</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set SecondOrder flag. <a
+ href="#4e81ffd268d1bbd163b8686a4d6ed263"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#aedfeb9fd639cb01e01b7989c3619524">SetOptimize</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set Optimize flag. <a
+ href="#aedfeb9fd639cb01e01b7989c3619524"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#4a348dfd84e1c7d17437cffb6ba5011a">SetFineness</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set Fineness. <a
+ href="#4a348dfd84e1c7d17437cffb6ba5011a"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#b1fce7c1e3c257b65069b05e906f94cb">SetGrowthRate</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set GrowthRate. <a
+ href="#b1fce7c1e3c257b65069b05e906f94cb"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#dbc76e5ec41100c11642f29a1e1bdb42">SetNbSegPerEdge</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set NbSegPerEdge. <a
+ href="#dbc76e5ec41100c11642f29a1e1bdb42"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#ea4546d82521e441d31d1db1254b94b2">SetNbSegPerRadius</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set NbSegPerRadius. <a
+ href="#ea4546d82521e441d31d1db1254b94b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#34ee5173a46e2ea3ca66f9225229efbb">SetQuadAllowed</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set QuadAllowed flag. <a
+ href="#34ee5173a46e2ea3ca66f9225229efbb"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#39dd34eb5db727c1ff2b69a84df18394">GetSubMesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">If the algorithm is global, return 0; <br>
+else return the submesh associated to this algorithm. <a
+ href="#39dd34eb5db727c1ff2b69a84df18394"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#8451e22abaaba662c00052d95f47f7b0">GetAlgorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Return the wrapped mesher. <a
+ href="#8451e22abaaba662c00052d95f47f7b0"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f13cd452b3fce74939e43d49ae937e9e">GetCompatibleHypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get list of hypothesis that can be used
+with this algorithm. <a href="#f13cd452b3fce74939e43d49ae937e9e"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b1b1de005b6bb9764bc282f54b2925c2">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get name of algo. <a
+ href="#b1b1de005b6bb9764bc282f54b2925c2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#67ab9bf21cd85694a9702c5c9a4db8b2">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set name to algo. <a
+ href="#67ab9bf21cd85694a9702c5c9a4db8b2"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#9ddd321337780f828103a7aef5662a66">GetId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get id of algo. <a
+ href="#9ddd321337780f828103a7aef5662a66"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#cb3346c2c3cd4334e82c951e2b4929ec">TreatHypoStatus</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#cb3346c2c3cd4334e82c951e2b4929ec"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b0ee92d94d1907fc263864b727685187">Create</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#b0ee92d94d1907fc263864b727685187"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e6c4621e95fa72626c26a320a53c5929">Hypothesis</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Private method. <a
+ href="#e6c4621e95fa72626c26a320a53c5929"></a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Data Fields</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#57e6b5372ec214aab175c16ebbf2fd18">algoType</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#a0a5947fbd5e4c91734d87c73af00a2d">params</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#a2388901def73df05eabdc3dd0aeb876">mesh</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#b637c67f711a33b32c3b56073a65db52">geom</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#e31641d994477ff6913cef21bc8eed50">subm</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#169100dea59b37e7e9a0d155b7208fc8">algo</a></td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Static Public Attributes</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#78df0a3eb610328638ec5c69e7c6af60">algoType</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#099db285c4146ebe49dd7a1323693a9a">params</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">mesh</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">geom</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">subm</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">algo</a>
+= 0</td>
+    </tr>
+  </tbody>
 </table>
+<hr><a name="_details"></a>
+<h2>Detailed Description</h2>
+More details.
+<p></p>
+<hr>
+<h2>Member Function Documentation</h2>
+<a class="anchor" name="d7de151c483aa4ccc41757e1986718b0"></a><!-- doxytag: member="smesh::Mesh_Triangle::__init__" ref="d7de151c483aa4ccc41757e1986718b0" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.__init__ </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>algoType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em> = <code>0</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9fe448143f3fa207b3d46536b30342ec"></a><!-- doxytag: member="smesh::Mesh_Triangle::MaxElementArea" ref="9fe448143f3fa207b3d46536b30342ec" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.MaxElementArea </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>area</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>area</em>&nbsp;</td>
+                <td>for the maximum area of each triangles </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d2b41cafc2001c01d19619ce21379760"></a><!-- doxytag: member="smesh::Mesh_Triangle::LengthFromEdges" ref="d2b41cafc2001c01d19619ce21379760" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.LengthFromEdges </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="69a341f624cb8402e386658fa98e29d0"></a><!-- doxytag: member="smesh::Mesh_Triangle::Parameters" ref="69a341f624cb8402e386658fa98e29d0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.Parameters </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7a07e4f1132d91e8ba07fca47ca5d0f9"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetMaxSize" ref="7a07e4f1132d91e8ba07fca47ca5d0f9" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetMaxSize </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theSize</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4e81ffd268d1bbd163b8686a4d6ed263"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetSecondOrder" ref="4e81ffd268d1bbd163b8686a4d6ed263" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetSecondOrder </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>seld</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="aedfeb9fd639cb01e01b7989c3619524"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetOptimize" ref="aedfeb9fd639cb01e01b7989c3619524" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetOptimize </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4a348dfd84e1c7d17437cffb6ba5011a"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetFineness" ref="4a348dfd84e1c7d17437cffb6ba5011a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetFineness </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theFineness</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p></p>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theFineness</em>&nbsp;</td>
+                <td>is: VeryCoarse, Coarse, Moderate, Fine, VeryFine or
+Custom </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1fce7c1e3c257b65069b05e906f94cb"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetGrowthRate" ref="b1fce7c1e3c257b65069b05e906f94cb" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetGrowthRate </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theRate</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="dbc76e5ec41100c11642f29a1e1bdb42"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetNbSegPerEdge" ref="dbc76e5ec41100c11642f29a1e1bdb42" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetNbSegPerEdge </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ea4546d82521e441d31d1db1254b94b2"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetNbSegPerRadius" ref="ea4546d82521e441d31d1db1254b94b2" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetNbSegPerRadius </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theVal</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="34ee5173a46e2ea3ca66f9225229efbb"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetQuadAllowed" ref="34ee5173a46e2ea3ca66f9225229efbb" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Triangle.SetQuadAllowed </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>toAllow</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="39dd34eb5db727c1ff2b69a84df18394"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetSubMesh" ref="39dd34eb5db727c1ff2b69a84df18394" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetSubMesh </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8451e22abaaba662c00052d95f47f7b0"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetAlgorithm" ref="8451e22abaaba662c00052d95f47f7b0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetAlgorithm </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f13cd452b3fce74939e43d49ae937e9e"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetCompatibleHypothesis" ref="f13cd452b3fce74939e43d49ae937e9e" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetCompatibleHypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b1b1de005b6bb9764bc282f54b2925c2"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetName" ref="b1b1de005b6bb9764bc282f54b2925c2" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="67ab9bf21cd85694a9702c5c9a4db8b2"></a><!-- doxytag: member="smesh::Mesh_Triangle::SetName" ref="67ab9bf21cd85694a9702c5c9a4db8b2" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9ddd321337780f828103a7aef5662a66"></a><!-- doxytag: member="smesh::Mesh_Triangle::GetId" ref="9ddd321337780f828103a7aef5662a66" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.GetId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>self</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="cb3346c2c3cd4334e82c951e2b4929ec"></a><!-- doxytag: member="smesh::Mesh_Triangle::TreatHypoStatus" ref="cb3346c2c3cd4334e82c951e2b4929ec" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.TreatHypoStatus </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>status</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geomName</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>isAlgo</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Print error message if a hypothesis was not assigned. </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b0ee92d94d1907fc263864b727685187"></a><!-- doxytag: member="smesh::Mesh_Triangle::Create" ref="b0ee92d94d1907fc263864b727685187" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Create </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>mesh</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>geom</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hypo</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e6c4621e95fa72626c26a320a53c5929"></a><!-- doxytag: member="smesh::Mesh_Triangle::Hypothesis" ref="e6c4621e95fa72626c26a320a53c5929" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.Mesh_Algorithm.Hypothesis </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>self</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>hyp</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>args</em> = <code>[]</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>so</em> = <code>"libStdMeshersEngine.so"</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><code> [inherited]</code></td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Field Documentation</h2>
+<a class="anchor" name="78df0a3eb610328638ec5c69e7c6af60"></a><!-- doxytag: member="smesh::Mesh_Triangle::algoType" ref="78df0a3eb610328638ec5c69e7c6af60" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#78df0a3eb610328638ec5c69e7c6af60">smesh.Mesh_Triangle.algoType</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="099db285c4146ebe49dd7a1323693a9a"></a><!-- doxytag: member="smesh::Mesh_Triangle::params" ref="099db285c4146ebe49dd7a1323693a9a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#099db285c4146ebe49dd7a1323693a9a">smesh.Mesh_Triangle.params</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="57e6b5372ec214aab175c16ebbf2fd18"></a><!-- doxytag: member="smesh::Mesh_Triangle::algoType" ref="57e6b5372ec214aab175c16ebbf2fd18" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#78df0a3eb610328638ec5c69e7c6af60">smesh.Mesh_Triangle.algoType</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a0a5947fbd5e4c91734d87c73af00a2d"></a><!-- doxytag: member="smesh::Mesh_Triangle::params" ref="a0a5947fbd5e4c91734d87c73af00a2d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html#099db285c4146ebe49dd7a1323693a9a">smesh.Mesh_Triangle.params</a>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="47bfe89357342e4a889d4723518288e1"></a><!-- doxytag: member="smesh::Mesh_Triangle::mesh" ref="47bfe89357342e4a889d4723518288e1" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a2388901def73df05eabdc3dd0aeb876"></a><!-- doxytag: member="smesh::Mesh_Triangle::mesh" ref="a2388901def73df05eabdc3dd0aeb876" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#47bfe89357342e4a889d4723518288e1">smesh.Mesh_Algorithm.mesh</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6608d059606200dce0679f3367112d1"></a><!-- doxytag: member="smesh::Mesh_Triangle::geom" ref="f6608d059606200dce0679f3367112d1" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b637c67f711a33b32c3b56073a65db52"></a><!-- doxytag: member="smesh::Mesh_Triangle::geom" ref="b637c67f711a33b32c3b56073a65db52" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#f6608d059606200dce0679f3367112d1">smesh.Mesh_Algorithm.geom</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="981bc18824369ac623f4527b7ddddaf5"></a><!-- doxytag: member="smesh::Mesh_Triangle::subm" ref="981bc18824369ac623f4527b7ddddaf5" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e31641d994477ff6913cef21bc8eed50"></a><!-- doxytag: member="smesh::Mesh_Triangle::subm" ref="e31641d994477ff6913cef21bc8eed50" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#981bc18824369ac623f4527b7ddddaf5">smesh.Mesh_Algorithm.subm</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ae7e23c67b8497a4b5bbf0cc53ac6693"></a><!-- doxytag: member="smesh::Mesh_Triangle::algo" ref="ae7e23c67b8497a4b5bbf0cc53ac6693" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a>
+= 0<code> [static, inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="169100dea59b37e7e9a0d155b7208fc8"></a><!-- doxytag: member="smesh::Mesh_Triangle::algo" ref="169100dea59b37e7e9a0d155b7208fc8" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html#ae7e23c67b8497a4b5bbf0cc53ac6693">smesh.Mesh_Algorithm.algo</a><code>
+[inherited]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
 </body>
 </html>
index 6a1ccc527cd118d5b9a525d303ea3744defb7379..1834acd9ee9dcf1ca1b4709049aa1666403cce73 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SALOME - SMESH - v.version: Package smesh</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.6 -->
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+  <meta http-equiv="Content-Type"
+ content="text/html; charset=iso-8859-1">
+  <meta name="GENERATOR"
+ content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">
+  <title>Main Page</title>
+  <link href="doxygen.css" rel="stylesheet" type="text/css">
+  <link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+<body>
 <h1>Package smesh</h1>
-<p>
-Python package smesh defines several classes, destined for easy and clear mesh creation and edition.
-<p class="whs2"><a href="../smesh.py_introduction.htm">Example.</a></p>
+Python package smesh defines several classes, destined for easy and
+clear mesh creation and edition.
+<p class="whs2"><a
+ href="../../../../../../../../../misc/dn22/SALOME/series3x/CURRENT/current19.10.2006/Mandrake/SMESH/doc/salome/gui/SMESH/smesh.py_introduction.htm">Example.</a><br>
+<br>
+</p>
 <p>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Algorithm.html">Mesh_Algorithm</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mother class to define algorithm, recommended to don't use directly.  <a href="classsmesh_1_1Mesh__Algorithm.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment.html">Mesh_Segment</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a segment 1D algorithm for discretization.  <a href="classsmesh_1_1Mesh__Segment.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Segment__Python.html">Mesh_Segment_Python</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a segment 1D algorithm for discretization with python function.  <a href="classsmesh_1_1Mesh__Segment__Python.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Triangle.html">Mesh_Triangle</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a triangle 2D algorithm.  <a href="classsmesh_1_1Mesh__Triangle.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Quadrangle.html">Mesh_Quadrangle</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a quadrangle 2D algorithm.  <a href="classsmesh_1_1Mesh__Quadrangle.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Tetrahedron.html">Mesh_Tetrahedron</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a tetrahedron 3D algorithm.  <a href="classsmesh_1_1Mesh__Tetrahedron.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Hexahedron.html">Mesh_Hexahedron</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a hexahedron 3D algorithm.  <a href="classsmesh_1_1Mesh__Hexahedron.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh__Netgen.html">Mesh_Netgen</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a NETGEN-based 2D or 3D algorithm that need no discrete boundary (i.e.  <a href="classsmesh_1_1Mesh__Netgen.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsmesh_1_1Mesh.html">Mesh</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class to define a mesh.  <a href="classsmesh_1_1Mesh.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#78d19ec2e8b9d0290e401878b14ade9c">GetName</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">def&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#79291ef16549a9ea4338f6515d2a3347">SetName</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">REGULAR</a> = 1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">PYTHON</a> = 2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">NETGEN</a> = 3</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">GHS3D</a> = 4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">tuple&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#6e041b9ca898fefe3ea0abafeed4aff2">smesh</a> = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, &quot;SMESH&quot;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacesmesh.html#d821cab222bc6c9405a89a6c6082d388">NO_NAME</a> = &quot;NoName&quot;</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="78d19ec2e8b9d0290e401878b14ade9c"></a><!-- doxytag: member="smesh::GetName" ref="78d19ec2e8b9d0290e401878b14ade9c" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.GetName           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>obj</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="79291ef16549a9ea4338f6515d2a3347"></a><!-- doxytag: member="smesh::SetName" ref="79291ef16549a9ea4338f6515d2a3347" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">def smesh.SetName           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">&nbsp;</td>
-          <td class="mdname" nowrap> <em>obj</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="85f3ed596d91251bfa3b2d2ac4151739"></a><!-- doxytag: member="smesh::REGULAR" ref="85f3ed596d91251bfa3b2d2ac4151739" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">smesh.REGULAR</a> = 1<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="40eed802c94269a68ec2194609fac2f0"></a><!-- doxytag: member="smesh::PYTHON" ref="40eed802c94269a68ec2194609fac2f0" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">smesh.PYTHON</a> = 2<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="72b65da5195aa8d71574f95e5533d612"></a><!-- doxytag: member="smesh::NETGEN" ref="72b65da5195aa8d71574f95e5533d612" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">smesh.NETGEN</a> = 3<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="bf6aaa2e2cf565cbe3ae34954dee8926"></a><!-- doxytag: member="smesh::GHS3D" ref="bf6aaa2e2cf565cbe3ae34954dee8926" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">int <a class="el" href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">smesh.GHS3D</a> = 4<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="6e041b9ca898fefe3ea0abafeed4aff2"></a><!-- doxytag: member="smesh::smesh" ref="6e041b9ca898fefe3ea0abafeed4aff2" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">tuple <a class="el" href="namespacesmesh.html#6e041b9ca898fefe3ea0abafeed4aff2">smesh.smesh</a> = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, &quot;SMESH&quot;)<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="d821cab222bc6c9405a89a6c6082d388"></a><!-- doxytag: member="smesh::NO_NAME" ref="d821cab222bc6c9405a89a6c6082d388" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">string <a class="el" href="namespacesmesh.html#d821cab222bc6c9405a89a6c6082d388">smesh.NO_NAME</a> = &quot;NoName&quot;<code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
+  <tbody>
+    <tr>
+      <td><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2">
+      <h2>Data Structures</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Algorithm.html">Mesh_Algorithm</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Mother class to define algorithm,
+recommended to don't use directly. <a
+ href="classsmesh_1_1Mesh__Algorithm.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment.html">Mesh_Segment</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a segment 1D algorithm for
+discretization. <a href="classsmesh_1_1Mesh__Segment.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Segment__Python.html">Mesh_Segment_Python</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a segment 1D algorithm for
+discretization with python function. <a
+ href="classsmesh_1_1Mesh__Segment__Python.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Triangle.html">Mesh_Triangle</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a triangle 2D algorithm. <a
+ href="classsmesh_1_1Mesh__Triangle.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Quadrangle.html">Mesh_Quadrangle</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a quadrangle 2D algorithm.
+      <a href="classsmesh_1_1Mesh__Quadrangle.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Tetrahedron.html">Mesh_Tetrahedron</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a tetrahedron 3D
+algorithm. <a href="classsmesh_1_1Mesh__Tetrahedron.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Hexahedron.html">Mesh_Hexahedron</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a hexahedron 3D algorithm.
+      <a href="classsmesh_1_1Mesh__Hexahedron.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh__Netgen.html">Mesh_Netgen</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a NETGEN-based 2D or 3D
+algorithm that need no discrete boundary (i.e. <a
+ href="classsmesh_1_1Mesh__Netgen.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">class
+&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Class to define a mesh. <a
+ href="classsmesh_1_1Mesh.html#_details">More...</a><br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Functions</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#78d19ec2e8b9d0290e401878b14ade9c">GetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Gets object name. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#79291ef16549a9ea4338f6515d2a3347">SetName</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Sets name to object. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#5c11d47101c96bda3d7162617b33f58a">EnumToLong</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Returns long value from enumeration Uses
+for SMESH.FunctorType enumeration. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#7e175d2c5495363a6df421313faf4c43">GetPointStruct</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get PointStruct from vertex. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#d26e9b90b0cb5d2e43123e6f127e5a87">GetDirStruct</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get DirStruct from vector. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#ee0c3f87cae057e11d1d18a657e315f9">GetAxisStruct</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get AxisStruct from object. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#e40116571038fba2db7a1c3588b89598">SetEmbeddedMode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set the current mode. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#14affae9db8e4a412eafb2a6fe174218">IsEmbeddedMode</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the current mode. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#d39ae64cb08100cd93234d15aca978d5">SetCurrentStudy</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Set the current study. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#451cd7527b6484ed2dd7bf58275adaf6">GetCurrentStudy</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Get the current study. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#e92c083f2c9ac716012531aa3e9f786f">CreateMeshesFromUNV</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> object importing data from
+given UNV file. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#45cc030efe388e131d0aa54d75b83b31">CreateMeshesFromMED</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> object(s) importing data from
+given MED file. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#eab78614705c83dd55a54e7239b164e4">CreateMeshesFromSTL</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Create <a class="el"
+ href="classsmesh_1_1Mesh.html">Mesh</a> object importing data from
+given STL file. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#fa73ac57b58b7d409a33ec3971bbd278">GetSubShapesId</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">From SMESH_Gen interface. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#f2e028022f5f3399ba1b1790acc5a853">GetPattern</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">From SMESH_Gen interface. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#03961f7bbd325cfd29d0a80685ec719d">GetEmptyCriterion</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates an empty criterion. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#f1ee4dcc9ba12ec95d99eb794ae4636f">GetCriterion</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates a criterion by given parameters. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#62eb2a46d9a194cc14210a3b169a0206">GetFilter</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates filter by given parameters of
+criterion. <br>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">def&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#99e71a9fd57d9298e553af661f46c420">GetFunctor</a></td>
+    </tr>
+    <tr>
+      <td class="mdescLeft">&nbsp;</td>
+      <td class="mdescRight">Creates numerical functor by its type. <br>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2"><br>
+      <h2>Variables</h2>
+      </td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#f6669b275aa02ad8b527f8480374c308">noNETGENPlugin</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#f6669b275aa02ad8b527f8480374c308">noNETGENPlugin</a>
+= 1</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">REGULAR</a>
+= 1</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">PYTHON</a>
+= 2</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#4449cc4d5e7910c0afa9a35238736519">MEFISTO</a>
+= 3</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">NETGEN</a>
+= 4</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">GHS3D</a>
+= 5</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#13a34e1016fc530291cb7c688709efb3">FULL_NETGEN</a>
+= 6</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#b0be2f91db6c32bfdd43d124340b7af7">POINT</a>
+= <a class="el"
+ href="namespacesmesh.html#b0be2f91db6c32bfdd43d124340b7af7">SMESH_MeshEditor.POINT</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#0365dc0276024fad14f43dec877248a4">AXIS</a> =
+      <a class="el"
+ href="namespacesmesh.html#0365dc0276024fad14f43dec877248a4">SMESH_MeshEditor.AXIS</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#a7f05b05f3918e114ad62c869b824310">PLANE</a>
+= <a class="el"
+ href="namespacesmesh.html#a7f05b05f3918e114ad62c869b824310">SMESH_MeshEditor.PLANE</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#9fe9597639de7e8c26f4b92657568c62">LAPLACIAN_SMOOTH</a>
+= <a class="el"
+ href="namespacesmesh.html#9fe9597639de7e8c26f4b92657568c62">SMESH_MeshEditor.LAPLACIAN_SMOOTH</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#85f9acba1823ef2dcb8f0c33d44f626c">CENTROIDAL_SMOOTH</a>
+= <a class="el"
+ href="namespacesmesh.html#85f9acba1823ef2dcb8f0c33d44f626c">SMESH_MeshEditor.CENTROIDAL_SMOOTH</a></td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#8063a2dbc510a33b4f6c056b0e059ce3">VeryCoarse</a>
+= 0</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#f7f5ba712f050ae89776eb0b27edc1bf">Coarse</a>
+= 1</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#ac157436ade9909f14cc94865ec94ef7">Moderate</a>
+= 2</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#0cbc436d589be051e2bd733da2006528">Fine</a> =
+3</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#b2cb5fe43d16d24399313f85d6956b05">VeryFine</a>
+= 4</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">int&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#beaf031bab31506b47b3c28066afb637">Custom</a>
+= 5</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">string&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#d821cab222bc6c9405a89a6c6082d388">NO_NAME</a>
+= "NoName"</td>
+    </tr>
+    <tr>
+      <td class="memItemLeft" align="right" nowrap="nowrap" valign="top">tuple&nbsp;</td>
+      <td class="memItemRight" valign="bottom"><a class="el"
+ href="namespacesmesh.html#6e041b9ca898fefe3ea0abafeed4aff2">smesh</a>
+= salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")</td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Function Documentation</h2>
+<a class="anchor" name="78d19ec2e8b9d0290e401878b14ade9c"></a><!-- doxytag: member="smesh::GetName" ref="78d19ec2e8b9d0290e401878b14ade9c" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>obj</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="79291ef16549a9ea4338f6515d2a3347"></a><!-- doxytag: member="smesh::SetName" ref="79291ef16549a9ea4338f6515d2a3347" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.SetName </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>obj</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>name</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="5c11d47101c96bda3d7162617b33f58a"></a><!-- doxytag: member="smesh::EnumToLong" ref="5c11d47101c96bda3d7162617b33f58a" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.EnumToLong </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theItem</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="7e175d2c5495363a6df421313faf4c43"></a><!-- doxytag: member="smesh::GetPointStruct" ref="7e175d2c5495363a6df421313faf4c43" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetPointStruct </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theVertex</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theVertex</em>&nbsp;</td>
+                <td>is GEOM object(vertex) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH.PointStruct </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d26e9b90b0cb5d2e43123e6f127e5a87"></a><!-- doxytag: member="smesh::GetDirStruct" ref="d26e9b90b0cb5d2e43123e6f127e5a87" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetDirStruct </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theVector</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theVector</em>&nbsp;</td>
+                <td>is GEOM object(vector) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH.DirStruct </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ee0c3f87cae057e11d1d18a657e315f9"></a><!-- doxytag: member="smesh::GetAxisStruct" ref="ee0c3f87cae057e11d1d18a657e315f9" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetAxisStruct </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theObj</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theObj</em>&nbsp;</td>
+                <td>is GEOM object(line or plane) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH.AxisStruct </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e40116571038fba2db7a1c3588b89598"></a><!-- doxytag: member="smesh::SetEmbeddedMode" ref="e40116571038fba2db7a1c3588b89598" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.SetEmbeddedMode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theMode</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="14affae9db8e4a412eafb2a6fe174218"></a><!-- doxytag: member="smesh::IsEmbeddedMode" ref="14affae9db8e4a412eafb2a6fe174218" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.IsEmbeddedMode </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <br>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d39ae64cb08100cd93234d15aca978d5"></a><!-- doxytag: member="smesh::SetCurrentStudy" ref="d39ae64cb08100cd93234d15aca978d5" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.SetCurrentStudy </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theStudy</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="451cd7527b6484ed2dd7bf58275adaf6"></a><!-- doxytag: member="smesh::GetCurrentStudy" ref="451cd7527b6484ed2dd7bf58275adaf6" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetCurrentStudy </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <br>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="e92c083f2c9ac716012531aa3e9f786f"></a><!-- doxytag: member="smesh::CreateMeshesFromUNV" ref="e92c083f2c9ac716012531aa3e9f786f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.CreateMeshesFromUNV </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theFileName</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>an instance of <a class="el" href="classsmesh_1_1Mesh.html">Mesh</a>
+class </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="45cc030efe388e131d0aa54d75b83b31"></a><!-- doxytag: member="smesh::CreateMeshesFromMED" ref="45cc030efe388e131d0aa54d75b83b31" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.CreateMeshesFromMED </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theFileName</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>a list of <a class="el" href="classsmesh_1_1Mesh.html">Mesh</a>
+class instances </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="eab78614705c83dd55a54e7239b164e4"></a><!-- doxytag: member="smesh::CreateMeshesFromSTL" ref="eab78614705c83dd55a54e7239b164e4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.CreateMeshesFromSTL </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theFileName</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>an instance of <a class="el" href="classsmesh_1_1Mesh.html">Mesh</a>
+class </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="fa73ac57b58b7d409a33ec3971bbd278"></a><!-- doxytag: member="smesh::GetSubShapesId" ref="fa73ac57b58b7d409a33ec3971bbd278" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetSubShapesId </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theMainObject</em>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>theListOfSubObjects</em></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f2e028022f5f3399ba1b1790acc5a853"></a><!-- doxytag: member="smesh::GetPattern" ref="f2e028022f5f3399ba1b1790acc5a853" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetPattern </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <br>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p>Creates pattern </p>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="03961f7bbd325cfd29d0a80685ec719d"></a><!-- doxytag: member="smesh::GetEmptyCriterion" ref="03961f7bbd325cfd29d0a80685ec719d" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetEmptyCriterion </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <br>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH.Filter.Criterion </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f1ee4dcc9ba12ec95d99eb794ae4636f"></a><!-- doxytag: member="smesh::GetCriterion" ref="f1ee4dcc9ba12ec95d99eb794ae4636f" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetCriterion </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CritType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Compare</em> = <code>FT_EqualTo</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Treshold</em> = <code>""</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>UnaryOp</em> = <code>FT_Undefined</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>BinaryOp</em> = <code>FT_Undefined</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is the type of elements(NODE, EDGE, FACE, VOLUME) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>CritType</em>&nbsp;</td>
+                <td>is type of criterion( FT_Taper, FT_Area,
+FT_RangeOfIds, FT_LyingOnGeom etc. ) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Compare</em>&nbsp;</td>
+                <td>belong to {FT_LessThan, FT_MoreThan, FT_EqualTo} </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Treshold</em>&nbsp;</td>
+                <td>is threshold value (range of ids as string, shape,
+numeric) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>UnaryOp</em>&nbsp;</td>
+                <td>is FT_LogicalNOT or FT_Undefined </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>BinaryOp</em>&nbsp;</td>
+                <td>is binary logical operation FT_LogicalAND,
+FT_LogicalOR or FT_Undefined(must be for the last criterion in
+criteria) </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH.Filter.Criterion </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="62eb2a46d9a194cc14210a3b169a0206"></a><!-- doxytag: member="smesh::GetFilter" ref="62eb2a46d9a194cc14210a3b169a0206" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetFilter </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>elementType</em>, </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>CritType</em> = <code>FT_Undefined</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Compare</em> = <code>FT_EqualTo</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>Treshold</em> = <code>""</code>,
+            </td>
+          </tr>
+          <tr>
+            <td class="md" align="right" nowrap="nowrap"><br>
+            </td>
+            <td class="md"><br>
+            </td>
+            <td class="md" nowrap="nowrap">&nbsp;</td>
+            <td class="mdname" nowrap="nowrap"> <em>UnaryOp</em> = <code>FT_Undefined</code></td>
+          </tr>
+          <tr>
+            <td class="md"><br>
+            </td>
+            <td class="md">)&nbsp;</td>
+            <td class="md" colspan="2"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>elementType</em>&nbsp;</td>
+                <td>is the type of elements in the group </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>CritType</em>&nbsp;</td>
+                <td>is type of criterion( FT_Taper, FT_Area,
+FT_RangeOfIds, FT_LyingOnGeom etc. ) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Compare</em>&nbsp;</td>
+                <td>belong to {FT_LessThan, FT_MoreThan, FT_EqualTo} </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>Treshold</em>&nbsp;</td>
+                <td>is threshold value (range of id ids as string,
+shape, numeric) </td>
+              </tr>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>UnaryOp</em>&nbsp;</td>
+                <td>is FT_LogicalNOT or FT_Undefined </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_Filter </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="99e71a9fd57d9298e553af661f46c420"></a><!-- doxytag: member="smesh::GetFunctor" ref="99e71a9fd57d9298e553af661f46c420" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">def
+smesh.GetFunctor </td>
+            <td class="md" valign="top">(&nbsp;</td>
+            <td class="md" nowrap="nowrap" valign="top">&nbsp;</td>
+            <td class="mdname1" nowrap="nowrap" valign="top"> <em>theCriterion</em>
+            </td>
+            <td class="md" valign="top">&nbsp;)&nbsp;</td>
+            <td class="md" nowrap="nowrap"><br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <dl compact="compact">
+        <dt><b>Parameters:</b></dt>
+        <dd>
+          <table border="0" cellpadding="0" cellspacing="2">
+            <tbody>
+              <tr>
+                <td valign="top"><br>
+                </td>
+                <td valign="top"><em>theCrierion</em>&nbsp;</td>
+                <td>is FT_...; functor type </td>
+              </tr>
+            </tbody>
+          </table>
+        </dd>
+      </dl>
+      <dl compact="compact">
+        <dt><b>Returns:</b></dt>
+        <dd>SMESH_NumericalFunctor </dd>
+      </dl>
+      </td>
+    </tr>
+  </tbody>
+</table>
+</p>
+<hr>
+<h2>Variable Documentation</h2>
+<a class="anchor" name="f6669b275aa02ad8b527f8480374c308"></a><!-- doxytag: member="smesh::noNETGENPlugin" ref="f6669b275aa02ad8b527f8480374c308" args="" -->
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#f6669b275aa02ad8b527f8480374c308">smesh.noNETGENPlugin</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f6669b275aa02ad8b527f8480374c308"></a><!-- doxytag: member="smesh::noNETGENPlugin" ref="f6669b275aa02ad8b527f8480374c308" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#f6669b275aa02ad8b527f8480374c308">smesh.noNETGENPlugin</a>
+= 1<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="85f3ed596d91251bfa3b2d2ac4151739"></a><!-- doxytag: member="smesh::REGULAR" ref="85f3ed596d91251bfa3b2d2ac4151739" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#85f3ed596d91251bfa3b2d2ac4151739">smesh.REGULAR</a>
+= 1<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="40eed802c94269a68ec2194609fac2f0"></a><!-- doxytag: member="smesh::PYTHON" ref="40eed802c94269a68ec2194609fac2f0" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#40eed802c94269a68ec2194609fac2f0">smesh.PYTHON</a>
+= 2<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="4449cc4d5e7910c0afa9a35238736519"></a><!-- doxytag: member="smesh::MEFISTO" ref="4449cc4d5e7910c0afa9a35238736519" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#4449cc4d5e7910c0afa9a35238736519">smesh.MEFISTO</a>
+= 3<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="72b65da5195aa8d71574f95e5533d612"></a><!-- doxytag: member="smesh::NETGEN" ref="72b65da5195aa8d71574f95e5533d612" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#72b65da5195aa8d71574f95e5533d612">smesh.NETGEN</a>
+= 4<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="bf6aaa2e2cf565cbe3ae34954dee8926"></a><!-- doxytag: member="smesh::GHS3D" ref="bf6aaa2e2cf565cbe3ae34954dee8926" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#bf6aaa2e2cf565cbe3ae34954dee8926">smesh.GHS3D</a>
+= 5<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="13a34e1016fc530291cb7c688709efb3"></a><!-- doxytag: member="smesh::FULL_NETGEN" ref="13a34e1016fc530291cb7c688709efb3" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#13a34e1016fc530291cb7c688709efb3">smesh.FULL_NETGEN</a>
+= 6<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b0be2f91db6c32bfdd43d124340b7af7"></a><!-- doxytag: member="smesh::POINT" ref="b0be2f91db6c32bfdd43d124340b7af7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="namespacesmesh.html#b0be2f91db6c32bfdd43d124340b7af7">smesh.POINT</a>
+= <a class="el"
+ href="namespacesmesh.html#b0be2f91db6c32bfdd43d124340b7af7">SMESH_MeshEditor.POINT</a><code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0365dc0276024fad14f43dec877248a4"></a><!-- doxytag: member="smesh::AXIS" ref="0365dc0276024fad14f43dec877248a4" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="namespacesmesh.html#0365dc0276024fad14f43dec877248a4">smesh.AXIS</a>
+= <a class="el"
+ href="namespacesmesh.html#0365dc0276024fad14f43dec877248a4">SMESH_MeshEditor.AXIS</a><code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="a7f05b05f3918e114ad62c869b824310"></a><!-- doxytag: member="smesh::PLANE" ref="a7f05b05f3918e114ad62c869b824310" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="namespacesmesh.html#a7f05b05f3918e114ad62c869b824310">smesh.PLANE</a>
+= <a class="el"
+ href="namespacesmesh.html#a7f05b05f3918e114ad62c869b824310">SMESH_MeshEditor.PLANE</a><code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="9fe9597639de7e8c26f4b92657568c62"></a><!-- doxytag: member="smesh::LAPLACIAN_SMOOTH" ref="9fe9597639de7e8c26f4b92657568c62" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="namespacesmesh.html#9fe9597639de7e8c26f4b92657568c62">smesh.LAPLACIAN_SMOOTH</a>
+= <a class="el"
+ href="namespacesmesh.html#9fe9597639de7e8c26f4b92657568c62">SMESH_MeshEditor.LAPLACIAN_SMOOTH</a><code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="85f9acba1823ef2dcb8f0c33d44f626c"></a><!-- doxytag: member="smesh::CENTROIDAL_SMOOTH" ref="85f9acba1823ef2dcb8f0c33d44f626c" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top"><a class="el"
+ href="namespacesmesh.html#85f9acba1823ef2dcb8f0c33d44f626c">smesh.CENTROIDAL_SMOOTH</a>
+= <a class="el"
+ href="namespacesmesh.html#85f9acba1823ef2dcb8f0c33d44f626c">SMESH_MeshEditor.CENTROIDAL_SMOOTH</a><code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="8063a2dbc510a33b4f6c056b0e059ce3"></a><!-- doxytag: member="smesh::VeryCoarse" ref="8063a2dbc510a33b4f6c056b0e059ce3" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#8063a2dbc510a33b4f6c056b0e059ce3">smesh.VeryCoarse</a>
+= 0<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="f7f5ba712f050ae89776eb0b27edc1bf"></a><!-- doxytag: member="smesh::Coarse" ref="f7f5ba712f050ae89776eb0b27edc1bf" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#f7f5ba712f050ae89776eb0b27edc1bf">smesh.Coarse</a>
+= 1<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="ac157436ade9909f14cc94865ec94ef7"></a><!-- doxytag: member="smesh::Moderate" ref="ac157436ade9909f14cc94865ec94ef7" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#ac157436ade9909f14cc94865ec94ef7">smesh.Moderate</a>
+= 2<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="0cbc436d589be051e2bd733da2006528"></a><!-- doxytag: member="smesh::Fine" ref="0cbc436d589be051e2bd733da2006528" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#0cbc436d589be051e2bd733da2006528">smesh.Fine</a>
+= 3<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="b2cb5fe43d16d24399313f85d6956b05"></a><!-- doxytag: member="smesh::VeryFine" ref="b2cb5fe43d16d24399313f85d6956b05" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#b2cb5fe43d16d24399313f85d6956b05">smesh.VeryFine</a>
+= 4<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="beaf031bab31506b47b3c28066afb637"></a><!-- doxytag: member="smesh::Custom" ref="beaf031bab31506b47b3c28066afb637" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">int <a
+ class="el" href="namespacesmesh.html#beaf031bab31506b47b3c28066afb637">smesh.Custom</a>
+= 5<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="d821cab222bc6c9405a89a6c6082d388"></a><!-- doxytag: member="smesh::NO_NAME" ref="d821cab222bc6c9405a89a6c6082d388" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">string <a
+ class="el" href="namespacesmesh.html#d821cab222bc6c9405a89a6c6082d388">smesh.NO_NAME</a>
+= "NoName"<code> [static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<a class="anchor" name="6e041b9ca898fefe3ea0abafeed4aff2"></a><!-- doxytag: member="smesh::smesh" ref="6e041b9ca898fefe3ea0abafeed4aff2" args="" --></p>
+<p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+  <tbody>
+    <tr>
+      <td class="mdRow">
+      <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+          <tr>
+            <td class="md" nowrap="nowrap" valign="top">tuple <a
+ class="el" href="namespacesmesh.html#6e041b9ca898fefe3ea0abafeed4aff2">smesh.smesh</a>
+= salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")<code>
+[static]</code> </td>
+          </tr>
+        </tbody>
+      </table>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<table border="0" cellpadding="0" cellspacing="5">
+  <tbody>
+    <tr>
+      <td> &nbsp; </td>
+      <td>
+      <p> </p>
+      <br>
+      </td>
+    </tr>
+  </tbody>
 </table>
+</p>
 </body>
 </html>
index f70f20b44b33aae9b04949a0ec8e588303e252eb..4f740bb60f0e8b299f345e157db301a65b11124b 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Transforming Meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-h3.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
-h4.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs6 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs7 { margin-top:0pt; margin-bottom:0pt; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "h3.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "h4.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nTransforming Meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Transforming Meshes</h1>\r
-\r
-<h3 class="whs1">Transforming Meshes</h3>\r
-\r
-<h4 class="whs2">&nbsp;</h4>\r
-\r
-<h4 class="whs2"><a name=bookmark>Translation</a></h4>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to translate meshes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">import SMESH</p>\r
-\r
-<p class="whs5">import SMESH_mechanic</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># define translation \r
- vector</p>\r
-\r
-<p class="whs5">point = SMESH.PointStruct(-150., \r
- -150., 0.)</p>\r
-\r
-<p class="whs5">vector = SMESH.DirStruct(point)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># translate a mesh</p>\r
-\r
-<p class="whs5">doCopy = 1</p>\r
-\r
-<p class="whs5">anEditor.TranslateObject(mesh, \r
- vector, doCopy) </p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<h4 class="whs2"><a name=bookmark1>Rotation</a></h4>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to rotate meshes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import math</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6"># define rotation axis \r
- and angle</p>\r
-\r
-<p class="whs3">axisXYZ = SMESH.AxisStruct(0., 0., 0., \r
- 5., 5., 20.)</p>\r
-\r
-<p class="whs3">angle270 = 1.5 * math.pi</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6"># rotate a mesh</p>\r
-\r
-<p class="whs3">anEditor.RotateObject(mesh, axisXYZ, angle270, \r
- 1) </p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<h4 class="whs2"><a name=bookmark2>Symmetry</a></h4>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to create symmetrical copies of meshes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import math</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs6"># create a symmetrical \r
- copy of the mesh mirrored through a point</p>\r
-\r
-<p class="whs3">axis = SMESH.AxisStruct(0, 0, 0, 0, 0, \r
- 0)</p>\r
-\r
-<p class="whs3">anEditor.MirrorObject(mesh, axis, SMESH.SMESH_MeshEditor.POINT, \r
- 1) </p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<h4 class="whs2"><a name=bookmark3>Merging \r
- Nodes</a></h4>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to merge nodes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs5">import SMESH_mechanic</p>\r
-\r
-<p class="whs5">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># merge nodes</p>\r
-\r
-<p class="whs5">Tolerance = 25.0</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">GroupsOfNodes = \r
- aMeshEditor.FindCoincidentNodes(Tolerance)</p>\r
-\r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">aMeshEditor.MergeNodes(GroupsOfNodes)</span> \r
- </p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<h4><a name=bookmark8>Merging Elements</a></h4>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to merge elements. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs5">import salome</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">import SMESH</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a face to \r
- be meshed</p>\r
-\r
-<p class="whs5">px = geompy.MakeVertex(100., \r
- 0. &nbsp;, 0. \r
- &nbsp;)</p>\r
-\r
-<p class="whs5">py = geompy.MakeVertex(0. \r
- &nbsp;, 100., \r
- 0. &nbsp;)</p>\r
-\r
-<p class="whs5">pz = geompy.MakeVertex(0. \r
- &nbsp;, 0. &nbsp;, \r
- 100.)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">vxy = geompy.MakeVector(px, \r
- py)</p>\r
-\r
-<p class="whs5">arc = geompy.MakeArc(py, \r
- pz, px)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">wire = geompy.MakeWire([vxy, \r
- arc])</p>\r
-\r
-<p class="whs5">isPlanarFace = 1</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">face1 = geompy.MakeFace(wire, \r
- isPlanarFace)</p>\r
-\r
-<p class="whs5">id_face1 = geompy.addToStudy(face1, \r
- &quot;Face1&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a circle to \r
- be an extrusion path</p>\r
-\r
-<p class="whs5">px1 = geompy.MakeVertex( \r
- 100., &nbsp;100., \r
- &nbsp;0.)</p>\r
-\r
-<p class="whs5">py1 = geompy.MakeVertex(-100., \r
- -100., &nbsp;0.)</p>\r
-\r
-<p class="whs5">pz1 = geompy.MakeVertex( \r
- &nbsp;&nbsp;0., \r
- &nbsp;&nbsp;&nbsp;0., \r
- 50.)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">circle = geompy.MakeCircleThreePnt(py1, \r
- pz1, px1)</p>\r
-\r
-<p class="whs5">id_circle = geompy.addToStudy(circle, \r
- &quot;Path&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a 2D mesh \r
- on the face</p>\r
-\r
-<p class="whs5">trias = smesh.Mesh(face1, \r
- &quot;Face : 2D mesh&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = trias.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(6)</p>\r
-\r
-<p class="whs5">algo2D = trias.Triangle()</p>\r
-\r
-<p class="whs5">algo2D.LengthFromEdges()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">trias.Compute()</p>\r
-\r
-<p class="whs5">tri_mesh = trias.GetMesh()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># create a path mesh</p>\r
-\r
-<p class="whs5">circlemesh = smesh.Mesh(circle, \r
- &quot;Path mesh&quot;)</p>\r
-\r
-<p class="whs5">algo = circlemesh.Segment()</p>\r
-\r
-<p class="whs5">algo.NumberOfSegments(10)</p>\r
-\r
-<p class="whs5">circlemesh.Compute()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># extrusion of the \r
- mesh</p>\r
-\r
-<p class="whs5">aMeshEditor = tri_mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs5">aMeshEditor.ExtrusionAlongPathObject(tri_mesh, \r
- circlemesh.GetMesh(), circle,</p>\r
-\r
-<p class="whs5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, \r
- 0, [], 0, SMESH.PointStruct(0, 0, 0))</p>\r
-\r
-<p class="whs6"># merge nodes</p>\r
-\r
-<p class="whs5">print &quot;Number \r
- of nodes before MergeNodes:&quot;, tri_mesh.NbNodes()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">tolerance = 0.001</p>\r
-\r
-<p class="whs5">array_of_nodes_groups \r
- = aMeshEditor.FindCoincidentNodes(tolerance)</p>\r
-\r
-<p class="whs5">aMeshEditor.MergeNodes(array_of_nodes_groups)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">print &quot;Number \r
- of nodes after MergeNodes:&quot;, tri_mesh.NbNodes()</p>\r
-\r
-<p class="whs5">print &quot;&quot;</p>\r
-\r
-<p class="whs5">print &quot;Number \r
- of elements before MergeEqualElements:&quot;</p>\r
-\r
-<p class="whs5">print &quot;Edges \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbEdges()</p>\r
-\r
-<p class="whs5">print &quot;Triangles \r
- &nbsp;: &quot;, \r
- tri_mesh.NbTriangles()</p>\r
-\r
-<p class="whs5">print &quot;Quadrangles: \r
- &quot;, tri_mesh.NbQuadrangles()</p>\r
-\r
-<p class="whs5">print &quot;Volumes \r
- &nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbVolumes()</p>\r
-\r
-<p class="whs6">&nbsp;</p>\r
-\r
-<p class="whs6"># merge elements</p>\r
-\r
-<p class="whs5">aMeshEditor.MergeEqualElements()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">print &quot;Number \r
- of elements after MergeEqualElements:&quot;</p>\r
-\r
-<p class="whs5">print &quot;Edges \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbEdges()</p>\r
-\r
-<p class="whs5">print &quot;Triangles \r
- &nbsp;: &quot;, \r
- tri_mesh.NbTriangles()</p>\r
-\r
-<p class="whs5">print &quot;Quadrangles: \r
- &quot;, tri_mesh.NbQuadrangles()</p>\r
-\r
-<p class="whs5">print &quot;Volumes \r
- &nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbVolumes()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">salome.sg.updateObjBrowser(1) \r
- </p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<h3>Sewing Meshes</h3>\r
-\r
-<h4><a name=bookmark4>Sew Meshes Border to Border</a></h4>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew meshes border to border. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create two faces \r
- of a box</p>\r
-\r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
- 0., -10., 30., 20., 25.)</p>\r
-\r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face1 = facesList1[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
- 5., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face2 = facesList2[1]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs5">edge1 = edgesList[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
- face2])</p>\r
-\r
-<p class="whs5">geompy.addToStudy(aComp, \r
- &quot;Two faces&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a mesh on \r
- two faces</p>\r
-\r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
- &quot;Two faces : quadrangle mesh&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(9)</p>\r
-\r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
-\r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs5">algo_local.Propagation()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh.Compute()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># sew border to side</p>\r
-\r
-<p class="whs6"># FirstNodeIDOnFreeBorder, \r
- SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,</p>\r
-\r
-<p class="whs6"># FirstNodeIDOnSide, \r
- LastNodeIDOnSide,</p>\r
-\r
-<p class="whs6"># CreatePolygons, CreatePolyedrs</p>\r
-\r
-<p class="whs5">anEditor.SewBorderToSide(5, \r
- 45, 6, 113, 109, 0, 0) </p>\r
-\r
-<h4><a name=bookmark5>Sew Conform Free Borders</a></h4>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew conform free borders. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create two faces \r
- of the box</p>\r
-\r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
- 0., -10., 20., 20., 15.)</p>\r
-\r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face1 = facesList1[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
- 5., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face2 = facesList2[1]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs5">edge1 = edgesList[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
- face2])</p>\r
-\r
-<p class="whs5">geompy.addToStudy(aComp, \r
- &quot;Two faces&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a mesh on \r
- two faces</p>\r
-\r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
- &quot;Two faces : quadrangle mesh&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(9)</p>\r
-\r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
-\r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs5">algo_local.Propagation()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh.Compute()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># sew conform free \r
- borders</p>\r
-\r
-<p class="whs6"># FirstNodeID1, SecondNodeID1, \r
- LastNodeID1, FirstNodeID2, SecondNodeID2</p>\r
-\r
-<p class="whs5">anEditor.SewConformFreeBorders(5, \r
- 45, 6, 3, 24) </p>\r
-\r
-<h4><a name=bookmark6>Sew Free Borders</a></h4>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew free borders. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create two faces \r
- of the box</p>\r
-\r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
- 0., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face1 = facesList1[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
- 5., 0., 20., 20., 15.)</p>\r
-\r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
- geompy.ShapeType[&quot;FACE&quot;])</p>\r
-\r
-<p class="whs5">face2 = facesList2[1]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs5">edge1 = edgesList[2]</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
- face2])</p>\r
-\r
-<p class="whs5">geompy.addToStudy(aComp, \r
- &quot;Two faces&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a mesh on \r
- two faces</p>\r
-\r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
- &quot;Two faces : quadrangle mesh&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(4)</p>\r
-\r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
-\r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
- 4)</p>\r
-\r
-<p class="whs5">algo_local.Propagation()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh.Compute()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># sew free borders</p>\r
-\r
-<p class="whs6"># FirstNodeID1, SecondNodeID1, \r
- LastNodeID1,</p>\r
-\r
-<p class="whs6"># FirstNodeID2, SecondNodeID2, \r
- LastNodeID2, CreatePolygons, CreatePolyedrs</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">anEditor.SewFreeBorders(6, \r
- 21, 5, 1, 12, 3, 0, 0)</span> </p>\r
-\r
-<h4><a name=bookmark7>Sew Side Elements</a></h4>\r
-\r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew side elements. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create two boxes</p>\r
-\r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
- &nbsp;0., 0., \r
- 10., 10., 10.)</p>\r
-\r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
- 15., 0., 20., 25., 10.)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">EdgesList = geompy.SubShapeAll(box2, \r
- geompy.ShapeType[&quot;EDGE&quot;])</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aComp = geompy.MakeCompound([box1, \r
- box2])</p>\r
-\r
-<p class="whs5">geompy.addToStudy(aComp, \r
- &quot;Two boxes&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create a mesh on \r
- two boxes</p>\r
-\r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
- &quot;Two faces : quadrangle mesh&quot;)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(2)</p>\r
-\r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo_local = mesh.Segment(EdgesList[8])</p>\r
-\r
-<p class="whs5">algo_local.NumberOfSegments(4)</p>\r
-\r
-<p class="whs5">algo_local.Propagation()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh.Compute()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># sew side elements</p>\r
-\r
-<p class="whs6"># IDsOfSide1Elements, \r
- IDsOfSide2Elements,</p>\r
-\r
-<p class="whs6"># NodeID1OfSide1ToMerge, \r
- NodeID1OfSide2ToMerge, NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge</p>\r
-\r
-<p class="whs5">anEditor.SewSideElements([69, \r
- 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58)</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Transforming Meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+h3.whs1 { margin-top:0pt; margin-bottom:0pt; }
+h4.whs2 { margin-top:0pt; margin-bottom:0pt; }
+p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }
+p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
+p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+p.whs6 { margin-top:0pt; margin-bottom:0pt; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "h3.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "h4.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nTransforming Meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Transforming Meshes</h1>
+
+<h3 class="whs1">Transforming Meshes</h3>
+
+<h4 class="whs2">&nbsp;</h4>
+
+<h4 class="whs2"><a name=bookmark>Translation</a></h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs4">import SMESH_mechanic</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">smesh 
+ = SMESH_mechanic.smesh </span></p>
+
+<p class="whs4">mesh = SMESH_mechanic.mesh 
+ </p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># define translation 
+ vector</p>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">point 
+ = smesh.PointStruct(-150., -150., 0.)</span></p>
+
+<p class="whs4">vector =smesh.DirStruct(point) 
+ </p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># translate a mesh</p>
+
+<p class="whs4">doCopy = 1</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">mesh.Translate([], 
+ vector, doCopy) &nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<h4 class="whs2"><a name=bookmark1>Rotation</a></h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">import math</p>
+
+<p class="whs3">import SMESH_mechanic</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">smesh 
+ = SMESH_mechanic.smesh</span></p>
+
+<p class="whs3">mesh = SMESH_mechanic.mesh </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"># define rotation axis 
+ and angle</p>
+
+<p class="whs3">axisXYZ = smesh.AxisStruct(0., 0., 0., 
+ 5., 5., 20.)</p>
+
+<p class="whs3">angle270 = 1.5 * math.pi</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"># rotate a mesh</p>
+
+<p class="whs4">mesh.Rotate([], 
+ axisXYZ, angle270, 1) &nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<h4 class="whs2"><a name=bookmark2>Symmetry</a></h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">import math</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">import SMESH_mechanic</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">smesh 
+ = SMESH_mechanic.smesh</span></p>
+
+<p class="whs3">mesh = SMESH_mechanic.mesh </p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs5"># create a symmetrical 
+ copy of the mesh mirrored through a point</p>
+
+<p class="whs3">axis = SMESH.AxisStruct(0, 0, 0, 0, 0, 
+ 0)</p>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs3">mesh.Mirror([], axis, smesh.POINT, 1) 
+ </p>
+
+<p class="whs6">&nbsp;</p>
+
+<h4 class="whs2"><a name=bookmark3>Merging 
+ Nodes</a></h4>
+
+<p class="whs3">&nbsp;</p>
+
+<p class="whs4">import SMESH_mechanic</p>
+
+<p class="whs4">mesh = SMESH_mechanic.mesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># merge nodes</p>
+
+<p class="whs4">Tolerance = 25.0</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">GroupsOfNodes = 
+ &nbsp;mesh.FindCoincidentNodes(Tolerance)</p>
+
+<p class="whs4">mesh.MergeNodes(GroupsOfNodes) 
+ &nbsp;</p>
+
+<p class="whs6">&nbsp;</p>
+
+<h4><a name=bookmark8>Merging Elements</a></h4>
+
+<p class="whs4">import salome</p>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a face to 
+ be meshed</p>
+
+<p class="whs4">px = geompy.MakeVertex(100., 
+ 0. &nbsp;, 0. 
+ &nbsp;)</p>
+
+<p class="whs4">py = geompy.MakeVertex(0. 
+ &nbsp;, 100., 
+ 0. &nbsp;)</p>
+
+<p class="whs4">pz = geompy.MakeVertex(0. 
+ &nbsp;, 0. &nbsp;, 
+ 100.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">vxy = geompy.MakeVector(px, 
+ py)</p>
+
+<p class="whs4">arc = geompy.MakeArc(py, 
+ pz, px)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">wire = geompy.MakeWire([vxy, 
+ arc])</p>
+
+<p class="whs4">isPlanarFace = 1</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">face1 = geompy.MakeFace(wire, 
+ isPlanarFace)</p>
+
+<p class="whs4">id_face1 = geompy.addToStudy(face1, 
+ &quot;Face1&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a circle to 
+ be an extrusion path</p>
+
+<p class="whs4">px1 = geompy.MakeVertex( 
+ 100., &nbsp;100., 
+ &nbsp;0.)</p>
+
+<p class="whs4">py1 = geompy.MakeVertex(-100., 
+ -100., &nbsp;0.)</p>
+
+<p class="whs4">pz1 = geompy.MakeVertex( 
+ &nbsp;&nbsp;0., 
+ &nbsp;&nbsp;&nbsp;0., 
+ 50.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">circle = geompy.MakeCircleThreePnt(py1, 
+ pz1, px1)</p>
+
+<p class="whs4">id_circle = geompy.addToStudy(circle, 
+ &quot;Path&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a 2D mesh 
+ on the face</p>
+
+<p class="whs4">trias = smesh.Mesh(face1, 
+ &quot;Face : 2D mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo1D = trias.Segment()</p>
+
+<p class="whs4">algo1D.NumberOfSegments(6)</p>
+
+<p class="whs4">algo2D = trias.Triangle()</p>
+
+<p class="whs4">algo2D.LengthFromEdges()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">trias.Compute()</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"># create a path mesh</p>
+
+<p class="whs4">circlemesh = smesh.Mesh(circle, 
+ &quot;Path mesh&quot;)</p>
+
+<p class="whs4">algo = circlemesh.Segment()</p>
+
+<p class="whs4">algo.NumberOfSegments(10)</p>
+
+<p class="whs4">circlemesh.Compute()</p>
+
+<p class="whs5">&nbsp;</p>
+
+<p class="whs5"># extrusion of the 
+ mesh</p>
+
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">trias.ExtrusionAlongPath([], 
+ circlemesh, circle,</span></p>
+
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, 
+ 0, [], 0, smesh.PointStruct(0, 0, 0))</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># merge nodes</p>
+
+<p class="whs4">print &quot;Number 
+ of nodes before MergeNodes:&quot;, </p>
+
+<p class="whs4">trias.NbNodes()</p>
+
+<p class="whs4">tolerance = 0.001</p>
+
+<p class="whs4">array_of_nodes_groups 
+ = trias.FindCoincidentNodes(tolerance)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">trias.MergeNodes(array_of_nodes_groups)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">print &quot;Number 
+ of nodes after MergeNodes:&quot;, trias.NbNodes()</p>
+
+<p class="whs4">print &quot;&quot;</p>
+
+<p class="whs4">print &quot;Number 
+ of elements before MergeEqualElements:&quot;</p>
+
+<p class="whs4">print &quot;Edges 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, trias.NbEdges()</p>
+
+<p class="whs4">print &quot;Triangles 
+ &nbsp;: &quot;, 
+ trias.NbTriangles()</p>
+
+<p class="whs4">print &quot;Quadrangles: 
+ &quot;, trias.NbQuadrangles()</p>
+
+<p class="whs4">print &quot;Volumes 
+ &nbsp;&nbsp;&nbsp;: 
+ &quot;, trias.NbVolumes()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># merge elements</p>
+
+<p class="whs4">trias.MergeEqualElements()</p>
+
+<p class="whs4">print &quot;Number 
+ of elements after MergeEqualElements:&quot;</p>
+
+<p class="whs4">print &quot;Edges 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, trias.NbEdges()</p>
+
+<p class="whs4">print &quot;Triangles 
+ &nbsp;: &quot;, 
+ trias.NbTriangles()</p>
+
+<p class="whs4">print &quot;Quadrangles: 
+ &quot;, trias.NbQuadrangles()</p>
+
+<p class="whs4">print &quot;Volumes 
+ &nbsp;&nbsp;&nbsp;: 
+ &quot;, trias.NbVolumes()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">salome.sg.updateObjBrowser(1) 
+ </p>
+
+<p class="whs4">&nbsp;</p>
+
+<h3>Sewing Meshes</h3>
+
+<h4><a name=bookmark4>Sew Meshes Border to Border</a></h4>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create two faces 
+ of a box</p>
+
+<p class="whs4">box1 = geompy.MakeBox(0., 
+ 0., -10., 30., 20., 25.)</p>
+
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face1 = facesList1[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">box2 = geompy.MakeBox(0., 
+ 5., 0., 20., 20., 15.)</p>
+
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face2 = facesList2[1]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, 
+ geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs4">edge1 = edgesList[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">aComp = geompy.MakeCompound([face1, 
+ face2])</p>
+
+<p class="whs4">geompy.addToStudy(aComp, 
+ &quot;Two faces&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh on 
+ two faces</p>
+
+<p class="whs4">mesh = smesh.Mesh(aComp, 
+ &quot;Two faces : quadrangle mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo1D = mesh.Segment()</p>
+
+<p class="whs4">algo1D.NumberOfSegments(9)</p>
+
+<p class="whs4">algo2D = mesh.Quadrangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>
+
+<p class="whs4">algo_local.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs4">algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">mesh.Compute()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># sew border to side</p>
+
+<p class="whs5"># FirstNodeIDOnFreeBorder, 
+ SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,</p>
+
+<p class="whs5"># FirstNodeIDOnSide, 
+ LastNodeIDOnSide,</p>
+
+<p class="whs5"># CreatePolygons, CreatePolyedrs</p>
+
+<p class="whs4">mesh.SewBorderToSide(5, 
+ 45, 6, 113, 109, 0, 0) </p>
+
+<h4><a name=bookmark5>Sew Conform Free Borders</a></h4>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create two faces 
+ of the box</p>
+
+<p class="whs4">box1 = geompy.MakeBox(0., 
+ 0., -10., 20., 20., 15.)</p>
+
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face1 = facesList1[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">box2 = geompy.MakeBox(0., 
+ 5., 0., 20., 20., 15.)</p>
+
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face2 = facesList2[1]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, 
+ geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs4">edge1 = edgesList[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">aComp = geompy.MakeCompound([face1, 
+ face2])</p>
+
+<p class="whs4">geompy.addToStudy(aComp, 
+ &quot;Two faces&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh on 
+ two faces</p>
+
+<p class="whs4">mesh = smesh.Mesh(aComp, 
+ &quot;Two faces : quadrangle mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo1D = mesh.Segment()</p>
+
+<p class="whs4">algo1D.NumberOfSegments(9)</p>
+
+<p class="whs4">algo2D = mesh.Quadrangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>
+
+<p class="whs4">algo_local.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs4">algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">mesh.Compute()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># sew conform free 
+ borders</p>
+
+<p class="whs5"># FirstNodeID1, SecondNodeID1, 
+ LastNodeID1, FirstNodeID2, SecondNodeID2</p>
+
+<p class="whs4">mesh.SewConformFreeBorders(5, 
+ 45, 6, 3, 24) &nbsp;</p>
+
+<h4><a name=bookmark6>Sew Free Borders</a></h4>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create two faces 
+ of the box</p>
+
+<p class="whs4">box1 = geompy.MakeBox(0., 
+ 0., 0., 20., 20., 15.)</p>
+
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face1 = facesList1[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">box2 = geompy.MakeBox(0., 
+ 5., 0., 20., 20., 15.)</p>
+
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, 
+ geompy.ShapeType[&quot;FACE&quot;])</p>
+
+<p class="whs4">face2 = facesList2[1]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, 
+ geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs4">edge1 = edgesList[2]</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">aComp = geompy.MakeCompound([face1, 
+ face2])</p>
+
+<p class="whs4">geompy.addToStudy(aComp, 
+ &quot;Two faces&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh on 
+ two faces</p>
+
+<p class="whs4">mesh = smesh.Mesh(aComp, 
+ &quot;Two faces : quadrangle mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo1D = mesh.Segment()</p>
+
+<p class="whs4">algo1D.NumberOfSegments(4)</p>
+
+<p class="whs4">algo2D = mesh.Quadrangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>
+
+<p class="whs4">algo_local.Arithmetic1D(1, 
+ 4)</p>
+
+<p class="whs4">algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">mesh.Compute()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># sew free borders</p>
+
+<p class="whs5"># FirstNodeID1, SecondNodeID1, 
+ LastNodeID1,</p>
+
+<p class="whs5"># FirstNodeID2, SecondNodeID2, 
+ LastNodeID2, CreatePolygons, CreatePolyedrs</p>
+
+<p class="whs6">mesh.SewFreeBorders(6, 
+ 21, 5, 1, 12, 3, 0, 0) </p>
+
+<h4><a name=bookmark7>Sew Side Elements</a></h4>
+
+<p class="whs4">import geompy</p>
+
+<p class="whs4">import smesh</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create two boxes</p>
+
+<p class="whs4">box1 = geompy.MakeBox(0., 
+ &nbsp;0., 0., 
+ 10., 10., 10.)</p>
+
+<p class="whs4">box2 = geompy.MakeBox(0., 
+ 15., 0., 20., 25., 10.)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">EdgesList = geompy.SubShapeAll(box2, 
+ geompy.ShapeType[&quot;EDGE&quot;])</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">aComp = geompy.MakeCompound([box1, 
+ box2])</p>
+
+<p class="whs4">geompy.addToStudy(aComp, 
+ &quot;Two boxes&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># create a mesh on 
+ two boxes</p>
+
+<p class="whs4">mesh = smesh.Mesh(aComp, 
+ &quot;Two faces : quadrangle mesh&quot;)</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo1D = mesh.Segment()</p>
+
+<p class="whs4">algo1D.NumberOfSegments(2)</p>
+
+<p class="whs4">algo2D = mesh.Quadrangle()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">algo_local = mesh.Segment(EdgesList[8])</p>
+
+<p class="whs4">algo_local.NumberOfSegments(4)</p>
+
+<p class="whs4">algo_local.Propagation()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs4">mesh.Compute()</p>
+
+<p class="whs4">&nbsp;</p>
+
+<p class="whs5"># sew side elements</p>
+
+<p class="whs5"># IDsOfSide1Elements, 
+ IDsOfSide2Elements,</p>
+
+<p class="whs5"># NodeID1OfSide1ToMerge, 
+ NodeID1OfSide2ToMerge, NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge</p>
+
+<p class="whs4">mesh.SewSideElements([69, 
+ 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58) </p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 9f9244643d7c447c99586e6c8b2fc502958980c9..ab7df8c56cda4e74895f36cbbe17d7170c35b752 100755 (executable)
@@ -1,98 +1,98 @@
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Transparency</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-p.whs1 { margin-left:40px; }\r
-img_whs2 { border:none; border-style:none; width:354px; height:173px; float:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nViewing meshes\nTransparency");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Transparency</h1>\r
-\r
-<p class="whs1"><img src="pics/a-transparency.png" x-maintain-ratio="TRUE" width="354px" height="173px" border="0" class="img_whs2"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>Using this slider you can set the transparency of shading. Absolutely \r
- transparent shading will be invisible. By default it is absolutely opaque. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Transparency</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+p.whs1 { margin-left:40px; }
+img_whs2 { border:none; border-style:none; width:354px; height:173px; float:none; }
+-->
+</style><script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nViewing meshes\nTransparency");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Transparency</h1>
+
+<p class="whs1"><img src="pics/a-transparency.png" x-maintain-ratio="TRUE" width="354px" height="173px" border="0" class="img_whs2"></p>
+
+<p>&nbsp;</p>
+
+<p>Using this slider you can set the transparency of shading. Absolutely 
+ transparent shading will be invisible. By default it is absolutely opaque. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 27b788e3019edf427042eef00397d0d76b822adc..f2eca5e99d75872f70f020bb585424403de8b93d 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Viewing Meshes</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-p.whs1 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nTUI Scripts\nViewing Meshes");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Viewing Meshes</h1>\r
-\r
-<h3>Viewing Mesh Infos</h3>\r
-\r
-<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
- geompy</span></p>\r
-\r
-<p class="whs1">import smesh</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2"># create a box</p>\r
-\r
-<p class="whs1">box = geompy.MakeBox(0., 0., 0., 20., \r
- 20., 20.)</p>\r
-\r
-<p class="whs1">geompy.addToStudy(box, &quot;box&quot;)</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2"># create a mesh</p>\r
-\r
-<p class="whs1">tetra = smesh.Mesh(box, &quot;MeshBox&quot;)</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">algo1D = tetra.Segment()</p>\r
-\r
-<p class="whs1">algo1D.NumberOfSegments(3)</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">algo2D = tetra.Triangle()</p>\r
-\r
-<p class="whs1">algo2D.MaxElementArea(10.)</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs1">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>\r
-\r
-<p class="whs1">algo3D.MaxElementVolume(900.)</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2"># compute the mesh</p>\r
-\r
-<p class="whs1">tetra.Compute()</p>\r
-\r
-<p class="whs1">&nbsp;</p>\r
-\r
-<p class="whs2"># print informations \r
- about the mesh</p>\r
-\r
-<p class="whs1">mesh = tetra.GetMesh()</p>\r
-\r
-<p class="whs1">print &quot;Information about mesh:&quot;</p>\r
-\r
-<p class="whs1">print &quot;Number of nodes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbNodes()</p>\r
-\r
-<p class="whs1">print &quot;Number of edges &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbEdges()</p>\r
-\r
-<p class="whs1">print &quot;Number of faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbFaces()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;triangles \r
- &nbsp;&nbsp;: \r
- &quot;, mesh.NbTriangles()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quadrangles \r
- : &quot;, mesh.NbQuadrangles()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;polygons \r
- &nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbPolygons()</p>\r
-\r
-<p class="whs1">print &quot;Number of volumes &nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbVolumes()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tetrahedrons: \r
- &quot;, mesh.NbTetras()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hexahedrons \r
- : &quot;, mesh.NbHexas()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prisms \r
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbPrisms()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pyramids \r
- &nbsp;&nbsp;&nbsp;: \r
- &quot;, mesh.NbPyramids()</p>\r
-\r
-<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;polyhedrons \r
- : &quot;, mesh.NbPolyhedrons() </p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Viewing Meshes</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+p.whs1 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }
+p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nTUI Scripts\nViewing Meshes");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Viewing Meshes</h1>
+
+<h3>Viewing Mesh Infos</h3>
+
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import 
+ geompy</span></p>
+
+<p class="whs1">import smesh</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a box</p>
+
+<p class="whs1">box = geompy.MakeBox(0., 0., 0., 20., 
+ 20., 20.)</p>
+
+<p class="whs1">geompy.addToStudy(box, &quot;box&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># create a mesh</p>
+
+<p class="whs1">tetra = smesh.Mesh(box, &quot;MeshBox&quot;)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">algo1D = tetra.Segment()</p>
+
+<p class="whs1">algo1D.NumberOfSegments(3)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">algo2D = tetra.Triangle()</p>
+
+<p class="whs1">algo2D.MaxElementArea(10.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs1">algo3D = tetra.Tetrahedron(smesh.NETGEN)</p>
+
+<p class="whs1">algo3D.MaxElementVolume(900.)</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># compute the mesh</p>
+
+<p class="whs1">tetra.Compute()</p>
+
+<p class="whs1">&nbsp;</p>
+
+<p class="whs2"># print information 
+ about the mesh</p>
+
+<p class="whs1">print &quot;Information about mesh:&quot; 
+ </p>
+
+<p class="whs1">print &quot;Number of nodes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbNodes()</p>
+
+<p class="whs1">print &quot;Number of edges &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbEdges()</p>
+
+<p class="whs1">print &quot;Number of faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbFaces()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;triangles 
+ &nbsp;&nbsp;: 
+ &quot;, tetra.NbTriangles()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quadrangles 
+ : &quot;, tetra.NbQuadrangles()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;polygons 
+ &nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbPolygons()</p>
+
+<p class="whs1">print &quot;Number of volumes &nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbVolumes()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tetrahedrons: 
+ &quot;, tetra.NbTetras()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hexahedrons 
+ : &quot;, tetra.NbHexas()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prisms 
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbPrisms()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pyramids 
+ &nbsp;&nbsp;&nbsp;: 
+ &quot;, tetra.NbPyramids()</p>
+
+<p class="whs1">print &quot; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;polyhedrons 
+ : &quot;, tetra.NbPolyhedrons() &nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index f55993eaf14366f80a4a0e6f4f92cf85a0f05bd7..bb675f1e0b5ecd0ec9e320b676fd9f9314dc1f6d 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Volume</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
-<!--\r
-h1.whs1 { font-size:24pt; }\r
-img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs3 { margin-left:40px; }\r
-img_whs4 { border:none; width:164px; height:199px; border-style:none; }\r
-img_whs5 { border:none; width:23px; height:25px; border-style:none; }\r
-p.whs6 { margin-left:0px; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs6 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nQuality controls\nVolume");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1 class="whs1">Volume</h1>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> <span style="font-weight: bold;"><B>Volume</B></span> mesh quality \r
- criterion reflects the volume of meshes of a 3D object. </p>\r
-\r
-<p class="whs3"><img src="image143.gif" width="164px" height="199px" border="0" class="img_whs4"></p>\r
-\r
-<p class=TODO\r
-       style="font-family: 'Arial Black', sans-serif; font-style: italic;">To \r
- apply the Volume quality criterion to your mesh:</p>\r
-\r
-<p class="whs3">1. Display your mesh in the viewer.</p>\r
-\r
-<p class="whs3">2. Choose <span style="font-weight: bold;"><B>Controls \r
- &gt; Volume </B></span>or click <img src="image145.gif" width="23px" height="25px" border="0" class="img_whs5"> button in the toolbar. Your \r
- mesh will be displayed in the viewer with its elements colored according \r
- to the applied mesh quality control criterion:</p>\r
-\r
-<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> \r
- a sample TUI Script of a <a href="quality_controls.htm#bookmark12"><span \r
- style="font-weight: bold;"><B>Volume</B></span> quality control</a> operation. \r
- &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Volume</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
+<!--
+h1.whs1 { font-size:24pt; }
+img_whs2 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs3 { margin-left:40px; }
+img_whs4 { border:none; width:164px; height:199px; border-style:none; }
+img_whs5 { border:none; width:23px; height:25px; border-style:none; }
+p.whs6 { margin-left:0px; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs6 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nQuality controls\nVolume");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1 class="whs1">Volume</h1>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs2"> <span style="font-weight: bold;"><B>Volume</B></span> mesh quality 
+ criterion reflects the volume of meshes of a 3D object. </p>
+
+<p class="whs3"><img src="image143.gif" width="164px" height="199px" border="0" class="img_whs4"></p>
+
+<p class=TODO
+       style="font-family: 'Arial Black', sans-serif; font-style: italic;">To 
+ apply the Volume quality criterion to your mesh:</p>
+
+<p class="whs3">1. Display your mesh in the viewer.</p>
+
+<p class="whs3">2. Choose <span style="font-weight: bold;"><B>Controls 
+ &gt; Volume </B></span>or click <img src="image145.gif" width="23px" height="25px" border="0" class="img_whs5"> button in the toolbar. Your 
+ mesh will be displayed in the viewer with its elements colored according 
+ to the applied mesh quality control criterion:</p>
+
+<p class="whs6"><span style="font-weight: bold;"><B>See Also</B></span> 
+ a sample TUI Script of a <a href="quality_controls.htm#bookmark12"><span 
+ style="font-weight: bold;"><B>Volume</B></span> quality control</a> operation. 
+ &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>
index 53b2666365f925aa3d03937608babf0aef95f661..1d1697e7646e8c22cada468b8813c461258493fa 100755 (executable)
Binary files a/doc/salome/gui/SMESH/webhelp.jar and b/doc/salome/gui/SMESH/webhelp.jar differ
index 5a486ba28dae8ab1dc505c245813ef69603f5628..bc99598c0fddb92b64ef712c044ba6afadc9d5ae 100755 (executable)
-<html>\r
-<script language="javascript1.2" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if(gbIE4||gbNav61)\r
-{\r
-       document.write("<body></body>");\r
-}\r
-else\r
-{\r
-       document.write("<frameset rows=\"100%,*\"><frame name=\"data_frm\" src=\"about:blank\"><frame name=\"dumb_frm\" src=\"about:blank\"></frameset>");\r
-}\r
-var gCSHFileName="whcshdata.htm";\r
-\r
-var gHomePage="index.htm";\r
-var gaProj=new Array();\r
-gaProj[0]=new Object();\r
-gaProj[0].sProjPath=_replaceSlash(_getPath(document.location.href));\r
-gaProj[0].nLoadState=0;\r
-var gCurrent=0;\r
-\r
-var gsTopicURL="";\r
-var gnCurProj=0;\r
-var gnCommand=-1;\r
-var CMD_SHOWTOC=1;\r
-var CMD_SHOWINDEX=2;\r
-var CMD_SHOWSEARCH=3;\r
-var CMD_SHOWGLOSSARY=4;\r
-var CMD_SHOWNONE=0;\r
-\r
-var RHWO_LOCATION=0x01;                /*need location bar?*/\r
-var RHWO_MENUBAR=0x02;         /*need menubar?*/               \r
-var RHWO_RESIZABLE=0x04;       /*resizable window?*/\r
-var RHWO_TOOLBAR=0x08;         /*need toolbar?*/\r
-var RHWO_STATUS=0x10;          /*need statusbar?*/\r
-var RHWO_SCROLLBARS=0x20;      /*need scrollbars?*/\r
-\r
-var gsStr="";\r
-var gnId=-1;\r
-var gsWindow="";\r
-var gsJava="false";\r
-var gbUseStr=false;\r
-var gbURLReady=false;\r
-var goWnd=new Object();\r
-goWnd.sName="whCshDefault";\r
-goWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;\r
-goWnd.sBLeft="49%";\r
-goWnd.sBTop="0";\r
-goWnd.sBWidth="49%";\r
-goWnd.sBHeight="49%";\r
-goWnd.nPanes=1;\r
-var goFullWnd=new Object();\r
-goFullWnd.sName="whDefault";\r
-goFullWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;\r
-goFullWnd.sBLeft="20%";\r
-goFullWnd.sBTop="0";\r
-goFullWnd.sBWidth="79%";\r
-goFullWnd.sBHeight="79%";\r
-goFullWnd.nPanes=2;\r
-\r
-var goNewWnd=null;\r
-var gbLoadWnd=false;\r
-var gsURL="";\r
-\r
-function showCSH(sParam)\r
-{\r
-       //id=\r
-       //str=\r
-       //url=\r
-       //cmd=\r
-       //with the format #<a=xxx>>b=xxx>>c=xxx...\r
-       parseParam(sParam);\r
-       SwitchURL();\r
-}\r
-\r
-function IsWndReady()\r
-{\r
-       if(gaProj[0].nLoadState==0)\r
-       {\r
-               var sCshFile=_getFullPath(gaProj[0].sProjPath,gCSHFileName);\r
-               gaProj[0].nLoadState=1;\r
-               setTimeout("loadFail("+0+");",3000);\r
-               loadDataCsh(sCshFile);\r
-               gbLoadWnd=true;\r
-               return false;\r
-       }\r
-       else\r
-               return true;\r
-}\r
-\r
-function SwitchURL()\r
-{\r
-       if(gbURLReady)\r
-       {\r
-               var sURL="";\r
-               var oWnd=null;\r
-               if(gsTopicURL)\r
-               {\r
-                       sURL=_getPath(document.location.href)+gHomePage+"#"+gsTopicURL;\r
-                       oWnd=goWnd;\r
-               }\r
-               else\r
-               {\r
-                       if(gnCommand!=-1)\r
-                               sURL=_getPath(document.location.href)+gHomePage+"#>>cmd="+gnCommand;\r
-                       else\r
-                               sURL=_getPath(document.location.href)+gHomePage;\r
-                       oWnd=goFullWnd;\r
-               }\r
-               if(gsWindow)\r
-               {\r
-                       if(!IsWndReady())\r
-                               return false;\r
-                       if(gaProj[gnCurProj].aWnd)\r
-                       {\r
-                               var aWnd=gaProj[gnCurProj].aWnd;\r
-                               var bFound=false;\r
-                               for(var i=0;i<aWnd.length;i++)\r
-                               {\r
-                                       if(aWnd[i].sName.toLowerCase()==gsWindow.toLowerCase())\r
-                                       {\r
-                                               oWnd=aWnd[i];\r
-                                               bFound=true;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               if(!bFound&&gnCurProj!=0)\r
-                               {\r
-                                       var aWnd=gaProj[0].aWnd;\r
-                                       for(var j=0;j<aWnd.length;j++)\r
-                                       {\r
-                                               if(aWnd[j].sName.toLowerCase()==gsWindow.toLowerCase())\r
-                                               {\r
-                                                       oWnd=aWnd[j];\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-\r
-               if(sURL&&oWnd)\r
-               {\r
-                       strURLOpt="";\r
-                       if(oWnd.sCaption)\r
-                               strURLOpt+=">>cap="+oWnd.sCaption;\r
-                       if(oWnd.nPanes==1)\r
-                               strURLOpt+=">>pan="+oWnd.nPanes;\r
-                       else if(oWnd.nPanes==2)\r
-                       {\r
-                               strURLOpt+=">>pan="+oWnd.nPanes;\r
-                               if(oWnd.nPOptions)\r
-                                       strURLOpt+=">>pot="+oWnd.nPOptions;\r
-                               if(oWnd.sPButtons)\r
-                                       strURLOpt+=">>pbs="+oWnd.sPButtons;\r
-                               if(oWnd.sPDefBtn)\r
-                                       strURLOpt+=">>pdb="+oWnd.sPDefBtn;\r
-                       }\r
-                       if(strURLOpt)\r
-                       {\r
-                               if(sURL.indexOf("#")==-1)\r
-                                       sURL+="#";\r
-                               sURL+=strURLOpt;\r
-                       }\r
-                       if(gsJava=="false")\r
-                       {\r
-                               var strOpt=getBrowserOptionString(oWnd);\r
-                               var sNewName=convertWindowName(oWnd.sName);\r
-                               if(gbNav4)\r
-                               {\r
-                                       if (gbNav6)\r
-                                       {\r
-                                               gsURL = sURL;\r
-                                               goNewWnd=window.open("about:blank",sNewName,strOpt);\r
-                                               setTimeout("postWindowNSOpen();",100);\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               window.open("about:blank",sNewName,strOpt);\r
-                                               var oNewWnd=window.open(sURL,sNewName);\r
-                                               window.close();\r
-                                               oNewWnd.focus();\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       if(gbIE5)\r
-                                       {\r
-                                               window.open("about:blank",sNewName,strOpt);\r
-                                               goNewWnd=window.open(sURL,sNewName);\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               gsURL = sURL; // IE4 had hard time to handle bookmark.\r
-                                               goNewWnd=window.open("about:blank",sNewName,strOpt);\r
-                                       }\r
-                                       setTimeout("postWindowOpen();",100);\r
-                               }\r
-                       }\r
-                       else\r
-                               document.location=sURL;\r
-               }\r
-       }\r
-}\r
-\r
-function convertWindowName(strName)\r
-{\r
-       var strNewName = strName;\r
-       var strResultName = "";\r
-       var re=new RegExp("_","g");\r
-       strNewName = strName.replace(re,"__");\r
-       for (var i=0;i<strNewName.length;i++)\r
-               if (!(strNewName[i] == '_' ||\r
-                       (strNewName[i] <= '9' && strNewName[i] >= '0') ||\r
-                       (strNewName[i] <= 'z' && strNewName[i] >= 'a') ||\r
-                       (strNewName[i] <= 'Z' && strNewName[i] >= 'A')))\r
-               {\r
-                       strResultName += "_" + strNewName.charCodeAt(i);\r
-               }\r
-               else\r
-                       strResultName += strNewName[i];\r
-       return strResultName;\r
-}\r
-\r
-function postWindowNSOpen()\r
-{\r
-       if(goNewWnd)\r
-       {\r
-               if (gsURL)\r
-                       goNewWnd.document.location.href=gsURL;\r
-               window.close();\r
-               goNewWnd.focus();\r
-       }\r
-}\r
-\r
-function postWindowOpen()\r
-{\r
-       if(goNewWnd)\r
-       {\r
-               if (gsURL&&!gbIE5&&gbIE4)\r
-                       goNewWnd.document.location.href=gsURL;\r
-               goNewWnd.focus();\r
-       }\r
-}\r
-\r
-function parseParam(sParam)\r
-{\r
-       if(sParam)\r
-       {\r
-               var nBPos=0;\r
-               do\r
-               {\r
-                       var nPos=sParam.indexOf(">>",nBPos);\r
-                       if(nPos!=-1)\r
-                       {\r
-                               if(nPos>0)\r
-                               {\r
-                                       var sPart=sParam.substring(nBPos,nPos);\r
-                                       parsePart(sPart);\r
-                               }\r
-                               nBPos=nPos+2;\r
-                       }\r
-                       else\r
-                       {\r
-                               var sPart=sParam.substring(nBPos);\r
-                               parsePart(sPart);\r
-                               break;\r
-                       }\r
-               }while(nBPos<sParam.length);\r
-       }\r
-}\r
-\r
-function parsePart(sPart)\r
-{\r
-       if(sPart.toLowerCase().indexOf("id=")==0)\r
-       {\r
-               fetchURLById(sPart.substring(3));\r
-               gbURLReady=false;\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("str=")==0)\r
-       {\r
-               fetchURLByStr(sPart.substring(4));\r
-               gbURLReady=false;\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("url=")==0)\r
-       {\r
-               gsTopicURL=sPart.substring(4);\r
-               gbURLReady=true;\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("cmd=")==0)\r
-       {\r
-               var sCmd=sPart.substring(4);\r
-               if(sCmd.toLowerCase()=="toc")\r
-               {\r
-                       gnCommand=CMD_SHOWTOC;\r
-               }\r
-               else if(sCmd.toLowerCase()=="idx")\r
-               {\r
-                       gnCommand=CMD_SHOWINDEX;\r
-               }\r
-               else if(sCmd.toLowerCase()=="fts")\r
-               {\r
-                       gnCommand=CMD_SHOWSEARCH;\r
-               }\r
-               else if(sCmd.toLowerCase()=="glo")\r
-               {\r
-                       gnCommand=CMD_SHOWGLOSSARY;\r
-               }\r
-               else if(sCmd.toLowerCase()=="none")\r
-               {\r
-                       gnCommand=CMD_SHOWNONE;\r
-               }\r
-               gbURLReady=true;\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("wnd=")==0)\r
-       {\r
-               gsWindow=_browserStringToText(sPart.substring(4));\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("java=")==0)\r
-       {\r
-               gsJava=sPart.substring(5);\r
-       }\r
-}\r
-\r
-function fetchURLById(sId)\r
-{\r
-       var nId=parseInt(sId);\r
-       gsTopicURL="";\r
-       fetchURL("",nId,false);\r
-}\r
-\r
-function fetchURLByStr(sStr)\r
-{\r
-       gsTopicURL="";\r
-       fetchURL(sStr,0,true);\r
-}\r
-\r
-function fetchURL(sStr,nId,bUseStr)\r
-{\r
-       var bNeedLoad=false;\r
-       var bFound=false;\r
-       for(var i=0;i<gaProj.length;i++)\r
-       {\r
-               if(gaProj[i].nLoadState==3)\r
-               {\r
-                       if(gaProj[i].aCsh)\r
-                       {\r
-                               for(var j=0;j<gaProj[i].aCsh.length;j++)\r
-                               {\r
-                                       var sTopicURL="";\r
-                                       if(bUseStr)\r
-                                       {\r
-                                               if(gaProj[i].aCsh[j].strAliasId.toLowerCase()==sStr.toLowerCase())\r
-                                                       sTopicURL=gaProj[i].aCsh[j].strUrl;\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               if(gaProj[i].aCsh[j].nTopicNum==nId)\r
-                                                       sTopicURL=gaProj[i].aCsh[j].strUrl;\r
-                                       }\r
-                                       if(sTopicURL)\r
-                                       {\r
-                                               if(i!=0)\r
-                                               {\r
-                                                       gnCurProj=i;\r
-                                                       if(gaProj[i].sProjPath.indexOf(gaProj[0].sProjPath)==0)\r
-                                                       {\r
-                                                               var sRelPath=gaProj[i].sProjPath.substring(gaProj[0].sProjPath.length);\r
-                                                               gsTopicURL=sRelPath+sTopicURL;\r
-                                                       }\r
-                                                       else\r
-                                                               gsTopicURL=gaProj[i].sProjPath+sTopicURL;\r
-                                               }\r
-                                               else\r
-                                                       gsTopicURL=sTopicURL;\r
-                                               bFound=true;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                       }\r
-                       \r
-               }\r
-               else if(gaProj[i].nLoadState==0)\r
-               {\r
-                       gsStr=sStr;\r
-                       gnId=nId;\r
-                       gbUseStr=bUseStr;\r
-                       var sCshFile=_getFullPath(gaProj[i].sProjPath,gCSHFileName);\r
-                       gaProj[i].nLoadState=1;\r
-                       setTimeout("loadFail("+i+");",3000);\r
-                       loadDataCsh(sCshFile);\r
-                       bNeedLoad=true;\r
-               }\r
-               if(bFound||bNeedLoad)\r
-                       break;\r
-       }\r
-       if(!bNeedLoad)\r
-       {\r
-               gbURLReady=true;\r
-               SwitchURL();\r
-       }\r
-}\r
-\r
-function loadDataCsh(sFile)\r
-{\r
-       if(gbIE4||gbNav61)\r
-               loadData(sFile);\r
-       else\r
-       {\r
-               window.frames[0].location=sFile;\r
-       }\r
-}\r
-\r
-function loadFail(nProj)\r
-{\r
-       if(gaProj[nProj].nLoadState==1)\r
-       {\r
-               gaProj[nProj].nLoadState=2;\r
-               if(!gbLoadWnd)\r
-                       fetchURL(gsStr,gnId,gbUseStr);\r
-               else\r
-                       SwitchURL();\r
-       }\r
-}\r
-\r
-function putCshData(strProj,aCsh,aWnd,aRmtProj)\r
-{\r
-       if(strProj)\r
-       {\r
-               strProj=_replaceSlash(strProj);\r
-               if(strProj.lastIndexOf("/")!=strProj.length-1)\r
-                       strProj+="/";\r
-               for(var i=0;i<gaProj.length;i++)\r
-               {\r
-                       if(gaProj[i].sProjPath)\r
-                       {\r
-                               if(isSamePath(gaProj[i].sProjPath,strProj))\r
-                               {\r
-                                       gaProj[i].nLoadState=3;\r
-                                       gaProj[i].aCsh=aCsh;\r
-                                       gaProj[i].aWnd=aWnd;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-               if(aRmtProj&&aRmtProj.length)\r
-               {\r
-                       for(var j=0;j<aRmtProj.length;j++)\r
-                       {\r
-                               var strRPath=_getFullPath(strProj,aRmtProj[j]);\r
-                               var bFound=false;\r
-                               for (var k=0;k<gaProj.length;k++)\r
-                               {\r
-                                       if(gaProj[k].sProjPath)\r
-                                       {\r
-                                               if(isSamePath(gaProj[k].sProjPath,strRPath))\r
-                                               {\r
-                                                       bFound=true;\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               if(!bFound)\r
-                               {\r
-                                       var len=gaProj.length;\r
-                                       gaProj[len]=new Object();\r
-                                       gaProj[len].sProjPath=strRPath;\r
-                                       gaProj[len].nLoadState=0;\r
-                               }\r
-                       }\r
-               }\r
-               if(!gbLoadWnd)\r
-                       fetchURL(gsStr,gnId,gbUseStr);\r
-               else\r
-                       SwitchURL();\r
-                       \r
-       }\r
-}\r
-\r
-function isSamePath(strPath1,strPath2)\r
-{\r
-       return strPath1.toLowerCase()==strPath2.toLowerCase();\r
-}\r
-\r
-function getRelHomePage(strLocation)\r
-{\r
-       var strCurPPath=_getPath(strLocation);\r
-       var strOriPPath=_getPath(getHomePage());\r
-       var strRelPath=_getRelativeFileName(strOriPPath,strCurPPath);\r
-       var strURL=getHomePage()+"#"+strRelPath;\r
-       return strURL;\r
-}\r
-\r
-function getHomePage()\r
-{\r
-       var strHomePage;\r
-       var strTmp=location.toString();\r
-       var nPos=strTmp.indexOf("#");\r
-       if(nPos!=-1)\r
-       {\r
-               strHomePage=strTmp.substring(0,nPos);\r
-       }\r
-       else\r
-       {\r
-               strHomePage=strTmp;\r
-       }\r
-       return strHomePage;\r
-}\r
-\r
-function getBrowserOptionString(oWnd)\r
-{\r
-       var strOpts="";\r
-       if(oWnd.bUseDefault)\r
-               return strOpts;\r
-       if(oWnd.nBOptions&RHWO_LOCATION)\r
-               strOpts+="location=yes";\r
-       else\r
-               strOpts+="location=no";\r
-       if(oWnd.nBOptions&RHWO_TOOLBAR)\r
-               strOpts+=",toolbar=yes";                \r
-       else\r
-               strOpts+=",toolbar=no";         \r
-       if(oWnd.nBOptions&RHWO_MENUBAR)\r
-               strOpts+=",menubar=yes";                \r
-       else\r
-               strOpts+=",menubar=no";\r
-       if(oWnd.nBOptions&RHWO_STATUS)\r
-               strOpts+=",status=yes";         \r
-       else\r
-               strOpts+=",status=no";          \r
-       if(oWnd.nBOptions&RHWO_SCROLLBARS)\r
-               strOpts+=",scrollbars=yes";\r
-       else\r
-               strOpts+=",scrollbars=no";      \r
-       if(oWnd.nBOptions&RHWO_RESIZABLE)\r
-               strOpts+=",resizable=yes";\r
-       else\r
-               strOpts+=",resizable=no";\r
-       if(oWnd.sBTop)\r
-       {\r
-               var nTop=getSValue(oWnd.sBTop,screen.height);\r
-               strOpts+=",top="+nTop;\r
-               strOpts+=",screenY="+nTop;\r
-       }\r
-       if(oWnd.sBLeft)\r
-       {\r
-               var nLeft=getSValue(oWnd.sBLeft,screen.width);\r
-               strOpts+=",left="+nLeft;\r
-               strOpts+=",screenX="+nLeft;\r
-       }\r
-       if(oWnd.sBWidth)\r
-       {\r
-               var nWidth=getSValue(oWnd.sBWidth,screen.width);\r
-               strOpts+=",width="+nWidth;\r
-               strOpts+=",outerWidth="+nWidth;\r
-       }\r
-       if(oWnd.sBHeight)\r
-       {\r
-               var nHeight=getSValue(oWnd.sBHeight,screen.height);\r
-               strOpts+=",height="+nHeight;\r
-               strOpts+=",outerHeight="+nHeight;\r
-       }\r
-       return strOpts;\r
-}\r
-\r
-function getSValue(sValue,nLength)\r
-{\r
-       var nValue=0;\r
-       var nPos=sValue.indexOf("%");\r
-       if(nPos!=-1)\r
-       {\r
-               if(nPos>0)\r
-               {\r
-                       var nPart=parseInt(sValue.substring(0,nPos));\r
-                       nValue=nLength*nPart/100;\r
-               }\r
-       }\r
-       else\r
-               nValue=parseInt(sValue);\r
-       return nValue;\r
-}\r
-\r
-\r
-window.onload=window_OnLoad;\r
-\r
-function window_OnLoad()\r
-{\r
-       if(document.location.hash.length>0)\r
-       {\r
-               showCSH(document.location.hash.substring(1));\r
-       }\r
-\r
-       if(gsJava=="false")\r
-               window.moveTo(screen.width,screen.height);\r
-}\r
-//-->\r
-</script>\r
-</html>
\ No newline at end of file
+<html>
+<script language="javascript1.2" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2">
+<!--
+if(gbIE4||gbNav61)
+{
+       document.write("<body></body>");
+}
+else
+{
+       document.write("<frameset rows=\"100%,*\"><frame name=\"data_frm\" src=\"about:blank\"><frame name=\"dumb_frm\" src=\"about:blank\"></frameset>");
+}
+var gCSHFileName="whcshdata.htm";
+
+var gHomePage="index.htm";
+var gaProj=new Array();
+gaProj[0]=new Object();
+gaProj[0].sProjPath=_replaceSlash(_getPath(document.location.href));
+gaProj[0].nLoadState=0;
+var gCurrent=0;
+
+var gsTopicURL="";
+var gnCurProj=0;
+var gnCommand=-1;
+var CMD_SHOWTOC=1;
+var CMD_SHOWINDEX=2;
+var CMD_SHOWSEARCH=3;
+var CMD_SHOWGLOSSARY=4;
+var CMD_SHOWNONE=0;
+
+var RHWO_LOCATION=0x01;                /*need location bar?*/
+var RHWO_MENUBAR=0x02;         /*need menubar?*/               
+var RHWO_RESIZABLE=0x04;       /*resizable window?*/
+var RHWO_TOOLBAR=0x08;         /*need toolbar?*/
+var RHWO_STATUS=0x10;          /*need statusbar?*/
+var RHWO_SCROLLBARS=0x20;      /*need scrollbars?*/
+
+var gsStr="";
+var gnId=-1;
+var gsWindow="";
+var gsJava="false";
+var gbUseStr=false;
+var gbURLReady=false;
+var goWnd=new Object();
+goWnd.sName="whCshDefault";
+goWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;
+goWnd.sBLeft="49%";
+goWnd.sBTop="0";
+goWnd.sBWidth="49%";
+goWnd.sBHeight="49%";
+goWnd.nPanes=1;
+var goFullWnd=new Object();
+goFullWnd.sName="whDefault";
+goFullWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;
+goFullWnd.sBLeft="20%";
+goFullWnd.sBTop="0";
+goFullWnd.sBWidth="79%";
+goFullWnd.sBHeight="79%";
+goFullWnd.nPanes=2;
+
+var goNewWnd=null;
+var gbLoadWnd=false;
+var gsURL="";
+
+function showCSH(sParam)
+{
+       //id=
+       //str=
+       //url=
+       //cmd=
+       //with the format #<a=xxx>>b=xxx>>c=xxx...
+       parseParam(sParam);
+       SwitchURL();
+}
+
+function IsWndReady()
+{
+       if(gaProj[0].nLoadState==0)
+       {
+               var sCshFile=_getFullPath(gaProj[0].sProjPath,gCSHFileName);
+               gaProj[0].nLoadState=1;
+               setTimeout("loadFail("+0+");",3000);
+               loadDataCsh(sCshFile);
+               gbLoadWnd=true;
+               return false;
+       }
+       else
+               return true;
+}
+
+function SwitchURL()
+{
+       if(gbURLReady)
+       {
+               var sURL="";
+               var oWnd=null;
+               if(gsTopicURL)
+               {
+                       sURL=_getPath(document.location.href)+gHomePage+"#"+gsTopicURL;
+                       oWnd=goWnd;
+               }
+               else
+               {
+                       if(gnCommand!=-1)
+                               sURL=_getPath(document.location.href)+gHomePage+"#>>cmd="+gnCommand;
+                       else
+                               sURL=_getPath(document.location.href)+gHomePage;
+                       oWnd=goFullWnd;
+               }
+               if(gsWindow)
+               {
+                       if(!IsWndReady())
+                               return false;
+                       if(gaProj[gnCurProj].aWnd)
+                       {
+                               var aWnd=gaProj[gnCurProj].aWnd;
+                               var bFound=false;
+                               for(var i=0;i<aWnd.length;i++)
+                               {
+                                       if(aWnd[i].sName.toLowerCase()==gsWindow.toLowerCase())
+                                       {
+                                               oWnd=aWnd[i];
+                                               bFound=true;
+                                               break;
+                                       }
+                               }
+                               if(!bFound&&gnCurProj!=0)
+                               {
+                                       var aWnd=gaProj[0].aWnd;
+                                       for(var j=0;j<aWnd.length;j++)
+                                       {
+                                               if(aWnd[j].sName.toLowerCase()==gsWindow.toLowerCase())
+                                               {
+                                                       oWnd=aWnd[j];
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               if(sURL&&oWnd)
+               {
+                       strURLOpt="";
+                       if(oWnd.sCaption)
+                               strURLOpt+=">>cap="+oWnd.sCaption;
+                       if(oWnd.nPanes==1)
+                               strURLOpt+=">>pan="+oWnd.nPanes;
+                       else if(oWnd.nPanes==2)
+                       {
+                               strURLOpt+=">>pan="+oWnd.nPanes;
+                               if(oWnd.nPOptions)
+                                       strURLOpt+=">>pot="+oWnd.nPOptions;
+                               if(oWnd.sPButtons)
+                                       strURLOpt+=">>pbs="+oWnd.sPButtons;
+                               if(oWnd.sPDefBtn)
+                                       strURLOpt+=">>pdb="+oWnd.sPDefBtn;
+                       }
+                       if(strURLOpt)
+                       {
+                               if(sURL.indexOf("#")==-1)
+                                       sURL+="#";
+                               sURL+=strURLOpt;
+                       }
+                       if(gsJava=="false")
+                       {
+                               var strOpt=getBrowserOptionString(oWnd);
+                               var sNewName=convertWindowName(oWnd.sName);
+                               if(gbNav4)
+                               {
+                                       if (gbNav6)
+                                       {
+                                               gsURL = sURL;
+                                               goNewWnd=window.open("about:blank",sNewName,strOpt);
+                                               setTimeout("postWindowNSOpen();",100);
+                                       }
+                                       else
+                                       {
+                                               window.open("about:blank",sNewName,strOpt);
+                                               var oNewWnd=window.open(sURL,sNewName);
+                                               window.close();
+                                               oNewWnd.focus();
+                                       }
+                               }
+                               else
+                               {
+                                       if(gbIE5)
+                                       {
+                                               window.open("about:blank",sNewName,strOpt);
+                                               goNewWnd=window.open(sURL,sNewName);
+                                       }
+                                       else
+                                       {
+                                               gsURL = sURL; // IE4 had hard time to handle bookmark.
+                                               goNewWnd=window.open("about:blank",sNewName,strOpt);
+                                       }
+                                       setTimeout("postWindowOpen();",100);
+                               }
+                       }
+                       else
+                               document.location=sURL;
+               }
+       }
+}
+
+function convertWindowName(strName)
+{
+       var strNewName = strName;
+       var strResultName = "";
+       var re=new RegExp("_","g");
+       strNewName = strName.replace(re,"__");
+       for (var i=0;i<strNewName.length;i++)
+               if (!(strNewName[i] == '_' ||
+                       (strNewName[i] <= '9' && strNewName[i] >= '0') ||
+                       (strNewName[i] <= 'z' && strNewName[i] >= 'a') ||
+                       (strNewName[i] <= 'Z' && strNewName[i] >= 'A')))
+               {
+                       strResultName += "_" + strNewName.charCodeAt(i);
+               }
+               else
+                       strResultName += strNewName[i];
+       return strResultName;
+}
+
+function postWindowNSOpen()
+{
+       if(goNewWnd)
+       {
+               if (gsURL)
+                       goNewWnd.document.location.href=gsURL;
+               window.close();
+               goNewWnd.focus();
+       }
+}
+
+function postWindowOpen()
+{
+       if(goNewWnd)
+       {
+               if (gsURL&&!gbIE5&&gbIE4)
+                       goNewWnd.document.location.href=gsURL;
+               goNewWnd.focus();
+       }
+}
+
+function parseParam(sParam)
+{
+       if(sParam)
+       {
+               var nBPos=0;
+               do
+               {
+                       var nPos=sParam.indexOf(">>",nBPos);
+                       if(nPos!=-1)
+                       {
+                               if(nPos>0)
+                               {
+                                       var sPart=sParam.substring(nBPos,nPos);
+                                       parsePart(sPart);
+                               }
+                               nBPos=nPos+2;
+                       }
+                       else
+                       {
+                               var sPart=sParam.substring(nBPos);
+                               parsePart(sPart);
+                               break;
+                       }
+               }while(nBPos<sParam.length);
+       }
+}
+
+function parsePart(sPart)
+{
+       if(sPart.toLowerCase().indexOf("id=")==0)
+       {
+               fetchURLById(sPart.substring(3));
+               gbURLReady=false;
+       }
+       else if(sPart.toLowerCase().indexOf("str=")==0)
+       {
+               fetchURLByStr(sPart.substring(4));
+               gbURLReady=false;
+       }
+       else if(sPart.toLowerCase().indexOf("url=")==0)
+       {
+               gsTopicURL=sPart.substring(4);
+               gbURLReady=true;
+       }
+       else if(sPart.toLowerCase().indexOf("cmd=")==0)
+       {
+               var sCmd=sPart.substring(4);
+               if(sCmd.toLowerCase()=="toc")
+               {
+                       gnCommand=CMD_SHOWTOC;
+               }
+               else if(sCmd.toLowerCase()=="idx")
+               {
+                       gnCommand=CMD_SHOWINDEX;
+               }
+               else if(sCmd.toLowerCase()=="fts")
+               {
+                       gnCommand=CMD_SHOWSEARCH;
+               }
+               else if(sCmd.toLowerCase()=="glo")
+               {
+                       gnCommand=CMD_SHOWGLOSSARY;
+               }
+               else if(sCmd.toLowerCase()=="none")
+               {
+                       gnCommand=CMD_SHOWNONE;
+               }
+               gbURLReady=true;
+       }
+       else if(sPart.toLowerCase().indexOf("wnd=")==0)
+       {
+               gsWindow=_browserStringToText(sPart.substring(4));
+       }
+       else if(sPart.toLowerCase().indexOf("java=")==0)
+       {
+               gsJava=sPart.substring(5);
+       }
+}
+
+function fetchURLById(sId)
+{
+       var nId=parseInt(sId);
+       gsTopicURL="";
+       fetchURL("",nId,false);
+}
+
+function fetchURLByStr(sStr)
+{
+       gsTopicURL="";
+       fetchURL(sStr,0,true);
+}
+
+function fetchURL(sStr,nId,bUseStr)
+{
+       var bNeedLoad=false;
+       var bFound=false;
+       for(var i=0;i<gaProj.length;i++)
+       {
+               if(gaProj[i].nLoadState==3)
+               {
+                       if(gaProj[i].aCsh)
+                       {
+                               for(var j=0;j<gaProj[i].aCsh.length;j++)
+                               {
+                                       var sTopicURL="";
+                                       if(bUseStr)
+                                       {
+                                               if(gaProj[i].aCsh[j].strAliasId.toLowerCase()==sStr.toLowerCase())
+                                                       sTopicURL=gaProj[i].aCsh[j].strUrl;
+                                       }
+                                       else
+                                       {
+                                               if(gaProj[i].aCsh[j].nTopicNum==nId)
+                                                       sTopicURL=gaProj[i].aCsh[j].strUrl;
+                                       }
+                                       if(sTopicURL)
+                                       {
+                                               if(i!=0)
+                                               {
+                                                       gnCurProj=i;
+                                                       if(gaProj[i].sProjPath.indexOf(gaProj[0].sProjPath)==0)
+                                                       {
+                                                               var sRelPath=gaProj[i].sProjPath.substring(gaProj[0].sProjPath.length);
+                                                               gsTopicURL=sRelPath+sTopicURL;
+                                                       }
+                                                       else
+                                                               gsTopicURL=gaProj[i].sProjPath+sTopicURL;
+                                               }
+                                               else
+                                                       gsTopicURL=sTopicURL;
+                                               bFound=true;
+                                               break;
+                                       }
+                               }
+                       }
+                       
+               }
+               else if(gaProj[i].nLoadState==0)
+               {
+                       gsStr=sStr;
+                       gnId=nId;
+                       gbUseStr=bUseStr;
+                       var sCshFile=_getFullPath(gaProj[i].sProjPath,gCSHFileName);
+                       gaProj[i].nLoadState=1;
+                       setTimeout("loadFail("+i+");",3000);
+                       loadDataCsh(sCshFile);
+                       bNeedLoad=true;
+               }
+               if(bFound||bNeedLoad)
+                       break;
+       }
+       if(!bNeedLoad)
+       {
+               gbURLReady=true;
+               SwitchURL();
+       }
+}
+
+function loadDataCsh(sFile)
+{
+       if(gbIE4||gbNav61)
+               loadData(sFile);
+       else
+       {
+               window.frames[0].location=sFile;
+       }
+}
+
+function loadFail(nProj)
+{
+       if(gaProj[nProj].nLoadState==1)
+       {
+               gaProj[nProj].nLoadState=2;
+               if(!gbLoadWnd)
+                       fetchURL(gsStr,gnId,gbUseStr);
+               else
+                       SwitchURL();
+       }
+}
+
+function putCshData(strProj,aCsh,aWnd,aRmtProj)
+{
+       if(strProj)
+       {
+               strProj=_replaceSlash(strProj);
+               if(strProj.lastIndexOf("/")!=strProj.length-1)
+                       strProj+="/";
+               for(var i=0;i<gaProj.length;i++)
+               {
+                       if(gaProj[i].sProjPath)
+                       {
+                               if(isSamePath(gaProj[i].sProjPath,strProj))
+                               {
+                                       gaProj[i].nLoadState=3;
+                                       gaProj[i].aCsh=aCsh;
+                                       gaProj[i].aWnd=aWnd;
+                                       break;
+                               }
+                       }
+               }
+               if(aRmtProj&&aRmtProj.length)
+               {
+                       for(var j=0;j<aRmtProj.length;j++)
+                       {
+                               var strRPath=_getFullPath(strProj,aRmtProj[j]);
+                               var bFound=false;
+                               for (var k=0;k<gaProj.length;k++)
+                               {
+                                       if(gaProj[k].sProjPath)
+                                       {
+                                               if(isSamePath(gaProj[k].sProjPath,strRPath))
+                                               {
+                                                       bFound=true;
+                                                       break;
+                                               }
+                                       }
+                               }
+                               if(!bFound)
+                               {
+                                       var len=gaProj.length;
+                                       gaProj[len]=new Object();
+                                       gaProj[len].sProjPath=strRPath;
+                                       gaProj[len].nLoadState=0;
+                               }
+                       }
+               }
+               if(!gbLoadWnd)
+                       fetchURL(gsStr,gnId,gbUseStr);
+               else
+                       SwitchURL();
+                       
+       }
+}
+
+function isSamePath(strPath1,strPath2)
+{
+       return strPath1.toLowerCase()==strPath2.toLowerCase();
+}
+
+function getRelHomePage(strLocation)
+{
+       var strCurPPath=_getPath(strLocation);
+       var strOriPPath=_getPath(getHomePage());
+       var strRelPath=_getRelativeFileName(strOriPPath,strCurPPath);
+       var strURL=getHomePage()+"#"+strRelPath;
+       return strURL;
+}
+
+function getHomePage()
+{
+       var strHomePage;
+       var strTmp=location.toString();
+       var nPos=strTmp.indexOf("#");
+       if(nPos!=-1)
+       {
+               strHomePage=strTmp.substring(0,nPos);
+       }
+       else
+       {
+               strHomePage=strTmp;
+       }
+       return strHomePage;
+}
+
+function getBrowserOptionString(oWnd)
+{
+       var strOpts="";
+       if(oWnd.bUseDefault)
+               return strOpts;
+       if(oWnd.nBOptions&RHWO_LOCATION)
+               strOpts+="location=yes";
+       else
+               strOpts+="location=no";
+       if(oWnd.nBOptions&RHWO_TOOLBAR)
+               strOpts+=",toolbar=yes";                
+       else
+               strOpts+=",toolbar=no";         
+       if(oWnd.nBOptions&RHWO_MENUBAR)
+               strOpts+=",menubar=yes";                
+       else
+               strOpts+=",menubar=no";
+       if(oWnd.nBOptions&RHWO_STATUS)
+               strOpts+=",status=yes";         
+       else
+               strOpts+=",status=no";          
+       if(oWnd.nBOptions&RHWO_SCROLLBARS)
+               strOpts+=",scrollbars=yes";
+       else
+               strOpts+=",scrollbars=no";      
+       if(oWnd.nBOptions&RHWO_RESIZABLE)
+               strOpts+=",resizable=yes";
+       else
+               strOpts+=",resizable=no";
+       if(oWnd.sBTop)
+       {
+               var nTop=getSValue(oWnd.sBTop,screen.height);
+               strOpts+=",top="+nTop;
+               strOpts+=",screenY="+nTop;
+       }
+       if(oWnd.sBLeft)
+       {
+               var nLeft=getSValue(oWnd.sBLeft,screen.width);
+               strOpts+=",left="+nLeft;
+               strOpts+=",screenX="+nLeft;
+       }
+       if(oWnd.sBWidth)
+       {
+               var nWidth=getSValue(oWnd.sBWidth,screen.width);
+               strOpts+=",width="+nWidth;
+               strOpts+=",outerWidth="+nWidth;
+       }
+       if(oWnd.sBHeight)
+       {
+               var nHeight=getSValue(oWnd.sBHeight,screen.height);
+               strOpts+=",height="+nHeight;
+               strOpts+=",outerHeight="+nHeight;
+       }
+       return strOpts;
+}
+
+function getSValue(sValue,nLength)
+{
+       var nValue=0;
+       var nPos=sValue.indexOf("%");
+       if(nPos!=-1)
+       {
+               if(nPos>0)
+               {
+                       var nPart=parseInt(sValue.substring(0,nPos));
+                       nValue=nLength*nPart/100;
+               }
+       }
+       else
+               nValue=parseInt(sValue);
+       return nValue;
+}
+
+
+window.onload=window_OnLoad;
+
+function window_OnLoad()
+{
+       if(document.location.hash.length>0)
+       {
+               showCSH(document.location.hash.substring(1));
+       }
+
+       if(gsJava=="false")
+               window.moveTo(screen.width,screen.height);
+}
+//-->
+</script>
+</html>
index 14d55202c35bfc29df081c10ab7ab1af7c95c7ab..a21983910a8bd4a6b6b5e120aad682ec73a38226 100755 (executable)
@@ -1,87 +1,87 @@
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript1.2" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="JavaScript">\r
-<!--\r
-var gaCsh=new Array();\r
-\r
-var gaWindow=new Array();\r
-\r
-var gaRmtProj=new Array();\r
-\r
-var gsProjPath=_getPath(document.location.href);\r
-\r
-function CshEntityItem(strAliasId,nTopicNum,strUrl)\r
-{\r
-       this.strAliasId=strAliasId;\r
-       this.nTopicNum=nTopicNum;\r
-       this.strUrl=strUrl;\r
-}\r
-\r
-function CshWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn)\r
-{\r
-       this.sName=sWName;\r
-       this.bUseDefault=bBUseDefault;\r
-       if(!this.bUseDefault)\r
-       {\r
-               this.nBOptions=nWBOptions;\r
-               this.sBLeft=sWBLeft;\r
-               this.sBTop=sWBTop;\r
-               this.sBWidth=sWBWidth;\r
-               this.sBHeight=sWBHeight;\r
-       }\r
-       this.sCaption=sWCaption;\r
-       this.nPanes=nWPanes;\r
-       if(this.nPanes==2)\r
-       {\r
-               this.nPOptions=nWPOptions;\r
-               this.sPButtons=sWPButtons;\r
-               this.sPDefBtn=sWPDefBtn;\r
-       }\r
-}\r
-\r
-function addRemoteProject(sPath)\r
-{\r
-       if(sPath.length!=0)\r
-       {\r
-               if(sPath.lastIndexOf("/")!=sPath.length-1)\r
-                       sPath+="/";\r
-               gaRmtProj[gaRmtProj.length]=sPath;      \r
-       }\r
-}\r
-\r
-//Set Context-sensitive help entity...\r
-function SetCsh(n,strAliasId,nTopicNum,strUrl)\r
-{\r
-       gaCsh[n]=new CshEntityItem(strAliasId,nTopicNum,strUrl);\r
-}\r
-\r
-function addWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn)\r
-{\r
-       gaWindow[gaWindow.length]=new CshWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn);\r
-}\r
-\r
-\r
-\r
-\r
-\r
-window.onload=window_OnLoad;\r
-\r
-function window_OnLoad()\r
-{\r
-       if(parent&&parent!=this&&parent.putCshData)\r
-       {\r
-               parent.putCshData(gsProjPath,gaCsh,gaWindow,gaRmtProj);\r
-       }\r
-}\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript1.2" src="whver.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="JavaScript">
+<!--
+var gaCsh=new Array();
+
+var gaWindow=new Array();
+
+var gaRmtProj=new Array();
+
+var gsProjPath=_getPath(document.location.href);
+
+function CshEntityItem(strAliasId,nTopicNum,strUrl)
+{
+       this.strAliasId=strAliasId;
+       this.nTopicNum=nTopicNum;
+       this.strUrl=strUrl;
+}
+
+function CshWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn)
+{
+       this.sName=sWName;
+       this.bUseDefault=bBUseDefault;
+       if(!this.bUseDefault)
+       {
+               this.nBOptions=nWBOptions;
+               this.sBLeft=sWBLeft;
+               this.sBTop=sWBTop;
+               this.sBWidth=sWBWidth;
+               this.sBHeight=sWBHeight;
+       }
+       this.sCaption=sWCaption;
+       this.nPanes=nWPanes;
+       if(this.nPanes==2)
+       {
+               this.nPOptions=nWPOptions;
+               this.sPButtons=sWPButtons;
+               this.sPDefBtn=sWPDefBtn;
+       }
+}
+
+function addRemoteProject(sPath)
+{
+       if(sPath.length!=0)
+       {
+               if(sPath.lastIndexOf("/")!=sPath.length-1)
+                       sPath+="/";
+               gaRmtProj[gaRmtProj.length]=sPath;      
+       }
+}
+
+//Set Context-sensitive help entity...
+function SetCsh(n,strAliasId,nTopicNum,strUrl)
+{
+       gaCsh[n]=new CshEntityItem(strAliasId,nTopicNum,strUrl);
+}
+
+function addWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn)
+{
+       gaWindow[gaWindow.length]=new CshWindow(sWName,bBUseDefault,nWBOptions,sWBLeft,sWBTop,sWBWidth,sWBHeight,sWCaption,nWPanes,nWPOptions,sWPButtons,sWPDefBtn);
+}
+
+
+
+
+
+window.onload=window_OnLoad;
+
+function window_OnLoad()
+{
+       if(parent&&parent!=this&&parent.putCshData)
+       {
+               parent.putCshData(gsProjPath,gaCsh,gaWindow,gaRmtProj);
+       }
+}
+//-->
+</script>
+</body>
+</html>
index 1bca23603e8bb45f725f9126337d185dcf6ec10f..3983ccbdd0d39556d4cee966f73cc1a7cd8502b8 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<title>Navigator Pane</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body border=0 topmargin=0 bottommargin=0 rightmargin=0 leftmargin=0 scroll=no>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whphost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsNavReDirect="whgdata/whnvp30.htm";\r
-var gbReDirectThis=false;\r
-  var bPreferXML             = false;\r
-  var strProjectFileXML =  "whproj.xml";\r
-  var strProjectFileHTM =  "whproj.htm";       \r
-if(window.gbWhPHost)\r
-{\r
-         addProject(bPreferXML, strProjectFileXML, strProjectFileHTM);\r
-         addPane("toc","whtdhtml.htm");\r
-  addPane("fts","whfdhtml.htm");\r
-  addPane("glo","whgdhtml.htm");\r
-  setShowPane("toc");\r
-\r
-}\r
-else\r
-       document.location.reload();\r
-\r
-if (window.gbNav6)\r
-{\r
-       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-//-->\r
-</script>\r
-</body>\r
+<html>
+<head>
+<title>Navigator Pane</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body border=0 topmargin=0 bottommargin=0 rightmargin=0 leftmargin=0 scroll=no>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whphost.js"></script>
+<script language="javascript1.2">
+<!--
+var gsNavReDirect="whgdata/whnvp30.htm";
+var gbReDirectThis=false;
+  var bPreferXML             = false;
+  var strProjectFileXML =  "whproj.xml";
+  var strProjectFileHTM =  "whproj.htm";       
+if(window.gbWhPHost)
+{
+         addProject(bPreferXML, strProjectFileXML, strProjectFileHTM);
+         addPane("toc","whtdhtml.htm");
+  addPane("fts","whfdhtml.htm");
+  addPane("glo","whgdhtml.htm");
+  setShowPane("toc");
+
+}
+else
+       document.location.reload();
+
+if (window.gbNav6)
+{
+       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);
+       SendMessage(oMsg);
+}
+
+//-->
+</script>
+</body>
 </html>
\ No newline at end of file
index a57fe1e490457bdbc9302baae604ab38bf135133..05b5f908c41504ce854f515542cfe9d085c2ea6e 100755 (executable)
@@ -1,15 +1,15 @@
-<html>\r
-<head>\r
-<title>Navigation Pane</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-</head>\r
-<frameset rows="30, *" border="0" frameborder="0">\r
-       <frame name="navtabs" title="tab selection frame" src="whd_tabs.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="navpane" title="navigation frame" src="whd_dpns.htm" ></frame>\r
-</frameset>\r
-</html>\r
+<html>
+<head>
+<title>Navigation Pane</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+</head>
+<frameset rows="30, *" border="0" frameborder="0">
+       <frame name="navtabs" title="tab selection frame" src="whd_tabs.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="navpane" title="navigation frame" src="whd_dpns.htm" ></frame>
+</frameset>
+</html>
index c5754bc41e7b4e3908283ef3bf13c215ccc00147..23c23dc4fc553ef5753f6723aae08a4ce080652b 100755 (executable)
-<html>\r
-<head>\r
-<title>navigation pane</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsInitPane="toc";\r
-var gsCurrentPane="";\r
-var gbLoading = "unknown";\r
-var gbTryTime = 0;\r
-var gbMaxTryTime = 6;\r
-var gbPassPhase0 = 0;\r
-var gbretried = 0;\r
-var gbmaxretry = 3;\r
-var gbretrytime = new Array();\r
-\r
-var origWidth = 0;\r
-var origHeight = 0;\r
-\r
-gbretrytime[0]= 5000;\r
-gbretrytime[1]= 30000;\r
-gbretrytime[2]= 60000;\r
-\r
-function addPane(sName, sFile)\r
-{\r
-}\r
-\r
-function setShowPane(sName)\r
-{\r
-       gsInitPane=sName;\r
-}\r
-\r
-  addPane("toc","whtdhtml.htm");\r
-  addPane("fts","whfdhtml.htm");\r
-  addPane("glo","whgdhtml.htm");\r
-  setShowPane("toc");\r
-\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
-       UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
-       UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
-       UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
-       UnRegisterListener2(this, WH_MSG_SYNCTOC);\r
-       UnRegisterListener2(this, WH_MSG_SEARCHTHIS);\r
-       UnRegisterListener2(this, WH_MSG_GETPANEINFO);\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       var bHidePane=false;\r
-       var oMsg=new whMessage(WH_MSG_GETCMD,this,1,null);\r
-       if (SendMessage(oMsg))\r
-       {\r
-               if(oMsg.oParam>0)\r
-               {\r
-                       if(oMsg.oParam==1)\r
-                               gsInitPane="toc";\r
-                       else if(oMsg.oParam==2)\r
-                               gsInitPane="idx";\r
-                       else if(oMsg.oParam==3)\r
-                               gsInitPane="fts";\r
-                       else if(oMsg.oParam==4)\r
-                               gsInitPane="glo";\r
-               }\r
-               else if(oMsg.oParam==0)\r
-               {\r
-                       bHidePane=true;\r
-               }\r
-       }\r
-       if (bHidePane)\r
-       {\r
-               oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null)\r
-               SendMessage(oMsg);\r
-       }\r
-       else if (gsInitPane == "toc")\r
-       {\r
-               oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)\r
-               SendMessage(oMsg);      \r
-       }\r
-       else if (gsInitPane=="idx")\r
-       {\r
-               oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
-               SendMessage(oMsg);      \r
-       }\r
-       else if (gsInitPane=="fts")\r
-       {\r
-               oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)\r
-               SendMessage(oMsg);      \r
-       }\r
-       else if (gsInitPane=="glo")\r
-       {\r
-               oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
-               SendMessage(oMsg);      \r
-       }\r
-}\r
-\r
-function CheckLoadingPhase0()\r
-{\r
-       if (!gbPassPhase0) {\r
-               setTimeout("CheckLoadingPhase0()", 1000);\r
-               document.applets[0];\r
-               gbPassPhase0 = 1;\r
-       }\r
-       else {\r
-               CheckLoadingPhase1();\r
-       }\r
-}\r
-\r
-function CheckLoadingPhase1()\r
-{\r
-       if (gbNav4) {\r
-               if ("unknown" == gbLoading && document.readystate < 4) {\r
-                       setTimeout("CheckLoadingPhase1()", 1000);\r
-               }\r
-               else if ("unknown" == gbLoading) {\r
-                       CheckLoadingPhase2();\r
-               }\r
-       }\r
-}\r
-\r
-function CheckLoadingPhase2()\r
-{\r
-       if (gbNav4) {\r
-               gbTryTime ++;\r
-               if ("unknown" == gbLoading) {\r
-                       if (gbTryTime <= gbMaxTryTime )\r
-                               setTimeout("CheckLoadingPhase2()", 1000);\r
-                       else {\r
-                               if (gnVerMinor != 4.60) {\r
-                                       alert("Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited.");\r
-                               }\r
-                       }       \r
-               }\r
-       }\r
-}\r
-\r
-function CheckAppletLoaded()\r
-{\r
-       if (typeof(document.webhelp) == "undefined")\r
-       {\r
-               document.location.reload();\r
-               if (gbretried < gbmaxretry)\r
-               {\r
-                       gbretried ++;\r
-                       setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);\r
-               }\r
-       }\r
-}\r
-\r
-function reDo() \r
-{\r
-       if (innerWidth != origWidth || innerHeight != origHeight)  \r
-       {\r
-               //reloaded applet if nessary\r
-               gbretried = 0;\r
-\r
-               if (gnVerMinor == 4.60) \r
-               {\r
-                       //reload the applet again.\r
-                       document.location.reload();\r
-                       gbretried ++;\r
-               }\r
-               setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);\r
-       }\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if (oMsg)\r
-       {       \r
-               var nMsgId = oMsg.nMessageId;\r
-               var WebHelpApplet = null;\r
-               if (gbNav4)\r
-               {\r
-                       WebHelpApplet = document.applets["WebHelp"];\r
-                       if (!WebHelpApplet.Command)\r
-                               document.location="whgdata/whnvp30.htm";\r
-               }\r
-               else\r
-                       WebHelpApplet = WebHelp;\r
-\r
-               if(nMsgId==WH_MSG_GETPANEINFO)\r
-               {\r
-                       oMsg.oParam=gsCurrentPane;\r
-                       return false;\r
-               }\r
-               else if (gbLoading!="unknown"||gbNav6)\r
-               {\r
-                       if (nMsgId == WH_MSG_SHOWTOC)\r
-                       {\r
-                               gsCurrentPane="toc";\r
-                               WebHelpApplet .Command("Contents", null);\r
-                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");\r
-                               SendMessage(onMsg);\r
-                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                               SendMessage(onMsg);\r
-                       }\r
-                       else if (nMsgId == WH_MSG_SHOWIDX)\r
-                       {\r
-                               gsCurrentPane="idx";\r
-                               WebHelpApplet .Command("Index", null);\r
-                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");\r
-                               SendMessage(onMsg);\r
-                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                               SendMessage(onMsg);\r
-                       }\r
-                       else if (nMsgId == WH_MSG_SHOWFTS)\r
-                       {\r
-                               gsCurrentPane="fts";\r
-                               WebHelpApplet .Command("Search", null);\r
-                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");\r
-                               SendMessage(onMsg);\r
-                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                               SendMessage(onMsg);\r
-                       }\r
-                       else if (nMsgId == WH_MSG_SHOWGLO)\r
-                       {\r
-                               gsCurrentPane="glo";\r
-                               WebHelpApplet .Command("Glossary", null);\r
-                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");\r
-                               SendMessage(onMsg);\r
-                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                               SendMessage(onMsg);\r
-                       }\r
-                       else if (nMsgId == WH_MSG_SYNCTOC)\r
-                       {\r
-                               gsCurrentPane="toc";\r
-                               var oTopicParam = oMsg.oParam;\r
-                               if (oTopicParam && oTopicParam.aPaths && oTopicParam.aPaths.length > 0 && oTopicParam.sPPath)\r
-                               {\r
-                                       var sPPath = _browserStringToText(oTopicParam.sPPath);\r
-                                       var sParam = "";\r
-                                       for (var i = 0; i < oTopicParam.aPaths.length; i ++)\r
-                                       {\r
-                                               sParam += oTopicParam.aPaths[i] + "\r\r";\r
-                                       }\r
-                                       WebHelpApplet.Command("SyncToc", sPPath,  sParam);\r
-                               }\r
-                       }\r
-                       else if(nMsgId==WH_MSG_SEARCHTHIS)\r
-                       {\r
-                               gsCurrentPane="fts";\r
-                               WebHelpApplet .Command("Search", oMsg.oParam);\r
-                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");\r
-                               SendMessage(onMsg);\r
-                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                               SendMessage(onMsg);\r
-                       }\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-function getInitTocInfo()\r
-{\r
-       // send message ask for the first time sync toc info.\r
-       var oParam = new Object();\r
-       oParam.oTocInfo = null;\r
-       var oMsg = new whMessage(WH_MSG_GETTOCPATHS, this, 1, oParam);\r
-       if (SendMessage(oMsg ))\r
-       {\r
-               var oTopicParam = oMsg.oParam.oTocInfo;\r
-               if (oTopicParam && oTopicParam.aPaths && oTopicParam.aPaths.length > 0 && oTopicParam.sPPath)\r
-               {\r
-                       var sPPath = _browserStringToText(oTopicParam.sPPath);\r
-                       var sParam = "";\r
-                       for (var i = 0; i < oTopicParam.aPaths.length; i ++)\r
-                       {\r
-                               sParam += oTopicParam.aPaths[i] + "\r\r";\r
-                       }\r
-                       var WebHelpApplet;\r
-                       if (gbNav4)\r
-                               WebHelpApplet = document.applets["WebHelp"];\r
-                       else\r
-                               WebHelpApplet = WebHelp;\r
-                       WebHelpApplet.Command("SyncToc", sPPath,  sParam);\r
-               }\r
-       }\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
-       RegisterListener2(this, WH_MSG_SHOWTOC);\r
-       RegisterListener2(this, WH_MSG_SHOWIDX);\r
-       RegisterListener2(this, WH_MSG_SHOWFTS);\r
-       RegisterListener2(this, WH_MSG_SHOWGLO);\r
-       RegisterListener2(this, WH_MSG_SYNCTOC);\r
-       RegisterListener2(this, WH_MSG_SEARCHTHIS);\r
-       RegisterListener2(this, WH_MSG_GETPANEINFO);\r
-\r
-       window.onunload = window_unload;\r
-       window.onload=window_OnLoad;\r
-       window.onerror = null;\r
-       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));\r
-\r
-       if (gbNav4 && !gbNav6 && gbWindows) {\r
-               setTimeout("CheckLoadingPhase0()", 1000);\r
-       }\r
-\r
-       if (gbNav4) \r
-       {\r
-               origWidth = innerWidth;\r
-               origHeight = innerHeight;\r
-               onresize = reDo;\r
-       }\r
-}\r
-else\r
-       document.location.reload();\r
-\r
-if (window.gbNav6)\r
-{\r
-       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" bgcolor="c0c0c0">\r
-<applet code=WebHelp.class name=WebHelp  archive=webhelp.jar width=100% height=100% MAYSCRIPT hspace=0 vspace=0>\r
-<PARAM name=ProjectFile value=whproj.xml><PARAM name=ResourceFile value=whres.xml>\r
-<PARAM name=Frame value=bsscright>\r
-<PARAM name=cabbase value=webhelp.cab>\r
-</applet>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>navigation pane</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2">
+<!--
+var gsInitPane="toc";
+var gsCurrentPane="";
+var gbLoading = "unknown";
+var gbTryTime = 0;
+var gbMaxTryTime = 6;
+var gbPassPhase0 = 0;
+var gbretried = 0;
+var gbmaxretry = 3;
+var gbretrytime = new Array();
+
+var origWidth = 0;
+var origHeight = 0;
+
+gbretrytime[0]= 5000;
+gbretrytime[1]= 30000;
+gbretrytime[2]= 60000;
+
+function addPane(sName, sFile)
+{
+}
+
+function setShowPane(sName)
+{
+       gsInitPane=sName;
+}
+
+  addPane("toc","whtdhtml.htm");
+  addPane("fts","whfdhtml.htm");
+  addPane("glo","whgdhtml.htm");
+  setShowPane("toc");
+
+
+function window_unload()
+{
+       UnRegisterListener2(this, WH_MSG_SHOWTOC);
+       UnRegisterListener2(this, WH_MSG_SHOWIDX);
+       UnRegisterListener2(this, WH_MSG_SHOWFTS);
+       UnRegisterListener2(this, WH_MSG_SHOWGLO);
+       UnRegisterListener2(this, WH_MSG_SYNCTOC);
+       UnRegisterListener2(this, WH_MSG_SEARCHTHIS);
+       UnRegisterListener2(this, WH_MSG_GETPANEINFO);
+}
+
+function window_OnLoad()
+{
+       var bHidePane=false;
+       var oMsg=new whMessage(WH_MSG_GETCMD,this,1,null);
+       if (SendMessage(oMsg))
+       {
+               if(oMsg.oParam>0)
+               {
+                       if(oMsg.oParam==1)
+                               gsInitPane="toc";
+                       else if(oMsg.oParam==2)
+                               gsInitPane="idx";
+                       else if(oMsg.oParam==3)
+                               gsInitPane="fts";
+                       else if(oMsg.oParam==4)
+                               gsInitPane="glo";
+               }
+               else if(oMsg.oParam==0)
+               {
+                       bHidePane=true;
+               }
+       }
+       if (bHidePane)
+       {
+               oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null)
+               SendMessage(oMsg);
+       }
+       else if (gsInitPane == "toc")
+       {
+               oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)
+               SendMessage(oMsg);      
+       }
+       else if (gsInitPane=="idx")
+       {
+               oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)
+               SendMessage(oMsg);      
+       }
+       else if (gsInitPane=="fts")
+       {
+               oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)
+               SendMessage(oMsg);      
+       }
+       else if (gsInitPane=="glo")
+       {
+               oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)
+               SendMessage(oMsg);      
+       }
+}
+
+function CheckLoadingPhase0()
+{
+       if (!gbPassPhase0) {
+               setTimeout("CheckLoadingPhase0()", 1000);
+               document.applets[0];
+               gbPassPhase0 = 1;
+       }
+       else {
+               CheckLoadingPhase1();
+       }
+}
+
+function CheckLoadingPhase1()
+{
+       if (gbNav4) {
+               if ("unknown" == gbLoading && document.readystate < 4) {
+                       setTimeout("CheckLoadingPhase1()", 1000);
+               }
+               else if ("unknown" == gbLoading) {
+                       CheckLoadingPhase2();
+               }
+       }
+}
+
+function CheckLoadingPhase2()
+{
+       if (gbNav4) {
+               gbTryTime ++;
+               if ("unknown" == gbLoading) {
+                       if (gbTryTime <= gbMaxTryTime )
+                               setTimeout("CheckLoadingPhase2()", 1000);
+                       else {
+                               if (gnVerMinor != 4.60) {
+                                       alert("Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited.");
+                               }
+                       }       
+               }
+       }
+}
+
+function CheckAppletLoaded()
+{
+       if (typeof(document.webhelp) == "undefined")
+       {
+               document.location.reload();
+               if (gbretried < gbmaxretry)
+               {
+                       gbretried ++;
+                       setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);
+               }
+       }
+}
+
+function reDo() 
+{
+       if (innerWidth != origWidth || innerHeight != origHeight)  
+       {
+               //reloaded applet if nessary
+               gbretried = 0;
+
+               if (gnVerMinor == 4.60) 
+               {
+                       //reload the applet again.
+                       document.location.reload();
+                       gbretried ++;
+               }
+               setTimeout("CheckAppletLoaded();", gbretrytime[gbretried]);
+       }
+}
+
+function onSendMessage(oMsg)
+{
+       if (oMsg)
+       {       
+               var nMsgId = oMsg.nMessageId;
+               var WebHelpApplet = null;
+               if (gbNav4)
+               {
+                       WebHelpApplet = document.applets["WebHelp"];
+                       if (!WebHelpApplet.Command)
+                               document.location="whgdata/whnvp30.htm";
+               }
+               else
+                       WebHelpApplet = WebHelp;
+
+               if(nMsgId==WH_MSG_GETPANEINFO)
+               {
+                       oMsg.oParam=gsCurrentPane;
+                       return false;
+               }
+               else if (gbLoading!="unknown"||gbNav6)
+               {
+                       if (nMsgId == WH_MSG_SHOWTOC)
+                       {
+                               gsCurrentPane="toc";
+                               WebHelpApplet .Command("Contents", null);
+                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");
+                               SendMessage(onMsg);
+                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                               SendMessage(onMsg);
+                       }
+                       else if (nMsgId == WH_MSG_SHOWIDX)
+                       {
+                               gsCurrentPane="idx";
+                               WebHelpApplet .Command("Index", null);
+                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");
+                               SendMessage(onMsg);
+                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                               SendMessage(onMsg);
+                       }
+                       else if (nMsgId == WH_MSG_SHOWFTS)
+                       {
+                               gsCurrentPane="fts";
+                               WebHelpApplet .Command("Search", null);
+                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");
+                               SendMessage(onMsg);
+                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                               SendMessage(onMsg);
+                       }
+                       else if (nMsgId == WH_MSG_SHOWGLO)
+                       {
+                               gsCurrentPane="glo";
+                               WebHelpApplet .Command("Glossary", null);
+                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");
+                               SendMessage(onMsg);
+                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                               SendMessage(onMsg);
+                       }
+                       else if (nMsgId == WH_MSG_SYNCTOC)
+                       {
+                               gsCurrentPane="toc";
+                               var oTopicParam = oMsg.oParam;
+                               if (oTopicParam && oTopicParam.aPaths && oTopicParam.aPaths.length > 0 && oTopicParam.sPPath)
+                               {
+                                       var sPPath = _browserStringToText(oTopicParam.sPPath);
+                                       var sParam = "";
+                                       for (var i = 0; i < oTopicParam.aPaths.length; i ++)
+                                       {
+                                               sParam += oTopicParam.aPaths[i] + "\r\r";
+                                       }
+                                       WebHelpApplet.Command("SyncToc", sPPath,  sParam);
+                               }
+                       }
+                       else if(nMsgId==WH_MSG_SEARCHTHIS)
+                       {
+                               gsCurrentPane="fts";
+                               WebHelpApplet .Command("Search", oMsg.oParam);
+                               var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");
+                               SendMessage(onMsg);
+                               onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                               SendMessage(onMsg);
+                       }
+               }
+       }
+       return true;
+}
+
+function getInitTocInfo()
+{
+       // send message ask for the first time sync toc info.
+       var oParam = new Object();
+       oParam.oTocInfo = null;
+       var oMsg = new whMessage(WH_MSG_GETTOCPATHS, this, 1, oParam);
+       if (SendMessage(oMsg ))
+       {
+               var oTopicParam = oMsg.oParam.oTocInfo;
+               if (oTopicParam && oTopicParam.aPaths && oTopicParam.aPaths.length > 0 && oTopicParam.sPPath)
+               {
+                       var sPPath = _browserStringToText(oTopicParam.sPPath);
+                       var sParam = "";
+                       for (var i = 0; i < oTopicParam.aPaths.length; i ++)
+                       {
+                               sParam += oTopicParam.aPaths[i] + "\r\r";
+                       }
+                       var WebHelpApplet;
+                       if (gbNav4)
+                               WebHelpApplet = document.applets["WebHelp"];
+                       else
+                               WebHelpApplet = WebHelp;
+                       WebHelpApplet.Command("SyncToc", sPPath,  sParam);
+               }
+       }
+}
+
+if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
+{
+       RegisterListener2(this, WH_MSG_SHOWTOC);
+       RegisterListener2(this, WH_MSG_SHOWIDX);
+       RegisterListener2(this, WH_MSG_SHOWFTS);
+       RegisterListener2(this, WH_MSG_SHOWGLO);
+       RegisterListener2(this, WH_MSG_SYNCTOC);
+       RegisterListener2(this, WH_MSG_SEARCHTHIS);
+       RegisterListener2(this, WH_MSG_GETPANEINFO);
+
+       window.onunload = window_unload;
+       window.onload=window_OnLoad;
+       window.onerror = null;
+       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));
+
+       if (gbNav4 && !gbNav6 && gbWindows) {
+               setTimeout("CheckLoadingPhase0()", 1000);
+       }
+
+       if (gbNav4) 
+       {
+               origWidth = innerWidth;
+               origHeight = innerHeight;
+               onresize = reDo;
+       }
+}
+else
+       document.location.reload();
+
+if (window.gbNav6)
+{
+       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);
+       SendMessage(oMsg);
+}
+
+//-->
+</script>
+</head>
+<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" bgcolor="c0c0c0">
+<applet code=WebHelp.class name=WebHelp  archive=webhelp.jar width=100% height=100% MAYSCRIPT hspace=0 vspace=0>
+<PARAM name=ProjectFile value=whproj.xml><PARAM name=ResourceFile value=whres.xml>
+<PARAM name=Frame value=bsscright>
+<PARAM name=cabbase value=webhelp.cab>
+</applet>
+</body>
+</html>
index 1568f573ded24cf0708033cdbc36d069bea12727..e8c498c887f93ebf75aad6426b146b41ee40364e 100755 (executable)
-<HTML>\r
-<HEAD>\r
-<TITLE>WebHelp Tabs Frame in Navigation Pane</TITLE>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<!-- WebHelp version 5.10 -->\r
-</HEAD>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsBgColor="#c0c0c0"\r
-var gsBgImage="";\r
-var gnCurPane=0;\r
-var gsFirstPane="";\r
-var goTocFont=null;\r
-var goIdxFont=null;\r
-var goFtsFont=null;\r
-var goGloFont=null;\r
-var gPane=new Array();\r
-var gShowFirst=0;\r
-var gnTabType=0;\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
-       UnRegisterListener2(this,WH_MSG_SHOWIDX);\r
-       UnRegisterListener2(this,WH_MSG_SHOWFTS);\r
-       UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
-}\r
-\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Toc") goTocFont=vFont;\r
-       else if(sType=="Idx") goIdxFont=vFont;\r
-       else if(sType=="Fts") goFtsFont=vFont;\r
-       else if(sType=="Glo") goGloFont=vFont;\r
-}\r
-\r
-function TocWriteClassStyle()\r
-{\r
-       var sStyle="<STYLE TYPE='text/css'>";\r
-       sStyle+=".TextTabToc {"+getFontStyle(goTocFont)+"}";\r
-       sStyle+=".TextTabIdx {"+getFontStyle(goIdxFont)+"}";\r
-       sStyle+=".TextTabFts {"+getFontStyle(goFtsFont)+"}";\r
-       sStyle+=".TextTabGlo {"+getFontStyle(goGloFont)+"}";\r
-       sStyle+="A:hover {text-decoration:underline;}";\r
-       sStyle+="</STYLE>";\r
-       document.write(sStyle);\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       if(sBgColor!=null&&sBgColor.length>0)\r
-               gsBgColor=sBgColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       if(sBgImage!=null&&sBgImage.length>0)\r
-               gsBgImage=sBgImage;\r
-}\r
-\r
-function selectToc()\r
-{\r
-       var oMessage=new whMessage(WH_MSG_SHOWTOC,this,1,null);\r
-       SendMessage(oMessage);\r
-}\r
-\r
-function selectIdx()\r
-{\r
-       var oMessage=new whMessage(WH_MSG_SHOWIDX,this,1,null);\r
-       SendMessage(oMessage);\r
-}\r
-function selectFts()\r
-{\r
-       var oMessage=new whMessage(WH_MSG_SHOWFTS,this,1,null);\r
-       SendMessage(oMessage);\r
-}\r
-\r
-function selectGlo()\r
-{\r
-       var oMessage=new whMessage(WH_MSG_SHOWGLO,this,1,null);\r
-       SendMessage(oMessage);\r
-}\r
-\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_SHOWTOC)\r
-               {\r
-                       setTimeout("showTabByName(\"toc\");",1);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWIDX)\r
-               {\r
-                       setTimeout("showTabByName(\"idx\");",1);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWFTS)\r
-               {\r
-                       setTimeout("showTabByName(\"fts\");",1);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWGLO)\r
-               {\r
-                       setTimeout("showTabByName(\"glo\");",1);\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-function showTabByName(sTabName)\r
-{\r
-       for(var i=0;i<gPane.length;i++)\r
-       {\r
-               if(gPane[i]==sTabName)\r
-               {\r
-                       showTab(i);\r
-                       break;\r
-               }\r
-       }\r
-}\r
-\r
-function showTab(n)\r
-{\r
-       gnCurPane=n;\r
-       if(gnTabType==0)\r
-       {\r
-               if(n<gPane.length)\r
-               {\r
-                       if(document.images["TocTab"]&&document.images["TocTab"]!=null){\r
-                               if(gPane[n]=="toc")\r
-                                       document.images["TocTab"].src=getBtnImage("toc",1);\r
-                               else\r
-                                       document.images["TocTab"].src=getBtnImage("toc",0);\r
-                       }\r
-                       if(document.images["IndexTab"]&&document.images["IndexTab"]!=null){\r
-                               if(gPane[n]=="idx")\r
-                                       document.images["IndexTab"].src=getBtnImage("idx",1);\r
-                               else\r
-                                       document.images["IndexTab"].src=getBtnImage("idx",0);\r
-                       }\r
-                       if(document.images["FtsTab"]&&document.images["FtsTab"]!=null){\r
-                               if(gPane[n]=="fts")\r
-                                       document.images["FtsTab"].src=getBtnImage("fts",1);\r
-                               else\r
-                                       document.images["FtsTab"].src=getBtnImage("fts",0);\r
-                       }\r
-                       if(document.images["GloTab"]&&document.images["GloTab"]!=null){\r
-                               if(gPane[n]=="glo")\r
-                                       document.images["GloTab"].src=getBtnImage("glo",1);\r
-                               else\r
-                                       document.images["GloTab"].src=getBtnImage("glo",0);\r
-                       }\r
-               }\r
-       }\r
-       else if(gnTabType==1)\r
-       {\r
-       }\r
-       else if(gnTabType==2)\r
-       {\r
-               if(n<gPane.length)\r
-               {\r
-                       if(document.images["tabSelection"]!=null)\r
-                               document.images["tabSelection"].src=getMapImage(gPane[n]);\r
-               }\r
-       }\r
-}\r
-\r
-function addPane(sName)\r
-{\r
-       gPane[gPane.length]=sName;\r
-}\r
-\r
-function setShowPane(sName)\r
-{\r
-       if(gsFirstPane!="")\r
-               sName=gsFirstPane;\r
-       for(var i=0;i<gPane.length;i++)\r
-       {\r
-               if(gPane[i]==sName)\r
-                       gShowFirst=i;\r
-       }\r
-}\r
-\r
-function selectDefaultTab()\r
-{\r
-       showTab(gShowFirst);\r
-       if(document.body)\r
-       {\r
-               if(gsBgImage&&gsBgImage.length>0)\r
-               {\r
-                       document.body.background=gsBgImage;\r
-               }\r
-               if(gsBgColor&&gsBgColor.length>0)\r
-               {\r
-                       document.body.bgColor=gsBgColor;\r
-               }\r
-       }\r
-}\r
-\r
-function getTabsHTML()\r
-{\r
-       var sHTML="";\r
-       for(var i=0;i<gPane.length;i++)\r
-       {\r
-               if(gnTabType==0)\r
-                       sHTML+=getTabHTML(gPane[i]);\r
-               else if(gnTabType==1)\r
-               {\r
-                       if(sHTML.length>0)\r
-                       {\r
-                               sHTML+=getSeparator();\r
-                       }\r
-                       sHTML+=getTabHTMLText(gPane[i]);\r
-               }\r
-\r
-       }\r
-       return sHTML;\r
-}\r
-\r
-function getSeparator()\r
-{\r
-       var sSep="";\r
-       \r
-       return sSep;\r
-}\r
-\r
-function getTabHTML(sTabName)\r
-{\r
-       if (sTabName == "toc")\r
-               return "<a title=\"Contents\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\" onmouseover=\"mouseOverToc();\" onmouseout=\"mouseOutToc();\"><img name=\"TocTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";\r
-       else if (sTabName =="idx")\r
-               return "<a title=\"Index\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\" onmouseover=\"mouseOverIdx();\" onmouseout=\"mouseOutIdx();\"><img name=\"IndexTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";\r
-       else if (sTabName == "fts")\r
-               return "<a title=\"Search\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\" onmouseover=\"mouseOverFts();\" onmouseout=\"mouseOutFts();\"><img name=\"FtsTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";\r
-       else if (sTabName == "glo")\r
-               return "<a title=\"Glossary\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\"onmouseover=\"mouseOverGlo();\" onmouseout=\"mouseOutGlo();\"><img name=\"GloTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";\r
-       return "";\r
-}\r
-\r
-function mouseOverToc()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "toc")\r
-       {\r
-               sImg = getBtnImage("toc", 3);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("toc", 2);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["TocTab"].src = sImg;\r
-}\r
-\r
-function mouseOverIdx()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "idx")\r
-       {\r
-               sImg = getBtnImage("idx", 3);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("idx", 2);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["IndexTab"].src = sImg;\r
-}\r
-\r
-function mouseOverFts()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "fts")\r
-       {\r
-               sImg = getBtnImage("fts", 3);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("fts", 2);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["FtsTab"].src = sImg;\r
-}\r
-\r
-function mouseOverGlo()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "glo")\r
-       {\r
-               sImg = getBtnImage("glo", 3);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("glo", 2);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["GloTab"].src = sImg;\r
-}\r
-\r
-function mouseOutToc()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "toc")\r
-       {\r
-               sImg = getBtnImage("toc", 1);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("toc", 0);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["TocTab"].src = sImg;\r
-}\r
-\r
-function mouseOutIdx()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "idx")\r
-       {\r
-               sImg = getBtnImage("idx", 1);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("idx", 0);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["IndexTab"].src = sImg;\r
-}\r
-\r
-function mouseOutFts()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "fts")\r
-       {\r
-               sImg = getBtnImage("fts", 1);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("fts", 0);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["FtsTab"].src = sImg;\r
-}\r
-\r
-function mouseOutGlo()\r
-{\r
-       var sImg = "";\r
-       if (gPane[gnCurPane] == "glo")\r
-       {\r
-               sImg = getBtnImage("glo", 1);\r
-       }\r
-       else\r
-       {\r
-               sImg = getBtnImage("glo", 0);\r
-       }\r
-       if (sImg.length > 0)\r
-               document.images["GloTab"].src = sImg;\r
-}\r
-\r
-function getTabHTMLText(sTabName)\r
-{\r
-       if (sTabName == "toc")\r
-               return "<a class=\"TextTabToc\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\">Contents</a>&nbsp;";\r
-       else if (sTabName =="idx")\r
-               return "<a class=\"TextTabIdx\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\">Index</a>&nbsp;";\r
-       else if (sTabName == "fts")\r
-               return "<a class=\"TextTabFts\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\">Search</a>&nbsp;";\r
-       else if (sTabName == "glo")\r
-               return "<a class=\"TextTabGlo\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\">Glossary</a>&nbsp;";\r
-       return "";\r
-}\r
-\r
-function getImageMap()\r
-{\r
-       var sHTML = "<map name=\"tabSelectionMap\">";\r
-       for (var i = 0; i < gPane.length; i ++)\r
-       {\r
-               sHTML += getMapArea(gPane[i]);\r
-       }\r
-       sHTML += "</map>";\r
-       return sHTML;\r
-}\r
-\r
-function getMapArea(sTabName)\r
-{\r
-       if (sTabName == "toc")\r
-               return "<area title=\"Contents\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\">";\r
-       else if (sTabName =="idx")\r
-               return "<area title=\"Index\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\">";\r
-       else if (sTabName == "fts")\r
-               return "<area title=\"Search\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\">";\r
-       else if (sTabName == "glo")\r
-               return "<area title=\"Glossary\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\">";\r
-       return "";\r
-}\r
-\r
-function getBtnImage(sTabName, nStatus)\r
-{\r
-       if (sTabName == "toc")\r
-       {\r
-               if (nStatus == 0)\r
-                       return "whd_tab2.gif";\r
-               else if (nStatus == 1)\r
-                       return "whd_tab1.gif";\r
-               else if (nStatus == 2)\r
-                       return "";\r
-               else if (nStatus == 3)\r
-                       return "";\r
-       }\r
-       else if (sTabName =="idx")\r
-       {\r
-               if (nStatus == 0)\r
-                       return "whd_tab4.gif";\r
-               else if (nStatus == 1)\r
-                       return "whd_tab3.gif";\r
-               else if (nStatus == 2)\r
-                       return "";\r
-               else if (nStatus == 3)\r
-                       return "";\r
-       }\r
-       else if (sTabName == "fts")\r
-       {\r
-               if (nStatus == 0)\r
-                       return "whd_tab6.gif";\r
-               else if (nStatus == 1)\r
-                       return "whd_tab5.gif";\r
-               else if (nStatus == 2)\r
-                       return "";\r
-               else if (nStatus == 3)\r
-                       return "";\r
-       }\r
-       else if (sTabName == "glo")\r
-       {\r
-               if (nStatus == 0)\r
-                       return "whd_tab8.gif";\r
-               else if (nStatus == 1)\r
-                       return "whd_tab7.gif";\r
-               else if (nStatus == 2)\r
-                       return "";\r
-               else if (nStatus == 3)\r
-                       return "";\r
-       }\r
-       return "";\r
-}\r
-\r
-function getMapImage(sTabName)\r
-{\r
-       if (sTabName == "toc")\r
-               return "";\r
-       else if (sTabName =="idx")\r
-               return "";\r
-       else if (sTabName == "fts")\r
-               return "";\r
-       else if (sTabName == "glo")\r
-               return "";\r
-       return "";\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
-       window.onload = selectDefaultTab;\r
-       RegisterListener2(this, WH_MSG_SHOWTOC);\r
-       RegisterListener2(this, WH_MSG_SHOWIDX);\r
-       RegisterListener2(this, WH_MSG_SHOWFTS);\r
-       RegisterListener2(this, WH_MSG_SHOWGLO);\r
-       window.onunload = window_unload;\r
-       goTocFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
-       goIdxFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
-       goFtsFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
-       goGloFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
-\r
-       if (navigator.currentNavPen)\r
-               gsFirstPane = navigator.currentNavPen;\r
-\r
-       setBackgroundcolor("");\r
-       setBackground("whd_tab0.gif");\r
-       \r
-       \r
-       \r
-       \r
-         addPane("toc","whtdhtml.htm");\r
-  addPane("fts","whfdhtml.htm");\r
-  addPane("glo","whgdhtml.htm");\r
-  setShowPane("toc");\r
-\r
-\r
-       gnTabType = 0; // 0 button. // 1 text. // 2 image mapping.\r
-       TocWriteClassStyle();\r
-       var sHTML = "<body scroll=\"no\" bgcolor=\"#c0c0c0\"    background=\"whd_tab0.gif\" style=\"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0\">";\r
-       if (gPane.length > 0)\r
-       {\r
-               if (gnTabType == 0 || gnTabType == 1)\r
-               {\r
-                       sHTML += "<table width=\"100%\">";\r
-                       sHTML += "<tr>";\r
-                       sHTML += "<td>";\r
-                       sHTML += "<nobr>";\r
-                       sHTML += getTabsHTML();\r
-                       sHTML += "</nobr></td></tr>";\r
-                       sHTML += " <tr><td height=\"2\"></td></tr>";\r
-                       sHTML += "</table>";\r
-               }\r
-               else if (gnTabType == 2)\r
-               {\r
-                       sHTML += getImageMap();\r
-                       sHTML +="<img name=\"tabSelection\" src=\"" + getMapImage(gPane[0]) + "\" x-maintain-ratio=\"true\" usemap=\"#tabSelectionMap\"";\r
-                       if (gbIE)\r
-                               sHTML +=" style=\"border: none; width:px; height:px; float: none;\"";\r
-                       sHTML +=" width=\"\" height=\"\" border=\"0\">";\r
-               }\r
-       }\r
-       sHTML += "</body>";\r
-       document.write(sHTML);\r
-}\r
-else\r
-       document.location.reload();\r
-\r
-if (window.gbNav6)\r
-{\r
-       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);\r
-       SendMessage(oMsg);\r
-}\r
-//-->\r
-</script>\r
+<HTML>
+<HEAD>
+<TITLE>WebHelp Tabs Frame in Navigation Pane</TITLE>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<!-- WebHelp version 5.10 -->
+</HEAD>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2">
+<!--
+var gsBgColor="#c0c0c0"
+var gsBgImage="";
+var gnCurPane=0;
+var gsFirstPane="";
+var goTocFont=null;
+var goIdxFont=null;
+var goFtsFont=null;
+var goGloFont=null;
+var gPane=new Array();
+var gShowFirst=0;
+var gnTabType=0;
+
+function window_unload()
+{
+       UnRegisterListener2(this,WH_MSG_SHOWTOC);
+       UnRegisterListener2(this,WH_MSG_SHOWIDX);
+       UnRegisterListener2(this,WH_MSG_SHOWFTS);
+       UnRegisterListener2(this,WH_MSG_SHOWGLO);
+}
+
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Toc") goTocFont=vFont;
+       else if(sType=="Idx") goIdxFont=vFont;
+       else if(sType=="Fts") goFtsFont=vFont;
+       else if(sType=="Glo") goGloFont=vFont;
+}
+
+function TocWriteClassStyle()
+{
+       var sStyle="<STYLE TYPE='text/css'>";
+       sStyle+=".TextTabToc {"+getFontStyle(goTocFont)+"}";
+       sStyle+=".TextTabIdx {"+getFontStyle(goIdxFont)+"}";
+       sStyle+=".TextTabFts {"+getFontStyle(goFtsFont)+"}";
+       sStyle+=".TextTabGlo {"+getFontStyle(goGloFont)+"}";
+       sStyle+="A:hover {text-decoration:underline;}";
+       sStyle+="</STYLE>";
+       document.write(sStyle);
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       if(sBgColor!=null&&sBgColor.length>0)
+               gsBgColor=sBgColor;
+}
+
+function setBackground(sBgImage)
+{
+       if(sBgImage!=null&&sBgImage.length>0)
+               gsBgImage=sBgImage;
+}
+
+function selectToc()
+{
+       var oMessage=new whMessage(WH_MSG_SHOWTOC,this,1,null);
+       SendMessage(oMessage);
+}
+
+function selectIdx()
+{
+       var oMessage=new whMessage(WH_MSG_SHOWIDX,this,1,null);
+       SendMessage(oMessage);
+}
+function selectFts()
+{
+       var oMessage=new whMessage(WH_MSG_SHOWFTS,this,1,null);
+       SendMessage(oMessage);
+}
+
+function selectGlo()
+{
+       var oMessage=new whMessage(WH_MSG_SHOWGLO,this,1,null);
+       SendMessage(oMessage);
+}
+
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_SHOWTOC)
+               {
+                       setTimeout("showTabByName(\"toc\");",1);
+               }
+               else if(nMsgId==WH_MSG_SHOWIDX)
+               {
+                       setTimeout("showTabByName(\"idx\");",1);
+               }
+               else if(nMsgId==WH_MSG_SHOWFTS)
+               {
+                       setTimeout("showTabByName(\"fts\");",1);
+               }
+               else if(nMsgId==WH_MSG_SHOWGLO)
+               {
+                       setTimeout("showTabByName(\"glo\");",1);
+               }
+       }
+       return true;
+}
+
+function showTabByName(sTabName)
+{
+       for(var i=0;i<gPane.length;i++)
+       {
+               if(gPane[i]==sTabName)
+               {
+                       showTab(i);
+                       break;
+               }
+       }
+}
+
+function showTab(n)
+{
+       gnCurPane=n;
+       if(gnTabType==0)
+       {
+               if(n<gPane.length)
+               {
+                       if(document.images["TocTab"]&&document.images["TocTab"]!=null){
+                               if(gPane[n]=="toc")
+                                       document.images["TocTab"].src=getBtnImage("toc",1);
+                               else
+                                       document.images["TocTab"].src=getBtnImage("toc",0);
+                       }
+                       if(document.images["IndexTab"]&&document.images["IndexTab"]!=null){
+                               if(gPane[n]=="idx")
+                                       document.images["IndexTab"].src=getBtnImage("idx",1);
+                               else
+                                       document.images["IndexTab"].src=getBtnImage("idx",0);
+                       }
+                       if(document.images["FtsTab"]&&document.images["FtsTab"]!=null){
+                               if(gPane[n]=="fts")
+                                       document.images["FtsTab"].src=getBtnImage("fts",1);
+                               else
+                                       document.images["FtsTab"].src=getBtnImage("fts",0);
+                       }
+                       if(document.images["GloTab"]&&document.images["GloTab"]!=null){
+                               if(gPane[n]=="glo")
+                                       document.images["GloTab"].src=getBtnImage("glo",1);
+                               else
+                                       document.images["GloTab"].src=getBtnImage("glo",0);
+                       }
+               }
+       }
+       else if(gnTabType==1)
+       {
+       }
+       else if(gnTabType==2)
+       {
+               if(n<gPane.length)
+               {
+                       if(document.images["tabSelection"]!=null)
+                               document.images["tabSelection"].src=getMapImage(gPane[n]);
+               }
+       }
+}
+
+function addPane(sName)
+{
+       gPane[gPane.length]=sName;
+}
+
+function setShowPane(sName)
+{
+       if(gsFirstPane!="")
+               sName=gsFirstPane;
+       for(var i=0;i<gPane.length;i++)
+       {
+               if(gPane[i]==sName)
+                       gShowFirst=i;
+       }
+}
+
+function selectDefaultTab()
+{
+       showTab(gShowFirst);
+       if(document.body)
+       {
+               if(gsBgImage&&gsBgImage.length>0)
+               {
+                       document.body.background=gsBgImage;
+               }
+               if(gsBgColor&&gsBgColor.length>0)
+               {
+                       document.body.bgColor=gsBgColor;
+               }
+       }
+}
+
+function getTabsHTML()
+{
+       var sHTML="";
+       for(var i=0;i<gPane.length;i++)
+       {
+               if(gnTabType==0)
+                       sHTML+=getTabHTML(gPane[i]);
+               else if(gnTabType==1)
+               {
+                       if(sHTML.length>0)
+                       {
+                               sHTML+=getSeparator();
+                       }
+                       sHTML+=getTabHTMLText(gPane[i]);
+               }
+
+       }
+       return sHTML;
+}
+
+function getSeparator()
+{
+       var sSep="";
+       
+       return sSep;
+}
+
+function getTabHTML(sTabName)
+{
+       if (sTabName == "toc")
+               return "<a title=\"Contents\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\" onmouseover=\"mouseOverToc();\" onmouseout=\"mouseOutToc();\"><img name=\"TocTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";
+       else if (sTabName =="idx")
+               return "<a title=\"Index\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\" onmouseover=\"mouseOverIdx();\" onmouseout=\"mouseOutIdx();\"><img name=\"IndexTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";
+       else if (sTabName == "fts")
+               return "<a title=\"Search\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\" onmouseover=\"mouseOverFts();\" onmouseout=\"mouseOutFts();\"><img name=\"FtsTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";
+       else if (sTabName == "glo")
+               return "<a title=\"Glossary\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\"onmouseover=\"mouseOverGlo();\" onmouseout=\"mouseOutGlo();\"><img name=\"GloTab\" src=\"" + getBtnImage(sTabName, 0) + "\" border=\"0\"></a>";
+       return "";
+}
+
+function mouseOverToc()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "toc")
+       {
+               sImg = getBtnImage("toc", 3);
+       }
+       else
+       {
+               sImg = getBtnImage("toc", 2);
+       }
+       if (sImg.length > 0)
+               document.images["TocTab"].src = sImg;
+}
+
+function mouseOverIdx()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "idx")
+       {
+               sImg = getBtnImage("idx", 3);
+       }
+       else
+       {
+               sImg = getBtnImage("idx", 2);
+       }
+       if (sImg.length > 0)
+               document.images["IndexTab"].src = sImg;
+}
+
+function mouseOverFts()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "fts")
+       {
+               sImg = getBtnImage("fts", 3);
+       }
+       else
+       {
+               sImg = getBtnImage("fts", 2);
+       }
+       if (sImg.length > 0)
+               document.images["FtsTab"].src = sImg;
+}
+
+function mouseOverGlo()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "glo")
+       {
+               sImg = getBtnImage("glo", 3);
+       }
+       else
+       {
+               sImg = getBtnImage("glo", 2);
+       }
+       if (sImg.length > 0)
+               document.images["GloTab"].src = sImg;
+}
+
+function mouseOutToc()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "toc")
+       {
+               sImg = getBtnImage("toc", 1);
+       }
+       else
+       {
+               sImg = getBtnImage("toc", 0);
+       }
+       if (sImg.length > 0)
+               document.images["TocTab"].src = sImg;
+}
+
+function mouseOutIdx()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "idx")
+       {
+               sImg = getBtnImage("idx", 1);
+       }
+       else
+       {
+               sImg = getBtnImage("idx", 0);
+       }
+       if (sImg.length > 0)
+               document.images["IndexTab"].src = sImg;
+}
+
+function mouseOutFts()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "fts")
+       {
+               sImg = getBtnImage("fts", 1);
+       }
+       else
+       {
+               sImg = getBtnImage("fts", 0);
+       }
+       if (sImg.length > 0)
+               document.images["FtsTab"].src = sImg;
+}
+
+function mouseOutGlo()
+{
+       var sImg = "";
+       if (gPane[gnCurPane] == "glo")
+       {
+               sImg = getBtnImage("glo", 1);
+       }
+       else
+       {
+               sImg = getBtnImage("glo", 0);
+       }
+       if (sImg.length > 0)
+               document.images["GloTab"].src = sImg;
+}
+
+function getTabHTMLText(sTabName)
+{
+       if (sTabName == "toc")
+               return "<a class=\"TextTabToc\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\">Contents</a>&nbsp;";
+       else if (sTabName =="idx")
+               return "<a class=\"TextTabIdx\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\">Index</a>&nbsp;";
+       else if (sTabName == "fts")
+               return "<a class=\"TextTabFts\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\">Search</a>&nbsp;";
+       else if (sTabName == "glo")
+               return "<a class=\"TextTabGlo\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\">Glossary</a>&nbsp;";
+       return "";
+}
+
+function getImageMap()
+{
+       var sHTML = "<map name=\"tabSelectionMap\">";
+       for (var i = 0; i < gPane.length; i ++)
+       {
+               sHTML += getMapArea(gPane[i]);
+       }
+       sHTML += "</map>";
+       return sHTML;
+}
+
+function getMapArea(sTabName)
+{
+       if (sTabName == "toc")
+               return "<area title=\"Contents\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectToc();return false;\">";
+       else if (sTabName =="idx")
+               return "<area title=\"Index\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectIdx();return false;\">";
+       else if (sTabName == "fts")
+               return "<area title=\"Search\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectFts();return false;\">";
+       else if (sTabName == "glo")
+               return "<area title=\"Glossary\" shape=\"\" coords=\"\" href=\"javascript:void(0);\" onclick=\"selectGlo();return false;\">";
+       return "";
+}
+
+function getBtnImage(sTabName, nStatus)
+{
+       if (sTabName == "toc")
+       {
+               if (nStatus == 0)
+                       return "whd_tab2.gif";
+               else if (nStatus == 1)
+                       return "whd_tab1.gif";
+               else if (nStatus == 2)
+                       return "";
+               else if (nStatus == 3)
+                       return "";
+       }
+       else if (sTabName =="idx")
+       {
+               if (nStatus == 0)
+                       return "whd_tab4.gif";
+               else if (nStatus == 1)
+                       return "whd_tab3.gif";
+               else if (nStatus == 2)
+                       return "";
+               else if (nStatus == 3)
+                       return "";
+       }
+       else if (sTabName == "fts")
+       {
+               if (nStatus == 0)
+                       return "whd_tab6.gif";
+               else if (nStatus == 1)
+                       return "whd_tab5.gif";
+               else if (nStatus == 2)
+                       return "";
+               else if (nStatus == 3)
+                       return "";
+       }
+       else if (sTabName == "glo")
+       {
+               if (nStatus == 0)
+                       return "whd_tab8.gif";
+               else if (nStatus == 1)
+                       return "whd_tab7.gif";
+               else if (nStatus == 2)
+                       return "";
+               else if (nStatus == 3)
+                       return "";
+       }
+       return "";
+}
+
+function getMapImage(sTabName)
+{
+       if (sTabName == "toc")
+               return "";
+       else if (sTabName =="idx")
+               return "";
+       else if (sTabName == "fts")
+               return "";
+       else if (sTabName == "glo")
+               return "";
+       return "";
+}
+
+if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
+{
+       window.onload = selectDefaultTab;
+       RegisterListener2(this, WH_MSG_SHOWTOC);
+       RegisterListener2(this, WH_MSG_SHOWIDX);
+       RegisterListener2(this, WH_MSG_SHOWFTS);
+       RegisterListener2(this, WH_MSG_SHOWGLO);
+       window.onunload = window_unload;
+       goTocFont=new whFont("Arial","9pt","#000000","normal","normal","none");
+       goIdxFont=new whFont("Arial","9pt","#000000","normal","normal","none");
+       goFtsFont=new whFont("Arial","9pt","#000000","normal","normal","none");
+       goGloFont=new whFont("Arial","9pt","#000000","normal","normal","none");
+
+       if (navigator.currentNavPen)
+               gsFirstPane = navigator.currentNavPen;
+
+       setBackgroundcolor("");
+       setBackground("whd_tab0.gif");
+       
+       
+       
+       
+         addPane("toc","whtdhtml.htm");
+  addPane("fts","whfdhtml.htm");
+  addPane("glo","whgdhtml.htm");
+  setShowPane("toc");
+
+
+       gnTabType = 0; // 0 button. // 1 text. // 2 image mapping.
+       TocWriteClassStyle();
+       var sHTML = "<body scroll=\"no\" bgcolor=\"#c0c0c0\"    background=\"whd_tab0.gif\" style=\"margin-top:0;margin-bottom:0;margin-left:0;margin-right:0\">";
+       if (gPane.length > 0)
+       {
+               if (gnTabType == 0 || gnTabType == 1)
+               {
+                       sHTML += "<table width=\"100%\">";
+                       sHTML += "<tr>";
+                       sHTML += "<td>";
+                       sHTML += "<nobr>";
+                       sHTML += getTabsHTML();
+                       sHTML += "</nobr></td></tr>";
+                       sHTML += " <tr><td height=\"2\"></td></tr>";
+                       sHTML += "</table>";
+               }
+               else if (gnTabType == 2)
+               {
+                       sHTML += getImageMap();
+                       sHTML +="<img name=\"tabSelection\" src=\"" + getMapImage(gPane[0]) + "\" x-maintain-ratio=\"true\" usemap=\"#tabSelectionMap\"";
+                       if (gbIE)
+                               sHTML +=" style=\"border: none; width:px; height:px; float: none;\"";
+                       sHTML +=" width=\"\" height=\"\" border=\"0\">";
+               }
+       }
+       sHTML += "</body>";
+       document.write(sHTML);
+}
+else
+       document.location.reload();
+
+if (window.gbNav6)
+{
+       var oMsg=new whMessage(WH_MSG_RELOADNS6,this, 1,null);
+       SendMessage(oMsg);
+}
+//-->
+</script>
 </HTML>
\ No newline at end of file
index 3f9a036867847517b1eab4503a4bd378178c0bd5..354aa6ece3d858dddee0810e042bebb83e857b0a 100755 (executable)
Binary files a/doc/salome/gui/SMESH/whd_toc4.gif and b/doc/salome/gui/SMESH/whd_toc4.gif differ
index a1b0320fbc70b4a97c46741a29fd7720fec70f53..b1946d7571f42c588c6682d636c7538369ff9532 100755 (executable)
@@ -1,85 +1,85 @@
-<?xml version='1.0' encoding='ISO-8859-1' ?>\r
-<topictemplate>\r
- <topic type="normal">\r
-  <add tag="head" pos="endbefore" >\r
-   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_MESSAGE_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_PROXY_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_TOPIC_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       ";\r
-         OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");\r
-         OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");\r
-         OutputInTopicNavBarDataButtons("addButton(\"%s\",%s, \"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",%d,%d);\r\n");\r
-       "\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       ";\r
-         OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");\r
-         OutputInTopicNavBarDataWebSearch.href("addSearchFormHref(\"%s\");\r\n");\r
-       "\r
-               autoSync(";WH_USER_OPTIONS.autosync_toc;");\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-"]]>\r
-  </add>\r
-  <add tag="body" pos="beginafter">\r
-    <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(";WH_WEBSKIN.topic.bar.top.pos;");\r
-//-->\r
-</script>"]]>  \r
-  </add>\r
-  <add tag="body" pos="endbefore">\r
-   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(";WH_WEBSKIN.topic.bar.bottom.pos;");\r
-//-->\r
-</script>";\r
-OutputInTopicNavBarDataWebSearch.form();]]>    \r
-  </add>\r
- </topic>\r
- <topic type="frameset">\r
-  <add tag="head" pos="endbefore" >\r
-   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_MESSAGE_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_FRAMESET_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_TOPIC_JS;"\"></script>\r
-<script type=\"text/javascript\" language=\"javascript1.2\">\r
-<!--\r
-if (window.setRelStartPage)\r
-{\r
-";\r
-  OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");\r
-  OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");\r
-  OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");\r
-"\r
-if (window.autoSync)\r
-       autoSync(1);\r
-}\r
-//-->\r
-</script>\r
-"]]>\r
-  </add>\r
- </topic>\r
-</topictemplate>\r
+<?xml version='1.0' encoding='ISO-8859-1' ?>
+<topictemplate>
+ <topic type="normal">
+  <add tag="head" pos="endbefore" >
+   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_MESSAGE_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_PROXY_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_TOPIC_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       ";
+         OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");
+         OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");
+         OutputInTopicNavBarDataButtons("addButton(\"%s\",%s, \"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",%d,%d);\r\n");
+       "
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       ";
+         OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");
+         OutputInTopicNavBarDataWebSearch.href("addSearchFormHref(\"%s\");\r\n");
+       "
+               autoSync(";WH_USER_OPTIONS.autosync_toc;");
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+"]]>
+  </add>
+  <add tag="body" pos="beginafter">
+    <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(";WH_WEBSKIN.topic.bar.top.pos;");
+//-->
+</script>"]]>  
+  </add>
+  <add tag="body" pos="endbefore">
+   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(";WH_WEBSKIN.topic.bar.bottom.pos;");
+//-->
+</script>";
+OutputInTopicNavBarDataWebSearch.form();]]>    
+  </add>
+ </topic>
+ <topic type="frameset">
+  <add tag="head" pos="endbefore" >
+   <![CDATA["<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_MESSAGE_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript\" src=\"";SF_VERSION_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_UTILS_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_FRAMESET_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\" src=\"";SF_TOPIC_JS;"\"></script>
+<script type=\"text/javascript\" language=\"javascript1.2\">
+<!--
+if (window.setRelStartPage)
+{
+";
+  OutputInTopicNavBarDataHomePage("setRelStartPage(\"%s\");\r\n");
+  OutputInTopicNavBarDataToc("addTocInfo(\"%s\");\r\n");
+  OutputInTopicNavBarDataBrowse("addAvenueInfo(\"%s\",\"%s\",\"%s\");\r\n");
+"
+if (window.autoSync)
+       autoSync(1);
+}
+//-->
+</script>
+"]]>
+  </add>
+ </topic>
+</topictemplate>
index 071ae6fc7e549e5e6662a61bb743f2341b1190c3..addf2622339fdf1538a21be965115e6dca70c19e 100755 (executable)
@@ -1,25 +1,25 @@
-//     WebHelp 5.10.001\r
-var gTEA = new Array();\r
-function aTE(sTopicTitle, sTopicURL)\r
-{\r
-       var len = gTEA.length;\r
-       gTEA[len] = new topicEntry(sTopicTitle, sTopicURL);\r
-}\r
-\r
-function topicEntry(sTopicTitle, sTopicURL)\r
-{\r
-       this.sTopicTitle = sTopicTitle;\r
-       this.sTopicURL = sTopicURL;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this) {\r
-               if (parent.putFtsTData) \r
-               {\r
-                       parent.putFtsTData(gTEA);\r
-               }\r
-       }\r
-}\r
-\r
+//     WebHelp 5.10.001
+var gTEA = new Array();
+function aTE(sTopicTitle, sTopicURL)
+{
+       var len = gTEA.length;
+       gTEA[len] = new topicEntry(sTopicTitle, sTopicURL);
+}
+
+function topicEntry(sTopicTitle, sTopicURL)
+{
+       this.sTopicTitle = sTopicTitle;
+       this.sTopicURL = sTopicURL;
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this) {
+               if (parent.putFtsTData) 
+               {
+                       parent.putFtsTData(gTEA);
+               }
+       }
+}
+
 window.onload = window_OnLoad;
\ No newline at end of file
index 140af1130c7c2b62fa5acf470b03e1ae104ebe05..78532ffdcf3ae2c8cbbdf8fe3c446509d9bdb02c 100755 (executable)
@@ -1,92 +1,95 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whftdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-aTE("About viewing meshes","about_viewing_meshes.htm");\r
-aTE("Adding Quadratic Nodes and Elements","adding_quadratic_nodes_and_elements.htm");\r
-aTE("Aspect ratio 3D","aspect_ratio_3d.htm");\r
-aTE("Borders at multi-connection","borders_at_multi-connection.htm");\r
-aTE("Borders at multiconnection 2D","borders_at_multiconnection_2d.htm");\r
-aTE("Clipping","clipping.htm");\r
-aTE("Constructing Meshes","constructing_meshes.htm");\r
-aTE("Convert to/from Quadratic Mesh","convert_to_from_quadratic_mesh.htm");\r
-aTE("Defining hypotheses TUI","defining_hypotheses_tui.htm");\r
-aTE("Deleting Groups","deleting_groups.htm");\r
-aTE("Display Entity","display_entity.htm");\r
-aTE("Extrusion","extrusion.htm");\r
-aTE("Extrusion along a path","extrusion_along_a_path.htm");\r
-aTE("About hypotheses","files/about_hypotheses.htm");\r
-aTE("About meshes","files/about_meshes.htm");\r
-aTE("About meshing algorithms","files/about_meshing_algorithms.htm");\r
-aTE("About quality controls","files/about_quality_controls.htm");\r
-aTE("Adding nodes and elements","files/adding_nodes_and_elements.htm");\r
-aTE("Area of elements","files/area_of_elements.htm");\r
-aTE("Arithmetic 1D","files/arithmetic_1d.htm");\r
-aTE("Aspect Ratio","files/aspect_ratio.htm");\r
-aTE("Changing orientation of elements","files/changing_orientation_of_elements.htm");\r
-aTE("Constructing groups of specific elements","files/constructing_groups_of_specific_elements.htm");\r
-aTE("Constructing meshes","files/constructing_meshes.htm");\r
-aTE("Constructing submeshes","files/constructing_submeshes.htm");\r
-aTE("Creating groups","files/creating_groups.htm");\r
-aTE("Cutting quadrangles","files/cutting_quadrangles.htm");\r
-aTE("Diagonal iversion of elements","files/diagonal_iversion_of_elements.htm");\r
-aTE("Displacing nodes","files/displacing_nodes.htm");\r
-aTE("Displaying nodes numbers","files/displaying_nodes_numbers.htm");\r
-aTE("Editing groups","files/editing_groups.htm");\r
-aTE("Importing and exporting meshes","files/importing_and_exporting_meshes.htm");\r
-aTE("Length of edges","files/length_of_edges.htm");\r
-aTE("Length from edges","files/max._element_area_hypothesis.htm");\r
-aTE("Non conform mesh allowed hypothesis","files/max._element_volume_hypothsis.htm");\r
-aTE("Merging nodes","files/merging_nodes.htm");\r
-aTE("Minimum angle","files/minimum_angle.htm");\r
-aTE("Non conform mesh allowed hypothesis","files/non_conform_mesh_allowed_hypothesis.htm");\r
-aTE("Reassigning hypotheses and algorithms","files/reassigning_hypotheses_and_algorithms.htm");\r
-aTE("Removing nodes and elements","files/removing_nodes_and_elements.htm");\r
-aTE("Renumbering nodes and elements","files/renumbering_nodes_and_elements.htm");\r
-aTE("Rotation","files/rotation.htm");\r
-aTE("Running SMESH module","files/running_smesh_module.htm");\r
-aTE("Sewing meshes","files/sewing_meshes.htm");\r
-aTE("Skew","files/skew.htm");\r
-aTE("Smoothing","files/smoothing.htm");\r
-aTE("Symmetry","files/symmetry.htm");\r
-aTE("Taper","files/taper.htm");\r
-aTE("Translation","files/translation.htm");\r
-aTE("Uniting a set of triangles","files/uniting_a_set_of_triangles.htm");\r
-aTE("Uniting two triangles","files/uniting_two_triangles.htm");\r
-aTE("Using operations on groups","files/using_operations_on_groups.htm");\r
-aTE("Viewing mesh info","files/viewing_mesh_info.htm");\r
-aTE("VTK 3D Viewer","files/vtk_3d_viewer.htm");\r
-aTE("Warp","files/warp.htm");\r
-aTE("Free borders","free_borders.htm");\r
-aTE("Free_edges","free_edges.htm");\r
-aTE("Grouping Elements","grouping_elements.htm");\r
-aTE("Length","length.htm");\r
-aTE("Merge Elements","merge_elements.htm");\r
-aTE("mesh","mesh.htm");\r
-aTE("Modifying Meshes","modifying_meshes.htm");\r
-aTE("SALOME - SMESH - v.version: Package smesh","namespacesmesh.html");\r
-aTE("Netgen 2D and 3D hypotheses","netgen_2d_and_3d_hypotheses.htm");\r
-aTE("Pattern mapping","pattern_mapping.htm");\r
-aTE("Presentation","presentation.htm");\r
-aTE("Quality Controls","quality_controls.htm");\r
-aTE("Revolution","revolution.htm");\r
-aTE("Selection filter library","selection_filter_library.htm");\r
-aTE("smesh.py_introduction","smesh.py_introduction.htm");\r
-aTE("Transforming Meshes","transforming_meshes.htm");\r
-aTE("Transparency","transparency.htm");\r
-aTE("Viewing Meshes","viewing_meshes.htm");\r
-aTE("Volume","volume.htm");\r
-\r
-//-->\r
-</script>\r
-</html>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whftdata.js"></script>
+<script language="javascript">
+<!--
+//-->
+</script>
+<script language="javascript">
+<!--
+aTE("About viewing meshes","about_viewing_meshes.htm");
+aTE("Adding Quadratic Nodes and Elements","adding_quadratic_nodes_and_elements.htm");
+aTE("Aspect ratio 3D","aspect_ratio_3d.htm");
+aTE("Borders at multi-connection","borders_at_multi-connection.htm");
+aTE("Borders at multiconnection 2D","borders_at_multiconnection_2d.htm");
+aTE("Clipping","clipping.htm");
+aTE("Constructing Meshes","constructing_meshes.htm");
+aTE("Convert to/from Quadratic Mesh","convert_to_from_quadratic_mesh.htm");
+aTE("Defining hypotheses TUI","defining_hypotheses_tui.htm");
+aTE("Deleting Groups","deleting_groups.htm");
+aTE("Display Entity","display_entity.htm");
+aTE("Extrusion","extrusion.htm");
+aTE("Extrusion along a path","extrusion_along_a_path.htm");
+aTE("About hypotheses","files/about_hypotheses.htm");
+aTE("About meshes","files/about_meshes.htm");
+aTE("About meshing algorithms","files/about_meshing_algorithms.htm");
+aTE("About quality controls","files/about_quality_controls.htm");
+aTE("Adding nodes and elements","files/adding_nodes_and_elements.htm");
+aTE("Area of elements","files/area_of_elements.htm");
+aTE("Arithmetic 1D","files/arithmetic_1d.htm");
+aTE("Aspect Ratio","files/aspect_ratio.htm");
+aTE("Changing orientation of elements","files/changing_orientation_of_elements.htm");
+aTE("Constructing groups of specific elements","files/constructing_groups_of_specific_elements.htm");
+aTE("Constructing meshes","files/constructing_meshes.htm");
+aTE("Constructing submeshes","files/constructing_submeshes.htm");
+aTE("Creating groups","files/creating_groups.htm");
+aTE("Cutting quadrangles","files/cutting_quadrangles.htm");
+aTE("Diagonal iversion of elements","files/diagonal_iversion_of_elements.htm");
+aTE("Displacing nodes","files/displacing_nodes.htm");
+aTE("Displaying nodes numbers","files/displaying_nodes_numbers.htm");
+aTE("Editing groups","files/editing_groups.htm");
+aTE("Importing and exporting meshes","files/importing_and_exporting_meshes.htm");
+aTE("Length of edges","files/length_of_edges.htm");
+aTE("Length from edges","files/max._element_area_hypothesis.htm");
+aTE("Non conform mesh allowed hypothesis","files/max._element_volume_hypothsis.htm");
+aTE("Merging nodes","files/merging_nodes.htm");
+aTE("Minimum angle","files/minimum_angle.htm");
+aTE("Non conform mesh allowed hypothesis","files/non_conform_mesh_allowed_hypothesis.htm");
+aTE("Reassigning hypotheses and algorithms","files/reassigning_hypotheses_and_algorithms.htm");
+aTE("Removing nodes and elements","files/removing_nodes_and_elements.htm");
+aTE("Renumbering nodes and elements","files/renumbering_nodes_and_elements.htm");
+aTE("Rotation","files/rotation.htm");
+aTE("Running SMESH module","files/running_smesh_module.htm");
+aTE("Sewing meshes","files/sewing_meshes.htm");
+aTE("Skew","files/skew.htm");
+aTE("Smoothing","files/smoothing.htm");
+aTE("Symmetry","files/symmetry.htm");
+aTE("Taper","files/taper.htm");
+aTE("Translation","files/translation.htm");
+aTE("Uniting a set of triangles","files/uniting_a_set_of_triangles.htm");
+aTE("Uniting two triangles","files/uniting_two_triangles.htm");
+aTE("Using operations on groups","files/using_operations_on_groups.htm");
+aTE("Viewing mesh info","files/viewing_mesh_info.htm");
+aTE("VTK 3D Viewer","files/vtk_3d_viewer.htm");
+aTE("Warp","files/warp.htm");
+aTE("Free borders","free_borders.htm");
+aTE("Free_edges","free_edges.htm");
+aTE("Grouping Elements","grouping_elements.htm");
+aTE("Length","length.htm");
+aTE("Merge Elements","merge_elements.htm");
+aTE("mesh","mesh.htm");
+aTE("Modifying Meshes","modifying_meshes.htm");
+aTE("SALOME - SMESH - v.version: Package smesh","namespacesmesh.html");
+aTE("Netgen 2D and 3D hypotheses","netgen_2d_and_3d_hypotheses.htm");
+aTE("Pattern mapping","pattern_mapping.htm");
+aTE("Presentation","presentation.htm");
+aTE("Prism 3D Algorithm","prism_3d_algorithm.htm");
+aTE("Projection Algorithms","projection_algorithms.htm");
+aTE("Quality Controls","quality_controls.htm");
+aTE("Radial Prism","radial_prism.htm");
+aTE("Revolution","revolution.htm");
+aTE("Selection filter library","selection_filter_library.htm");
+aTE("smesh.py_introduction","smesh.py_introduction.htm");
+aTE("Transforming Meshes","transforming_meshes.htm");
+aTE("Transparency","transparency.htm");
+aTE("Viewing Meshes","viewing_meshes.htm");
+aTE("Volume","volume.htm");
+
+//-->
+</script>
+</html>
index 15e5cf4898ed9228de1c2eeec83f14496f2afb9f..6e7f89e4d94a9356adfb19cd892753d030058baa 100755 (executable)
@@ -1,18 +1,18 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whfts.js"></script>\r
-<script language="javascript">\r
-<!--\r
-iWM("0","zoom","whfwdata0.htm");\r
-\r
-iTM(0,69,"whftdata0.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whfts.js"></script>
+<script language="javascript">
+<!--
+iWM("0","zoom","whfwdata0.htm");
+
+iTM(0,69,"whftdata0.htm");
+
+//-->
+</script>
+</body>
+</html>
index 2b6678690b7a693c0c61e06aba0adc9019bcc22e..54246f6938031837409f3ceb23041345784bd31a 100755 (executable)
@@ -1,40 +1,40 @@
-//     WebHelp 5.10.001\r
-var gaFileMapping = new Array();\r
-var gaFileTopicMapping = new Array();\r
-\r
-function fileMapping(sStartKey, sEndKey, sFileName)\r
-{\r
-       this.sStartKey = sStartKey;\r
-       this.sEndKey = sEndKey;\r
-       this.sFileName = sFileName;\r
-       this.aFtsKeys = null;\r
-}\r
-\r
-function fileTopicMapping(nIdBegin, nIdEnd, sFileName)\r
-{\r
-       this.nBegin = nIdBegin;\r
-       this.nEnd = nIdEnd;\r
-       this.sFileName = sFileName;\r
-       this.aTopics = null;\r
-}\r
-\r
-\r
-function iWM(sStartKey, sEndKey, sFileName)\r
-{\r
-       gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName);   \r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this && parent.ftsReady)\r
-       {\r
-               parent.ftsReady(gaFileMapping, gaFileTopicMapping);\r
-       }               \r
-}\r
-\r
-function iTM(nIdBegin, nIdEnd, sFileName)\r
-{\r
-       gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName);      \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+//     WebHelp 5.10.001
+var gaFileMapping = new Array();
+var gaFileTopicMapping = new Array();
+
+function fileMapping(sStartKey, sEndKey, sFileName)
+{
+       this.sStartKey = sStartKey;
+       this.sEndKey = sEndKey;
+       this.sFileName = sFileName;
+       this.aFtsKeys = null;
+}
+
+function fileTopicMapping(nIdBegin, nIdEnd, sFileName)
+{
+       this.nBegin = nIdBegin;
+       this.nEnd = nIdEnd;
+       this.sFileName = sFileName;
+       this.aTopics = null;
+}
+
+
+function iWM(sStartKey, sEndKey, sFileName)
+{
+       gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName);   
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this && parent.ftsReady)
+       {
+               parent.ftsReady(gaFileMapping, gaFileTopicMapping);
+       }               
+}
+
+function iTM(nIdBegin, nIdEnd, sFileName)
+{
+       gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName);      
+}
+
+window.onload = window_OnLoad;
index e9e8bc6c16ab72dcc99c44244a617054c73ba1ba..8340b59d555c0e3bf005ea6eebb11b2b60779906 100755 (executable)
@@ -1,37 +1,37 @@
-//     WebHelp 5.10.001\r
-var gWEA = new Array();\r
-function aWE()\r
-{\r
-       var len = gWEA.length;\r
-       gWEA[len] = new ftsEntry(aWE.arguments);\r
-}\r
-\r
-function ftsEntry(fn_arguments) \r
-{\r
-       if (fn_arguments.length && fn_arguments.length >= 1) \r
-       {\r
-               this.sItemName = fn_arguments[0];\r
-               this.aTopics = null;\r
-               var nLen = fn_arguments.length;\r
-               if (nLen > 1) \r
-               {\r
-                       this.aTopics = new Array();\r
-                       for (var i = 0; i < nLen - 1; i ++ )\r
-                       {\r
-                               this.aTopics[i] = fn_arguments[i + 1];\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this) {\r
-               if (parent.putFtsWData) \r
-               {\r
-                       parent.putFtsWData(gWEA);\r
-               }\r
-       }\r
-}\r
-\r
+//     WebHelp 5.10.001
+var gWEA = new Array();
+function aWE()
+{
+       var len = gWEA.length;
+       gWEA[len] = new ftsEntry(aWE.arguments);
+}
+
+function ftsEntry(fn_arguments) 
+{
+       if (fn_arguments.length && fn_arguments.length >= 1) 
+       {
+               this.sItemName = fn_arguments[0];
+               this.aTopics = null;
+               var nLen = fn_arguments.length;
+               if (nLen > 1) 
+               {
+                       this.aTopics = new Array();
+                       for (var i = 0; i < nLen - 1; i ++ )
+                       {
+                               this.aTopics[i] = fn_arguments[i + 1];
+                       }
+               }
+       }
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this) {
+               if (parent.putFtsWData) 
+               {
+                       parent.putFtsWData(gWEA);
+               }
+       }
+}
+
 window.onload = window_OnLoad;
\ No newline at end of file
index dd65b784d576e61621b6fa4b924b95609e6e2f16..b9fdacc03020c28b242d75e03f89d174aadb5c6c 100755 (executable)
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whfwdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
-//-->\r
-</script>\r
-<script language="javascript">\r
-<!--\r
-aWE("_grp",69);\r
-aWE("0",14,19,5,6,25,8,12,57,61,63,66,43,69,70,72);\r
-aWE("000001",66);\r
-aWE("001",70);\r
-aWE("0d",14);\r
-aWE("1",17,1,18,19,20,2,21,23,6,7,26,8,27,28,29,30,11,12,57,31,32,35,36,61,64,66,39,40,67,62,43,44,69,45,47,70,49,50,51,73,54);\r
-aWE("10",6,8,12,57,61,69,70,72);\r
-aWE("100",6,8,57,66,69,70);\r
-aWE("109",70);\r
-aWE("110",61);\r
-aWE("113",70);\r
-aWE("12",61,70);\r
-aWE("13",61);\r
-aWE("130",61);\r
-aWE("15",61,66,70);\r
-aWE("150",8,61,70);\r
-aWE("17",61);\r
-aWE("180",61);\r
-aWE("1d",13,14,15,16,19,23,6,8,11,12,60,61,63,37,66,67,69);\r
-aWE("1e",61,66);\r
-aWE("2",17,1,18,20,2,21,23,6,7,26,8,27,28,29,30,11,12,31,32,36,61,64,66,39,40,67,62,43,44,45,47,70,49,50,51,73,54);\r
-aWE("20",6,8,57,61,66,69,70,72);\r
-aWE("200",6,8,61,69);\r
-aWE("21",61,70);\r
-aWE("23",61,70);\r
-aWE("24",70);\r
-aWE("240",61);\r
-aWE("245",61);\r
-aWE("246",61);\r
-aWE("25",70);\r
-aWE("255",61);\r
-aWE("2d",13,14,15,16,18,20,4,23,6,8,11,12,57,33,32,60,36,63,64,66,67,43,69,70,54);\r
-aWE("3",14,18,20,21,23,6,7,26,8,27,28,11,12,57,31,61,63,64,66,39,40,67,62,43,44,69,45,70,49,50,72,54);\r
-aWE("30",8,61,63,70);\r
-aWE("300",6);\r
-aWE("3128",61);\r
-aWE("321",61);\r
-aWE("3265",61);\r
-aWE("3402",61);\r
-aWE("35",57,66);\r
-aWE("3658",61);\r
-aWE("38",61,66,70);\r
-aWE("39",61);\r
-aWE("3d",13,14,15,16,0,17,1,20,2,21,23,6,25,26,8,9,27,28,29,11,12,60,63,34,66,39,40,67,43,69,45,49,50,73,53);\r
-aWE("3e",66);\r
-aWE("3rd",14);\r
-aWE("3x3",61);\r
-aWE("4",14,18,20,23,6,26,8,28,12,31,61,64,66,62,43,44,47,70,54);\r
-aWE("40",57,61,69);\r
-aWE("405",61);\r
-aWE("406",61);\r
-aWE("45",12,61,70);\r
-aWE("47",61);\r
-aWE("492",61);\r
-aWE("493",61);\r
-aWE("5",5,6,8,61,66,70);\r
-aWE("50",8,61,70);\r
-aWE("502",61);\r
-aWE("503",61);\r
-aWE("58",70);\r
-aWE("5th",14);\r
-aWE("6",2,6,8,57,61,70);\r
-aWE("60",57,61,69);\r
-aWE("66632",61);\r
-aWE("69",70);\r
-aWE("7",6,8,57,61,66);\r
-aWE("70",8,61,70);\r
-aWE("71",70);\r
-aWE("72",70);\r
-aWE("73",61);\r
-aWE("8",57,61,66,70);\r
-aWE("80",61,69);\r
-aWE("800",6);\r
-aWE("814",61);\r
-aWE("850",61);\r
-aWE("859",61);\r
-aWE("89",70);\r
-aWE("9",61,70);\r
-aWE("90",70);\r
-aWE("900",6,72);\r
-aWE("91",70);\r
-aWE("92",70);\r
-aWE("95",66);\r
-aWE("9999",25);\r
-aWE("a_mesh",61);\r
-aWE("a10",61);\r
-aWE("a45",61);\r
-aWE("aa",61);\r
-aWE("abl",17,1,53);\r
-aWE("abord",66);\r
-aWE("aborder",66);\r
-aWE("abov",61,45);\r
-aWE("absent",51);\r
-aWE("absolute",71);\r
-aWE("abut",19);\r
-aWE("acces",0,68,53);\r
-aWE("accord",16,18,19,20,2,32,36,64,44,45,47,73,54);\r
-aWE("account",13,64);\r
-aWE("acomp",70);\r
-aWE("actual",63,37);\r
-aWE("ad",17,1,21,7,25,26,57,61,49,51);\r
-aWE("add",17,1,21,23,25,26,8,30,12,57,61,66,68,69,49);\r
-aWE("addedg",61);\r
-aWE("addfac",61);\r
-aWE("addhypothesi",61);\r
-aWE("addition",26,60,61);\r
-aWE("additional",13,14,23,8,37,64,42,68,45);\r
-aWE("addnod",61);\r
-aWE("addobject",57);\r
-aWE("addpolygonalfac",61);\r
-aWE("addpolyhedralvolum",61);\r
-aWE("addtostudy",6,8,57,61,66,69,70,72);\r
-aWE("addtostudyinfath",6,8,57,61);\r
-aWE("addvolum",61);\r
-aWE("adjacent",28,36,63,37,39,43,49);\r
-aWE("adjust",45);\r
-aWE("adjustabl",37);\r
-aWE("advanc",0,52);\r
-aWE("afilt",57,66);\r
-aWE("afiltermgr",57,61,66);\r
-aWE("afunctor",57,61,66);\r
-aWE("ageomgroup",57);\r
-aWE("agroup",57,66);\r
-aWE("agroup1",57);\r
-aWE("agroup2",57);\r
-aWE("agroup3",57);\r
-aWE("agroup4",57);\r
-aWE("agroup5",57);\r
-aWE("agroupelemid",57);\r
-aWE("agroupf",66);\r
-aWE("agroupmain",57);\r
-aWE("agroupn",66);\r
-aWE("agroupr",57);\r
-aWE("agrouptool",57);\r
-aWE("ai",19);\r
-aWE("al",61);\r
-aWE("algo",8,66,70);\r
-aWE("algo_local",6,8,70);\r
-aWE("algo1d",6,8,57,61,69,70,72);\r
-aWE("algo2d",6,8,61,69,70,72);\r
-aWE("algo3d",6,8,69,72);\r
-aWE("algorithm",13,14,15,16,0,18,23,6,24,8,12,33,60,61,63,34,64,38,43);\r
-aWE("allow",13,0,1,19,21,24,7,25,26,31,33,59,35,60,63,37,64,41,43,45,46,48,49,51,53);\r
-aWE("along",11,12,61,64,45,53);\r
-aWE("alternativ",23);\r
-aWE("alternative",0,1);\r
-aWE("alway",45);\r
-aWE("amesh",6);\r
-aWE("amesheditor",61,70);\r
-aWE("amount",3);\r
-aWE("analytic",19);\r
-aWE("aneditor",61,66,70);\r
-aWE("angl",16,5,26,12,60,36,61,66,67,41,44,70,49,54);\r
-aWE("angle270",70);\r
-aWE("angle45",61);\r
-aWE("angularity",12);\r
-aWE("anid",57,66);\r
-aWE("anoth",37);\r
-aWE("any",14,1,23,25,28,12,57,64,45);\r
-aWE("ap",15,17,1,18,20,2,21,5,23,7,25,26,8,9,27,28,30,11,12,32,59,60,36,61,64,38,39,40,67,43,44,45,46,47,49,50,51,73,54);\r
-aWE("api",69);\r
-aWE("apparent",23);\r
-aWE("appear",0,17,1,21,23,24,7,26,27,28,30,11,12,35,64,39,40,67,41,46,48,49,50,51);\r
-aWE("append",61);\r
-aWE("appli",18,19,20,2,23,24,33,32,36,37,34,38,68,44,45,47,73,54);\r
-aWE("applicabl",20,68);\r
-aWE("application",16,64);\r
-aWE("apply",13,0,23,24,25);\r
-aWE("applytomeshfac",61);\r
-aWE("approach",57,61,66,70);\r
-aWE("appropriat",23);\r
-aWE("approximate",19);\r
-aWE("apredicat",57,66);\r
-aWE("ar_margin",66);\r
-aWE("arc",8,70);\r
-aWE("arcsin",54);\r
-aWE("area",13,16,18,8,57,33,60,34,66,45,47,53);\r
-aWE("area_margin",66);\r
-aWE("arithmetic",13,19,6,8,60);\r
-aWE("arithmetic1d",6,8,70);\r
-aWE("around",5,12,67);\r
-aWE("array_of_nodes_group",70);\r
-aWE("asmeshgroup1",57);\r
-aWE("asmeshgroup2",57);\r
-aWE("aspect",16,20,2,60,66,45);\r
-aWE("assemb",69);\r
-aWE("assign",19,23,25,8,38,54);\r
-aWE("associat",17,29,39);\r
-aWE("attention",57,61,66,70);\r
-aWE("attribut",25);\r
-aWE("auto",5);\r
-aWE("automatic",13,19,23,60,64);\r
-aWE("automatical",0,19,21,23,26,28,49);\r
-aWE("availabl",43,53);\r
-aWE("averag",13,19,8,33,60,64,54);\r
-aWE("ax",53);\r
-aWE("axi",11,61,67,41,46,70,53,54);\r
-aWE("axisstruct",61,70);\r
-aWE("axisxyz",61,70);\r
-aWE("background",0);\r
-aWE("bar",16);\r
-aWE("bas",13,18,8,12,57,60,61,66,70,54);\r
-aWE("basi",14,23,24);\r
-aWE("basic",13,0);\r
-aWE("bb",61);\r
-aWE("becom",63,64);\r
-aWE("befor",68,70);\r
-aWE("begin",19,43);\r
-aWE("belong",3,4,25,55,56,43,51);\r
-aWE("below",61,63,69);\r
-aWE("berder",43);\r
-aWE("bet",20);\r
-aWE("binary",68);\r
-aWE("bisect",54);\r
-aWE("bisector",54);\r
-aWE("bit",68);\r
-aWE("black",0);\r
-aWE("blu",3);\r
-aWE("bmp",0,53);\r
-aWE("bog",19);\r
-aWE("boolean",61,51);\r
-aWE("bord",43,70);\r
-aWE("border",16,3,4,55,56,60,66,43,70);\r
-aWE("both",0,12,45,51);\r
-aWE("bottom",61,42);\r
-aWE("bound",14,64);\r
-aWE("boundari",64);\r
-aWE("boundary",13,25,64,43,45);\r
-aWE("box",17,1,19,21,23,6,24,7,26,8,27,28,30,11,12,57,31,59,35,63,64,66,39,40,67,41,42,68,43,69,45,46,70,48,49,50,51,52,72);\r
-aWE("box_1",61);\r
-aWE("box_cyl",69);\r
-aWE("box1",66,70);\r
-aWE("box2",66,70);\r
-aWE("broken",1,37);\r
-aWE("brown",25);\r
-aWE("brows",0,17,1,22,23,24,25,9,30,65,39,40,68,52);\r
-aWE("build",8,11,33,61,63,37,64,67,69);\r
-aWE("built",20,24,12,64,45);\r
-aWE("button",17,1,18,20,2,21,5,23,24,7,25,26,9,27,28,30,11,12,31,32,36,64,38,39,40,67,41,68,43,44,45,46,47,48,49,50,51,52,73,53,54);\r
-aWE("cad",14);\r
-aWE("cal",64);\r
-aWE("calculat",16,20,2,33,47);\r
-aWE("calculation",13,18,32,36);\r
-aWE("careful",39);\r
-aWE("cas",17,23,6,8,28,12,64,52);\r
-aWE("cc",61);\r
-aWE("cel",25,63,39,50);\r
-aWE("cent",12,45,53);\r
-aWE("central",12);\r
-aWE("centroid",45);\r
-aWE("centroidal",45);\r
-aWE("centroidal_smooth",61);\r
-aWE("certain",25,64);\r
-aWE("chang",0,19,21,6,28,61,37,38);\r
-aWE("characteristic",16);\r
-aWE("characteriz",14);\r
-aWE("check",25,63,66,43,53);\r
-aWE("checkbox",17,63,68,48);\r
-aWE("choic",13,23,64);\r
-aWE("choos",17,1,18,20,2,21,22,7,25,26,9,27,28,10,29,11,12,31,32,35,36,64,39,40,67,41,42,68,43,44,46,47,48,49,50,73,54);\r
-aWE("chosen",20,26,33,34,49);\r
-aWE("circl",12,70);\r
-aWE("circlemesh",70);\r
-aWE("circular",61);\r
-aWE("clas",62);\r
-aWE("clear",62,68);\r
-aWE("click",0,17,1,18,20,2,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,32,36,64,65,38,39,40,67,42,68,43,44,45,47,49,50,51,52,73,53,54);\r
-aWE("clip",0,5);\r
-aWE("clos",14,20,9,12,61,43);\r
-aWE("co",61,43);\r
-aWE("coars",19,7,63);\r
-aWE("coincid",59);\r
-aWE("coincident",12,59,35);\r
-aWE("color",16,0,18,20,2,25,32,36,44,47,73,53,54);\r
-aWE("combin",10,32,65,68);\r
-aWE("command",57,61,66,70);\r
-aWE("common",27,68,50);\r
-aWE("comp",66);\r
-aWE("compar",19,43);\r
-aWE("complete",59);\r
-aWE("complex",1,12);\r
-aWE("component",60,42);\r
-aWE("compos",13,14,15,16,0,19,2,29,33,34,44);\r
-aWE("compound",66);\r
-aWE("comput",0,19,23,6,8,57,61,64,66,43,69,70,72);\r
-aWE("computation",23,24,8,61);\r
-aWE("con",69);\r
-aWE("concept",37);\r
-aWE("condition",13,25);\r
-aWE("confirm",21,26,30,39,45,49,51);\r
-aWE("confirmation",25);\r
-aWE("conform",13,37,43,70);\r
-aWE("conformity",20);\r
-aWE("connect",19,26,45);\r
-aWE("connection",14,16,3,4,60,66);\r
-aWE("connectivity",64);\r
-aWE("consid",20,23);\r
-aWE("consider",14,20,2,43);\r
-aWE("consist",16,1,18,19,20,3,4,22,23,24,25,12,55,56,57,33,32,36,34,47);\r
-aWE("consol",52);\r
-aWE("constant",19);\r
-aWE("construct",15,19,22,23,6,24,38);\r
-aWE("construction",19,23,6,24);\r
-aWE("contain",14,15,21,23,24,25,26,12,31,33,64,45,49);\r
-aWE("content",9,53);\r
-aWE("continu",45);\r
-aWE("contour",14,43);\r
-aWE("contrast",49);\r
-aWE("control",16,0,18,20,2,3,4,26,55,56,58,32,60,36,66,44,47,49,73,54);\r
-aWE("converg",45);\r
-aWE("conversion",19,7);\r
-aWE("convert",7);\r
-aWE("coordinat",14,17,28,64,53);\r
-aWE("copi",70);\r
-aWE("copy",41,68,46,70,48);\r
-aWE("corn",1,54);\r
-aWE("corner",26,12,45,54);\r
-aWE("correspond",14,16,31,64,66,68,43,48);\r
-aWE("cos_bot",61);\r
-aWE("cos_top",61);\r
-aWE("cosal",61);\r
-aWE("cot",69);\r
-aWE("could",14,17);\r
-aWE("count",43);\r
-aWE("counterclockwis",64);\r
-aWE("cours",23);\r
-aWE("cover",12);\r
-aWE("creat",14,0,17,1,19,5,23,6,24,25,8,30,57,35,60,61,63,37,64,66,38,41,68,69,46,70,48,51,72,54);\r
-aWE("createarea",57,66);\r
-aWE("createaspectratio",66);\r
-aWE("createaspectratio3d",66);\r
-aWE("createemptymesh",61);\r
-aWE("createequalto",57,66);\r
-aWE("createfilt",57,66);\r
-aWE("createfiltermanag",57,61,66);\r
-aWE("createfreeborder",66);\r
-aWE("createfreeedg",66);\r
-aWE("creategroup",57,61,66,69);\r
-aWE("creategroupfromgeom",61);\r
-aWE("createhypothesi",61);\r
-aWE("createlength",66);\r
-aWE("createlength2d",66);\r
-aWE("createlessthan",57,66);\r
-aWE("createminimumangl",61,66);\r
-aWE("createmorethan",57,66);\r
-aWE("createmulticonnection",66);\r
-aWE("createmulticonnection2d",66);\r
-aWE("createpolyedr",70);\r
-aWE("createpolygon",70);\r
-aWE("createskew",66);\r
-aWE("createtap",66);\r
-aWE("createvolume3d",66);\r
-aWE("createwarp",66);\r
-aWE("creation",14,37,64,38,62,69,51);\r
-aWE("criteria",60,68);\r
-aWE("criterion",18,20,2,25,26,57,58,32,36,66,68,44,47,49,73,54);\r
-aWE("cros",0,5,54);\r
-aWE("cubic",15);\r
-aWE("current",21,23,26,63,38,68,43,49);\r
-aWE("curv",14,19,12,61);\r
-aWE("curvilinear",19,12);\r
-aWE("custom",63);\r
-aWE("cut",19,6,26,8,57,61,51);\r
-aWE("cutgroup",57);\r
-aWE("cyl",8,69);\r
-aWE("cylind",8,69);\r
-aWE("d",19);\r
-aWE("data",62);\r
-aWE("dd",61);\r
-aWE("deal",14);\r
-aWE("def",6,61,62);\r
-aWE("default",0,23,12,57,63,65,68,71,53);\r
-aWE("defin",14,15,1,19,20,5,23,6,24,25,8,12,61,63,37,64,62,43,69,70,53);\r
-aWE("definit",14,16,19,21,22,25,26,60,38,39,49);\r
-aWE("definition",0,19,6,12,33,63,34);\r
-aWE("deflection",13,19,8,60);\r
-aWE("deflection1d",8);\r
-aWE("deform",53);\r
-aWE("degre",20,5);\r
-aWE("delet",9,56,61,39,68);\r
-aWE("deletediag",61);\r
-aWE("deletion",39,50);\r
-aWE("density",19);\r
-aWE("depend",13,14,23,33,34);\r
-aWE("describ",14,15,64);\r
-aWE("description",64);\r
-aWE("desirabl",35);\r
-aWE("desktop",42);\r
-aWE("destin",14,16,60,62);\r
-aWE("detail",13,15,0);\r
-aWE("detalization",63);\r
-aWE("detect",35);\r
-aWE("dh",61);\r
-aWE("di1",69);\r
-aWE("diagonal",26,27,61,47);\r
-aWE("dialog",17,1,19,21,23,24,7,26,27,28,30,11,12,31,59,35,64,39,40,67,41,43,45,46,48,49,50,51);\r
-aWE("diamet",20);\r
-aWE("dif",1,63);\r
-aWE("differ",19);\r
-aWE("differenc",12,43);\r
-aWE("different",13,17,25,12,38,68,43);\r
-aWE("digit",12);\r
-aWE("dimension",14,2,23,11,63,67,52);\r
-aWE("direct",14,6,57,61,66,43,45,70);\r
-aWE("direction",12,64,54);\r
-aWE("dirstruct",61,70);\r
-aWE("discretiz",11,67);\r
-aWE("discretization",14,15);\r
-aWE("displac",28);\r
-aWE("display",16,0,1,18,20,2,3,21,23,24,25,26,28,10,29,55,32,36,65,44,45,47,49,52,73,53,54);\r
-aWE("distanc",19,5,64,53,54);\r
-aWE("distinguish",25);\r
-aWE("distortion",45);\r
-aWE("distribution",19);\r
-aWE("divid",19);\r
-aWE("do",17);\r
-aWE("docopy",70);\r
-aWE("documentation",62);\r
-aWE("doesn",57,61,66,70);\r
-aWE("domain",64);\r
-aWE("don",14,23,12,61,37,53);\r
-aWE("doubl",1);\r
-aWE("downward",53);\r
-aWE("dr",61);\r
-aWE("drag",53);\r
-aWE("drawn",53);\r
-aWE("dump",0,53);\r
-aWE("duplicat",12);\r
-aWE("dx",61);\r
-aWE("dy",61);\r
-aWE("e",20,23,24,26,12,63,64,43,49);\r
-aWE("e_arc",8);\r
-aWE("e_straight",8);\r
-aWE("e1",61);\r
-aWE("easi",22);\r
-aWE("easy",62);\r
-aWE("edg",13,14,15,16,0,17,1,19,20,3,4,22,23,6,25,26,8,27,28,10,12,55,56,57,58,33,32,60,61,63,37,64,66,68,43,45,70,49,50,72,54);\r
-aWE("edge_",61);\r
-aWE("edge_bezierrr",61);\r
-aWE("edge_bezierrr_mesh",61);\r
-aWE("edge_circl",61);\r
-aWE("edge_circle_mesh",61);\r
-aWE("edge_straight",61);\r
-aWE("edge_straight_mesh",61);\r
-aWE("edge1",70);\r
-aWE("edgeslist",70);\r
-aWE("edgex",6,8);\r
-aWE("edit",6,9,30,57,35,38);\r
-aWE("edition",62,69);\r
-aWE("editor_1",61);\r
-aWE("editor_2",61);\r
-aWE("editor_3",61);\r
-aWE("editor_4",61);\r
-aWE("editor_5",61);\r
-aWE("editor_6",61);\r
-aWE("editor_7",61);\r
-aWE("ee_1",61);\r
-aWE("ee_2",61);\r
-aWE("ee_3",61);\r
-aWE("ee_4",61);\r
-aWE("ee_5",61);\r
-aWE("ee_6",61);\r
-aWE("ee_7",61);\r
-aWE("effect",49);\r
-aWE("eith",64,43);\r
-aWE("element",13,14,15,16,0,17,1,18,19,20,2,4,21,22,7,25,26,8,9,27,28,29,30,11,12,56,57,33,32,59,60,36,61,63,37,34,64,66,39,40,67,41,68,43,44,45,46,47,70,48,49,51,52,73,54);\r
-aWE("els",6,8,61,64);\r
-aWE("empty",61);\r
-aWE("enabl",68);\r
-aWE("encapsulat",24);\r
-aWE("encounter",64);\r
-aWE("end",13,19,8,60,37,68,43,48);\r
-aWE("enough",43);\r
-aWE("ent",25,27,28,31,50);\r
-aWE("entiti",14,15);\r
-aWE("entity",14,0,10,68);\r
-aWE("equal",19,33,64,68,43,45);\r
-aWE("equidistant",19);\r
-aWE("equilateral",20);\r
-aWE("eras",0);\r
-aWE("error",61);\r
-aWE("etc",16,2,26,49);\r
-aWE("even",23,33,63);\r
-aWE("eventual",64);\r
-aWE("every",54);\r
-aWE("everyth",23);\r
-aWE("ex21_lamp",69);\r
-aWE("examin",12);\r
-aWE("exampl",14,2,23,6,25,12,64,62,69,51);\r
-aWE("exce",19);\r
-aWE("exceed",45);\r
-aWE("except",43,53);\r
-aWE("exist",13,21,25,26,30,64,68,49);\r
-aWE("existenc",23);\r
-aWE("explod",61);\r
-aWE("exponent",19);\r
-aWE("export",0,6,31,60,53);\r
-aWE("exportation",31);\r
-aWE("exportm",6);\r
-aWE("extend",53,54);\r
-aWE("external",12);\r
-aWE("extreme",19);\r
-aWE("extremiti",5);\r
-aWE("extrud",11,12,61,67);\r
-aWE("extrusion",11,12,61,70);\r
-aWE("extrusionalongpath",61);\r
-aWE("extrusionalongpathobject",70);\r
-aWE("extrusionsweepobject",61);\r
-aWE("exy",8);\r
-aWE("f",19,8);\r
-aWE("f1",61);\r
-aWE("f2",61);\r
-aWE("f3",61);\r
-aWE("f4",61);\r
-aWE("f5",61);\r
-aWE("fac",13,14,15,0,17,19,2,3,22,23,6,24,25,8,10,12,55,57,33,60,61,63,37,64,66,68,43,69,70,52,72,54);\r
-aWE("face_1",61);\r
-aWE("face_2",61);\r
-aWE("face1",8,70);\r
-aWE("face2",70);\r
-aWE("facelist",66);\r
-aWE("faceslist1",70);\r
-aWE("faceslist2",70);\r
-aWE("facesrotat",61);\r
-aWE("factor",19,26);\r
-aWE("factoryserv",62);\r
-aWE("fail",61);\r
-aWE("far",43);\r
-aWE("fashion",12);\r
-aWE("fast",45);\r
-aWE("featur",25);\r
-aWE("ff",61);\r
-aWE("ff_1",61);\r
-aWE("ff_2",61);\r
-aWE("ff_3",61);\r
-aWE("ff_4",61);\r
-aWE("ff_5",61);\r
-aWE("ff_6",61);\r
-aWE("ff_7",61);\r
-aWE("field",17,1,21,25,27,28,40,68,43,45,49,50);\r
-aWE("fifth",43);\r
-aWE("fil",6,31,64,68);\r
-aWE("fill",66,40,43);\r
-aWE("filt",21,25,26,68,49);\r
-aWE("filter",25,68);\r
-aWE("fin",19,63);\r
-aWE("find",31,64,43);\r
-aWE("findcoincidentnod",70);\r
-aWE("findorloadcomponent",62);\r
-aWE("finenes",19,63);\r
-aWE("first",1,19,23,6,12,57,61,37,64,43);\r
-aWE("firstnodeid1",70);\r
-aWE("firstnodeid2",70);\r
-aWE("firstnodeidonfreebord",70);\r
-aWE("firstnodeidonsid",70);\r
-aWE("fit",53);\r
-aWE("fiv",61);\r
-aWE("fix",14,6,8,45);\r
-aWE("flag",64);\r
-aWE("fold",23,24);\r
-aWE("follow",13,14,15,17,1,2,21,23,24,7,25,26,27,28,29,30,11,12,35,61,64,39,40,67,41,43,45,46,48,49,50,51,52);\r
-aWE("font",53);\r
-aWE("form",1,27,30,64,43);\r
-aWE("format",0,31,60,53);\r
-aWE("formula",19,20,2);\r
-aWE("four",14,20,54);\r
-aWE("fourth",61);\r
-aWE("fram",53);\r
-aWE("fre",14,16,55,56,60,66,43,45,70);\r
-aWE("function",14,62);\r
-aWE("functionaliti",53);\r
-aWE("functionality",23,7,31,59,35,43,53);\r
-aWE("fus",69);\r
-aWE("futur",19);\r
-aWE("g",24);\r
-aWE("gaus",53);\r
-aWE("gen",61,66);\r
-aWE("generat",13,14,16,19,23,60,37,64);\r
-aWE("generation",6,11,64,67,69);\r
-aWE("geom",14,60);\r
-aWE("geometric",14,16,8);\r
-aWE("geometrical",13,14,15,19,23,24,25,33,60,34,64,38,41,45,46,48,52);\r
-aWE("geometry",24,7,25,57,61,69,45);\r
-aWE("geompy",6,8,57,61,66,69,70,72);\r
-aWE("get",0,5,23,8,12,57,64,52);\r
-aWE("getborder",66);\r
-aWE("getedgenearpoint",6,8);\r
-aWE("getelementsid",57,66);\r
-aWE("geterrorcod",61);\r
-aWE("getlistofid",57);\r
-aWE("getmesh",6,61,66,70,72);\r
-aWE("getmesheditor",61,66,70);\r
-aWE("getnam",62);\r
-aWE("getpattern",61);\r
-aWE("ghs3d",62);\r
-aWE("giv",68,52);\r
-aWE("given",19,33,61,43);\r
-aWE("global",8,53);\r
-aWE("glu",66);\r
-aWE("good",6,45);\r
-aWE("got",64);\r
-aWE("graduat",53);\r
-aWE("graphical",0);\r
-aWE("great",19,53);\r
-aWE("greatest",20,2);\r
-aWE("green",25,12);\r
-aWE("group",21,22,25,26,9,30,12,57,35,60,61,66,68,69,45,48,49,51,52);\r
-aWE("group_nam",69);\r
-aWE("group1",51);\r
-aWE("group12",51);\r
-aWE("group12a",51);\r
-aWE("group12b",51);\r
-aWE("group2",51);\r
-aWE("grouprotat",61);\r
-aWE("groupsmooth",61);\r
-aWE("groupsofnod",70);\r
-aWE("grouptri",61);\r
-aWE("growth",63);\r
-aWE("h",54);\r
-aWE("half",20,54);\r
-aWE("halv",5);\r
-aWE("hasangl",61);\r
-aWE("hasrefpoint",61);\r
-aWE("hav",20,33,37,64);\r
-aWE("hedron",61);\r
-aWE("height",69,54);\r
-aWE("helical",12);\r
-aWE("help",16);\r
-aWE("henc",64);\r
-aWE("her",64);\r
-aWE("hexa",8);\r
-aWE("hexahedral",15,6,8);\r
-aWE("hexahedralization",23);\r
-aWE("hexahedrical",8);\r
-aWE("hexahedron",14,15,17,2,8,61,34,72);\r
-aWE("hh",61);\r
-aWE("hid",0,53);\r
-aWE("high",14);\r
-aWE("highlight",3,4,21,25,26,55,56,49);\r
-aWE("hmax",20);\r
-aWE("hol",56,61);\r
-aWE("hold",64);\r
-aWE("homogeneou",63);\r
-aWE("how",15,12,63,38);\r
-aWE("hyp",24);\r
-aWE("hyp1",6);\r
-aWE("hyp1d",61);\r
-aWE("hyp2",6);\r
-aWE("hyp3",6);\r
-aWE("hyp4",6);\r
-aWE("hypothes",13,0,19,23,6,24,8,33,60,61,63,37,38);\r
-aWE("hypothesi",13,19,23,6,8,33,61,37,34,38,69);\r
-aWE("i",15,20,23,26,12,57,61,63,64,66,43,49);\r
-aWE("icon",30,39,42);\r
-aWE("id",0,19,21,25,26,27,28,29,11,12,57,61,67,43,45,49,50);\r
-aWE("id_circl",70);\r
-aWE("id_fac",8);\r
-aWE("id_face1",70);\r
-aWE("idbox",6,66);\r
-aWE("idea",12);\r
-aWE("idl",6,57,61,66,70);\r
-aWE("idsofelement",61);\r
-aWE("idsoffixednod",61);\r
-aWE("idsofside1element",70);\r
-aWE("idsofside2element",70);\r
-aWE("if",14,17,5,23,6,24,7,8,11,12,57,33,61,63,37,64,66,38,39,67,68,43,45,49,53);\r
-aWE("ii",61);\r
-aWE("imag",0,12,53);\r
-aWE("imp",14);\r
-aWE("import",6,8,57,31,60,61,66,69,70,72);\r
-aWE("importation",31);\r
-aWE("importcomponentgui",61);\r
-aWE("includ",14,52);\r
-aWE("increas",6,8);\r
-aWE("index",25,64);\r
-aWE("indic",64);\r
-aWE("indicat",54);\r
-aWE("info",0,52,72);\r
-aWE("information",14,0,6,7,30,52,72);\r
-aWE("init",61);\r
-aWE("initial",12,61,68,46,51);\r
-aWE("input",1,19);\r
-aWE("inscrib",20);\r
-aWE("insert",68,43);\r
-aWE("instead",6,37,64);\r
-aWE("int",62);\r
-aWE("intact",9);\r
-aWE("integ",25);\r
-aWE("intend",43);\r
-aWE("interest",14);\r
-aWE("interfac",6,57,61,66,69,70);\r
-aWE("intermediat",43);\r
-aWE("internal",64);\r
-aWE("intersect",64,51);\r
-aWE("intersectgroup",57);\r
-aWE("intersection",57,64,51);\r
-aWE("introduc",13,25,37);\r
-aWE("introduction",60,69);\r
-aWE("invers",14,27,61);\r
-aWE("inversediag",61);\r
-aWE("inversion",27,61);\r
-aWE("invisibl",71);\r
-aWE("is3d",8);\r
-aWE("isdon",61);\r
-aWE("iso",64);\r
-aWE("isolin",64);\r
-aWE("isometric",53);\r
-aWE("isplanarfac",8,70);\r
-aWE("item",17,1,21,22,7,26,27,28,30,11,12,31,35,64,40,67,41,43,45,46,48,49,50,51);\r
-aWE("iteration",12,45);\r
-aWE("iterativ",45);\r
-aWE("iv",61);\r
-aWE("j",15,57,66);\r
-aWE("join",44);\r
-aWE("jpeg",0,53);\r
-aWE("jpg",0,53);\r
-aWE("just",1,64,39);\r
-aWE("k",15,19,20);\r
-aWE("keep",12,45,46);\r
-aWE("key",64);\r
-aWE("keyboard",26);\r
-aWE("know",64);\r
-aWE("ko",61);\r
-aWE("l",54);\r
-aWE("label",53);\r
-aWE("laplacian",45);\r
-aWE("last",1,19,12,37,43);\r
-aWE("lastnodeid1",70);\r
-aWE("lastnodeid2",70);\r
-aWE("lastnodeidonfreebord",70);\r
-aWE("lastnodeidonsid",70);\r
-aWE("lay",11,64,67);\r
-aWE("lcc",62);\r
-aWE("learn",52);\r
-aWE("least",64,45);\r
-aWE("leav",23,9);\r
-aWE("left",0,12,64,53);\r
-aWE("len",57,61,66);\r
-aWE("length",13,16,19,20,6,8,58,33,32,60,66,43,53,54);\r
-aWE("length_margin",66);\r
-aWE("lengthfromedg",8,69,70);\r
-aWE("les",68,43,45);\r
-aWE("level",13,17,63);\r
-aWE("library",25,68);\r
-aWE("libstdmeshersengin",61);\r
-aWE("lik",17,2,29,43);\r
-aWE("limit",64,43,45);\r
-aWE("lin",14,1,19,11,37,64,67,44);\r
-aWE("linear",12,63);\r
-aWE("link",43);\r
-aWE("list",0,17,21,25,26,9,12,68,49);\r
-aWE("lk",19);\r
-aWE("ll",53);\r
-aWE("load",64,68);\r
-aWE("loadfromfac",61);\r
-aWE("local",6,24,8,60,37);\r
-aWE("locallength",8,69);\r
-aWE("locat",64,43);\r
-aWE("location",19,28,31,45);\r
-aWE("lock",26,45,53);\r
-aWE("longest",20);\r
-aWE("look",29,12,64,68);\r
-aWE("low",14,19,63);\r
-aWE("ly",64);\r
-aWE("main",21,26,9,12,37,64,68,49,51);\r
-aWE("makearc",8,70);\r
-aWE("makebezi",61);\r
-aWE("makebox",6,57,66,69,70,72);\r
-aWE("makeboxdxdydz",6,8,61);\r
-aWE("makecirclethreepnt",61,70);\r
-aWE("makecompound",66,70);\r
-aWE("makecon",69);\r
-aWE("makecylind",69);\r
-aWE("makecylinderrh",8);\r
-aWE("makeedg",8,61);\r
-aWE("makefac",8,70);\r
-aWE("makefus",69);\r
-aWE("makegluefac",66);\r
-aWE("makemesh",61);\r
-aWE("makepolygon",61);\r
-aWE("makepolylin",61);\r
-aWE("makequadmesh2",61);\r
-aWE("makeshell",66);\r
-aWE("makesketch",8);\r
-aWE("maketranslation",66);\r
-aWE("makevector",8,70);\r
-aWE("makevectordxdydz",69);\r
-aWE("makevertex",6,8,61,69,70);\r
-aWE("makewir",8,70);\r
-aWE("manag",13,17);\r
-aWE("manual",25,63,64);\r
-aWE("map",15,33,61,64);\r
-aWE("mark",53);\r
-aWE("mas",12);\r
-aWE("math",61,70);\r
-aWE("max",13,8,33,60,63,34,45);\r
-aWE("maxaspectratio",61);\r
-aWE("maxelementarea",6,8,61,66,72);\r
-aWE("maxelementvolum",6,8,69,72);\r
-aWE("maximum",19,8,33,63,34,44,45,52);\r
-aWE("maxnbofiteration",61);\r
-aWE("mean",14,63);\r
-aWE("meaningful",14);\r
-aWE("measur",54);\r
-aWE("medium",7);\r
-aWE("meet",26,49);\r
-aWE("mefisto",15,8);\r
-aWE("menu",17,1,19,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,35,37,64,39,40,67,41,42,68,43,45,46,48,49,50,51,52);\r
-aWE("merg",59,35,43,70);\r
-aWE("mergeequalelement",70);\r
-aWE("mergenod",70);\r
-aWE("mesh",13,14,15,16,0,17,1,18,19,20,2,3,4,21,5,22,23,6,24,7,25,26,8,9,27,28,29,30,11,12,55,56,57,31,33,32,59,35,60,36,61,63,37,34,64,65,66,38,39,40,67,41,42,62,68,43,44,69,45,46,47,70,48,49,50,51,52,72,73,53,54);\r
-aWE("mesh_1",23,61);\r
-aWE("mesh_2",61);\r
-aWE("mesh_borders_at_multi",66);\r
-aWE("mesh_free_border",66);\r
-aWE("mesh_length_1d",66);\r
-aWE("mesh_length_2d",66);\r
-aWE("mesh_nam",61);\r
-aWE("mesh1d",61);\r
-aWE("mesh1d_tool",61);\r
-aWE("meshbox",6,72);\r
-aWE("mesheditor",61);\r
-aWE("meshm",6);\r
-aWE("method",57,61,66,45,70);\r
-aWE("middl",1,12,37);\r
-aWE("min_angl",66);\r
-aWE("minimum",16,19,26,60,36,63,66,43,49);\r
-aWE("mirror",70);\r
-aWE("mirrorobject",70);\r
-aWE("mod",0,19,65);\r
-aWE("model",14,60);\r
-aWE("modification",14,17,1,21,7,26,27,28,30,11,12,35,60,64,39,40,67,41,43,45,46,48,49,50);\r
-aWE("modify",21,26,30,61,49);\r
-aWE("modul",14,15,1,19,6,25,60,61,42,69,53);\r
-aWE("moment",57,61,66,70);\r
-aWE("mous",0,25,53);\r
-aWE("mov",28,61);\r
-aWE("movenod",61);\r
-aWE("much",63);\r
-aWE("multi",16,3,4,60,66);\r
-aWE("multiconnection",66);\r
-aWE("must",23,12,64,68,43);\r
-aWE("myelemid",66);\r
-aWE("mypnt1",66);\r
-aWE("mypnt2",66);\r
-aWE("mystudyid",61);\r
-aWE("n",64,43);\r
-aWE("n1",61);\r
-aWE("n10",61);\r
-aWE("n11",61);\r
-aWE("n12",61);\r
-aWE("n2",61);\r
-aWE("n23_param",8);\r
-aWE("n3",61);\r
-aWE("n4",61);\r
-aWE("n5",61);\r
-aWE("n6",61);\r
-aWE("n7",61);\r
-aWE("n8",61);\r
-aWE("n9",61);\r
-aWE("na",61);\r
-aWE("nam",23,6,24,25,30,57,31,61,63,62,68,69,51,53);\r
-aWE("nb",57,61,63,66);\r
-aWE("nb_conn",66);\r
-aWE("nb_segments_3",61);\r
-aWE("nb_segments_7",61);\r
-aWE("nb_segments_8",61);\r
-aWE("nb_vert",61);\r
-aWE("nbedg",6,70,72);\r
-aWE("nbfac",6,72);\r
-aWE("nbhexa",72);\r
-aWE("nbnod",6,70,72);\r
-aWE("nbpolygon",72);\r
-aWE("nbpolyhedron",72);\r
-aWE("nbprism",72);\r
-aWE("nbpyramid",72);\r
-aWE("nbquadrangl",70,72);\r
-aWE("nbtetra",72);\r
-aWE("nbtriangl",70,72);\r
-aWE("nbvolum",6,70,72);\r
-aWE("nc",61);\r
-aWE("nd",61);\r
-aWE("ndiagonal",61);\r
-aWE("ne",23);\r
-aWE("necessary",17);\r
-aWE("negativ",19);\r
-aWE("neighbor",27,50);\r
-aWE("netgen",15,6,8,63,62,69,72);\r
-aWE("netgen_2d3d",8);\r
-aWE("new",0,5,23,24,25,28,61,64,38,68,51);\r
-aWE("new_id",61);\r
-aWE("next",19,57,61,64,66,70);\r
-aWE("nid",61);\r
-aWE("nid1",61);\r
-aWE("nid2",61);\r
-aWE("nid3",61);\r
-aWE("nid4",61);\r
-aWE("no_nam",62);\r
-aWE("nod",14,0,17,1,18,19,20,21,22,6,7,25,28,29,11,12,33,35,60,61,63,64,65,66,39,40,67,68,43,44,45,47,70,52,72,54);\r
-aWE("nodal",64,45);\r
-aWE("node_id",61);\r
-aWE("nodeid1ofside1tomerg",70);\r
-aWE("nodeid1ofside2tomerg",70);\r
-aWE("nodeid2ofside1tomerg",70);\r
-aWE("nodeid2ofside2tomerg",70);\r
-aWE("nodestart",61);\r
-aWE("non",23);\r
-aWE("nonam",62);\r
-aWE("normal",46,54);\r
-aWE("normalisation",20);\r
-aWE("not",17,20,23,25,9,12);\r
-aWE("noth",25);\r
-aWE("notic",14);\r
-aWE("now",5,23);\r
-aWE("nsmooth",61);\r
-aWE("numb",13,14,1,19,6,25,8,11,33,60,63,64,67,43,45,70,52,72,53);\r
-aWE("number",0,1,29,12);\r
-aWE("numberofsegment",6,8,57,61,66,70,72);\r
-aWE("numeric",26);\r
-aWE("numerical",13);\r
-aWE("nunit",61);\r
-aWE("obey",43);\r
-aWE("obj",62);\r
-aWE("object",13,15,0,17,1,19,5,22,23,24,7,25,26,9,30,31,33,61,63,34,64,65,38,39,40,41,48,49,52,73,53);\r
-aWE("objecttoid",61);\r
-aWE("objet",25);\r
-aWE("obtain",17,66);\r
-aWE("offset",53);\r
-aWE("ok",17,1,21,5,7,26,9,27,28,30,11,12,31,61,39,40,67,43,45,49,50,51);\r
-aWE("old",57,61,66,70);\r
-aWE("on",14,1,19,23,6,24,26,8,9,27,11,12,55,56,59,61,37,64,66,38,39,67,68,43,45,46,48,49,51);\r
-aWE("onc",49);\r
-aWE("onto",37,64);\r
-aWE("oo",20);\r
-aWE("opaqu",71);\r
-aWE("open",66);\r
-aWE("operat",13);\r
-aWE("operation",15,17,18,19,20,2,3,4,21,24,25,26,9,27,28,30,11,12,55,56,31,58,33,32,59,35,60,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,73,54);\r
-aWE("opposit",13,5,6,26,8,33,37,43,44);\r
-aWE("optimiz",63);\r
-aWE("option",14,0,19,46,48);\r
-aWE("optional",23,12);\r
-aWE("ord",14,21,63,64);\r
-aWE("ordinary",1,37);\r
-aWE("orientat",53);\r
-aWE("orientation",21,5,26,61,49);\r
-aWE("origin",54);\r
-aWE("other",49);\r
-aWE("otherwis",23,33);\r
-aWE("our",23);\r
-aWE("out",53);\r
-aWE("outlin",56);\r
-aWE("outsid",64);\r
-aWE("own",14);\r
-aWE("p5",6,8);\r
-aWE("packag",6,57,61,66,62,69,70);\r
-aWE("pag",15,25,30);\r
-aWE("pair",19);\r
-aWE("pan",53);\r
-aWE("paramet",14,19,2,68,43);\r
-aWE("parameter",13,0,5,8,12,63,41,43,53);\r
-aWE("parametric",14,64);\r
-aWE("parent",24);\r
-aWE("part",61,43,45,53);\r
-aWE("particularity",14);\r
-aWE("pas",6,57,61,66);\r
-aWE("path",12,61,68,70);\r
-aWE("pathmesh",61);\r
-aWE("pathshap",61);\r
-aWE("pattern",61,64);\r
-aWE("pattern_nam",64);\r
-aWE("pentagonal",61);\r
-aWE("pentahedron",2);\r
-aWE("per",63);\r
-aWE("perform",60,61,40,43,46,51);\r
-aWE("perimet",20);\r
-aWE("pi",61,70);\r
-aWE("pictur",3,25,12,55,56,59);\r
-aWE("piec",69);\r
-aWE("plac",7,43,53);\r
-aWE("plan",5,66,46,54);\r
-aWE("planar",61,54);\r
-aWE("platform",25,42);\r
-aWE("pleas",9,12);\r
-aWE("plot",19);\r
-aWE("plu",11,67);\r
-aWE("png",0,53);\r
-aWE("point",14,1,19,12,61,37,64,67,41,43,46,70,48,53,54);\r
-aWE("pointstruct",61,70);\r
-aWE("polygon",17,61,72);\r
-aWE("polygonal",61);\r
-aWE("polyhedral",17,61);\r
-aWE("polyhedron",17,61,72);\r
-aWE("polylin",12);\r
-aWE("pop",9,29);\r
-aWE("position",14,64,53);\r
-aWE("posses",63,37);\r
-aWE("possibility",68);\r
-aWE("possibl",13,2,25,63,64);\r
-aWE("post",53);\r
-aWE("powerful",68);\r
-aWE("precision",17);\r
-aWE("preferenc",13,33,60,65);\r
-aWE("prefix",68);\r
-aWE("preproces",25);\r
-aWE("pres",17,1,12,39,53);\r
-aWE("present",14,0,63,51);\r
-aWE("presentation",16,0,53);\r
-aWE("preserv",64);\r
-aWE("preset",13);\r
-aWE("preview",17,5,26,64,68);\r
-aWE("previou",19,12,49);\r
-aWE("previous",24,25,60,64);\r
-aWE("principl",12);\r
-aWE("print",6,8,57,61,66,70,72);\r
-aWE("printmeshinfo",6);\r
-aWE("prism",72);\r
-aWE("pro",53);\r
-aWE("problem",6,8);\r
-aWE("proce",23,9);\r
-aWE("procedur",45);\r
-aWE("proceed",12,38);\r
-aWE("proces",45);\r
-aWE("produc",14,7,11,61,67,45);\r
-aWE("product",54);\r
-aWE("program",23);\r
-aWE("progression",19);\r
-aWE("project",64);\r
-aWE("projection",64,54);\r
-aWE("prompt",19);\r
-aWE("propagat",6,8,37);\r
-aWE("propagation",13,6,8,37,70);\r
-aWE("properti",53);\r
-aWE("prov",63);\r
-aWE("provid",0,17,26,57,61,66,69,70);\r
-aWE("pseudo",27);\r
-aWE("pt1",69);\r
-aWE("pt2",69);\r
-aWE("pul",45);\r
-aWE("put",8);\r
-aWE("px",8,70);\r
-aWE("px1",70);\r
-aWE("py",8,70);\r
-aWE("py1",70);\r
-aWE("pyramid",72);\r
-aWE("pyramidal",15);\r
-aWE("python",6,62,69,52);\r
-aWE("pz",8,70);\r
-aWE("pz1",70);\r
-aWE("q1",61);\r
-aWE("qi",2);\r
-aWE("qk",20,2);\r
-aWE("quad",54);\r
-aWE("quad_1",61);\r
-aWE("quad_2",61);\r
-aWE("quad_3",61);\r
-aWE("quad_4",61);\r
-aWE("quad_5",61);\r
-aWE("quad_6",61);\r
-aWE("quad_7",61);\r
-aWE("quadra",6,57);\r
-aWE("quadrangl",13,14,15,17,18,20,2,6,26,8,27,11,12,57,33,32,60,36,61,63,67,44,70,72);\r
-aWE("quadrangular",15,6,8,33,37);\r
-aWE("quadratic",13,1,7,63,37);\r
-aWE("quadtotri",61);\r
-aWE("quality",16,0,18,19,20,2,3,4,26,55,56,58,32,60,36,66,44,47,49,73,54);\r
-aWE("quantity",13);\r
-aWE("r1",61);\r
-aWE("radio",21,25,26,41,43,46,49);\r
-aWE("radiu",20,61,63);\r
-aWE("radius",63);\r
-aWE("radius_1",69);\r
-aWE("radius_2",69);\r
-aWE("rang",19,25,57,61,63,66);\r
-aWE("rat",63);\r
-aWE("ratio",16,20,2,60,66,45,47,54);\r
-aWE("ready",23);\r
-aWE("recent",0);\r
-aWE("red",56);\r
-aWE("redefin",0,53);\r
-aWE("reduc",45);\r
-aWE("reevaluat",45);\r
-aWE("refer",64);\r
-aWE("referenc",14,16,23,24);\r
-aWE("refin",13);\r
-aWE("reflect",64,44,73);\r
-aWE("refpoint",61);\r
-aWE("refresh",0);\r
-aWE("regular",20,6,8,63,62);\r
-aWE("regular_1d",61);\r
-aWE("relat",42);\r
-aWE("relation",14);\r
-aWE("relationship",14);\r
-aWE("remot",53);\r
-aWE("remov",21,6,25,26,9,30,12,57,61,66,39,68,49);\r
-aWE("removal",60);\r
-aWE("removeelement",61,66);\r
-aWE("removehypothesi",6);\r
-aWE("removenod",61);\r
-aWE("renumb",61,40);\r
-aWE("renumber",61,40);\r
-aWE("renumbernod",61);\r
-aWE("reorient",21,61);\r
-aWE("replac",43);\r
-aWE("represent",13,14,19,2,65,47,53);\r
-aWE("representation",14);\r
-aWE("requir",27,28,63,50);\r
-aWE("res",61);\r
-aWE("reset",53);\r
-aWE("resiz",53);\r
-aWE("respect",12);\r
-aWE("respectiv",1);\r
-aWE("rest",64,43);\r
-aWE("restor",53);\r
-aWE("restrict",14);\r
-aWE("result",13,17,12,57,66,45,51);\r
-aWE("ret",6,8);\r
-aWE("retriev",14);\r
-aWE("return",58,61);\r
-aWE("reveal",20);\r
-aWE("revers",1,64);\r
-aWE("revert",21);\r
-aWE("revolution",11,61,67);\r
-aWE("revolv",61,67);\r
-aWE("right",0,22,9,28,29,12,65);\r
-aWE("rotat",11,12,61,67,41,70,53);\r
-aWE("rotateobject",70);\r
-aWE("rotation",5,67,41,70,53);\r
-aWE("rotationsweepobject",61);\r
-aWE("rough",13);\r
-aWE("rr",61);\r
-aWE("rul",19,37,43);\r
-aWE("run",42);\r
-aWE("salom",25,8,57,60,61,66,42,62,70);\r
-aWE("sam",14,0,19,20,2,23,24,8,12,37,38,68,43,51);\r
-aWE("sampl",15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,73,54);\r
-aWE("sav",68);\r
-aWE("scal",19,53);\r
-aWE("scalar",16);\r
-aWE("scen",53);\r
-aWE("script",15,17,18,19,20,2,3,4,21,23,6,24,25,26,27,28,30,11,12,55,56,57,31,58,33,32,59,35,36,61,37,34,64,66,38,39,40,67,41,43,44,45,46,47,70,48,49,50,51,52,73,54);\r
-aWE("se",15,17,18,19,20,2,3,4,21,5,6,24,7,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,69,45,46,47,48,49,50,51,73,53,54);\r
-aWE("seam",64);\r
-aWE("search",31,68);\r
-aWE("second",17,61,63,43);\r
-aWE("secondnodeid1",70);\r
-aWE("secondnodeid2",70);\r
-aWE("secondnodeidonfreebord",70);\r
-aWE("section",0,5,23,64,69);\r
-aWE("seg",63);\r
-aWE("segment",13,19,6,8,57,33,60,61,63,66,69,70,72);\r
-aWE("select",13,0,17,1,19,21,22,23,6,24,7,25,26,9,27,28,30,11,12,31,35,61,63,37,64,65,39,40,67,41,42,68,43,45,46,48,49,50,51,52,53);\r
-aWE("selectabl",59);\r
-aWE("selection",17,1,21,25,26,9,68,49);\r
-aWE("sens",14);\r
-aWE("separat",47);\r
-aWE("sequenc",43);\r
-aWE("set",14,15,17,19,21,5,23,25,8,28,12,33,60,61,63,34,64,65,68,43,45,71,49);\r
-aWE("setmargin",57,66);\r
-aWE("setmaxelementarea",6);\r
-aWE("setmesh",66);\r
-aWE("setnam",61,62,69);\r
-aWE("setnumberofsegment",61);\r
-aWE("setnumfunctor",57,66);\r
-aWE("setpredicat",57,66);\r
-aWE("setting",23);\r
-aWE("seven",12,61);\r
-aWE("sew",12,43,70);\r
-aWE("sewbordertosid",70);\r
-aWE("sewconformfreeborder",70);\r
-aWE("sewfreeborder",70);\r
-aWE("sewsideelement",70);\r
-aWE("sg",57,61,66,70);\r
-aWE("shad",0,65,71);\r
-aWE("shall",21,27,28,35,64,67,41,46,48,49,50);\r
-aWE("shap",13,14,12,61,64,45);\r
-aWE("shape_mesh",61);\r
-aWE("shape1d",61);\r
-aWE("shapetyp",6,8,57,61,66,69,70);\r
-aWE("shell",66);\r
-aWE("shift",17,1,26,39,45);\r
-aWE("shortest",54);\r
-aWE("should",19,7,25,11,12,64,67,41,68,43,45,51);\r
-aWE("show",19,5,12,68,53);\r
-aWE("shown",16,45);\r
-aWE("shrink",65);\r
-aWE("sid",6,8,36,63,43,44,70);\r
-aWE("simp",23,37);\r
-aWE("simpl",14,17,12,64);\r
-aWE("simplex",20,2);\r
-aWE("sin",61);\r
-aWE("sin_bot",61);\r
-aWE("sin_top",61);\r
-aWE("six",12,61);\r
-aWE("siz",0,63,69,45);\r
-aWE("sk",20,2);\r
-aWE("sketch",8);\r
-aWE("sketcher",8);\r
-aWE("sketcher1",8);\r
-aWE("sketcher2",8);\r
-aWE("skew",16,26,60,66,44,49);\r
-aWE("skew_margin",66);\r
-aWE("slid",71);\r
-aWE("small",53);\r
-aWE("smesh",6,8,57,61,66,62,43,69,70,72);\r
-aWE("smesh_mechanic",57,61,66,70);\r
-aWE("smesh_mechanic_tetra",66);\r
-aWE("smesh_mesheditor",61,70);\r
-aWE("smeshgroup1",57);\r
-aWE("smeshgui",61);\r
-aWE("smooth",61,45);\r
-aWE("smoothobject",61);\r
-aWE("smp",64);\r
-aWE("so",13,19,20,12,61,64,43,47);\r
-aWE("solid",8,60);\r
-aWE("somewhat",17);\r
-aWE("soon",6);\r
-aWE("sort",21,25,26,49);\r
-aWE("sourc",68);\r
-aWE("spac",14,64,41,48);\r
-aWE("specifi",19,3,64,39,43,45);\r
-aWE("specific",22,68);\r
-aWE("specify",17,1,26,11,12,64,39,67,41,68,45,46,48,51);\r
-aWE("spher",19,20,23);\r
-aWE("split",15,19,2,5,63,43);\r
-aWE("sqrt",61);\r
-aWE("standalon",25,57,68);\r
-aWE("standard",0,7,31,69,52);\r
-aWE("start",13,19,5,8,12,60,42,43,48);\r
-aWE("startendlength",8);\r
-aWE("static",62);\r
-aWE("statu",61);\r
-aWE("step",11,67);\r
-aWE("stor",64,68);\r
-aWE("str",62);\r
-aWE("straight",1,8,12,61,37);\r
-aWE("stretch",53);\r
-aWE("strict",53);\r
-aWE("structur",23,24,61,62);\r
-aWE("study",8,57,68,69);\r
-aWE("stuf",53);\r
-aWE("styl",6);\r
-aWE("sub",6,8,12,31,35,64,41,43,46,48);\r
-aWE("submenu",17,10,39,40);\r
-aWE("submesh",13,21,22,6,24,25,26,11,12,38,67,45,48,49,52);\r
-aWE("subshapeall",6,8,57,61,66,70);\r
-aWE("subshapeallid",69);\r
-aWE("subshapeallsort",61);\r
-aWE("subshapelist",6,57);\r
-aWE("subshapenam",6);\r
-aWE("succed",8);\r
-aWE("sum",2);\r
-aWE("supplement",37);\r
-aWE("supplementary",26);\r
-aWE("surfac",14,20,2,11,12,64,67,43);\r
-aWE("surround",14,45);\r
-aWE("swept",11,67);\r
-aWE("switch",1);\r
-aWE("symmetrical",46,70);\r
-aWE("symmetry",46,70);\r
-aWE("syntax",68);\r
-aWE("t",14,19,2,23,57,61,37,64,65,66,70,53);\r
-aWE("t1",61);\r
-aWE("tabl",1,19);\r
-aWE("tak",20,49);\r
-aWE("taken",13,22,25,8,64);\r
-aWE("tap",16,25,60,66,47);\r
-aWE("taper_margin",66);\r
-aWE("techniqu",45);\r
-aWE("tetra",6,8,69,72);\r
-aWE("tetrahedral",15,8,63,69);\r
-aWE("tetrahedralization",23);\r
-aWE("tetrahedrical",8);\r
-aWE("tetrahedron",14,15,17,2,6,8,61,34,69,72);\r
-aWE("tetran",8);\r
-aWE("th",64,43);\r
-aWE("them",13,17,1,19,2,25,9,10,11,12,35,63,39,67,43,45,53);\r
-aWE("themesh",6);\r
-aWE("third",12);\r
-aWE("thos",26,49);\r
-aWE("thre",14,1,20,61,63,37,43,46);\r
-aWE("threshold",68);\r
-aWE("tick",53);\r
-aWE("tim",0);\r
-aWE("tmp",6);\r
-aWE("togeth",33);\r
-aWE("toggl",17,68,48);\r
-aWE("toleranc",35,67,68,70);\r
-aWE("tool",68,51);\r
-aWE("toolbar",20,2,21,23,24,7,26,27,28,30,11,12,32,64,39,40,67,42,44,45,47,49,50,52,73,53,54);\r
-aWE("top",61);\r
-aWE("topological",14,43);\r
-aWE("topology",14);\r
-aWE("toru",7);\r
-aWE("total",52);\r
-aWE("toward",45);\r
-aWE("transform",28,70);\r
-aWE("transformation",35,41,43,46,48);\r
-aWE("translat",70,48);\r
-aWE("translateobject",70);\r
-aWE("translation",70,48);\r
-aWE("transparency",0,71);\r
-aWE("transparent",71);\r
-aWE("transtorm",7);\r
-aWE("tri_mesh",70);\r
-aWE("tria",6,8,66,70);\r
-aWE("tria_mesh",8);\r
-aWE("triangl",14,15,17,1,18,20,6,8,27,11,33,32,59,36,61,63,66,67,44,69,47,70,49,50,72,53);\r
-aWE("triangular",15,33);\r
-aWE("triangulation",8);\r
-aWE("trihedron",53);\r
-aWE("tritoquad",61);\r
-aWE("truncat",69);\r
-aWE("try",23,63);\r
-aWE("tt",8,61);\r
-aWE("tui",15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,52,73,54);\r
-aWE("tupl",62);\r
-aWE("two",14,17,5,25,26,8,27,12,57,36,61,63,64,66,43,47,70,48,50,51,52);\r
-aWE("typ",14,17,19,20,2,22,23,25,11,12,39,67,68,43,52);\r
-aWE("typical",45);\r
-aWE("u",14,43);\r
-aWE("unary",68);\r
-aWE("unassign",38);\r
-aWE("uniform",45);\r
-aWE("union",57,49,50,51);\r
-aWE("uniongroup",57);\r
-aWE("unionid",69);\r
-aWE("unit",61,43,49,50,51);\r
-aWE("unles",37);\r
-aWE("unv",31);\r
-aWE("up",19,9,29);\r
-aWE("updat",0,6,57,61,66,42,45,70);\r
-aWE("updateobjbrows",57,61,66,70);\r
-aWE("upload",68);\r
-aWE("us",14,15,19,3,5,23,24,25,11,12,57,33,35,61,63,64,66,67,68,43,45,70,71,51,53);\r
-aWE("usag",16,6,57,61,66,69,70);\r
-aWE("useful",0,17,25,12,63);\r
-aWE("usual",43,45);\r
-aWE("v",14);\r
-aWE("valu",13,16,19,20,2,23,6,12,58,36,37,38,68,44,69);\r
-aWE("vari",20);\r
-aWE("variabl",62);\r
-aWE("variou",0);\r
-aWE("ve",17);\r
-aWE("vector",11,12,61,67,41,46,70,48,54);\r
-aWE("versa",7);\r
-aWE("version",57,61,66,70);\r
-aWE("vert",61);\r
-aWE("vertex",14,64);\r
-aWE("vertex_",61);\r
-aWE("vertic",61,64);\r
-aWE("very",17,12,63);\r
-aWE("via",68,52,53);\r
-aWE("vic",7);\r
-aWE("vid",61);\r
-aWE("view",0,17,1,18,20,2,21,5,25,26,9,27,28,29,11,12,32,36,39,40,67,68,43,44,45,47,49,50,52,72,73,53,54);\r
-aWE("visibl",53);\r
-aWE("visual",16);\r
-aWE("visualiz",53);\r
-aWE("vk",2);\r
-aWE("volum",13,14,15,16,17,2,22,6,25,8,10,12,60,61,34,66,68,70,52,72,73);\r
-aWE("volume_margin",66);\r
-aWE("vtk",0,53);\r
-aWE("vxy",8,70);\r
-aWE("wa_margin",66);\r
-aWE("walk",64);\r
-aWE("warp",16,26,60,66,49,54);\r
-aWE("way",14,17,23,24,25,12,64,38,51);\r
-aWE("weight",45);\r
-aWE("well",64);\r
-aWE("wheth",68);\r
-aWE("whil",39);\r
-aWE("whit",12,55);\r
-aWE("whol",2,11,12,67,68,45,48);\r
-aWE("whos",21,25,26,37,49);\r
-aWE("will",13,14,0,17,1,18,19,20,2,21,22,23,6,24,7,25,26,9,28,29,30,11,12,57,31,33,32,59,36,61,63,37,34,64,66,39,40,67,42,68,43,44,45,47,70,71,49,51,52,73,54);\r
-aWE("window",5);\r
-aWE("wir",15,8,12,33,61,63,70);\r
-aWE("wire_discretisation",61);\r
-aWE("wire_polylin",61);\r
-aWE("wire_polyline_edg",61);\r
-aWE("wire_polyline_mesh",61);\r
-aWE("wirefram",0,65);\r
-aWE("wish",23,7,9,31,53);\r
-aWE("within",19,64,43);\r
-aWE("without",1,12,66);\r
-aWE("word",19);\r
-aWE("work",1,12,63);\r
-aWE("worst",20);\r
-aWE("would",17,43);\r
-aWE("written",57,61,66,70);\r
-aWE("ww",8);\r
-aWE("x",14,5,54);\r
-aWE("x0",61);\r
-aWE("y",14,5);\r
-aWE("y0",61);\r
-aWE("your",13,14,16,0,17,1,18,19,20,2,21,5,22,23,24,25,28,29,30,31,33,32,35,36,34,64,65,38,39,40,41,68,44,45,46,47,48,52,73,54);\r
-aWE("z",14,5);\r
-aWE("z0",61);\r
-aWE("zero",64);\r
-aWE("zoom",53);\r
-\r
-//-->\r
-</script>\r
-</html>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whfwdata.js"></script>
+<script language="javascript">
+<!--
+//-->
+</script>
+<script language="javascript">
+<!--
+aWE("_grp",72);
+aWE("0",14,19,5,6,25,8,12,57,61,63,68,43,72,73,75);
+aWE("000001",68);
+aWE("001",73);
+aWE("0d",14);
+aWE("1",17,1,18,19,20,2,21,23,6,7,26,8,27,28,29,30,11,12,57,31,32,35,36,61,64,68,39,40,70,62,43,44,72,45,47,73,49,50,51,76,54);
+aWE("10",6,8,12,57,31,61,72,73,75);
+aWE("100",6,8,57,68,72,73);
+aWE("109",73);
+aWE("110",61);
+aWE("113",73);
+aWE("12",61,73);
+aWE("13",61);
+aWE("130",61);
+aWE("15",61,68,73);
+aWE("150",8,61,73);
+aWE("17",61);
+aWE("180",61);
+aWE("1d",13,14,15,16,19,23,6,8,11,12,60,61,63,37,67,68,69,70,72);
+aWE("1e",61,68);
+aWE("2",17,1,18,20,2,21,23,6,7,26,8,27,28,29,30,11,12,31,32,36,61,64,68,39,40,70,62,43,44,45,47,73,49,50,51,76,54);
+aWE("20",6,8,57,61,68,72,73,75);
+aWE("200",6,8,61,72);
+aWE("21",61,73);
+aWE("23",61,73);
+aWE("24",73);
+aWE("240",61);
+aWE("245",61);
+aWE("246",61);
+aWE("25",73);
+aWE("255",61);
+aWE("2d",13,14,15,16,18,20,4,23,6,8,11,12,57,33,32,60,36,63,64,66,67,68,69,70,43,72,73,54);
+aWE("3",14,18,20,21,23,6,7,26,8,27,28,11,12,57,31,61,63,64,68,39,40,70,62,43,44,72,45,73,49,50,75,54);
+aWE("30",8,61,63,73);
+aWE("300",6);
+aWE("3128",61);
+aWE("321",61);
+aWE("3265",61);
+aWE("3402",61);
+aWE("35",57,68);
+aWE("3658",61);
+aWE("38",61,68,73);
+aWE("39",61);
+aWE("3d",13,14,15,16,0,17,1,20,2,21,23,6,25,26,8,9,27,28,29,11,12,60,63,34,66,67,68,69,39,40,70,43,72,45,49,50,76,53);
+aWE("3e",68);
+aWE("3rd",14);
+aWE("3x3",61);
+aWE("4",14,18,20,23,6,26,8,28,12,31,61,64,68,62,43,44,47,73,54);
+aWE("40",57,61,72);
+aWE("405",61);
+aWE("406",61);
+aWE("45",12,61,73);
+aWE("47",61);
+aWE("492",61);
+aWE("493",61);
+aWE("5",5,6,8,61,68,73);
+aWE("50",8,61,73);
+aWE("502",61);
+aWE("503",61);
+aWE("58",73);
+aWE("5th",14);
+aWE("6",2,6,8,57,61,73);
+aWE("60",57,61,72);
+aWE("66632",61);
+aWE("69",73);
+aWE("7",6,8,57,61,68);
+aWE("70",8,61,73);
+aWE("71",73);
+aWE("72",73);
+aWE("73",61);
+aWE("8",57,61,68,73);
+aWE("80",61,72);
+aWE("800",6);
+aWE("814",61);
+aWE("850",61);
+aWE("859",61);
+aWE("89",73);
+aWE("9",61,73);
+aWE("90",73);
+aWE("900",6,75);
+aWE("91",73);
+aWE("92",73);
+aWE("95",68);
+aWE("9999",25);
+aWE("a_mesh",61);
+aWE("a10",61);
+aWE("a45",61);
+aWE("aa",61);
+aWE("abl",17,1,53);
+aWE("abord",68);
+aWE("aborder",68);
+aWE("abov",61,45);
+aWE("absent",51);
+aWE("absolute",74);
+aWE("abut",19);
+aWE("acces",0,71,53);
+aWE("accord",16,18,19,20,2,32,36,64,44,45,47,76,54);
+aWE("account",13,64);
+aWE("acomp",73);
+aWE("actual",63,37);
+aWE("ad",17,1,21,7,25,26,57,61,49,51);
+aWE("add",17,1,21,23,25,26,8,30,12,57,61,68,71,72,49);
+aWE("addedg",61);
+aWE("addfac",61);
+aWE("addition",26,60,61);
+aWE("additional",13,14,23,8,37,64,42,71,45);
+aWE("addnod",61);
+aWE("addobject",57);
+aWE("addpolygonalfac",61);
+aWE("addpolyhedralvolum",61);
+aWE("addtostudy",6,8,57,61,68,72,73,75);
+aWE("addtostudyinfath",6,8,57,61);
+aWE("addvolum",61);
+aWE("adjacent",28,36,63,37,39,43,49);
+aWE("adjust",45);
+aWE("adjustabl",37);
+aWE("advanc",0,52);
+aWE("afilt",57,68);
+aWE("afiltermgr",68);
+aWE("ageomgroup",57);
+aWE("agroup",57,68);
+aWE("agroup1",57);
+aWE("agroup2",57);
+aWE("agroup3",57);
+aWE("agroup4",57);
+aWE("agroup5",57);
+aWE("agroupelemid",57);
+aWE("agroupf",68);
+aWE("agroupmain",57);
+aWE("agroupn",68);
+aWE("agroupr",57);
+aWE("agrouptool",57);
+aWE("ai",19);
+aWE("al",61);
+aWE("algeady",67);
+aWE("algo",8,61,68,73);
+aWE("algo_local",6,8,73);
+aWE("algo1d",6,8,57,61,72,73,75);
+aWE("algo2d",6,8,61,72,73,75);
+aWE("algo3d",6,8,72,75);
+aWE("algorithm",13,14,15,16,0,18,23,6,24,8,12,33,60,63,34,64,66,67,69,38,43);
+aWE("allow",13,0,1,19,21,24,7,25,26,31,33,59,35,60,63,37,64,67,41,43,45,46,48,49,51,53);
+aWE("along",11,12,61,64,45,53);
+aWE("already",67);
+aWE("alternativ",23);
+aWE("alternative",0,1);
+aWE("alway",45);
+aWE("amesh",6);
+aWE("amount",3);
+aWE("analytic",19);
+aWE("angl",16,5,26,12,60,36,61,68,70,41,44,73,49,54);
+aWE("angle270",73);
+aWE("angle45",61);
+aWE("angularity",12);
+aWE("anid",57,68);
+aWE("anoth",15,37,67);
+aWE("any",14,1,23,25,28,12,57,64,69,45);
+aWE("ap",15,17,1,18,20,2,21,5,23,7,25,26,8,9,27,28,30,11,12,32,59,60,36,61,64,67,38,39,40,70,43,44,45,46,47,49,50,51,76,54);
+aWE("api",72);
+aWE("apparent",23);
+aWE("appear",0,17,1,21,23,24,7,26,27,28,30,11,12,35,64,67,39,40,70,41,46,48,49,50,51);
+aWE("append",61);
+aWE("appli",18,19,20,2,23,24,33,32,36,34,37,69,38,71,44,45,47,76,54);
+aWE("applicabl",20,71);
+aWE("application",16,64);
+aWE("apply",13,0,23,24,25);
+aWE("applytomeshfac",61);
+aWE("appropriat",23);
+aWE("approximate",19);
+aWE("ar_margin",68);
+aWE("arc",8,73);
+aWE("arcsin",54);
+aWE("area",13,16,18,8,57,33,60,34,68,45,47,53);
+aWE("area_margin",68);
+aWE("arithmetic",13,19,6,8,60);
+aWE("arithmetic1d",6,8,73);
+aWE("around",5,12,70,53);
+aWE("array_of_nodes_group",73);
+aWE("asmeshgroup1",57);
+aWE("asmeshgroup2",57);
+aWE("aspect",16,20,2,60,68,45);
+aWE("assemb",72);
+aWE("assign",19,23,25,8,38,54);
+aWE("associat",17,29,39);
+aWE("attribut",25);
+aWE("auto",5);
+aWE("automatic",13,19,23,60,64);
+aWE("automatical",0,19,21,23,26,28,49);
+aWE("availabl",43,53);
+aWE("averag",13,19,8,33,60,64,54);
+aWE("ax",53);
+aWE("axi",11,61,70,41,46,73,53,54);
+aWE("axisstruct",61,73);
+aWE("axisxyz",61,73);
+aWE("background",0);
+aWE("bar",16);
+aWE("bas",13,18,8,12,60,54);
+aWE("basi",14,23,24);
+aWE("basic",13,15,0);
+aWE("bb",61);
+aWE("be",67);
+aWE("becom",63,64);
+aWE("befor",71,73);
+aWE("begin",19,43);
+aWE("belong",3,4,25,55,56,67,43,51);
+aWE("below",61,63,72);
+aWE("berder",43);
+aWE("bet",20);
+aWE("binary",71);
+aWE("bisect",54);
+aWE("bisector",54);
+aWE("bit",71);
+aWE("black",0);
+aWE("blu",3);
+aWE("bmp",0,53);
+aWE("bog",19);
+aWE("boolean",61,51);
+aWE("bord",43,73);
+aWE("border",16,3,4,55,56,60,68,43,73);
+aWE("both",0,12,69,45,51);
+aWE("bottom",61,42);
+aWE("bound",14,64,53);
+aWE("boundari",64);
+aWE("boundary",13,25,64,43,45);
+aWE("box",17,1,19,21,23,6,24,7,26,8,27,28,30,11,12,57,31,59,35,63,64,67,68,39,40,70,41,42,71,43,72,45,46,73,48,49,50,51,52,75,53);
+aWE("box_1",61);
+aWE("box_cyl",72);
+aWE("box1",68,73);
+aWE("box2",68,73);
+aWE("broken",1,37);
+aWE("brown",25);
+aWE("brows",0,17,1,22,23,24,25,9,30,65,39,40,71,52);
+aWE("build",8,11,33,61,63,37,64,66,70,72);
+aWE("built",20,24,12,64,45);
+aWE("button",17,1,18,20,2,21,5,23,24,7,25,26,9,27,28,30,11,12,31,32,36,64,67,38,39,40,70,41,71,43,44,45,46,47,48,49,50,51,52,76,53,54);
+aWE("cad",14);
+aWE("cal",64);
+aWE("calculat",16,20,2,33,47);
+aWE("calculation",13,18,32,36);
+aWE("careful",39);
+aWE("cas",17,23,6,8,28,12,64,52);
+aWE("caviti",15);
+aWE("cc",61);
+aWE("cel",25,63,39,50);
+aWE("cent",12,45,53);
+aWE("central",12);
+aWE("centroid",45);
+aWE("centroidal",45);
+aWE("centroidal_smooth",61);
+aWE("certain",25,64);
+aWE("chang",0,19,21,6,28,61,37,38,53);
+aWE("characteristic",16);
+aWE("characteriz",14);
+aWE("check",25,63,43,53);
+aWE("checkbox",17,63,71,48);
+aWE("choic",13,23,64);
+aWE("choos",17,1,18,20,2,21,22,7,25,26,9,27,28,10,29,11,12,31,32,35,36,64,39,40,70,41,42,71,43,44,46,47,48,49,50,76,53,54);
+aWE("chosen",20,26,33,34,49);
+aWE("circl",12,73);
+aWE("circlemesh",73);
+aWE("circular",61);
+aWE("clas",62);
+aWE("clear",62,71);
+aWE("click",0,17,1,18,20,2,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,32,36,64,65,67,38,39,40,70,42,71,43,44,45,47,49,50,51,52,76,53,54);
+aWE("clip",0,5);
+aWE("clos",14,20,9,12,61,43);
+aWE("co",61,43);
+aWE("coars",19,7,63);
+aWE("coincid",59);
+aWE("coincident",12,59,35);
+aWE("color",16,0,18,20,2,25,32,36,44,47,76,53,54);
+aWE("combin",10,32,65,71);
+aWE("common",27,71,50);
+aWE("comp",68);
+aWE("compar",19,43);
+aWE("complete",59);
+aWE("complex",1,12);
+aWE("component",60,42);
+aWE("compos",13,14,15,16,0,19,2,29,33,34,69,44);
+aWE("compound",68);
+aWE("comput",0,19,23,6,8,57,61,64,68,43,72,73,75);
+aWE("computation",23,24,8,61);
+aWE("con",72);
+aWE("concept",37);
+aWE("concern",69);
+aWE("condition",13,25);
+aWE("confirm",21,26,30,39,45,49,51);
+aWE("confirmation",25);
+aWE("conform",13,37,43,73);
+aWE("conformity",20);
+aWE("connect",19,26,66,45);
+aWE("connection",14,16,3,4,60,68);
+aWE("connectivity",64);
+aWE("consid",20,23);
+aWE("consider",14,20,2,43);
+aWE("consist",16,1,18,19,20,3,4,22,23,24,25,12,55,56,57,33,32,36,34,69,47);
+aWE("consol",52);
+aWE("constant",19);
+aWE("construct",15,19,22,23,6,24,38);
+aWE("construction",19,23,6,24);
+aWE("contain",14,15,21,23,24,25,26,12,31,33,64,45,49);
+aWE("content",9,53);
+aWE("continu",45);
+aWE("contour",14,43);
+aWE("contrast",49);
+aWE("control",16,0,18,20,2,3,4,26,55,56,58,32,60,36,68,44,47,49,76,54);
+aWE("converg",45);
+aWE("conversion",19,7);
+aWE("convert",7);
+aWE("coordinat",14,17,28,64,53);
+aWE("copy",41,71,46,73,48);
+aWE("corn",1,54);
+aWE("corner",26,12,45,54);
+aWE("correspond",14,16,31,64,68,71,43,48);
+aWE("cos_bot",61);
+aWE("cos_top",61);
+aWE("cosal",61);
+aWE("cot",72);
+aWE("could",14,17,67);
+aWE("count",43);
+aWE("counterclockwis",64);
+aWE("cours",23);
+aWE("cover",12);
+aWE("creat",14,0,17,1,19,5,23,6,24,25,8,30,57,35,60,61,63,37,64,67,68,38,41,71,72,46,73,48,51,75,54);
+aWE("createemptygroup",57,68);
+aWE("createfiltermanag",68);
+aWE("creategroup",57,61,68,72);
+aWE("createpolyedr",73);
+aWE("createpolygon",73);
+aWE("creation",14,37,64,38,62,72,51);
+aWE("criteria",60,71);
+aWE("criterion",18,20,2,25,26,57,58,32,36,68,71,44,47,49,76,54);
+aWE("cros",0,5,54);
+aWE("cubic",15);
+aWE("current",21,23,26,63,67,38,71,43,49);
+aWE("curv",14,19,12,61);
+aWE("curvilinear",19,12);
+aWE("custom",63);
+aWE("cut",19,6,26,8,57,61,51);
+aWE("cutgroup",57);
+aWE("cyl",8,72);
+aWE("cylind",8,72);
+aWE("d",19);
+aWE("data",62);
+aWE("dd",61);
+aWE("dea",31);
+aWE("deal",14);
+aWE("def",6,61,62);
+aWE("default",0,23,12,57,63,65,71,74,53);
+aWE("defin",14,15,1,19,20,5,23,6,24,25,8,12,61,63,37,64,66,67,62,43,72,73,53);
+aWE("definit",14,16,19,21,22,25,26,60,38,39,49);
+aWE("definition",0,19,6,12,33,63,34);
+aWE("deflection",13,19,8,60);
+aWE("deflection1d",8);
+aWE("deform",53);
+aWE("degre",20,5);
+aWE("delet",9,56,61,39,71);
+aWE("deletediag",61);
+aWE("deletion",39,50);
+aWE("density",19);
+aWE("depend",13,14,23,33,34);
+aWE("describ",14,15,64);
+aWE("description",64);
+aWE("desirabl",35);
+aWE("desktop",42);
+aWE("destin",14,16,60,62);
+aWE("detail",13,15,0);
+aWE("detalization",63);
+aWE("detect",35);
+aWE("dh",61);
+aWE("di1",72);
+aWE("diagonal",26,27,61,47);
+aWE("dialog",17,1,19,21,23,24,7,26,27,28,30,11,12,31,59,35,64,67,39,40,70,41,43,45,46,48,49,50,51);
+aWE("diamet",20);
+aWE("dif",1,63);
+aWE("differ",19);
+aWE("differenc",12,43);
+aWE("different",13,17,25,12,67,38,71,43);
+aWE("digit",12);
+aWE("dimension",14,2,23,11,63,70,52);
+aWE("direct",14,6,43,45);
+aWE("direction",12,64,54);
+aWE("dirstruct",61,73);
+aWE("discretiz",11,70);
+aWE("discretization",14,15);
+aWE("displac",28);
+aWE("display",16,0,1,18,20,2,3,21,23,24,25,26,28,10,29,55,32,36,65,44,45,47,49,52,76,53,54);
+aWE("distanc",19,5,64,53,54);
+aWE("distinguish",25);
+aWE("distortion",45);
+aWE("distribution",19,69);
+aWE("divid",19);
+aWE("do",17);
+aWE("docopy",73);
+aWE("documentation",62);
+aWE("domain",64);
+aWE("don",14,23,12,61,37,67,53);
+aWE("doubl",1);
+aWE("downward",53);
+aWE("dr",61);
+aWE("drag",53);
+aWE("drawn",53);
+aWE("dump",0,53);
+aWE("duplicat",12);
+aWE("dx",61);
+aWE("dy",61);
+aWE("e",20,23,24,26,12,63,64,66,69,43,49);
+aWE("e_arc",8);
+aWE("e_straight",8);
+aWE("e1",61);
+aWE("easi",22);
+aWE("easy",62);
+aWE("edg",13,14,15,16,0,17,1,19,20,3,4,22,23,6,25,26,8,27,28,10,12,55,56,57,58,33,32,60,61,63,37,64,66,67,68,71,43,45,73,49,50,75,54);
+aWE("edge_",61);
+aWE("edge_bezierrr",61);
+aWE("edge_bezierrr_mesh",61);
+aWE("edge_circl",61);
+aWE("edge_circle_mesh",61);
+aWE("edge_straight",61);
+aWE("edge_straight_mesh",61);
+aWE("edge1",73);
+aWE("edgeslist",73);
+aWE("edgex",6,8);
+aWE("edit",6,9,30,57,35,38);
+aWE("edition",62,72);
+aWE("ee_1",61);
+aWE("ee_2",61);
+aWE("ee_3",61);
+aWE("ee_4",61);
+aWE("ee_5",61);
+aWE("ee_6",61);
+aWE("ee_7",61);
+aWE("effect",49);
+aWE("eith",64,66,43);
+aWE("element",13,14,15,16,0,17,1,18,19,20,2,4,21,22,7,25,26,8,9,27,28,29,30,11,12,56,57,33,32,59,60,36,61,63,34,37,64,66,68,39,40,70,41,71,43,44,45,46,47,73,48,49,51,52,76,54);
+aWE("els",6,8,61,64);
+aWE("empty",61);
+aWE("enabl",71);
+aWE("encapsulat",24);
+aWE("encounter",64);
+aWE("end",13,19,8,60,37,71,43,48);
+aWE("enough",43);
+aWE("ent",25,27,28,31,50);
+aWE("entiti",14,15);
+aWE("entity",14,0,10,71);
+aWE("equal",19,33,64,71,43,45);
+aWE("equidistant",19);
+aWE("equilateral",20);
+aWE("eras",0);
+aWE("error",61);
+aWE("etc",16,2,26,49);
+aWE("even",23,33,63);
+aWE("eventual",64);
+aWE("every",54);
+aWE("everyth",23);
+aWE("ex21_lamp",72);
+aWE("examin",12);
+aWE("exampl",14,2,23,6,25,12,64,62,72,51);
+aWE("exce",19);
+aWE("exceed",45);
+aWE("except",43,53);
+aWE("exist",13,21,25,26,30,64,71,49);
+aWE("existenc",23);
+aWE("explod",61);
+aWE("exponent",19);
+aWE("export",0,6,31,60,53);
+aWE("exportation",31);
+aWE("exportm",6);
+aWE("extend",53,54);
+aWE("external",12);
+aWE("extreme",19);
+aWE("extremiti",5);
+aWE("extrud",11,12,61,70);
+aWE("extrusion",11,12,61,73);
+aWE("extrusionalongpath",61,73);
+aWE("extrusionsweepobject",61);
+aWE("exy",8);
+aWE("f",19,8);
+aWE("f1",61);
+aWE("f2",61);
+aWE("f3",61);
+aWE("f4",61);
+aWE("f5",61);
+aWE("fac",13,14,15,0,17,19,2,3,22,23,6,24,25,8,10,12,55,57,33,60,61,63,37,64,66,67,68,71,43,72,73,52,75,54);
+aWE("face_1",61);
+aWE("face_2",61);
+aWE("face1",8,73);
+aWE("face2",73);
+aWE("facelist",68);
+aWE("faceslist1",73);
+aWE("faceslist2",73);
+aWE("facesrotat",61);
+aWE("factor",19,26);
+aWE("factoryserv",62);
+aWE("fail",61);
+aWE("far",43);
+aWE("fashion",12);
+aWE("fast",45);
+aWE("featur",25);
+aWE("ff",61);
+aWE("ff_1",61);
+aWE("ff_2",61);
+aWE("ff_3",61);
+aWE("ff_4",61);
+aWE("ff_5",61);
+aWE("ff_6",61);
+aWE("ff_7",61);
+aWE("field",17,1,21,25,27,28,67,40,71,43,45,49,50);
+aWE("fifth",43);
+aWE("fil",6,31,64,71);
+aWE("fill",68,69,40,43);
+aWE("filt",21,25,26,71,49);
+aWE("filter",25,71);
+aWE("fin",19,63);
+aWE("find",31,64,43);
+aWE("findcoincidentnod",73);
+aWE("findorloadcomponent",62);
+aWE("finenes",19,63);
+aWE("first",1,19,23,6,12,57,61,37,64,67,43);
+aWE("firstnodeid1",73);
+aWE("firstnodeid2",73);
+aWE("firstnodeidonfreebord",73);
+aWE("firstnodeidonsid",73);
+aWE("fit",53);
+aWE("fiv",61);
+aWE("fix",14,6,8,45);
+aWE("flag",64);
+aWE("fold",23,24);
+aWE("follow",13,14,17,1,2,21,23,24,7,25,26,27,28,29,30,11,12,35,61,64,67,39,40,70,41,43,45,46,48,49,50,51,52);
+aWE("font",53);
+aWE("form",1,27,30,64,43);
+aWE("format",0,31,60,53);
+aWE("formula",19,20,2);
+aWE("four",14,20,54);
+aWE("fourth",61);
+aWE("fram",53);
+aWE("fre",14,16,55,56,60,68,43,45,73);
+aWE("ft_area",57,68);
+aWE("ft_aspectratio",68);
+aWE("ft_aspectratio3d",68);
+aWE("ft_equalto",57,68);
+aWE("ft_freeborder",68);
+aWE("ft_length",68);
+aWE("ft_length2d",68);
+aWE("ft_lessthan",57,68);
+aWE("ft_minimumangl",61,68);
+aWE("ft_morethan",57,68);
+aWE("ft_multiconnection",68);
+aWE("ft_multiconnection2d",68);
+aWE("ft_skew",68);
+aWE("ft_tap",68);
+aWE("ft_volume3d",68);
+aWE("ft_warp",68);
+aWE("full_netgen",8);
+aWE("function",14,62);
+aWE("functionaliti",53);
+aWE("functionality",23,7,31,59,35,43,53);
+aWE("fus",72);
+aWE("futur",19);
+aWE("g",24);
+aWE("gaus",53);
+aWE("generat",13,14,16,19,23,60,37,64);
+aWE("generation",6,11,64,70,72);
+aWE("geom",14,60);
+aWE("geometric",14,16,8);
+aWE("geometrical",13,14,15,19,23,24,25,33,60,34,64,67,38,41,45,46,48,52);
+aWE("geometry",24,7,25,57,61,67,72,45);
+aWE("geompy",6,8,57,61,68,72,73,75);
+aWE("get",0,5,23,8,12,57,64,52);
+aWE("getedgenearpoint",6,8);
+aWE("geterrorcod",61);
+aWE("getfilt",57,68);
+aWE("getfreeborder",68);
+aWE("getidsfromfilt",57,68);
+aWE("getlistofid",57);
+aWE("getmesh",6,61);
+aWE("getnam",62);
+aWE("getpattern",61);
+aWE("ghs3d",62);
+aWE("giv",71,52);
+aWE("given",19,33,61,43);
+aWE("global",8,53);
+aWE("glu",68);
+aWE("good",6,45);
+aWE("got",64);
+aWE("graduat",53);
+aWE("graphical",0);
+aWE("great",19,53);
+aWE("greatest",20,2);
+aWE("green",25,12);
+aWE("group",21,22,25,26,9,30,12,57,35,60,61,68,71,72,45,48,49,51,52);
+aWE("group_nam",72);
+aWE("group1",51);
+aWE("group12",51);
+aWE("group12a",51);
+aWE("group12b",51);
+aWE("group2",51);
+aWE("groupongeom",57,61);
+aWE("grouprotat",61);
+aWE("groupsmooth",61);
+aWE("groupsofnod",73);
+aWE("grouptri",61);
+aWE("growth",63);
+aWE("h",54);
+aWE("half",20,54);
+aWE("halv",5);
+aWE("hasangl",61);
+aWE("hasrefpoint",61);
+aWE("hav",20,33,37,64,66);
+aWE("hedron",61);
+aWE("height",72,54);
+aWE("helical",12);
+aWE("help",16);
+aWE("henc",64);
+aWE("her",64);
+aWE("hexa",8);
+aWE("hexahedral",15,6,8);
+aWE("hexahedralization",23);
+aWE("hexahedrical",8);
+aWE("hexahedron",14,15,17,2,8,61,34,66,75);
+aWE("hh",61);
+aWE("hid",0,53);
+aWE("high",14);
+aWE("highlight",3,4,21,25,26,55,56,49);
+aWE("hmax",20);
+aWE("hol",56,61);
+aWE("hold",64);
+aWE("hollow",69);
+aWE("homogeneou",63);
+aWE("how",15,12,63,38);
+aWE("hyp",24,61);
+aWE("hyp1",6);
+aWE("hyp2",6);
+aWE("hyp3",6);
+aWE("hyp4",6);
+aWE("hypothes",13,0,19,23,6,24,8,33,60,63,37,69,38);
+aWE("hypothesi",13,19,23,6,8,33,61,34,37,38,72);
+aWE("i",15,20,23,26,12,57,31,61,63,64,66,68,69,43,49);
+aWE("icon",30,39,42);
+aWE("id",0,19,21,25,26,27,28,29,11,12,57,61,70,43,45,49,50);
+aWE("id_circl",73);
+aWE("id_fac",8);
+aWE("id_face1",73);
+aWE("idbox",6,68);
+aWE("idea",12);
+aWE("idl",6);
+aWE("idsofelement",61);
+aWE("idsoffixednod",61);
+aWE("idsofside1element",73);
+aWE("idsofside2element",73);
+aWE("if",14,17,5,23,6,24,7,8,11,12,57,33,61,63,37,64,67,68,38,39,70,71,43,45,49,53);
+aWE("ii",61);
+aWE("imag",0,12,53);
+aWE("imp",14);
+aWE("import",6,8,57,31,60,61,68,72,73,75);
+aWE("importation",31);
+aWE("in",69);
+aWE("includ",14,52);
+aWE("increas",6,8);
+aWE("index",25,64);
+aWE("indic",64);
+aWE("indicat",67,54);
+aWE("info",0,52,75);
+aWE("information",14,0,6,7,30,69,52,75);
+aWE("initial",12,61,71,46,51);
+aWE("input",1,19);
+aWE("inscrib",20);
+aWE("insert",71,43);
+aWE("instead",6,37,64);
+aWE("int",62);
+aWE("intact",9);
+aWE("integ",25);
+aWE("intend",43);
+aWE("interest",14);
+aWE("interfac",6,72);
+aWE("intermediat",43);
+aWE("internal",64,69);
+aWE("intersect",64,51);
+aWE("intersectgroup",57);
+aWE("intersection",57,64,69,51);
+aWE("introduc",13,25,37);
+aWE("introduction",60,72);
+aWE("invers",14,27,61);
+aWE("inversediag",61);
+aWE("inversion",27,61);
+aWE("invisibl",74);
+aWE("isdon",61);
+aWE("iso",64);
+aWE("isolin",64);
+aWE("isometric",53);
+aWE("isplanarfac",8,73);
+aWE("item",17,1,21,22,7,26,27,28,30,11,12,31,35,64,40,70,41,43,45,46,48,49,50,51);
+aWE("iteration",12,45);
+aWE("iterativ",45);
+aWE("iv",61);
+aWE("j",15,57,68);
+aWE("join",44);
+aWE("jpeg",0,53);
+aWE("jpg",0,53);
+aWE("just",1,64,39);
+aWE("k",15,19,20);
+aWE("keep",12,45,46);
+aWE("key",64);
+aWE("keyboard",26);
+aWE("know",64);
+aWE("ko",61);
+aWE("l",54);
+aWE("label",53);
+aWE("laplacian",45);
+aWE("last",1,19,12,37,43);
+aWE("lastnodeid1",73);
+aWE("lastnodeid2",73);
+aWE("lastnodeidonfreebord",73);
+aWE("lastnodeidonsid",73);
+aWE("lay",11,64,70);
+aWE("layer",69);
+aWE("lcc",62);
+aWE("learn",52);
+aWE("least",64,45);
+aWE("leav",23,9);
+aWE("left",0,12,64,53);
+aWE("len",57,61,68);
+aWE("length",13,16,19,20,6,8,58,33,32,60,68,43,53,54);
+aWE("length_margin",68);
+aWE("lengthfromedg",8,72,73);
+aWE("les",71,43,45);
+aWE("level",13,17,63);
+aWE("library",25,71);
+aWE("lik",17,2,29,43);
+aWE("limit",64,43,45);
+aWE("limitation",67);
+aWE("lin",14,1,19,11,37,64,70,44);
+aWE("linear",12,63);
+aWE("link",43);
+aWE("list",0,17,21,25,26,9,12,67,71,49);
+aWE("lk",19);
+aWE("ll",53);
+aWE("load",64,71);
+aWE("loadfromfac",61);
+aWE("local",6,24,8,60,37);
+aWE("locallength",8,72);
+aWE("locat",64,43,53);
+aWE("location",19,28,31,45);
+aWE("lock",26,45,53);
+aWE("longest",20);
+aWE("look",29,12,64,71);
+aWE("low",14,19,63);
+aWE("ly",64);
+aWE("main",21,26,9,12,37,64,71,49,51);
+aWE("makearc",8,73);
+aWE("makebezi",61);
+aWE("makebox",6,57,68,72,73,75);
+aWE("makeboxdxdydz",6,8,61);
+aWE("makecirclethreepnt",61,73);
+aWE("makecompound",68,73);
+aWE("makecon",72);
+aWE("makecylind",72);
+aWE("makecylinderrh",8);
+aWE("makeedg",8,61);
+aWE("makefac",8,73);
+aWE("makefus",72);
+aWE("makegluefac",68);
+aWE("makegroupbyid",57);
+aWE("makemesh",61);
+aWE("makepolygon",61);
+aWE("makepolylin",61);
+aWE("makequadmesh2",61);
+aWE("makeshell",68);
+aWE("makesketch",8);
+aWE("maketranslation",68);
+aWE("makevector",8,73);
+aWE("makevectordxdydz",72);
+aWE("makevertex",6,8,61,72,73);
+aWE("makewir",8,73);
+aWE("manag",13,17);
+aWE("manual",25,63,64,53);
+aWE("map",15,33,61,64);
+aWE("mark",53);
+aWE("mas",12);
+aWE("math",61,73);
+aWE("max",13,8,33,60,63,34,45);
+aWE("maxaspectratio",61);
+aWE("maxelementarea",6,8,61,68,75);
+aWE("maxelementvolum",6,8,72,75);
+aWE("maximum",19,8,33,63,34,44,45,52);
+aWE("maxnbofiteration",61);
+aWE("mean",14,63);
+aWE("meaningful",14);
+aWE("measur",54);
+aWE("medium",7);
+aWE("meet",26,49);
+aWE("mefisto",15,8);
+aWE("menu",17,1,19,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,35,37,64,67,39,40,70,41,42,71,43,45,46,48,49,50,51,52);
+aWE("merg",59,35,43,73);
+aWE("mergeequalelement",73);
+aWE("mergenod",73);
+aWE("mesh",13,14,15,16,0,17,1,18,19,20,2,3,4,21,5,22,23,6,24,7,25,26,8,9,27,28,29,30,11,12,55,56,57,31,33,32,59,35,60,36,61,63,34,37,64,65,66,67,68,69,38,39,40,70,41,42,62,71,43,44,72,45,46,47,73,48,49,50,51,52,75,76,53,54);
+aWE("mesh_1",23,61);
+aWE("mesh_2",61);
+aWE("mesh_borders_at_multi",68);
+aWE("mesh_free_border",68);
+aWE("mesh_length_1d",68);
+aWE("mesh_length_2d",68);
+aWE("mesh_nam",61);
+aWE("mesh1d",61);
+aWE("mesh1d_tool",61);
+aWE("meshbox",6,75);
+aWE("mesheditor",61);
+aWE("meshm",6);
+aWE("method",61,45);
+aWE("middl",1,12,37);
+aWE("min_angl",68);
+aWE("minimum",16,19,26,60,36,63,68,43,49);
+aWE("mirror",73);
+aWE("mod",0,19,65);
+aWE("model",14,60);
+aWE("modification",14,17,1,21,7,26,27,28,30,11,12,35,60,64,39,40,70,41,43,45,46,48,49,50);
+aWE("modify",21,26,30,61,49);
+aWE("modul",14,15,1,19,6,25,60,42,72,53);
+aWE("mous",0,25,53);
+aWE("mov",28,61);
+aWE("movenod",61);
+aWE("much",63);
+aWE("multi",16,3,4,60,68);
+aWE("multiconnection",68);
+aWE("must",23,12,64,71,43);
+aWE("myelemid",68);
+aWE("mypnt1",68);
+aWE("mypnt2",68);
+aWE("n",64,43);
+aWE("n1",61);
+aWE("n10",61);
+aWE("n11",61);
+aWE("n12",61);
+aWE("n2",61);
+aWE("n23_param",8);
+aWE("n3",61);
+aWE("n4",61);
+aWE("n5",61);
+aWE("n6",61);
+aWE("n7",61);
+aWE("n8",61);
+aWE("n9",61);
+aWE("na",61);
+aWE("nam",23,6,24,25,30,57,31,61,63,67,62,71,72,51,53);
+aWE("nb",57,61,63,68);
+aWE("nb_conn",68);
+aWE("nb_vert",61);
+aWE("nbedg",6,73,75);
+aWE("nbfac",6,75);
+aWE("nbhexa",75);
+aWE("nbnod",6,73,75);
+aWE("nbpolygon",75);
+aWE("nbpolyhedron",75);
+aWE("nbprism",75);
+aWE("nbpyramid",75);
+aWE("nbquadrangl",73,75);
+aWE("nbseg",61);
+aWE("nbtetra",75);
+aWE("nbtriangl",73,75);
+aWE("nbvolum",6,73,75);
+aWE("nc",61);
+aWE("nd",61);
+aWE("ndiagonal",61);
+aWE("ne",23);
+aWE("necessary",17,67);
+aWE("need",69);
+aWE("negativ",19);
+aWE("neighbor",27,50);
+aWE("netgen",15,6,8,63,62,72,75);
+aWE("netgen_2d3d",8);
+aWE("new",0,5,23,24,25,28,61,64,38,71,51);
+aWE("new_id",61);
+aWE("next",19,64);
+aWE("nid",61);
+aWE("nid1",61);
+aWE("nid2",61);
+aWE("nid3",61);
+aWE("nid4",61);
+aWE("no_nam",62);
+aWE("nod",14,0,17,1,18,19,20,21,22,6,7,25,28,29,11,12,33,35,60,61,63,64,65,68,39,40,70,71,43,44,45,47,73,52,75,54);
+aWE("nodal",64,45);
+aWE("node_id",61);
+aWE("nodeid1ofside1tomerg",73);
+aWE("nodeid1ofside2tomerg",73);
+aWE("nodeid2ofside1tomerg",73);
+aWE("nodeid2ofside2tomerg",73);
+aWE("nodestart",61);
+aWE("non",23);
+aWE("nonam",62);
+aWE("normal",46,54);
+aWE("normalisation",20);
+aWE("not",17,20,23,25,9,12);
+aWE("noth",25);
+aWE("notic",14);
+aWE("now",5,23);
+aWE("nsmooth",61);
+aWE("numb",13,14,15,1,19,6,25,8,11,33,60,63,64,66,69,70,43,45,73,52,75,53);
+aWE("number",0,1,29,12);
+aWE("numberofsegment",6,8,57,61,68,73,75);
+aWE("numeric",26);
+aWE("numerical",13);
+aWE("nunit",61);
+aWE("obey",43);
+aWE("obj",62);
+aWE("object",13,15,0,17,1,19,5,22,23,24,7,25,26,9,30,31,33,61,63,34,64,65,67,38,39,40,41,48,49,52,76,53);
+aWE("objet",25);
+aWE("obtain",17,68);
+aWE("offset",53);
+aWE("ok",17,1,21,5,7,26,9,27,28,30,11,12,31,61,39,40,70,43,45,49,50,51);
+aWE("on",14,1,19,23,6,24,26,8,9,27,11,12,55,56,59,61,37,64,68,69,38,39,70,71,43,45,46,48,49,51);
+aWE("onc",49);
+aWE("onto",37,64);
+aWE("oo",20);
+aWE("opaqu",74);
+aWE("open",68);
+aWE("operat",13);
+aWE("operation",15,17,18,19,20,2,3,4,21,24,25,26,9,27,28,30,11,12,55,56,31,58,33,32,59,35,60,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,76,54);
+aWE("oppos",66);
+aWE("opposit",13,5,6,26,8,33,37,43,44);
+aWE("optimiz",63);
+aWE("option",14,0,19,46,48);
+aWE("optional",23,12,67);
+aWE("ord",14,21,63,64);
+aWE("ordinary",1,37);
+aWE("orientat",53);
+aWE("orientation",21,5,26,61,67,49);
+aWE("origin",53,54);
+aWE("other",49);
+aWE("otherwis",23,33);
+aWE("our",23);
+aWE("out",69,53);
+aWE("outlin",56);
+aWE("outsid",64);
+aWE("own",14);
+aWE("p5",6,8);
+aWE("packag",6,62,72);
+aWE("pag",15,25,30);
+aWE("pair",19);
+aWE("pan",53);
+aWE("paramet",14,19,2,71,43);
+aWE("parameter",13,0,5,8,12,63,41,43,53);
+aWE("parametric",14,64);
+aWE("parent",24);
+aWE("part",61,43,45,53);
+aWE("particularity",14);
+aWE("pas",6,57,61,68);
+aWE("path",12,61,71,73);
+aWE("pathmesh",61);
+aWE("pathshap",61);
+aWE("pattern",61,64);
+aWE("pattern_nam",64);
+aWE("pentagonal",61);
+aWE("pentahedron",2);
+aWE("per",63);
+aWE("perform",60,61,40,43,46,51,53);
+aWE("perimet",20);
+aWE("permit",66,67);
+aWE("pi",61,73);
+aWE("pictur",3,25,12,55,56,59);
+aWE("piec",72);
+aWE("plac",7,43,53);
+aWE("plan",5,68,46,54);
+aWE("planar",61,54);
+aWE("platform",25,42);
+aWE("pleas",9,12);
+aWE("plot",19);
+aWE("plu",11,70);
+aWE("png",0,53);
+aWE("point",14,1,19,12,61,37,64,67,70,41,43,46,73,48,53,54);
+aWE("pointstruct",61,73);
+aWE("polygon",17,61,75);
+aWE("polygonal",61);
+aWE("polyhedral",17,61);
+aWE("polyhedron",17,61,66,75);
+aWE("polylin",12);
+aWE("pop",9,29);
+aWE("position",14,64,53);
+aWE("posses",63,37);
+aWE("possibility",71);
+aWE("possibl",13,2,25,63,64);
+aWE("post",53);
+aWE("powerful",71);
+aWE("precision",17);
+aWE("preferenc",13,33,60,65);
+aWE("prefix",71);
+aWE("preproces",25);
+aWE("pres",17,1,12,39,53);
+aWE("present",14,0,63,51);
+aWE("presentation",16,0,53);
+aWE("preserv",64);
+aWE("preset",13);
+aWE("preview",17,5,26,64,71);
+aWE("previou",19,12,49);
+aWE("previous",24,25,60,64);
+aWE("principl",12);
+aWE("print",6,8,57,61,68,73,75);
+aWE("printmeshinfo",6);
+aWE("prism",66,69,75);
+aWE("prism3d",66);
+aWE("prismatic",15);
+aWE("pro",53);
+aWE("problem",6,8);
+aWE("proce",23,9);
+aWE("procedur",45);
+aWE("proceed",12,38);
+aWE("proces",45);
+aWE("produc",14,7,11,70,45);
+aWE("product",54);
+aWE("program",23);
+aWE("progression",19);
+aWE("project",64);
+aWE("projection",15,64,66,67,69,54);
+aWE("prompt",19);
+aWE("propagat",6,8,37);
+aWE("propagation",13,6,8,37,73);
+aWE("properti",53);
+aWE("prov",63);
+aWE("provid",0,17,26,72);
+aWE("pseudo",27);
+aWE("pt1",72);
+aWE("pt2",72);
+aWE("pul",45);
+aWE("put",8);
+aWE("px",8,73);
+aWE("px1",73);
+aWE("py",8,73);
+aWE("py1",73);
+aWE("pyramid",75);
+aWE("pyramidal",15);
+aWE("python",6,62,72,52);
+aWE("pz",8,73);
+aWE("pz1",73);
+aWE("q1",61);
+aWE("qi",2);
+aWE("qk",20,2);
+aWE("quad",54);
+aWE("quad_1",61);
+aWE("quad_2",61);
+aWE("quad_3",61);
+aWE("quad_4",61);
+aWE("quad_5",61);
+aWE("quad_6",61);
+aWE("quad_7",61);
+aWE("quadra",6,57);
+aWE("quadrangl",13,14,15,17,18,20,2,6,26,8,27,11,12,57,33,32,60,36,61,63,66,69,70,44,73,75);
+aWE("quadrangle",66);
+aWE("quadrangular",15,6,8,33,37);
+aWE("quadratic",13,1,7,63,37);
+aWE("quadtotri",61);
+aWE("quality",16,0,18,19,20,2,3,4,26,55,56,58,32,60,36,68,44,47,49,76,54);
+aWE("quantity",13);
+aWE("r1",61);
+aWE("radial",69);
+aWE("radio",21,25,26,41,43,46,49);
+aWE("radiu",20,61,63);
+aWE("radius",63);
+aWE("radius_1",72);
+aWE("radius_2",72);
+aWE("rang",19,25,57,61,63,68);
+aWE("rat",63);
+aWE("ratio",16,20,2,60,68,45,47,54);
+aWE("ready",23);
+aWE("recent",0);
+aWE("red",56);
+aWE("redefin",0,53);
+aWE("reduc",45);
+aWE("reevaluat",45);
+aWE("refer",64);
+aWE("referenc",14,16,23,24);
+aWE("refin",13);
+aWE("reflect",64,44,76);
+aWE("refpoint",61);
+aWE("refresh",0);
+aWE("regular",20,6,8,63,62);
+aWE("relat",42);
+aWE("relation",14);
+aWE("relationship",14);
+aWE("remot",53);
+aWE("remov",21,6,25,26,9,30,12,57,61,68,39,71,49);
+aWE("removal",60);
+aWE("removeelement",61,68);
+aWE("removehypothesi",6);
+aWE("removenod",61);
+aWE("renumb",40);
+aWE("renumber",61,40);
+aWE("renumbernod",61);
+aWE("reorient",21,61);
+aWE("replac",43);
+aWE("represent",13,14,19,2,65,47,53);
+aWE("representation",14);
+aWE("requir",27,28,63,50);
+aWE("res",61);
+aWE("reset",53);
+aWE("resiz",53);
+aWE("respect",12);
+aWE("respectiv",1);
+aWE("rest",64,43);
+aWE("restor",53);
+aWE("restrict",14);
+aWE("result",13,17,12,57,68,45,51);
+aWE("ret",6,8);
+aWE("retriev",14);
+aWE("return",58,61);
+aWE("reveal",20);
+aWE("revers",1,64);
+aWE("revert",21);
+aWE("revolution",11,61,70);
+aWE("revolv",61,70);
+aWE("right",0,22,9,28,29,12,65);
+aWE("rotat",11,12,61,70,41,73,53);
+aWE("rotation",5,70,41,73,53);
+aWE("rotationsweepobject",61);
+aWE("rough",13);
+aWE("rr",61);
+aWE("rul",19,37,43);
+aWE("run",42);
+aWE("salom",25,8,57,60,61,68,42,62,73);
+aWE("sam",14,0,19,20,2,23,24,8,12,37,66,67,38,71,43,51);
+aWE("sampl",15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,76,54);
+aWE("sav",71);
+aWE("scal",19,53);
+aWE("scalar",16);
+aWE("scen",53);
+aWE("script",15,17,18,19,20,2,3,4,21,23,6,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,52,76,54);
+aWE("se",15,17,18,19,20,2,3,4,21,5,6,24,7,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,66,38,39,40,70,41,43,44,72,45,46,47,48,49,50,51,76,53,54);
+aWE("seam",64);
+aWE("search",31,71);
+aWE("second",17,61,63,43);
+aWE("secondnodeid1",73);
+aWE("secondnodeid2",73);
+aWE("secondnodeidonfreebord",73);
+aWE("section",0,5,23,64,72);
+aWE("seg",63);
+aWE("segment",13,19,6,8,57,33,60,61,63,68,72,73,75);
+aWE("select",13,0,17,1,19,21,22,23,6,24,7,25,26,9,27,28,30,11,12,31,35,61,63,37,64,65,67,39,40,70,41,42,71,43,45,46,48,49,50,51,52,53);
+aWE("selectabl",59);
+aWE("selection",17,1,21,25,26,9,71,49);
+aWE("sens",14);
+aWE("separat",47);
+aWE("sequenc",43);
+aWE("set",14,15,17,19,21,5,23,25,8,28,12,33,60,61,63,34,64,65,69,71,43,45,74,49,53);
+aWE("setmaxelementarea",6);
+aWE("setnam",62,72);
+aWE("setting",23);
+aWE("seven",12,61);
+aWE("sew",12,43,73);
+aWE("sewbordertosid",73);
+aWE("sewconformfreeborder",73);
+aWE("sewfreeborder",73);
+aWE("sewsideelement",73);
+aWE("sg",57,61,68,73);
+aWE("shad",0,65,74);
+aWE("shall",21,27,28,35,64,70,41,46,48,49,50);
+aWE("shap",13,14,15,12,61,64,66,67,69,45);
+aWE("shape_mesh",61);
+aWE("shape1d",61);
+aWE("shapetyp",6,8,57,61,68,72,73);
+aWE("shel",69);
+aWE("shell",68,69);
+aWE("shift",17,1,26,39,45);
+aWE("shortest",54);
+aWE("should",19,7,25,11,12,64,66,69,70,41,71,43,45,51);
+aWE("show",19,5,12,71,53);
+aWE("shown",16,45);
+aWE("shrink",65);
+aWE("sid",6,8,36,63,66,43,44,73);
+aWE("simp",23,37);
+aWE("simpl",14,17,12,64);
+aWE("simplex",20,2);
+aWE("sin",61);
+aWE("sin_bot",61);
+aWE("sin_top",61);
+aWE("six",12,61);
+aWE("siz",0,63,72,45);
+aWE("sk",20,2);
+aWE("sketch",8);
+aWE("sketcher",8);
+aWE("sketcher1",8);
+aWE("sketcher2",8);
+aWE("skew",16,26,60,68,44,49);
+aWE("skew_margin",68);
+aWE("slid",74);
+aWE("small",53);
+aWE("smesh",6,8,57,61,68,62,43,72,73,75);
+aWE("smesh_mechanic",57,61,68,73);
+aWE("smesh_mechanic_tetra",68);
+aWE("smeshgroup1",57);
+aWE("smooth",61,45);
+aWE("smoothobject",61);
+aWE("smp",64);
+aWE("so",13,19,20,12,64,43,47);
+aWE("solid",8,60,67);
+aWE("somewhat",17);
+aWE("soon",6);
+aWE("sort",21,25,26,49);
+aWE("sourc",67,71);
+aWE("spac",14,64,69,41,48);
+aWE("specifi",19,3,64,39,43,45);
+aWE("specific",15,22,71);
+aWE("specify",17,1,26,11,12,64,39,70,41,71,45,46,48,51);
+aWE("spher",19,20,23);
+aWE("split",15,19,2,5,63,43);
+aWE("sqrt",61);
+aWE("standalon",25,57,71);
+aWE("standard",0,7,31,72,52);
+aWE("start",13,19,5,8,12,60,42,43,48);
+aWE("startendlength",8);
+aWE("static",62);
+aWE("step",11,70);
+aWE("stor",64,71);
+aWE("str",62);
+aWE("straight",1,8,12,61,37);
+aWE("stretch",53);
+aWE("strict",53);
+aWE("structur",23,24,61,62);
+aWE("study",8,57,71,72);
+aWE("stuf",53);
+aWE("styl",6);
+aWE("sub",6,8,12,31,35,64,41,43,46,48);
+aWE("submenu",17,10,39,40);
+aWE("submesh",13,21,22,6,24,25,26,11,12,38,70,45,48,49,52);
+aWE("subshapeall",6,8,57,61,68,73);
+aWE("subshapeallid",72);
+aWE("subshapeallsort",61);
+aWE("subshapelist",6,57);
+aWE("subshapenam",6);
+aWE("succed",8);
+aWE("sum",2);
+aWE("supplement",37);
+aWE("supplementary",26);
+aWE("surfac",14,20,2,11,12,64,70,43);
+aWE("surround",14,45);
+aWE("swept",11,70);
+aWE("switch",1);
+aWE("symmetrical",46,73);
+aWE("symmetry",46,73);
+aWE("syntax",71);
+aWE("t",14,19,2,23,37,64,65,53);
+aWE("t1",61);
+aWE("tabl",1,19);
+aWE("tak",20,49);
+aWE("taken",13,22,25,8,64);
+aWE("tap",16,25,60,68,47);
+aWE("taper_margin",68);
+aWE("target",67);
+aWE("techniqu",45);
+aWE("tetra",6,8,72,75);
+aWE("tetrahedral",15,8,63,72);
+aWE("tetrahedralization",23);
+aWE("tetrahedrical",8);
+aWE("tetrahedron",14,15,17,2,6,8,61,34,72,75);
+aWE("tetran",8);
+aWE("th",64,43);
+aWE("them",13,17,1,19,2,25,9,10,11,12,35,63,39,70,43,45,53);
+aWE("themesh",6);
+aWE("third",12);
+aWE("thos",26,49);
+aWE("thre",14,1,20,61,63,37,43,46);
+aWE("threshold",71);
+aWE("tick",53);
+aWE("tim",0);
+aWE("tmp",6);
+aWE("togeth",33);
+aWE("toggl",17,71,48);
+aWE("toleranc",35,70,71,73);
+aWE("tool",71,51);
+aWE("toolbar",20,2,21,23,24,7,26,27,28,30,11,12,32,64,39,40,70,42,44,45,47,49,50,52,76,53,54);
+aWE("top",61);
+aWE("topological",14,43);
+aWE("topology",14);
+aWE("toru",7);
+aWE("total",52);
+aWE("toward",45);
+aWE("transform",28,73);
+aWE("transformation",35,41,43,46,48);
+aWE("translat",73,48);
+aWE("translation",73,48);
+aWE("transparency",0,74);
+aWE("transparent",74);
+aWE("transtorm",7);
+aWE("tria",6,8,73);
+aWE("tria_mesh",8);
+aWE("triangl",14,15,17,1,18,20,6,8,27,11,33,32,59,36,61,63,66,68,69,70,44,72,47,73,49,50,75,53);
+aWE("triangular",15,33);
+aWE("triangulation",8);
+aWE("trihedron",53);
+aWE("tritoquad",61);
+aWE("truncat",72);
+aWE("try",23,63);
+aWE("tt",8,61);
+aWE("tui",15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,52,76,54);
+aWE("tupl",62);
+aWE("two",14,17,5,25,26,8,27,12,57,36,61,63,64,66,67,68,69,43,47,73,48,50,51,52);
+aWE("typ",14,17,19,20,2,22,23,25,11,12,39,70,71,43,52);
+aWE("typical",45);
+aWE("u",14,43);
+aWE("unary",71);
+aWE("unassign",38);
+aWE("uncheck",53);
+aWE("uniform",45);
+aWE("union",57,49,50,51);
+aWE("uniongroup",57);
+aWE("unionid",72);
+aWE("unit",61,43,49,50,51);
+aWE("unles",37);
+aWE("unv",31);
+aWE("up",19,9,29);
+aWE("updat",0,6,42,45);
+aWE("updateobjbrows",57,61,68,73);
+aWE("upload",71);
+aWE("us",14,15,19,3,5,23,24,25,11,12,33,35,61,63,64,66,70,71,43,45,74,51,53);
+aWE("usag",16,6,61,72);
+aWE("useful",0,17,25,12,63);
+aWE("usual",43,45);
+aWE("v",14);
+aWE("valu",13,16,19,20,2,23,6,12,58,36,37,38,71,44,72);
+aWE("vari",20);
+aWE("variabl",62);
+aWE("variou",0);
+aWE("ve",17);
+aWE("vector",11,12,61,70,41,46,73,48,54);
+aWE("versa",7);
+aWE("vert",61);
+aWE("vertex",14,64,67);
+aWE("vertex_",61);
+aWE("vertic",61,64,66,67);
+aWE("very",17,12,63);
+aWE("via",71,52,53);
+aWE("vic",7);
+aWE("vid",61);
+aWE("view",0,17,1,18,20,2,21,5,25,26,9,27,28,29,11,12,32,36,39,40,70,71,43,44,45,47,49,50,52,75,76,53,54);
+aWE("visibl",53);
+aWE("visual",16);
+aWE("visualiz",53);
+aWE("vk",2);
+aWE("volum",13,14,15,16,17,2,22,6,25,8,10,12,60,61,34,68,71,73,52,75,76);
+aWE("volume_margin",68);
+aWE("vtk",0,53);
+aWE("vxy",8,73);
+aWE("wa_margin",68);
+aWE("walk",64);
+aWE("warp",16,26,60,68,49,54);
+aWE("way",14,17,23,24,25,12,64,38,51);
+aWE("weight",45);
+aWE("well",64);
+aWE("wheth",71);
+aWE("whil",66,39);
+aWE("whit",12,55);
+aWE("whol",2,11,12,70,71,45,48);
+aWE("whos",21,25,26,37,49);
+aWE("will",13,14,0,17,1,18,19,20,2,21,22,23,6,24,7,25,26,9,28,29,30,11,12,31,33,32,59,36,61,63,34,37,64,67,39,40,70,42,71,43,44,45,47,74,49,51,52,76,54);
+aWE("window",5);
+aWE("wir",15,8,12,33,61,63,73);
+aWE("wire_polylin",61);
+aWE("wire_polyline_edg",61);
+aWE("wire_polyline_mesh",61);
+aWE("wirefram",0,65);
+aWE("wish",23,7,9,31,53);
+aWE("within",19,64,43);
+aWE("without",1,12,68,69);
+aWE("word",19);
+aWE("work",1,12,63,67);
+aWE("worst",20);
+aWE("would",17,69,43);
+aWE("ww",8);
+aWE("x",14,5,54);
+aWE("x0",61);
+aWE("y",14,5);
+aWE("y0",61);
+aWE("your",13,14,16,0,17,1,18,19,20,2,21,5,22,23,24,25,28,29,30,31,33,32,35,36,34,64,65,38,39,40,41,71,44,45,46,47,48,52,76,54);
+aWE("z",14,5);
+aWE("z0",61);
+aWE("zero",64);
+aWE("zoom",53);
+
+//-->
+</script>
+</html>
index 77e0107f3ac8482101e3293c7d2433b92f707a89..e38a107b583452cf012d6087e148161c68b72f3b 100755 (executable)
@@ -1,26 +1,26 @@
-//     WebHelp 5.10.001\r
-var gIEA = new Array();\r
-function aGE(sName, sDef)\r
-{\r
-       var len = gIEA.length;\r
-       gIEA[len] = new gloEntry(sName, sDef);\r
-}\r
-\r
-function gloEntry(sName, sDef) \r
-{\r
-       this.sName = sName;\r
-       this.sDef = sDef;\r
-       this.nNKOff = 0;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this) {\r
-               if (parent.putData) \r
-               {\r
-                       parent.putData(gIEA);\r
-               }\r
-       }\r
-}\r
-\r
+//     WebHelp 5.10.001
+var gIEA = new Array();
+function aGE(sName, sDef)
+{
+       var len = gIEA.length;
+       gIEA[len] = new gloEntry(sName, sDef);
+}
+
+function gloEntry(sName, sDef) 
+{
+       this.sName = sName;
+       this.sDef = sDef;
+       this.nNKOff = 0;
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this) {
+               if (parent.putData) 
+               {
+                       parent.putData(gIEA);
+               }
+       }
+}
+
 window.onload = window_OnLoad;
\ No newline at end of file
index 9d256b1a86a862d0df36aee9e3077d953f65827a..3865725f4293e848e25f2cb7114eec58b17e0b23 100755 (executable)
@@ -1,33 +1,33 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whgdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
- aGE("Cell","Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.");\r
- aGE("Component","One integer or real value can correspond to each component of a field and to each entity of a mesh");\r
- aGE("Descendant connectivity","It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.");\r
- aGE("Edge","An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).");\r
- aGE("Entity of a mesh","Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.");\r
- aGE("Equivalence","Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.");\r
- aGE("Face","Face of a volumetrical cell (triangle, quadrangle).");\r
- aGE("Family","Entities of a mesh are described by a certain number   of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.");\r
- aGE("Field","Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.");\r
- aGE("Field profile","Fields can be defined only on one part of the mesh. Profile   of the field or profile of the component of a field indicates which entities of the mesh contain values.");\r
- aGE("Group","Unordered set of entities of a mesh. One entity can belong to   several groups.");\r
- aGE("Mesh","Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).");\r
- aGE("Nodal connectivity","It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.");\r
- aGE("Node","Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.");\r
- aGE("Point","Geometrical entity determined by its coordinates in the space.");\r
- aGE("Reference connectivity","For each type of entity of a mesh, reference connectivity define the topology of an entity.");\r
- aGE("Result","List of fields referring to one mesh.");\r
- aGE("Study","Study represents a chain of sequences of calculations.");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whgdata.js"></script>
+<script language="javascript">
+<!--
+ aGE("Cell","Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.");
+ aGE("Component","One integer or real value can correspond to each component of a field and to each entity of a mesh");
+ aGE("Descendant connectivity","It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.");
+ aGE("Edge","An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).");
+ aGE("Entity of a mesh","Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.");
+ aGE("Equivalence","Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.");
+ aGE("Face","Face of a volumetrical cell (triangle, quadrangle).");
+ aGE("Family","Entities of a mesh are described by a certain number   of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.");
+ aGE("Field","Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.");
+ aGE("Field profile","Fields can be defined only on one part of the mesh. Profile   of the field or profile of the component of a field indicates which entities of the mesh contain values.");
+ aGE("Group","Unordered set of entities of a mesh. One entity can belong to   several groups.");
+ aGE("Mesh","Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).");
+ aGE("Nodal connectivity","It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.");
+ aGE("Node","Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.");
+ aGE("Point","Geometrical entity determined by its coordinates in the space.");
+ aGE("Reference connectivity","For each type of entity of a mesh, reference connectivity define the topology of an entity.");
+ aGE("Result","List of fields referring to one mesh.");
+ aGE("Study","Study represents a chain of sequences of calculations.");
+
+//-->
+</script>
+</body>
+</html>
index dc5a67786450d8e50199605d2c9286a51f5e06c5..9d7ac79f1a5d36c1a625ccfc0bd1ae4e7fdbd53a 100755 (executable)
@@ -1,16 +1,16 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whglo.js"></script>\r
-<script language="javascript">\r
-<!--\r
-iFM("Cell","Study","whgdata0.htm",18);\r
-\r
-//-->\r
-</script>\r
-</body>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whglo.js"></script>
+<script language="javascript">
+<!--
+iFM("Cell","Study","whgdata0.htm",18);
+
+//-->
+</script>
+</body>
 </html>
\ No newline at end of file
index e0519afcb8137a50ff418f9f806e8ec5dda207e9..c34fb24b2651604d56f12a169eff088da845cda5 100755 (executable)
@@ -1,34 +1,34 @@
-//     WebHelp 5.10.001\r
-var gaFileMapping = new Array();\r
-function fileMapping(sBK, sEK, sFileName, nNum)\r
-{\r
-       this.sBK = sBK;\r
-       this.sEK = sEK;\r
-       this.sFileName = sFileName;\r
-       this.aKs = null;\r
-       this.nNum = nNum;\r
-       this.oUsedItems = null;\r
-}\r
-\r
-\r
-function iFM(sBK, sEK, sFileName, nNum)\r
-{\r
-       var i = gaFileMapping.length;\r
-       gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum);  \r
-       if (i == 0) {\r
-               gaFileMapping[i].nTotal = nNum;\r
-       }\r
-       else {\r
-               gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;\r
-       }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this && parent.projReady)\r
-       {\r
-               parent.projReady(gaFileMapping);\r
-       }               \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+//     WebHelp 5.10.001
+var gaFileMapping = new Array();
+function fileMapping(sBK, sEK, sFileName, nNum)
+{
+       this.sBK = sBK;
+       this.sEK = sEK;
+       this.sFileName = sFileName;
+       this.aKs = null;
+       this.nNum = nNum;
+       this.oUsedItems = null;
+}
+
+
+function iFM(sBK, sEK, sFileName, nNum)
+{
+       var i = gaFileMapping.length;
+       gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum);  
+       if (i == 0) {
+               gaFileMapping[i].nTotal = nNum;
+       }
+       else {
+               gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;
+       }
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this && parent.projReady)
+       {
+               parent.projReady(gaFileMapping);
+       }               
+}
+
+window.onload = window_OnLoad;
index 9f0eb15edc13f4fcc606d23e7fe41ff9a66d2ac6..a92184730764adf14847614291af60534d5e28c0 100755 (executable)
@@ -1,89 +1,89 @@
-//     WebHelp 5.10.001\r
-// const strings\r
-var gIEA = new Array();\r
-function aIE()\r
-{\r
-       var len = gIEA.length;\r
-       gIEA[len] = new indexEntry(aIE.arguments);\r
-}\r
-\r
-function topic(sName, sURL)\r
-{\r
-       this.sName = sName;\r
-       this.sURL = sURL;\r
-}\r
-\r
-function indexEntry(fn_arguments) \r
-{\r
-       if (fn_arguments.length && fn_arguments.length >= 3) \r
-       {\r
-               this.nType = fn_arguments[0];\r
-               this.nPKOff = 0;\r
-               this.nNKOff = fn_arguments[1];\r
-               this.sName = fn_arguments[2];\r
-               this.aTopics = null;\r
-               var nLen = fn_arguments.length;\r
-               if (Math.floor(nLen / 2) * 2 == nLen)\r
-               {\r
-                       this.sTarget = fn_arguments[3];\r
-                       if (nLen > 5)\r
-                       {\r
-                               this.aTopics = new Array();\r
-                               for (var i = 0; i < (nLen - 5)/2; i++)\r
-                               {\r
-                                       this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]);\r
-                               }\r
-                       }\r
-\r
-               }\r
-               else \r
-               {\r
-                       if (nLen > 4) \r
-                       {\r
-                               this.aTopics = new Array();\r
-                               for (var i = 0; i < (nLen - 4)/2; i++)\r
-                               {\r
-                                       this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]);\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function getIndexTopicMappingList(nItemIndex)\r
-{\r
-       var sTopics = "";\r
-       if (gIEA.length > nItemIndex)\r
-       {\r
-               if (gIEA[nItemIndex].aTopics) \r
-               {\r
-                       var i = 0;\r
-                       var nLen = gIEA[nItemIndex].aTopics.length;\r
-                       for (i = 0; i < nLen; i ++) \r
-                       {\r
-                               sTopics += "," + gIEA[nItemIndex].aTopics[i];\r
-                       }\r
-               }\r
-       }\r
-       return sTopics;         \r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this) {\r
-               if (parent.putData) \r
-               {\r
-                       for (var i = 0; i < gIEA.length; i ++ )\r
-                       {\r
-                               if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length)\r
-                               {\r
-                               \r
-                                       gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff;\r
-                               }\r
-                       }\r
-                       parent.putData(gIEA);\r
-               }\r
-       }\r
-}\r
-\r
+//     WebHelp 5.10.001
+// const strings
+var gIEA = new Array();
+function aIE()
+{
+       var len = gIEA.length;
+       gIEA[len] = new indexEntry(aIE.arguments);
+}
+
+function topic(sName, sURL)
+{
+       this.sName = sName;
+       this.sURL = sURL;
+}
+
+function indexEntry(fn_arguments) 
+{
+       if (fn_arguments.length && fn_arguments.length >= 3) 
+       {
+               this.nType = fn_arguments[0];
+               this.nPKOff = 0;
+               this.nNKOff = fn_arguments[1];
+               this.sName = fn_arguments[2];
+               this.aTopics = null;
+               var nLen = fn_arguments.length;
+               if (Math.floor(nLen / 2) * 2 == nLen)
+               {
+                       this.sTarget = fn_arguments[3];
+                       if (nLen > 5)
+                       {
+                               this.aTopics = new Array();
+                               for (var i = 0; i < (nLen - 5)/2; i++)
+                               {
+                                       this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]);
+                               }
+                       }
+
+               }
+               else 
+               {
+                       if (nLen > 4) 
+                       {
+                               this.aTopics = new Array();
+                               for (var i = 0; i < (nLen - 4)/2; i++)
+                               {
+                                       this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]);
+                               }
+                       }
+               }
+       }
+}
+
+function getIndexTopicMappingList(nItemIndex)
+{
+       var sTopics = "";
+       if (gIEA.length > nItemIndex)
+       {
+               if (gIEA[nItemIndex].aTopics) 
+               {
+                       var i = 0;
+                       var nLen = gIEA[nItemIndex].aTopics.length;
+                       for (i = 0; i < nLen; i ++) 
+                       {
+                               sTopics += "," + gIEA[nItemIndex].aTopics[i];
+                       }
+               }
+       }
+       return sTopics;         
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this) {
+               if (parent.putData) 
+               {
+                       for (var i = 0; i < gIEA.length; i ++ )
+                       {
+                               if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length)
+                               {
+                               
+                                       gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff;
+                               }
+                       }
+                       parent.putData(gIEA);
+               }
+       }
+}
+
 window.onload = window_OnLoad;
\ No newline at end of file
index 0a0deedd094e90290616665493c3eba1ab41fbbb..a049a96f99753b5e8b3eaaf551b2fe4d916da231 100755 (executable)
@@ -1,15 +1,15 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whidx.js"></script>\r
-<script language="javascript">\r
-<!--\r
-\r
-//-->\r
-</script>\r
-</body>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whidx.js"></script>
+<script language="javascript">
+<!--
+
+//-->
+</script>
+</body>
 </html>
\ No newline at end of file
index e0519afcb8137a50ff418f9f806e8ec5dda207e9..c34fb24b2651604d56f12a169eff088da845cda5 100755 (executable)
@@ -1,34 +1,34 @@
-//     WebHelp 5.10.001\r
-var gaFileMapping = new Array();\r
-function fileMapping(sBK, sEK, sFileName, nNum)\r
-{\r
-       this.sBK = sBK;\r
-       this.sEK = sEK;\r
-       this.sFileName = sFileName;\r
-       this.aKs = null;\r
-       this.nNum = nNum;\r
-       this.oUsedItems = null;\r
-}\r
-\r
-\r
-function iFM(sBK, sEK, sFileName, nNum)\r
-{\r
-       var i = gaFileMapping.length;\r
-       gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum);  \r
-       if (i == 0) {\r
-               gaFileMapping[i].nTotal = nNum;\r
-       }\r
-       else {\r
-               gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;\r
-       }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this && parent.projReady)\r
-       {\r
-               parent.projReady(gaFileMapping);\r
-       }               \r
-}\r
-\r
-window.onload = window_OnLoad;\r
+//     WebHelp 5.10.001
+var gaFileMapping = new Array();
+function fileMapping(sBK, sEK, sFileName, nNum)
+{
+       this.sBK = sBK;
+       this.sEK = sEK;
+       this.sFileName = sFileName;
+       this.aKs = null;
+       this.nNum = nNum;
+       this.oUsedItems = null;
+}
+
+
+function iFM(sBK, sEK, sFileName, nNum)
+{
+       var i = gaFileMapping.length;
+       gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum);  
+       if (i == 0) {
+               gaFileMapping[i].nTotal = nNum;
+       }
+       else {
+               gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal;
+       }
+}
+
+function window_OnLoad()
+{
+       if (parent && parent != this && parent.projReady)
+       {
+               parent.projReady(gaFileMapping);
+       }               
+}
+
+window.onload = window_OnLoad;
index d5428a7de68aad1a6d9235d19f04530e4bbd8956..0558e198caac7ec9dae1224a7c5e64afd73d9f43 100755 (executable)
@@ -1,64 +1,64 @@
-//     WebHelp 5.10.001\r
-var gTEA = new Array();\r
-function aTE()\r
-{\r
-       gTEA[gTEA.length] = new tocEntry(aTE.arguments);\r
-}\r
-\r
-function tocEntry(fn_arguments) \r
-{\r
-       if (fn_arguments.length < 3)    \r
-       {\r
-               alert ("data format wrong!!!");\r
-               return;\r
-       }\r
-       \r
-       this.nType = fn_arguments[0];\r
-       this.nContents = fn_arguments[1];\r
-       this.sItemName = fn_arguments[2];\r
-       \r
-       if (this.nType == 1 || this.nType == 2 || this.nType == 16)\r
-       {\r
-               if (fn_arguments.length > 3)\r
-               {\r
-                       this.sItemURL = fn_arguments[3];\r
-                       if (fn_arguments.length > 4)\r
-                       {\r
-                               this.sTarget = fn_arguments[4];\r
-                               if (fn_arguments.length > 5)\r
-                                       this.sIconRef = fn_arguments[5];\r
-                       }\r
-               }\r
-       }\r
-       if (this.nType == 4 || this.nType == 8)\r
-       {\r
-               if (fn_arguments.length > 3)\r
-               {\r
-                       this.sRefURL = fn_arguments[3];\r
-                       if (this.nType == 4)\r
-                       {\r
-                               if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1)\r
-                                       this.sRefURL+="/";\r
-                       }\r
-                       if (fn_arguments.length > 4)\r
-                       {\r
-                               this.sItemURL = fn_arguments[4];\r
-                               if (fn_arguments.length > 5)\r
-                               {\r
-                                       this.sTarget = fn_arguments[5];\r
-                                       if (fn_arguments.length > 6)\r
-                                               this.sIconRef = fn_arguments[6];\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this && parent.putData) {\r
-               parent.putData(gTEA);\r
-       }\r
-}\r
+//     WebHelp 5.10.001
+var gTEA = new Array();
+function aTE()
+{
+       gTEA[gTEA.length] = new tocEntry(aTE.arguments);
+}
+
+function tocEntry(fn_arguments) 
+{
+       if (fn_arguments.length < 3)    
+       {
+               alert ("data format wrong!!!");
+               return;
+       }
+       
+       this.nType = fn_arguments[0];
+       this.nContents = fn_arguments[1];
+       this.sItemName = fn_arguments[2];
+       
+       if (this.nType == 1 || this.nType == 2 || this.nType == 16)
+       {
+               if (fn_arguments.length > 3)
+               {
+                       this.sItemURL = fn_arguments[3];
+                       if (fn_arguments.length > 4)
+                       {
+                               this.sTarget = fn_arguments[4];
+                               if (fn_arguments.length > 5)
+                                       this.sIconRef = fn_arguments[5];
+                       }
+               }
+       }
+       if (this.nType == 4 || this.nType == 8)
+       {
+               if (fn_arguments.length > 3)
+               {
+                       this.sRefURL = fn_arguments[3];
+                       if (this.nType == 4)
+                       {
+                               if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1)
+                                       this.sRefURL+="/";
+                       }
+                       if (fn_arguments.length > 4)
+                       {
+                               this.sItemURL = fn_arguments[4];
+                               if (fn_arguments.length > 5)
+                               {
+                                       this.sTarget = fn_arguments[5];
+                                       if (fn_arguments.length > 6)
+                                               this.sIconRef = fn_arguments[6];
+                               }
+                       }
+               }
+       }
+}
+
+
+function window_OnLoad()
+{
+       if (parent && parent != this && parent.putData) {
+               parent.putData(gTEA);
+       }
+}
 window.onload = window_OnLoad;
\ No newline at end of file
index 30cfea6963fe3a63315a31510352c6ca5a14892a..8861e12144ca021d2d6c87f8a65a57328ba09e87 100755 (executable)
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whtdata.js"></script>\r
-<script language="javascript">\r
-<!--\r
- aTE(1,81,"MESH module");\r
-   aTE(2,0,"Introduction to Mesh","mesh.htm");\r
-   aTE(2,0,"Running MESH module","files/running_smesh_module.htm");\r
-   aTE(2,0,"Introduction to MESH module python interface","smesh.py_introduction.htm");\r
-   aTE(1,13,"Creating meshes");\r
-     aTE(2,0,"About meshes","files/about_meshes.htm");\r
-     aTE(2,0,"Importing and exporting meshes","files/importing_and_exporting_meshes.htm");\r
-     aTE(2,0,"Constructing meshes","files/constructing_meshes.htm");\r
-     aTE(2,0,"Defining meshing algorithms","files/about_meshing_algorithms.htm");\r
-     aTE(1,6,"Defining hypotheses");\r
-       aTE(2,0,"About Hypotheses","files/about_hypotheses.htm");\r
-       aTE(2,0,"1D Meshing Hypotheses","files/arithmetic_1d.htm");\r
-       aTE(2,0,"2D Meshing Hypotheses","files/max._element_area_hypothesis.htm");\r
-       aTE(2,0,"Max Element Volume hypothesis","files/max._element_volume_hypothsis.htm");\r
-       aTE(2,0,"Netgen 2D and 3D hypotheses","netgen_2d_and_3d_hypotheses.htm");\r
-       aTE(2,0,"Additional Hypotheses","files/non_conform_mesh_allowed_hypothesis.htm");\r
-     aTE(2,0,"Constructing submeshes","files/constructing_submeshes.htm");\r
-     aTE(2,0,"Editing Meshes","files/reassigning_hypotheses_and_algorithms.htm");\r
-   aTE(1,8,"Viewing meshes");\r
-     aTE(2,0,"Viewing meshes","about_viewing_meshes.htm");\r
-     aTE(2,0,"VTK 3D Viewer","files/vtk_3d_viewer.htm");\r
-     aTE(2,0,"Mesh infos","files/viewing_mesh_info.htm");\r
-     aTE(2,0,"Numbering","files/displaying_nodes_numbers.htm");\r
-     aTE(2,0,"Display Mode","presentation.htm");\r
-     aTE(2,0,"Display Entity","display_entity.htm");\r
-     aTE(2,0,"Transparency","transparency.htm");\r
-     aTE(2,0,"Clipping","clipping.htm");\r
-   aTE(1,15,"Quality controls");\r
-     aTE(2,0,"About quality controls","files/about_quality_controls.htm");\r
-     aTE(2,0,"Free borders","free_borders.htm");\r
-     aTE(2,0,"Borders at multi-connection","borders_at_multi-connection.htm");\r
-     aTE(2,0,"Length","length.htm");\r
-     aTE(2,0,"Free edges","free_edges.htm");\r
-     aTE(2,0,"Length 2D","files/length_of_edges.htm");\r
-     aTE(2,0,"Borders at multi-connection 2D","borders_at_multiconnection_2d.htm");\r
-     aTE(2,0,"Area","files/area_of_elements.htm");\r
-     aTE(2,0,"Taper","files/taper.htm");\r
-     aTE(2,0,"Aspect ratio","files/aspect_ratio.htm");\r
-     aTE(2,0,"Minimum angle","files/minimum_angle.htm");\r
-     aTE(2,0,"Warping","files/warp.htm");\r
-     aTE(2,0,"Skew","files/skew.htm");\r
-     aTE(2,0,"Aspect ratio 3D","aspect_ratio_3d.htm");\r
-     aTE(2,0,"Volume","volume.htm");\r
-   aTE(1,6,"Grouping elements");\r
-     aTE(2,0,"Creating groups","files/creating_groups.htm");\r
-     aTE(2,0,"Editing groups","files/editing_groups.htm");\r
-     aTE(2,0,"Using operations on groups","files/using_operations_on_groups.htm");\r
-     aTE(2,0,"Constructing groups of specific elements","files/constructing_groups_of_specific_elements.htm");\r
-     aTE(2,0,"Deleting Groups","deleting_groups.htm");\r
-     aTE(2,0,"Selection filter library","selection_filter_library.htm");\r
-   aTE(1,23,"Modifying meshes");\r
-     aTE(2,0,"Adding nodes and elements","files/adding_nodes_and_elements.htm");\r
-     aTE(2,0,"Adding quadratic elements","adding_quadratic_nodes_and_elements.htm");\r
-     aTE(2,0,"Removing nodes and elements","files/removing_nodes_and_elements.htm");\r
-     aTE(2,0,"Renumbering nodes and elements","files/renumbering_nodes_and_elements.htm");\r
-     aTE(1,6,"Transforming meshes");\r
-       aTE(2,0,"Translation","files/translation.htm");\r
-       aTE(2,0,"Rotation","files/rotation.htm");\r
-       aTE(2,0,"Symmetry","files/symmetry.htm");\r
-       aTE(2,0,"Sewing meshes","files/sewing_meshes.htm");\r
-       aTE(2,0,"Merging nodes","files/merging_nodes.htm");\r
-       aTE(2,0,"Merging Elements","merge_elements.htm");\r
-     aTE(2,0,"Moving nodes","files/displacing_nodes.htm");\r
-     aTE(2,0,"Diagonal inversion of elements","files/diagonal_iversion_of_elements.htm");\r
-     aTE(2,0,"Uniting two triangles","files/uniting_two_triangles.htm");\r
-     aTE(2,0,"Uniting a set of triangles","files/uniting_a_set_of_triangles.htm");\r
-     aTE(2,0,"Changing orientation of elements","files/changing_orientation_of_elements.htm");\r
-     aTE(2,0,"Cutting quadrangles","files/cutting_quadrangles.htm");\r
-     aTE(2,0,"Smoothing","files/smoothing.htm");\r
-     aTE(2,0,"Extrusion","extrusion.htm");\r
-     aTE(2,0,"Extrusion along a path","extrusion_along_a_path.htm");\r
-     aTE(2,0,"Revolution","revolution.htm");\r
-     aTE(2,0,"Pattern mapping","pattern_mapping.htm");\r
-     aTE(2,0,"Convert to/from Quadratic Mesh","convert_to_from_quadratic_mesh.htm");\r
- aTE(2,0,"Python interface smesh.py" ,"smeshpy_doc/namespacesmesh.html");\r
-   aTE(1,7,"TUI Scripts");\r
-     aTE(2,0,"Creating Meshes","constructing_meshes.htm");\r
-     aTE(2,0,"Viewing Meshes","viewing_meshes.htm");\r
-     aTE(2,0,"Defining Hypotheses","defining_hypotheses_tui.htm");\r
-     aTE(2,0,"Quality Controls","quality_controls.htm");\r
-     aTE(2,0,"Grouping Elements","grouping_elements.htm");\r
-     aTE(2,0,"Modifying Meshes","modifying_meshes.htm");\r
-     aTE(2,0,"Transforming Meshes","transforming_meshes.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whtdata.js"></script>
+<script language="javascript">
+<!--
+ aTE(1,85,"MESH module");
+   aTE(2,0,"Introduction to Mesh","mesh.htm");
+   aTE(2,0,"Running MESH module","files/running_smesh_module.htm");
+   aTE(2,0,"Introduction to MESH module python interface","smesh.py_introduction.htm");
+   aTE(1,17,"Creating meshes");
+     aTE(2,0,"About meshes","files/about_meshes.htm");
+     aTE(2,0,"Importing and exporting meshes","files/importing_and_exporting_meshes.htm");
+     aTE(2,0,"Constructing meshes","files/constructing_meshes.htm");
+     aTE(1,4,"Defining Algorithms");
+       aTE(2,0,"Basic meshing algorithms","files/about_meshing_algorithms.htm");
+       aTE(2,0,"Projection Algorithms","projection_algorithms.htm");
+       aTE(2,0,"Radial Prism Algorithm","radial_prism.htm");
+       aTE(2,0,"Prism 3D Algorithm","prism_3d_algorithm.htm");
+     aTE(1,6,"Defining hypotheses");
+       aTE(2,0,"About Hypotheses","files/about_hypotheses.htm");
+       aTE(2,0,"1D Meshing Hypotheses","files/arithmetic_1d.htm");
+       aTE(2,0,"2D Meshing Hypotheses","files/max._element_area_hypothesis.htm");
+       aTE(2,0,"Max Element Volume hypothesis","files/max._element_volume_hypothsis.htm");
+       aTE(2,0,"Netgen 2D and 3D hypotheses","netgen_2d_and_3d_hypotheses.htm");
+       aTE(2,0,"Additional Hypotheses","files/non_conform_mesh_allowed_hypothesis.htm");
+     aTE(2,0,"Constructing submeshes","files/constructing_submeshes.htm");
+     aTE(2,0,"Editing Meshes","files/reassigning_hypotheses_and_algorithms.htm");
+   aTE(1,8,"Viewing meshes");
+     aTE(2,0,"Viewing meshes","about_viewing_meshes.htm");
+     aTE(2,0,"VTK 3D Viewer","files/vtk_3d_viewer.htm");
+     aTE(2,0,"Mesh infos","files/viewing_mesh_info.htm");
+     aTE(2,0,"Numbering","files/displaying_nodes_numbers.htm");
+     aTE(2,0,"Display Mode","presentation.htm");
+     aTE(2,0,"Display Entity","display_entity.htm");
+     aTE(2,0,"Transparency","transparency.htm");
+     aTE(2,0,"Clipping","clipping.htm");
+   aTE(1,15,"Quality controls");
+     aTE(2,0,"About quality controls","files/about_quality_controls.htm");
+     aTE(2,0,"Free borders","free_borders.htm");
+     aTE(2,0,"Borders at multi-connection","borders_at_multi-connection.htm");
+     aTE(2,0,"Length","length.htm");
+     aTE(2,0,"Free edges","free_edges.htm");
+     aTE(2,0,"Length 2D","files/length_of_edges.htm");
+     aTE(2,0,"Borders at multi-connection 2D","borders_at_multiconnection_2d.htm");
+     aTE(2,0,"Area","files/area_of_elements.htm");
+     aTE(2,0,"Taper","files/taper.htm");
+     aTE(2,0,"Aspect ratio","files/aspect_ratio.htm");
+     aTE(2,0,"Minimum angle","files/minimum_angle.htm");
+     aTE(2,0,"Warping","files/warp.htm");
+     aTE(2,0,"Skew","files/skew.htm");
+     aTE(2,0,"Aspect ratio 3D","aspect_ratio_3d.htm");
+     aTE(2,0,"Volume","volume.htm");
+   aTE(1,6,"Grouping elements");
+     aTE(2,0,"Creating groups","files/creating_groups.htm");
+     aTE(2,0,"Editing groups","files/editing_groups.htm");
+     aTE(2,0,"Using operations on groups","files/using_operations_on_groups.htm");
+     aTE(2,0,"Constructing groups of specific elements","files/constructing_groups_of_specific_elements.htm");
+     aTE(2,0,"Deleting Groups","deleting_groups.htm");
+     aTE(2,0,"Selection filter library","selection_filter_library.htm");
+   aTE(1,23,"Modifying meshes");
+     aTE(2,0,"Adding nodes and elements","files/adding_nodes_and_elements.htm");
+     aTE(2,0,"Adding quadratic elements","adding_quadratic_nodes_and_elements.htm");
+     aTE(2,0,"Removing nodes and elements","files/removing_nodes_and_elements.htm");
+     aTE(2,0,"Renumbering nodes and elements","files/renumbering_nodes_and_elements.htm");
+     aTE(1,6,"Transforming meshes");
+       aTE(2,0,"Translation","files/translation.htm");
+       aTE(2,0,"Rotation","files/rotation.htm");
+       aTE(2,0,"Symmetry","files/symmetry.htm");
+       aTE(2,0,"Sewing meshes","files/sewing_meshes.htm");
+       aTE(2,0,"Merging nodes","files/merging_nodes.htm");
+       aTE(2,0,"Merging Elements","merge_elements.htm");
+     aTE(2,0,"Moving nodes","files/displacing_nodes.htm");
+     aTE(2,0,"Diagonal inversion of elements","files/diagonal_iversion_of_elements.htm");
+     aTE(2,0,"Uniting two triangles","files/uniting_two_triangles.htm");
+     aTE(2,0,"Uniting a set of triangles","files/uniting_a_set_of_triangles.htm");
+     aTE(2,0,"Changing orientation of elements","files/changing_orientation_of_elements.htm");
+     aTE(2,0,"Cutting quadrangles","files/cutting_quadrangles.htm");
+     aTE(2,0,"Smoothing","files/smoothing.htm");
+     aTE(2,0,"Extrusion","extrusion.htm");
+     aTE(2,0,"Extrusion along a path","extrusion_along_a_path.htm");
+     aTE(2,0,"Revolution","revolution.htm");
+     aTE(2,0,"Pattern mapping","pattern_mapping.htm");
+     aTE(2,0,"Convert to/from Quadratic Mesh","convert_to_from_quadratic_mesh.htm");
+ aTE(2,0,"Python interface smesh.py" ,"smeshpy_doc/namespacesmesh.html");
+     aTE(1,7,"TUI Scripts");
+     aTE(2,0,"Creating Meshes","constructing_meshes.htm");
+     aTE(2,0,"Viewing Meshes","viewing_meshes.htm");
+     aTE(2,0,"Defining Hypotheses","defining_hypotheses_tui.htm");
+     aTE(2,0,"Quality Controls","quality_controls.htm");
+     aTE(2,0,"Grouping Elements","grouping_elements.htm");
+     aTE(2,0,"Modifying Meshes","modifying_meshes.htm");
+     aTE(2,0,"Transforming Meshes","transforming_meshes.htm");
+
+//-->
+</script>
+</body>
+</html>
index 54e0cbf2675c3d503ef1423f7b68ba90a78fbf87..459c3e311f1e746da12e0ddb7e7fa8b017e78281 100755 (executable)
@@ -1,16 +1,16 @@
-<html>\r
-<head>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whtoc.js"></script>\r
-<script language="javascript">\r
-<!--\r
-  setRoot("whtdata0.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
+<html>
+<head>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whtoc.js"></script>
+<script language="javascript">
+<!--
+  setRoot("whtdata0.htm");
+
+//-->
+</script>
+</body>
 </html>
\ No newline at end of file
index 163d8cc9fccffe102f3668437deb61debc84f163..62de5a132459181d179ba41151b4887edd914928 100755 (executable)
@@ -1,31 +1,31 @@
-//     WebHelp 5.10.001\r
-// const strings\r
-var gaProj = new Array();\r
-var gsRoot = "";\r
-\r
-function setRoot(sRoot)\r
-{\r
-       gsRoot = sRoot\r
-}\r
-\r
-function aPE(sProjPath, sRootPath)\r
-{\r
-       gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath);\r
-}\r
-\r
-function tocProjEntry(sProjPath, sRootPath) \r
-{\r
-       if(sProjPath.lastIndexOf("/")!=sProjPath.length-1)\r
-               sProjPath+="/"; \r
-       this.sPPath = sProjPath;\r
-       this.sRPath = sRootPath;\r
-}\r
-\r
-\r
-function window_OnLoad()\r
-{\r
-       if (parent && parent != this && parent.projReady) {\r
-               parent.projReady(gsRoot, gaProj);\r
-       }\r
-}\r
+//     WebHelp 5.10.001
+// const strings
+var gaProj = new Array();
+var gsRoot = "";
+
+function setRoot(sRoot)
+{
+       gsRoot = sRoot
+}
+
+function aPE(sProjPath, sRootPath)
+{
+       gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath);
+}
+
+function tocProjEntry(sProjPath, sRootPath) 
+{
+       if(sProjPath.lastIndexOf("/")!=sProjPath.length-1)
+               sProjPath+="/"; 
+       this.sPPath = sProjPath;
+       this.sRPath = sRootPath;
+}
+
+
+function window_OnLoad()
+{
+       if (parent && parent != this && parent.projReady) {
+               parent.projReady(gsRoot, gaProj);
+       }
+}
 window.onload = window_OnLoad;
\ No newline at end of file
index 5666e1b558bab5d142e7dc2ea74c4b01be4ba93a..ea648e4b375454493febe9b00b94b1ef2a6da129 100755 (executable)
@@ -1,37 +1,37 @@
-<html>\r
-<head>\r
-<title>Search Result</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whfhost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if(window.gbWhFHost)\r
-{\r
-       \r
-       \r
-       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Error", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");\r
-       setActiveBgColor("#cccccc");\r
-       setMargin("0pt");\r
-       setIndent("9pt");\r
-       FtsWriteClassStyle();\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">\r
-</body>\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Result</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whlang.js"></script>
+<script language="javascript1.2" src="whfhost.js"></script>
+<script language="javascript1.2">
+<!--
+if(window.gbWhFHost)
+{
+       
+       
+       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Error", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");
+       setActiveBgColor("#cccccc");
+       setMargin("0pt");
+       setIndent("9pt");
+       FtsWriteClassStyle();
+}
+else
+       document.location.reload();
+//-->
+</script>
+</head>
+<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">
+</body>
+</html>
+
index 37429607b32f2602c51cd12d192a020653fc4795..c2e65bea10d2bcce6dcd3de7ff3b11ca070214ee 100755 (executable)
@@ -1,30 +1,30 @@
-<html>\r
-<head>\r
-<title>Search Frame</TITLE>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-var gbIndexLayerInit = false;\r
-var strWrite="";\r
-if (window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)\r
-{\r
-       if (gbMac)\r
-               strWrite="<FRAMESET ROWS='45,100%' framespacing=0  frameborder=1>";\r
-       else\r
-               strWrite="<FRAMESET ROWS='60,100%' framespacing=0  frameborder=1>";\r
-       strWrite +="<FRAME SRC='whfform.htm' title='search form frame' name='ftsform' noresize='yes' scrolling='no'>";\r
-       strWrite +="<FRAME SRC='whfbody.htm' title='search result frame' name='ftsbody' scrolling='yes'>";\r
-       strWrite +="</FRAMESET>";\r
-       document.write(strWrite);\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</html>\r
+<html>
+<head>
+<title>Search Frame</TITLE>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script LANGUAGE="javascript1.2">
+<!--
+var gbIndexLayerInit = false;
+var strWrite="";
+if (window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)
+{
+       if (gbMac)
+               strWrite="<FRAMESET ROWS='45,100%' framespacing=0  frameborder=1>";
+       else
+               strWrite="<FRAMESET ROWS='60,100%' framespacing=0  frameborder=1>";
+       strWrite +="<FRAME SRC='whfform.htm' title='search form frame' name='ftsform' noresize='yes' scrolling='no'>";
+       strWrite +="<FRAME SRC='whfbody.htm' title='search result frame' name='ftsbody' scrolling='yes'>";
+       strWrite +="</FRAMESET>";
+       document.write(strWrite);
+}
+else
+       document.location.reload();
+//-->
+</script>
+</html>
index 87d754ec4c1728c02b5c2a3645bccd8cc08adaf6..0f8f90ab6c9ca2fd3f403b5115b73d98a33e1593 100755 (executable)
-<html>\r
-<head>\r
-<title>Search Form</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<body bgcolor="#c0c0c0">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whform.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gstrInput = "";\r
-function ftsLookup(bCR)\r
-{\r
-       if (bCR)\r
-       {\r
-               var strInput = document.FtsInputForm.keywordField.value.toUpperCase();\r
-               if (strInput != "") {\r
-                       var oMsg = new whMessage(WH_MSG_SEARCHFTSKEY, this, 1, strInput);\r
-                       if (!SendMessage(oMsg))\r
-                       {\r
-                               gstrInput = strInput;\r
-                       }\r
-                       else\r
-                               gstrInput = "";\r
-               }\r
-\r
-               if (gbMac) {\r
-                       document.FtsInputForm.keywordField.focus();\r
-               }\r
-       }\r
-       return;\r
-}\r
-\r
-function beforeInit()\r
-{\r
-       var oParam = new Object();\r
-       oParam.sValue = "";\r
-       var oMsg = new whMessage(WH_MSG_GETSEARCHS, this, 1, oParam);\r
-       if (SendMessage(oMsg))\r
-       {\r
-               if (oParam.sValue != "" && oParam.sValue != "- Search -")\r
-               {\r
-                       document.FtsInputForm.keywordField.value = oParam.sValue;\r
-                       gfunLookUp(true);\r
-               }\r
-       }\r
-       init(); \r
-}\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
-       UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
-       UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
-       UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
-       UnRegisterListener2(this, WH_MSG_SEARCHTHIS);\r
-       UnRegisterListener2(this, WH_MSG_BACKUPSEARCH);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if (oMsg.nMessageId == WH_MSG_SHOWFTS)\r
-       {\r
-               document.FtsInputForm.keywordField.focus();\r
-       }\r
-       else if (oMsg.nMessageId == WH_MSG_SHOWIDX ||\r
-               oMsg.nMessageId == WH_MSG_SHOWTOC || \r
-               oMsg.nMessageId == WH_MSG_SHOWGLO)\r
-       {\r
-               document.FtsInputForm.keywordField.blur();\r
-       }\r
-       else if (oMsg.nMessageId == WH_MSG_SEARCHTHIS)\r
-       {\r
-               if (oMsg.oParam != "- Search -")\r
-               {\r
-                       document.FtsInputForm.keywordField.value = oMsg.oParam;\r
-                       gfunLookUp(true);\r
-               }\r
-       }\r
-       else if (oMsg.nMessageId == WH_MSG_BACKUPSEARCH)\r
-       {\r
-               if (gstrInput)\r
-               {\r
-                       oMsg.oParam = gstrInput;\r
-                       gstrInput = "";\r
-                       return false;\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if (window.gbWhForm)\r
-{\r
-       RegisterListener2(this, WH_MSG_SHOWTOC);\r
-       RegisterListener2(this, WH_MSG_SHOWIDX);\r
-       RegisterListener2(this, WH_MSG_SHOWFTS);\r
-       RegisterListener2(this, WH_MSG_SHOWGLO);\r
-       RegisterListener2(this, WH_MSG_SEARCHTHIS);\r
-       RegisterListener2(this, WH_MSG_BACKUPSEARCH);\r
-       gfunLookUp = ftsLookup;\r
-       gfunInit = null;\r
-       gstrFormName = "FtsInputForm"\r
-       gsTitle = "Type in the word(s) to search for:";\r
-       gsTitle = "Type in the word(s) to search for:";\r
-       setGoImage1("");\r
-       \r
-       \r
-       \r
-       \r
-       \r
-       \r
-       setGoText("Go");\r
-       setFont("Title", "Arial","9pt","#000000","normal","normal","none");\r
-       \r
-       \r
-       document.write(getFormHTML());\r
-       writeFormStyle();\r
-       window.onload = beforeInit;\r
-       window.onunload=window_unload;\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>Search Form</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<style>
+<!--
+body {margin:0;}
+-->
+</style>
+<body bgcolor="#c0c0c0">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whform.js"></script>
+<script language="javascript1.2">
+<!--
+var gstrInput = "";
+function ftsLookup(bCR)
+{
+       if (bCR)
+       {
+               var strInput = document.FtsInputForm.keywordField.value.toUpperCase();
+               if (strInput != "") {
+                       var oMsg = new whMessage(WH_MSG_SEARCHFTSKEY, this, 1, strInput);
+                       if (!SendMessage(oMsg))
+                       {
+                               gstrInput = strInput;
+                       }
+                       else
+                               gstrInput = "";
+               }
+
+               if (gbMac) {
+                       document.FtsInputForm.keywordField.focus();
+               }
+       }
+       return;
+}
+
+function beforeInit()
+{
+       var oParam = new Object();
+       oParam.sValue = "";
+       var oMsg = new whMessage(WH_MSG_GETSEARCHS, this, 1, oParam);
+       if (SendMessage(oMsg))
+       {
+               if (oParam.sValue != "" && oParam.sValue != "- Search -")
+               {
+                       document.FtsInputForm.keywordField.value = oParam.sValue;
+                       gfunLookUp(true);
+               }
+       }
+       init(); 
+}
+
+function window_unload()
+{
+       UnRegisterListener2(this, WH_MSG_SHOWTOC);
+       UnRegisterListener2(this, WH_MSG_SHOWIDX);
+       UnRegisterListener2(this, WH_MSG_SHOWFTS);
+       UnRegisterListener2(this, WH_MSG_SHOWGLO);
+       UnRegisterListener2(this, WH_MSG_SEARCHTHIS);
+       UnRegisterListener2(this, WH_MSG_BACKUPSEARCH);
+}
+
+function onSendMessage(oMsg)
+{
+       if (oMsg.nMessageId == WH_MSG_SHOWFTS)
+       {
+               document.FtsInputForm.keywordField.focus();
+       }
+       else if (oMsg.nMessageId == WH_MSG_SHOWIDX ||
+               oMsg.nMessageId == WH_MSG_SHOWTOC || 
+               oMsg.nMessageId == WH_MSG_SHOWGLO)
+       {
+               document.FtsInputForm.keywordField.blur();
+       }
+       else if (oMsg.nMessageId == WH_MSG_SEARCHTHIS)
+       {
+               if (oMsg.oParam != "- Search -")
+               {
+                       document.FtsInputForm.keywordField.value = oMsg.oParam;
+                       gfunLookUp(true);
+               }
+       }
+       else if (oMsg.nMessageId == WH_MSG_BACKUPSEARCH)
+       {
+               if (gstrInput)
+               {
+                       oMsg.oParam = gstrInput;
+                       gstrInput = "";
+                       return false;
+               }
+       }
+       return true;
+}
+
+if (window.gbWhForm)
+{
+       RegisterListener2(this, WH_MSG_SHOWTOC);
+       RegisterListener2(this, WH_MSG_SHOWIDX);
+       RegisterListener2(this, WH_MSG_SHOWFTS);
+       RegisterListener2(this, WH_MSG_SHOWGLO);
+       RegisterListener2(this, WH_MSG_SEARCHTHIS);
+       RegisterListener2(this, WH_MSG_BACKUPSEARCH);
+       gfunLookUp = ftsLookup;
+       gfunInit = null;
+       gstrFormName = "FtsInputForm"
+       gsTitle = "Type in the word(s) to search for:";
+       gsTitle = "Type in the word(s) to search for:";
+       setGoImage1("");
+       
+       
+       
+       
+       
+       
+       setGoText("Go");
+       setFont("Title", "Arial","9pt","#000000","normal","normal","none");
+       
+       
+       document.write(getFormHTML());
+       writeFormStyle();
+       window.onload = beforeInit;
+       window.onunload=window_unload;
+}
+else
+       document.location.reload();
+//-->
+</script>
+</body>
+</html>
index 167acc45915b05c012cd31f07c821f7b6471945f..c3c7144fa7c88c2735b433abc615760fb8a314c4 100755 (executable)
-//     WebHelp 5.10.003\r
-var gsSK2=null;\r
-var gsSK=null;\r
-var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7";\r
-var gnCLF=0;\r
-var gsHelpCannotSearch="Cannot search for that phrase.";\r
-var gsNoTopics="No Topics Found.";\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading data, please wait...";\r
-var gsSearchMsg="Searching...";\r
-var gsResultDivID="ResultDiv";\r
-var gaaFCD=new Array();\r
-var gaaFTCD=new Array();\r
-var goCF=null;\r
-var goCTF=null;\r
-var gaTI=null;\r
-var gnCurrentOp=0;\r
-var gbNot=false;\r
-var gbReady=false;\r
-var gnLoadFts=1;\r
-var gnCacheLimits=5;\r
-var gaCCD=new Array();\r
-var gbXML=false;\r
-var gaData=new Array();\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var gsMargin="0pt";\r
-var gsIndent="0pt";\r
-var gsCheckKey=null;\r
-var gnIndexNum=0;\r
-var gaFtsContentsCon=null;\r
-var gaTopicCheckInfo=null;\r
-var gnTopicCheck=0;\r
-var goFont=null;\r
-var goErrFont=null;\r
-var goHoverFont=null;\r
-var gsABgColor="#cccccc";\r
-var gbWhFHost=false;\r
-var gbFirst=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Normal")\r
-               goFont=vFont;\r
-       else if(sType=="Error")\r
-               goErrFont=vFont;\r
-       else if(sType=="Hover")\r
-               goHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
-       gsABgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
-       gsMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
-       gsIndent=sIndent;\r
-}\r
-\r
-function updateCache(oCF)\r
-{\r
-       var len=gaCCD.length;\r
-       if(len<gnCacheLimits*gnCLF)\r
-               gaCCD[len]=oCF;\r
-       else{\r
-               gaCCD[0].aTopics=null;\r
-               gaCCD[0].aFtsKeys=null;\r
-               removeItemFromArray(gaCCD,0);\r
-               gaCCD[len-1]=oCF;\r
-       }\r
-}\r
-\r
-function addFtsInfo(sPPath,sDPath,sFtsFile)\r
-{\r
-       gaData[gaData.length]=new ftsInfo(sPPath,sDPath,sFtsFile);\r
-}\r
-\r
-function onLoadXMLError()\r
-{\r
-       if(gnLoadFts==1)\r
-       {\r
-               var aFCD=new Array();\r
-               var aFTCD=new Array();\r
-               ftsReady(aFCD,aFTCD);\r
-       }\r
-       else if(gnLoadFts==3)\r
-       {\r
-               var aTopics=new Array();\r
-               putFtsTData(aTopics);\r
-       }\r
-       else if(gnLoadFts==2)\r
-       {\r
-               putFtsWData(aFtsContents);\r
-               var aFtsContents=new Array();\r
-       }\r
-}\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
-       if(gnLoadFts==1)\r
-       {\r
-               var node=xmlDoc.lastChild;\r
-               if(node)\r
-               {\r
-                       var oChild=node.firstChild;\r
-                       var aFCD=new Array();\r
-                       var aFTCD=new Array();\r
-                       while(oChild)\r
-                       {\r
-                               if(oChild.nodeName=="chunkinfo")\r
-                               {\r
-                                       var sURL=oChild.getAttribute("url");\r
-                                       var sFirst=oChild.getAttribute("first");\r
-                                       var sLast=oChild.getAttribute("last");\r
-                                       if(sURL&&sFirst&&sLast)\r
-                                       {\r
-                                               item=new Object();\r
-                                               item.sStartKey=sFirst;\r
-                                               item.sEndKey=sLast;\r
-                                               item.sFileName=sURL;\r
-                                               aFCD[aFCD.length]=item;\r
-                                       }\r
-                               }\r
-                               else if(oChild.nodeName=="tchunkinfo")\r
-                               {\r
-                                       var sURL=oChild.getAttribute("url");\r
-                                       var nB=parseInt(oChild.getAttribute("first"));\r
-                                       var nE=parseInt(oChild.getAttribute("last"));\r
-                                       if(sURL&&sFirst&&sLast)\r
-                                       {\r
-                                               item=new Object();\r
-                                               item.nBegin=nB;\r
-                                               item.nEnd=nE;\r
-                                               item.sFileName=sURL;\r
-                                               aFTCD[aFTCD.length]=item;\r
-                                       }\r
-\r
-                               }\r
-                               oChild=oChild.nextSibling;\r
-                       }\r
-                       ftsReady(aFCD,aFTCD);\r
-               }\r
-       }\r
-       else if(gnLoadFts==3)\r
-       {\r
-               var node=xmlDoc.lastChild;\r
-               if(node)\r
-               {\r
-                       var oChild=node.firstChild;\r
-                       var aTopics=new Array();\r
-                       while(oChild)\r
-                       {\r
-                               if(oChild.nodeName=="topic")\r
-                               {\r
-                                       var name=oChild.getAttribute("name");\r
-                                       var sURL=oChild.getAttribute("url");\r
-                                       if(name&&name.length>0&&sURL)\r
-                                       {\r
-                                               var topic=new Object();\r
-                                               topic.sTopicTitle=name;\r
-                                               topic.sTopicURL=sURL;\r
-                                               aTopics[aTopics.length]=topic;\r
-                                       }\r
-                               }\r
-                               oChild=oChild.nextSibling;\r
-                       }\r
-                       putFtsTData(aTopics);\r
-               }\r
-       }\r
-       else if(gnLoadFts==2)\r
-       {\r
-               var node=xmlDoc.lastChild;\r
-               if(node)\r
-               {\r
-                       var oChild=node.firstChild;\r
-                       var aFtsContents=new Array();\r
-                       while(oChild)\r
-                       {\r
-                               if(oChild.nodeName=="key")\r
-                               {\r
-                                       var name=oChild.getAttribute("name");\r
-                                       if(name&&name.length>0)\r
-                                       {\r
-                                               var item=new Object();\r
-                                               item.sItemName=name;\r
-                                               aFtsContents[aFtsContents.length]=item;\r
-                                               var oChildChild=oChild.firstChild;\r
-                                               while(oChildChild)\r
-                                               {\r
-                                                       if(oChildChild.nodeName=="#text")\r
-                                                       {\r
-                                                               var sIDs=oChildChild.nodeValue;\r
-                                                               if(sIDs)\r
-                                                               {\r
-                                                                       var nBPos=0;\r
-                                                                       do\r
-                                                                       {\r
-                                                                               var nPos=sIDs.indexOf(",",nBPos);\r
-                                                                               var sID=null;\r
-                                                                               if(nPos!=-1)\r
-                                                                                       sID=sIDs.substring(nBPos,nPos);\r
-                                                                               else\r
-                                                                                       sID=sIDs.substring(nBPos);\r
-\r
-                                                                               if(sID)\r
-                                                                               {\r
-                                                                                       var id=parseInt(sID);\r
-                                                                                       if(!isNaN(id))\r
-                                                                                       {\r
-                                                                                               if(!item.aTopics)\r
-                                                                                                       item.aTopics=new Array();\r
-                                                                                               item.aTopics[item.aTopics.length]=id;\r
-                                                                                       }\r
-                                                                               }\r
-                                                                               nBPos=nPos+1;\r
-                                                                       }while(nBPos!=0&&nBPos<sIDs.length);\r
-                                                               }\r
-                                                       }\r
-                                                       oChildChild=oChildChild.nextSibling;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               oChild=oChild.nextSibling;\r
-                       }\r
-                       putFtsWData(aFtsContents);\r
-               }\r
-       }\r
-}\r
-\r
-function ftsInfo(sPPath,sDPath,sFtsFile)\r
-{\r
-       this.sPPath=sPPath;\r
-       this.sDPath=sDPath;\r
-       this.sFtsFile=sFtsFile;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-       {\r
-               document.body.background=gsBgImage;\r
-       }\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-       {\r
-               document.body.bgColor=gsBgColor;\r
-       }\r
-       writeResultDiv();\r
-       loadFts();\r
-       var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function writeResultDiv()\r
-{\r
-       var sHTML="<div id=\""+gsResultDivID+"\" style=\"POSITION:absolute;\"></div>";\r
-       document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-}\r
-\r
-function loadFts()\r
-{\r
-       if(!gbReady)\r
-       {\r
-               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
-               if(SendMessage(oResMsg)&&oResMsg.oParam)\r
-               {\r
-                       gbReady=true;\r
-                       var oProj=oResMsg.oParam;\r
-                       var aProj=oProj.aProj;\r
-                       gbXML=oProj.bXML;\r
-                       if(aProj.length>0)\r
-                       {\r
-                               var sLangId=aProj[0].sLangId;\r
-                               for(var i=0;i<aProj.length;i++)\r
-                               {\r
-                                       if(aProj[i].sFts&&aProj[i].sLangId==sLangId)\r
-                                       {\r
-                                               addFtsInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sFts);\r
-                                       }\r
-                               }\r
-                       }\r
-                       loadFD();\r
-\r
-               }                               \r
-       }\r
-}\r
-\r
-function loadFD()\r
-{\r
-       if(gnCLF<gaData.length)\r
-       {\r
-               gnLoadFts=1;\r
-               loadData2(gaData[gnCLF].sPPath+gaData[gnCLF].sDPath+gaData[gnCLF].sFtsFile);\r
-       }\r
-       else \r
-       {\r
-               var oMsg = new whMessage(WH_MSG_BACKUPSEARCH, this, 1, null);\r
-               if (SendMessage(oMsg))\r
-               {\r
-                       if (oMsg.oParam)\r
-                       {\r
-                               gsSK=oMsg.oParam.toLowerCase();\r
-                               findFTSKey();\r
-                       }\r
-               }\r
-               RegisterListener2(this, WH_MSG_SEARCHFTSKEY);\r
-       }\r
-}\r
-\r
-function loadData2(sFile)\r
-{\r
-       if(gbXML)\r
-               loadDataXML(sFile);\r
-       else\r
-               loadData(sFile);\r
-}\r
-\r
-function findFTSKey()\r
-{\r
-       gaTI=new Array();\r
-       gnCurrentOp=1;\r
-       gbNot=false;\r
-       displayMsg(gsSearchMsg);\r
-       if(gsSK!="")\r
-       {\r
-               gbFirst=true;\r
-               findOneKey();\r
-       }\r
-}\r
-\r
-function findOneKey()\r
-{\r
-       if(gsSK && gsSK!="")\r
-       {\r
-               var sInput=gsSK;\r
-               var sCW="";\r
-               var nS=-1;\r
-               var nSep=-1;\r
-               for(var nChar=0;nChar<gsFtsBreakChars.length;nChar++){\r
-                       var nFound=sInput.indexOf(gsFtsBreakChars.charAt(nChar));\r
-                       if((nFound!=-1)&&((nS==-1)||(nFound<nS))){\r
-                               nS=nFound;\r
-                               nSep=nChar;\r
-                       }\r
-               }\r
-               if(nS==-1){\r
-                       sCW=sInput;\r
-                       sInput="";\r
-               }else{\r
-                       sCW=sInput.substring(0,nS);\r
-                       sInput=sInput.substring(nS+1);\r
-               }\r
-\r
-               gsSK=sInput;\r
-               \r
-               if((sCW=="or")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){\r
-                       gnCurrentOp=0;\r
-                       gbNot=false;\r
-               }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){\r
-                       gnCurrentOp=1;\r
-                       gbNot=false;\r
-               }else if((sCW=="not")||\r
-                       ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){\r
-                       gbNot=!gbNot;\r
-               }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){\r
-                       var sCurrentStem=GetStem(sCW);\r
-                       gsCW=sCurrentStem;\r
-                       ftsFindKeyword();\r
-                       return;\r
-               }\r
-               findOneKey();\r
-       }\r
-       else{\r
-               displayTopics();\r
-               checkAgain();\r
-       }\r
-}\r
-\r
-function checkAgain()\r
-{\r
-       gsCheckKey = "";\r
-       gnIndexNum = 0;\r
-       gsSK=gsSK2;\r
-       gsSK2=null;\r
-       if(gsSK!=null)\r
-               setTimeout("findFTSKey();",1);\r
-}\r
-\r
-function displayTopics()\r
-{\r
-       var sHTML="";\r
-       var sLine="";\r
-       for(var i=0;i<gaTI.length;i++){\r
-               sLine+="<dt><nobr><a href='"+gaTI[i].sTopicURL+"'>"+_textToHtml(gaTI[i].sTopicTitle)+"</a></nobr></dt>";\r
-               if(i>>4<<4==i)\r
-               {\r
-                       sHTML+=sLine;\r
-                       sLine="";\r
-               }\r
-       }\r
-       if(sLine.length>0)\r
-               sHTML+=sLine;\r
-\r
-       if(sHTML.length==0)\r
-               sHTML="<P>"+gsNoTopics+"</P>"\r
-       else\r
-               sHTML="<dl>"+sHTML+"</dl>";\r
-\r
-       var resultDiv=getElement(gsResultDivID);\r
-       if(resultDiv)\r
-               resultDiv.innerHTML=sHTML;\r
-}\r
-\r
-function displayMsg(sErrorMsg)\r
-{\r
-       var sHTML="<P>"+sErrorMsg+"</P>";\r
-\r
-       var resultDiv=getElement(gsResultDivID);\r
-       if(resultDiv)\r
-               resultDiv.innerHTML=sHTML;\r
-}\r
-\r
-function ftsFindKeyword()\r
-{\r
-       var sKey=gsCW;\r
-       var bNeedLoad=false;\r
-       var aFtsContentsCon=null;\r
-       var s=0;\r
-       if(sKey==null) return;\r
-       if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0)\r
-       {\r
-               aFtsContentsCon=new Array();\r
-               gnCheck=0;\r
-               gsCheckKey=sKey;\r
-               gnTopicCheck=0;\r
-               gaTopicCheckInfo=null;\r
-       }\r
-       else{\r
-               s=gnIndexNum;\r
-               aFtsContentsCon=gaFtsContentsCon;\r
-       }\r
-       for(var i=gnCheck;i<gaaFCD.length;i++)\r
-       {\r
-               var oCF=getChunkedFts(i,sKey);\r
-               if(oCF)\r
-               {\r
-                       if(!oCF.aFtsKeys&&oCF.sFileName!=null)\r
-                       {\r
-                               bNeedLoad=true;\r
-                               oCF.nProjId=i;\r
-                               goCF=oCF;\r
-                               gnIndexNum=s;\r
-                               gnCheck=i;\r
-                               gaFtsContentsCon=aFtsContentsCon;\r
-                               gnLoadFts=2;\r
-                               beginLoading();\r
-                               loadData2(gaData[i].sPPath+gaData[i].sDPath+oCF.sFileName);\r
-                               break;\r
-                       }\r
-                       else{\r
-                               aFtsContentsCon[s++]=oCF;\r
-                       }\r
-               }\r
-       }\r
-       if(!bNeedLoad)\r
-       {\r
-               var aTI=gaTopicCheckInfo;\r
-               for(var m=gnTopicCheck;m<aFtsContentsCon.length;m++)\r
-               {\r
-                       var aTIPart=getTopics(aFtsContentsCon[m],sKey);\r
-                       if(aTIPart==null)\r
-                       {\r
-                               gnCheck=gaaFCD.length;\r
-                               gnTopicCheck=m;\r
-                               gaTopicCheckInfo=aTI;\r
-                               gaFtsContentsCon=aFtsContentsCon;\r
-                               return;\r
-                       }\r
-                       if(m==0)\r
-                               aTI=aTIPart;\r
-                       else\r
-                               aTI=mergeTopics(aTI,aTIPart);\r
-               }\r
-               if(mergewithPreviousResult(aTI))\r
-               {\r
-                       gbFirst=false;\r
-                       findOneKey();\r
-               }\r
-               else\r
-                       checkAgain();\r
-       }\r
-}\r
-\r
-function mergewithPreviousResult(aTI)\r
-{\r
-       if(aTI!=null&&aTI.length!=0)\r
-       {\r
-               var nNumTopics=aTI.length;\r
-               if(gnCurrentOp==0||gbFirst){\r
-                       if(gbNot){\r
-                               displayMsg(gsHelpCannotSearch);\r
-                               return false;\r
-                       }else{\r
-                               var aLS,aSS;\r
-                               if(gaTI.length>=aTI.length)\r
-                               {\r
-                                       aLS=gaTI;\r
-                                       aSS=aTI;\r
-                               }\r
-                               else\r
-                               {\r
-                                       aLS=aTI;\r
-                                       aSS=gaTI;\r
-                               }\r
-                               var s=0;\r
-                               for(var i=0;i<aSS.length;i++)\r
-                               {\r
-                                       var bAlreadyThere=false;\r
-                                       for(var j=s;j<aLS.length;j++)\r
-                                       {\r
-                                               if(aSS[i].equalTo(aLS[j]))\r
-                                               {\r
-                                                       bAlreadyThere=true;\r
-                                                       s=j;\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                                       if(!bAlreadyThere)\r
-                                       {\r
-                                               insertTopic(aLS,aSS[i]);\r
-                                       }\r
-                               }\r
-                               gaTI=aLS;\r
-                       }\r
-               }else if(gnCurrentOp==1){\r
-                       if(gbNot){\r
-                               var s=0;\r
-                               for(var i=0;i<aTI.length;i++)\r
-                               {\r
-                                       for(var j=s;j<gaTI.length;j++)\r
-                                       {\r
-                                               if(aTI[i].equalTo(gaTI[j]))\r
-                                               {\r
-                                                       removeItemFromArray(gaTI,j);\r
-                                                       s=j;\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }else{\r
-                               var s=0;\r
-                               for(var i=0;i<gaTI.length;i++)\r
-                               {\r
-                                       var bFound=false;\r
-                                       for(var j=s;j<aTI.length;j++)\r
-                                       {\r
-                                               if(gaTI[i].equalTo(aTI[j]))\r
-                                               {\r
-                                                       bFound=true;\r
-                                                       s=j;\r
-                                               }\r
-                                       }\r
-                                       if(!bFound)\r
-                                       {\r
-                                               removeItemFromArray(gaTI,i);\r
-                                               i--;\r
-                                       }\r
-                               }                               \r
-                       }\r
-               }\r
-       }else{\r
-               if((gnCurrentOp==1)&&(!gbNot)){\r
-                       gaTI.length=0;\r
-               }else if((gnCurrentOp==0)&&(gbNot)){\r
-                       displayMsg(gsHelpCannotSearch);\r
-                       return false;\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-function insertTopic(aTI,oTI)\r
-{\r
-       var nB=0;\r
-       var nE=aTI.length-1;\r
-       if(nE>=0)\r
-       {\r
-               var nM;\r
-               var bFound=false;\r
-               do{\r
-                       nM=(nB+nE)>>1;\r
-                       if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0)\r
-                               nE=nM-1;\r
-                       else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)\r
-                               nB=nM+1;\r
-                       else\r
-                       {\r
-                               bFound=true;\r
-                               break;\r
-                       }\r
-               }while(nB<=nE);\r
-               if(bFound)\r
-                       insertItemIntoArray(aTI,nM,oTI);\r
-               else\r
-               {\r
-                       if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)\r
-                               insertItemIntoArray(aTI,nM+1,oTI);\r
-                       else\r
-                               insertItemIntoArray(aTI,nM,oTI);\r
-               }\r
-       }\r
-       else\r
-               aTI[0]=oTI;\r
-}\r
-\r
-function mergeTopics(aTI1,aTI2)\r
-{\r
-       var i1=0;\r
-       var i2=0;\r
-       var len1=aTI1.length;\r
-       var len2=aTI2.length;\r
-       var aTopicNew=new Array();\r
-       var i=0;\r
-       while(i1<len1||i2<len2)\r
-       {\r
-               if(i1<len1&&i2<len2)\r
-               {\r
-                       if(compare(aTI1[i1].sTopicTitle,aTI2[i2].sTopicTitle)<0)\r
-                               aTopicNew[i++]=aTI1[i1++];\r
-                       else\r
-                               aTopicNew[i++]=aTI2[i2++];\r
-               }\r
-               else if(i1<len1)\r
-                       aTopicNew[i++]=aTI1[i1++];\r
-               else if(i2<len2)\r
-                       aTopicNew[i++]=aTI2[i2++];\r
-       }\r
-       return aTopicNew;\r
-}\r
-\r
-function getTopics(oCF,sKey)\r
-{\r
-       var aTIPart=new Array();\r
-       if(oCF&&oCF.aFtsKeys)\r
-       {\r
-               var keys=oCF.aFtsKeys;\r
-               var nB=0;\r
-               var nE=keys.length-1;\r
-               var nM=-1;\r
-               var bFound=false;\r
-               do{\r
-                       nM=(nB+nE)>>1;\r
-                       if(compare(keys[nM].sItemName,sKey)>0)\r
-                               nE=nM-1;\r
-                       else if(compare(keys[nM].sItemName,sKey)<0)\r
-                               nB=nM+1;\r
-                       else{\r
-                               bFound=true;\r
-                               break;\r
-                       }\r
-               }while(nB<=nE);\r
-               if(bFound)\r
-               {\r
-                       if(keys[nM].aTopics)\r
-                       {\r
-                               for(var i=0;i<keys[nM].aTopics.length;i++)\r
-                               {\r
-                                       var oTC=getTopicChunk(gaaFTCD[oCF.nProjId],keys[nM].aTopics[i]);\r
-                                       if(oTC.aTopics)\r
-                                       {\r
-                                               aTIPart[aTIPart.length]=\r
-                                                       new topicInfo(oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicTitle,\r
-                                                               gaData[oCF.nProjId].sPPath+oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicURL);\r
-                                       }\r
-                                       else{\r
-                                               goCTF=oTC;\r
-                                               gnLoadFts=3;\r
-                                               beginLoading();\r
-                                               loadData2(gaData[oCF.nProjId].sPPath+gaData[oCF.nProjId].sDPath+oTC.sFileName);\r
-                                               return null;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       return aTIPart;\r
-}\r
-\r
-function getTopicChunk(aFTCD,nTopicId)\r
-{\r
-       if(aFTCD&&aFTCD.length)\r
-       {\r
-               var nB=0;\r
-               var nE=aFTCD.length-1;\r
-               var nM=-1;\r
-               var bFound=false;\r
-               do{\r
-                       nM=(nB+nE)>>1;\r
-                       if(aFTCD[nM].nBegin>nTopicId)\r
-                               nE=nM-1;\r
-                       else if(aFTCD[nM].nEnd<nTopicId)\r
-                               nB=nM+1;\r
-                       else{\r
-                               bFound=true;\r
-                               break;\r
-                       }\r
-               }while(nB<=nE);\r
-               if(bFound)\r
-                       return aFTCD[nM];\r
-       }\r
-       return null;\r
-}\r
-\r
-function endLoading()\r
-{\r
-       var oDiv=getElement(gsLoadingDivID);\r
-       if(oDiv)\r
-               oDiv.style.visibility="hidden";\r
-}\r
-\r
-function beginLoading()\r
-{\r
-       var oDiv=getElement(gsLoadingDivID);\r
-       if(!oDiv)\r
-       {\r
-               document.body.insertAdjacentHTML("afterBegin",writeLoadingDiv());\r
-               oDiv=getElement(gsLoadingDivID);\r
-       }\r
-       \r
-       if(oDiv)\r
-       {\r
-               oDiv.style.top=document.body.scrollTop;\r
-               oDiv.style.visibility="visible";\r
-       }\r
-}\r
-\r
-function writeLoadingDiv(nIIdx)\r
-{\r
-       return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
-function topicInfo(sTopicTitle,sTopicURL)\r
-{\r
-       this.sTopicTitle=sTopicTitle;\r
-       this.sTopicURL=sTopicURL;\r
-       this.equalTo=function(oTI)\r
-       {\r
-               return ((this.sTopicTitle==oTI.sTopicTitle)&&\r
-                       (this.sTopicURL==oTI.sTopicURL));\r
-       }\r
-}\r
-\r
-function getChunkedFts(nIndex,sKey)\r
-{\r
-       var oCF=null;\r
-       if(nIndex<gaaFCD.length)\r
-       {\r
-               var len=gaaFCD[nIndex].length;\r
-               if(len>0)\r
-               {\r
-                       var nB=0;\r
-                       var nE=len-1;\r
-                       var bFound=false;\r
-                       do{\r
-                               var nM=(nB+nE)>>1;\r
-                               if(compare(sKey,gaaFCD[nIndex][nM].sEndKey)>0)\r
-                               {\r
-                                       nB=nM+1;\r
-                               }\r
-                               else if(compare(sKey,gaaFCD[nIndex][nM].sStartKey)<0)\r
-                               {\r
-                                       nE=nM-1;\r
-                               }\r
-                               else{\r
-                                       bFound=true;\r
-                                       break;\r
-                               }\r
-                       }while(nE>=nB);\r
-                       if(bFound)\r
-                               oCF=gaaFCD[nIndex][nM];\r
-               }\r
-       }\r
-       return oCF;\r
-}\r
-\r
-function ftsReady(aFCD,aFTCD)\r
-{\r
-       endLoading();\r
-       gaaFTCD[gnCLF]=aFTCD;\r
-       gaaFCD[gnCLF++]=aFCD;\r
-       setTimeout("loadFD();",1);\r
-}\r
-\r
-function putFtsTData(aTopics)\r
-{\r
-       endLoading();\r
-       var oCTF=goCTF;\r
-       if(oCTF)\r
-       {\r
-               oCTF.aTopics=aTopics;\r
-               setTimeout("ftsFindKeyword();",1);\r
-       }\r
-}\r
-\r
-function putFtsWData(aFtsContents)\r
-{\r
-       endLoading();\r
-       var oCF=goCF;\r
-       if(oCF)\r
-       {\r
-               updateCache(oCF);\r
-               oCF.aFtsKeys=aFtsContents;\r
-               setTimeout("ftsFindKeyword();",1);\r
-       }\r
-}\r
-\r
-function IsStopWord(sCW,aFtsStopArray)\r
-{\r
-       var nStopArrayLen=aFtsStopArray.length;\r
-       var nB=0;\r
-       var nE=nStopArrayLen-1;\r
-       var nM=0;\r
-       var bFound=false;\r
-       var sStopWord="";\r
-       while(nB<=nE){\r
-               nM=(nB+nE);\r
-               nM>>=1;\r
-               sStopWord=aFtsStopArray[nM];\r
-               if(compare(sCW,sStopWord)>0){\r
-                       nB=(nB==nM)?nM+1:nM;\r
-               }else{\r
-                       if(compare(sCW,sStopWord)<0){\r
-                               nE=(nE==nM)?nM-1:nM;\r
-                       }else{\r
-                               bFound=true;\r
-                               break;\r
-                       }\r
-               }\r
-       }\r
-       return bFound;\r
-}\r
-\r
-function GetStem(szWord)\r
-{\r
-       if(gaFtsStem==null||gaFtsStem.length==0)return szWord;\r
-       var aStems=gaFtsStem;\r
-\r
-       var nStemPos=0;\r
-       var csStem="";\r
-       for(var iStem=0;iStem<aStems.length;iStem++){\r
-\r
-               if(aStems[iStem].length>=szWord.length-1)       continue;\r
-               nStemPos=szWord.lastIndexOf(aStems[iStem]);\r
-               if(nStemPos>0){\r
-                       var cssub=szWord.substring(nStemPos);\r
-                       if(cssub==aStems[iStem]){\r
-                               csStem=szWord;\r
-                               if(szWord.charAt(nStemPos-2)==szWord.charAt(nStemPos-1)){\r
-                                       csStem=csStem.substring(0,nStemPos-1);\r
-                               }else{\r
-                                       csStem=csStem.substring(0,nStemPos);\r
-                               }\r
-                               return csStem;\r
-                       }\r
-               }\r
-       }\r
-       return szWord;\r
-}\r
-\r
-function FtsWriteClassStyle()\r
-{\r
-       var sStyle="<STYLE TYPE='text/css'>\n";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       sStyle+="P {"+getFontStyle(goErrFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";\r
-       sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsABgColor+";}\n";\r
-       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
-       sStyle+="</STYLE>";\r
-       document.write(sStyle);\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       UnRegisterListener2(this, WH_MSG_SEARCHFTSKEY);\r
-}\r
-\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId=oMsg.nMessageId;\r
-       if(nMsgId==WH_MSG_SEARCHFTSKEY)\r
-       {\r
-               if(oMsg.oParam)\r
-               {\r
-                       if(gsSK==null||gsSK=="")\r
-                       {\r
-                               gsSK=oMsg.oParam.toLowerCase();\r
-                               findFTSKey();\r
-                       }\r
-                       else\r
-                               gsSK2=oMsg.oParam.toLowerCase();\r
-               }\r
-       }\r
-       else if(nMsgId==WH_MSG_PROJECTREADY)\r
-       {\r
-               loadFts();\r
-       }\r
-       return true;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhLang&&window.gbWhProxy&&window.gbWhVer&&window.gbWhMsg)\r
-{\r
-       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-       goErrFont=new whFont("Verdana","8pt","#000000","normal","bold","none");\r
-       goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_BUnload;\r
-       window.onunload=window_Unload;\r
-       RegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       gbWhFHost=true;\r
-}\r
-else\r
+//     WebHelp 5.10.003
+var gsSK2=null;
+var gsSK=null;
+var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7";
+var gnCLF=0;
+var gsHelpCannotSearch="Cannot search for that phrase.";
+var gsNoTopics="No Topics Found.";
+var gsLoadingDivID="LoadingDiv";
+var gsLoadingMsg="Loading data, please wait...";
+var gsSearchMsg="Searching...";
+var gsResultDivID="ResultDiv";
+var gaaFCD=new Array();
+var gaaFTCD=new Array();
+var goCF=null;
+var goCTF=null;
+var gaTI=null;
+var gnCurrentOp=0;
+var gbNot=false;
+var gbReady=false;
+var gnLoadFts=1;
+var gnCacheLimits=5;
+var gaCCD=new Array();
+var gbXML=false;
+var gaData=new Array();
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var gsMargin="0pt";
+var gsIndent="0pt";
+var gsCheckKey=null;
+var gnIndexNum=0;
+var gaFtsContentsCon=null;
+var gaTopicCheckInfo=null;
+var gnTopicCheck=0;
+var goFont=null;
+var goErrFont=null;
+var goHoverFont=null;
+var gsABgColor="#cccccc";
+var gbWhFHost=false;
+var gbFirst=false;
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Normal")
+               goFont=vFont;
+       else if(sType=="Error")
+               goErrFont=vFont;
+       else if(sType=="Hover")
+               goHoverFont=vFont;
+}
+
+function setActiveBgColor(sBgColor)
+{
+       gsABgColor=sBgColor;
+}
+
+function setMargin(sMargin)
+{
+       gsMargin=sMargin;
+}
+
+function setIndent(sIndent)
+{
+       gsIndent=sIndent;
+}
+
+function updateCache(oCF)
+{
+       var len=gaCCD.length;
+       if(len<gnCacheLimits*gnCLF)
+               gaCCD[len]=oCF;
+       else{
+               gaCCD[0].aTopics=null;
+               gaCCD[0].aFtsKeys=null;
+               removeItemFromArray(gaCCD,0);
+               gaCCD[len-1]=oCF;
+       }
+}
+
+function addFtsInfo(sPPath,sDPath,sFtsFile)
+{
+       gaData[gaData.length]=new ftsInfo(sPPath,sDPath,sFtsFile);
+}
+
+function onLoadXMLError()
+{
+       if(gnLoadFts==1)
+       {
+               var aFCD=new Array();
+               var aFTCD=new Array();
+               ftsReady(aFCD,aFTCD);
+       }
+       else if(gnLoadFts==3)
+       {
+               var aTopics=new Array();
+               putFtsTData(aTopics);
+       }
+       else if(gnLoadFts==2)
+       {
+               putFtsWData(aFtsContents);
+               var aFtsContents=new Array();
+       }
+}
+
+function putDataXML(xmlDoc,sDocPath)
+{
+       if(gnLoadFts==1)
+       {
+               var node=xmlDoc.lastChild;
+               if(node)
+               {
+                       var oChild=node.firstChild;
+                       var aFCD=new Array();
+                       var aFTCD=new Array();
+                       while(oChild)
+                       {
+                               if(oChild.nodeName=="chunkinfo")
+                               {
+                                       var sURL=oChild.getAttribute("url");
+                                       var sFirst=oChild.getAttribute("first");
+                                       var sLast=oChild.getAttribute("last");
+                                       if(sURL&&sFirst&&sLast)
+                                       {
+                                               item=new Object();
+                                               item.sStartKey=sFirst;
+                                               item.sEndKey=sLast;
+                                               item.sFileName=sURL;
+                                               aFCD[aFCD.length]=item;
+                                       }
+                               }
+                               else if(oChild.nodeName=="tchunkinfo")
+                               {
+                                       var sURL=oChild.getAttribute("url");
+                                       var nB=parseInt(oChild.getAttribute("first"));
+                                       var nE=parseInt(oChild.getAttribute("last"));
+                                       if(sURL&&sFirst&&sLast)
+                                       {
+                                               item=new Object();
+                                               item.nBegin=nB;
+                                               item.nEnd=nE;
+                                               item.sFileName=sURL;
+                                               aFTCD[aFTCD.length]=item;
+                                       }
+
+                               }
+                               oChild=oChild.nextSibling;
+                       }
+                       ftsReady(aFCD,aFTCD);
+               }
+       }
+       else if(gnLoadFts==3)
+       {
+               var node=xmlDoc.lastChild;
+               if(node)
+               {
+                       var oChild=node.firstChild;
+                       var aTopics=new Array();
+                       while(oChild)
+                       {
+                               if(oChild.nodeName=="topic")
+                               {
+                                       var name=oChild.getAttribute("name");
+                                       var sURL=oChild.getAttribute("url");
+                                       if(name&&name.length>0&&sURL)
+                                       {
+                                               var topic=new Object();
+                                               topic.sTopicTitle=name;
+                                               topic.sTopicURL=sURL;
+                                               aTopics[aTopics.length]=topic;
+                                       }
+                               }
+                               oChild=oChild.nextSibling;
+                       }
+                       putFtsTData(aTopics);
+               }
+       }
+       else if(gnLoadFts==2)
+       {
+               var node=xmlDoc.lastChild;
+               if(node)
+               {
+                       var oChild=node.firstChild;
+                       var aFtsContents=new Array();
+                       while(oChild)
+                       {
+                               if(oChild.nodeName=="key")
+                               {
+                                       var name=oChild.getAttribute("name");
+                                       if(name&&name.length>0)
+                                       {
+                                               var item=new Object();
+                                               item.sItemName=name;
+                                               aFtsContents[aFtsContents.length]=item;
+                                               var oChildChild=oChild.firstChild;
+                                               while(oChildChild)
+                                               {
+                                                       if(oChildChild.nodeName=="#text")
+                                                       {
+                                                               var sIDs=oChildChild.nodeValue;
+                                                               if(sIDs)
+                                                               {
+                                                                       var nBPos=0;
+                                                                       do
+                                                                       {
+                                                                               var nPos=sIDs.indexOf(",",nBPos);
+                                                                               var sID=null;
+                                                                               if(nPos!=-1)
+                                                                                       sID=sIDs.substring(nBPos,nPos);
+                                                                               else
+                                                                                       sID=sIDs.substring(nBPos);
+
+                                                                               if(sID)
+                                                                               {
+                                                                                       var id=parseInt(sID);
+                                                                                       if(!isNaN(id))
+                                                                                       {
+                                                                                               if(!item.aTopics)
+                                                                                                       item.aTopics=new Array();
+                                                                                               item.aTopics[item.aTopics.length]=id;
+                                                                                       }
+                                                                               }
+                                                                               nBPos=nPos+1;
+                                                                       }while(nBPos!=0&&nBPos<sIDs.length);
+                                                               }
+                                                       }
+                                                       oChildChild=oChildChild.nextSibling;
+                                               }
+                                       }
+                               }
+                               oChild=oChild.nextSibling;
+                       }
+                       putFtsWData(aFtsContents);
+               }
+       }
+}
+
+function ftsInfo(sPPath,sDPath,sFtsFile)
+{
+       this.sPPath=sPPath;
+       this.sDPath=sDPath;
+       this.sFtsFile=sFtsFile;
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+       {
+               document.body.background=gsBgImage;
+       }
+       if(gsBgColor&&gsBgColor.length>0)
+       {
+               document.body.bgColor=gsBgColor;
+       }
+       writeResultDiv();
+       loadFts();
+       var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null)
+       SendMessage(oMsg);
+}
+
+function writeResultDiv()
+{
+       var sHTML="<div id=\""+gsResultDivID+"\" style=\"POSITION:absolute;\"></div>";
+       document.body.insertAdjacentHTML("beforeEnd",sHTML);
+}
+
+function loadFts()
+{
+       if(!gbReady)
+       {
+               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
+               if(SendMessage(oResMsg)&&oResMsg.oParam)
+               {
+                       gbReady=true;
+                       var oProj=oResMsg.oParam;
+                       var aProj=oProj.aProj;
+                       gbXML=oProj.bXML;
+                       if(aProj.length>0)
+                       {
+                               var sLangId=aProj[0].sLangId;
+                               for(var i=0;i<aProj.length;i++)
+                               {
+                                       if(aProj[i].sFts&&aProj[i].sLangId==sLangId)
+                                       {
+                                               addFtsInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sFts);
+                                       }
+                               }
+                       }
+                       loadFD();
+
+               }                               
+       }
+}
+
+function loadFD()
+{
+       if(gnCLF<gaData.length)
+       {
+               gnLoadFts=1;
+               loadData2(gaData[gnCLF].sPPath+gaData[gnCLF].sDPath+gaData[gnCLF].sFtsFile);
+       }
+       else 
+       {
+               var oMsg = new whMessage(WH_MSG_BACKUPSEARCH, this, 1, null);
+               if (SendMessage(oMsg))
+               {
+                       if (oMsg.oParam)
+                       {
+                               gsSK=oMsg.oParam.toLowerCase();
+                               findFTSKey();
+                       }
+               }
+               RegisterListener2(this, WH_MSG_SEARCHFTSKEY);
+       }
+}
+
+function loadData2(sFile)
+{
+       if(gbXML)
+               loadDataXML(sFile);
+       else
+               loadData(sFile);
+}
+
+function findFTSKey()
+{
+       gaTI=new Array();
+       gnCurrentOp=1;
+       gbNot=false;
+       displayMsg(gsSearchMsg);
+       if(gsSK!="")
+       {
+               gbFirst=true;
+               findOneKey();
+       }
+}
+
+function findOneKey()
+{
+       if(gsSK && gsSK!="")
+       {
+               var sInput=gsSK;
+               var sCW="";
+               var nS=-1;
+               var nSep=-1;
+               for(var nChar=0;nChar<gsFtsBreakChars.length;nChar++){
+                       var nFound=sInput.indexOf(gsFtsBreakChars.charAt(nChar));
+                       if((nFound!=-1)&&((nS==-1)||(nFound<nS))){
+                               nS=nFound;
+                               nSep=nChar;
+                       }
+               }
+               if(nS==-1){
+                       sCW=sInput;
+                       sInput="";
+               }else{
+                       sCW=sInput.substring(0,nS);
+                       sInput=sInput.substring(nS+1);
+               }
+
+               gsSK=sInput;
+               
+               if((sCW=="or")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){
+                       gnCurrentOp=0;
+                       gbNot=false;
+               }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){
+                       gnCurrentOp=1;
+                       gbNot=false;
+               }else if((sCW=="not")||
+                       ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){
+                       gbNot=!gbNot;
+               }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){
+                       var sCurrentStem=GetStem(sCW);
+                       gsCW=sCurrentStem;
+                       ftsFindKeyword();
+                       return;
+               }
+               findOneKey();
+       }
+       else{
+               displayTopics();
+               checkAgain();
+       }
+}
+
+function checkAgain()
+{
+       gsCheckKey = "";
+       gnIndexNum = 0;
+       gsSK=gsSK2;
+       gsSK2=null;
+       if(gsSK!=null)
+               setTimeout("findFTSKey();",1);
+}
+
+function displayTopics()
+{
+       var sHTML="";
+       var sLine="";
+       for(var i=0;i<gaTI.length;i++){
+               sLine+="<dt><nobr><a href='"+gaTI[i].sTopicURL+"'>"+_textToHtml(gaTI[i].sTopicTitle)+"</a></nobr></dt>";
+               if(i>>4<<4==i)
+               {
+                       sHTML+=sLine;
+                       sLine="";
+               }
+       }
+       if(sLine.length>0)
+               sHTML+=sLine;
+
+       if(sHTML.length==0)
+               sHTML="<P>"+gsNoTopics+"</P>"
+       else
+               sHTML="<dl>"+sHTML+"</dl>";
+
+       var resultDiv=getElement(gsResultDivID);
+       if(resultDiv)
+               resultDiv.innerHTML=sHTML;
+}
+
+function displayMsg(sErrorMsg)
+{
+       var sHTML="<P>"+sErrorMsg+"</P>";
+
+       var resultDiv=getElement(gsResultDivID);
+       if(resultDiv)
+               resultDiv.innerHTML=sHTML;
+}
+
+function ftsFindKeyword()
+{
+       var sKey=gsCW;
+       var bNeedLoad=false;
+       var aFtsContentsCon=null;
+       var s=0;
+       if(sKey==null) return;
+       if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0)
+       {
+               aFtsContentsCon=new Array();
+               gnCheck=0;
+               gsCheckKey=sKey;
+               gnTopicCheck=0;
+               gaTopicCheckInfo=null;
+       }
+       else{
+               s=gnIndexNum;
+               aFtsContentsCon=gaFtsContentsCon;
+       }
+       for(var i=gnCheck;i<gaaFCD.length;i++)
+       {
+               var oCF=getChunkedFts(i,sKey);
+               if(oCF)
+               {
+                       if(!oCF.aFtsKeys&&oCF.sFileName!=null)
+                       {
+                               bNeedLoad=true;
+                               oCF.nProjId=i;
+                               goCF=oCF;
+                               gnIndexNum=s;
+                               gnCheck=i;
+                               gaFtsContentsCon=aFtsContentsCon;
+                               gnLoadFts=2;
+                               beginLoading();
+                               loadData2(gaData[i].sPPath+gaData[i].sDPath+oCF.sFileName);
+                               break;
+                       }
+                       else{
+                               aFtsContentsCon[s++]=oCF;
+                       }
+               }
+       }
+       if(!bNeedLoad)
+       {
+               var aTI=gaTopicCheckInfo;
+               for(var m=gnTopicCheck;m<aFtsContentsCon.length;m++)
+               {
+                       var aTIPart=getTopics(aFtsContentsCon[m],sKey);
+                       if(aTIPart==null)
+                       {
+                               gnCheck=gaaFCD.length;
+                               gnTopicCheck=m;
+                               gaTopicCheckInfo=aTI;
+                               gaFtsContentsCon=aFtsContentsCon;
+                               return;
+                       }
+                       if(m==0)
+                               aTI=aTIPart;
+                       else
+                               aTI=mergeTopics(aTI,aTIPart);
+               }
+               if(mergewithPreviousResult(aTI))
+               {
+                       gbFirst=false;
+                       findOneKey();
+               }
+               else
+                       checkAgain();
+       }
+}
+
+function mergewithPreviousResult(aTI)
+{
+       if(aTI!=null&&aTI.length!=0)
+       {
+               var nNumTopics=aTI.length;
+               if(gnCurrentOp==0||gbFirst){
+                       if(gbNot){
+                               displayMsg(gsHelpCannotSearch);
+                               return false;
+                       }else{
+                               var aLS,aSS;
+                               if(gaTI.length>=aTI.length)
+                               {
+                                       aLS=gaTI;
+                                       aSS=aTI;
+                               }
+                               else
+                               {
+                                       aLS=aTI;
+                                       aSS=gaTI;
+                               }
+                               var s=0;
+                               for(var i=0;i<aSS.length;i++)
+                               {
+                                       var bAlreadyThere=false;
+                                       for(var j=s;j<aLS.length;j++)
+                                       {
+                                               if(aSS[i].equalTo(aLS[j]))
+                                               {
+                                                       bAlreadyThere=true;
+                                                       s=j;
+                                                       break;
+                                               }
+                                       }
+                                       if(!bAlreadyThere)
+                                       {
+                                               insertTopic(aLS,aSS[i]);
+                                       }
+                               }
+                               gaTI=aLS;
+                       }
+               }else if(gnCurrentOp==1){
+                       if(gbNot){
+                               var s=0;
+                               for(var i=0;i<aTI.length;i++)
+                               {
+                                       for(var j=s;j<gaTI.length;j++)
+                                       {
+                                               if(aTI[i].equalTo(gaTI[j]))
+                                               {
+                                                       removeItemFromArray(gaTI,j);
+                                                       s=j;
+                                                       break;
+                                               }
+                                       }
+                               }
+                       }else{
+                               var s=0;
+                               for(var i=0;i<gaTI.length;i++)
+                               {
+                                       var bFound=false;
+                                       for(var j=s;j<aTI.length;j++)
+                                       {
+                                               if(gaTI[i].equalTo(aTI[j]))
+                                               {
+                                                       bFound=true;
+                                                       s=j;
+                                               }
+                                       }
+                                       if(!bFound)
+                                       {
+                                               removeItemFromArray(gaTI,i);
+                                               i--;
+                                       }
+                               }                               
+                       }
+               }
+       }else{
+               if((gnCurrentOp==1)&&(!gbNot)){
+                       gaTI.length=0;
+               }else if((gnCurrentOp==0)&&(gbNot)){
+                       displayMsg(gsHelpCannotSearch);
+                       return false;
+               }
+       }
+       return true;
+}
+
+function insertTopic(aTI,oTI)
+{
+       var nB=0;
+       var nE=aTI.length-1;
+       if(nE>=0)
+       {
+               var nM;
+               var bFound=false;
+               do{
+                       nM=(nB+nE)>>1;
+                       if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0)
+                               nE=nM-1;
+                       else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)
+                               nB=nM+1;
+                       else
+                       {
+                               bFound=true;
+                               break;
+                       }
+               }while(nB<=nE);
+               if(bFound)
+                       insertItemIntoArray(aTI,nM,oTI);
+               else
+               {
+                       if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0)
+                               insertItemIntoArray(aTI,nM+1,oTI);
+                       else
+                               insertItemIntoArray(aTI,nM,oTI);
+               }
+       }
+       else
+               aTI[0]=oTI;
+}
+
+function mergeTopics(aTI1,aTI2)
+{
+       var i1=0;
+       var i2=0;
+       var len1=aTI1.length;
+       var len2=aTI2.length;
+       var aTopicNew=new Array();
+       var i=0;
+       while(i1<len1||i2<len2)
+       {
+               if(i1<len1&&i2<len2)
+               {
+                       if(compare(aTI1[i1].sTopicTitle,aTI2[i2].sTopicTitle)<0)
+                               aTopicNew[i++]=aTI1[i1++];
+                       else
+                               aTopicNew[i++]=aTI2[i2++];
+               }
+               else if(i1<len1)
+                       aTopicNew[i++]=aTI1[i1++];
+               else if(i2<len2)
+                       aTopicNew[i++]=aTI2[i2++];
+       }
+       return aTopicNew;
+}
+
+function getTopics(oCF,sKey)
+{
+       var aTIPart=new Array();
+       if(oCF&&oCF.aFtsKeys)
+       {
+               var keys=oCF.aFtsKeys;
+               var nB=0;
+               var nE=keys.length-1;
+               var nM=-1;
+               var bFound=false;
+               do{
+                       nM=(nB+nE)>>1;
+                       if(compare(keys[nM].sItemName,sKey)>0)
+                               nE=nM-1;
+                       else if(compare(keys[nM].sItemName,sKey)<0)
+                               nB=nM+1;
+                       else{
+                               bFound=true;
+                               break;
+                       }
+               }while(nB<=nE);
+               if(bFound)
+               {
+                       if(keys[nM].aTopics)
+                       {
+                               for(var i=0;i<keys[nM].aTopics.length;i++)
+                               {
+                                       var oTC=getTopicChunk(gaaFTCD[oCF.nProjId],keys[nM].aTopics[i]);
+                                       if(oTC.aTopics)
+                                       {
+                                               aTIPart[aTIPart.length]=
+                                                       new topicInfo(oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicTitle,
+                                                               gaData[oCF.nProjId].sPPath+oTC.aTopics[keys[nM].aTopics[i]-oTC.nBegin].sTopicURL);
+                                       }
+                                       else{
+                                               goCTF=oTC;
+                                               gnLoadFts=3;
+                                               beginLoading();
+                                               loadData2(gaData[oCF.nProjId].sPPath+gaData[oCF.nProjId].sDPath+oTC.sFileName);
+                                               return null;
+                                       }
+                               }
+                       }
+               }
+       }
+       return aTIPart;
+}
+
+function getTopicChunk(aFTCD,nTopicId)
+{
+       if(aFTCD&&aFTCD.length)
+       {
+               var nB=0;
+               var nE=aFTCD.length-1;
+               var nM=-1;
+               var bFound=false;
+               do{
+                       nM=(nB+nE)>>1;
+                       if(aFTCD[nM].nBegin>nTopicId)
+                               nE=nM-1;
+                       else if(aFTCD[nM].nEnd<nTopicId)
+                               nB=nM+1;
+                       else{
+                               bFound=true;
+                               break;
+                       }
+               }while(nB<=nE);
+               if(bFound)
+                       return aFTCD[nM];
+       }
+       return null;
+}
+
+function endLoading()
+{
+       var oDiv=getElement(gsLoadingDivID);
+       if(oDiv)
+               oDiv.style.visibility="hidden";
+}
+
+function beginLoading()
+{
+       var oDiv=getElement(gsLoadingDivID);
+       if(!oDiv)
+       {
+               document.body.insertAdjacentHTML("afterBegin",writeLoadingDiv());
+               oDiv=getElement(gsLoadingDivID);
+       }
+       
+       if(oDiv)
+       {
+               oDiv.style.top=document.body.scrollTop;
+               oDiv.style.visibility="visible";
+       }
+}
+
+function writeLoadingDiv(nIIdx)
+{
+       return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";
+}
+
+function topicInfo(sTopicTitle,sTopicURL)
+{
+       this.sTopicTitle=sTopicTitle;
+       this.sTopicURL=sTopicURL;
+       this.equalTo=function(oTI)
+       {
+               return ((this.sTopicTitle==oTI.sTopicTitle)&&
+                       (this.sTopicURL==oTI.sTopicURL));
+       }
+}
+
+function getChunkedFts(nIndex,sKey)
+{
+       var oCF=null;
+       if(nIndex<gaaFCD.length)
+       {
+               var len=gaaFCD[nIndex].length;
+               if(len>0)
+               {
+                       var nB=0;
+                       var nE=len-1;
+                       var bFound=false;
+                       do{
+                               var nM=(nB+nE)>>1;
+                               if(compare(sKey,gaaFCD[nIndex][nM].sEndKey)>0)
+                               {
+                                       nB=nM+1;
+                               }
+                               else if(compare(sKey,gaaFCD[nIndex][nM].sStartKey)<0)
+                               {
+                                       nE=nM-1;
+                               }
+                               else{
+                                       bFound=true;
+                                       break;
+                               }
+                       }while(nE>=nB);
+                       if(bFound)
+                               oCF=gaaFCD[nIndex][nM];
+               }
+       }
+       return oCF;
+}
+
+function ftsReady(aFCD,aFTCD)
+{
+       endLoading();
+       gaaFTCD[gnCLF]=aFTCD;
+       gaaFCD[gnCLF++]=aFCD;
+       setTimeout("loadFD();",1);
+}
+
+function putFtsTData(aTopics)
+{
+       endLoading();
+       var oCTF=goCTF;
+       if(oCTF)
+       {
+               oCTF.aTopics=aTopics;
+               setTimeout("ftsFindKeyword();",1);
+       }
+}
+
+function putFtsWData(aFtsContents)
+{
+       endLoading();
+       var oCF=goCF;
+       if(oCF)
+       {
+               updateCache(oCF);
+               oCF.aFtsKeys=aFtsContents;
+               setTimeout("ftsFindKeyword();",1);
+       }
+}
+
+function IsStopWord(sCW,aFtsStopArray)
+{
+       var nStopArrayLen=aFtsStopArray.length;
+       var nB=0;
+       var nE=nStopArrayLen-1;
+       var nM=0;
+       var bFound=false;
+       var sStopWord="";
+       while(nB<=nE){
+               nM=(nB+nE);
+               nM>>=1;
+               sStopWord=aFtsStopArray[nM];
+               if(compare(sCW,sStopWord)>0){
+                       nB=(nB==nM)?nM+1:nM;
+               }else{
+                       if(compare(sCW,sStopWord)<0){
+                               nE=(nE==nM)?nM-1:nM;
+                       }else{
+                               bFound=true;
+                               break;
+                       }
+               }
+       }
+       return bFound;
+}
+
+function GetStem(szWord)
+{
+       if(gaFtsStem==null||gaFtsStem.length==0)return szWord;
+       var aStems=gaFtsStem;
+
+       var nStemPos=0;
+       var csStem="";
+       for(var iStem=0;iStem<aStems.length;iStem++){
+
+               if(aStems[iStem].length>=szWord.length-1)       continue;
+               nStemPos=szWord.lastIndexOf(aStems[iStem]);
+               if(nStemPos>0){
+                       var cssub=szWord.substring(nStemPos);
+                       if(cssub==aStems[iStem]){
+                               csStem=szWord;
+                               if(szWord.charAt(nStemPos-2)==szWord.charAt(nStemPos-1)){
+                                       csStem=csStem.substring(0,nStemPos-1);
+                               }else{
+                                       csStem=csStem.substring(0,nStemPos);
+                               }
+                               return csStem;
+                       }
+               }
+       }
+       return szWord;
+}
+
+function FtsWriteClassStyle()
+{
+       var sStyle="<STYLE TYPE='text/css'>\n";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       sStyle+="P {"+getFontStyle(goErrFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";
+       sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";
+       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsABgColor+";}\n";
+       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";
+       sStyle+="</STYLE>";
+       document.write(sStyle);
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this,WH_MSG_PROJECTREADY);
+       UnRegisterListener2(this, WH_MSG_SEARCHFTSKEY);
+}
+
+
+function onSendMessage(oMsg)
+{
+       var nMsgId=oMsg.nMessageId;
+       if(nMsgId==WH_MSG_SEARCHFTSKEY)
+       {
+               if(oMsg.oParam)
+               {
+                       if(gsSK==null||gsSK=="")
+                       {
+                               gsSK=oMsg.oParam.toLowerCase();
+                               findFTSKey();
+                       }
+                       else
+                               gsSK2=oMsg.oParam.toLowerCase();
+               }
+       }
+       else if(nMsgId==WH_MSG_PROJECTREADY)
+       {
+               loadFts();
+       }
+       return true;
+}
+
+if (window.gbWhUtil&&window.gbWhLang&&window.gbWhProxy&&window.gbWhVer&&window.gbWhMsg)
+{
+       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+       goErrFont=new whFont("Verdana","8pt","#000000","normal","bold","none");
+       goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_BUnload;
+       window.onunload=window_Unload;
+       RegisterListener2(this,WH_MSG_PROJECTREADY);
+       gbWhFHost=true;
+}
+else
        document.location.reload();
\ No newline at end of file
index 323fe8e91bf33c105ab281fe476935f42e0b1a85..bc4ebfd4a5f5c00ec054c1e625b1ac144bd5342e 100755 (executable)
-//     WebHelp 5.10.001\r
-var gfunLookUp;\r
-var gbInputEnable;\r
-var gfunInit;\r
-var gstrFormName= "";\r
-var gbWithButton = false;\r
-var gsTitle="";\r
-var gsOverImage = "";\r
-var gsOutImage = "";\r
-var gsClickImage = "";\r
-var gsText = "";\r
-var gsBgColor = "#c0c0c0";\r
-var gsBgImage = "";\r
-var gbInImage = 0;\r
-var gbInputEnable = 0;\r
-\r
-var goTitleFont=null;\r
-var goInputFont=null;\r
-var goNormalFont=null;\r
-var goHoverFont=null;\r
-var gnType=-1;\r
-var gbWhForm=false;\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       if (sBgImage != null && sBgImage.length > 0)\r
-               gsBgImage = sBgImage;\r
-\r
-       if  (gsBgImage  && gsBgImage .length > 0)\r
-       {\r
-               document.body.background = gsBgImage ;\r
-       }\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       if (sBgColor != null && sBgColor.length > 0)\r
-               gsBgColor = sBgColor;\r
-\r
-       if (gsBgColor&& gsBgColor.length > 0)\r
-       {\r
-               document.body.bgColor = gsBgColor;\r
-       }\r
-}\r
-\r
-function setBtnType(sType)\r
-{\r
-       if (sType == "image")\r
-       {\r
-               gnType = 0;\r
-       }\r
-       else if (sType == "text")\r
-       {\r
-               gnType = 1;\r
-       }\r
-}\r
-\r
-function setGoImage1(sImage1)\r
-{\r
-       gsOutImage = sImage1;\r
-       if (gsOutImage && gsOutImage.length > 0)\r
-               gbWithButton = true;\r
-}\r
-\r
-function setGoImage2(sImage2)\r
-{\r
-       gsOverImage = sImage2;\r
-       if (gsOverImage && gsOverImage.length > 0)\r
-               gbWithButton = true;\r
-}\r
-\r
-function setGoImage3(sImage3)\r
-{\r
-       gsClickImage = sImage3;\r
-       if (gsClickImage && gsClickImage.length > 0)\r
-               gbWithButton = true;\r
-}\r
-\r
-function setGoText(sText)\r
-{\r
-       gsText = sText;\r
-       if (gsText.length > 0)\r
-               gbWithButton = true;\r
-}\r
-\r
-function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)\r
-{\r
-       var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);\r
-       if (sType == "Title")\r
-       {\r
-               goTitleFont = vFont;\r
-               var vFont1 = new whFont(sFontName, sFontSize, "black", sFontStyle, sFontWeight, sFontDecoration);\r
-               goInputFont=vFont1;             \r
-       }\r
-       else if (sType == "Normal")\r
-               goNormalFont = vFont;\r
-       else if (sType == "Hover")\r
-               goHoverFont = vFont;\r
-}\r
-\r
-function writeFormStyle()\r
-{\r
-       var sStyle = "<style type='text/css'>";\r
-       sStyle += "p.title {" + getFontStyle(goTitleFont) + "margin-top:0;margin-bottom:0}\n";\r
-       sStyle += ".inputfield {" + getFontStyle(goInputFont) +"width:100%; }\n";\r
-       sStyle+="A:link {"+getFontStyle(goNormalFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goNormalFont)+"}\n";\r
-       sStyle +="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
-       sStyle+=".clsFormBackground{\n";\r
-       if (gsBgImage)\r
-               sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="border-top:black 1px solid;}\n";\r
-\r
-       sStyle += "</style>";\r
-       document.write(sStyle);\r
-}\r
-\r
-function lookupKeyDown()\r
-{\r
-       if (gbInputEnable)\r
-       {\r
-               if (gbIE4)\r
-               {\r
-                       if (event.keyCode == 13)        //Enter key\r
-                               gfunLookUp(true);\r
-                       else\r
-                               gfunLookUp(false);\r
-               }                       \r
-               else\r
-                       gfunLookUp(false);\r
-       }\r
-}\r
-\r
-function init()\r
-{\r
-       if (gfunInit)\r
-               gfunInit();\r
-       if (!window.Array)  return;\r
-               document.onkeyup = lookupKeyDown;\r
-}\r
-\r
-function inputSubmit()\r
-{\r
-       if ((gbInputEnable && !gbIE4)|| gbInImage)\r
-               gfunLookUp(true);\r
-}\r
-\r
-function inputEnable(bEnable)\r
-{\r
-       gbInputEnable = bEnable;\r
-}\r
-\r
-function inImage(bImage)\r
-{\r
-       gbInImage = bImage;\r
-}\r
-\r
-function getFormHTML()\r
-{\r
-       var sForm = "";\r
-       sForm += "<table class=\"clsFormBackground\" width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\">";\r
-       sForm += "<form name=\"" + gstrFormName + "\" method=\"POST\" action=\"javascript:inputSubmit()\" style=\"width:100%\">";\r
-       sForm += "<tr>";\r
-       sForm += "<td>";\r
-       sForm += "<p class=title><nobr>" + gsTitle + "</nobr><br><table width=\"100%\"><tr valign=\"middle\"><td width=\"100%\"><input class=\"inputfield\" type=\"text\" name=\"keywordField\" onfocus=\"inputEnable(1);\" onblur=\"inputEnable(0);\"></td>";\r
-       if (gbWithButton && gnType >= 0)\r
-       {\r
-               sForm += "<td><a title=\"submit button\" href=\"javascript:void(0);\" onclick=\"" + gstrFormName + ".submit(); return false;\" onfocus=\"inImage(1);\" onblur=\"inImage(0);\" onmouseup=\"onMouseUp();\" onmousedown=\"onMouseDown();\" onmouseover=\"onMouseOver();\" onmouseout=\"onMouseOut();\">"\r
-               if (gnType == 0)\r
-               {\r
-                       if (!gsText)\r
-                               gsText="Go";\r
-                       sForm += "<img alt=\""+gsText+"\" id=\"go\" border=\"0\" src=\"" + gsOutImage + "\">";\r
-               }\r
-               else\r
-                       sForm += gsText ;\r
-               sForm += "</a></td>";\r
-       }\r
-       sForm += "</tr></table></p></td></tr></form></table>";\r
-       return sForm;\r
-}\r
-\r
-function onMouseOver()\r
-{\r
-       if (getElement("go") && gsOverImage)\r
-               getElement("go").src = gsOverImage;\r
-}\r
-\r
-function onMouseDown()\r
-{\r
-       if (getElement("go") && gsClickImage)\r
-               getElement("go").src = gsClickImage;\r
-}\r
-\r
-function onMouseUp()\r
-{\r
-       if (getElement("go") && gsOutImage)\r
-               getElement("go").src = gsOutImage;\r
-}\r
-\r
-function onMouseOut()\r
-{\r
-       if (getElement("go") && gsOutImage)\r
-               getElement("go").src = gsOutImage;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)\r
-{\r
-       goTitleFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");\r
-       goNormalFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");\r
-       goHoverFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "underline");\r
-       gbWhForm=true;\r
-}\r
-else\r
+//     WebHelp 5.10.001
+var gfunLookUp;
+var gbInputEnable;
+var gfunInit;
+var gstrFormName= "";
+var gbWithButton = false;
+var gsTitle="";
+var gsOverImage = "";
+var gsOutImage = "";
+var gsClickImage = "";
+var gsText = "";
+var gsBgColor = "#c0c0c0";
+var gsBgImage = "";
+var gbInImage = 0;
+var gbInputEnable = 0;
+
+var goTitleFont=null;
+var goInputFont=null;
+var goNormalFont=null;
+var goHoverFont=null;
+var gnType=-1;
+var gbWhForm=false;
+
+function setBackground(sBgImage)
+{
+       if (sBgImage != null && sBgImage.length > 0)
+               gsBgImage = sBgImage;
+
+       if  (gsBgImage  && gsBgImage .length > 0)
+       {
+               document.body.background = gsBgImage ;
+       }
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       if (sBgColor != null && sBgColor.length > 0)
+               gsBgColor = sBgColor;
+
+       if (gsBgColor&& gsBgColor.length > 0)
+       {
+               document.body.bgColor = gsBgColor;
+       }
+}
+
+function setBtnType(sType)
+{
+       if (sType == "image")
+       {
+               gnType = 0;
+       }
+       else if (sType == "text")
+       {
+               gnType = 1;
+       }
+}
+
+function setGoImage1(sImage1)
+{
+       gsOutImage = sImage1;
+       if (gsOutImage && gsOutImage.length > 0)
+               gbWithButton = true;
+}
+
+function setGoImage2(sImage2)
+{
+       gsOverImage = sImage2;
+       if (gsOverImage && gsOverImage.length > 0)
+               gbWithButton = true;
+}
+
+function setGoImage3(sImage3)
+{
+       gsClickImage = sImage3;
+       if (gsClickImage && gsClickImage.length > 0)
+               gbWithButton = true;
+}
+
+function setGoText(sText)
+{
+       gsText = sText;
+       if (gsText.length > 0)
+               gbWithButton = true;
+}
+
+function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)
+{
+       var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);
+       if (sType == "Title")
+       {
+               goTitleFont = vFont;
+               var vFont1 = new whFont(sFontName, sFontSize, "black", sFontStyle, sFontWeight, sFontDecoration);
+               goInputFont=vFont1;             
+       }
+       else if (sType == "Normal")
+               goNormalFont = vFont;
+       else if (sType == "Hover")
+               goHoverFont = vFont;
+}
+
+function writeFormStyle()
+{
+       var sStyle = "<style type='text/css'>";
+       sStyle += "p.title {" + getFontStyle(goTitleFont) + "margin-top:0;margin-bottom:0}\n";
+       sStyle += ".inputfield {" + getFontStyle(goInputFont) +"width:100%; }\n";
+       sStyle+="A:link {"+getFontStyle(goNormalFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goNormalFont)+"}\n";
+       sStyle +="A:hover {"+getFontStyle(goHoverFont)+"}\n";
+       sStyle+=".clsFormBackground{\n";
+       if (gsBgImage)
+               sStyle+="border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="border-top:black 1px solid;}\n";
+
+       sStyle += "</style>";
+       document.write(sStyle);
+}
+
+function lookupKeyDown()
+{
+       if (gbInputEnable)
+       {
+               if (gbIE4)
+               {
+                       if (event.keyCode == 13)        //Enter key
+                               gfunLookUp(true);
+                       else
+                               gfunLookUp(false);
+               }                       
+               else
+                       gfunLookUp(false);
+       }
+}
+
+function init()
+{
+       if (gfunInit)
+               gfunInit();
+       if (!window.Array)  return;
+               document.onkeyup = lookupKeyDown;
+}
+
+function inputSubmit()
+{
+       if ((gbInputEnable && !gbIE4)|| gbInImage)
+               gfunLookUp(true);
+}
+
+function inputEnable(bEnable)
+{
+       gbInputEnable = bEnable;
+}
+
+function inImage(bImage)
+{
+       gbInImage = bImage;
+}
+
+function getFormHTML()
+{
+       var sForm = "";
+       sForm += "<table class=\"clsFormBackground\" width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\">";
+       sForm += "<form name=\"" + gstrFormName + "\" method=\"POST\" action=\"javascript:inputSubmit()\" style=\"width:100%\">";
+       sForm += "<tr>";
+       sForm += "<td>";
+       sForm += "<p class=title><nobr>" + gsTitle + "</nobr><br><table width=\"100%\"><tr valign=\"middle\"><td width=\"100%\"><input class=\"inputfield\" type=\"text\" name=\"keywordField\" onfocus=\"inputEnable(1);\" onblur=\"inputEnable(0);\"></td>";
+       if (gbWithButton && gnType >= 0)
+       {
+               sForm += "<td><a title=\"submit button\" href=\"javascript:void(0);\" onclick=\"" + gstrFormName + ".submit(); return false;\" onfocus=\"inImage(1);\" onblur=\"inImage(0);\" onmouseup=\"onMouseUp();\" onmousedown=\"onMouseDown();\" onmouseover=\"onMouseOver();\" onmouseout=\"onMouseOut();\">"
+               if (gnType == 0)
+               {
+                       if (!gsText)
+                               gsText="Go";
+                       sForm += "<img alt=\""+gsText+"\" id=\"go\" border=\"0\" src=\"" + gsOutImage + "\">";
+               }
+               else
+                       sForm += gsText ;
+               sForm += "</a></td>";
+       }
+       sForm += "</tr></table></p></td></tr></form></table>";
+       return sForm;
+}
+
+function onMouseOver()
+{
+       if (getElement("go") && gsOverImage)
+               getElement("go").src = gsOverImage;
+}
+
+function onMouseDown()
+{
+       if (getElement("go") && gsClickImage)
+               getElement("go").src = gsClickImage;
+}
+
+function onMouseUp()
+{
+       if (getElement("go") && gsOutImage)
+               getElement("go").src = gsOutImage;
+}
+
+function onMouseOut()
+{
+       if (getElement("go") && gsOutImage)
+               getElement("go").src = gsOutImage;
+}
+
+if (window.gbWhUtil&&window.gbWhVer&&window.gbWhProxy&&window.gbWhMsg)
+{
+       goTitleFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");
+       goNormalFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "none");
+       goHoverFont=new whFont("Arial", "9pt", "#000000", "normal", "normal", "underline");
+       gbWhForm=true;
+}
+else
        document.location.reload();
\ No newline at end of file
index 2040f336f4858d299ffced5d6c649c59c8f80320..121011e2dd1073306a58bd775a87a70904e009ee 100755 (executable)
@@ -1,79 +1,79 @@
-//     WebHelp 5.10.001\r
-// this value should be identical to the value used in whproxy.js\r
-window.whname = "wh_stub";\r
-\r
-// this file will be used by Topic and NavBar and NavPane and other components\r
-// and this file is used in child frame html.\r
-// and the whstub.js will be used in the start page.\r
-// see reference in whstub.js.\r
-// Internal Area\r
-var gbInited = false;\r
-var gWndStubPage = null;\r
-function getStubPage()\r
-{\r
-       if (!gbInited)\r
-       {\r
-               gWndStubPage = getStubPage_inter(window);\r
-               gbInited = true;\r
-       }\r
-       return gWndStubPage;\r
-}\r
-\r
-function getStubPage_inter(wCurrent) {\r
-       if (null == wCurrent.parent || wCurrent.parent == wCurrent)\r
-               return null;\r
-\r
-       if (wCurrent.parent.whname && "wh_stub" == wCurrent.parent.whname) \r
-               return wCurrent.parent;\r
-       else\r
-               if (wCurrent.parent.frames.length != 0 && wCurrent.parent != wCurrent)\r
-                       return getStubPage_inter(wCurrent.parent);\r
-               else \r
-                       return null;\r
-}\r
-\r
-// Public interface begin here................\r
-function RegisterListener(framename, nMessageId)\r
-{\r
-       var wStartPage = getStubPage();\r
-       if (wStartPage && wStartPage != this) {\r
-               return wStartPage.RegisterListener(framename, nMessageId);\r
-       }\r
-       else \r
-               return false;\r
-}\r
-\r
-function RegisterListener2(oframe, nMessageId)\r
-{\r
-       var wStartPage = getStubPage();\r
-       if (wStartPage && wStartPage != this) {\r
-               return wStartPage.RegisterListener2(oframe, nMessageId);\r
-       }\r
-       else \r
-               return false;\r
-}\r
-\r
-function UnRegisterListener2(oframe, nMessageId)\r
-{\r
-       var wStartPage = getStubPage();\r
-       if (wStartPage && wStartPage != this && wStartPage.UnRegisterListener2) {\r
-               return wStartPage.UnRegisterListener2(oframe, nMessageId);\r
-       }\r
-       else \r
-               return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
-       var nMsgId = oMessage.nMessageId;\r
-       if (nMsgId == WH_MSG_ISINFRAMESET && oMessage.wSender != this)\r
-               return true;\r
-       var wStartPage = getStubPage();\r
-       if (wStartPage && wStartPage != this && wStartPage.SendMessage) \r
-       {\r
-               return wStartPage.SendMessage(oMessage);\r
-       }\r
-       else \r
-               return false;\r
-}\r
+//     WebHelp 5.10.001
+// this value should be identical to the value used in whproxy.js
+window.whname = "wh_stub";
+
+// this file will be used by Topic and NavBar and NavPane and other components
+// and this file is used in child frame html.
+// and the whstub.js will be used in the start page.
+// see reference in whstub.js.
+// Internal Area
+var gbInited = false;
+var gWndStubPage = null;
+function getStubPage()
+{
+       if (!gbInited)
+       {
+               gWndStubPage = getStubPage_inter(window);
+               gbInited = true;
+       }
+       return gWndStubPage;
+}
+
+function getStubPage_inter(wCurrent) {
+       if (null == wCurrent.parent || wCurrent.parent == wCurrent)
+               return null;
+
+       if (wCurrent.parent.whname && "wh_stub" == wCurrent.parent.whname) 
+               return wCurrent.parent;
+       else
+               if (wCurrent.parent.frames.length != 0 && wCurrent.parent != wCurrent)
+                       return getStubPage_inter(wCurrent.parent);
+               else 
+                       return null;
+}
+
+// Public interface begin here................
+function RegisterListener(framename, nMessageId)
+{
+       var wStartPage = getStubPage();
+       if (wStartPage && wStartPage != this) {
+               return wStartPage.RegisterListener(framename, nMessageId);
+       }
+       else 
+               return false;
+}
+
+function RegisterListener2(oframe, nMessageId)
+{
+       var wStartPage = getStubPage();
+       if (wStartPage && wStartPage != this) {
+               return wStartPage.RegisterListener2(oframe, nMessageId);
+       }
+       else 
+               return false;
+}
+
+function UnRegisterListener2(oframe, nMessageId)
+{
+       var wStartPage = getStubPage();
+       if (wStartPage && wStartPage != this && wStartPage.UnRegisterListener2) {
+               return wStartPage.UnRegisterListener2(oframe, nMessageId);
+       }
+       else 
+               return false;
+}
+
+function SendMessage(oMessage)
+{
+       var nMsgId = oMessage.nMessageId;
+       if (nMsgId == WH_MSG_ISINFRAMESET && oMessage.wSender != this)
+               return true;
+       var wStartPage = getStubPage();
+       if (wStartPage && wStartPage != this && wStartPage.SendMessage) 
+       {
+               return wStartPage.SendMessage(oMessage);
+       }
+       else 
+               return false;
+}
 var gbWhProxy=true;
\ No newline at end of file
index 4a74388e20341f31b05e9ceac8f7be787225c320..34d782d2d89ae39394b4a07916911d357dc613df 100755 (executable)
@@ -1,35 +1,35 @@
-<html>\r
-<head>\r
-<title>Glossary Term</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whhost.js"></script>\r
-<script language="javascript1.2" src="whghost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-if(window.gbWhGHost)\r
-{\r
-       \r
-       \r
-       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");\r
-       setActiveBgColor("#cccccc");\r
-       setMargin("0pt");\r
-       setIndent("9pt");\r
-       GloWriteClassStyle();\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white">\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Glossary Term</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whlang.js"></script>
+<script language="javascript1.2" src="whhost.js"></script>
+<script language="javascript1.2" src="whghost.js"></script>
+<script language="javascript1.2">
+<!--
+if(window.gbWhGHost)
+{
+       
+       
+       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");
+       setActiveBgColor("#cccccc");
+       setMargin("0pt");
+       setIndent("9pt");
+       GloWriteClassStyle();
+}
+else
+       document.location.reload();
+//-->
+</script>
+</head>
+<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white">
+</body>
+</html>
index 5cc603ca4badf5a9a5e937d283f7eb6fe4ff45f4..08501c59032a6d3b887d6315b21f4df89362db4b 100755 (executable)
@@ -1,44 +1,44 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" >\r
-\r
-\r
-<a name="bm_{"></a><a name="subkey_{D"></a><a href="../files/about_meshes.htm"><b>0d</b></a> <br><nobr>1d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../defining_hypotheses_tui.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../mesh.htm"><b>12</b></a> <a href="../revolution.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_{E"></a><a name="subkey_{E"></a>1e <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_{D"></a><a name="subkey_{D"></a>2d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../defining_hypotheses_tui.htm"><b>7</b></a> <a href="../constructing_meshes.htm"><b>8</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>9</b></a> <a href="../files/length_of_edges.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/area_of_elements.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/minimum_angle.htm"><b>15</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../modifying_meshes.htm"><b>19</b></a> <a href="../mesh.htm"><b>20</b></a> <a href="../files/warp.htm"><b>21</b></a> <a href="../transforming_meshes.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>3d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../deleting_groups.htm"><b>7</b></a> <a href="../defining_hypotheses_tui.htm"><b>8</b></a> <a href="../aspect_ratio_3d.htm"><b>9</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>10</b></a> <a href="../about_viewing_meshes.htm"><b>11</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>14</b></a> <a href="../files/cutting_quadrangles.htm"><b>15</b></a> <a href="../files/creating_groups.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>18</b></a> <a href="../files/aspect_ratio.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>23</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>24</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>25</b></a> <a href="../quality_controls.htm"><b>26</b></a> <a href="../mesh.htm"><b>27</b></a> <a href="../files/vtk_3d_viewer.htm"><b>28</b></a> <a href="../files/uniting_two_triangles.htm"><b>29</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>30</b></a> <a href="../volume.htm"><b>31</b></a> <a href="../revolution.htm"><b>32</b></a> </nobr><br><a name="bms_{E"></a><a name="subkey_{E"></a><a href="../quality_controls.htm"><b>3e</b></a> <br><a name="bms_{R"></a><a name="subkey_{R"></a><a href="../files/about_meshes.htm"><b>3rd</b></a> <br><a name="bms_{X"></a><a name="subkey_{X"></a><a href="../modifying_meshes.htm"><b>3x3</b></a> <br><a name="bms_{T"></a><a name="subkey_{T"></a><a href="../files/about_meshes.htm"><b>5th</b></a> <br>\r
-<br><br>\r
-<a name="bm_A"></a><a name="subkey_A{"></a><a href="../modifying_meshes.htm"><b>a_mesh</b></a> <br><a name="bms_AA"></a><a name="subkey_AA"></a><a href="../modifying_meshes.htm"><b>aa</b></a> <br><nobr><a name="bms_AB"></a><a name="subkey_AB"></a>able <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>aborder</b></a> <br><a href="../quality_controls.htm"><b>aborders</b></a> <br><nobr>above <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>abox</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>absent</b></a> <br><a href="../transparency.htm"><b>absolutely</b></a> <br><a href="../files/arithmetic_1d.htm"><b>abutting</b></a> <br><nobr><a name="bms_AC"></a><a name="subkey_AC"></a>access <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>accessed</b></a> <br><nobr>according <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/area_of_elements.htm"><b>6</b></a> <a href="../files/taper.htm"><b>7</b></a> <a href="../files/smoothing.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../pattern_mapping.htm"><b>11</b></a> <a href="../files/warp.htm"><b>12</b></a> <a href="../volume.htm"><b>13</b></a> </nobr><br><nobr>account <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>acomp <a href="../quality_controls.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>acompobj</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>actually</b></a> <br><nobr><a name="bms_AD"></a><a name="subkey_AD"></a>add <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../grouping_elements.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../selection_filter_library.htm"><b>15</b></a> </nobr><br><nobr>added <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addedge</b></a> <br><a href="../modifying_meshes.htm"><b>addface</b></a> <br><nobr>addhypothesis <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>adding <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> </nobr><br><nobr>addition <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><nobr>additional <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/running_smesh_module.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>additionally <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addnode</b></a> <br><a href="../grouping_elements.htm"><b>addobject</b></a> <br><a href="../modifying_meshes.htm"><b>addpolygonalface</b></a> <br><a href="../modifying_meshes.htm"><b>addpolyhedralvolume</b></a> <br><nobr>addtostudy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>addtostudyinfather <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addvolume</b></a> <br><nobr>adjacent <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/minimum_angle.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><a href="../files/smoothing.htm"><b>adjust</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>adjustable</b></a> <br><nobr>advanced <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_AF"></a><a name="subkey_AF"></a>afilter <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>afiltermgr <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>afunctor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a name="bms_AG"></a><a name="subkey_AG"></a><a href="../grouping_elements.htm"><b>ageomgroup1</b></a> <br><a href="../grouping_elements.htm"><b>ageomgroup2</b></a> <br><nobr>agroup <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>agroup1</b></a> <br><a href="../grouping_elements.htm"><b>agroup2</b></a> <br><a href="../grouping_elements.htm"><b>agroup3</b></a> <br><a href="../grouping_elements.htm"><b>agroup4</b></a> <br><a href="../grouping_elements.htm"><b>agroup5</b></a> <br><a href="../grouping_elements.htm"><b>agroupelemids</b></a> <br><a href="../quality_controls.htm"><b>agroupf</b></a> <br><a href="../grouping_elements.htm"><b>agroupmain</b></a> <br><a href="../quality_controls.htm"><b>agroupn</b></a> <br><a href="../grouping_elements.htm"><b>agroupres</b></a> <br><a href="../grouping_elements.htm"><b>agrouptool</b></a> <br><a name="bms_AI"></a><a name="subkey_AI"></a><a href="../files/arithmetic_1d.htm"><b>ai</b></a> <br><a name="bms_AL"></a><a name="subkey_AL"></a><a href="../modifying_meshes.htm"><b>al</b></a> <br><nobr>algo <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>algo1 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>algo2 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>algorithm <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion_along_a_path.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../constructing_meshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/area_of_elements.htm"><b>8</b></a> <a href="../files/sewing_meshes.htm"><b>9</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../pattern_mapping.htm"><b>12</b></a> <a href="../transforming_meshes.htm"><b>13</b></a> </nobr><br><nobr>algorithms <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>8</b></a> <a href="../mesh.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>allow</b></a> <br><nobr>allowed <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>allowing <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>allows <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/symmetry.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/rotation.htm"><b>12</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>13</b></a> <a href="../files/merging_nodes.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../merge_elements.htm"><b>17</b></a> <a href="../files/vtk_3d_viewer.htm"><b>18</b></a> <a href="../files/using_operations_on_groups.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> </nobr><br><nobr>along <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../files/vtk_3d_viewer.htm"><b>6</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>alternative</b></a> <br><nobr>alternatively <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>always</b></a> <br><nobr><a name="bms_AM"></a><a name="subkey_AM"></a>amesheditor <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../borders_at_multi-connection.htm"><b>amount</b></a> <br><a name="bms_AN"></a><a name="subkey_AN"></a><a href="../files/arithmetic_1d.htm"><b>analytic</b></a> <br><nobr>aneditor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>angle <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/skew.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../files/minimum_angle.htm"><b>6</b></a> <a href="../quality_controls.htm"><b>7</b></a> <a href="../mesh.htm"><b>8</b></a> <a href="../files/warp.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>angle180</b></a> <br><a href="../modifying_meshes.htm"><b>angle45</b></a> <br><a href="../extrusion_along_a_path.htm"><b>angled</b></a> <br><nobr>angles <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>angular</b></a> <br><a href="../extrusion_along_a_path.htm"><b>angularity</b></a> <br><nobr>anids <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>anodeid1</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid2</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid3</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid4</b></a> <br><nobr>another <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>any <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/displacing_nodes.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../grouping_elements.htm"><b>9</b></a> </nobr><br><a name="bms_AP"></a><a name="subkey_AP"></a><a href="../files/constructing_meshes.htm"><b>apparent</b></a> <br><nobr>appear <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/constructing_submeshes.htm"><b>8</b></a> <a href="../files/constructing_meshes.htm"><b>9</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/rotation.htm"><b>14</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>15</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>16</b></a> <a href="../files/merging_nodes.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../files/using_operations_on_groups.htm"><b>19</b></a> <a href="../files/uniting_two_triangles.htm"><b>20</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>21</b></a> <a href="../revolution.htm"><b>22</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>appeared</b></a> <br><nobr>append <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>applicable <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>application <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>applied <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/aspect_ratio.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/skew.htm"><b>10</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../files/warp.htm"><b>16</b></a> <a href="../volume.htm"><b>17</b></a> <a href="../selection_filter_library.htm"><b>18</b></a> </nobr><br><nobr>apply <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../clipping.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>8</b></a> <a href="../files/length_of_edges.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/area_of_elements.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/taper.htm"><b>20</b></a> <a href="../files/symmetry.htm"><b>21</b></a> <a href="../files/smoothing.htm"><b>22</b></a> <a href="../files/skew.htm"><b>23</b></a> <a href="../files/sewing_meshes.htm"><b>24</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>25</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>26</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>27</b></a> <a href="../files/minimum_angle.htm"><b>28</b></a> <a href="../pattern_mapping.htm"><b>29</b></a> <a href="../modifying_meshes.htm"><b>30</b></a> <a href="../mesh.htm"><b>31</b></a> <a href="../merge_elements.htm"><b>32</b></a> <a href="../files/warp.htm"><b>33</b></a> <a href="../files/using_operations_on_groups.htm"><b>34</b></a> <a href="../files/uniting_two_triangles.htm"><b>35</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>36</b></a> <a href="../volume.htm"><b>37</b></a> <a href="../revolution.htm"><b>38</b></a> </nobr><br><nobr>applying <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>applytomeshfaces</b></a> <br><a href="../files/constructing_meshes.htm"><b>appropriate</b></a> <br><a href="../files/arithmetic_1d.htm"><b>approximately</b></a> <br><nobr>apredicate <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" >
+
+
+<a name="bm_{"></a><a name="subkey_{D"></a><a href="../files/about_meshes.htm"><b>0d</b></a> <br><nobr>1d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../defining_hypotheses_tui.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../mesh.htm"><b>12</b></a> <a href="../revolution.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_{E"></a><a name="subkey_{E"></a>1e <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_{D"></a><a name="subkey_{D"></a>2d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../defining_hypotheses_tui.htm"><b>7</b></a> <a href="../constructing_meshes.htm"><b>8</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>9</b></a> <a href="../files/length_of_edges.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/area_of_elements.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/minimum_angle.htm"><b>15</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../modifying_meshes.htm"><b>19</b></a> <a href="../mesh.htm"><b>20</b></a> <a href="../files/warp.htm"><b>21</b></a> <a href="../transforming_meshes.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>3d <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../deleting_groups.htm"><b>7</b></a> <a href="../defining_hypotheses_tui.htm"><b>8</b></a> <a href="../aspect_ratio_3d.htm"><b>9</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>10</b></a> <a href="../about_viewing_meshes.htm"><b>11</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>14</b></a> <a href="../files/cutting_quadrangles.htm"><b>15</b></a> <a href="../files/creating_groups.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>18</b></a> <a href="../files/aspect_ratio.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>23</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>24</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>25</b></a> <a href="../quality_controls.htm"><b>26</b></a> <a href="../mesh.htm"><b>27</b></a> <a href="../files/vtk_3d_viewer.htm"><b>28</b></a> <a href="../files/uniting_two_triangles.htm"><b>29</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>30</b></a> <a href="../volume.htm"><b>31</b></a> <a href="../revolution.htm"><b>32</b></a> </nobr><br><a name="bms_{E"></a><a name="subkey_{E"></a><a href="../quality_controls.htm"><b>3e</b></a> <br><a name="bms_{R"></a><a name="subkey_{R"></a><a href="../files/about_meshes.htm"><b>3rd</b></a> <br><a name="bms_{X"></a><a name="subkey_{X"></a><a href="../modifying_meshes.htm"><b>3x3</b></a> <br><a name="bms_{T"></a><a name="subkey_{T"></a><a href="../files/about_meshes.htm"><b>5th</b></a> <br>
+<br><br>
+<a name="bm_A"></a><a name="subkey_A{"></a><a href="../modifying_meshes.htm"><b>a_mesh</b></a> <br><a name="bms_AA"></a><a name="subkey_AA"></a><a href="../modifying_meshes.htm"><b>aa</b></a> <br><nobr><a name="bms_AB"></a><a name="subkey_AB"></a>able <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>aborder</b></a> <br><a href="../quality_controls.htm"><b>aborders</b></a> <br><nobr>above <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>abox</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>absent</b></a> <br><a href="../transparency.htm"><b>absolutely</b></a> <br><a href="../files/arithmetic_1d.htm"><b>abutting</b></a> <br><nobr><a name="bms_AC"></a><a name="subkey_AC"></a>access <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>accessed</b></a> <br><nobr>according <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/area_of_elements.htm"><b>6</b></a> <a href="../files/taper.htm"><b>7</b></a> <a href="../files/smoothing.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../pattern_mapping.htm"><b>11</b></a> <a href="../files/warp.htm"><b>12</b></a> <a href="../volume.htm"><b>13</b></a> </nobr><br><nobr>account <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>acomp <a href="../quality_controls.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>acompobj</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>actually</b></a> <br><nobr><a name="bms_AD"></a><a name="subkey_AD"></a>add <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../grouping_elements.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../selection_filter_library.htm"><b>15</b></a> </nobr><br><nobr>added <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addedge</b></a> <br><a href="../modifying_meshes.htm"><b>addface</b></a> <br><nobr>addhypothesis <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>adding <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> </nobr><br><nobr>addition <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><nobr>additional <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/running_smesh_module.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>additionally <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addnode</b></a> <br><a href="../grouping_elements.htm"><b>addobject</b></a> <br><a href="../modifying_meshes.htm"><b>addpolygonalface</b></a> <br><a href="../modifying_meshes.htm"><b>addpolyhedralvolume</b></a> <br><nobr>addtostudy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>addtostudyinfather <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>addvolume</b></a> <br><nobr>adjacent <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/minimum_angle.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><a href="../files/smoothing.htm"><b>adjust</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>adjustable</b></a> <br><nobr>advanced <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_AF"></a><a name="subkey_AF"></a>afilter <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>afiltermgr <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>afunctor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a name="bms_AG"></a><a name="subkey_AG"></a><a href="../grouping_elements.htm"><b>ageomgroup1</b></a> <br><a href="../grouping_elements.htm"><b>ageomgroup2</b></a> <br><nobr>agroup <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>agroup1</b></a> <br><a href="../grouping_elements.htm"><b>agroup2</b></a> <br><a href="../grouping_elements.htm"><b>agroup3</b></a> <br><a href="../grouping_elements.htm"><b>agroup4</b></a> <br><a href="../grouping_elements.htm"><b>agroup5</b></a> <br><a href="../grouping_elements.htm"><b>agroupelemids</b></a> <br><a href="../quality_controls.htm"><b>agroupf</b></a> <br><a href="../grouping_elements.htm"><b>agroupmain</b></a> <br><a href="../quality_controls.htm"><b>agroupn</b></a> <br><a href="../grouping_elements.htm"><b>agroupres</b></a> <br><a href="../grouping_elements.htm"><b>agrouptool</b></a> <br><a name="bms_AI"></a><a name="subkey_AI"></a><a href="../files/arithmetic_1d.htm"><b>ai</b></a> <br><a name="bms_AL"></a><a name="subkey_AL"></a><a href="../modifying_meshes.htm"><b>al</b></a> <br><nobr>algo <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>algo1 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>algo2 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>algorithm <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion_along_a_path.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../constructing_meshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/area_of_elements.htm"><b>8</b></a> <a href="../files/sewing_meshes.htm"><b>9</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../pattern_mapping.htm"><b>12</b></a> <a href="../transforming_meshes.htm"><b>13</b></a> </nobr><br><nobr>algorithms <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>8</b></a> <a href="../mesh.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>allow</b></a> <br><nobr>allowed <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>allowing <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>allows <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/symmetry.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/rotation.htm"><b>12</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>13</b></a> <a href="../files/merging_nodes.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../merge_elements.htm"><b>17</b></a> <a href="../files/vtk_3d_viewer.htm"><b>18</b></a> <a href="../files/using_operations_on_groups.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> </nobr><br><nobr>along <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../files/vtk_3d_viewer.htm"><b>6</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>alternative</b></a> <br><nobr>alternatively <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>always</b></a> <br><nobr><a name="bms_AM"></a><a name="subkey_AM"></a>amesheditor <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../borders_at_multi-connection.htm"><b>amount</b></a> <br><a name="bms_AN"></a><a name="subkey_AN"></a><a href="../files/arithmetic_1d.htm"><b>analytic</b></a> <br><nobr>aneditor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>angle <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/skew.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../files/minimum_angle.htm"><b>6</b></a> <a href="../quality_controls.htm"><b>7</b></a> <a href="../mesh.htm"><b>8</b></a> <a href="../files/warp.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>angle180</b></a> <br><a href="../modifying_meshes.htm"><b>angle45</b></a> <br><a href="../extrusion_along_a_path.htm"><b>angled</b></a> <br><nobr>angles <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>angular</b></a> <br><a href="../extrusion_along_a_path.htm"><b>angularity</b></a> <br><nobr>anids <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>anodeid1</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid2</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid3</b></a> <br><a href="../modifying_meshes.htm"><b>anodeid4</b></a> <br><nobr>another <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>any <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/displacing_nodes.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../grouping_elements.htm"><b>9</b></a> </nobr><br><a name="bms_AP"></a><a name="subkey_AP"></a><a href="../files/constructing_meshes.htm"><b>apparent</b></a> <br><nobr>appear <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/constructing_submeshes.htm"><b>8</b></a> <a href="../files/constructing_meshes.htm"><b>9</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/rotation.htm"><b>14</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>15</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>16</b></a> <a href="../files/merging_nodes.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../files/using_operations_on_groups.htm"><b>19</b></a> <a href="../files/uniting_two_triangles.htm"><b>20</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>21</b></a> <a href="../revolution.htm"><b>22</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>appeared</b></a> <br><nobr>append <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>applicable <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>application <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>applied <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/aspect_ratio.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/skew.htm"><b>10</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../files/warp.htm"><b>16</b></a> <a href="../volume.htm"><b>17</b></a> <a href="../selection_filter_library.htm"><b>18</b></a> </nobr><br><nobr>apply <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../clipping.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>8</b></a> <a href="../files/length_of_edges.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/area_of_elements.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/taper.htm"><b>20</b></a> <a href="../files/symmetry.htm"><b>21</b></a> <a href="../files/smoothing.htm"><b>22</b></a> <a href="../files/skew.htm"><b>23</b></a> <a href="../files/sewing_meshes.htm"><b>24</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>25</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>26</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>27</b></a> <a href="../files/minimum_angle.htm"><b>28</b></a> <a href="../pattern_mapping.htm"><b>29</b></a> <a href="../modifying_meshes.htm"><b>30</b></a> <a href="../mesh.htm"><b>31</b></a> <a href="../merge_elements.htm"><b>32</b></a> <a href="../files/warp.htm"><b>33</b></a> <a href="../files/using_operations_on_groups.htm"><b>34</b></a> <a href="../files/uniting_two_triangles.htm"><b>35</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>36</b></a> <a href="../volume.htm"><b>37</b></a> <a href="../revolution.htm"><b>38</b></a> </nobr><br><nobr>applying <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>applytomeshfaces</b></a> <br><a href="../files/constructing_meshes.htm"><b>appropriate</b></a> <br><a href="../files/arithmetic_1d.htm"><b>approximately</b></a> <br><nobr>apredicate <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 0ffe1917dac38453d061fe920525860e7fbccad8..935c39087d86c662b86681c4450c81bc6ae249cb 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf0.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_AR"></a><a name="subkey_AR"></a>arc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/warp.htm"><b>arcsine</b></a> <br><nobr>area <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/area_of_elements.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>6</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../mesh.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> <a href="../files/vtk_3d_viewer.htm"><b>11</b></a> </nobr><br><a href="../files/taper.htm"><b>areas</b></a> <br><nobr>arithmetic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><nobr>arithmetic1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>around <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>array_of_nodes_groups</b></a> <br><a name="bms_AS"></a><a name="subkey_AS"></a><a href="../grouping_elements.htm"><b>asmeshgroup1</b></a> <br><a href="../grouping_elements.htm"><b>asmeshgroup2</b></a> <br><nobr>aspect <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> </nobr><br><nobr>assign <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><a href="../files/warp.htm"><b>assigned</b></a> <br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>assigning</b></a> <br><nobr>associated <a href="../files/displaying_nodes_numbers.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> </nobr><br><a name="bms_AT"></a><a name="subkey_AT"></a><a href="../files/creating_groups.htm"><b>attribute</b></a> <br><a name="bms_AU"></a><a name="subkey_AU"></a><a href="../clipping.htm"><b>auto</b></a> <br><nobr>automatic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>automatically <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_AV"></a><a name="subkey_AV"></a>available <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>average <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../files/warp.htm"><b>7</b></a> </nobr><br><a name="bms_AX"></a><a name="subkey_AX"></a><a href="../files/vtk_3d_viewer.htm"><b>axes</b></a> <br><nobr>axis <a href="../extrusion.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><nobr>axisstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>axisxyz <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_B"></a><a name="subkey_BA"></a><a href="../about_viewing_meshes.htm"><b>background</b></a> <br><a href="../files/about_quality_controls.htm"><b>bar</b></a> <br><a href="../extrusion_along_a_path.htm"><b>base</b></a> <br><nobr>based <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/area_of_elements.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><nobr>basic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>basing <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>basis <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><a name="bms_BE"></a><a name="subkey_BE"></a><a href="../pattern_mapping.htm"><b>become</b></a> <br><nobr>before <a href="../transforming_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>beginning <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>belong <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>belonging <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../free_edges.htm"><b>4</b></a> <a href="../free_borders.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>below</b></a> <br><a href="../files/sewing_meshes.htm"><b>berders</b></a> <br><a href="../files/aspect_ratio.htm"><b>better</b></a> <br><a name="bms_BI"></a><a name="subkey_BI"></a><a href="../selection_filter_library.htm"><b>binary</b></a> <br><a href="../files/warp.htm"><b>bisecting</b></a> <br><a href="../files/warp.htm"><b>bisector</b></a> <br><a href="../selection_filter_library.htm"><b>bit</b></a> <br><a name="bms_BL"></a><a name="subkey_BL"></a><a href="../about_viewing_meshes.htm"><b>black</b></a> <br><nobr>block <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../borders_at_multi-connection.htm"><b>blue</b></a> <br><nobr><a name="bms_BM"></a><a name="subkey_BM"></a>bmp <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a name="bms_BO"></a><a name="subkey_BO"></a><a href="../files/arithmetic_1d.htm"><b>bog</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>boolean</b></a> <br><nobr>border <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>borders <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../free_edges.htm"><b>7</b></a> <a href="../free_borders.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><nobr>both <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> </nobr><br><nobr>bottom <a href="../files/running_smesh_module.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>bound</b></a> <br><a href="../pattern_mapping.htm"><b>boundaries</b></a> <br><nobr>boundary <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>bounded</b></a> <br><a href="../files/about_meshes.htm"><b>bounding</b></a> <br><a href="../files/about_meshes.htm"><b>bounds</b></a> <br><nobr>box <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/constructing_submeshes.htm"><b>12</b></a> <a href="../files/constructing_meshes.htm"><b>13</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>14</b></a> <a href="../files/arithmetic_1d.htm"><b>15</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>16</b></a> <a href="../files/translation.htm"><b>17</b></a> <a href="../files/symmetry.htm"><b>18</b></a> <a href="../files/smoothing.htm"><b>19</b></a> <a href="../files/sewing_meshes.htm"><b>20</b></a> <a href="../files/running_smesh_module.htm"><b>21</b></a> <a href="../files/rotation.htm"><b>22</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>23</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>24</b></a> <a href="../files/merging_nodes.htm"><b>25</b></a> <a href="../quality_controls.htm"><b>26</b></a> <a href="../pattern_mapping.htm"><b>27</b></a> <a href="../merge_elements.htm"><b>28</b></a> <a href="../grouping_elements.htm"><b>29</b></a> <a href="../files/viewing_mesh_info.htm"><b>30</b></a> <a href="../files/using_operations_on_groups.htm"><b>31</b></a> <a href="../files/uniting_two_triangles.htm"><b>32</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>33</b></a> <a href="../viewing_meshes.htm"><b>34</b></a> <a href="../transforming_meshes.htm"><b>35</b></a> <a href="../selection_filter_library.htm"><b>36</b></a> <a href="../revolution.htm"><b>37</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>box_1</b></a> <br><nobr>box_id <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>box1</b></a> <br><a href="../transforming_meshes.htm"><b>box2</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>boxes</b></a> <br><nobr><a name="bms_BR"></a><a name="subkey_BR"></a>broken <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>brown</b></a> <br><a href="../selection_filter_library.htm"><b>browse</b></a> <br><nobr>browser <a href="../deleting_groups.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>10</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>11</b></a> <a href="../presentation.htm"><b>12</b></a> <a href="../files/viewing_mesh_info.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_BU"></a><a name="subkey_BU"></a>build <a href="../extrusion.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../revolution.htm"><b>7</b></a> </nobr><br><a href="../files/max._element_area_hypothesis.htm"><b>builds</b></a> <br><nobr>built <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>button <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/area_of_elements.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/minimum_angle.htm"><b>30</b></a> <a href="../pattern_mapping.htm"><b>31</b></a> <a href="../files/warp.htm"><b>32</b></a> <a href="../files/vtk_3d_viewer.htm"><b>33</b></a> <a href="../files/viewing_mesh_info.htm"><b>34</b></a> <a href="../files/using_operations_on_groups.htm"><b>35</b></a> <a href="../files/uniting_two_triangles.htm"><b>36</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>37</b></a> <a href="../volume.htm"><b>38</b></a> <a href="../selection_filter_library.htm"><b>39</b></a> <a href="../revolution.htm"><b>40</b></a> </nobr><br><nobr>buttons <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_C"></a><a name="subkey_CA"></a><a href="../files/about_meshes.htm"><b>cad</b></a> <br><nobr>calculated <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/taper.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> </nobr><br><nobr>calculates <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> </nobr><br><nobr>calculation <a href="../files/length_of_edges.htm"><b>1</b></a> <a href="../files/area_of_elements.htm"><b>2</b></a> <a href="../files/minimum_angle.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>calculations</b></a> <br><a href="../pattern_mapping.htm"><b>called</b></a> <br><a href="../files/removing_nodes_and_elements.htm"><b>careful</b></a> <br><nobr>case <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../files/viewing_mesh_info.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>cases <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_CE"></a><a name="subkey_CE"></a>cells <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> </nobr><br><nobr>center <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../files/smoothing.htm"><b>centroid</b></a> <br><a href="../files/smoothing.htm"><b>centroidal</b></a> <br><a href="../modifying_meshes.htm"><b>centroidal_smooth</b></a> <br><nobr>certain <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_CH"></a><a name="subkey_CH"></a>change <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> </nobr><br><a href="../files/changing_orientation_of_elements.htm"><b>changed</b></a> <br><nobr>changes <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> </nobr><br><a href="../files/changing_orientation_of_elements.htm"><b>changing</b></a> <br><a href="../files/about_quality_controls.htm"><b>characteristic</b></a> <br><a href="../files/about_meshes.htm"><b>characterizes</b></a> <br><nobr>check <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>checkbox <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>checked</b></a> <br><nobr>choice <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>choose <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../display_entity.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>14</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>15</b></a> <a href="../files/aspect_ratio.htm"><b>16</b></a> <a href="../files/area_of_elements.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/taper.htm"><b>20</b></a> <a href="../files/symmetry.htm"><b>21</b></a> <a href="../files/skew.htm"><b>22</b></a> <a href="../files/sewing_meshes.htm"><b>23</b></a> <a href="../files/running_smesh_module.htm"><b>24</b></a> <a href="../files/rotation.htm"><b>25</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>26</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>27</b></a> <a href="../files/minimum_angle.htm"><b>28</b></a> <a href="../files/merging_nodes.htm"><b>29</b></a> <a href="../pattern_mapping.htm"><b>30</b></a> <a href="../files/warp.htm"><b>31</b></a> <a href="../files/uniting_two_triangles.htm"><b>32</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>33</b></a> <a href="../volume.htm"><b>34</b></a> <a href="../selection_filter_library.htm"><b>35</b></a> <a href="../revolution.htm"><b>36</b></a> </nobr><br><nobr>choosing <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> </nobr><br><nobr>chosen <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf0.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_AR"></a><a name="subkey_AR"></a>arc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/warp.htm"><b>arcsine</b></a> <br><nobr>area <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/area_of_elements.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>6</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../mesh.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> <a href="../files/vtk_3d_viewer.htm"><b>11</b></a> </nobr><br><a href="../files/taper.htm"><b>areas</b></a> <br><nobr>arithmetic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><nobr>arithmetic1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>around <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>array_of_nodes_groups</b></a> <br><a name="bms_AS"></a><a name="subkey_AS"></a><a href="../grouping_elements.htm"><b>asmeshgroup1</b></a> <br><a href="../grouping_elements.htm"><b>asmeshgroup2</b></a> <br><nobr>aspect <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> </nobr><br><nobr>assign <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><a href="../files/warp.htm"><b>assigned</b></a> <br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>assigning</b></a> <br><nobr>associated <a href="../files/displaying_nodes_numbers.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> </nobr><br><a name="bms_AT"></a><a name="subkey_AT"></a><a href="../files/creating_groups.htm"><b>attribute</b></a> <br><a name="bms_AU"></a><a name="subkey_AU"></a><a href="../clipping.htm"><b>auto</b></a> <br><nobr>automatic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>automatically <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_AV"></a><a name="subkey_AV"></a>available <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>average <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../files/warp.htm"><b>7</b></a> </nobr><br><a name="bms_AX"></a><a name="subkey_AX"></a><a href="../files/vtk_3d_viewer.htm"><b>axes</b></a> <br><nobr>axis <a href="../extrusion.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><nobr>axisstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>axisxyz <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br>
+<br><br>
+<a name="bm_B"></a><a name="subkey_BA"></a><a href="../about_viewing_meshes.htm"><b>background</b></a> <br><a href="../files/about_quality_controls.htm"><b>bar</b></a> <br><a href="../extrusion_along_a_path.htm"><b>base</b></a> <br><nobr>based <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/area_of_elements.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><nobr>basic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>basing <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>basis <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><a name="bms_BE"></a><a name="subkey_BE"></a><a href="../pattern_mapping.htm"><b>become</b></a> <br><nobr>before <a href="../transforming_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>beginning <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>belong <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>belonging <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../free_edges.htm"><b>4</b></a> <a href="../free_borders.htm"><b>5</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>below</b></a> <br><a href="../files/sewing_meshes.htm"><b>berders</b></a> <br><a href="../files/aspect_ratio.htm"><b>better</b></a> <br><a name="bms_BI"></a><a name="subkey_BI"></a><a href="../selection_filter_library.htm"><b>binary</b></a> <br><a href="../files/warp.htm"><b>bisecting</b></a> <br><a href="../files/warp.htm"><b>bisector</b></a> <br><a href="../selection_filter_library.htm"><b>bit</b></a> <br><a name="bms_BL"></a><a name="subkey_BL"></a><a href="../about_viewing_meshes.htm"><b>black</b></a> <br><nobr>block <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../borders_at_multi-connection.htm"><b>blue</b></a> <br><nobr><a name="bms_BM"></a><a name="subkey_BM"></a>bmp <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a name="bms_BO"></a><a name="subkey_BO"></a><a href="../files/arithmetic_1d.htm"><b>bog</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>boolean</b></a> <br><nobr>border <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>borders <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../free_edges.htm"><b>7</b></a> <a href="../free_borders.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><nobr>both <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> </nobr><br><nobr>bottom <a href="../files/running_smesh_module.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>bound</b></a> <br><a href="../pattern_mapping.htm"><b>boundaries</b></a> <br><nobr>boundary <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>bounded</b></a> <br><a href="../files/about_meshes.htm"><b>bounding</b></a> <br><a href="../files/about_meshes.htm"><b>bounds</b></a> <br><nobr>box <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/constructing_submeshes.htm"><b>12</b></a> <a href="../files/constructing_meshes.htm"><b>13</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>14</b></a> <a href="../files/arithmetic_1d.htm"><b>15</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>16</b></a> <a href="../files/translation.htm"><b>17</b></a> <a href="../files/symmetry.htm"><b>18</b></a> <a href="../files/smoothing.htm"><b>19</b></a> <a href="../files/sewing_meshes.htm"><b>20</b></a> <a href="../files/running_smesh_module.htm"><b>21</b></a> <a href="../files/rotation.htm"><b>22</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>23</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>24</b></a> <a href="../files/merging_nodes.htm"><b>25</b></a> <a href="../quality_controls.htm"><b>26</b></a> <a href="../pattern_mapping.htm"><b>27</b></a> <a href="../merge_elements.htm"><b>28</b></a> <a href="../grouping_elements.htm"><b>29</b></a> <a href="../files/viewing_mesh_info.htm"><b>30</b></a> <a href="../files/using_operations_on_groups.htm"><b>31</b></a> <a href="../files/uniting_two_triangles.htm"><b>32</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>33</b></a> <a href="../viewing_meshes.htm"><b>34</b></a> <a href="../transforming_meshes.htm"><b>35</b></a> <a href="../selection_filter_library.htm"><b>36</b></a> <a href="../revolution.htm"><b>37</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>box_1</b></a> <br><nobr>box_id <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>box1</b></a> <br><a href="../transforming_meshes.htm"><b>box2</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>boxes</b></a> <br><nobr><a name="bms_BR"></a><a name="subkey_BR"></a>broken <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>brown</b></a> <br><a href="../selection_filter_library.htm"><b>browse</b></a> <br><nobr>browser <a href="../deleting_groups.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>10</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>11</b></a> <a href="../presentation.htm"><b>12</b></a> <a href="../files/viewing_mesh_info.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_BU"></a><a name="subkey_BU"></a>build <a href="../extrusion.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../revolution.htm"><b>7</b></a> </nobr><br><a href="../files/max._element_area_hypothesis.htm"><b>builds</b></a> <br><nobr>built <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>button <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/area_of_elements.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/minimum_angle.htm"><b>30</b></a> <a href="../pattern_mapping.htm"><b>31</b></a> <a href="../files/warp.htm"><b>32</b></a> <a href="../files/vtk_3d_viewer.htm"><b>33</b></a> <a href="../files/viewing_mesh_info.htm"><b>34</b></a> <a href="../files/using_operations_on_groups.htm"><b>35</b></a> <a href="../files/uniting_two_triangles.htm"><b>36</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>37</b></a> <a href="../volume.htm"><b>38</b></a> <a href="../selection_filter_library.htm"><b>39</b></a> <a href="../revolution.htm"><b>40</b></a> </nobr><br><nobr>buttons <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br>
+<br><br>
+<a name="bm_C"></a><a name="subkey_CA"></a><a href="../files/about_meshes.htm"><b>cad</b></a> <br><nobr>calculated <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/taper.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> </nobr><br><nobr>calculates <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> </nobr><br><nobr>calculation <a href="../files/length_of_edges.htm"><b>1</b></a> <a href="../files/area_of_elements.htm"><b>2</b></a> <a href="../files/minimum_angle.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>calculations</b></a> <br><a href="../pattern_mapping.htm"><b>called</b></a> <br><a href="../files/removing_nodes_and_elements.htm"><b>careful</b></a> <br><nobr>case <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../files/viewing_mesh_info.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>cases <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_CE"></a><a name="subkey_CE"></a>cells <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> </nobr><br><nobr>center <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../files/smoothing.htm"><b>centroid</b></a> <br><a href="../files/smoothing.htm"><b>centroidal</b></a> <br><a href="../modifying_meshes.htm"><b>centroidal_smooth</b></a> <br><nobr>certain <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_CH"></a><a name="subkey_CH"></a>change <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> </nobr><br><a href="../files/changing_orientation_of_elements.htm"><b>changed</b></a> <br><nobr>changes <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> </nobr><br><a href="../files/changing_orientation_of_elements.htm"><b>changing</b></a> <br><a href="../files/about_quality_controls.htm"><b>characteristic</b></a> <br><a href="../files/about_meshes.htm"><b>characterizes</b></a> <br><nobr>check <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>checkbox <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>checked</b></a> <br><nobr>choice <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>choose <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../display_entity.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>14</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>15</b></a> <a href="../files/aspect_ratio.htm"><b>16</b></a> <a href="../files/area_of_elements.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/taper.htm"><b>20</b></a> <a href="../files/symmetry.htm"><b>21</b></a> <a href="../files/skew.htm"><b>22</b></a> <a href="../files/sewing_meshes.htm"><b>23</b></a> <a href="../files/running_smesh_module.htm"><b>24</b></a> <a href="../files/rotation.htm"><b>25</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>26</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>27</b></a> <a href="../files/minimum_angle.htm"><b>28</b></a> <a href="../files/merging_nodes.htm"><b>29</b></a> <a href="../pattern_mapping.htm"><b>30</b></a> <a href="../files/warp.htm"><b>31</b></a> <a href="../files/uniting_two_triangles.htm"><b>32</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>33</b></a> <a href="../volume.htm"><b>34</b></a> <a href="../selection_filter_library.htm"><b>35</b></a> <a href="../revolution.htm"><b>36</b></a> </nobr><br><nobr>choosing <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> </nobr><br><nobr>chosen <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 5bd3db812c63515608d4bb7b054f1497cca8a086..8963e8a2722c491d155ca324f0f54cd21016ccd5 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf9.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_RI"></a><a name="subkey_RI"></a>right <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../presentation.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_RO"></a><a name="subkey_RO"></a>rotate <a href="../files/rotation.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>rotated <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>rotateobject</b></a> <br><nobr>rotation <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>rotationsweepobject</b></a> <br><a href="../files/about_hypotheses.htm"><b>rough</b></a> <br><a name="bms_RR"></a><a name="subkey_RR"></a><a href="../modifying_meshes.htm"><b>rr</b></a> <br><nobr><a name="bms_RU"></a><a name="subkey_RU"></a>rule <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>rules</b></a> <br><a href="../files/running_smesh_module.htm"><b>running</b></a> <br>\r
-<br><br>\r
-<a name="bm_S"></a><a name="subkey_S{"></a><a href="../extrusion_along_a_path.htm"><b>s</b></a> <br><nobr><a name="bms_SA"></a><a name="subkey_SA"></a>salome <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/running_smesh_module.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><nobr>same <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../files/using_operations_on_groups.htm"><b>13</b></a> <a href="../selection_filter_library.htm"><b>14</b></a> </nobr><br><nobr>sample <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/using_operations_on_groups.htm"><b>42</b></a> <a href="../files/uniting_two_triangles.htm"><b>43</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>44</b></a> <a href="../volume.htm"><b>45</b></a> <a href="../revolution.htm"><b>46</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>save</b></a> <br><a name="bms_SC"></a><a name="subkey_SC"></a><a href="../files/about_quality_controls.htm"><b>scalar</b></a> <br><a href="../files/arithmetic_1d.htm"><b>scale</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>scaling</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>scene</b></a> <br><nobr>script <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../merge_elements.htm"><b>36</b></a> <a href="../length.htm"><b>37</b></a> <a href="../free_edges.htm"><b>38</b></a> <a href="../free_borders.htm"><b>39</b></a> <a href="../files/warp.htm"><b>40</b></a> <a href="../files/viewing_mesh_info.htm"><b>41</b></a> <a href="../files/using_operations_on_groups.htm"><b>42</b></a> <a href="../files/uniting_two_triangles.htm"><b>43</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>44</b></a> <a href="../volume.htm"><b>45</b></a> <a href="../revolution.htm"><b>46</b></a> </nobr><br><nobr>scripts <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_SE"></a><a name="subkey_SE"></a><a href="../pattern_mapping.htm"><b>seam</b></a> <br><nobr>search <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>second <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><nobr>section <a href="../clipping.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>sections <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>see <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>5</b></a> <a href="../borders_at_multi-connection.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_submeshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/vtk_3d_viewer.htm"><b>42</b></a> <a href="../files/using_operations_on_groups.htm"><b>43</b></a> <a href="../files/uniting_two_triangles.htm"><b>44</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>45</b></a> <a href="../volume.htm"><b>46</b></a> <a href="../revolution.htm"><b>47</b></a> </nobr><br><nobr>segment <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><nobr>segments <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>select <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/constructing_submeshes.htm"><b>13</b></a> <a href="../files/constructing_meshes.htm"><b>14</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/arithmetic_1d.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/symmetry.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/running_smesh_module.htm"><b>23</b></a> <a href="../files/rotation.htm"><b>24</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>25</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>26</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>27</b></a> <a href="../files/merging_nodes.htm"><b>28</b></a> <a href="../pattern_mapping.htm"><b>29</b></a> <a href="../files/vtk_3d_viewer.htm"><b>30</b></a> <a href="../files/viewing_mesh_info.htm"><b>31</b></a> <a href="../files/using_operations_on_groups.htm"><b>32</b></a> <a href="../files/uniting_two_triangles.htm"><b>33</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>34</b></a> <a href="../revolution.htm"><b>35</b></a> </nobr><br><a href="../merge_elements.htm"><b>selectable</b></a> <br><nobr>selected <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> <a href="../files/viewing_mesh_info.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr>selecting <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>8</b></a> <a href="../presentation.htm"><b>9</b></a> <a href="../revolution.htm"><b>10</b></a> </nobr><br><nobr>selection <a href="../deleting_groups.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>sense</b></a> <br><a href="../files/taper.htm"><b>separated</b></a> <br><a href="../files/sewing_meshes.htm"><b>sequence</b></a> <br><a href="../files/sewing_meshes.htm"><b>sequences</b></a> <br><nobr>set <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/sewing_meshes.htm"><b>13</b></a> <a href="../presentation.htm"><b>14</b></a> <a href="../pattern_mapping.htm"><b>15</b></a> <a href="../modifying_meshes.htm"><b>16</b></a> <a href="../mesh.htm"><b>17</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>18</b></a> <a href="../transparency.htm"><b>19</b></a> <a href="../selection_filter_library.htm"><b>20</b></a> </nobr><br><nobr>setcurrentstudy <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>setdisplaymode</b></a> <br><nobr>setlength <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>setmargin <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>setmaxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>setmaxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>setmesh</b></a> <br><nobr>setname <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><nobr>setnumberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>setnumfunctor <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>setpredicate <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>sets</b></a> <br><nobr>setting <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>settings</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>settransparency</b></a> <br><nobr>sew <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>sewbordertoside</b></a> <br><a href="../transforming_meshes.htm"><b>sewconformfreeborders</b></a> <br><a href="../transforming_meshes.htm"><b>sewfreeborders</b></a> <br><nobr>sewing <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>sewsideelements</b></a> <br><nobr><a name="bms_SG"></a><a name="subkey_SG"></a>sg <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_SH"></a><a name="subkey_SH"></a>shading <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../presentation.htm"><b>2</b></a> <a href="../transparency.htm"><b>3</b></a> </nobr><br><nobr>shall <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/merging_nodes.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/uniting_two_triangles.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>shape <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>shape_mesh</b></a> <br><a href="../files/about_meshes.htm"><b>shapes</b></a> <br><nobr>shapetype <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>shift <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> </nobr><br><a href="../files/warp.htm"><b>shortest</b></a> <br><nobr>should <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/rotation.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>show <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>showing</b></a> <br><nobr>shown <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>shows <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../presentation.htm"><b>shrink</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf11.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf9.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_RI"></a><a name="subkey_RI"></a>right <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../presentation.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_RO"></a><a name="subkey_RO"></a>rotate <a href="../files/rotation.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>rotated <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>rotateobject</b></a> <br><nobr>rotation <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>rotationsweepobject</b></a> <br><a href="../files/about_hypotheses.htm"><b>rough</b></a> <br><a name="bms_RR"></a><a name="subkey_RR"></a><a href="../modifying_meshes.htm"><b>rr</b></a> <br><nobr><a name="bms_RU"></a><a name="subkey_RU"></a>rule <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>rules</b></a> <br><a href="../files/running_smesh_module.htm"><b>running</b></a> <br>
+<br><br>
+<a name="bm_S"></a><a name="subkey_S{"></a><a href="../extrusion_along_a_path.htm"><b>s</b></a> <br><nobr><a name="bms_SA"></a><a name="subkey_SA"></a>salome <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/running_smesh_module.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><nobr>same <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/constructing_submeshes.htm"><b>6</b></a> <a href="../files/constructing_meshes.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../files/using_operations_on_groups.htm"><b>13</b></a> <a href="../selection_filter_library.htm"><b>14</b></a> </nobr><br><nobr>sample <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/using_operations_on_groups.htm"><b>42</b></a> <a href="../files/uniting_two_triangles.htm"><b>43</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>44</b></a> <a href="../volume.htm"><b>45</b></a> <a href="../revolution.htm"><b>46</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>save</b></a> <br><a name="bms_SC"></a><a name="subkey_SC"></a><a href="../files/about_quality_controls.htm"><b>scalar</b></a> <br><a href="../files/arithmetic_1d.htm"><b>scale</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>scaling</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>scene</b></a> <br><nobr>script <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../merge_elements.htm"><b>36</b></a> <a href="../length.htm"><b>37</b></a> <a href="../free_edges.htm"><b>38</b></a> <a href="../free_borders.htm"><b>39</b></a> <a href="../files/warp.htm"><b>40</b></a> <a href="../files/viewing_mesh_info.htm"><b>41</b></a> <a href="../files/using_operations_on_groups.htm"><b>42</b></a> <a href="../files/uniting_two_triangles.htm"><b>43</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>44</b></a> <a href="../volume.htm"><b>45</b></a> <a href="../revolution.htm"><b>46</b></a> </nobr><br><nobr>scripts <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_SE"></a><a name="subkey_SE"></a><a href="../pattern_mapping.htm"><b>seam</b></a> <br><nobr>search <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>second <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><nobr>section <a href="../clipping.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>sections <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>see <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>5</b></a> <a href="../borders_at_multi-connection.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_submeshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/vtk_3d_viewer.htm"><b>42</b></a> <a href="../files/using_operations_on_groups.htm"><b>43</b></a> <a href="../files/uniting_two_triangles.htm"><b>44</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>45</b></a> <a href="../volume.htm"><b>46</b></a> <a href="../revolution.htm"><b>47</b></a> </nobr><br><nobr>segment <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><nobr>segments <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>select <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/constructing_submeshes.htm"><b>13</b></a> <a href="../files/constructing_meshes.htm"><b>14</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/arithmetic_1d.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/symmetry.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/running_smesh_module.htm"><b>23</b></a> <a href="../files/rotation.htm"><b>24</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>25</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>26</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>27</b></a> <a href="../files/merging_nodes.htm"><b>28</b></a> <a href="../pattern_mapping.htm"><b>29</b></a> <a href="../files/vtk_3d_viewer.htm"><b>30</b></a> <a href="../files/viewing_mesh_info.htm"><b>31</b></a> <a href="../files/using_operations_on_groups.htm"><b>32</b></a> <a href="../files/uniting_two_triangles.htm"><b>33</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>34</b></a> <a href="../revolution.htm"><b>35</b></a> </nobr><br><a href="../merge_elements.htm"><b>selectable</b></a> <br><nobr>selected <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> <a href="../files/viewing_mesh_info.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr>selecting <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>8</b></a> <a href="../presentation.htm"><b>9</b></a> <a href="../revolution.htm"><b>10</b></a> </nobr><br><nobr>selection <a href="../deleting_groups.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>sense</b></a> <br><a href="../files/taper.htm"><b>separated</b></a> <br><a href="../files/sewing_meshes.htm"><b>sequence</b></a> <br><a href="../files/sewing_meshes.htm"><b>sequences</b></a> <br><nobr>set <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/sewing_meshes.htm"><b>13</b></a> <a href="../presentation.htm"><b>14</b></a> <a href="../pattern_mapping.htm"><b>15</b></a> <a href="../modifying_meshes.htm"><b>16</b></a> <a href="../mesh.htm"><b>17</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>18</b></a> <a href="../transparency.htm"><b>19</b></a> <a href="../selection_filter_library.htm"><b>20</b></a> </nobr><br><nobr>setcurrentstudy <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>setdisplaymode</b></a> <br><nobr>setlength <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>setmargin <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>setmaxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>setmaxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>setmesh</b></a> <br><nobr>setname <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><nobr>setnumberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>setnumfunctor <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>setpredicate <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>sets</b></a> <br><nobr>setting <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>settings</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>settransparency</b></a> <br><nobr>sew <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>sewbordertoside</b></a> <br><a href="../transforming_meshes.htm"><b>sewconformfreeborders</b></a> <br><a href="../transforming_meshes.htm"><b>sewfreeborders</b></a> <br><nobr>sewing <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>sewsideelements</b></a> <br><nobr><a name="bms_SG"></a><a name="subkey_SG"></a>sg <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr><a name="bms_SH"></a><a name="subkey_SH"></a>shading <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../presentation.htm"><b>2</b></a> <a href="../transparency.htm"><b>3</b></a> </nobr><br><nobr>shall <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/merging_nodes.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/uniting_two_triangles.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>shape <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>shape_mesh</b></a> <br><a href="../files/about_meshes.htm"><b>shapes</b></a> <br><nobr>shapetype <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>shift <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> </nobr><br><a href="../files/warp.htm"><b>shortest</b></a> <br><nobr>should <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/rotation.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>show <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>showing</b></a> <br><nobr>shown <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>shows <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../presentation.htm"><b>shrink</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf11.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index e6caee8a33e54d67419175dc69c80c8f41720d8b..76c55a2ebcb9b124b141c4b32b4226825b3e83f0 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf10.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_SI"></a><a name="subkey_SI"></a>side <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>sides <a href="../files/skew.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/minimum_angle.htm"><b>3</b></a> </nobr><br><nobr>simple <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes_and_elements.htm"><b>simpler</b></a> <br><a href="../files/aspect_ratio.htm"><b>simplex</b></a> <br><a href="../aspect_ratio_3d.htm"><b>simplexes</b></a> <br><nobr>simply <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>sin</b></a> <br><a href="../about_viewing_meshes.htm"><b>size</b></a> <br><a href="../files/smoothing.htm"><b>sizes</b></a> <br><nobr><a name="bms_SK"></a><a name="subkey_SK"></a>sk <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>sketcher</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketcher1</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketcher2</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketchers</b></a> <br><nobr>skew <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/skew.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><a name="bms_SL"></a><a name="subkey_SL"></a><a href="../transparency.htm"><b>slider</b></a> <br><a name="bms_SM"></a><a name="subkey_SM"></a><a href="../files/vtk_3d_viewer.htm"><b>small</b></a> <br><nobr>smesh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../grouping_elements.htm"><b>6</b></a> <a href="../viewing_meshes.htm"><b>7</b></a> <a href="../transforming_meshes.htm"><b>8</b></a> </nobr><br><nobr>smesh_mechanic <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><a href="../quality_controls.htm"><b>smesh_mechanic_tetra</b></a> <br><nobr>smesh_mesheditor <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>smeshgroup1</b></a> <br><a href="../grouping_elements.htm"><b>smeshgroup2</b></a> <br><nobr>smeshgui <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>smooth</b></a> <br><a href="../files/smoothing.htm"><b>smoothed</b></a> <br><nobr>smoothing <a href="../files/smoothing.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>smoothobject</b></a> <br><a href="../pattern_mapping.htm"><b>smp</b></a> <br><nobr><a name="bms_SO"></a><a name="subkey_SO"></a>so <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../pattern_mapping.htm"><b>9</b></a> <a href="../modifying_meshes.htm"><b>10</b></a> <a href="../grouping_elements.htm"><b>11</b></a> <a href="../viewing_meshes.htm"><b>12</b></a> </nobr><br><nobr>solid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>solids <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes_and_elements.htm"><b>somewhat</b></a> <br><nobr>sort <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>source</b></a> <br><nobr><a name="bms_SP"></a><a name="subkey_SP"></a>space <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>specific <a href="../files/constructing_groups_of_specific_elements.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>specified <a href="../borders_at_multi-connection.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> </nobr><br><nobr>specifies <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>specify <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/rotation.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../pattern_mapping.htm"><b>9</b></a> <a href="../files/using_operations_on_groups.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>specifying <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> </nobr><br><nobr>sphere <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>split <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> </nobr><br><a name="bms_SQ"></a><a name="subkey_SQ"></a><a href="../modifying_meshes.htm"><b>sqrt</b></a> <br><nobr><a name="bms_ST"></a><a name="subkey_ST"></a>standalone <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>standard <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/viewing_mesh_info.htm"><b>3</b></a> </nobr><br><nobr>start <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/running_smesh_module.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>startendlength</b></a> <br><nobr>starting <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>status</b></a> <br><nobr>stdmeshers <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>steps <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><nobr>stored <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>straight <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>stretched</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>strictly</b></a> <br><nobr>structure <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>study <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>stuffed</b></a> <br><nobr><a name="bms_SU"></a><a name="subkey_SU"></a>sub <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/symmetry.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../files/merging_nodes.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> </nobr><br><nobr>submenu <a href="../display_entity.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>3</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>4</b></a> </nobr><br><nobr>submesh <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/translation.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>12</b></a> <a href="../files/viewing_mesh_info.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../revolution.htm"><b>15</b></a> </nobr><br><nobr>submeshes <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> </nobr><br><nobr>subshapeall <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>subshapelist <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>subshapelist1</b></a> <br><a href="../transforming_meshes.htm"><b>subshapelist2</b></a> <br><nobr>subshapename <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>succeded <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../aspect_ratio_3d.htm"><b>sum</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>supplement</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>supplementary</b></a> <br><nobr>surface <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><nobr>surfaces <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>surrounding <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a name="bms_SW"></a><a name="subkey_SW"></a><a href="../modifying_meshes.htm"><b>sweep</b></a> <br><nobr>swept <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>switches</b></a> <br><nobr><a name="bms_SY"></a><a name="subkey_SY"></a>symmetrical <a href="../files/symmetry.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/symmetry.htm"><b>symmetrically</b></a> <br><nobr>symmetry <a href="../files/symmetry.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>syntax</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_T"></a><a name="subkey_T{"></a>t <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../presentation.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> </nobr><br><nobr><a name="bms_TA"></a><a name="subkey_TA"></a>table <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/uniting_a_set_of_triangles.htm"><b>take</b></a> <br><nobr>taken <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>taking</b></a> <br><nobr>taper <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><a name="bms_TE"></a><a name="subkey_TE"></a><a href="../files/smoothing.htm"><b>techniques</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tetra3d</b></a> <br><a href="../files/about_meshing_algorithms.htm"><b>tetrahedral</b></a> <br><a href="../files/constructing_meshes.htm"><b>tetrahedralization</b></a> <br><nobr>tetrahedron <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> </nobr><br><nobr>tetrahedrons <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_TH"></a><a name="subkey_TH"></a>th <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>them <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../deleting_groups.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/sewing_meshes.htm"><b>12</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>13</b></a> <a href="../files/merging_nodes.htm"><b>14</b></a> <a href="../files/vtk_3d_viewer.htm"><b>15</b></a> <a href="../revolution.htm"><b>16</b></a> </nobr><br><nobr>those <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>three <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>threshold</b></a> <br><a name="bms_TI"></a><a name="subkey_TI"></a><a href="../files/vtk_3d_viewer.htm"><b>tick</b></a> <br><a href="../about_viewing_meshes.htm"><b>time</b></a> <br><a name="bms_TM"></a><a name="subkey_TM"></a><a href="../constructing_meshes.htm"><b>tmp</b></a> <br><a name="bms_TO"></a><a name="subkey_TO"></a><a href="../files/max._element_area_hypothesis.htm"><b>together</b></a> <br><nobr>toggle <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>toggling</b></a> <br><nobr>tolerance <a href="../files/merging_nodes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>tool <a href="../files/using_operations_on_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>toolbar <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/taper.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/running_smesh_module.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../files/warp.htm"><b>20</b></a> <a href="../files/vtk_3d_viewer.htm"><b>21</b></a> <a href="../files/viewing_mesh_info.htm"><b>22</b></a> <a href="../files/uniting_two_triangles.htm"><b>23</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>24</b></a> <a href="../volume.htm"><b>25</b></a> <a href="../revolution.htm"><b>26</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>toolbars</b></a> <br><a href="../selection_filter_library.htm"><b>tools</b></a> <br><a href="../modifying_meshes.htm"><b>top</b></a> <br><a href="../files/about_meshes.htm"><b>topological</b></a> <br><a href="../files/sewing_meshes.htm"><b>topologically</b></a> <br><a href="../files/about_meshes.htm"><b>topology</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>total</b></a> <br><a href="../files/smoothing.htm"><b>toward</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf12.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf10.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_SI"></a><a name="subkey_SI"></a>side <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>sides <a href="../files/skew.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/minimum_angle.htm"><b>3</b></a> </nobr><br><nobr>simple <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes_and_elements.htm"><b>simpler</b></a> <br><a href="../files/aspect_ratio.htm"><b>simplex</b></a> <br><a href="../aspect_ratio_3d.htm"><b>simplexes</b></a> <br><nobr>simply <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>sin</b></a> <br><a href="../about_viewing_meshes.htm"><b>size</b></a> <br><a href="../files/smoothing.htm"><b>sizes</b></a> <br><nobr><a name="bms_SK"></a><a name="subkey_SK"></a>sk <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>sketcher</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketcher1</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketcher2</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>sketchers</b></a> <br><nobr>skew <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/skew.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><a name="bms_SL"></a><a name="subkey_SL"></a><a href="../transparency.htm"><b>slider</b></a> <br><a name="bms_SM"></a><a name="subkey_SM"></a><a href="../files/vtk_3d_viewer.htm"><b>small</b></a> <br><nobr>smesh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../grouping_elements.htm"><b>6</b></a> <a href="../viewing_meshes.htm"><b>7</b></a> <a href="../transforming_meshes.htm"><b>8</b></a> </nobr><br><nobr>smesh_mechanic <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><a href="../quality_controls.htm"><b>smesh_mechanic_tetra</b></a> <br><nobr>smesh_mesheditor <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>smeshgroup1</b></a> <br><a href="../grouping_elements.htm"><b>smeshgroup2</b></a> <br><nobr>smeshgui <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>smooth</b></a> <br><a href="../files/smoothing.htm"><b>smoothed</b></a> <br><nobr>smoothing <a href="../files/smoothing.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>smoothobject</b></a> <br><a href="../pattern_mapping.htm"><b>smp</b></a> <br><nobr><a name="bms_SO"></a><a name="subkey_SO"></a>so <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../pattern_mapping.htm"><b>9</b></a> <a href="../modifying_meshes.htm"><b>10</b></a> <a href="../grouping_elements.htm"><b>11</b></a> <a href="../viewing_meshes.htm"><b>12</b></a> </nobr><br><nobr>solid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>solids <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><a href="../files/adding_nodes_and_elements.htm"><b>somewhat</b></a> <br><nobr>sort <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>source</b></a> <br><nobr><a name="bms_SP"></a><a name="subkey_SP"></a>space <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>specific <a href="../files/constructing_groups_of_specific_elements.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>specified <a href="../borders_at_multi-connection.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> </nobr><br><nobr>specifies <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>specify <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/rotation.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../pattern_mapping.htm"><b>9</b></a> <a href="../files/using_operations_on_groups.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>specifying <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> </nobr><br><nobr>sphere <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>split <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> </nobr><br><a name="bms_SQ"></a><a name="subkey_SQ"></a><a href="../modifying_meshes.htm"><b>sqrt</b></a> <br><nobr><a name="bms_ST"></a><a name="subkey_ST"></a>standalone <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>standard <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/viewing_mesh_info.htm"><b>3</b></a> </nobr><br><nobr>start <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/running_smesh_module.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>startendlength</b></a> <br><nobr>starting <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>status</b></a> <br><nobr>stdmeshers <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>steps <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><nobr>stored <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>straight <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>stretched</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>strictly</b></a> <br><nobr>structure <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>study <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>stuffed</b></a> <br><nobr><a name="bms_SU"></a><a name="subkey_SU"></a>sub <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> <a href="../files/symmetry.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../files/merging_nodes.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> </nobr><br><nobr>submenu <a href="../display_entity.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>3</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>4</b></a> </nobr><br><nobr>submesh <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/translation.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>12</b></a> <a href="../files/viewing_mesh_info.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../revolution.htm"><b>15</b></a> </nobr><br><nobr>submeshes <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> </nobr><br><nobr>subshapeall <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>subshapelist <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>subshapelist1</b></a> <br><a href="../transforming_meshes.htm"><b>subshapelist2</b></a> <br><nobr>subshapename <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>succeded <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../aspect_ratio_3d.htm"><b>sum</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>supplement</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>supplementary</b></a> <br><nobr>surface <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><nobr>surfaces <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>surrounding <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a name="bms_SW"></a><a name="subkey_SW"></a><a href="../modifying_meshes.htm"><b>sweep</b></a> <br><nobr>swept <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>switches</b></a> <br><nobr><a name="bms_SY"></a><a name="subkey_SY"></a>symmetrical <a href="../files/symmetry.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/symmetry.htm"><b>symmetrically</b></a> <br><nobr>symmetry <a href="../files/symmetry.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>syntax</b></a> <br>
+<br><br>
+<nobr><a name="bm_T"></a><a name="subkey_T{"></a>t <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../presentation.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> </nobr><br><nobr><a name="bms_TA"></a><a name="subkey_TA"></a>table <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/uniting_a_set_of_triangles.htm"><b>take</b></a> <br><nobr>taken <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>taking</b></a> <br><nobr>taper <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><a name="bms_TE"></a><a name="subkey_TE"></a><a href="../files/smoothing.htm"><b>techniques</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tetra3d</b></a> <br><a href="../files/about_meshing_algorithms.htm"><b>tetrahedral</b></a> <br><a href="../files/constructing_meshes.htm"><b>tetrahedralization</b></a> <br><nobr>tetrahedron <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> </nobr><br><nobr>tetrahedrons <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_TH"></a><a name="subkey_TH"></a>th <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>them <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../deleting_groups.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/sewing_meshes.htm"><b>12</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>13</b></a> <a href="../files/merging_nodes.htm"><b>14</b></a> <a href="../files/vtk_3d_viewer.htm"><b>15</b></a> <a href="../revolution.htm"><b>16</b></a> </nobr><br><nobr>those <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>three <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>threshold</b></a> <br><a name="bms_TI"></a><a name="subkey_TI"></a><a href="../files/vtk_3d_viewer.htm"><b>tick</b></a> <br><a href="../about_viewing_meshes.htm"><b>time</b></a> <br><a name="bms_TM"></a><a name="subkey_TM"></a><a href="../constructing_meshes.htm"><b>tmp</b></a> <br><a name="bms_TO"></a><a name="subkey_TO"></a><a href="../files/max._element_area_hypothesis.htm"><b>together</b></a> <br><nobr>toggle <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/translation.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>toggling</b></a> <br><nobr>tolerance <a href="../files/merging_nodes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>tool <a href="../files/using_operations_on_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>toolbar <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/taper.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/running_smesh_module.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../files/warp.htm"><b>20</b></a> <a href="../files/vtk_3d_viewer.htm"><b>21</b></a> <a href="../files/viewing_mesh_info.htm"><b>22</b></a> <a href="../files/uniting_two_triangles.htm"><b>23</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>24</b></a> <a href="../volume.htm"><b>25</b></a> <a href="../revolution.htm"><b>26</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>toolbars</b></a> <br><a href="../selection_filter_library.htm"><b>tools</b></a> <br><a href="../modifying_meshes.htm"><b>top</b></a> <br><a href="../files/about_meshes.htm"><b>topological</b></a> <br><a href="../files/sewing_meshes.htm"><b>topologically</b></a> <br><a href="../files/about_meshes.htm"><b>topology</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>total</b></a> <br><a href="../files/smoothing.htm"><b>toward</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf12.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 4e88c0f65a1caee7c8ea99ceda8876618dda192b..33daac7087ae6d945b839c4cfd7b6092c7d772f5 100755 (executable)
@@ -1,47 +1,47 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf11.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_TR"></a><a name="subkey_TR"></a>transformation <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/rotation.htm"><b>4</b></a> <a href="../files/merging_nodes.htm"><b>5</b></a> </nobr><br><a href="../files/displacing_nodes.htm"><b>transformed</b></a> <br><a href="../transforming_meshes.htm"><b>transforming</b></a> <br><nobr>translate <a href="../files/translation.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/translation.htm"><b>translated</b></a> <br><a href="../transforming_meshes.htm"><b>translateobject</b></a> <br><nobr>translation <a href="../files/translation.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>transparency <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../transparency.htm"><b>2</b></a> </nobr><br><a href="../transparency.htm"><b>transparent</b></a> <br><a href="../transforming_meshes.htm"><b>tri_mesh</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tria</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tria_mesh</b></a> <br><nobr>triangle <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/minimum_angle.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../merge_elements.htm"><b>8</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>triangle_mefisto</b></a> <br><nobr>triangles <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>8</b></a> <a href="../files/taper.htm"><b>9</b></a> <a href="../files/skew.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../files/vtk_3d_viewer.htm"><b>13</b></a> <a href="../files/uniting_two_triangles.htm"><b>14</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>15</b></a> <a href="../viewing_meshes.htm"><b>16</b></a> <a href="../transforming_meshes.htm"><b>17</b></a> <a href="../revolution.htm"><b>18</b></a> </nobr><br><nobr>triangular <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>triangulation</b></a> <br><nobr>trias <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>trihedron</b></a> <br><a href="../modifying_meshes.htm"><b>tritoquad</b></a> <br><a href="../files/constructing_meshes.htm"><b>trying</b></a> <br><a name="bms_TT"></a><a name="subkey_TT"></a><a href="../defining_hypotheses_tui.htm"><b>tt</b></a> <br><nobr><a name="bms_TU"></a><a name="subkey_TU"></a>tui <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/viewing_mesh_info.htm"><b>42</b></a> <a href="../files/using_operations_on_groups.htm"><b>43</b></a> <a href="../files/uniting_two_triangles.htm"><b>44</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>45</b></a> <a href="../volume.htm"><b>46</b></a> <a href="../revolution.htm"><b>47</b></a> </nobr><br><nobr><a name="bms_TW"></a><a name="subkey_TW"></a>two <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>8</b></a> <a href="../files/translation.htm"><b>9</b></a> <a href="../files/taper.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/minimum_angle.htm"><b>12</b></a> <a href="../pattern_mapping.htm"><b>13</b></a> <a href="../modifying_meshes.htm"><b>14</b></a> <a href="../grouping_elements.htm"><b>15</b></a> <a href="../files/viewing_mesh_info.htm"><b>16</b></a> <a href="../files/using_operations_on_groups.htm"><b>17</b></a> <a href="../files/uniting_two_triangles.htm"><b>18</b></a> <a href="../transforming_meshes.htm"><b>19</b></a> </nobr><br><nobr><a name="bms_TY"></a><a name="subkey_TY"></a>type <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/aspect_ratio.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>types <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>4</b></a> <a href="../files/viewing_mesh_info.htm"><b>5</b></a> </nobr><br><a href="../files/smoothing.htm"><b>typically</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_U"></a><a name="subkey_U{"></a>u <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_UN"></a><a name="subkey_UN"></a><a href="../selection_filter_library.htm"><b>unary</b></a> <br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>unassigning</b></a> <br><a href="../files/smoothing.htm"><b>uniform</b></a> <br><nobr>union <a href="../grouping_elements.htm"><b>1</b></a> <a href="../files/using_operations_on_groups.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../grouping_elements.htm"><b>uniongroups</b></a> <br><nobr>unite <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr>united <a href="../files/using_operations_on_groups.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>uniting <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>3</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>unless</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>unv</b></a> <br><nobr><a name="bms_UP"></a><a name="subkey_UP"></a>up <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>update</b></a> <br><nobr>updated <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> </nobr><br><nobr>updateobjbrowser <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>uploaded</b></a> <br><a name="bms_US"></a><a name="subkey_US"></a><a href="../files/about_quality_controls.htm"><b>usage</b></a> <br><nobr>used <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../files/sewing_meshes.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../pattern_mapping.htm"><b>10</b></a> <a href="../files/vtk_3d_viewer.htm"><b>11</b></a> <a href="../selection_filter_library.htm"><b>12</b></a> <a href="../revolution.htm"><b>13</b></a> </nobr><br><nobr>useful <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>4</b></a> </nobr><br><nobr>user <a href="../borders_at_multi-connection.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/merging_nodes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>uses</b></a> <br><nobr>using <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../transparency.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><nobr>usually <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_V"></a><a name="subkey_V{"></a><a href="../files/about_meshes.htm"><b>v</b></a> <br><nobr><a name="bms_VA"></a><a name="subkey_VA"></a>value <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/skew.htm"><b>6</b></a> <a href="../files/minimum_angle.htm"><b>7</b></a> <a href="../length.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> </nobr><br><nobr>values <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>varies</b></a> <br><a href="../about_viewing_meshes.htm"><b>various</b></a> <br><a name="bms_VE"></a><a name="subkey_VE"></a><a href="../files/adding_nodes_and_elements.htm"><b>ve</b></a> <br><nobr>vector <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> <a href="../revolution.htm"><b>10</b></a> </nobr><br><nobr>vertex <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>vertices <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>very <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_VI"></a><a name="subkey_VI"></a>via <a href="../files/vtk_3d_viewer.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>view <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> <a href="../files/viewing_mesh_info.htm"><b>3</b></a> </nobr><br><nobr>viewer <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>13</b></a> <a href="../files/aspect_ratio.htm"><b>14</b></a> <a href="../files/area_of_elements.htm"><b>15</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>16</b></a> <a href="../files/taper.htm"><b>17</b></a> <a href="../files/smoothing.htm"><b>18</b></a> <a href="../files/skew.htm"><b>19</b></a> <a href="../files/sewing_meshes.htm"><b>20</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>21</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>22</b></a> <a href="../files/minimum_angle.htm"><b>23</b></a> <a href="../files/warp.htm"><b>24</b></a> <a href="../files/vtk_3d_viewer.htm"><b>25</b></a> <a href="../files/uniting_two_triangles.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../volume.htm"><b>28</b></a> <a href="../selection_filter_library.htm"><b>29</b></a> <a href="../revolution.htm"><b>30</b></a> </nobr><br><nobr>viewing <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../clipping.htm"><b>views</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>visible</b></a> <br><a href="../files/about_quality_controls.htm"><b>visual</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>visualize</b></a> <br><a name="bms_VK"></a><a name="subkey_VK"></a><a href="../aspect_ratio_3d.htm"><b>vk</b></a> <br><nobr><a name="bms_VO"></a><a name="subkey_VO"></a>volume <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../modifying_meshes.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../volume.htm"><b>11</b></a> </nobr><br><nobr>volumes <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>7</b></a> <a href="../files/viewing_mesh_info.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr><a name="bms_VT"></a><a name="subkey_VT"></a>vtk <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_VX"></a><a name="subkey_VX"></a>vxy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_W"></a><a name="subkey_WA"></a><a href="../pattern_mapping.htm"><b>walking</b></a> <br><nobr>warp <a href="../quality_controls.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>warping <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> <a href="../files/warp.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><nobr>way <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/using_operations_on_groups.htm"><b>8</b></a> </nobr><br><nobr>ways <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_WE"></a><a name="subkey_WE"></a><a href="../files/smoothing.htm"><b>weighted</b></a> <br><a href="../pattern_mapping.htm"><b>well</b></a> <br><a name="bms_WH"></a><a name="subkey_WH"></a><a href="../selection_filter_library.htm"><b>whether</b></a> <br><a href="../files/removing_nodes_and_elements.htm"><b>while</b></a> <br><a href="../free_borders.htm"><b>white</b></a> <br><nobr>whole <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> <a href="../revolution.htm"><b>8</b></a> </nobr><br><nobr>whose <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf13.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf11.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_TR"></a><a name="subkey_TR"></a>transformation <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/rotation.htm"><b>4</b></a> <a href="../files/merging_nodes.htm"><b>5</b></a> </nobr><br><a href="../files/displacing_nodes.htm"><b>transformed</b></a> <br><a href="../transforming_meshes.htm"><b>transforming</b></a> <br><nobr>translate <a href="../files/translation.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/translation.htm"><b>translated</b></a> <br><a href="../transforming_meshes.htm"><b>translateobject</b></a> <br><nobr>translation <a href="../files/translation.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>transparency <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../transparency.htm"><b>2</b></a> </nobr><br><a href="../transparency.htm"><b>transparent</b></a> <br><a href="../transforming_meshes.htm"><b>tri_mesh</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tria</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>tria_mesh</b></a> <br><nobr>triangle <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/minimum_angle.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../merge_elements.htm"><b>8</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>triangle_mefisto</b></a> <br><nobr>triangles <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>8</b></a> <a href="../files/taper.htm"><b>9</b></a> <a href="../files/skew.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../files/vtk_3d_viewer.htm"><b>13</b></a> <a href="../files/uniting_two_triangles.htm"><b>14</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>15</b></a> <a href="../viewing_meshes.htm"><b>16</b></a> <a href="../transforming_meshes.htm"><b>17</b></a> <a href="../revolution.htm"><b>18</b></a> </nobr><br><nobr>triangular <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>triangulation</b></a> <br><nobr>trias <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>trihedron</b></a> <br><a href="../modifying_meshes.htm"><b>tritoquad</b></a> <br><a href="../files/constructing_meshes.htm"><b>trying</b></a> <br><a name="bms_TT"></a><a name="subkey_TT"></a><a href="../defining_hypotheses_tui.htm"><b>tt</b></a> <br><nobr><a name="bms_TU"></a><a name="subkey_TU"></a>tui <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>4</b></a> <a href="../borders_at_multi-connection.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>8</b></a> <a href="../files/editing_groups.htm"><b>9</b></a> <a href="../files/displacing_nodes.htm"><b>10</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>11</b></a> <a href="../files/cutting_quadrangles.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>20</b></a> <a href="../files/translation.htm"><b>21</b></a> <a href="../files/taper.htm"><b>22</b></a> <a href="../files/symmetry.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/merging_nodes.htm"><b>33</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>34</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../length.htm"><b>38</b></a> <a href="../free_edges.htm"><b>39</b></a> <a href="../free_borders.htm"><b>40</b></a> <a href="../files/warp.htm"><b>41</b></a> <a href="../files/viewing_mesh_info.htm"><b>42</b></a> <a href="../files/using_operations_on_groups.htm"><b>43</b></a> <a href="../files/uniting_two_triangles.htm"><b>44</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>45</b></a> <a href="../volume.htm"><b>46</b></a> <a href="../revolution.htm"><b>47</b></a> </nobr><br><nobr><a name="bms_TW"></a><a name="subkey_TW"></a>two <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>8</b></a> <a href="../files/translation.htm"><b>9</b></a> <a href="../files/taper.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/minimum_angle.htm"><b>12</b></a> <a href="../pattern_mapping.htm"><b>13</b></a> <a href="../modifying_meshes.htm"><b>14</b></a> <a href="../grouping_elements.htm"><b>15</b></a> <a href="../files/viewing_mesh_info.htm"><b>16</b></a> <a href="../files/using_operations_on_groups.htm"><b>17</b></a> <a href="../files/uniting_two_triangles.htm"><b>18</b></a> <a href="../transforming_meshes.htm"><b>19</b></a> </nobr><br><nobr><a name="bms_TY"></a><a name="subkey_TY"></a>type <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/aspect_ratio.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>types <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>4</b></a> <a href="../files/viewing_mesh_info.htm"><b>5</b></a> </nobr><br><a href="../files/smoothing.htm"><b>typically</b></a> <br>
+<br><br>
+<nobr><a name="bm_U"></a><a name="subkey_U{"></a>u <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_UN"></a><a name="subkey_UN"></a><a href="../selection_filter_library.htm"><b>unary</b></a> <br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>unassigning</b></a> <br><a href="../files/smoothing.htm"><b>uniform</b></a> <br><nobr>union <a href="../grouping_elements.htm"><b>1</b></a> <a href="../files/using_operations_on_groups.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../grouping_elements.htm"><b>uniongroups</b></a> <br><nobr>unite <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr>united <a href="../files/using_operations_on_groups.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>uniting <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>3</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>unless</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>unv</b></a> <br><nobr><a name="bms_UP"></a><a name="subkey_UP"></a>up <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>update</b></a> <br><nobr>updated <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> </nobr><br><nobr>updateobjbrowser <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>uploaded</b></a> <br><a name="bms_US"></a><a name="subkey_US"></a><a href="../files/about_quality_controls.htm"><b>usage</b></a> <br><nobr>used <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/smoothing.htm"><b>7</b></a> <a href="../files/sewing_meshes.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../pattern_mapping.htm"><b>10</b></a> <a href="../files/vtk_3d_viewer.htm"><b>11</b></a> <a href="../selection_filter_library.htm"><b>12</b></a> <a href="../revolution.htm"><b>13</b></a> </nobr><br><nobr>useful <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>4</b></a> </nobr><br><nobr>user <a href="../borders_at_multi-connection.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/merging_nodes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>uses</b></a> <br><nobr>using <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../transparency.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><nobr>usually <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br>
+<br><br>
+<a name="bm_V"></a><a name="subkey_V{"></a><a href="../files/about_meshes.htm"><b>v</b></a> <br><nobr><a name="bms_VA"></a><a name="subkey_VA"></a>value <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/skew.htm"><b>6</b></a> <a href="../files/minimum_angle.htm"><b>7</b></a> <a href="../length.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> </nobr><br><nobr>values <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>varies</b></a> <br><a href="../about_viewing_meshes.htm"><b>various</b></a> <br><a name="bms_VE"></a><a name="subkey_VE"></a><a href="../files/adding_nodes_and_elements.htm"><b>ve</b></a> <br><nobr>vector <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/symmetry.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> <a href="../revolution.htm"><b>10</b></a> </nobr><br><nobr>vertex <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>vertices <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>very <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_VI"></a><a name="subkey_VI"></a>via <a href="../files/vtk_3d_viewer.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>view <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> <a href="../files/viewing_mesh_info.htm"><b>3</b></a> </nobr><br><nobr>viewer <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>13</b></a> <a href="../files/aspect_ratio.htm"><b>14</b></a> <a href="../files/area_of_elements.htm"><b>15</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>16</b></a> <a href="../files/taper.htm"><b>17</b></a> <a href="../files/smoothing.htm"><b>18</b></a> <a href="../files/skew.htm"><b>19</b></a> <a href="../files/sewing_meshes.htm"><b>20</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>21</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>22</b></a> <a href="../files/minimum_angle.htm"><b>23</b></a> <a href="../files/warp.htm"><b>24</b></a> <a href="../files/vtk_3d_viewer.htm"><b>25</b></a> <a href="../files/uniting_two_triangles.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../volume.htm"><b>28</b></a> <a href="../selection_filter_library.htm"><b>29</b></a> <a href="../revolution.htm"><b>30</b></a> </nobr><br><nobr>viewing <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../clipping.htm"><b>views</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>visible</b></a> <br><a href="../files/about_quality_controls.htm"><b>visual</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>visualize</b></a> <br><a name="bms_VK"></a><a name="subkey_VK"></a><a href="../aspect_ratio_3d.htm"><b>vk</b></a> <br><nobr><a name="bms_VO"></a><a name="subkey_VO"></a>volume <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>7</b></a> <a href="../quality_controls.htm"><b>8</b></a> <a href="../modifying_meshes.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../volume.htm"><b>11</b></a> </nobr><br><nobr>volumes <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>7</b></a> <a href="../files/viewing_mesh_info.htm"><b>8</b></a> <a href="../viewing_meshes.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr><a name="bms_VT"></a><a name="subkey_VT"></a>vtk <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_VX"></a><a name="subkey_VX"></a>vxy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br>
+<br><br>
+<a name="bm_W"></a><a name="subkey_WA"></a><a href="../pattern_mapping.htm"><b>walking</b></a> <br><nobr>warp <a href="../quality_controls.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>warping <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> <a href="../files/warp.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><nobr>way <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../files/using_operations_on_groups.htm"><b>8</b></a> </nobr><br><nobr>ways <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_WE"></a><a name="subkey_WE"></a><a href="../files/smoothing.htm"><b>weighted</b></a> <br><a href="../pattern_mapping.htm"><b>well</b></a> <br><a name="bms_WH"></a><a name="subkey_WH"></a><a href="../selection_filter_library.htm"><b>whether</b></a> <br><a href="../files/removing_nodes_and_elements.htm"><b>while</b></a> <br><a href="../free_borders.htm"><b>white</b></a> <br><nobr>whole <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> <a href="../revolution.htm"><b>8</b></a> </nobr><br><nobr>whose <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf13.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 8275a922cb1b2dd04ef249a7a2e34e79344a11fc..591da7bac4ff9d370546c9be33bfb972a77ec1db 100755 (executable)
@@ -1,46 +1,46 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf12.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_WI"></a><a name="subkey_WI"></a>will <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../deleting_groups.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>7</b></a> <a href="../about_viewing_meshes.htm"><b>8</b></a> <a href="../files/length_of_edges.htm"><b>9</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>10</b></a> <a href="../files/editing_groups.htm"><b>11</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/cutting_quadrangles.htm"><b>14</b></a> <a href="../files/creating_groups.htm"><b>15</b></a> <a href="../files/constructing_submeshes.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/arithmetic_1d.htm"><b>21</b></a> <a href="../files/area_of_elements.htm"><b>22</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>23</b></a> <a href="../files/taper.htm"><b>24</b></a> <a href="../files/smoothing.htm"><b>25</b></a> <a href="../files/skew.htm"><b>26</b></a> <a href="../files/sewing_meshes.htm"><b>27</b></a> <a href="../files/running_smesh_module.htm"><b>28</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>29</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../modifying_meshes.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../files/warp.htm"><b>38</b></a> <a href="../files/viewing_mesh_info.htm"><b>39</b></a> <a href="../files/using_operations_on_groups.htm"><b>40</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>41</b></a> <a href="../volume.htm"><b>42</b></a> <a href="../transparency.htm"><b>43</b></a> <a href="../selection_filter_library.htm"><b>44</b></a> <a href="../revolution.htm"><b>45</b></a> </nobr><br><a href="../clipping.htm"><b>window</b></a> <br><nobr>wire <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>wire_discretisation</b></a> <br><nobr>wireframe <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../presentation.htm"><b>3</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>wires</b></a> <br><nobr>wish <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>within <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>without <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> </nobr><br><a name="bms_WO"></a><a name="subkey_WO"></a><a href="../files/arithmetic_1d.htm"><b>words</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>work</b></a> <br><a href="../extrusion_along_a_path.htm"><b>works</b></a> <br><a href="../files/aspect_ratio.htm"><b>worst</b></a> <br><nobr>would <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_WW"></a><a name="subkey_WW"></a><a href="../defining_hypotheses_tui.htm"><b>ww</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_X"></a><a name="subkey_X{"></a>x <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>x0</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_Y"></a><a name="subkey_Y{"></a>y <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>y0</b></a> <br><nobr><a name="bms_YO"></a><a name="subkey_YO"></a>your <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>11</b></a> <a href="../files/displacing_nodes.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>16</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>17</b></a> <a href="../files/aspect_ratio.htm"><b>18</b></a> <a href="../files/arithmetic_1d.htm"><b>19</b></a> <a href="../files/area_of_elements.htm"><b>20</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>21</b></a> <a href="../files/translation.htm"><b>22</b></a> <a href="../files/taper.htm"><b>23</b></a> <a href="../files/symmetry.htm"><b>24</b></a> <a href="../files/smoothing.htm"><b>25</b></a> <a href="../files/skew.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../presentation.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../files/warp.htm"><b>37</b></a> <a href="../files/viewing_mesh_info.htm"><b>38</b></a> <a href="../volume.htm"><b>39</b></a> <a href="../selection_filter_library.htm"><b>40</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_Z"></a><a name="subkey_Z{"></a>z <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>z0</b></a> <br><a name="bms_ZE"></a><a name="subkey_ZE"></a><a href="../pattern_mapping.htm"><b>zero</b></a> <br><a name="bms_ZO"></a><a name="subkey_ZO"></a><a href="../files/vtk_3d_viewer.htm"><b>zoom</b></a> <br><br><br></p>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf12.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_WI"></a><a name="subkey_WI"></a>will <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../deleting_groups.htm"><b>5</b></a> <a href="../aspect_ratio_3d.htm"><b>6</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>7</b></a> <a href="../about_viewing_meshes.htm"><b>8</b></a> <a href="../files/length_of_edges.htm"><b>9</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>10</b></a> <a href="../files/editing_groups.htm"><b>11</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/cutting_quadrangles.htm"><b>14</b></a> <a href="../files/creating_groups.htm"><b>15</b></a> <a href="../files/constructing_submeshes.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/arithmetic_1d.htm"><b>21</b></a> <a href="../files/area_of_elements.htm"><b>22</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>23</b></a> <a href="../files/taper.htm"><b>24</b></a> <a href="../files/smoothing.htm"><b>25</b></a> <a href="../files/skew.htm"><b>26</b></a> <a href="../files/sewing_meshes.htm"><b>27</b></a> <a href="../files/running_smesh_module.htm"><b>28</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>29</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>30</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>31</b></a> <a href="../files/minimum_angle.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../modifying_meshes.htm"><b>36</b></a> <a href="../merge_elements.htm"><b>37</b></a> <a href="../files/warp.htm"><b>38</b></a> <a href="../files/viewing_mesh_info.htm"><b>39</b></a> <a href="../files/using_operations_on_groups.htm"><b>40</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>41</b></a> <a href="../volume.htm"><b>42</b></a> <a href="../transparency.htm"><b>43</b></a> <a href="../selection_filter_library.htm"><b>44</b></a> <a href="../revolution.htm"><b>45</b></a> </nobr><br><a href="../clipping.htm"><b>window</b></a> <br><nobr>wire <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>wire_discretisation</b></a> <br><nobr>wireframe <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../presentation.htm"><b>3</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>wires</b></a> <br><nobr>wish <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>within <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>without <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> </nobr><br><a name="bms_WO"></a><a name="subkey_WO"></a><a href="../files/arithmetic_1d.htm"><b>words</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>work</b></a> <br><a href="../extrusion_along_a_path.htm"><b>works</b></a> <br><a href="../files/aspect_ratio.htm"><b>worst</b></a> <br><nobr>would <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_WW"></a><a name="subkey_WW"></a><a href="../defining_hypotheses_tui.htm"><b>ww</b></a> <br>
+<br><br>
+<nobr><a name="bm_X"></a><a name="subkey_X{"></a>x <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>x0</b></a> <br>
+<br><br>
+<nobr><a name="bm_Y"></a><a name="subkey_Y{"></a>y <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>y0</b></a> <br><nobr><a name="bms_YO"></a><a name="subkey_YO"></a>your <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>11</b></a> <a href="../files/displacing_nodes.htm"><b>12</b></a> <a href="../files/creating_groups.htm"><b>13</b></a> <a href="../files/constructing_submeshes.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>16</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>17</b></a> <a href="../files/aspect_ratio.htm"><b>18</b></a> <a href="../files/arithmetic_1d.htm"><b>19</b></a> <a href="../files/area_of_elements.htm"><b>20</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>21</b></a> <a href="../files/translation.htm"><b>22</b></a> <a href="../files/taper.htm"><b>23</b></a> <a href="../files/symmetry.htm"><b>24</b></a> <a href="../files/smoothing.htm"><b>25</b></a> <a href="../files/skew.htm"><b>26</b></a> <a href="../files/rotation.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../presentation.htm"><b>35</b></a> <a href="../pattern_mapping.htm"><b>36</b></a> <a href="../files/warp.htm"><b>37</b></a> <a href="../files/viewing_mesh_info.htm"><b>38</b></a> <a href="../volume.htm"><b>39</b></a> <a href="../selection_filter_library.htm"><b>40</b></a> </nobr><br>
+<br><br>
+<nobr><a name="bm_Z"></a><a name="subkey_Z{"></a>z <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>z0</b></a> <br><a name="bms_ZE"></a><a name="subkey_ZE"></a><a href="../pattern_mapping.htm"><b>zero</b></a> <br><a name="bms_ZO"></a><a name="subkey_ZO"></a><a href="../files/vtk_3d_viewer.htm"><b>zoom</b></a> <br><br><br></p>
+</body>
+
+</html>
+
index 44ec5addfcb26637d7409b0fc1a8239d8281c742..04d1e8ba82f320b4064e80129412b6cd0253269a 100755 (executable)
@@ -1,41 +1,41 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_CI"></a><a name="subkey_CI"></a>circle <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>circlemesh <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_CL"></a><a name="subkey_CL"></a><a href="../selection_filter_library.htm"><b>clear</b></a> <br><nobr>click <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>11</b></a> <a href="../files/displacing_nodes.htm"><b>12</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>13</b></a> <a href="../files/cutting_quadrangles.htm"><b>14</b></a> <a href="../files/creating_groups.htm"><b>15</b></a> <a href="../files/constructing_submeshes.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/area_of_elements.htm"><b>21</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>22</b></a> <a href="../files/taper.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/running_smesh_module.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/minimum_angle.htm"><b>30</b></a> <a href="../pattern_mapping.htm"><b>31</b></a> <a href="../files/warp.htm"><b>32</b></a> <a href="../files/vtk_3d_viewer.htm"><b>33</b></a> <a href="../files/viewing_mesh_info.htm"><b>34</b></a> <a href="../files/using_operations_on_groups.htm"><b>35</b></a> <a href="../files/uniting_two_triangles.htm"><b>36</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>37</b></a> <a href="../volume.htm"><b>38</b></a> <a href="../selection_filter_library.htm"><b>39</b></a> <a href="../revolution.htm"><b>40</b></a> </nobr><br><nobr>clicking <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>4</b></a> <a href="../presentation.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>clipping <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>close <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>closed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>closer</b></a> <br><a name="bms_CO"></a><a name="subkey_CO"></a><a href="../files/sewing_meshes.htm"><b>co</b></a> <br><a href="../files/arithmetic_1d.htm"><b>coarse</b></a> <br><nobr>coincident <a href="../files/merging_nodes.htm"><b>1</b></a> <a href="../merge_elements.htm"><b>2</b></a> </nobr><br><a href="../merge_elements.htm"><b>coincides</b></a> <br><nobr>color <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><nobr>colored <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../files/skew.htm"><b>7</b></a> <a href="../files/minimum_angle.htm"><b>8</b></a> <a href="../files/warp.htm"><b>9</b></a> <a href="../volume.htm"><b>10</b></a> </nobr><br><a href="../files/about_quality_controls.htm"><b>coloring</b></a> <br><nobr>colors <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><nobr>combine <a href="../display_entity.htm"><b>1</b></a> <a href="../presentation.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/length_of_edges.htm"><b>combining</b></a> <br><nobr>common <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>compare <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../merge_elements.htm"><b>completely</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>complex</b></a> <br><nobr>component <a href="../files/running_smesh_module.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>compose <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> </nobr><br><nobr>composed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> </nobr><br><nobr>composing <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>6</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>7</b></a> </nobr><br><nobr>compound <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>computation <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>compute <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><nobr>computed <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>computes</b></a> <br><nobr>computing <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>concepts</b></a> <br><nobr>conditions <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><nobr>confirm <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>confirmation</b></a> <br><nobr>conform <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>conformity</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>connect</b></a> <br><nobr>connected <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>connecting</b></a> <br><nobr>connection <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>connections <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>connectivity</b></a> <br><nobr>consider <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><nobr>considered <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>consist</b></a> <br><nobr>consisting <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../free_edges.htm"><b>8</b></a> <a href="../free_borders.htm"><b>9</b></a> </nobr><br><nobr>consists <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/minimum_angle.htm"><b>7</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> </nobr><br><a href="../files/viewing_mesh_info.htm"><b>console</b></a> <br><a href="../files/arithmetic_1d.htm"><b>constant</b></a> <br><nobr>construct <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> </nobr><br><nobr>constructed <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>4</b></a> </nobr><br><nobr>constructing <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>3</b></a> </nobr><br><nobr>construction <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><nobr>contain <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><nobr>containing <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><nobr>contains <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> </nobr><br><nobr>contents <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>continues</b></a> <br><nobr>contour <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/uniting_a_set_of_triangles.htm"><b>contrast</b></a> <br><nobr>control <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../mesh.htm"><b>11</b></a> <a href="../length.htm"><b>12</b></a> <a href="../free_edges.htm"><b>13</b></a> <a href="../free_borders.htm"><b>14</b></a> <a href="../files/warp.htm"><b>15</b></a> <a href="../volume.htm"><b>16</b></a> </nobr><br><nobr>controls <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../files/warp.htm"><b>12</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>13</b></a> <a href="../volume.htm"><b>14</b></a> </nobr><br><a href="../files/smoothing.htm"><b>converge</b></a> <br><a href="../files/arithmetic_1d.htm"><b>conversion</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>coordinate</b></a> <br><nobr>coordinates <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> </nobr><br><nobr>copy <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>corner <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>corners <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><nobr>corresponding <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> <a href="../selection_filter_library.htm"><b>9</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>cos</b></a> <br><a href="../modifying_meshes.htm"><b>cosal</b></a> <br><nobr>could <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>counterclockwise</b></a> <br><a href="../files/sewing_meshes.htm"><b>counting</b></a> <br><a href="../files/constructing_meshes.htm"><b>course</b></a> <br><nobr><a name="bms_CR"></a><a name="subkey_CR"></a>create <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/arithmetic_1d.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/rotation.htm"><b>14</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>15</b></a> <a href="../files/merging_nodes.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../modifying_meshes.htm"><b>18</b></a> <a href="../grouping_elements.htm"><b>19</b></a> <a href="../files/using_operations_on_groups.htm"><b>20</b></a> <a href="../transforming_meshes.htm"><b>21</b></a> <a href="../selection_filter_library.htm"><b>22</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>createanddisplaygo</b></a> <br><nobr>createarea <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>createaspectratio</b></a> <br><a href="../quality_controls.htm"><b>createaspectratio3d</b></a> <br><nobr>created <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../files/warp.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>createequalto <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createfilter <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createfiltermanager <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>createfreeborders</b></a> <br><a href="../quality_controls.htm"><b>createfreeedges</b></a> <br><nobr>creategroup <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../grouping_elements.htm"><b>creategroupfromgeom</b></a> <br><nobr>createhypothesis <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../quality_controls.htm"><b>createlength</b></a> <br><a href="../quality_controls.htm"><b>createlength2d</b></a> <br><nobr>createlessthan <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createmesh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>createminimumangle <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>createmorethan <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>createmulticonnection</b></a> <br><a href="../quality_controls.htm"><b>createmulticonnection2d</b></a> <br><nobr>creates <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>createskew</b></a> <br><a href="../quality_controls.htm"><b>createtaper</b></a> <br><a href="../quality_controls.htm"><b>createvolume3d</b></a> <br><a href="../quality_controls.htm"><b>createwarping</b></a> <br><nobr>creating <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/warp.htm"><b>5</b></a> </nobr><br><nobr>creation <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/using_operations_on_groups.htm"><b>5</b></a> </nobr><br><nobr>criteria <a href="../mesh.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>criterion <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/aspect_ratio.htm"><b>5</b></a> <a href="../files/area_of_elements.htm"><b>6</b></a> <a href="../files/taper.htm"><b>7</b></a> <a href="../files/skew.htm"><b>8</b></a> <a href="../files/minimum_angle.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../length.htm"><b>11</b></a> <a href="../grouping_elements.htm"><b>12</b></a> <a href="../files/warp.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../volume.htm"><b>15</b></a> <a href="../selection_filter_library.htm"><b>16</b></a> </nobr><br><nobr>cross <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_CI"></a><a name="subkey_CI"></a>circle <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>circlemesh <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_CL"></a><a name="subkey_CL"></a><a href="../selection_filter_library.htm"><b>clear</b></a> <br><nobr>click <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>11</b></a> <a href="../files/displacing_nodes.htm"><b>12</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>13</b></a> <a href="../files/cutting_quadrangles.htm"><b>14</b></a> <a href="../files/creating_groups.htm"><b>15</b></a> <a href="../files/constructing_submeshes.htm"><b>16</b></a> <a href="../files/constructing_meshes.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/area_of_elements.htm"><b>21</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>22</b></a> <a href="../files/taper.htm"><b>23</b></a> <a href="../files/smoothing.htm"><b>24</b></a> <a href="../files/skew.htm"><b>25</b></a> <a href="../files/sewing_meshes.htm"><b>26</b></a> <a href="../files/running_smesh_module.htm"><b>27</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>28</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>29</b></a> <a href="../files/minimum_angle.htm"><b>30</b></a> <a href="../pattern_mapping.htm"><b>31</b></a> <a href="../files/warp.htm"><b>32</b></a> <a href="../files/vtk_3d_viewer.htm"><b>33</b></a> <a href="../files/viewing_mesh_info.htm"><b>34</b></a> <a href="../files/using_operations_on_groups.htm"><b>35</b></a> <a href="../files/uniting_two_triangles.htm"><b>36</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>37</b></a> <a href="../volume.htm"><b>38</b></a> <a href="../selection_filter_library.htm"><b>39</b></a> <a href="../revolution.htm"><b>40</b></a> </nobr><br><nobr>clicking <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>4</b></a> <a href="../presentation.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>clipping <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>close <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>closed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>closer</b></a> <br><a name="bms_CO"></a><a name="subkey_CO"></a><a href="../files/sewing_meshes.htm"><b>co</b></a> <br><a href="../files/arithmetic_1d.htm"><b>coarse</b></a> <br><nobr>coincident <a href="../files/merging_nodes.htm"><b>1</b></a> <a href="../merge_elements.htm"><b>2</b></a> </nobr><br><a href="../merge_elements.htm"><b>coincides</b></a> <br><nobr>color <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><nobr>colored <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../files/skew.htm"><b>7</b></a> <a href="../files/minimum_angle.htm"><b>8</b></a> <a href="../files/warp.htm"><b>9</b></a> <a href="../volume.htm"><b>10</b></a> </nobr><br><a href="../files/about_quality_controls.htm"><b>coloring</b></a> <br><nobr>colors <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><nobr>combine <a href="../display_entity.htm"><b>1</b></a> <a href="../presentation.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/length_of_edges.htm"><b>combining</b></a> <br><nobr>common <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>compare <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../merge_elements.htm"><b>completely</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>complex</b></a> <br><nobr>component <a href="../files/running_smesh_module.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>compose <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> </nobr><br><nobr>composed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> </nobr><br><nobr>composing <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>6</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>7</b></a> </nobr><br><nobr>compound <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>computation <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>compute <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><nobr>computed <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>computes</b></a> <br><nobr>computing <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>concepts</b></a> <br><nobr>conditions <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><nobr>confirm <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>confirmation</b></a> <br><nobr>conform <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>conformity</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>connect</b></a> <br><nobr>connected <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>connecting</b></a> <br><nobr>connection <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>connections <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>connectivity</b></a> <br><nobr>consider <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><nobr>considered <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>consist</b></a> <br><nobr>consisting <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/taper.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../free_edges.htm"><b>8</b></a> <a href="../free_borders.htm"><b>9</b></a> </nobr><br><nobr>consists <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/minimum_angle.htm"><b>7</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> </nobr><br><a href="../files/viewing_mesh_info.htm"><b>console</b></a> <br><a href="../files/arithmetic_1d.htm"><b>constant</b></a> <br><nobr>construct <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> </nobr><br><nobr>constructed <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>4</b></a> </nobr><br><nobr>constructing <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>3</b></a> </nobr><br><nobr>construction <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><nobr>contain <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> </nobr><br><nobr>containing <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><nobr>contains <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> </nobr><br><nobr>contents <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>continues</b></a> <br><nobr>contour <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/uniting_a_set_of_triangles.htm"><b>contrast</b></a> <br><nobr>control <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../mesh.htm"><b>11</b></a> <a href="../length.htm"><b>12</b></a> <a href="../free_edges.htm"><b>13</b></a> <a href="../free_borders.htm"><b>14</b></a> <a href="../files/warp.htm"><b>15</b></a> <a href="../volume.htm"><b>16</b></a> </nobr><br><nobr>controls <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/length_of_edges.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/taper.htm"><b>8</b></a> <a href="../files/skew.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../quality_controls.htm"><b>11</b></a> <a href="../files/warp.htm"><b>12</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>13</b></a> <a href="../volume.htm"><b>14</b></a> </nobr><br><a href="../files/smoothing.htm"><b>converge</b></a> <br><a href="../files/arithmetic_1d.htm"><b>conversion</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>coordinate</b></a> <br><nobr>coordinates <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> </nobr><br><nobr>copy <a href="../files/translation.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/rotation.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>corner <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>corners <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><nobr>corresponding <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>3</b></a> <a href="../files/translation.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> <a href="../modifying_meshes.htm"><b>8</b></a> <a href="../selection_filter_library.htm"><b>9</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>cos</b></a> <br><a href="../modifying_meshes.htm"><b>cosal</b></a> <br><nobr>could <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>counterclockwise</b></a> <br><a href="../files/sewing_meshes.htm"><b>counting</b></a> <br><a href="../files/constructing_meshes.htm"><b>course</b></a> <br><nobr><a name="bms_CR"></a><a name="subkey_CR"></a>create <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../about_viewing_meshes.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/arithmetic_1d.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/rotation.htm"><b>14</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>15</b></a> <a href="../files/merging_nodes.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../modifying_meshes.htm"><b>18</b></a> <a href="../grouping_elements.htm"><b>19</b></a> <a href="../files/using_operations_on_groups.htm"><b>20</b></a> <a href="../transforming_meshes.htm"><b>21</b></a> <a href="../selection_filter_library.htm"><b>22</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>createanddisplaygo</b></a> <br><nobr>createarea <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>createaspectratio</b></a> <br><a href="../quality_controls.htm"><b>createaspectratio3d</b></a> <br><nobr>created <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../files/warp.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>createequalto <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createfilter <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createfiltermanager <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>createfreeborders</b></a> <br><a href="../quality_controls.htm"><b>createfreeedges</b></a> <br><nobr>creategroup <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../grouping_elements.htm"><b>creategroupfromgeom</b></a> <br><nobr>createhypothesis <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../quality_controls.htm"><b>createlength</b></a> <br><a href="../quality_controls.htm"><b>createlength2d</b></a> <br><nobr>createlessthan <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>createmesh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>createminimumangle <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>createmorethan <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../quality_controls.htm"><b>createmulticonnection</b></a> <br><a href="../quality_controls.htm"><b>createmulticonnection2d</b></a> <br><nobr>creates <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>createskew</b></a> <br><a href="../quality_controls.htm"><b>createtaper</b></a> <br><a href="../quality_controls.htm"><b>createvolume3d</b></a> <br><a href="../quality_controls.htm"><b>createwarping</b></a> <br><nobr>creating <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/warp.htm"><b>5</b></a> </nobr><br><nobr>creation <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../files/using_operations_on_groups.htm"><b>5</b></a> </nobr><br><nobr>criteria <a href="../mesh.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>criterion <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/length_of_edges.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/aspect_ratio.htm"><b>5</b></a> <a href="../files/area_of_elements.htm"><b>6</b></a> <a href="../files/taper.htm"><b>7</b></a> <a href="../files/skew.htm"><b>8</b></a> <a href="../files/minimum_angle.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../length.htm"><b>11</b></a> <a href="../grouping_elements.htm"><b>12</b></a> <a href="../files/warp.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../volume.htm"><b>15</b></a> <a href="../selection_filter_library.htm"><b>16</b></a> </nobr><br><nobr>cross <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 00d1770188c65308bf96c71e94c14e504241fc12..ae08318987d4fc95e84bffce22df6a50d3f3f970 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<a name="bms_CU"></a><a name="subkey_CU"></a><a href="../files/about_meshing_algorithms.htm"><b>cubic</b></a> <br><nobr>current <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>currently <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>2</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>3</b></a> </nobr><br><nobr>curve <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>curvilinear <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>cut <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../grouping_elements.htm"><b>cutgroups</b></a> <br><nobr>cutting <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_CY"></a><a name="subkey_CY"></a><a href="../modifying_meshes.htm"><b>cylinder</b></a> <br>\r
-<br><br>\r
-<a name="bm_D"></a><a name="subkey_D{"></a><a href="../files/arithmetic_1d.htm"><b>d</b></a> <br><a name="bms_DE"></a><a name="subkey_DE"></a><a href="../files/about_meshes.htm"><b>dealing</b></a> <br><a href="../modifying_meshes.htm"><b>def</b></a> <br><nobr>default <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../presentation.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../transparency.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>define <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_submeshes.htm"><b>8</b></a> <a href="../files/constructing_meshes.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../modifying_meshes.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../transforming_meshes.htm"><b>15</b></a> </nobr><br><nobr>defined <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> </nobr><br><nobr>defining <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><nobr>definite <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>11</b></a> </nobr><br><nobr>definition <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> </nobr><br><nobr>deflection <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>deflection1d</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>deformed</b></a> <br><a href="../files/aspect_ratio.htm"><b>degree</b></a> <br><a href="../clipping.htm"><b>degrees</b></a> <br><nobr>delete <a href="../deleting_groups.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>deleted <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../free_edges.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>deletediag</b></a> <br><a href="../selection_filter_library.htm"><b>deletes</b></a> <br><a href="../deleting_groups.htm"><b>deleting</b></a> <br><nobr>deletion <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>density</b></a> <br><nobr>depending <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> </nobr><br><nobr>depends <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>describe</b></a> <br><nobr>described <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>describes</b></a> <br><a href="../pattern_mapping.htm"><b>description</b></a> <br><a href="../files/merging_nodes.htm"><b>desirable</b></a> <br><a href="../files/running_smesh_module.htm"><b>desktop</b></a> <br><nobr>destined <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>detail</b></a> <br><a href="../about_viewing_meshes.htm"><b>detailed</b></a> <br><a href="../files/merging_nodes.htm"><b>detect</b></a> <br><a name="bms_DH"></a><a name="subkey_DH"></a><a href="../modifying_meshes.htm"><b>dh</b></a> <br><nobr><a name="bms_DI"></a><a name="subkey_DI"></a>diagonal <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> </nobr><br><nobr>dialog <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>5</b></a> <a href="../files/editing_groups.htm"><b>6</b></a> <a href="../files/displacing_nodes.htm"><b>7</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>8</b></a> <a href="../files/cutting_quadrangles.htm"><b>9</b></a> <a href="../files/constructing_submeshes.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>12</b></a> <a href="../files/arithmetic_1d.htm"><b>13</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>14</b></a> <a href="../files/translation.htm"><b>15</b></a> <a href="../files/symmetry.htm"><b>16</b></a> <a href="../files/smoothing.htm"><b>17</b></a> <a href="../files/sewing_meshes.htm"><b>18</b></a> <a href="../files/rotation.htm"><b>19</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>20</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>21</b></a> <a href="../files/merging_nodes.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../merge_elements.htm"><b>24</b></a> <a href="../files/using_operations_on_groups.htm"><b>25</b></a> <a href="../files/uniting_two_triangles.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../revolution.htm"><b>28</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>diameter</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>differ</b></a> <br><nobr>difference <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>different <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>5</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>differently</b></a> <br><a href="../files/arithmetic_1d.htm"><b>differs</b></a> <br><nobr>dimension <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/viewing_mesh_info.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>direct</b></a> <br><a href="../files/sewing_meshes.htm"><b>directed</b></a> <br><nobr>direction <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>directly</b></a> <br><nobr>dirstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretisation <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretization <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretized <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><a href="../files/displacing_nodes.htm"><b>displace</b></a> <br><a href="../files/displacing_nodes.htm"><b>displaced</b></a> <br><nobr>display <a href="../display_entity.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/aspect_ratio.htm"><b>10</b></a> <a href="../files/area_of_elements.htm"><b>11</b></a> <a href="../files/taper.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/skew.htm"><b>14</b></a> <a href="../files/minimum_angle.htm"><b>15</b></a> <a href="../presentation.htm"><b>16</b></a> <a href="../files/warp.htm"><b>17</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>18</b></a> <a href="../volume.htm"><b>19</b></a> </nobr><br><nobr>displayed <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/length_of_edges.htm"><b>6</b></a> <a href="../files/displacing_nodes.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/area_of_elements.htm"><b>13</b></a> <a href="../files/taper.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/minimum_angle.htm"><b>16</b></a> <a href="../free_borders.htm"><b>17</b></a> <a href="../files/warp.htm"><b>18</b></a> <a href="../files/vtk_3d_viewer.htm"><b>19</b></a> <a href="../files/viewing_mesh_info.htm"><b>20</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>21</b></a> <a href="../volume.htm"><b>22</b></a> </nobr><br><a href="../files/displaying_nodes_numbers.htm"><b>displaying</b></a> <br><nobr>distance <a href="../clipping.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>distinguishes</b></a> <br><a href="../files/smoothing.htm"><b>distortion</b></a> <br><a href="../files/smoothing.htm"><b>distortions</b></a> <br><a href="../files/arithmetic_1d.htm"><b>distribution</b></a> <br><a href="../files/arithmetic_1d.htm"><b>divide</b></a> <br><a href="../files/arithmetic_1d.htm"><b>divided</b></a> <br><a name="bms_DO"></a><a name="subkey_DO"></a><a href="../files/adding_nodes_and_elements.htm"><b>does</b></a> <br><a href="../pattern_mapping.htm"><b>domain</b></a> <br><nobr>don <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>double</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>downward</b></a> <br><a name="bms_DR"></a><a name="subkey_DR"></a><a href="../modifying_meshes.htm"><b>dr</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>drag</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>drawn</b></a> <br><nobr><a name="bms_DU"></a><a name="subkey_DU"></a>dump <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a name="bms_DX"></a><a name="subkey_DX"></a><a href="../modifying_meshes.htm"><b>dx</b></a> <br><a name="bms_DY"></a><a name="subkey_DY"></a><a href="../modifying_meshes.htm"><b>dy</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_E"></a><a name="subkey_E{"></a>e <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a name="bms_EA"></a><a name="subkey_EA"></a><a href="../files/constructing_groups_of_specific_elements.htm"><b>easily</b></a> <br><nobr><a name="bms_ED"></a><a name="subkey_ED"></a>edge <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/sewing_meshes.htm"><b>12</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>13</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>14</b></a> <a href="../quality_controls.htm"><b>15</b></a> <a href="../pattern_mapping.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../length.htm"><b>18</b></a> <a href="../grouping_elements.htm"><b>19</b></a> <a href="../files/warp.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../viewing_meshes.htm"><b>22</b></a> <a href="../transforming_meshes.htm"><b>23</b></a> </nobr><br><nobr>edges <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../display_entity.htm"><b>5</b></a> <a href="../defining_hypotheses_tui.htm"><b>6</b></a> <a href="../constructing_meshes.htm"><b>7</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>8</b></a> <a href="../borders_at_multi-connection.htm"><b>9</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>10</b></a> <a href="../about_viewing_meshes.htm"><b>11</b></a> <a href="../files/length_of_edges.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/smoothing.htm"><b>20</b></a> <a href="../files/sewing_meshes.htm"><b>21</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>22</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>23</b></a> <a href="../quality_controls.htm"><b>24</b></a> <a href="../pattern_mapping.htm"><b>25</b></a> <a href="../mesh.htm"><b>26</b></a> <a href="../grouping_elements.htm"><b>27</b></a> <a href="../free_edges.htm"><b>28</b></a> <a href="../free_borders.htm"><b>29</b></a> <a href="../files/warp.htm"><b>30</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>31</b></a> <a href="../viewing_meshes.htm"><b>32</b></a> <a href="../transforming_meshes.htm"><b>33</b></a> <a href="../selection_filter_library.htm"><b>34</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>edgeslist</b></a> <br><nobr>edgex111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex112 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex122 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey12 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey21 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey22 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez211 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez221 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edit <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../files/merging_nodes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>editing <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<a name="bms_CU"></a><a name="subkey_CU"></a><a href="../files/about_meshing_algorithms.htm"><b>cubic</b></a> <br><nobr>current <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>currently <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>2</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>3</b></a> </nobr><br><nobr>curve <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>curvilinear <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>cut <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../grouping_elements.htm"><b>cutgroups</b></a> <br><nobr>cutting <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_CY"></a><a name="subkey_CY"></a><a href="../modifying_meshes.htm"><b>cylinder</b></a> <br>
+<br><br>
+<a name="bm_D"></a><a name="subkey_D{"></a><a href="../files/arithmetic_1d.htm"><b>d</b></a> <br><a name="bms_DE"></a><a name="subkey_DE"></a><a href="../files/about_meshes.htm"><b>dealing</b></a> <br><a href="../modifying_meshes.htm"><b>def</b></a> <br><nobr>default <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../presentation.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> <a href="../transparency.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>define <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../clipping.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/constructing_submeshes.htm"><b>8</b></a> <a href="../files/constructing_meshes.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>12</b></a> <a href="../modifying_meshes.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../transforming_meshes.htm"><b>15</b></a> </nobr><br><nobr>defined <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>6</b></a> <a href="../pattern_mapping.htm"><b>7</b></a> </nobr><br><nobr>defining <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> </nobr><br><nobr>definite <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>5</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>11</b></a> </nobr><br><nobr>definition <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> </nobr><br><nobr>deflection <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>deflection1d</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>deformed</b></a> <br><a href="../files/aspect_ratio.htm"><b>degree</b></a> <br><a href="../clipping.htm"><b>degrees</b></a> <br><nobr>delete <a href="../deleting_groups.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><nobr>deleted <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../free_edges.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>deletediag</b></a> <br><a href="../selection_filter_library.htm"><b>deletes</b></a> <br><a href="../deleting_groups.htm"><b>deleting</b></a> <br><nobr>deletion <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>density</b></a> <br><nobr>depending <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> </nobr><br><nobr>depends <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>describe</b></a> <br><nobr>described <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>describes</b></a> <br><a href="../pattern_mapping.htm"><b>description</b></a> <br><a href="../files/merging_nodes.htm"><b>desirable</b></a> <br><a href="../files/running_smesh_module.htm"><b>desktop</b></a> <br><nobr>destined <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>detail</b></a> <br><a href="../about_viewing_meshes.htm"><b>detailed</b></a> <br><a href="../files/merging_nodes.htm"><b>detect</b></a> <br><a name="bms_DH"></a><a name="subkey_DH"></a><a href="../modifying_meshes.htm"><b>dh</b></a> <br><nobr><a name="bms_DI"></a><a name="subkey_DI"></a>diagonal <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> </nobr><br><nobr>dialog <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>5</b></a> <a href="../files/editing_groups.htm"><b>6</b></a> <a href="../files/displacing_nodes.htm"><b>7</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>8</b></a> <a href="../files/cutting_quadrangles.htm"><b>9</b></a> <a href="../files/constructing_submeshes.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>12</b></a> <a href="../files/arithmetic_1d.htm"><b>13</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>14</b></a> <a href="../files/translation.htm"><b>15</b></a> <a href="../files/symmetry.htm"><b>16</b></a> <a href="../files/smoothing.htm"><b>17</b></a> <a href="../files/sewing_meshes.htm"><b>18</b></a> <a href="../files/rotation.htm"><b>19</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>20</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>21</b></a> <a href="../files/merging_nodes.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../merge_elements.htm"><b>24</b></a> <a href="../files/using_operations_on_groups.htm"><b>25</b></a> <a href="../files/uniting_two_triangles.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../revolution.htm"><b>28</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>diameter</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>differ</b></a> <br><nobr>difference <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>different <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>5</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>differently</b></a> <br><a href="../files/arithmetic_1d.htm"><b>differs</b></a> <br><nobr>dimension <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/viewing_mesh_info.htm"><b>5</b></a> <a href="../revolution.htm"><b>6</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>direct</b></a> <br><a href="../files/sewing_meshes.htm"><b>directed</b></a> <br><nobr>direction <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>directly</b></a> <br><nobr>dirstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretisation <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretization <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> </nobr><br><nobr>discretized <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><a href="../files/displacing_nodes.htm"><b>displace</b></a> <br><a href="../files/displacing_nodes.htm"><b>displaced</b></a> <br><nobr>display <a href="../display_entity.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/aspect_ratio.htm"><b>10</b></a> <a href="../files/area_of_elements.htm"><b>11</b></a> <a href="../files/taper.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/skew.htm"><b>14</b></a> <a href="../files/minimum_angle.htm"><b>15</b></a> <a href="../presentation.htm"><b>16</b></a> <a href="../files/warp.htm"><b>17</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>18</b></a> <a href="../volume.htm"><b>19</b></a> </nobr><br><nobr>displayed <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../aspect_ratio_3d.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/length_of_edges.htm"><b>6</b></a> <a href="../files/displacing_nodes.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/aspect_ratio.htm"><b>12</b></a> <a href="../files/area_of_elements.htm"><b>13</b></a> <a href="../files/taper.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/minimum_angle.htm"><b>16</b></a> <a href="../free_borders.htm"><b>17</b></a> <a href="../files/warp.htm"><b>18</b></a> <a href="../files/vtk_3d_viewer.htm"><b>19</b></a> <a href="../files/viewing_mesh_info.htm"><b>20</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>21</b></a> <a href="../volume.htm"><b>22</b></a> </nobr><br><a href="../files/displaying_nodes_numbers.htm"><b>displaying</b></a> <br><nobr>distance <a href="../clipping.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> <a href="../files/vtk_3d_viewer.htm"><b>5</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>distinguishes</b></a> <br><a href="../files/smoothing.htm"><b>distortion</b></a> <br><a href="../files/smoothing.htm"><b>distortions</b></a> <br><a href="../files/arithmetic_1d.htm"><b>distribution</b></a> <br><a href="../files/arithmetic_1d.htm"><b>divide</b></a> <br><a href="../files/arithmetic_1d.htm"><b>divided</b></a> <br><a name="bms_DO"></a><a name="subkey_DO"></a><a href="../files/adding_nodes_and_elements.htm"><b>does</b></a> <br><a href="../pattern_mapping.htm"><b>domain</b></a> <br><nobr>don <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>double</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>downward</b></a> <br><a name="bms_DR"></a><a name="subkey_DR"></a><a href="../modifying_meshes.htm"><b>dr</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>drag</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>drawn</b></a> <br><nobr><a name="bms_DU"></a><a name="subkey_DU"></a>dump <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a name="bms_DX"></a><a name="subkey_DX"></a><a href="../modifying_meshes.htm"><b>dx</b></a> <br><a name="bms_DY"></a><a name="subkey_DY"></a><a href="../modifying_meshes.htm"><b>dy</b></a> <br>
+<br><br>
+<nobr><a name="bm_E"></a><a name="subkey_E{"></a>e <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a name="bms_EA"></a><a name="subkey_EA"></a><a href="../files/constructing_groups_of_specific_elements.htm"><b>easily</b></a> <br><nobr><a name="bms_ED"></a><a name="subkey_ED"></a>edge <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/smoothing.htm"><b>11</b></a> <a href="../files/sewing_meshes.htm"><b>12</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>13</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>14</b></a> <a href="../quality_controls.htm"><b>15</b></a> <a href="../pattern_mapping.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../length.htm"><b>18</b></a> <a href="../grouping_elements.htm"><b>19</b></a> <a href="../files/warp.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../viewing_meshes.htm"><b>22</b></a> <a href="../transforming_meshes.htm"><b>23</b></a> </nobr><br><nobr>edges <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../display_entity.htm"><b>5</b></a> <a href="../defining_hypotheses_tui.htm"><b>6</b></a> <a href="../constructing_meshes.htm"><b>7</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>8</b></a> <a href="../borders_at_multi-connection.htm"><b>9</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>10</b></a> <a href="../about_viewing_meshes.htm"><b>11</b></a> <a href="../files/length_of_edges.htm"><b>12</b></a> <a href="../files/displacing_nodes.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_meshes.htm"><b>15</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>19</b></a> <a href="../files/smoothing.htm"><b>20</b></a> <a href="../files/sewing_meshes.htm"><b>21</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>22</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>23</b></a> <a href="../quality_controls.htm"><b>24</b></a> <a href="../pattern_mapping.htm"><b>25</b></a> <a href="../mesh.htm"><b>26</b></a> <a href="../grouping_elements.htm"><b>27</b></a> <a href="../free_edges.htm"><b>28</b></a> <a href="../free_borders.htm"><b>29</b></a> <a href="../files/warp.htm"><b>30</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>31</b></a> <a href="../viewing_meshes.htm"><b>32</b></a> <a href="../transforming_meshes.htm"><b>33</b></a> <a href="../selection_filter_library.htm"><b>34</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>edgeslist</b></a> <br><nobr>edgex111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex112 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgex122 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey12 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey21 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgey22 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez211 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edgez221 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>edit <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> <a href="../files/merging_nodes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>editing <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>3</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index d19fb051061849926ba7da5ebc7cdac7d52ed888..ed628ead152e21b36d8bada28c76f13afe19ba7e 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<a name="bms_EF"></a><a name="subkey_EF"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>effect</b></a> <br><nobr><a name="bms_EI"></a><a name="subkey_EI"></a>either <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_EL"></a><a name="subkey_EL"></a>element <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/aspect_ratio.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/skew.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>15</b></a> <a href="../files/minimum_angle.htm"><b>16</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>17</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../modifying_meshes.htm"><b>20</b></a> <a href="../mesh.htm"><b>21</b></a> <a href="../free_edges.htm"><b>22</b></a> <a href="../files/warp.htm"><b>23</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>24</b></a> <a href="../revolution.htm"><b>25</b></a> </nobr><br><nobr>elements <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion_along_a_path.htm"><b>4</b></a> <a href="../extrusion.htm"><b>5</b></a> <a href="../deleting_groups.htm"><b>6</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>7</b></a> <a href="../aspect_ratio_3d.htm"><b>8</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>9</b></a> <a href="../about_viewing_meshes.htm"><b>10</b></a> <a href="../files/length_of_edges.htm"><b>11</b></a> <a href="../files/editing_groups.htm"><b>12</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>13</b></a> <a href="../files/displacing_nodes.htm"><b>14</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>15</b></a> <a href="../files/cutting_quadrangles.htm"><b>16</b></a> <a href="../files/creating_groups.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/arithmetic_1d.htm"><b>21</b></a> <a href="../files/area_of_elements.htm"><b>22</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>23</b></a> <a href="../files/translation.htm"><b>24</b></a> <a href="../files/taper.htm"><b>25</b></a> <a href="../files/symmetry.htm"><b>26</b></a> <a href="../files/smoothing.htm"><b>27</b></a> <a href="../files/skew.htm"><b>28</b></a> <a href="../files/sewing_meshes.htm"><b>29</b></a> <a href="../files/rotation.htm"><b>30</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>31</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>32</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>33</b></a> <a href="../files/minimum_angle.htm"><b>34</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>35</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>36</b></a> <a href="../quality_controls.htm"><b>37</b></a> <a href="../pattern_mapping.htm"><b>38</b></a> <a href="../modifying_meshes.htm"><b>39</b></a> <a href="../mesh.htm"><b>40</b></a> <a href="../merge_elements.htm"><b>41</b></a> <a href="../grouping_elements.htm"><b>42</b></a> <a href="../free_edges.htm"><b>43</b></a> <a href="../files/warp.htm"><b>44</b></a> <a href="../files/viewing_mesh_info.htm"><b>45</b></a> <a href="../files/using_operations_on_groups.htm"><b>46</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>47</b></a> <a href="../volume.htm"><b>48</b></a> <a href="../transforming_meshes.htm"><b>49</b></a> <a href="../selection_filter_library.htm"><b>50</b></a> <a href="../revolution.htm"><b>51</b></a> </nobr><br><nobr>else <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> </nobr><br><a name="bms_EN"></a><a name="subkey_EN"></a><a href="../selection_filter_library.htm"><b>enables</b></a> <br><a href="../selection_filter_library.htm"><b>enabling</b></a> <br><a href="../files/constructing_submeshes.htm"><b>encapsulate</b></a> <br><a href="../pattern_mapping.htm"><b>encountered</b></a> <br><nobr>end <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../selection_filter_library.htm"><b>6</b></a> </nobr><br><nobr>ending <a href="../files/translation.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>ends</b></a> <br><a href="../files/sewing_meshes.htm"><b>enough</b></a> <br><nobr>enter <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/uniting_two_triangles.htm"><b>5</b></a> </nobr><br><nobr>entities <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> </nobr><br><nobr>entity <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../display_entity.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_EQ"></a><a name="subkey_EQ"></a>equal <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../selection_filter_library.htm"><b>6</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>equally</b></a> <br><a href="../files/arithmetic_1d.htm"><b>equidistant</b></a> <br><a href="../files/aspect_ratio.htm"><b>equilateral</b></a> <br><a name="bms_ER"></a><a name="subkey_ER"></a><a href="../about_viewing_meshes.htm"><b>erase</b></a> <br><nobr><a name="bms_ET"></a><a name="subkey_ET"></a>etc <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_EV"></a><a name="subkey_EV"></a>even <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>eventual</b></a> <br><a href="../files/warp.htm"><b>every</b></a> <br><a href="../files/constructing_meshes.htm"><b>everything</b></a> <br><nobr><a name="bms_EX"></a><a name="subkey_EX"></a>example <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>exceed</b></a> <br><a href="../files/smoothing.htm"><b>exceeded</b></a> <br><nobr>except <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>exist</b></a> <br><a href="../files/constructing_meshes.htm"><b>existence</b></a> <br><nobr>existing <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>exponent</b></a> <br><nobr>export <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>exportation</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>exported</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>exporting</b></a> <br><a href="../constructing_meshes.htm"><b>exportmed</b></a> <br><nobr>exports <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>extended</b></a> <br><a href="../files/warp.htm"><b>extends</b></a> <br><a href="../files/arithmetic_1d.htm"><b>extremely</b></a> <br><a href="../clipping.htm"><b>extremities</b></a> <br><nobr>extruded <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>extrusion <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>extrusionalongpathobject <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>extrusionsweepobject</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_F"></a><a name="subkey_F{"></a>f <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_FA"></a><a name="subkey_FA"></a>face <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../pattern_mapping.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../grouping_elements.htm"><b>13</b></a> <a href="../free_borders.htm"><b>14</b></a> <a href="../files/warp.htm"><b>15</b></a> <a href="../transforming_meshes.htm"><b>16</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>face_1</b></a> <br><a href="../modifying_meshes.htm"><b>face_2</b></a> <br><nobr>face1 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>facelist</b></a> <br><nobr>faces <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../constructing_meshes.htm"><b>6</b></a> <a href="../borders_at_multi-connection.htm"><b>7</b></a> <a href="../aspect_ratio_3d.htm"><b>8</b></a> <a href="../about_viewing_meshes.htm"><b>9</b></a> <a href="../files/creating_groups.htm"><b>10</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>11</b></a> <a href="../files/arithmetic_1d.htm"><b>12</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../quality_controls.htm"><b>16</b></a> <a href="../pattern_mapping.htm"><b>17</b></a> <a href="../modifying_meshes.htm"><b>18</b></a> <a href="../mesh.htm"><b>19</b></a> <a href="../grouping_elements.htm"><b>20</b></a> <a href="../free_borders.htm"><b>21</b></a> <a href="../files/viewing_mesh_info.htm"><b>22</b></a> <a href="../viewing_meshes.htm"><b>23</b></a> <a href="../transforming_meshes.htm"><b>24</b></a> <a href="../selection_filter_library.htm"><b>25</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>facesrotate</b></a> <br><a href="../modifying_meshes.htm"><b>facessmooth</b></a> <br><a href="../modifying_meshes.htm"><b>facestritoquad</b></a> <br><nobr>facex11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facex21 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facey111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facey121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facez11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facez12 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>factor <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>factoryserver <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>failed</b></a> <br><a href="../files/sewing_meshes.htm"><b>far</b></a> <br><a href="../extrusion_along_a_path.htm"><b>fashion</b></a> <br><a href="../files/smoothing.htm"><b>faster</b></a> <br><a name="bms_FE"></a><a name="subkey_FE"></a><a href="../files/creating_groups.htm"><b>feature</b></a> <br><nobr><a name="bms_FI"></a><a name="subkey_FI"></a>field <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>6</b></a> <a href="../files/uniting_two_triangles.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><nobr>fields <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>fifth</b></a> <br><nobr>file <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>files</b></a> <br><nobr>fill <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><nobr>filter <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>filters <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>find <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>findcoincidentnodes</b></a> <br><nobr>findorloadcomponent <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>finds</b></a> <br><a href="../files/arithmetic_1d.htm"><b>fine</b></a> <br><a href="../files/arithmetic_1d.htm"><b>fineness</b></a> <br><nobr>first <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>fit</b></a> <br><a href="../modifying_meshes.htm"><b>five</b></a> <br><nobr>fixed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><a name="bms_FL"></a><a name="subkey_FL"></a><a href="../pattern_mapping.htm"><b>flag</b></a> <br><nobr><a name="bms_FO"></a><a name="subkey_FO"></a>folder <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>following <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displacing_nodes.htm"><b>8</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>9</b></a> <a href="../files/cutting_quadrangles.htm"><b>10</b></a> <a href="../files/creating_groups.htm"><b>11</b></a> <a href="../files/constructing_submeshes.htm"><b>12</b></a> <a href="../files/constructing_meshes.htm"><b>13</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>14</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>15</b></a> <a href="../files/translation.htm"><b>16</b></a> <a href="../files/symmetry.htm"><b>17</b></a> <a href="../files/smoothing.htm"><b>18</b></a> <a href="../files/sewing_meshes.htm"><b>19</b></a> <a href="../files/rotation.htm"><b>20</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>21</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>22</b></a> <a href="../files/merging_nodes.htm"><b>23</b></a> <a href="../pattern_mapping.htm"><b>24</b></a> <a href="../files/viewing_mesh_info.htm"><b>25</b></a> <a href="../files/using_operations_on_groups.htm"><b>26</b></a> <a href="../files/uniting_two_triangles.htm"><b>27</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>28</b></a> <a href="../revolution.htm"><b>29</b></a> </nobr><br><nobr>follows <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>font</b></a> <br><nobr>format <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>formed <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> </nobr><br><nobr>forming <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>forms</b></a> <br><nobr>formula <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>four <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>fourth</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<a name="bms_EF"></a><a name="subkey_EF"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>effect</b></a> <br><nobr><a name="bms_EI"></a><a name="subkey_EI"></a>either <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_EL"></a><a name="subkey_EL"></a>element <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/creating_groups.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/aspect_ratio.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/skew.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>15</b></a> <a href="../files/minimum_angle.htm"><b>16</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>17</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../modifying_meshes.htm"><b>20</b></a> <a href="../mesh.htm"><b>21</b></a> <a href="../free_edges.htm"><b>22</b></a> <a href="../files/warp.htm"><b>23</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>24</b></a> <a href="../revolution.htm"><b>25</b></a> </nobr><br><nobr>elements <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion_along_a_path.htm"><b>4</b></a> <a href="../extrusion.htm"><b>5</b></a> <a href="../deleting_groups.htm"><b>6</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>7</b></a> <a href="../aspect_ratio_3d.htm"><b>8</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>9</b></a> <a href="../about_viewing_meshes.htm"><b>10</b></a> <a href="../files/length_of_edges.htm"><b>11</b></a> <a href="../files/editing_groups.htm"><b>12</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>13</b></a> <a href="../files/displacing_nodes.htm"><b>14</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>15</b></a> <a href="../files/cutting_quadrangles.htm"><b>16</b></a> <a href="../files/creating_groups.htm"><b>17</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>18</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>19</b></a> <a href="../files/aspect_ratio.htm"><b>20</b></a> <a href="../files/arithmetic_1d.htm"><b>21</b></a> <a href="../files/area_of_elements.htm"><b>22</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>23</b></a> <a href="../files/translation.htm"><b>24</b></a> <a href="../files/taper.htm"><b>25</b></a> <a href="../files/symmetry.htm"><b>26</b></a> <a href="../files/smoothing.htm"><b>27</b></a> <a href="../files/skew.htm"><b>28</b></a> <a href="../files/sewing_meshes.htm"><b>29</b></a> <a href="../files/rotation.htm"><b>30</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>31</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>32</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>33</b></a> <a href="../files/minimum_angle.htm"><b>34</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>35</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>36</b></a> <a href="../quality_controls.htm"><b>37</b></a> <a href="../pattern_mapping.htm"><b>38</b></a> <a href="../modifying_meshes.htm"><b>39</b></a> <a href="../mesh.htm"><b>40</b></a> <a href="../merge_elements.htm"><b>41</b></a> <a href="../grouping_elements.htm"><b>42</b></a> <a href="../free_edges.htm"><b>43</b></a> <a href="../files/warp.htm"><b>44</b></a> <a href="../files/viewing_mesh_info.htm"><b>45</b></a> <a href="../files/using_operations_on_groups.htm"><b>46</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>47</b></a> <a href="../volume.htm"><b>48</b></a> <a href="../transforming_meshes.htm"><b>49</b></a> <a href="../selection_filter_library.htm"><b>50</b></a> <a href="../revolution.htm"><b>51</b></a> </nobr><br><nobr>else <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> </nobr><br><a name="bms_EN"></a><a name="subkey_EN"></a><a href="../selection_filter_library.htm"><b>enables</b></a> <br><a href="../selection_filter_library.htm"><b>enabling</b></a> <br><a href="../files/constructing_submeshes.htm"><b>encapsulate</b></a> <br><a href="../pattern_mapping.htm"><b>encountered</b></a> <br><nobr>end <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> <a href="../selection_filter_library.htm"><b>6</b></a> </nobr><br><nobr>ending <a href="../files/translation.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>ends</b></a> <br><a href="../files/sewing_meshes.htm"><b>enough</b></a> <br><nobr>enter <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/uniting_two_triangles.htm"><b>5</b></a> </nobr><br><nobr>entities <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> </nobr><br><nobr>entity <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../display_entity.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_EQ"></a><a name="subkey_EQ"></a>equal <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../selection_filter_library.htm"><b>6</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>equally</b></a> <br><a href="../files/arithmetic_1d.htm"><b>equidistant</b></a> <br><a href="../files/aspect_ratio.htm"><b>equilateral</b></a> <br><a name="bms_ER"></a><a name="subkey_ER"></a><a href="../about_viewing_meshes.htm"><b>erase</b></a> <br><nobr><a name="bms_ET"></a><a name="subkey_ET"></a>etc <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_EV"></a><a name="subkey_EV"></a>even <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>eventual</b></a> <br><a href="../files/warp.htm"><b>every</b></a> <br><a href="../files/constructing_meshes.htm"><b>everything</b></a> <br><nobr><a name="bms_EX"></a><a name="subkey_EX"></a>example <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/using_operations_on_groups.htm"><b>6</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>exceed</b></a> <br><a href="../files/smoothing.htm"><b>exceeded</b></a> <br><nobr>except <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>exist</b></a> <br><a href="../files/constructing_meshes.htm"><b>existence</b></a> <br><nobr>existing <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>exponent</b></a> <br><nobr>export <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>exportation</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>exported</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>exporting</b></a> <br><a href="../constructing_meshes.htm"><b>exportmed</b></a> <br><nobr>exports <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>extended</b></a> <br><a href="../files/warp.htm"><b>extends</b></a> <br><a href="../files/arithmetic_1d.htm"><b>extremely</b></a> <br><a href="../clipping.htm"><b>extremities</b></a> <br><nobr>extruded <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>extrusion <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>extrusionalongpathobject <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>extrusionsweepobject</b></a> <br>
+<br><br>
+<nobr><a name="bm_F"></a><a name="subkey_F{"></a>f <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_FA"></a><a name="subkey_FA"></a>face <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../pattern_mapping.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../grouping_elements.htm"><b>13</b></a> <a href="../free_borders.htm"><b>14</b></a> <a href="../files/warp.htm"><b>15</b></a> <a href="../transforming_meshes.htm"><b>16</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>face_1</b></a> <br><a href="../modifying_meshes.htm"><b>face_2</b></a> <br><nobr>face1 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../quality_controls.htm"><b>facelist</b></a> <br><nobr>faces <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../display_entity.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../constructing_meshes.htm"><b>6</b></a> <a href="../borders_at_multi-connection.htm"><b>7</b></a> <a href="../aspect_ratio_3d.htm"><b>8</b></a> <a href="../about_viewing_meshes.htm"><b>9</b></a> <a href="../files/creating_groups.htm"><b>10</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>11</b></a> <a href="../files/arithmetic_1d.htm"><b>12</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../quality_controls.htm"><b>16</b></a> <a href="../pattern_mapping.htm"><b>17</b></a> <a href="../modifying_meshes.htm"><b>18</b></a> <a href="../mesh.htm"><b>19</b></a> <a href="../grouping_elements.htm"><b>20</b></a> <a href="../free_borders.htm"><b>21</b></a> <a href="../files/viewing_mesh_info.htm"><b>22</b></a> <a href="../viewing_meshes.htm"><b>23</b></a> <a href="../transforming_meshes.htm"><b>24</b></a> <a href="../selection_filter_library.htm"><b>25</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>facesrotate</b></a> <br><a href="../modifying_meshes.htm"><b>facessmooth</b></a> <br><a href="../modifying_meshes.htm"><b>facestritoquad</b></a> <br><nobr>facex11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facex21 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facey111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facey121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facez11 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>facez12 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>factor <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>factoryserver <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>failed</b></a> <br><a href="../files/sewing_meshes.htm"><b>far</b></a> <br><a href="../extrusion_along_a_path.htm"><b>fashion</b></a> <br><a href="../files/smoothing.htm"><b>faster</b></a> <br><a name="bms_FE"></a><a name="subkey_FE"></a><a href="../files/creating_groups.htm"><b>feature</b></a> <br><nobr><a name="bms_FI"></a><a name="subkey_FI"></a>field <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>6</b></a> <a href="../files/uniting_two_triangles.htm"><b>7</b></a> <a href="../selection_filter_library.htm"><b>8</b></a> </nobr><br><nobr>fields <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>fifth</b></a> <br><nobr>file <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>files</b></a> <br><nobr>fill <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><nobr>filter <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>filters <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>find <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>findcoincidentnodes</b></a> <br><nobr>findorloadcomponent <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>finds</b></a> <br><a href="../files/arithmetic_1d.htm"><b>fine</b></a> <br><a href="../files/arithmetic_1d.htm"><b>fineness</b></a> <br><nobr>first <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>fit</b></a> <br><a href="../modifying_meshes.htm"><b>five</b></a> <br><nobr>fixed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><a name="bms_FL"></a><a name="subkey_FL"></a><a href="../pattern_mapping.htm"><b>flag</b></a> <br><nobr><a name="bms_FO"></a><a name="subkey_FO"></a>folder <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>following <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displacing_nodes.htm"><b>8</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>9</b></a> <a href="../files/cutting_quadrangles.htm"><b>10</b></a> <a href="../files/creating_groups.htm"><b>11</b></a> <a href="../files/constructing_submeshes.htm"><b>12</b></a> <a href="../files/constructing_meshes.htm"><b>13</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>14</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>15</b></a> <a href="../files/translation.htm"><b>16</b></a> <a href="../files/symmetry.htm"><b>17</b></a> <a href="../files/smoothing.htm"><b>18</b></a> <a href="../files/sewing_meshes.htm"><b>19</b></a> <a href="../files/rotation.htm"><b>20</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>21</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>22</b></a> <a href="../files/merging_nodes.htm"><b>23</b></a> <a href="../pattern_mapping.htm"><b>24</b></a> <a href="../files/viewing_mesh_info.htm"><b>25</b></a> <a href="../files/using_operations_on_groups.htm"><b>26</b></a> <a href="../files/uniting_two_triangles.htm"><b>27</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>28</b></a> <a href="../revolution.htm"><b>29</b></a> </nobr><br><nobr>follows <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>font</b></a> <br><nobr>format <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>formed <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> </nobr><br><nobr>forming <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>forms</b></a> <br><nobr>formula <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> </nobr><br><nobr>four <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> <a href="../files/warp.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>fourth</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index fa9f2c3510597c4fd00d58f507d6c6e65f0ee561..04a0271e8329e0a2bd0742dbac1cdc7b1bbdadb8 100755 (executable)
@@ -1,47 +1,47 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<a name="bms_FR"></a><a name="subkey_FR"></a><a href="../files/vtk_3d_viewer.htm"><b>frame</b></a> <br><nobr>free <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../free_edges.htm"><b>7</b></a> <a href="../free_borders.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><a name="bms_FU"></a><a name="subkey_FU"></a><a href="../files/vtk_3d_viewer.htm"><b>functionalities</b></a> <br><nobr>functionality <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/merging_nodes.htm"><b>4</b></a> <a href="../merge_elements.htm"><b>5</b></a> <a href="../files/vtk_3d_viewer.htm"><b>6</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>functions</b></a> <br><a href="../files/arithmetic_1d.htm"><b>future</b></a> <br>\r
-<br><br>\r
-<a name="bm_G"></a><a name="subkey_G{"></a><a href="../files/constructing_submeshes.htm"><b>g</b></a> <br><a name="bms_GA"></a><a name="subkey_GA"></a><a href="../files/vtk_3d_viewer.htm"><b>gauss</b></a> <br><nobr><a name="bms_GE"></a><a name="subkey_GE"></a>generate <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><nobr>generated <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>generation <a href="../extrusion.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><nobr>geom <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><nobr>geometric <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> </nobr><br><nobr>geometrical <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/symmetry.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/rotation.htm"><b>11</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>12</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>13</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>14</b></a> <a href="../pattern_mapping.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../files/viewing_mesh_info.htm"><b>17</b></a> </nobr><br><nobr>geometry <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>geompy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>get <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../clipping.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/viewing_mesh_info.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>getalgorithm</b></a> <br><a href="../quality_controls.htm"><b>getborders</b></a> <br><nobr>getelementsid <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>geterrorcode</b></a> <br><a href="../constructing_meshes.htm"><b>getid</b></a> <br><a href="../grouping_elements.htm"><b>getlistofid</b></a> <br><nobr>getmaxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmaxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmesh <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmesheditor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>getname <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getnumberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>getpattern</b></a> <br><a href="../pattern_mapping.htm"><b>getting</b></a> <br><a name="bms_GG"></a><a name="subkey_GG"></a><a href="../defining_hypotheses_tui.htm"><b>gg</b></a> <br><nobr><a name="bms_GI"></a><a name="subkey_GI"></a>given <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> </nobr><br><nobr>gives <a href="../files/viewing_mesh_info.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a name="bms_GL"></a><a name="subkey_GL"></a><a href="../files/vtk_3d_viewer.htm"><b>global</b></a> <br><a name="bms_GO"></a><a name="subkey_GO"></a><a href="../modifying_meshes.htm"><b>going</b></a> <br><a href="../files/smoothing.htm"><b>good</b></a> <br><a href="../pattern_mapping.htm"><b>got</b></a> <br><a name="bms_GR"></a><a name="subkey_GR"></a><a href="../files/vtk_3d_viewer.htm"><b>graduate</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>graduated</b></a> <br><a href="../about_viewing_meshes.htm"><b>graphically</b></a> <br><a href="../files/arithmetic_1d.htm"><b>great</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>greater</b></a> <br><nobr>greatest <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>green</b></a> <br><nobr>group <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../modifying_meshes.htm"><b>11</b></a> <a href="../grouping_elements.htm"><b>12</b></a> <a href="../files/using_operations_on_groups.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../selection_filter_library.htm"><b>15</b></a> </nobr><br><a href="../files/using_operations_on_groups.htm"><b>group1</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12a</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12b</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group2</b></a> <br><nobr>grouping <a href="../mesh.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>grouprotate</b></a> <br><nobr>groups <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> <a href="../files/merging_nodes.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../files/viewing_mesh_info.htm"><b>9</b></a> <a href="../files/using_operations_on_groups.htm"><b>10</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>groupsmooth</b></a> <br><a href="../transforming_meshes.htm"><b>groupsofnodes</b></a> <br><a href="../modifying_meshes.htm"><b>grouptritoquad</b></a> <br>\r
-<br><br>\r
-<a name="bm_H"></a><a name="subkey_H{"></a><a href="../files/warp.htm"><b>h</b></a> <br><nobr><a name="bms_HA"></a><a name="subkey_HA"></a>half <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../clipping.htm"><b>halves</b></a> <br><nobr>having <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a name="bms_HE"></a><a name="subkey_HE"></a><a href="../modifying_meshes.htm"><b>hedron</b></a> <br><a href="../files/warp.htm"><b>height</b></a> <br><a href="../extrusion_along_a_path.htm"><b>helical</b></a> <br><a href="../files/about_quality_controls.htm"><b>help</b></a> <br><a href="../pattern_mapping.htm"><b>hence</b></a> <br><a href="../pattern_mapping.htm"><b>here</b></a> <br><nobr>hexa <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>hexa_3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>hexa3d</b></a> <br><a href="../extrusion_along_a_path.htm"><b>hexagon</b></a> <br><nobr>hexahedral <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>hexahedralization</b></a> <br><nobr>hexahedrical <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hexahedron <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> </nobr><br><nobr>hexahedrons <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a name="bms_HH"></a><a name="subkey_HH"></a><a href="../modifying_meshes.htm"><b>hh</b></a> <br><nobr><a name="bms_HI"></a><a name="subkey_HI"></a>hide <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>hides</b></a> <br><a href="../about_viewing_meshes.htm"><b>hiding</b></a> <br><a href="../files/about_meshes.htm"><b>higher</b></a> <br><nobr>highlighted <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr>highlights <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../free_edges.htm"><b>3</b></a> <a href="../free_borders.htm"><b>4</b></a> </nobr><br><a name="bms_HM"></a><a name="subkey_HM"></a><a href="../files/aspect_ratio.htm"><b>hmax</b></a> <br><a name="bms_HO"></a><a name="subkey_HO"></a><a href="../pattern_mapping.htm"><b>holds</b></a> <br><a href="../free_edges.htm"><b>holes</b></a> <br><nobr>how <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>2</b></a> </nobr><br><a name="bms_HY"></a><a name="subkey_HY"></a><a href="../files/constructing_submeshes.htm"><b>hyp</b></a> <br><nobr>hyp1 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>hyp2 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>hyp3 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hyp4 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hyparea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hypnbseg <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>hypotheses <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../grouping_elements.htm"><b>11</b></a> </nobr><br><nobr>hypothesis <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> <a href="../viewing_meshes.htm"><b>11</b></a> <a href="../transforming_meshes.htm"><b>12</b></a> </nobr><br><nobr>hypvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_I"></a><a name="subkey_I{"></a>i <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>9</b></a> </nobr><br><nobr><a name="bms_IC"></a><a name="subkey_IC"></a>icon <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_ID"></a><a name="subkey_ID"></a>id <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/uniting_two_triangles.htm"><b>11</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>12</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>id_arc</b></a> <br><nobr>id_circle <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>id_face</b></a> <br><nobr>id_face1 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>idbox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>idcomp</b></a> <br><a href="../extrusion_along_a_path.htm"><b>idea</b></a> <br><nobr>idedge <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>idface</b></a> <br><nobr>ids <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> <a href="../revolution.htm"><b>8</b></a> </nobr><br><nobr>idtoobject <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf6.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<a name="bms_FR"></a><a name="subkey_FR"></a><a href="../files/vtk_3d_viewer.htm"><b>frame</b></a> <br><nobr>free <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../free_edges.htm"><b>7</b></a> <a href="../free_borders.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><a name="bms_FU"></a><a name="subkey_FU"></a><a href="../files/vtk_3d_viewer.htm"><b>functionalities</b></a> <br><nobr>functionality <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/merging_nodes.htm"><b>4</b></a> <a href="../merge_elements.htm"><b>5</b></a> <a href="../files/vtk_3d_viewer.htm"><b>6</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>functions</b></a> <br><a href="../files/arithmetic_1d.htm"><b>future</b></a> <br>
+<br><br>
+<a name="bm_G"></a><a name="subkey_G{"></a><a href="../files/constructing_submeshes.htm"><b>g</b></a> <br><a name="bms_GA"></a><a name="subkey_GA"></a><a href="../files/vtk_3d_viewer.htm"><b>gauss</b></a> <br><nobr><a name="bms_GE"></a><a name="subkey_GE"></a>generate <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../pattern_mapping.htm"><b>5</b></a> </nobr><br><nobr>generated <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><nobr>generation <a href="../extrusion.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><nobr>geom <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><nobr>geometric <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> </nobr><br><nobr>geometrical <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/symmetry.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/rotation.htm"><b>11</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>12</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>13</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>14</b></a> <a href="../pattern_mapping.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../files/viewing_mesh_info.htm"><b>17</b></a> </nobr><br><nobr>geometry <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> </nobr><br><nobr>geompy <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><nobr>get <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../clipping.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/viewing_mesh_info.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>getalgorithm</b></a> <br><a href="../quality_controls.htm"><b>getborders</b></a> <br><nobr>getelementsid <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>geterrorcode</b></a> <br><a href="../constructing_meshes.htm"><b>getid</b></a> <br><a href="../grouping_elements.htm"><b>getlistofid</b></a> <br><nobr>getmaxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmaxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmesh <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>getmesheditor <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>getname <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>getnumberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>getpattern</b></a> <br><a href="../pattern_mapping.htm"><b>getting</b></a> <br><a name="bms_GG"></a><a name="subkey_GG"></a><a href="../defining_hypotheses_tui.htm"><b>gg</b></a> <br><nobr><a name="bms_GI"></a><a name="subkey_GI"></a>given <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> </nobr><br><nobr>gives <a href="../files/viewing_mesh_info.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a name="bms_GL"></a><a name="subkey_GL"></a><a href="../files/vtk_3d_viewer.htm"><b>global</b></a> <br><a name="bms_GO"></a><a name="subkey_GO"></a><a href="../modifying_meshes.htm"><b>going</b></a> <br><a href="../files/smoothing.htm"><b>good</b></a> <br><a href="../pattern_mapping.htm"><b>got</b></a> <br><a name="bms_GR"></a><a name="subkey_GR"></a><a href="../files/vtk_3d_viewer.htm"><b>graduate</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>graduated</b></a> <br><a href="../about_viewing_meshes.htm"><b>graphically</b></a> <br><a href="../files/arithmetic_1d.htm"><b>great</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>greater</b></a> <br><nobr>greatest <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>green</b></a> <br><nobr>group <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/creating_groups.htm"><b>5</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/translation.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../modifying_meshes.htm"><b>11</b></a> <a href="../grouping_elements.htm"><b>12</b></a> <a href="../files/using_operations_on_groups.htm"><b>13</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>14</b></a> <a href="../selection_filter_library.htm"><b>15</b></a> </nobr><br><a href="../files/using_operations_on_groups.htm"><b>group1</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12a</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group12b</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>group2</b></a> <br><nobr>grouping <a href="../mesh.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>grouprotate</b></a> <br><nobr>groups <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/editing_groups.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>4</b></a> <a href="../files/merging_nodes.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../files/viewing_mesh_info.htm"><b>9</b></a> <a href="../files/using_operations_on_groups.htm"><b>10</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>groupsmooth</b></a> <br><a href="../transforming_meshes.htm"><b>groupsofnodes</b></a> <br><a href="../modifying_meshes.htm"><b>grouptritoquad</b></a> <br>
+<br><br>
+<a name="bm_H"></a><a name="subkey_H{"></a><a href="../files/warp.htm"><b>h</b></a> <br><nobr><a name="bms_HA"></a><a name="subkey_HA"></a>half <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../clipping.htm"><b>halves</b></a> <br><nobr>having <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a name="bms_HE"></a><a name="subkey_HE"></a><a href="../modifying_meshes.htm"><b>hedron</b></a> <br><a href="../files/warp.htm"><b>height</b></a> <br><a href="../extrusion_along_a_path.htm"><b>helical</b></a> <br><a href="../files/about_quality_controls.htm"><b>help</b></a> <br><a href="../pattern_mapping.htm"><b>hence</b></a> <br><a href="../pattern_mapping.htm"><b>here</b></a> <br><nobr>hexa <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>hexa_3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>hexa3d</b></a> <br><a href="../extrusion_along_a_path.htm"><b>hexagon</b></a> <br><nobr>hexahedral <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>hexahedralization</b></a> <br><nobr>hexahedrical <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hexahedron <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> </nobr><br><nobr>hexahedrons <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><a name="bms_HH"></a><a name="subkey_HH"></a><a href="../modifying_meshes.htm"><b>hh</b></a> <br><nobr><a name="bms_HI"></a><a name="subkey_HI"></a>hide <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>hides</b></a> <br><a href="../about_viewing_meshes.htm"><b>hiding</b></a> <br><a href="../files/about_meshes.htm"><b>higher</b></a> <br><nobr>highlighted <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><nobr>highlights <a href="../borders_at_multiconnection_2d.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../free_edges.htm"><b>3</b></a> <a href="../free_borders.htm"><b>4</b></a> </nobr><br><a name="bms_HM"></a><a name="subkey_HM"></a><a href="../files/aspect_ratio.htm"><b>hmax</b></a> <br><a name="bms_HO"></a><a name="subkey_HO"></a><a href="../pattern_mapping.htm"><b>holds</b></a> <br><a href="../free_edges.htm"><b>holes</b></a> <br><nobr>how <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>2</b></a> </nobr><br><a name="bms_HY"></a><a name="subkey_HY"></a><a href="../files/constructing_submeshes.htm"><b>hyp</b></a> <br><nobr>hyp1 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>hyp2 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>hyp3 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hyp4 <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hyparea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>hypnbseg <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>hypotheses <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/constructing_submeshes.htm"><b>4</b></a> <a href="../files/constructing_meshes.htm"><b>5</b></a> <a href="../files/arithmetic_1d.htm"><b>6</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../mesh.htm"><b>10</b></a> <a href="../grouping_elements.htm"><b>11</b></a> </nobr><br><nobr>hypothesis <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../grouping_elements.htm"><b>10</b></a> <a href="../viewing_meshes.htm"><b>11</b></a> <a href="../transforming_meshes.htm"><b>12</b></a> </nobr><br><nobr>hypvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br>
+<br><br>
+<nobr><a name="bm_I"></a><a name="subkey_I{"></a>i <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../quality_controls.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../grouping_elements.htm"><b>8</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>9</b></a> </nobr><br><nobr><a name="bms_IC"></a><a name="subkey_IC"></a>icon <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_ID"></a><a name="subkey_ID"></a>id <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/uniting_two_triangles.htm"><b>11</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>12</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>id_arc</b></a> <br><nobr>id_circle <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>id_face</b></a> <br><nobr>id_face1 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>idbox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>idcomp</b></a> <br><a href="../extrusion_along_a_path.htm"><b>idea</b></a> <br><nobr>idedge <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../grouping_elements.htm"><b>idface</b></a> <br><nobr>ids <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> <a href="../revolution.htm"><b>8</b></a> </nobr><br><nobr>idtoobject <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf6.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 860da764a690320a113e708dbefb632ba3153d89..1ed1a07e28dc6b3d3b574edf2a177245853334e5 100755 (executable)
@@ -1,49 +1,49 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_IF"></a><a name="subkey_IF"></a>if <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../clipping.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>12</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>13</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../pattern_mapping.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../grouping_elements.htm"><b>18</b></a> <a href="../files/vtk_3d_viewer.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../selection_filter_library.htm"><b>21</b></a> <a href="../revolution.htm"><b>22</b></a> </nobr><br><a name="bms_II"></a><a name="subkey_II"></a><a href="../modifying_meshes.htm"><b>ii</b></a> <br><nobr><a name="bms_IM"></a><a name="subkey_IM"></a>image <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>imply</b></a> <br><nobr>import <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>importation</b></a> <br><nobr>importcomponentgui <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../mesh.htm"><b>imported</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>importing</b></a> <br><nobr><a name="bms_IN"></a><a name="subkey_IN"></a>including <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> </nobr><br><nobr>increasing <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>index <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/warp.htm"><b>indicates</b></a> <br><a href="../pattern_mapping.htm"><b>indices</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>info</b></a> <br><nobr>information <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/viewing_mesh_info.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><nobr>infos <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>init <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>init_geom</b></a> <br><nobr>initial <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>initialize <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>input <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>inscribed</b></a> <br><a href="../selection_filter_library.htm"><b>insert</b></a> <br><a href="../files/sewing_meshes.htm"><b>inserted</b></a> <br><nobr>instead <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../deleting_groups.htm"><b>intact</b></a> <br><a href="../files/creating_groups.htm"><b>integer</b></a> <br><a href="../files/sewing_meshes.htm"><b>intended</b></a> <br><a href="../files/about_meshes.htm"><b>interested</b></a> <br><a href="../files/sewing_meshes.htm"><b>intermediate</b></a> <br><a href="../pattern_mapping.htm"><b>internal</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>intersect</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>intersected</b></a> <br><a href="../grouping_elements.htm"><b>intersectgroups</b></a> <br><nobr>intersection <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>intersects</b></a> <br><a href="../files/about_hypotheses.htm"><b>introduce</b></a> <br><a href="../files/creating_groups.htm"><b>introduces</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>introducing</b></a> <br><a href="../mesh.htm"><b>introduction</b></a> <br><nobr>inverse <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>inversediag</b></a> <br><nobr>inversion <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../transparency.htm"><b>invisible</b></a> <br><a name="bms_IS"></a><a name="subkey_IS"></a><a href="../modifying_meshes.htm"><b>isdone</b></a> <br><a href="../pattern_mapping.htm"><b>iso</b></a> <br><a href="../pattern_mapping.htm"><b>isoline</b></a> <br><a href="../pattern_mapping.htm"><b>isolines</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>isometric</b></a> <br><nobr>isplanarface <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_IT"></a><a name="subkey_IT"></a>item <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>9</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/sewing_meshes.htm"><b>15</b></a> <a href="../files/rotation.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/merging_nodes.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../files/using_operations_on_groups.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>iteration <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>iterations <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>iterative</b></a> <br>\r
-<br><br>\r
-<a name="bm_J"></a><a name="subkey_JO"></a><a href="../files/skew.htm"><b>join</b></a> <br><nobr><a name="bms_JP"></a><a name="subkey_JP"></a>jpeg <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>jpg <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_JU"></a><a name="subkey_JU"></a>just <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_K"></a><a name="subkey_K{"></a>k <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_KE"></a><a name="subkey_KE"></a>keep <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>key</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>keyboard</b></a> <br><a name="bms_KN"></a><a name="subkey_KN"></a><a href="../pattern_mapping.htm"><b>knowing</b></a> <br><a name="bms_KO"></a><a name="subkey_KO"></a><a href="../modifying_meshes.htm"><b>ko</b></a> <br>\r
-<br><br>\r
-<a name="bm_L"></a><a name="subkey_L{"></a><a href="../files/warp.htm"><b>l</b></a> <br><a name="bms_LA"></a><a name="subkey_LA"></a><a href="../files/vtk_3d_viewer.htm"><b>labels</b></a> <br><a href="../files/smoothing.htm"><b>laplacian</b></a> <br><nobr>last <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>lastnodeid</b></a> <br><a href="../pattern_mapping.htm"><b>lay</b></a> <br><nobr>lays <a href="../extrusion.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_LC"></a><a name="subkey_LC"></a>lcc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a name="bms_LE"></a><a name="subkey_LE"></a><a href="../files/viewing_mesh_info.htm"><b>learn</b></a> <br><nobr>least <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>leave <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>left <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../quality_controls.htm"><b>legth</b></a> <br><nobr>len <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>length <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/sewing_meshes.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../mesh.htm"><b>11</b></a> <a href="../length.htm"><b>12</b></a> <a href="../files/warp.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../transforming_meshes.htm"><b>15</b></a> </nobr><br><nobr>lengthfromedges <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>less <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>let</b></a> <br><nobr>level <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_LI"></a><a name="subkey_LI"></a><a href="../defining_hypotheses_tui.htm"><b>libnetgenengine</b></a> <br><nobr>library <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>libstdmeshersengine <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>like <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../files/smoothing.htm"><b>limit</b></a> <br><nobr>limited <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>line <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>lines <a href="../extrusion.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../revolution.htm"><b>5</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>link</b></a> <br><a href="../files/sewing_meshes.htm"><b>linked</b></a> <br><a href="../files/sewing_meshes.htm"><b>links</b></a> <br><nobr>list <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>listed <a href="../deleting_groups.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>lists</b></a> <br><a name="bms_LK"></a><a name="subkey_LK"></a><a href="../files/arithmetic_1d.htm"><b>lk</b></a> <br><a name="bms_LL"></a><a name="subkey_LL"></a><a href="../files/vtk_3d_viewer.htm"><b>ll</b></a> <br><nobr><a name="bms_LO"></a><a name="subkey_LO"></a>load <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>loadfromface</b></a> <br><nobr>local <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>locallength</b></a> <br><nobr>locally <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>located <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>location <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> </nobr><br><nobr>locations <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>lock <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>locking</b></a> <br><a href="../files/aspect_ratio.htm"><b>longest</b></a> <br><a href="../files/displaying_nodes_numbers.htm"><b>look</b></a> <br><a href="../pattern_mapping.htm"><b>looking</b></a> <br><a href="../selection_filter_library.htm"><b>looks</b></a> <br><a href="../files/arithmetic_1d.htm"><b>low</b></a> <br><a href="../files/about_meshes.htm"><b>lower</b></a> <br><a name="bms_LY"></a><a name="subkey_LY"></a><a href="../pattern_mapping.htm"><b>lying</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_M"></a><a name="subkey_MA"></a>main <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../files/using_operations_on_groups.htm"><b>7</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>8</b></a> <a href="../selection_filter_library.htm"><b>9</b></a> </nobr><br><nobr>makearc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>makebox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>makeboxdxdydz</b></a> <br><nobr>makecirclethreepnt <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>makecompound <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>makecylinderrh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>makeedge <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>makeface <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>makefaces</b></a> <br><nobr>makehexa <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>makemesh</b></a> <br><a href="../modifying_meshes.htm"><b>makepolygon</b></a> <br><nobr>makequad <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>makesketcher</b></a> <br><nobr>makevector <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>makevertex <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>makewire <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>manage</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>managed</b></a> <br><nobr>manually <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>mapped</b></a> <br><nobr>mapping <a href="../files/max._element_area_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>marked</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>marks</b></a> <br><a href="../extrusion_along_a_path.htm"><b>mass</b></a> <br><nobr>math <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>max <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>max_element_area</b></a> <br><nobr>maxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>maxelementarea_500</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>maxelementarea_800</b></a> <br><nobr>maxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>maxelementvolume_500</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>maxelementvolume_900</b></a> <br><nobr>maximum <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/skew.htm"><b>4</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>5</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>6</b></a> <a href="../files/viewing_mesh_info.htm"><b>7</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf7.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_IF"></a><a name="subkey_IF"></a>if <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../clipping.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/smoothing.htm"><b>10</b></a> <a href="../files/sewing_meshes.htm"><b>11</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>12</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>13</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../pattern_mapping.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../grouping_elements.htm"><b>18</b></a> <a href="../files/vtk_3d_viewer.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../selection_filter_library.htm"><b>21</b></a> <a href="../revolution.htm"><b>22</b></a> </nobr><br><a name="bms_II"></a><a name="subkey_II"></a><a href="../modifying_meshes.htm"><b>ii</b></a> <br><nobr><a name="bms_IM"></a><a name="subkey_IM"></a>image <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>imply</b></a> <br><nobr>import <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../modifying_meshes.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../viewing_meshes.htm"><b>8</b></a> <a href="../transforming_meshes.htm"><b>9</b></a> </nobr><br><a href="../files/importing_and_exporting_meshes.htm"><b>importation</b></a> <br><nobr>importcomponentgui <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../mesh.htm"><b>imported</b></a> <br><a href="../files/importing_and_exporting_meshes.htm"><b>importing</b></a> <br><nobr><a name="bms_IN"></a><a name="subkey_IN"></a>including <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> </nobr><br><nobr>increasing <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>index <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/warp.htm"><b>indicates</b></a> <br><a href="../pattern_mapping.htm"><b>indices</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>info</b></a> <br><nobr>information <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/viewing_mesh_info.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><nobr>infos <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/viewing_mesh_info.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>init <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>init_geom</b></a> <br><nobr>initial <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>initialize <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><nobr>input <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>inscribed</b></a> <br><a href="../selection_filter_library.htm"><b>insert</b></a> <br><a href="../files/sewing_meshes.htm"><b>inserted</b></a> <br><nobr>instead <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../deleting_groups.htm"><b>intact</b></a> <br><a href="../files/creating_groups.htm"><b>integer</b></a> <br><a href="../files/sewing_meshes.htm"><b>intended</b></a> <br><a href="../files/about_meshes.htm"><b>interested</b></a> <br><a href="../files/sewing_meshes.htm"><b>intermediate</b></a> <br><a href="../pattern_mapping.htm"><b>internal</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>intersect</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>intersected</b></a> <br><a href="../grouping_elements.htm"><b>intersectgroups</b></a> <br><nobr>intersection <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>intersects</b></a> <br><a href="../files/about_hypotheses.htm"><b>introduce</b></a> <br><a href="../files/creating_groups.htm"><b>introduces</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>introducing</b></a> <br><a href="../mesh.htm"><b>introduction</b></a> <br><nobr>inverse <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>inversediag</b></a> <br><nobr>inversion <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../transparency.htm"><b>invisible</b></a> <br><a name="bms_IS"></a><a name="subkey_IS"></a><a href="../modifying_meshes.htm"><b>isdone</b></a> <br><a href="../pattern_mapping.htm"><b>iso</b></a> <br><a href="../pattern_mapping.htm"><b>isoline</b></a> <br><a href="../pattern_mapping.htm"><b>isolines</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>isometric</b></a> <br><nobr>isplanarface <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_IT"></a><a name="subkey_IT"></a>item <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>9</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>10</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>11</b></a> <a href="../files/translation.htm"><b>12</b></a> <a href="../files/symmetry.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/sewing_meshes.htm"><b>15</b></a> <a href="../files/rotation.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/merging_nodes.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../files/using_operations_on_groups.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>iteration <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>iterations <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>iterative</b></a> <br>
+<br><br>
+<a name="bm_J"></a><a name="subkey_JO"></a><a href="../files/skew.htm"><b>join</b></a> <br><nobr><a name="bms_JP"></a><a name="subkey_JP"></a>jpeg <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr>jpg <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_JU"></a><a name="subkey_JU"></a>just <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br>
+<br><br>
+<nobr><a name="bm_K"></a><a name="subkey_K{"></a>k <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_KE"></a><a name="subkey_KE"></a>keep <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>key</b></a> <br><a href="../files/cutting_quadrangles.htm"><b>keyboard</b></a> <br><a name="bms_KN"></a><a name="subkey_KN"></a><a href="../pattern_mapping.htm"><b>knowing</b></a> <br><a name="bms_KO"></a><a name="subkey_KO"></a><a href="../modifying_meshes.htm"><b>ko</b></a> <br>
+<br><br>
+<a name="bm_L"></a><a name="subkey_L{"></a><a href="../files/warp.htm"><b>l</b></a> <br><a name="bms_LA"></a><a name="subkey_LA"></a><a href="../files/vtk_3d_viewer.htm"><b>labels</b></a> <br><a href="../files/smoothing.htm"><b>laplacian</b></a> <br><nobr>last <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>lastnodeid</b></a> <br><a href="../pattern_mapping.htm"><b>lay</b></a> <br><nobr>lays <a href="../extrusion.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_LC"></a><a name="subkey_LC"></a>lcc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><a name="bms_LE"></a><a name="subkey_LE"></a><a href="../files/viewing_mesh_info.htm"><b>learn</b></a> <br><nobr>least <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>leave <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>left <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../quality_controls.htm"><b>legth</b></a> <br><nobr>len <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>length <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../files/length_of_edges.htm"><b>5</b></a> <a href="../files/aspect_ratio.htm"><b>6</b></a> <a href="../files/arithmetic_1d.htm"><b>7</b></a> <a href="../files/sewing_meshes.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../quality_controls.htm"><b>10</b></a> <a href="../mesh.htm"><b>11</b></a> <a href="../length.htm"><b>12</b></a> <a href="../files/warp.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../transforming_meshes.htm"><b>15</b></a> </nobr><br><nobr>lengthfromedges <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>less <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../selection_filter_library.htm"><b>3</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>let</b></a> <br><nobr>level <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> </nobr><br><a name="bms_LI"></a><a name="subkey_LI"></a><a href="../defining_hypotheses_tui.htm"><b>libnetgenengine</b></a> <br><nobr>library <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr>libstdmeshersengine <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> </nobr><br><nobr>like <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> </nobr><br><a href="../files/smoothing.htm"><b>limit</b></a> <br><nobr>limited <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>line <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><nobr>lines <a href="../extrusion.htm"><b>1</b></a> <a href="../files/skew.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../revolution.htm"><b>5</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>link</b></a> <br><a href="../files/sewing_meshes.htm"><b>linked</b></a> <br><a href="../files/sewing_meshes.htm"><b>links</b></a> <br><nobr>list <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>6</b></a> <a href="../selection_filter_library.htm"><b>7</b></a> </nobr><br><nobr>listed <a href="../deleting_groups.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../selection_filter_library.htm"><b>lists</b></a> <br><a name="bms_LK"></a><a name="subkey_LK"></a><a href="../files/arithmetic_1d.htm"><b>lk</b></a> <br><a name="bms_LL"></a><a name="subkey_LL"></a><a href="../files/vtk_3d_viewer.htm"><b>ll</b></a> <br><nobr><a name="bms_LO"></a><a name="subkey_LO"></a>load <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>loadfromface</b></a> <br><nobr>local <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../transforming_meshes.htm"><b>5</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>locallength</b></a> <br><nobr>locally <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> </nobr><br><nobr>located <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>location <a href="../files/importing_and_exporting_meshes.htm"><b>1</b></a> <a href="../files/displacing_nodes.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/smoothing.htm"><b>4</b></a> </nobr><br><nobr>locations <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>lock <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>locking</b></a> <br><a href="../files/aspect_ratio.htm"><b>longest</b></a> <br><a href="../files/displaying_nodes_numbers.htm"><b>look</b></a> <br><a href="../pattern_mapping.htm"><b>looking</b></a> <br><a href="../selection_filter_library.htm"><b>looks</b></a> <br><a href="../files/arithmetic_1d.htm"><b>low</b></a> <br><a href="../files/about_meshes.htm"><b>lower</b></a> <br><a name="bms_LY"></a><a name="subkey_LY"></a><a href="../pattern_mapping.htm"><b>lying</b></a> <br>
+<br><br>
+<nobr><a name="bm_M"></a><a name="subkey_MA"></a>main <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../files/cutting_quadrangles.htm"><b>3</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>4</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../files/using_operations_on_groups.htm"><b>7</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>8</b></a> <a href="../selection_filter_library.htm"><b>9</b></a> </nobr><br><nobr>makearc <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>makebox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>makeboxdxdydz</b></a> <br><nobr>makecirclethreepnt <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>makecompound <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>makecylinderrh <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>makeedge <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>makeface <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>makefaces</b></a> <br><nobr>makehexa <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>makemesh</b></a> <br><a href="../modifying_meshes.htm"><b>makepolygon</b></a> <br><nobr>makequad <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../defining_hypotheses_tui.htm"><b>makesketcher</b></a> <br><nobr>makevector <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>makevertex <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>makewire <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>manage</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>managed</b></a> <br><nobr>manually <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>mapped</b></a> <br><nobr>mapping <a href="../files/max._element_area_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>marked</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>marks</b></a> <br><a href="../extrusion_along_a_path.htm"><b>mass</b></a> <br><nobr>math <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>max <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../mesh.htm"><b>6</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>max_element_area</b></a> <br><nobr>maxelementarea <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>maxelementarea_500</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>maxelementarea_800</b></a> <br><nobr>maxelementvolume <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>maxelementvolume_500</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>maxelementvolume_900</b></a> <br><nobr>maximum <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../files/smoothing.htm"><b>3</b></a> <a href="../files/skew.htm"><b>4</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>5</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>6</b></a> <a href="../files/viewing_mesh_info.htm"><b>7</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf7.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index a165fac643e43494a906dd8231eb585c19b27309..b4c8920502820a98fb768997ad7d6917176cf4cc 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf6.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<a name="bms_ME"></a><a name="subkey_ME"></a><a href="../files/about_meshes.htm"><b>meaning</b></a> <br><a href="../files/about_meshes.htm"><b>meaningful</b></a> <br><a href="../files/warp.htm"><b>measured</b></a> <br><nobr>meet <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>mefisto_2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>mefisto2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>menu <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/constructing_submeshes.htm"><b>13</b></a> <a href="../files/constructing_meshes.htm"><b>14</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/arithmetic_1d.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/symmetry.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/rotation.htm"><b>23</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>24</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>25</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>26</b></a> <a href="../files/merging_nodes.htm"><b>27</b></a> <a href="../pattern_mapping.htm"><b>28</b></a> <a href="../files/viewing_mesh_info.htm"><b>29</b></a> <a href="../files/using_operations_on_groups.htm"><b>30</b></a> <a href="../files/uniting_two_triangles.htm"><b>31</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>32</b></a> <a href="../selection_filter_library.htm"><b>33</b></a> <a href="../revolution.htm"><b>34</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>menus</b></a> <br><nobr>merge <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/merging_nodes.htm"><b>2</b></a> <a href="../merge_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>merged <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../merge_elements.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>mergeequalelements</b></a> <br><a href="../transforming_meshes.htm"><b>mergenodes</b></a> <br><a href="../files/sewing_meshes.htm"><b>merges</b></a> <br><nobr>merging <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/merging_nodes.htm"><b>2</b></a> <a href="../merge_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>mesh <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../deleting_groups.htm"><b>7</b></a> <a href="../defining_hypotheses_tui.htm"><b>8</b></a> <a href="../constructing_meshes.htm"><b>9</b></a> <a href="../clipping.htm"><b>10</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>11</b></a> <a href="../borders_at_multi-connection.htm"><b>12</b></a> <a href="../aspect_ratio_3d.htm"><b>13</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>14</b></a> <a href="../about_viewing_meshes.htm"><b>15</b></a> <a href="../files/length_of_edges.htm"><b>16</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>17</b></a> <a href="../files/editing_groups.htm"><b>18</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>19</b></a> <a href="../files/displacing_nodes.htm"><b>20</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>21</b></a> <a href="../files/cutting_quadrangles.htm"><b>22</b></a> <a href="../files/creating_groups.htm"><b>23</b></a> <a href="../files/constructing_submeshes.htm"><b>24</b></a> <a href="../files/constructing_meshes.htm"><b>25</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>26</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>27</b></a> <a href="../files/aspect_ratio.htm"><b>28</b></a> <a href="../files/arithmetic_1d.htm"><b>29</b></a> <a href="../files/area_of_elements.htm"><b>30</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>31</b></a> <a href="../files/translation.htm"><b>32</b></a> <a href="../files/taper.htm"><b>33</b></a> <a href="../files/symmetry.htm"><b>34</b></a> <a href="../files/smoothing.htm"><b>35</b></a> <a href="../files/skew.htm"><b>36</b></a> <a href="../files/sewing_meshes.htm"><b>37</b></a> <a href="../files/running_smesh_module.htm"><b>38</b></a> <a href="../files/rotation.htm"><b>39</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>40</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>41</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>42</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>43</b></a> <a href="../files/minimum_angle.htm"><b>44</b></a> <a href="../files/merging_nodes.htm"><b>45</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>46</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>47</b></a> <a href="../quality_controls.htm"><b>48</b></a> <a href="../presentation.htm"><b>49</b></a> <a href="../pattern_mapping.htm"><b>50</b></a> <a href="../modifying_meshes.htm"><b>51</b></a> <a href="../mesh.htm"><b>52</b></a> <a href="../merge_elements.htm"><b>53</b></a> <a href="../grouping_elements.htm"><b>54</b></a> <a href="../free_edges.htm"><b>55</b></a> <a href="../free_borders.htm"><b>56</b></a> <a href="../files/warp.htm"><b>57</b></a> <a href="../files/vtk_3d_viewer.htm"><b>58</b></a> <a href="../files/viewing_mesh_info.htm"><b>59</b></a> <a href="../files/using_operations_on_groups.htm"><b>60</b></a> <a href="../files/uniting_two_triangles.htm"><b>61</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>62</b></a> <a href="../volume.htm"><b>63</b></a> <a href="../viewing_meshes.htm"><b>64</b></a> <a href="../transforming_meshes.htm"><b>65</b></a> <a href="../selection_filter_library.htm"><b>66</b></a> <a href="../revolution.htm"><b>67</b></a> </nobr><br><nobr>mesh_1 <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>mesh_2</b></a> <br><a href="../quality_controls.htm"><b>mesh_borders_at_multi</b></a> <br><a href="../quality_controls.htm"><b>mesh_freebord</b></a> <br><nobr>meshbox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>meshed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../transforming_meshes.htm"><b>8</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>mesheditor</b></a> <br><a href="../pattern_mapping.htm"><b>mesher</b></a> <br><nobr>meshes <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/smoothing.htm"><b>8</b></a> <a href="../files/sewing_meshes.htm"><b>9</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>10</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>11</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>12</b></a> <a href="../modifying_meshes.htm"><b>13</b></a> <a href="../mesh.htm"><b>14</b></a> <a href="../files/vtk_3d_viewer.htm"><b>15</b></a> <a href="../volume.htm"><b>16</b></a> <a href="../viewing_meshes.htm"><b>17</b></a> <a href="../transforming_meshes.htm"><b>18</b></a> <a href="../selection_filter_library.htm"><b>19</b></a> </nobr><br><nobr>meshing <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/arithmetic_1d.htm"><b>11</b></a> <a href="../files/area_of_elements.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../revolution.htm"><b>17</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>meshmed</b></a> <br><nobr>method <a href="../files/smoothing.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>methods</b></a> <br><nobr><a name="bms_MI"></a><a name="subkey_MI"></a>middle <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><nobr>minimum <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/minimum_angle.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>8</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>mirrored</b></a> <br><a href="../transforming_meshes.htm"><b>mirrorobject</b></a> <br><nobr><a name="bms_MO"></a><a name="subkey_MO"></a>mode <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../presentation.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>model</b></a> <br><a href="../mesh.htm"><b>models</b></a> <br><a href="../presentation.htm"><b>modes</b></a> <br><nobr>modification <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/translation.htm"><b>11</b></a> <a href="../files/symmetry.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/rotation.htm"><b>15</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>16</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>17</b></a> <a href="../files/merging_nodes.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../mesh.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>modify <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>modifying</b></a> <br><nobr>module <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/running_smesh_module.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>modules</b></a> <br><nobr>mouse <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><nobr>move <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>movenode</b></a> <br><nobr>moving <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_MU"></a><a name="subkey_MU"></a>multi <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><a href="../quality_controls.htm"><b>multiconnection</b></a> <br><nobr>must <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><a name="bms_MY"></a><a name="subkey_MY"></a><a href="../quality_controls.htm"><b>myelemid</b></a> <br><a href="../quality_controls.htm"><b>mypnt1</b></a> <br><a href="../quality_controls.htm"><b>mypnt2</b></a> <br><nobr>mystudy <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>mystudyid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br>\r
-<br><br>\r
-<nobr><a name="bm_N"></a><a name="subkey_N{"></a>n <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NA"></a><a name="subkey_NA"></a>name <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../viewing_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr>names <a href="../files/vtk_3d_viewer.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NB"></a><a name="subkey_NB"></a>nb <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>nb_segments_1</b></a> <br><a href="../modifying_meshes.htm"><b>nb_vert</b></a> <br><nobr>nbedges <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbfaces</b></a> <br><a href="../viewing_meshes.htm"><b>nbhexas</b></a> <br><nobr>nbnodes <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbpolygons</b></a> <br><a href="../viewing_meshes.htm"><b>nbpolyhedrons</b></a> <br><a href="../viewing_meshes.htm"><b>nbprisms</b></a> <br><a href="../viewing_meshes.htm"><b>nbpyramids</b></a> <br><nobr>nbquadrangles <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbtetras</b></a> <br><nobr>nbtriangles <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>nbvolumes <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_NE"></a><a name="subkey_NE"></a><a href="../files/adding_nodes_and_elements.htm"><b>necessary</b></a> <br><a href="../files/constructing_meshes.htm"><b>need</b></a> <br><a href="../files/arithmetic_1d.htm"><b>negative</b></a> <br><nobr>neighboring <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshing_algorithms.htm"><b>netgen</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgen_3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgen3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgenplugin</b></a> <br><nobr>new <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> </nobr><br><nobr>next <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NO"></a><a name="subkey_NO"></a>nodal <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>node <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/displacing_nodes.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../quality_controls.htm"><b>9</b></a> <a href="../pattern_mapping.htm"><b>10</b></a> <a href="../modifying_meshes.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>node_ids</b></a> <br><a href="../modifying_meshes.htm"><b>node_start_id</b></a> <br><nobr>nodes <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>7</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>8</b></a> <a href="../files/aspect_ratio.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/area_of_elements.htm"><b>11</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>12</b></a> <a href="../files/taper.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/sewing_meshes.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../files/merging_nodes.htm"><b>19</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>20</b></a> <a href="../quality_controls.htm"><b>21</b></a> <a href="../presentation.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../modifying_meshes.htm"><b>24</b></a> <a href="../mesh.htm"><b>25</b></a> <a href="../files/warp.htm"><b>26</b></a> <a href="../files/viewing_mesh_info.htm"><b>27</b></a> <a href="../viewing_meshes.htm"><b>28</b></a> <a href="../transforming_meshes.htm"><b>29</b></a> <a href="../selection_filter_library.htm"><b>30</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>none</b></a> <br><nobr>normal <a href="../files/symmetry.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>normalisation</b></a> <br><nobr>note <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>nothing</b></a> <br><a href="../files/about_meshes.htm"><b>notice</b></a> <br><nobr>now <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf8.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf6.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<a name="bms_ME"></a><a name="subkey_ME"></a><a href="../files/about_meshes.htm"><b>meaning</b></a> <br><a href="../files/about_meshes.htm"><b>meaningful</b></a> <br><a href="../files/warp.htm"><b>measured</b></a> <br><nobr>meet <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>mefisto_2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>mefisto2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>menu <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/displacing_nodes.htm"><b>9</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>10</b></a> <a href="../files/cutting_quadrangles.htm"><b>11</b></a> <a href="../files/creating_groups.htm"><b>12</b></a> <a href="../files/constructing_submeshes.htm"><b>13</b></a> <a href="../files/constructing_meshes.htm"><b>14</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/arithmetic_1d.htm"><b>17</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>18</b></a> <a href="../files/translation.htm"><b>19</b></a> <a href="../files/symmetry.htm"><b>20</b></a> <a href="../files/smoothing.htm"><b>21</b></a> <a href="../files/sewing_meshes.htm"><b>22</b></a> <a href="../files/rotation.htm"><b>23</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>24</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>25</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>26</b></a> <a href="../files/merging_nodes.htm"><b>27</b></a> <a href="../pattern_mapping.htm"><b>28</b></a> <a href="../files/viewing_mesh_info.htm"><b>29</b></a> <a href="../files/using_operations_on_groups.htm"><b>30</b></a> <a href="../files/uniting_two_triangles.htm"><b>31</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>32</b></a> <a href="../selection_filter_library.htm"><b>33</b></a> <a href="../revolution.htm"><b>34</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>menus</b></a> <br><nobr>merge <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/merging_nodes.htm"><b>2</b></a> <a href="../merge_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>merged <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../merge_elements.htm"><b>2</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>mergeequalelements</b></a> <br><a href="../transforming_meshes.htm"><b>mergenodes</b></a> <br><a href="../files/sewing_meshes.htm"><b>merges</b></a> <br><nobr>merging <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/merging_nodes.htm"><b>2</b></a> <a href="../merge_elements.htm"><b>3</b></a> <a href="../transforming_meshes.htm"><b>4</b></a> </nobr><br><nobr>mesh <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_meshes.htm"><b>3</b></a> <a href="../files/about_hypotheses.htm"><b>4</b></a> <a href="../extrusion_along_a_path.htm"><b>5</b></a> <a href="../extrusion.htm"><b>6</b></a> <a href="../deleting_groups.htm"><b>7</b></a> <a href="../defining_hypotheses_tui.htm"><b>8</b></a> <a href="../constructing_meshes.htm"><b>9</b></a> <a href="../clipping.htm"><b>10</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>11</b></a> <a href="../borders_at_multi-connection.htm"><b>12</b></a> <a href="../aspect_ratio_3d.htm"><b>13</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>14</b></a> <a href="../about_viewing_meshes.htm"><b>15</b></a> <a href="../files/length_of_edges.htm"><b>16</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>17</b></a> <a href="../files/editing_groups.htm"><b>18</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>19</b></a> <a href="../files/displacing_nodes.htm"><b>20</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>21</b></a> <a href="../files/cutting_quadrangles.htm"><b>22</b></a> <a href="../files/creating_groups.htm"><b>23</b></a> <a href="../files/constructing_submeshes.htm"><b>24</b></a> <a href="../files/constructing_meshes.htm"><b>25</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>26</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>27</b></a> <a href="../files/aspect_ratio.htm"><b>28</b></a> <a href="../files/arithmetic_1d.htm"><b>29</b></a> <a href="../files/area_of_elements.htm"><b>30</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>31</b></a> <a href="../files/translation.htm"><b>32</b></a> <a href="../files/taper.htm"><b>33</b></a> <a href="../files/symmetry.htm"><b>34</b></a> <a href="../files/smoothing.htm"><b>35</b></a> <a href="../files/skew.htm"><b>36</b></a> <a href="../files/sewing_meshes.htm"><b>37</b></a> <a href="../files/running_smesh_module.htm"><b>38</b></a> <a href="../files/rotation.htm"><b>39</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>40</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>41</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>42</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>43</b></a> <a href="../files/minimum_angle.htm"><b>44</b></a> <a href="../files/merging_nodes.htm"><b>45</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>46</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>47</b></a> <a href="../quality_controls.htm"><b>48</b></a> <a href="../presentation.htm"><b>49</b></a> <a href="../pattern_mapping.htm"><b>50</b></a> <a href="../modifying_meshes.htm"><b>51</b></a> <a href="../mesh.htm"><b>52</b></a> <a href="../merge_elements.htm"><b>53</b></a> <a href="../grouping_elements.htm"><b>54</b></a> <a href="../free_edges.htm"><b>55</b></a> <a href="../free_borders.htm"><b>56</b></a> <a href="../files/warp.htm"><b>57</b></a> <a href="../files/vtk_3d_viewer.htm"><b>58</b></a> <a href="../files/viewing_mesh_info.htm"><b>59</b></a> <a href="../files/using_operations_on_groups.htm"><b>60</b></a> <a href="../files/uniting_two_triangles.htm"><b>61</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>62</b></a> <a href="../volume.htm"><b>63</b></a> <a href="../viewing_meshes.htm"><b>64</b></a> <a href="../transforming_meshes.htm"><b>65</b></a> <a href="../selection_filter_library.htm"><b>66</b></a> <a href="../revolution.htm"><b>67</b></a> </nobr><br><nobr>mesh_1 <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>mesh_2</b></a> <br><a href="../quality_controls.htm"><b>mesh_borders_at_multi</b></a> <br><a href="../quality_controls.htm"><b>mesh_freebord</b></a> <br><nobr>meshbox <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>meshed <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion_along_a_path.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../files/arithmetic_1d.htm"><b>5</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../transforming_meshes.htm"><b>8</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>mesheditor</b></a> <br><a href="../pattern_mapping.htm"><b>mesher</b></a> <br><nobr>meshes <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/area_of_elements.htm"><b>7</b></a> <a href="../files/smoothing.htm"><b>8</b></a> <a href="../files/sewing_meshes.htm"><b>9</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>10</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>11</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>12</b></a> <a href="../modifying_meshes.htm"><b>13</b></a> <a href="../mesh.htm"><b>14</b></a> <a href="../files/vtk_3d_viewer.htm"><b>15</b></a> <a href="../volume.htm"><b>16</b></a> <a href="../viewing_meshes.htm"><b>17</b></a> <a href="../transforming_meshes.htm"><b>18</b></a> <a href="../selection_filter_library.htm"><b>19</b></a> </nobr><br><nobr>meshing <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshing_algorithms.htm"><b>2</b></a> <a href="../files/about_hypotheses.htm"><b>3</b></a> <a href="../extrusion.htm"><b>4</b></a> <a href="../defining_hypotheses_tui.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/length_of_edges.htm"><b>7</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>8</b></a> <a href="../files/constructing_submeshes.htm"><b>9</b></a> <a href="../files/constructing_meshes.htm"><b>10</b></a> <a href="../files/arithmetic_1d.htm"><b>11</b></a> <a href="../files/area_of_elements.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>14</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>15</b></a> <a href="../mesh.htm"><b>16</b></a> <a href="../revolution.htm"><b>17</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>meshmed</b></a> <br><nobr>method <a href="../files/smoothing.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>methods</b></a> <br><nobr><a name="bms_MI"></a><a name="subkey_MI"></a>middle <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><nobr>minimum <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../files/minimum_angle.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>8</b></a> </nobr><br><a href="../transforming_meshes.htm"><b>mirrored</b></a> <br><a href="../transforming_meshes.htm"><b>mirrorobject</b></a> <br><nobr><a name="bms_MO"></a><a name="subkey_MO"></a>mode <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> <a href="../presentation.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>model</b></a> <br><a href="../mesh.htm"><b>models</b></a> <br><a href="../presentation.htm"><b>modes</b></a> <br><nobr>modification <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/editing_groups.htm"><b>5</b></a> <a href="../files/displacing_nodes.htm"><b>6</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>7</b></a> <a href="../files/cutting_quadrangles.htm"><b>8</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>9</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>10</b></a> <a href="../files/translation.htm"><b>11</b></a> <a href="../files/symmetry.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/rotation.htm"><b>15</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>16</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>17</b></a> <a href="../files/merging_nodes.htm"><b>18</b></a> <a href="../pattern_mapping.htm"><b>19</b></a> <a href="../mesh.htm"><b>20</b></a> <a href="../files/uniting_two_triangles.htm"><b>21</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>22</b></a> <a href="../revolution.htm"><b>23</b></a> </nobr><br><nobr>modify <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>4</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>modifying</b></a> <br><nobr>module <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/running_smesh_module.htm"><b>5</b></a> <a href="../modifying_meshes.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>modules</b></a> <br><nobr>mouse <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><nobr>move <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>movenode</b></a> <br><nobr>moving <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_MU"></a><a name="subkey_MU"></a>multi <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../quality_controls.htm"><b>4</b></a> <a href="../mesh.htm"><b>5</b></a> </nobr><br><a href="../quality_controls.htm"><b>multiconnection</b></a> <br><nobr>must <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><a name="bms_MY"></a><a name="subkey_MY"></a><a href="../quality_controls.htm"><b>myelemid</b></a> <br><a href="../quality_controls.htm"><b>mypnt1</b></a> <br><a href="../quality_controls.htm"><b>mypnt2</b></a> <br><nobr>mystudy <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../quality_controls.htm"><b>2</b></a> <a href="../modifying_meshes.htm"><b>3</b></a> <a href="../viewing_meshes.htm"><b>4</b></a> </nobr><br><nobr>mystudyid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br>
+<br><br>
+<nobr><a name="bm_N"></a><a name="subkey_N{"></a>n <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NA"></a><a name="subkey_NA"></a>name <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>2</b></a> <a href="../files/editing_groups.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../grouping_elements.htm"><b>7</b></a> <a href="../files/vtk_3d_viewer.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../viewing_meshes.htm"><b>10</b></a> <a href="../selection_filter_library.htm"><b>11</b></a> </nobr><br><nobr>names <a href="../files/vtk_3d_viewer.htm"><b>1</b></a> <a href="../selection_filter_library.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NB"></a><a name="subkey_NB"></a>nb <a href="../quality_controls.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>nb_segments_1</b></a> <br><a href="../modifying_meshes.htm"><b>nb_vert</b></a> <br><nobr>nbedges <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbfaces</b></a> <br><a href="../viewing_meshes.htm"><b>nbhexas</b></a> <br><nobr>nbnodes <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbpolygons</b></a> <br><a href="../viewing_meshes.htm"><b>nbpolyhedrons</b></a> <br><a href="../viewing_meshes.htm"><b>nbprisms</b></a> <br><a href="../viewing_meshes.htm"><b>nbpyramids</b></a> <br><nobr>nbquadrangles <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>nbtetras</b></a> <br><nobr>nbtriangles <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>nbvolumes <a href="../viewing_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a name="bms_NE"></a><a name="subkey_NE"></a><a href="../files/adding_nodes_and_elements.htm"><b>necessary</b></a> <br><a href="../files/constructing_meshes.htm"><b>need</b></a> <br><a href="../files/arithmetic_1d.htm"><b>negative</b></a> <br><nobr>neighboring <a href="../files/diagonal_iversion_of_elements.htm"><b>1</b></a> <a href="../files/uniting_two_triangles.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshing_algorithms.htm"><b>netgen</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgen_3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgen3d</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>netgenplugin</b></a> <br><nobr>new <a href="../clipping.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displacing_nodes.htm"><b>3</b></a> <a href="../files/creating_groups.htm"><b>4</b></a> <a href="../files/constructing_submeshes.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/using_operations_on_groups.htm"><b>9</b></a> <a href="../selection_filter_library.htm"><b>10</b></a> </nobr><br><nobr>next <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_NO"></a><a name="subkey_NO"></a>nodal <a href="../files/smoothing.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><nobr>node <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/displacing_nodes.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> <a href="../files/smoothing.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../quality_controls.htm"><b>9</b></a> <a href="../pattern_mapping.htm"><b>10</b></a> <a href="../modifying_meshes.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>node_ids</b></a> <br><a href="../modifying_meshes.htm"><b>node_start_id</b></a> <br><nobr>nodes <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../about_viewing_meshes.htm"><b>3</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>4</b></a> <a href="../files/displacing_nodes.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>7</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>8</b></a> <a href="../files/aspect_ratio.htm"><b>9</b></a> <a href="../files/arithmetic_1d.htm"><b>10</b></a> <a href="../files/area_of_elements.htm"><b>11</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>12</b></a> <a href="../files/taper.htm"><b>13</b></a> <a href="../files/smoothing.htm"><b>14</b></a> <a href="../files/skew.htm"><b>15</b></a> <a href="../files/sewing_meshes.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../files/merging_nodes.htm"><b>19</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>20</b></a> <a href="../quality_controls.htm"><b>21</b></a> <a href="../presentation.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../modifying_meshes.htm"><b>24</b></a> <a href="../mesh.htm"><b>25</b></a> <a href="../files/warp.htm"><b>26</b></a> <a href="../files/viewing_mesh_info.htm"><b>27</b></a> <a href="../viewing_meshes.htm"><b>28</b></a> <a href="../transforming_meshes.htm"><b>29</b></a> <a href="../selection_filter_library.htm"><b>30</b></a> </nobr><br><a href="../files/constructing_meshes.htm"><b>none</b></a> <br><nobr>normal <a href="../files/symmetry.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/aspect_ratio.htm"><b>normalisation</b></a> <br><nobr>note <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../files/aspect_ratio.htm"><b>4</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>5</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>nothing</b></a> <br><a href="../files/about_meshes.htm"><b>notice</b></a> <br><nobr>now <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../clipping.htm"><b>2</b></a> <a href="../files/constructing_meshes.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf8.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 861758d48f4bedb9ef80bac0aecc3c175da24fd6..536f7e16611a3aa42b0a81b49531eb7625e495a7 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf7.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<nobr><a name="bms_NU"></a><a name="subkey_NU"></a>number <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../pattern_mapping.htm"><b>12</b></a> <a href="../mesh.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../files/viewing_mesh_info.htm"><b>15</b></a> <a href="../viewing_meshes.htm"><b>16</b></a> <a href="../transforming_meshes.htm"><b>17</b></a> <a href="../revolution.htm"><b>18</b></a> </nobr><br><nobr>numbering <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> </nobr><br><nobr>numberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>numberofsegments_10</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>numberofsegments_7</b></a> <br><nobr>numbers <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>3</b></a> </nobr><br><a href="../files/cutting_quadrangles.htm"><b>numeric</b></a> <br><a href="../files/about_hypotheses.htm"><b>numerical</b></a> <br>\r
-<br><br>\r
-<a name="bm_O"></a><a name="subkey_OB"></a><a href="../files/sewing_meshes.htm"><b>obey</b></a> <br><nobr>object <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/creating_groups.htm"><b>9</b></a> <a href="../files/constructing_submeshes.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>12</b></a> <a href="../files/arithmetic_1d.htm"><b>13</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>14</b></a> <a href="../files/translation.htm"><b>15</b></a> <a href="../files/rotation.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>19</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>20</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>21</b></a> <a href="../presentation.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../modifying_meshes.htm"><b>24</b></a> <a href="../files/vtk_3d_viewer.htm"><b>25</b></a> <a href="../files/viewing_mesh_info.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../volume.htm"><b>28</b></a> </nobr><br><nobr>objects <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>7</b></a> <a href="../presentation.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> </nobr><br><nobr>objecttoid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>objet</b></a> <br><a href="../extrusion_along_a_path.htm"><b>oblique</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>obtain</b></a> <br><a name="bms_OF"></a><a name="subkey_OF"></a><a href="../files/vtk_3d_viewer.htm"><b>offset</b></a> <br><nobr><a name="bms_OK"></a><a name="subkey_OK"></a>ok <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displacing_nodes.htm"><b>8</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>9</b></a> <a href="../files/cutting_quadrangles.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>15</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../files/using_operations_on_groups.htm"><b>18</b></a> <a href="../files/uniting_two_triangles.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../revolution.htm"><b>21</b></a> </nobr><br><a name="bms_ON"></a><a name="subkey_ON"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>once</b></a> <br><nobr>one <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/translation.htm"><b>10</b></a> <a href="../files/symmetry.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/sewing_meshes.htm"><b>13</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>14</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>15</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../merge_elements.htm"><b>19</b></a> <a href="../free_edges.htm"><b>20</b></a> <a href="../free_borders.htm"><b>21</b></a> <a href="../files/using_operations_on_groups.htm"><b>22</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>23</b></a> <a href="../viewing_meshes.htm"><b>24</b></a> <a href="../selection_filter_library.htm"><b>25</b></a> <a href="../revolution.htm"><b>26</b></a> </nobr><br><nobr>ones <a href="../extrusion.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>onto <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a name="bms_OO"></a><a name="subkey_OO"></a><a href="../files/aspect_ratio.htm"><b>oo</b></a> <br><a name="bms_OP"></a><a name="subkey_OP"></a><a href="../transparency.htm"><b>opaque</b></a> <br><a href="../files/about_hypotheses.htm"><b>operate</b></a> <br><nobr>operation <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>5</b></a> <a href="../borders_at_multi-connection.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_submeshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../merge_elements.htm"><b>36</b></a> <a href="../length.htm"><b>37</b></a> <a href="../free_edges.htm"><b>38</b></a> <a href="../free_borders.htm"><b>39</b></a> <a href="../files/warp.htm"><b>40</b></a> <a href="../files/using_operations_on_groups.htm"><b>41</b></a> <a href="../files/uniting_two_triangles.htm"><b>42</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>43</b></a> <a href="../volume.htm"><b>44</b></a> <a href="../revolution.htm"><b>45</b></a> </nobr><br><nobr>operations <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>opposite <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/skew.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>option</b></a> <br><nobr>optional <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>options <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/translation.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_OR"></a><a name="subkey_OR"></a>order <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>ordinary <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>orientate</b></a> <br><nobr>orientation <a href="../clipping.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><a href="../files/warp.htm"><b>origin</b></a> <br><a name="bms_OT"></a><a name="subkey_OT"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>others</b></a> <br><nobr>otherwise <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a name="bms_OU"></a><a name="subkey_OU"></a><a href="../files/constructing_meshes.htm"><b>our</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>out</b></a> <br><a href="../free_edges.htm"><b>outlined</b></a> <br><a href="../pattern_mapping.htm"><b>outside</b></a> <br><a name="bms_OW"></a><a name="subkey_OW"></a><a href="../files/about_meshes.htm"><b>own</b></a> <br>\r
-<br><br>\r
-<nobr><a name="bm_P"></a><a name="subkey_PA"></a>page <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>pairs</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>panning</b></a> <br><nobr>parameter <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>parameters <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../clipping.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/vtk_3d_viewer.htm"><b>7</b></a> </nobr><br><nobr>parametric <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/constructing_submeshes.htm"><b>parent</b></a> <br><nobr>part <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>particular</b></a> <br><a href="../files/about_meshes.htm"><b>particularity</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>parts</b></a> <br><a href="../modifying_meshes.htm"><b>pass</b></a> <br><nobr>path <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>pattern <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>pattern_name</b></a> <br><a href="../pattern_mapping.htm"><b>patterns</b></a> <br><a name="bms_PE"></a><a name="subkey_PE"></a><a href="../aspect_ratio_3d.htm"><b>pentahedron</b></a> <br><a href="../aspect_ratio_3d.htm"><b>pentahedrons</b></a> <br><nobr>perform <a href="../files/symmetry.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> </nobr><br><a href="../mesh.htm"><b>performing</b></a> <br><a href="../files/aspect_ratio.htm"><b>perimeter</b></a> <br><nobr><a name="bms_PI"></a><a name="subkey_PI"></a>pi <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>picture <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../merge_elements.htm"><b>4</b></a> <a href="../free_edges.htm"><b>5</b></a> <a href="../free_borders.htm"><b>6</b></a> </nobr><br><nobr><a name="bms_PL"></a><a name="subkey_PL"></a>place <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>placed</b></a> <br><a href="../files/warp.htm"><b>planar</b></a> <br><nobr>plane <a href="../clipping.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> </nobr><br><a href="../clipping.htm"><b>planes</b></a> <br><nobr>platform <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> </nobr><br><a href="../deleting_groups.htm"><b>please</b></a> <br><a href="../files/arithmetic_1d.htm"><b>plot</b></a> <br><nobr>plus <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PN"></a><a name="subkey_PN"></a>png <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PO"></a><a name="subkey_PO"></a>point <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>point111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point112 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point122 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point211 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point212 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point221 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point222 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>points <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/translation.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> </nobr><br><nobr>pointstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>polygon <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>polygonal</b></a> <br><nobr>polygons <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>polyhedral <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>polyhedron <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>polyhedrons <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>pop <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> </nobr><br><nobr>position <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>positions</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>possess</b></a> <br><a href="../selection_filter_library.htm"><b>possibility</b></a> <br><nobr>possible <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>post</b></a> <br><a href="../selection_filter_library.htm"><b>powerful</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf9.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf7.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<nobr><a name="bms_NU"></a><a name="subkey_NU"></a>number <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../defining_hypotheses_tui.htm"><b>4</b></a> <a href="../constructing_meshes.htm"><b>5</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>6</b></a> <a href="../files/creating_groups.htm"><b>7</b></a> <a href="../files/arithmetic_1d.htm"><b>8</b></a> <a href="../files/smoothing.htm"><b>9</b></a> <a href="../files/sewing_meshes.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../pattern_mapping.htm"><b>12</b></a> <a href="../mesh.htm"><b>13</b></a> <a href="../files/vtk_3d_viewer.htm"><b>14</b></a> <a href="../files/viewing_mesh_info.htm"><b>15</b></a> <a href="../viewing_meshes.htm"><b>16</b></a> <a href="../transforming_meshes.htm"><b>17</b></a> <a href="../revolution.htm"><b>18</b></a> </nobr><br><nobr>numbering <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> </nobr><br><nobr>numberofsegments <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../constructing_meshes.htm"><b>numberofsegments_10</b></a> <br><a href="../defining_hypotheses_tui.htm"><b>numberofsegments_7</b></a> <br><nobr>numbers <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>3</b></a> </nobr><br><a href="../files/cutting_quadrangles.htm"><b>numeric</b></a> <br><a href="../files/about_hypotheses.htm"><b>numerical</b></a> <br>
+<br><br>
+<a name="bm_O"></a><a name="subkey_OB"></a><a href="../files/sewing_meshes.htm"><b>obey</b></a> <br><nobr>object <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../about_viewing_meshes.htm"><b>6</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>7</b></a> <a href="../files/editing_groups.htm"><b>8</b></a> <a href="../files/creating_groups.htm"><b>9</b></a> <a href="../files/constructing_submeshes.htm"><b>10</b></a> <a href="../files/constructing_meshes.htm"><b>11</b></a> <a href="../files/constructing_groups_of_specific_elements.htm"><b>12</b></a> <a href="../files/arithmetic_1d.htm"><b>13</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>14</b></a> <a href="../files/translation.htm"><b>15</b></a> <a href="../files/rotation.htm"><b>16</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>17</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>18</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>19</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>20</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>21</b></a> <a href="../presentation.htm"><b>22</b></a> <a href="../pattern_mapping.htm"><b>23</b></a> <a href="../modifying_meshes.htm"><b>24</b></a> <a href="../files/vtk_3d_viewer.htm"><b>25</b></a> <a href="../files/viewing_mesh_info.htm"><b>26</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>27</b></a> <a href="../volume.htm"><b>28</b></a> </nobr><br><nobr>objects <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/constructing_meshes.htm"><b>6</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>7</b></a> <a href="../presentation.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> </nobr><br><nobr>objecttoid <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> </nobr><br><a href="../files/creating_groups.htm"><b>objet</b></a> <br><a href="../extrusion_along_a_path.htm"><b>oblique</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>obtain</b></a> <br><a name="bms_OF"></a><a name="subkey_OF"></a><a href="../files/vtk_3d_viewer.htm"><b>offset</b></a> <br><nobr><a name="bms_OK"></a><a name="subkey_OK"></a>ok <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>5</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>6</b></a> <a href="../files/editing_groups.htm"><b>7</b></a> <a href="../files/displacing_nodes.htm"><b>8</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>9</b></a> <a href="../files/cutting_quadrangles.htm"><b>10</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>11</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>12</b></a> <a href="../files/smoothing.htm"><b>13</b></a> <a href="../files/sewing_meshes.htm"><b>14</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>15</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>16</b></a> <a href="../modifying_meshes.htm"><b>17</b></a> <a href="../files/using_operations_on_groups.htm"><b>18</b></a> <a href="../files/uniting_two_triangles.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../revolution.htm"><b>21</b></a> </nobr><br><a name="bms_ON"></a><a name="subkey_ON"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>once</b></a> <br><nobr>one <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../deleting_groups.htm"><b>3</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>4</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>5</b></a> <a href="../files/cutting_quadrangles.htm"><b>6</b></a> <a href="../files/constructing_submeshes.htm"><b>7</b></a> <a href="../files/constructing_meshes.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/translation.htm"><b>10</b></a> <a href="../files/symmetry.htm"><b>11</b></a> <a href="../files/smoothing.htm"><b>12</b></a> <a href="../files/sewing_meshes.htm"><b>13</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>14</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>15</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>16</b></a> <a href="../quality_controls.htm"><b>17</b></a> <a href="../pattern_mapping.htm"><b>18</b></a> <a href="../merge_elements.htm"><b>19</b></a> <a href="../free_edges.htm"><b>20</b></a> <a href="../free_borders.htm"><b>21</b></a> <a href="../files/using_operations_on_groups.htm"><b>22</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>23</b></a> <a href="../viewing_meshes.htm"><b>24</b></a> <a href="../selection_filter_library.htm"><b>25</b></a> <a href="../revolution.htm"><b>26</b></a> </nobr><br><nobr>ones <a href="../extrusion.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/sewing_meshes.htm"><b>3</b></a> <a href="../revolution.htm"><b>4</b></a> </nobr><br><nobr>onto <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a name="bms_OO"></a><a name="subkey_OO"></a><a href="../files/aspect_ratio.htm"><b>oo</b></a> <br><a name="bms_OP"></a><a name="subkey_OP"></a><a href="../transparency.htm"><b>opaque</b></a> <br><a href="../files/about_hypotheses.htm"><b>operate</b></a> <br><nobr>operation <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../extrusion.htm"><b>3</b></a> <a href="../deleting_groups.htm"><b>4</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>5</b></a> <a href="../borders_at_multi-connection.htm"><b>6</b></a> <a href="../aspect_ratio_3d.htm"><b>7</b></a> <a href="../files/length_of_edges.htm"><b>8</b></a> <a href="../files/importing_and_exporting_meshes.htm"><b>9</b></a> <a href="../files/editing_groups.htm"><b>10</b></a> <a href="../files/displacing_nodes.htm"><b>11</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>12</b></a> <a href="../files/cutting_quadrangles.htm"><b>13</b></a> <a href="../files/creating_groups.htm"><b>14</b></a> <a href="../files/constructing_submeshes.htm"><b>15</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>16</b></a> <a href="../files/aspect_ratio.htm"><b>17</b></a> <a href="../files/arithmetic_1d.htm"><b>18</b></a> <a href="../files/area_of_elements.htm"><b>19</b></a> <a href="../files/translation.htm"><b>20</b></a> <a href="../files/taper.htm"><b>21</b></a> <a href="../files/symmetry.htm"><b>22</b></a> <a href="../files/smoothing.htm"><b>23</b></a> <a href="../files/skew.htm"><b>24</b></a> <a href="../files/sewing_meshes.htm"><b>25</b></a> <a href="../files/rotation.htm"><b>26</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>27</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>28</b></a> <a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>29</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>30</b></a> <a href="../files/minimum_angle.htm"><b>31</b></a> <a href="../files/merging_nodes.htm"><b>32</b></a> <a href="../files/max._element_volume_hypothsis.htm"><b>33</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>34</b></a> <a href="../pattern_mapping.htm"><b>35</b></a> <a href="../merge_elements.htm"><b>36</b></a> <a href="../length.htm"><b>37</b></a> <a href="../free_edges.htm"><b>38</b></a> <a href="../free_borders.htm"><b>39</b></a> <a href="../files/warp.htm"><b>40</b></a> <a href="../files/using_operations_on_groups.htm"><b>41</b></a> <a href="../files/uniting_two_triangles.htm"><b>42</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>43</b></a> <a href="../volume.htm"><b>44</b></a> <a href="../revolution.htm"><b>45</b></a> </nobr><br><nobr>operations <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../mesh.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>opposite <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../clipping.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/skew.htm"><b>6</b></a> <a href="../files/sewing_meshes.htm"><b>7</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>8</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>option</b></a> <br><nobr>optional <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>options <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> <a href="../files/translation.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_OR"></a><a name="subkey_OR"></a>order <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> </nobr><br><nobr>ordinary <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>orientate</b></a> <br><nobr>orientation <a href="../clipping.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>5</b></a> </nobr><br><a href="../files/warp.htm"><b>origin</b></a> <br><a name="bms_OT"></a><a name="subkey_OT"></a><a href="../files/uniting_a_set_of_triangles.htm"><b>others</b></a> <br><nobr>otherwise <a href="../files/constructing_meshes.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> </nobr><br><a name="bms_OU"></a><a name="subkey_OU"></a><a href="../files/constructing_meshes.htm"><b>our</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>out</b></a> <br><a href="../free_edges.htm"><b>outlined</b></a> <br><a href="../pattern_mapping.htm"><b>outside</b></a> <br><a name="bms_OW"></a><a name="subkey_OW"></a><a href="../files/about_meshes.htm"><b>own</b></a> <br>
+<br><br>
+<nobr><a name="bm_P"></a><a name="subkey_PA"></a>page <a href="../files/editing_groups.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>pairs</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>panning</b></a> <br><nobr>parameter <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/sewing_meshes.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>parameters <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../clipping.htm"><b>3</b></a> <a href="../about_viewing_meshes.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/vtk_3d_viewer.htm"><b>7</b></a> </nobr><br><nobr>parametric <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/constructing_submeshes.htm"><b>parent</b></a> <br><nobr>part <a href="../files/smoothing.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>particular</b></a> <br><a href="../files/about_meshes.htm"><b>particularity</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>parts</b></a> <br><a href="../modifying_meshes.htm"><b>pass</b></a> <br><nobr>path <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> <a href="../selection_filter_library.htm"><b>4</b></a> </nobr><br><nobr>pattern <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>pattern_name</b></a> <br><a href="../pattern_mapping.htm"><b>patterns</b></a> <br><a name="bms_PE"></a><a name="subkey_PE"></a><a href="../aspect_ratio_3d.htm"><b>pentahedron</b></a> <br><a href="../aspect_ratio_3d.htm"><b>pentahedrons</b></a> <br><nobr>perform <a href="../files/symmetry.htm"><b>1</b></a> <a href="../files/sewing_meshes.htm"><b>2</b></a> <a href="../files/renumbering_nodes_and_elements.htm"><b>3</b></a> <a href="../files/using_operations_on_groups.htm"><b>4</b></a> </nobr><br><a href="../mesh.htm"><b>performing</b></a> <br><a href="../files/aspect_ratio.htm"><b>perimeter</b></a> <br><nobr><a name="bms_PI"></a><a name="subkey_PI"></a>pi <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>picture <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../borders_at_multi-connection.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../merge_elements.htm"><b>4</b></a> <a href="../free_edges.htm"><b>5</b></a> <a href="../free_borders.htm"><b>6</b></a> </nobr><br><nobr><a name="bms_PL"></a><a name="subkey_PL"></a>place <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/sewing_meshes.htm"><b>placed</b></a> <br><a href="../files/warp.htm"><b>planar</b></a> <br><nobr>plane <a href="../clipping.htm"><b>1</b></a> <a href="../files/symmetry.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../files/warp.htm"><b>4</b></a> </nobr><br><a href="../clipping.htm"><b>planes</b></a> <br><nobr>platform <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/running_smesh_module.htm"><b>2</b></a> </nobr><br><a href="../deleting_groups.htm"><b>please</b></a> <br><a href="../files/arithmetic_1d.htm"><b>plot</b></a> <br><nobr>plus <a href="../extrusion.htm"><b>1</b></a> <a href="../revolution.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PN"></a><a name="subkey_PN"></a>png <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PO"></a><a name="subkey_PO"></a>point <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/arithmetic_1d.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> <a href="../files/rotation.htm"><b>5</b></a> <a href="../pattern_mapping.htm"><b>6</b></a> <a href="../modifying_meshes.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> <a href="../transforming_meshes.htm"><b>10</b></a> <a href="../revolution.htm"><b>11</b></a> </nobr><br><nobr>point111 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point112 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point121 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point122 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point211 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point212 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point221 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>point222 <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> </nobr><br><nobr>points <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>3</b></a> <a href="../files/arithmetic_1d.htm"><b>4</b></a> <a href="../files/translation.htm"><b>5</b></a> <a href="../files/sewing_meshes.htm"><b>6</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>7</b></a> <a href="../pattern_mapping.htm"><b>8</b></a> <a href="../files/vtk_3d_viewer.htm"><b>9</b></a> </nobr><br><nobr>pointstruct <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>polygon <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>polygonal</b></a> <br><nobr>polygons <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../viewing_meshes.htm"><b>3</b></a> </nobr><br><nobr>polyhedral <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>polyhedron <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>polyhedrons <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><nobr>pop <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/displaying_nodes_numbers.htm"><b>2</b></a> </nobr><br><nobr>position <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../files/vtk_3d_viewer.htm"><b>3</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>positions</b></a> <br><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>possess</b></a> <br><a href="../selection_filter_library.htm"><b>possibility</b></a> <br><nobr>possible <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/creating_groups.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>post</b></a> <br><a href="../selection_filter_library.htm"><b>powerful</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf9.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 9438b91e3f144a8f6c824991ab25a9cc6dcc6d29..8b8cc4f2200878d3b4901b641ab9d4944ec451ad 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words List</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsbody" align="center"><a href="whlstf8.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
-<p class="ftsbody" >\r
-<a name="bms_PR"></a><a name="subkey_PR"></a><a href="../files/adding_nodes_and_elements.htm"><b>precision</b></a> <br><nobr>preference <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../presentation.htm"><b>preferences</b></a> <br><a href="../selection_filter_library.htm"><b>prefixed</b></a> <br><a href="../files/creating_groups.htm"><b>preprocessing</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>present</b></a> <br><nobr>presentation <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>presentations</b></a> <br><a href="../files/about_meshes.htm"><b>presented</b></a> <br><a href="../about_viewing_meshes.htm"><b>presents</b></a> <br><a href="../pattern_mapping.htm"><b>preserved</b></a> <br><a href="../files/about_hypotheses.htm"><b>preset</b></a> <br><nobr>pressed <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>pressing</b></a> <br><nobr>preview <a href="../clipping.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>previous <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>previously <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>principle</b></a> <br><nobr>print <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>prisms</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>pro</b></a> <br><nobr>probleme <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/smoothing.htm"><b>procedure</b></a> <br><nobr>proceed <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>proceeds</b></a> <br><a href="../files/smoothing.htm"><b>process</b></a> <br><a href="../files/smoothing.htm"><b>produce</b></a> <br><a href="../files/about_meshes.htm"><b>produced</b></a> <br><nobr>produces <a href="../extrusion.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../files/warp.htm"><b>product</b></a> <br><a href="../files/constructing_meshes.htm"><b>program</b></a> <br><a href="../files/arithmetic_1d.htm"><b>progression</b></a> <br><a href="../pattern_mapping.htm"><b>projected</b></a> <br><a href="../pattern_mapping.htm"><b>projecting</b></a> <br><nobr>projection <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>prompts</b></a> <br><nobr>propagate <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>propagates <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>propagation <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>properties</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>provide</b></a> <br><nobr>provides <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> </nobr><br><a name="bms_PS"></a><a name="subkey_PS"></a><a href="../files/diagonal_iversion_of_elements.htm"><b>pseudo</b></a> <br><a name="bms_PU"></a><a name="subkey_PU"></a><a href="../files/smoothing.htm"><b>pulls</b></a> <br><nobr><a name="bms_PX"></a><a name="subkey_PX"></a>px <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>px1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PY"></a><a name="subkey_PY"></a>py <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>py1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshing_algorithms.htm"><b>pyramidal</b></a> <br><a href="../viewing_meshes.htm"><b>pyramids</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>python</b></a> <br><nobr><a name="bms_PZ"></a><a name="subkey_PZ"></a>pz <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>pz1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br>\r
-<br><br>\r
-<a name="bm_Q"></a><a name="subkey_QI"></a><a href="../aspect_ratio_3d.htm"><b>qi</b></a> <br><nobr><a name="bms_QK"></a><a name="subkey_QK"></a>qk <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_QU"></a><a name="subkey_QU"></a>quad <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>quad2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>quadrangle <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../mesh.htm"><b>13</b></a> <a href="../transforming_meshes.htm"><b>14</b></a> </nobr><br><nobr>quadrangle_2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>quadrangles <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/skew.htm"><b>7</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>8</b></a> <a href="../modifying_meshes.htm"><b>9</b></a> <a href="../viewing_meshes.htm"><b>10</b></a> <a href="../transforming_meshes.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>quadrangular <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><nobr>quadratic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>quadtotri</b></a> <br><nobr>quality <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/length_of_edges.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/area_of_elements.htm"><b>10</b></a> <a href="../files/taper.htm"><b>11</b></a> <a href="../files/skew.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../quality_controls.htm"><b>14</b></a> <a href="../mesh.htm"><b>15</b></a> <a href="../length.htm"><b>16</b></a> <a href="../free_edges.htm"><b>17</b></a> <a href="../free_borders.htm"><b>18</b></a> <a href="../files/warp.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../volume.htm"><b>21</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>quantity</b></a> <br>\r
-<br><br>\r
-<a name="bm_R"></a><a name="subkey_R{"></a><a href="../modifying_meshes.htm"><b>r1</b></a> <br><nobr><a name="bms_RA"></a><a name="subkey_RA"></a>radio <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><nobr>radius <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>range <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>ranges</b></a> <br><nobr>ranging <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>ratio <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/taper.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> </nobr><br><a name="bms_RE"></a><a name="subkey_RE"></a><a href="../files/constructing_meshes.htm"><b>ready</b></a> <br><a href="../about_viewing_meshes.htm"><b>recent</b></a> <br><a href="../free_edges.htm"><b>red</b></a> <br><nobr>redefine <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>reduce</b></a> <br><a href="../files/smoothing.htm"><b>reevaluated</b></a> <br><nobr>reference <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> </nobr><br><nobr>references <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>refers</b></a> <br><a href="../files/about_hypotheses.htm"><b>refined</b></a> <br><nobr>reflects <a href="../files/skew.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../volume.htm"><b>3</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>refreshes</b></a> <br><a href="../files/aspect_ratio.htm"><b>regular</b></a> <br><nobr>regular_1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><nobr>regular1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>related</b></a> <br><a href="../files/about_meshes.htm"><b>relations</b></a> <br><a href="../files/about_meshes.htm"><b>relationship</b></a> <br><a href="../files/about_meshes.htm"><b>relationships</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>remote</b></a> <br><a href="../mesh.htm"><b>removal</b></a> <br><nobr>remove <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../grouping_elements.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../viewing_meshes.htm"><b>11</b></a> <a href="../selection_filter_library.htm"><b>12</b></a> </nobr><br><nobr>removeelements <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>removehypothesis <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>removenodes</b></a> <br><a href="../deleting_groups.htm"><b>removes</b></a> <br><nobr>removing <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/renumbering_nodes_and_elements.htm"><b>renumber</b></a> <br><nobr>renumbering <a href="../files/renumbering_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>renumbernodes</b></a> <br><a href="../modifying_meshes.htm"><b>reorient</b></a> <br><a href="../files/changing_orientation_of_elements.htm"><b>reoriented</b></a> <br><a href="../files/sewing_meshes.htm"><b>replaced</b></a> <br><nobr>represent <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>representation</b></a> <br><a href="../files/about_meshes.htm"><b>representations</b></a> <br><nobr>represented <a href="../presentation.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>representing</b></a> <br><nobr>represents <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>required <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>reset</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>resizes</b></a> <br><a href="../extrusion_along_a_path.htm"><b>respect</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>respective</b></a> <br><nobr>rest <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>restores</b></a> <br><a href="../files/about_meshes.htm"><b>restricted</b></a> <br><nobr>result <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../files/using_operations_on_groups.htm"><b>5</b></a> </nobr><br><nobr>resulting <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>results <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>ret <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>retrieve</b></a> <br><a href="../modifying_meshes.htm"><b>return</b></a> <br><a href="../length.htm"><b>returns</b></a> <br><a href="../files/aspect_ratio.htm"><b>reveals</b></a> <br><nobr>reverse <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>reverses</b></a> <br><a href="../files/changing_orientation_of_elements.htm"><b>reverting</b></a> <br><nobr>revolution <a href="../extrusion.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../revolution.htm"><b>revolved</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf10.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words List</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsbody" align="center"><a href="whlstf8.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>
+<p class="ftsbody" >
+<a name="bms_PR"></a><a name="subkey_PR"></a><a href="../files/adding_nodes_and_elements.htm"><b>precision</b></a> <br><nobr>preference <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>2</b></a> <a href="../mesh.htm"><b>3</b></a> </nobr><br><a href="../presentation.htm"><b>preferences</b></a> <br><a href="../selection_filter_library.htm"><b>prefixed</b></a> <br><a href="../files/creating_groups.htm"><b>preprocessing</b></a> <br><a href="../files/using_operations_on_groups.htm"><b>present</b></a> <br><nobr>presentation <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../about_viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>presentations</b></a> <br><a href="../files/about_meshes.htm"><b>presented</b></a> <br><a href="../about_viewing_meshes.htm"><b>presents</b></a> <br><a href="../pattern_mapping.htm"><b>preserved</b></a> <br><a href="../files/about_hypotheses.htm"><b>preset</b></a> <br><nobr>pressed <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>pressing</b></a> <br><nobr>preview <a href="../clipping.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>3</b></a> <a href="../pattern_mapping.htm"><b>4</b></a> <a href="../selection_filter_library.htm"><b>5</b></a> </nobr><br><nobr>previous <a href="../files/arithmetic_1d.htm"><b>1</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>2</b></a> </nobr><br><nobr>previously <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/constructing_submeshes.htm"><b>2</b></a> <a href="../pattern_mapping.htm"><b>3</b></a> <a href="../mesh.htm"><b>4</b></a> </nobr><br><a href="../extrusion_along_a_path.htm"><b>principle</b></a> <br><nobr>print <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../modifying_meshes.htm"><b>4</b></a> <a href="../grouping_elements.htm"><b>5</b></a> <a href="../viewing_meshes.htm"><b>6</b></a> <a href="../transforming_meshes.htm"><b>7</b></a> </nobr><br><a href="../viewing_meshes.htm"><b>prisms</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>pro</b></a> <br><nobr>probleme <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/smoothing.htm"><b>procedure</b></a> <br><nobr>proceed <a href="../deleting_groups.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/reassigning_hypotheses_and_algorithms.htm"><b>proceeds</b></a> <br><a href="../files/smoothing.htm"><b>process</b></a> <br><a href="../files/smoothing.htm"><b>produce</b></a> <br><a href="../files/about_meshes.htm"><b>produced</b></a> <br><nobr>produces <a href="../extrusion.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../files/warp.htm"><b>product</b></a> <br><a href="../files/constructing_meshes.htm"><b>program</b></a> <br><a href="../files/arithmetic_1d.htm"><b>progression</b></a> <br><a href="../pattern_mapping.htm"><b>projected</b></a> <br><a href="../pattern_mapping.htm"><b>projecting</b></a> <br><nobr>projection <a href="../pattern_mapping.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>prompts</b></a> <br><nobr>propagate <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr>propagates <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>propagation <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>properties</b></a> <br><a href="../files/adding_nodes_and_elements.htm"><b>provide</b></a> <br><nobr>provides <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/cutting_quadrangles.htm"><b>2</b></a> </nobr><br><a name="bms_PS"></a><a name="subkey_PS"></a><a href="../files/diagonal_iversion_of_elements.htm"><b>pseudo</b></a> <br><a name="bms_PU"></a><a name="subkey_PU"></a><a href="../files/smoothing.htm"><b>pulls</b></a> <br><nobr><a name="bms_PX"></a><a name="subkey_PX"></a>px <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>px1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_PY"></a><a name="subkey_PY"></a>py <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>py1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshing_algorithms.htm"><b>pyramidal</b></a> <br><a href="../viewing_meshes.htm"><b>pyramids</b></a> <br><a href="../files/viewing_mesh_info.htm"><b>python</b></a> <br><nobr><a name="bms_PZ"></a><a name="subkey_PZ"></a>pz <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../transforming_meshes.htm"><b>3</b></a> </nobr><br><nobr>pz1 <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../transforming_meshes.htm"><b>2</b></a> </nobr><br>
+<br><br>
+<a name="bm_Q"></a><a name="subkey_QI"></a><a href="../aspect_ratio_3d.htm"><b>qi</b></a> <br><nobr><a name="bms_QK"></a><a name="subkey_QK"></a>qk <a href="../aspect_ratio_3d.htm"><b>1</b></a> <a href="../files/aspect_ratio.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_QU"></a><a name="subkey_QU"></a>quad <a href="../modifying_meshes.htm"><b>1</b></a> <a href="../files/warp.htm"><b>2</b></a> </nobr><br><nobr>quad2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>quadrangle <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../files/about_hypotheses.htm"><b>2</b></a> <a href="../defining_hypotheses_tui.htm"><b>3</b></a> <a href="../constructing_meshes.htm"><b>4</b></a> <a href="../aspect_ratio_3d.htm"><b>5</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>9</b></a> <a href="../files/minimum_angle.htm"><b>10</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>11</b></a> <a href="../modifying_meshes.htm"><b>12</b></a> <a href="../mesh.htm"><b>13</b></a> <a href="../transforming_meshes.htm"><b>14</b></a> </nobr><br><nobr>quadrangle_2d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../grouping_elements.htm"><b>2</b></a> </nobr><br><nobr>quadrangles <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../extrusion.htm"><b>2</b></a> <a href="../files/length_of_edges.htm"><b>3</b></a> <a href="../files/cutting_quadrangles.htm"><b>4</b></a> <a href="../files/area_of_elements.htm"><b>5</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>6</b></a> <a href="../files/skew.htm"><b>7</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>8</b></a> <a href="../modifying_meshes.htm"><b>9</b></a> <a href="../viewing_meshes.htm"><b>10</b></a> <a href="../transforming_meshes.htm"><b>11</b></a> <a href="../revolution.htm"><b>12</b></a> </nobr><br><nobr>quadrangular <a href="../files/about_meshing_algorithms.htm"><b>1</b></a> <a href="../defining_hypotheses_tui.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>4</b></a> <a href="../files/max._element_area_hypothesis.htm"><b>5</b></a> <a href="../transforming_meshes.htm"><b>6</b></a> </nobr><br><nobr>quadratic <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../adding_quadratic_nodes_and_elements.htm"><b>2</b></a> <a href="../files/non_conform_mesh_allowed_hypothesis.htm"><b>3</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>quadtotri</b></a> <br><nobr>quality <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../borders_at_multiconnection_2d.htm"><b>2</b></a> <a href="../borders_at_multi-connection.htm"><b>3</b></a> <a href="../aspect_ratio_3d.htm"><b>4</b></a> <a href="../about_viewing_meshes.htm"><b>5</b></a> <a href="../files/length_of_edges.htm"><b>6</b></a> <a href="../files/cutting_quadrangles.htm"><b>7</b></a> <a href="../files/aspect_ratio.htm"><b>8</b></a> <a href="../files/arithmetic_1d.htm"><b>9</b></a> <a href="../files/area_of_elements.htm"><b>10</b></a> <a href="../files/taper.htm"><b>11</b></a> <a href="../files/skew.htm"><b>12</b></a> <a href="../files/minimum_angle.htm"><b>13</b></a> <a href="../quality_controls.htm"><b>14</b></a> <a href="../mesh.htm"><b>15</b></a> <a href="../length.htm"><b>16</b></a> <a href="../free_edges.htm"><b>17</b></a> <a href="../free_borders.htm"><b>18</b></a> <a href="../files/warp.htm"><b>19</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>20</b></a> <a href="../volume.htm"><b>21</b></a> </nobr><br><a href="../files/about_hypotheses.htm"><b>quantity</b></a> <br>
+<br><br>
+<a name="bm_R"></a><a name="subkey_R{"></a><a href="../modifying_meshes.htm"><b>r1</b></a> <br><nobr><a name="bms_RA"></a><a name="subkey_RA"></a>radio <a href="../files/cutting_quadrangles.htm"><b>1</b></a> <a href="../files/creating_groups.htm"><b>2</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>3</b></a> <a href="../files/symmetry.htm"><b>4</b></a> <a href="../files/sewing_meshes.htm"><b>5</b></a> <a href="../files/rotation.htm"><b>6</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>7</b></a> </nobr><br><nobr>radius <a href="../files/aspect_ratio.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>range <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/arithmetic_1d.htm"><b>ranges</b></a> <br><nobr>ranging <a href="../files/creating_groups.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><nobr>ratio <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/aspect_ratio.htm"><b>3</b></a> <a href="../files/taper.htm"><b>4</b></a> <a href="../files/smoothing.htm"><b>5</b></a> <a href="../quality_controls.htm"><b>6</b></a> <a href="../mesh.htm"><b>7</b></a> <a href="../files/warp.htm"><b>8</b></a> </nobr><br><a name="bms_RE"></a><a name="subkey_RE"></a><a href="../files/constructing_meshes.htm"><b>ready</b></a> <br><a href="../about_viewing_meshes.htm"><b>recent</b></a> <br><a href="../free_edges.htm"><b>red</b></a> <br><nobr>redefine <a href="../about_viewing_meshes.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/smoothing.htm"><b>reduce</b></a> <br><a href="../files/smoothing.htm"><b>reevaluated</b></a> <br><nobr>reference <a href="../files/about_quality_controls.htm"><b>1</b></a> <a href="../files/about_meshes.htm"><b>2</b></a> <a href="../files/constructing_submeshes.htm"><b>3</b></a> <a href="../files/constructing_meshes.htm"><b>4</b></a> </nobr><br><nobr>references <a href="../files/constructing_submeshes.htm"><b>1</b></a> <a href="../files/constructing_meshes.htm"><b>2</b></a> </nobr><br><a href="../pattern_mapping.htm"><b>refers</b></a> <br><a href="../files/about_hypotheses.htm"><b>refined</b></a> <br><nobr>reflects <a href="../files/skew.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> <a href="../volume.htm"><b>3</b></a> </nobr><br><a href="../about_viewing_meshes.htm"><b>refreshes</b></a> <br><a href="../files/aspect_ratio.htm"><b>regular</b></a> <br><nobr>regular_1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../viewing_meshes.htm"><b>5</b></a> </nobr><br><nobr>regular1d <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/running_smesh_module.htm"><b>related</b></a> <br><a href="../files/about_meshes.htm"><b>relations</b></a> <br><a href="../files/about_meshes.htm"><b>relationship</b></a> <br><a href="../files/about_meshes.htm"><b>relationships</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>remote</b></a> <br><a href="../mesh.htm"><b>removal</b></a> <br><nobr>remove <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../deleting_groups.htm"><b>2</b></a> <a href="../constructing_meshes.htm"><b>3</b></a> <a href="../files/editing_groups.htm"><b>4</b></a> <a href="../files/cutting_quadrangles.htm"><b>5</b></a> <a href="../files/creating_groups.htm"><b>6</b></a> <a href="../files/changing_orientation_of_elements.htm"><b>7</b></a> <a href="../files/removing_nodes_and_elements.htm"><b>8</b></a> <a href="../grouping_elements.htm"><b>9</b></a> <a href="../files/uniting_a_set_of_triangles.htm"><b>10</b></a> <a href="../viewing_meshes.htm"><b>11</b></a> <a href="../selection_filter_library.htm"><b>12</b></a> </nobr><br><nobr>removeelements <a href="../quality_controls.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><nobr>removehypothesis <a href="../constructing_meshes.htm"><b>1</b></a> <a href="../viewing_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>removenodes</b></a> <br><a href="../deleting_groups.htm"><b>removes</b></a> <br><nobr>removing <a href="../files/removing_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/renumbering_nodes_and_elements.htm"><b>renumber</b></a> <br><nobr>renumbering <a href="../files/renumbering_nodes_and_elements.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> </nobr><br><a href="../modifying_meshes.htm"><b>renumbernodes</b></a> <br><a href="../modifying_meshes.htm"><b>reorient</b></a> <br><a href="../files/changing_orientation_of_elements.htm"><b>reoriented</b></a> <br><a href="../files/sewing_meshes.htm"><b>replaced</b></a> <br><nobr>represent <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../files/arithmetic_1d.htm"><b>2</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>representation</b></a> <br><a href="../files/about_meshes.htm"><b>representations</b></a> <br><nobr>represented <a href="../presentation.htm"><b>1</b></a> <a href="../files/vtk_3d_viewer.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>representing</b></a> <br><nobr>represents <a href="../files/about_meshes.htm"><b>1</b></a> <a href="../aspect_ratio_3d.htm"><b>2</b></a> <a href="../files/taper.htm"><b>3</b></a> <a href="../files/vtk_3d_viewer.htm"><b>4</b></a> </nobr><br><nobr>required <a href="../files/displacing_nodes.htm"><b>1</b></a> <a href="../files/diagonal_iversion_of_elements.htm"><b>2</b></a> <a href="../files/uniting_two_triangles.htm"><b>3</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>reset</b></a> <br><a href="../files/vtk_3d_viewer.htm"><b>resizes</b></a> <br><a href="../extrusion_along_a_path.htm"><b>respect</b></a> <br><a href="../adding_quadratic_nodes_and_elements.htm"><b>respective</b></a> <br><nobr>rest <a href="../files/sewing_meshes.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../files/vtk_3d_viewer.htm"><b>restores</b></a> <br><a href="../files/about_meshes.htm"><b>restricted</b></a> <br><nobr>result <a href="../extrusion_along_a_path.htm"><b>1</b></a> <a href="../files/adding_nodes_and_elements.htm"><b>2</b></a> <a href="../quality_controls.htm"><b>3</b></a> <a href="../grouping_elements.htm"><b>4</b></a> <a href="../files/using_operations_on_groups.htm"><b>5</b></a> </nobr><br><nobr>resulting <a href="../files/about_hypotheses.htm"><b>1</b></a> <a href="../extrusion_along_a_path.htm"><b>2</b></a> <a href="../files/using_operations_on_groups.htm"><b>3</b></a> </nobr><br><nobr>results <a href="../files/adding_nodes_and_elements.htm"><b>1</b></a> <a href="../files/smoothing.htm"><b>2</b></a> </nobr><br><nobr>ret <a href="../defining_hypotheses_tui.htm"><b>1</b></a> <a href="../constructing_meshes.htm"><b>2</b></a> <a href="../grouping_elements.htm"><b>3</b></a> </nobr><br><a href="../files/about_meshes.htm"><b>retrieve</b></a> <br><a href="../modifying_meshes.htm"><b>return</b></a> <br><a href="../length.htm"><b>returns</b></a> <br><a href="../files/aspect_ratio.htm"><b>reveals</b></a> <br><nobr>reverse <a href="../adding_quadratic_nodes_and_elements.htm"><b>1</b></a> <a href="../pattern_mapping.htm"><b>2</b></a> </nobr><br><a href="../adding_quadratic_nodes_and_elements.htm"><b>reverses</b></a> <br><a href="../files/changing_orientation_of_elements.htm"><b>reverting</b></a> <br><nobr>revolution <a href="../extrusion.htm"><b>1</b></a> <a href="../modifying_meshes.htm"><b>2</b></a> <a href="../revolution.htm"><b>3</b></a> </nobr><br><a href="../revolution.htm"><b>revolved</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf10.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>
+
+</body>
+
+</html>
+
index 6dae1cef86d62b8687d950051a6069ac3b3009f5..db38e612394ba7481a5721cb0ffa6daddbe55e07 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_{"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_{" target="ftslist" title="search letter {D"><b>{D</b></a> <a href="whlstf0.htm#bms_{E" target="ftslist" title="search letter {E"><b>{E</b></a> <a href="whlstf0.htm#bms_{D" target="ftslist" title="search letter {D"><b>{D</b></a> <a href="whlstf0.htm#bms_{E" target="ftslist" title="search letter {E"><b>{E</b></a> <a href="whlstf0.htm#bms_{R" target="ftslist" title="search letter {R"><b>{R</b></a> <a href="whlstf0.htm#bms_{X" target="ftslist" title="search letter {X"><b>{X</b></a> <a href="whlstf0.htm#bms_{T" target="ftslist" title="search letter {T"><b>{T</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_{"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_{" target="ftslist" title="search letter {D"><b>{D</b></a> <a href="whlstf0.htm#bms_{E" target="ftslist" title="search letter {E"><b>{E</b></a> <a href="whlstf0.htm#bms_{D" target="ftslist" title="search letter {D"><b>{D</b></a> <a href="whlstf0.htm#bms_{E" target="ftslist" title="search letter {E"><b>{E</b></a> <a href="whlstf0.htm#bms_{R" target="ftslist" title="search letter {R"><b>{R</b></a> <a href="whlstf0.htm#bms_{X" target="ftslist" title="search letter {X"><b>{X</b></a> <a href="whlstf0.htm#bms_{T" target="ftslist" title="search letter {T"><b>{T</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 77608c1cc5cce9a6df8142b4b0836120d1538930..c2a4482fcc9b6de7b6d122d99b06694eccee20ef 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_A"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_A" target="ftslist" title="search letter A "><b>A </b></a> <a href="whlstf0.htm#bms_AA" target="ftslist" title="search letter AA"><b>AA</b></a> <a href="whlstf0.htm#bms_AB" target="ftslist" title="search letter AB"><b>AB</b></a> <a href="whlstf0.htm#bms_AC" target="ftslist" title="search letter AC"><b>AC</b></a> <a href="whlstf0.htm#bms_AD" target="ftslist" title="search letter AD"><b>AD</b></a> <a href="whlstf0.htm#bms_AF" target="ftslist" title="search letter AF"><b>AF</b></a> <a href="whlstf0.htm#bms_AG" target="ftslist" title="search letter AG"><b>AG</b></a> <a href="whlstf0.htm#bms_AI" target="ftslist" title="search letter AI"><b>AI</b></a> <a href="whlstf0.htm#bms_AL" target="ftslist" title="search letter AL"><b>AL</b></a> <a href="whlstf0.htm#bms_AM" target="ftslist" title="search letter AM"><b>AM</b></a> <a href="whlstf0.htm#bms_AN" target="ftslist" title="search letter AN"><b>AN</b></a> <a href="whlstf0.htm#bms_AP" target="ftslist" title="search letter AP"><b>AP</b></a> <a href="whlstf1.htm#bms_AR" target="ftslist" title="search letter AR"><b>AR</b></a> <a href="whlstf1.htm#bms_AS" target="ftslist" title="search letter AS"><b>AS</b></a> <a href="whlstf1.htm#bms_AT" target="ftslist" title="search letter AT"><b>AT</b></a> <a href="whlstf1.htm#bms_AU" target="ftslist" title="search letter AU"><b>AU</b></a> <a href="whlstf1.htm#bms_AV" target="ftslist" title="search letter AV"><b>AV</b></a> <a href="whlstf1.htm#bms_AX" target="ftslist" title="search letter AX"><b>AX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_A"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf0.htm#bm_A" target="ftslist" title="search letter A "><b>A </b></a> <a href="whlstf0.htm#bms_AA" target="ftslist" title="search letter AA"><b>AA</b></a> <a href="whlstf0.htm#bms_AB" target="ftslist" title="search letter AB"><b>AB</b></a> <a href="whlstf0.htm#bms_AC" target="ftslist" title="search letter AC"><b>AC</b></a> <a href="whlstf0.htm#bms_AD" target="ftslist" title="search letter AD"><b>AD</b></a> <a href="whlstf0.htm#bms_AF" target="ftslist" title="search letter AF"><b>AF</b></a> <a href="whlstf0.htm#bms_AG" target="ftslist" title="search letter AG"><b>AG</b></a> <a href="whlstf0.htm#bms_AI" target="ftslist" title="search letter AI"><b>AI</b></a> <a href="whlstf0.htm#bms_AL" target="ftslist" title="search letter AL"><b>AL</b></a> <a href="whlstf0.htm#bms_AM" target="ftslist" title="search letter AM"><b>AM</b></a> <a href="whlstf0.htm#bms_AN" target="ftslist" title="search letter AN"><b>AN</b></a> <a href="whlstf0.htm#bms_AP" target="ftslist" title="search letter AP"><b>AP</b></a> <a href="whlstf1.htm#bms_AR" target="ftslist" title="search letter AR"><b>AR</b></a> <a href="whlstf1.htm#bms_AS" target="ftslist" title="search letter AS"><b>AS</b></a> <a href="whlstf1.htm#bms_AT" target="ftslist" title="search letter AT"><b>AT</b></a> <a href="whlstf1.htm#bms_AU" target="ftslist" title="search letter AU"><b>AU</b></a> <a href="whlstf1.htm#bms_AV" target="ftslist" title="search letter AV"><b>AV</b></a> <a href="whlstf1.htm#bms_AX" target="ftslist" title="search letter AX"><b>AX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index f4a58180b1819c689c56944619b3abd722a2c491..c098d325e46e0fb1fb44fb4fee7f7dd00bff4ada 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_J"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_J" target="ftslist" title="search letter JO"><b>JO</b></a> <a href="whlstf6.htm#bms_JP" target="ftslist" title="search letter JP"><b>JP</b></a> <a href="whlstf6.htm#bms_JU" target="ftslist" title="search letter JU"><b>JU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_J"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_J" target="ftslist" title="search letter JO"><b>JO</b></a> <a href="whlstf6.htm#bms_JP" target="ftslist" title="search letter JP"><b>JP</b></a> <a href="whlstf6.htm#bms_JU" target="ftslist" title="search letter JU"><b>JU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index bfe73f642f87d2633add9de681e94b8598860a21..a4b61af403fa2eb7f841bad0641acd1f02373a4c 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_K"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_K" target="ftslist" title="search letter K "><b>K </b></a> <a href="whlstf6.htm#bms_KE" target="ftslist" title="search letter KE"><b>KE</b></a> <a href="whlstf6.htm#bms_KN" target="ftslist" title="search letter KN"><b>KN</b></a> <a href="whlstf6.htm#bms_KO" target="ftslist" title="search letter KO"><b>KO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_K"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_K" target="ftslist" title="search letter K "><b>K </b></a> <a href="whlstf6.htm#bms_KE" target="ftslist" title="search letter KE"><b>KE</b></a> <a href="whlstf6.htm#bms_KN" target="ftslist" title="search letter KN"><b>KN</b></a> <a href="whlstf6.htm#bms_KO" target="ftslist" title="search letter KO"><b>KO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 25e6f3155189e5882ef7a55ece9a8392c4629a7c..3030e6e2fefd94d7dde7861bb56a0b7a6702b467 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_L"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_L" target="ftslist" title="search letter L "><b>L </b></a> <a href="whlstf6.htm#bms_LA" target="ftslist" title="search letter LA"><b>LA</b></a> <a href="whlstf6.htm#bms_LC" target="ftslist" title="search letter LC"><b>LC</b></a> <a href="whlstf6.htm#bms_LE" target="ftslist" title="search letter LE"><b>LE</b></a> <a href="whlstf6.htm#bms_LI" target="ftslist" title="search letter LI"><b>LI</b></a> <a href="whlstf6.htm#bms_LK" target="ftslist" title="search letter LK"><b>LK</b></a> <a href="whlstf6.htm#bms_LL" target="ftslist" title="search letter LL"><b>LL</b></a> <a href="whlstf6.htm#bms_LO" target="ftslist" title="search letter LO"><b>LO</b></a> <a href="whlstf6.htm#bms_LY" target="ftslist" title="search letter LY"><b>LY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_L"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_L" target="ftslist" title="search letter L "><b>L </b></a> <a href="whlstf6.htm#bms_LA" target="ftslist" title="search letter LA"><b>LA</b></a> <a href="whlstf6.htm#bms_LC" target="ftslist" title="search letter LC"><b>LC</b></a> <a href="whlstf6.htm#bms_LE" target="ftslist" title="search letter LE"><b>LE</b></a> <a href="whlstf6.htm#bms_LI" target="ftslist" title="search letter LI"><b>LI</b></a> <a href="whlstf6.htm#bms_LK" target="ftslist" title="search letter LK"><b>LK</b></a> <a href="whlstf6.htm#bms_LL" target="ftslist" title="search letter LL"><b>LL</b></a> <a href="whlstf6.htm#bms_LO" target="ftslist" title="search letter LO"><b>LO</b></a> <a href="whlstf6.htm#bms_LY" target="ftslist" title="search letter LY"><b>LY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 2cbb3c58a009237a6c0a59e3b36132796aa683ff..7a88bdbfd66f492b37cc750721f96724d3dd7aed 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_M"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_M" target="ftslist" title="search letter MA"><b>MA</b></a> <a href="whlstf7.htm#bms_ME" target="ftslist" title="search letter ME"><b>ME</b></a> <a href="whlstf7.htm#bms_MI" target="ftslist" title="search letter MI"><b>MI</b></a> <a href="whlstf7.htm#bms_MO" target="ftslist" title="search letter MO"><b>MO</b></a> <a href="whlstf7.htm#bms_MU" target="ftslist" title="search letter MU"><b>MU</b></a> <a href="whlstf7.htm#bms_MY" target="ftslist" title="search letter MY"><b>MY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_M"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf6.htm#bm_M" target="ftslist" title="search letter MA"><b>MA</b></a> <a href="whlstf7.htm#bms_ME" target="ftslist" title="search letter ME"><b>ME</b></a> <a href="whlstf7.htm#bms_MI" target="ftslist" title="search letter MI"><b>MI</b></a> <a href="whlstf7.htm#bms_MO" target="ftslist" title="search letter MO"><b>MO</b></a> <a href="whlstf7.htm#bms_MU" target="ftslist" title="search letter MU"><b>MU</b></a> <a href="whlstf7.htm#bms_MY" target="ftslist" title="search letter MY"><b>MY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 9b4b5949e134c3cca8c89b34b135797a162a55ee..a95f81ad009b6633b15cef0c4a80f62b9c90bce6 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_N"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf7.htm#bm_N" target="ftslist" title="search letter N "><b>N </b></a> <a href="whlstf7.htm#bms_NA" target="ftslist" title="search letter NA"><b>NA</b></a> <a href="whlstf7.htm#bms_NB" target="ftslist" title="search letter NB"><b>NB</b></a> <a href="whlstf7.htm#bms_NE" target="ftslist" title="search letter NE"><b>NE</b></a> <a href="whlstf7.htm#bms_NO" target="ftslist" title="search letter NO"><b>NO</b></a> <a href="whlstf8.htm#bms_NU" target="ftslist" title="search letter NU"><b>NU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_N"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf7.htm#bm_N" target="ftslist" title="search letter N "><b>N </b></a> <a href="whlstf7.htm#bms_NA" target="ftslist" title="search letter NA"><b>NA</b></a> <a href="whlstf7.htm#bms_NB" target="ftslist" title="search letter NB"><b>NB</b></a> <a href="whlstf7.htm#bms_NE" target="ftslist" title="search letter NE"><b>NE</b></a> <a href="whlstf7.htm#bms_NO" target="ftslist" title="search letter NO"><b>NO</b></a> <a href="whlstf8.htm#bms_NU" target="ftslist" title="search letter NU"><b>NU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 5f6cb452cee2f8934ecc8be37230f66afc64296a..22c113ba52081b68113523ea057a4c878323c762 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_O"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf8.htm#bm_O" target="ftslist" title="search letter OB"><b>OB</b></a> <a href="whlstf8.htm#bms_OF" target="ftslist" title="search letter OF"><b>OF</b></a> <a href="whlstf8.htm#bms_OK" target="ftslist" title="search letter OK"><b>OK</b></a> <a href="whlstf8.htm#bms_ON" target="ftslist" title="search letter ON"><b>ON</b></a> <a href="whlstf8.htm#bms_OO" target="ftslist" title="search letter OO"><b>OO</b></a> <a href="whlstf8.htm#bms_OP" target="ftslist" title="search letter OP"><b>OP</b></a> <a href="whlstf8.htm#bms_OR" target="ftslist" title="search letter OR"><b>OR</b></a> <a href="whlstf8.htm#bms_OT" target="ftslist" title="search letter OT"><b>OT</b></a> <a href="whlstf8.htm#bms_OU" target="ftslist" title="search letter OU"><b>OU</b></a> <a href="whlstf8.htm#bms_OW" target="ftslist" title="search letter OW"><b>OW</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_O"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf8.htm#bm_O" target="ftslist" title="search letter OB"><b>OB</b></a> <a href="whlstf8.htm#bms_OF" target="ftslist" title="search letter OF"><b>OF</b></a> <a href="whlstf8.htm#bms_OK" target="ftslist" title="search letter OK"><b>OK</b></a> <a href="whlstf8.htm#bms_ON" target="ftslist" title="search letter ON"><b>ON</b></a> <a href="whlstf8.htm#bms_OO" target="ftslist" title="search letter OO"><b>OO</b></a> <a href="whlstf8.htm#bms_OP" target="ftslist" title="search letter OP"><b>OP</b></a> <a href="whlstf8.htm#bms_OR" target="ftslist" title="search letter OR"><b>OR</b></a> <a href="whlstf8.htm#bms_OT" target="ftslist" title="search letter OT"><b>OT</b></a> <a href="whlstf8.htm#bms_OU" target="ftslist" title="search letter OU"><b>OU</b></a> <a href="whlstf8.htm#bms_OW" target="ftslist" title="search letter OW"><b>OW</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 01ce633930083dabad229da2aedcfc49164f95dc..104e966245694dda1e35a31e07e91a1cbe35ff8a 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_P"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf8.htm#bm_P" target="ftslist" title="search letter PA"><b>PA</b></a> <a href="whlstf8.htm#bms_PE" target="ftslist" title="search letter PE"><b>PE</b></a> <a href="whlstf8.htm#bms_PI" target="ftslist" title="search letter PI"><b>PI</b></a> <a href="whlstf8.htm#bms_PL" target="ftslist" title="search letter PL"><b>PL</b></a> <a href="whlstf8.htm#bms_PN" target="ftslist" title="search letter PN"><b>PN</b></a> <a href="whlstf8.htm#bms_PO" target="ftslist" title="search letter PO"><b>PO</b></a> <a href="whlstf9.htm#bms_PR" target="ftslist" title="search letter PR"><b>PR</b></a> <a href="whlstf9.htm#bms_PS" target="ftslist" title="search letter PS"><b>PS</b></a> <a href="whlstf9.htm#bms_PU" target="ftslist" title="search letter PU"><b>PU</b></a> <a href="whlstf9.htm#bms_PX" target="ftslist" title="search letter PX"><b>PX</b></a> <a href="whlstf9.htm#bms_PY" target="ftslist" title="search letter PY"><b>PY</b></a> <a href="whlstf9.htm#bms_PZ" target="ftslist" title="search letter PZ"><b>PZ</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_P"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf8.htm#bm_P" target="ftslist" title="search letter PA"><b>PA</b></a> <a href="whlstf8.htm#bms_PE" target="ftslist" title="search letter PE"><b>PE</b></a> <a href="whlstf8.htm#bms_PI" target="ftslist" title="search letter PI"><b>PI</b></a> <a href="whlstf8.htm#bms_PL" target="ftslist" title="search letter PL"><b>PL</b></a> <a href="whlstf8.htm#bms_PN" target="ftslist" title="search letter PN"><b>PN</b></a> <a href="whlstf8.htm#bms_PO" target="ftslist" title="search letter PO"><b>PO</b></a> <a href="whlstf9.htm#bms_PR" target="ftslist" title="search letter PR"><b>PR</b></a> <a href="whlstf9.htm#bms_PS" target="ftslist" title="search letter PS"><b>PS</b></a> <a href="whlstf9.htm#bms_PU" target="ftslist" title="search letter PU"><b>PU</b></a> <a href="whlstf9.htm#bms_PX" target="ftslist" title="search letter PX"><b>PX</b></a> <a href="whlstf9.htm#bms_PY" target="ftslist" title="search letter PY"><b>PY</b></a> <a href="whlstf9.htm#bms_PZ" target="ftslist" title="search letter PZ"><b>PZ</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 3f2d0e9faa8b9ff43e3340b026392679eb451769..4b829d95e4c66852a985fecfc6cf4337f360defe 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_Q"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf9.htm#bm_Q" target="ftslist" title="search letter QI"><b>QI</b></a> <a href="whlstf9.htm#bms_QK" target="ftslist" title="search letter QK"><b>QK</b></a> <a href="whlstf9.htm#bms_QU" target="ftslist" title="search letter QU"><b>QU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_Q"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf9.htm#bm_Q" target="ftslist" title="search letter QI"><b>QI</b></a> <a href="whlstf9.htm#bms_QK" target="ftslist" title="search letter QK"><b>QK</b></a> <a href="whlstf9.htm#bms_QU" target="ftslist" title="search letter QU"><b>QU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 850f3adc219301c6452722255c463781722d21b3..d88f026251f32e57e7aa718ab95ef93fb7d3a894 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_R"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf9.htm#bm_R" target="ftslist" title="search letter R "><b>R </b></a> <a href="whlstf9.htm#bms_RA" target="ftslist" title="search letter RA"><b>RA</b></a> <a href="whlstf9.htm#bms_RE" target="ftslist" title="search letter RE"><b>RE</b></a> <a href="whlstf10.htm#bms_RI" target="ftslist" title="search letter RI"><b>RI</b></a> <a href="whlstf10.htm#bms_RO" target="ftslist" title="search letter RO"><b>RO</b></a> <a href="whlstf10.htm#bms_RR" target="ftslist" title="search letter RR"><b>RR</b></a> <a href="whlstf10.htm#bms_RU" target="ftslist" title="search letter RU"><b>RU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_R"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf9.htm#bm_R" target="ftslist" title="search letter R "><b>R </b></a> <a href="whlstf9.htm#bms_RA" target="ftslist" title="search letter RA"><b>RA</b></a> <a href="whlstf9.htm#bms_RE" target="ftslist" title="search letter RE"><b>RE</b></a> <a href="whlstf10.htm#bms_RI" target="ftslist" title="search letter RI"><b>RI</b></a> <a href="whlstf10.htm#bms_RO" target="ftslist" title="search letter RO"><b>RO</b></a> <a href="whlstf10.htm#bms_RR" target="ftslist" title="search letter RR"><b>RR</b></a> <a href="whlstf10.htm#bms_RU" target="ftslist" title="search letter RU"><b>RU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 4dbc16004f7941f34abcdcebf1caf7f1dc9e73d1..0f9a644560e06065e02defb3ecc1cc3f1d2e4f6f 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_S"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf10.htm#bm_S" target="ftslist" title="search letter S "><b>S </b></a> <a href="whlstf10.htm#bms_SA" target="ftslist" title="search letter SA"><b>SA</b></a> <a href="whlstf10.htm#bms_SC" target="ftslist" title="search letter SC"><b>SC</b></a> <a href="whlstf10.htm#bms_SE" target="ftslist" title="search letter SE"><b>SE</b></a> <a href="whlstf10.htm#bms_SG" target="ftslist" title="search letter SG"><b>SG</b></a> <a href="whlstf10.htm#bms_SH" target="ftslist" title="search letter SH"><b>SH</b></a> <a href="whlstf11.htm#bms_SI" target="ftslist" title="search letter SI"><b>SI</b></a> <a href="whlstf11.htm#bms_SK" target="ftslist" title="search letter SK"><b>SK</b></a> <a href="whlstf11.htm#bms_SL" target="ftslist" title="search letter SL"><b>SL</b></a> <a href="whlstf11.htm#bms_SM" target="ftslist" title="search letter SM"><b>SM</b></a> <a href="whlstf11.htm#bms_SO" target="ftslist" title="search letter SO"><b>SO</b></a> <a href="whlstf11.htm#bms_SP" target="ftslist" title="search letter SP"><b>SP</b></a> <a href="whlstf11.htm#bms_SQ" target="ftslist" title="search letter SQ"><b>SQ</b></a> <a href="whlstf11.htm#bms_ST" target="ftslist" title="search letter ST"><b>ST</b></a> <a href="whlstf11.htm#bms_SU" target="ftslist" title="search letter SU"><b>SU</b></a> <a href="whlstf11.htm#bms_SW" target="ftslist" title="search letter SW"><b>SW</b></a> <a href="whlstf11.htm#bms_SY" target="ftslist" title="search letter SY"><b>SY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_S"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf10.htm#bm_S" target="ftslist" title="search letter S "><b>S </b></a> <a href="whlstf10.htm#bms_SA" target="ftslist" title="search letter SA"><b>SA</b></a> <a href="whlstf10.htm#bms_SC" target="ftslist" title="search letter SC"><b>SC</b></a> <a href="whlstf10.htm#bms_SE" target="ftslist" title="search letter SE"><b>SE</b></a> <a href="whlstf10.htm#bms_SG" target="ftslist" title="search letter SG"><b>SG</b></a> <a href="whlstf10.htm#bms_SH" target="ftslist" title="search letter SH"><b>SH</b></a> <a href="whlstf11.htm#bms_SI" target="ftslist" title="search letter SI"><b>SI</b></a> <a href="whlstf11.htm#bms_SK" target="ftslist" title="search letter SK"><b>SK</b></a> <a href="whlstf11.htm#bms_SL" target="ftslist" title="search letter SL"><b>SL</b></a> <a href="whlstf11.htm#bms_SM" target="ftslist" title="search letter SM"><b>SM</b></a> <a href="whlstf11.htm#bms_SO" target="ftslist" title="search letter SO"><b>SO</b></a> <a href="whlstf11.htm#bms_SP" target="ftslist" title="search letter SP"><b>SP</b></a> <a href="whlstf11.htm#bms_SQ" target="ftslist" title="search letter SQ"><b>SQ</b></a> <a href="whlstf11.htm#bms_ST" target="ftslist" title="search letter ST"><b>ST</b></a> <a href="whlstf11.htm#bms_SU" target="ftslist" title="search letter SU"><b>SU</b></a> <a href="whlstf11.htm#bms_SW" target="ftslist" title="search letter SW"><b>SW</b></a> <a href="whlstf11.htm#bms_SY" target="ftslist" title="search letter SY"><b>SY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 0a2d1662067d6238643705a61d3a7e187040dbdc..a3520eb6d183093ececebacb260375bc26dc51b7 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_B"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_B" target="ftslist" title="search letter BA"><b>BA</b></a> <a href="whlstf1.htm#bms_BE" target="ftslist" title="search letter BE"><b>BE</b></a> <a href="whlstf1.htm#bms_BI" target="ftslist" title="search letter BI"><b>BI</b></a> <a href="whlstf1.htm#bms_BL" target="ftslist" title="search letter BL"><b>BL</b></a> <a href="whlstf1.htm#bms_BM" target="ftslist" title="search letter BM"><b>BM</b></a> <a href="whlstf1.htm#bms_BO" target="ftslist" title="search letter BO"><b>BO</b></a> <a href="whlstf1.htm#bms_BR" target="ftslist" title="search letter BR"><b>BR</b></a> <a href="whlstf1.htm#bms_BU" target="ftslist" title="search letter BU"><b>BU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_B"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_B" target="ftslist" title="search letter BA"><b>BA</b></a> <a href="whlstf1.htm#bms_BE" target="ftslist" title="search letter BE"><b>BE</b></a> <a href="whlstf1.htm#bms_BI" target="ftslist" title="search letter BI"><b>BI</b></a> <a href="whlstf1.htm#bms_BL" target="ftslist" title="search letter BL"><b>BL</b></a> <a href="whlstf1.htm#bms_BM" target="ftslist" title="search letter BM"><b>BM</b></a> <a href="whlstf1.htm#bms_BO" target="ftslist" title="search letter BO"><b>BO</b></a> <a href="whlstf1.htm#bms_BR" target="ftslist" title="search letter BR"><b>BR</b></a> <a href="whlstf1.htm#bms_BU" target="ftslist" title="search letter BU"><b>BU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 1b4abd222a79c494c357461b50e6e20e36b496b6..9ecb3e66a98d0d03c4e135860d6ac985a08cd76f 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_T"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf11.htm#bm_T" target="ftslist" title="search letter T "><b>T </b></a> <a href="whlstf11.htm#bms_TA" target="ftslist" title="search letter TA"><b>TA</b></a> <a href="whlstf11.htm#bms_TE" target="ftslist" title="search letter TE"><b>TE</b></a> <a href="whlstf11.htm#bms_TH" target="ftslist" title="search letter TH"><b>TH</b></a> <a href="whlstf11.htm#bms_TI" target="ftslist" title="search letter TI"><b>TI</b></a> <a href="whlstf11.htm#bms_TM" target="ftslist" title="search letter TM"><b>TM</b></a> <a href="whlstf11.htm#bms_TO" target="ftslist" title="search letter TO"><b>TO</b></a> <a href="whlstf12.htm#bms_TR" target="ftslist" title="search letter TR"><b>TR</b></a> <a href="whlstf12.htm#bms_TT" target="ftslist" title="search letter TT"><b>TT</b></a> <a href="whlstf12.htm#bms_TU" target="ftslist" title="search letter TU"><b>TU</b></a> <a href="whlstf12.htm#bms_TW" target="ftslist" title="search letter TW"><b>TW</b></a> <a href="whlstf12.htm#bms_TY" target="ftslist" title="search letter TY"><b>TY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_T"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf11.htm#bm_T" target="ftslist" title="search letter T "><b>T </b></a> <a href="whlstf11.htm#bms_TA" target="ftslist" title="search letter TA"><b>TA</b></a> <a href="whlstf11.htm#bms_TE" target="ftslist" title="search letter TE"><b>TE</b></a> <a href="whlstf11.htm#bms_TH" target="ftslist" title="search letter TH"><b>TH</b></a> <a href="whlstf11.htm#bms_TI" target="ftslist" title="search letter TI"><b>TI</b></a> <a href="whlstf11.htm#bms_TM" target="ftslist" title="search letter TM"><b>TM</b></a> <a href="whlstf11.htm#bms_TO" target="ftslist" title="search letter TO"><b>TO</b></a> <a href="whlstf12.htm#bms_TR" target="ftslist" title="search letter TR"><b>TR</b></a> <a href="whlstf12.htm#bms_TT" target="ftslist" title="search letter TT"><b>TT</b></a> <a href="whlstf12.htm#bms_TU" target="ftslist" title="search letter TU"><b>TU</b></a> <a href="whlstf12.htm#bms_TW" target="ftslist" title="search letter TW"><b>TW</b></a> <a href="whlstf12.htm#bms_TY" target="ftslist" title="search letter TY"><b>TY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 02f43a2bfb10e999442db45a02bf93aa8fe1bd92..1d1f4d32b0183a2966210ffae061a967b0fcef81 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_U"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_U" target="ftslist" title="search letter U "><b>U </b></a> <a href="whlstf12.htm#bms_UN" target="ftslist" title="search letter UN"><b>UN</b></a> <a href="whlstf12.htm#bms_UP" target="ftslist" title="search letter UP"><b>UP</b></a> <a href="whlstf12.htm#bms_US" target="ftslist" title="search letter US"><b>US</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_U"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_U" target="ftslist" title="search letter U "><b>U </b></a> <a href="whlstf12.htm#bms_UN" target="ftslist" title="search letter UN"><b>UN</b></a> <a href="whlstf12.htm#bms_UP" target="ftslist" title="search letter UP"><b>UP</b></a> <a href="whlstf12.htm#bms_US" target="ftslist" title="search letter US"><b>US</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index a9cbf1941a3266db5c0ae03cafcb3da651de19a8..64fda2b254bd6877a91fc9935ae710849c5a0034 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_V"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_V" target="ftslist" title="search letter V "><b>V </b></a> <a href="whlstf12.htm#bms_VA" target="ftslist" title="search letter VA"><b>VA</b></a> <a href="whlstf12.htm#bms_VE" target="ftslist" title="search letter VE"><b>VE</b></a> <a href="whlstf12.htm#bms_VI" target="ftslist" title="search letter VI"><b>VI</b></a> <a href="whlstf12.htm#bms_VK" target="ftslist" title="search letter VK"><b>VK</b></a> <a href="whlstf12.htm#bms_VO" target="ftslist" title="search letter VO"><b>VO</b></a> <a href="whlstf12.htm#bms_VT" target="ftslist" title="search letter VT"><b>VT</b></a> <a href="whlstf12.htm#bms_VX" target="ftslist" title="search letter VX"><b>VX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_V"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_V" target="ftslist" title="search letter V "><b>V </b></a> <a href="whlstf12.htm#bms_VA" target="ftslist" title="search letter VA"><b>VA</b></a> <a href="whlstf12.htm#bms_VE" target="ftslist" title="search letter VE"><b>VE</b></a> <a href="whlstf12.htm#bms_VI" target="ftslist" title="search letter VI"><b>VI</b></a> <a href="whlstf12.htm#bms_VK" target="ftslist" title="search letter VK"><b>VK</b></a> <a href="whlstf12.htm#bms_VO" target="ftslist" title="search letter VO"><b>VO</b></a> <a href="whlstf12.htm#bms_VT" target="ftslist" title="search letter VT"><b>VT</b></a> <a href="whlstf12.htm#bms_VX" target="ftslist" title="search letter VX"><b>VX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 76da534d45d2b5f71bdb2f14cf576b2e585197f3..e471bd527bc4d714888a4ef032e80bda1b941c12 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_W"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_W" target="ftslist" title="search letter WA"><b>WA</b></a> <a href="whlstf12.htm#bms_WE" target="ftslist" title="search letter WE"><b>WE</b></a> <a href="whlstf12.htm#bms_WH" target="ftslist" title="search letter WH"><b>WH</b></a> <a href="whlstf13.htm#bms_WI" target="ftslist" title="search letter WI"><b>WI</b></a> <a href="whlstf13.htm#bms_WO" target="ftslist" title="search letter WO"><b>WO</b></a> <a href="whlstf13.htm#bms_WW" target="ftslist" title="search letter WW"><b>WW</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_W"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf12.htm#bm_W" target="ftslist" title="search letter WA"><b>WA</b></a> <a href="whlstf12.htm#bms_WE" target="ftslist" title="search letter WE"><b>WE</b></a> <a href="whlstf12.htm#bms_WH" target="ftslist" title="search letter WH"><b>WH</b></a> <a href="whlstf13.htm#bms_WI" target="ftslist" title="search letter WI"><b>WI</b></a> <a href="whlstf13.htm#bms_WO" target="ftslist" title="search letter WO"><b>WO</b></a> <a href="whlstf13.htm#bms_WW" target="ftslist" title="search letter WW"><b>WW</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index a6471c7590f9ecf432a0c8721327076d0d20c25c..4b43a080de0485eb56749a543aa3ab2a78ae3c22 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_Y"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf13.htm#bm_Y" target="ftslist" title="search letter Y "><b>Y </b></a> <a href="whlstf13.htm#bms_YO" target="ftslist" title="search letter YO"><b>YO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_Y"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf13.htm#bm_Y" target="ftslist" title="search letter Y "><b>Y </b></a> <a href="whlstf13.htm#bms_YO" target="ftslist" title="search letter YO"><b>YO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index a0bd580fe78ec0d5479ec0f9e6c9f9afd8d9ba94..772d69debb0afda30b3c54a0b9945cc60b5f3cd7 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_Z"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf13.htm#bm_Z" target="ftslist" title="search letter Z "><b>Z </b></a> <a href="whlstf13.htm#bms_ZE" target="ftslist" title="search letter ZE"><b>ZE</b></a> <a href="whlstf13.htm#bms_ZO" target="ftslist" title="search letter ZO"><b>ZO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_Z"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf13.htm#bm_Z" target="ftslist" title="search letter Z "><b>Z </b></a> <a href="whlstf13.htm#bms_ZE" target="ftslist" title="search letter ZE"><b>ZE</b></a> <a href="whlstf13.htm#bms_ZO" target="ftslist" title="search letter ZO"><b>ZO</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index f326b8b48cd80e574bed981cce61c003f4ec4f0a..e8b36271e86637f165be0ea92fc8832db2a5b1c3 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_C"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_C" target="ftslist" title="search letter CA"><b>CA</b></a> <a href="whlstf1.htm#bms_CE" target="ftslist" title="search letter CE"><b>CE</b></a> <a href="whlstf1.htm#bms_CH" target="ftslist" title="search letter CH"><b>CH</b></a> <a href="whlstf2.htm#bms_CI" target="ftslist" title="search letter CI"><b>CI</b></a> <a href="whlstf2.htm#bms_CL" target="ftslist" title="search letter CL"><b>CL</b></a> <a href="whlstf2.htm#bms_CO" target="ftslist" title="search letter CO"><b>CO</b></a> <a href="whlstf2.htm#bms_CR" target="ftslist" title="search letter CR"><b>CR</b></a> <a href="whlstf3.htm#bms_CU" target="ftslist" title="search letter CU"><b>CU</b></a> <a href="whlstf3.htm#bms_CY" target="ftslist" title="search letter CY"><b>CY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_C"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_C" target="ftslist" title="search letter CA"><b>CA</b></a> <a href="whlstf1.htm#bms_CE" target="ftslist" title="search letter CE"><b>CE</b></a> <a href="whlstf1.htm#bms_CH" target="ftslist" title="search letter CH"><b>CH</b></a> <a href="whlstf2.htm#bms_CI" target="ftslist" title="search letter CI"><b>CI</b></a> <a href="whlstf2.htm#bms_CL" target="ftslist" title="search letter CL"><b>CL</b></a> <a href="whlstf2.htm#bms_CO" target="ftslist" title="search letter CO"><b>CO</b></a> <a href="whlstf2.htm#bms_CR" target="ftslist" title="search letter CR"><b>CR</b></a> <a href="whlstf3.htm#bms_CU" target="ftslist" title="search letter CU"><b>CU</b></a> <a href="whlstf3.htm#bms_CY" target="ftslist" title="search letter CY"><b>CY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index b3c00a5fd511231385c1bac24c8a7e8baeb862f5..f30ab155ca0ea5c329f10f20d571d36ca309db97 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_D"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_D" target="ftslist" title="search letter D "><b>D </b></a> <a href="whlstf3.htm#bms_DE" target="ftslist" title="search letter DE"><b>DE</b></a> <a href="whlstf3.htm#bms_DH" target="ftslist" title="search letter DH"><b>DH</b></a> <a href="whlstf3.htm#bms_DI" target="ftslist" title="search letter DI"><b>DI</b></a> <a href="whlstf3.htm#bms_DO" target="ftslist" title="search letter DO"><b>DO</b></a> <a href="whlstf3.htm#bms_DR" target="ftslist" title="search letter DR"><b>DR</b></a> <a href="whlstf3.htm#bms_DU" target="ftslist" title="search letter DU"><b>DU</b></a> <a href="whlstf3.htm#bms_DX" target="ftslist" title="search letter DX"><b>DX</b></a> <a href="whlstf3.htm#bms_DY" target="ftslist" title="search letter DY"><b>DY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_D"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_D" target="ftslist" title="search letter D "><b>D </b></a> <a href="whlstf3.htm#bms_DE" target="ftslist" title="search letter DE"><b>DE</b></a> <a href="whlstf3.htm#bms_DH" target="ftslist" title="search letter DH"><b>DH</b></a> <a href="whlstf3.htm#bms_DI" target="ftslist" title="search letter DI"><b>DI</b></a> <a href="whlstf3.htm#bms_DO" target="ftslist" title="search letter DO"><b>DO</b></a> <a href="whlstf3.htm#bms_DR" target="ftslist" title="search letter DR"><b>DR</b></a> <a href="whlstf3.htm#bms_DU" target="ftslist" title="search letter DU"><b>DU</b></a> <a href="whlstf3.htm#bms_DX" target="ftslist" title="search letter DX"><b>DX</b></a> <a href="whlstf3.htm#bms_DY" target="ftslist" title="search letter DY"><b>DY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 7f84066a3c82ff1dcb7b8747b57c9e5e7df95851..00bfc5ad6223d4eb8a01ab886db3077c8d5316d4 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_E"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_E" target="ftslist" title="search letter E "><b>E </b></a> <a href="whlstf3.htm#bms_EA" target="ftslist" title="search letter EA"><b>EA</b></a> <a href="whlstf3.htm#bms_ED" target="ftslist" title="search letter ED"><b>ED</b></a> <a href="whlstf4.htm#bms_EF" target="ftslist" title="search letter EF"><b>EF</b></a> <a href="whlstf4.htm#bms_EI" target="ftslist" title="search letter EI"><b>EI</b></a> <a href="whlstf4.htm#bms_EL" target="ftslist" title="search letter EL"><b>EL</b></a> <a href="whlstf4.htm#bms_EN" target="ftslist" title="search letter EN"><b>EN</b></a> <a href="whlstf4.htm#bms_EQ" target="ftslist" title="search letter EQ"><b>EQ</b></a> <a href="whlstf4.htm#bms_ER" target="ftslist" title="search letter ER"><b>ER</b></a> <a href="whlstf4.htm#bms_ET" target="ftslist" title="search letter ET"><b>ET</b></a> <a href="whlstf4.htm#bms_EV" target="ftslist" title="search letter EV"><b>EV</b></a> <a href="whlstf4.htm#bms_EX" target="ftslist" title="search letter EX"><b>EX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_E"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf3.htm#bm_E" target="ftslist" title="search letter E "><b>E </b></a> <a href="whlstf3.htm#bms_EA" target="ftslist" title="search letter EA"><b>EA</b></a> <a href="whlstf3.htm#bms_ED" target="ftslist" title="search letter ED"><b>ED</b></a> <a href="whlstf4.htm#bms_EF" target="ftslist" title="search letter EF"><b>EF</b></a> <a href="whlstf4.htm#bms_EI" target="ftslist" title="search letter EI"><b>EI</b></a> <a href="whlstf4.htm#bms_EL" target="ftslist" title="search letter EL"><b>EL</b></a> <a href="whlstf4.htm#bms_EN" target="ftslist" title="search letter EN"><b>EN</b></a> <a href="whlstf4.htm#bms_EQ" target="ftslist" title="search letter EQ"><b>EQ</b></a> <a href="whlstf4.htm#bms_ER" target="ftslist" title="search letter ER"><b>ER</b></a> <a href="whlstf4.htm#bms_ET" target="ftslist" title="search letter ET"><b>ET</b></a> <a href="whlstf4.htm#bms_EV" target="ftslist" title="search letter EV"><b>EV</b></a> <a href="whlstf4.htm#bms_EX" target="ftslist" title="search letter EX"><b>EX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 7a0804eb7bf0d0e77b1878cd513de4915e7513ab..f3ca3ef9a671f552208e4746ac6b9599e9abbcbe 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_F"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_F" target="ftslist" title="search letter F "><b>F </b></a> <a href="whlstf4.htm#bms_FA" target="ftslist" title="search letter FA"><b>FA</b></a> <a href="whlstf4.htm#bms_FE" target="ftslist" title="search letter FE"><b>FE</b></a> <a href="whlstf4.htm#bms_FI" target="ftslist" title="search letter FI"><b>FI</b></a> <a href="whlstf4.htm#bms_FL" target="ftslist" title="search letter FL"><b>FL</b></a> <a href="whlstf4.htm#bms_FO" target="ftslist" title="search letter FO"><b>FO</b></a> <a href="whlstf5.htm#bms_FR" target="ftslist" title="search letter FR"><b>FR</b></a> <a href="whlstf5.htm#bms_FU" target="ftslist" title="search letter FU"><b>FU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_F"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_F" target="ftslist" title="search letter F "><b>F </b></a> <a href="whlstf4.htm#bms_FA" target="ftslist" title="search letter FA"><b>FA</b></a> <a href="whlstf4.htm#bms_FE" target="ftslist" title="search letter FE"><b>FE</b></a> <a href="whlstf4.htm#bms_FI" target="ftslist" title="search letter FI"><b>FI</b></a> <a href="whlstf4.htm#bms_FL" target="ftslist" title="search letter FL"><b>FL</b></a> <a href="whlstf4.htm#bms_FO" target="ftslist" title="search letter FO"><b>FO</b></a> <a href="whlstf5.htm#bms_FR" target="ftslist" title="search letter FR"><b>FR</b></a> <a href="whlstf5.htm#bms_FU" target="ftslist" title="search letter FU"><b>FU</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 9b378dbb25244b3d2112fadd17e22ce2ecdbe3d1..8f2fe56a33e8b9dcc8f0dbce82b138b23fa1f380 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_G"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_G" target="ftslist" title="search letter G "><b>G </b></a> <a href="whlstf5.htm#bms_GA" target="ftslist" title="search letter GA"><b>GA</b></a> <a href="whlstf5.htm#bms_GE" target="ftslist" title="search letter GE"><b>GE</b></a> <a href="whlstf5.htm#bms_GG" target="ftslist" title="search letter GG"><b>GG</b></a> <a href="whlstf5.htm#bms_GI" target="ftslist" title="search letter GI"><b>GI</b></a> <a href="whlstf5.htm#bms_GL" target="ftslist" title="search letter GL"><b>GL</b></a> <a href="whlstf5.htm#bms_GO" target="ftslist" title="search letter GO"><b>GO</b></a> <a href="whlstf5.htm#bms_GR" target="ftslist" title="search letter GR"><b>GR</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_G"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_G" target="ftslist" title="search letter G "><b>G </b></a> <a href="whlstf5.htm#bms_GA" target="ftslist" title="search letter GA"><b>GA</b></a> <a href="whlstf5.htm#bms_GE" target="ftslist" title="search letter GE"><b>GE</b></a> <a href="whlstf5.htm#bms_GG" target="ftslist" title="search letter GG"><b>GG</b></a> <a href="whlstf5.htm#bms_GI" target="ftslist" title="search letter GI"><b>GI</b></a> <a href="whlstf5.htm#bms_GL" target="ftslist" title="search letter GL"><b>GL</b></a> <a href="whlstf5.htm#bms_GO" target="ftslist" title="search letter GO"><b>GO</b></a> <a href="whlstf5.htm#bms_GR" target="ftslist" title="search letter GR"><b>GR</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 0218baa63f07473f6f40594761036bc31634bbc2..d21d3591637a23bec97c69519a0261e315d97e03 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_H"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_H" target="ftslist" title="search letter H "><b>H </b></a> <a href="whlstf5.htm#bms_HA" target="ftslist" title="search letter HA"><b>HA</b></a> <a href="whlstf5.htm#bms_HE" target="ftslist" title="search letter HE"><b>HE</b></a> <a href="whlstf5.htm#bms_HH" target="ftslist" title="search letter HH"><b>HH</b></a> <a href="whlstf5.htm#bms_HI" target="ftslist" title="search letter HI"><b>HI</b></a> <a href="whlstf5.htm#bms_HM" target="ftslist" title="search letter HM"><b>HM</b></a> <a href="whlstf5.htm#bms_HO" target="ftslist" title="search letter HO"><b>HO</b></a> <a href="whlstf5.htm#bms_HY" target="ftslist" title="search letter HY"><b>HY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_H"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_H" target="ftslist" title="search letter H "><b>H </b></a> <a href="whlstf5.htm#bms_HA" target="ftslist" title="search letter HA"><b>HA</b></a> <a href="whlstf5.htm#bms_HE" target="ftslist" title="search letter HE"><b>HE</b></a> <a href="whlstf5.htm#bms_HH" target="ftslist" title="search letter HH"><b>HH</b></a> <a href="whlstf5.htm#bms_HI" target="ftslist" title="search letter HI"><b>HI</b></a> <a href="whlstf5.htm#bms_HM" target="ftslist" title="search letter HM"><b>HM</b></a> <a href="whlstf5.htm#bms_HO" target="ftslist" title="search letter HO"><b>HO</b></a> <a href="whlstf5.htm#bms_HY" target="ftslist" title="search letter HY"><b>HY</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index 4bc8e6d1ca1b46c6a2bb78426e42fc3555d668af..1885c47bd8cd57dc842e4b63d0fd275c897ac085 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<title>Search Words letter</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<p class="ftsheader"><a name="subkey_I"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_I" target="ftslist" title="search letter I "><b>I </b></a> <a href="whlstf5.htm#bms_IC" target="ftslist" title="search letter IC"><b>IC</b></a> <a href="whlstf5.htm#bms_ID" target="ftslist" title="search letter ID"><b>ID</b></a> <a href="whlstf6.htm#bms_IF" target="ftslist" title="search letter IF"><b>IF</b></a> <a href="whlstf6.htm#bms_II" target="ftslist" title="search letter II"><b>II</b></a> <a href="whlstf6.htm#bms_IM" target="ftslist" title="search letter IM"><b>IM</b></a> <a href="whlstf6.htm#bms_IN" target="ftslist" title="search letter IN"><b>IN</b></a> <a href="whlstf6.htm#bms_IS" target="ftslist" title="search letter IS"><b>IS</b></a> <a href="whlstf6.htm#bms_IT" target="ftslist" title="search letter IT"><b>IT</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Search Words letter</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<p class="ftsheader"><a name="subkey_I"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf5.htm#bm_I" target="ftslist" title="search letter I "><b>I </b></a> <a href="whlstf5.htm#bms_IC" target="ftslist" title="search letter IC"><b>IC</b></a> <a href="whlstf5.htm#bms_ID" target="ftslist" title="search letter ID"><b>ID</b></a> <a href="whlstf6.htm#bms_IF" target="ftslist" title="search letter IF"><b>IF</b></a> <a href="whlstf6.htm#bms_II" target="ftslist" title="search letter II"><b>II</b></a> <a href="whlstf6.htm#bms_IM" target="ftslist" title="search letter IM"><b>IM</b></a> <a href="whlstf6.htm#bms_IN" target="ftslist" title="search letter IN"><b>IN</b></a> <a href="whlstf6.htm#bms_IS" target="ftslist" title="search letter IS"><b>IS</b></a> <a href="whlstf6.htm#bms_IT" target="ftslist" title="search letter IT"><b>IT</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>
+
+</body>
+
+</html>
+
index b2621b215bf0a2cf4b5b4473efb336c11ca10623..193fb7c670c730f9a436e39b5028e3a5a23ae1fe 100755 (executable)
@@ -1,75 +1,75 @@
-<html>\r
-<head>\r
-<title>Glossary words list</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } \r
-\r
-.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_C"></a><nobr><b>Cell</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Component</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">One integer or real value can correspond to each component of a field and to each entity of a mesh<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_D"></a><nobr><b>Descendant connectivity</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_E"></a><nobr><b>Edge</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Entity of a mesh</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Equivalence</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_F"></a><nobr><b>Face</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Face of a volumetrical cell (triangle, quadrangle).<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Family</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Entities of a mesh are described by a certain number&nbsp;  of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Field</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Field profile</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Fields can be defined only on one part of the mesh. Profile&nbsp;  of the field or profile of the component of a field indicates which entities of the mesh contain values.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_G"></a><nobr><b>Group</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Unordered set of entities of a mesh. One entity can belong to&nbsp;  several groups.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_M"></a><nobr><b>Mesh</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_N"></a><nobr><b>Nodal connectivity</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Node</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_P"></a><nobr><b>Point</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Geometrical entity determined by its coordinates in the space.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_R"></a><nobr><b>Reference connectivity</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">For each type of entity of a mesh, reference connectivity define the topology of an entity.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Result</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">List of fields referring to one mesh.<p>\r
-<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_S"></a><nobr><b>Study</b></nobr></p>\r
-<p class="glsbody" style="margin-top:1pt;">Study represents a chain of sequences of calculations.<p>\r
-<p class="glsbody"><br><br></p>\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<title>Glossary words list</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.glsheader {margin-left:10pt; margin-top:0pt;}
+.glsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } 
+
+.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_C"></a><nobr><b>Cell</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Component</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">One integer or real value can correspond to each component of a field and to each entity of a mesh<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_D"></a><nobr><b>Descendant connectivity</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_E"></a><nobr><b>Edge</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node).<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Entity of a mesh</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Equivalence</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_F"></a><nobr><b>Face</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Face of a volumetrical cell (triangle, quadrangle).<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Family</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Entities of a mesh are described by a certain number&nbsp;  of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Field</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Field profile</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Fields can be defined only on one part of the mesh. Profile&nbsp;  of the field or profile of the component of a field indicates which entities of the mesh contain values.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_G"></a><nobr><b>Group</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Unordered set of entities of a mesh. One entity can belong to&nbsp;  several groups.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_M"></a><nobr><b>Mesh</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions).<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_N"></a><nobr><b>Nodal connectivity</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">It is a description of an entity of the mesh by an ordered list of nodes constituting this entity.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Node</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_P"></a><nobr><b>Point</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Geometrical entity determined by its coordinates in the space.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_R"></a><nobr><b>Reference connectivity</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">For each type of entity of a mesh, reference connectivity define the topology of an entity.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><nobr><b>Result</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">List of fields referring to one mesh.<p>
+<p class="glsbody" style="margin-bottom:1pt;"><a name="bm_S"></a><nobr><b>Study</b></nobr></p>
+<p class="glsbody" style="margin-top:1pt;">Study represents a chain of sequences of calculations.<p>
+<p class="glsbody"><br><br></p>
+
+</body>
+
+</html>
+
index f3211ffe49a2b6d3ded5eed025bc76248e53113a..32e2c7fd9d32b07f7ba112b3a23ed09a0ac7145a 100755 (executable)
@@ -1,39 +1,39 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Index words list</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } \r
-\r
-.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Index words list</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ndxheader {margin-left:10pt; margin-top:0pt;}
+.ndxbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } 
+
+.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+</body>
+
+</html>
+
index a5294bb2c31a12f0d4521b892dc6e50eaf21f8c9..cd467da7c3e2435d86427db1d4863a723f860beb 100755 (executable)
@@ -1,51 +1,51 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt1.htm#1" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt1.htm#1" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 0560f5e637b5035aeecdb483f5ccb7dee5db77fc..5d6bc46f4b452d4510b6e776df34a4bb6a8ca344 100755 (executable)
@@ -1,59 +1,59 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index f1697eb1ace98e43d33e3f62002fae3c4388f867..b7afcda573c3aac1e8139f43554cdfe821da1159 100755 (executable)
@@ -1,66 +1,66 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/importing_and_exporting_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Importing and exporting meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshing_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining meshing algorithms</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="3"></a><a href="whlstt3.htm#3" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Defining hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_submeshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing submeshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/reassigning_hypotheses_and_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing Meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/importing_and_exporting_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Importing and exporting meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshing_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining meshing algorithms</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="3"></a><a href="whlstt3.htm#3" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Defining hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_submeshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing submeshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/reassigning_hypotheses_and_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing Meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 2a70039673715d8f096685e242a615e59bed0b2c..ac6e4b465af615e6ea7554bd510bd120ed7ef19c 100755 (executable)
@@ -1,71 +1,71 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/importing_and_exporting_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Importing and exporting meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshing_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining meshing algorithms</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="3"></a><a href="whlstt2.htm#3" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Defining hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_hypotheses.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About Hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/arithmetic_1d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> 1D Meshing Hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/max._element_area_hypothesis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> 2D Meshing Hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/max._element_volume_hypothsis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Max Element Volume hypothesis</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Additional Hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_submeshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing submeshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/reassigning_hypotheses_and_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing Meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt1.htm#2" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/importing_and_exporting_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Importing and exporting meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_meshing_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining meshing algorithms</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="3"></a><a href="whlstt2.htm#3" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Defining hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_hypotheses.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About Hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/arithmetic_1d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> 1D Meshing Hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/max._element_area_hypothesis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> 2D Meshing Hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/max._element_volume_hypothsis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Max Element Volume hypothesis</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/non_conform_mesh_allowed_hypothesis.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Additional Hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_submeshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing submeshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/reassigning_hypotheses_and_algorithms.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing Meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index a81db1854720e7e18b9528c3b0dea7cfbb821b36..4f265b6292524943df17b1c59df040fbc9e30de4 100755 (executable)
@@ -1,67 +1,67 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt1.htm#4" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../about_viewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/vtk_3d_viewer.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> VTK 3D Viewer</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/viewing_mesh_info.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Mesh infos</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displaying_nodes_numbers.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Numbering</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../presentation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Display Mode</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../display_entity.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Display Entity</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../transparency.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Transparency</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../clipping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Clipping</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt1.htm#4" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../about_viewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/vtk_3d_viewer.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> VTK 3D Viewer</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/viewing_mesh_info.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Mesh infos</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displaying_nodes_numbers.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Numbering</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../presentation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Display Mode</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../display_entity.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Display Entity</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../transparency.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Transparency</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../clipping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Clipping</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index aae48f26fd5e5672768f2b1b50ab37752b25d7b8..52771a655e4c3ad37373c8f5dc4c2e811174422e 100755 (executable)
@@ -1,74 +1,74 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt1.htm#5" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_quality_controls.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../free_borders.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Free borders</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../borders_at_multi-connection.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Borders at multi-connection</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../length.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Length</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../free_edges.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Free edges</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/length_of_edges.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Length 2D</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../borders_at_multiconnection_2d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Borders at multi-connection 2D</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/area_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Area</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/taper.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Taper</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/aspect_ratio.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Aspect ratio</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/minimum_angle.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Minimum angle</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/warp.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Warping</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/skew.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Skew</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../aspect_ratio_3d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Aspect ratio 3D</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../volume.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Volume</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt1.htm#5" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/about_quality_controls.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> About quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../free_borders.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Free borders</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../borders_at_multi-connection.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Borders at multi-connection</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../length.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Length</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../free_edges.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Free edges</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/length_of_edges.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Length 2D</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../borders_at_multiconnection_2d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Borders at multi-connection 2D</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/area_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Area</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/taper.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Taper</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/aspect_ratio.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Aspect ratio</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/minimum_angle.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Minimum angle</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/warp.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Warping</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/skew.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Skew</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../aspect_ratio_3d.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Aspect ratio 3D</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../volume.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Volume</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 23d1a3f0f0199ddff65477460a014bb7b82d0332..4fc97717ff12f694970a4bbd67c8db56c7fa8ba7 100755 (executable)
@@ -1,65 +1,65 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt1.htm#6" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/creating_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Creating groups</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/editing_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing groups</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/using_operations_on_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Using operations on groups</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_groups_of_specific_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing groups of specific elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../deleting_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Deleting Groups</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../selection_filter_library.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Selection filter library</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt1.htm#6" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/creating_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Creating groups</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/editing_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Editing groups</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/using_operations_on_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Using operations on groups</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/constructing_groups_of_specific_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Constructing groups of specific elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../deleting_groups.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Deleting Groups</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../selection_filter_library.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Selection filter library</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 95593d58c2677d3d99aee41d020ff8e5c8670bf0..feed15b4a6e4f0f506a222843d17fd8131640a53 100755 (executable)
@@ -1,76 +1,76 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt1.htm#7" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/adding_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../adding_quadratic_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding quadratic elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/removing_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Removing nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/renumbering_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Renumbering nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="8"></a><a href="whlstt8.htm#8" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Transforming meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displacing_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Moving nodes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/diagonal_iversion_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Diagonal inversion of elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_two_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting two triangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_a_set_of_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting a set of triangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/changing_orientation_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Changing orientation of elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/cutting_quadrangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Cutting quadrangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/smoothing.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Smoothing</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion_along_a_path.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion along a path</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../revolution.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Revolution</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../pattern_mapping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Pattern mapping</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../smeshpy_doc/namespacesmesh.html"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Python interface smesh.py</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt1.htm#7" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/adding_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../adding_quadratic_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding quadratic elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/removing_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Removing nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/renumbering_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Renumbering nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="8"></a><a href="whlstt8.htm#8" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Transforming meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displacing_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Moving nodes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/diagonal_iversion_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Diagonal inversion of elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_two_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting two triangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_a_set_of_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting a set of triangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/changing_orientation_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Changing orientation of elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/cutting_quadrangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Cutting quadrangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/smoothing.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Smoothing</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion_along_a_path.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion along a path</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../revolution.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Revolution</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../pattern_mapping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Pattern mapping</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../smeshpy_doc/namespacesmesh.html"><img src="../wht_toc3.gif" border="0" align="absmiddle"> Python interface smesh.py</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 27a80842b939c6cef9ae12f729fc98d7121a6c80..9817ab956ba07e07f328176786034c94aae7e06a 100755 (executable)
@@ -1,81 +1,81 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt1.htm#7" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/adding_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../adding_quadratic_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding quadratic elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/removing_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Removing nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/renumbering_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Renumbering nodes and elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="8"></a><a href="whlstt7.htm#8" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Transforming meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/translation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Translation</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/rotation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Rotation</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/symmetry.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Symmetry</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/sewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Sewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/merging_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Merging nodes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../merge_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Merging Elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displacing_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Moving nodes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/diagonal_iversion_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Diagonal inversion of elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_two_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting two triangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_a_set_of_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting a set of triangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/changing_orientation_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Changing orientation of elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/cutting_quadrangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Cutting quadrangles</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/smoothing.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Smoothing</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion_along_a_path.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion along a path</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../revolution.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Revolution</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../pattern_mapping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Pattern mapping</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt1.htm#7" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/adding_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../adding_quadratic_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Adding quadratic elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/removing_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Removing nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/renumbering_nodes_and_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Renumbering nodes and elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a name="8"></a><a href="whlstt7.htm#8" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> Transforming meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/translation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Translation</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/rotation.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Rotation</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/symmetry.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Symmetry</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/sewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Sewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/merging_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Merging nodes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../merge_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Merging Elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/displacing_nodes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Moving nodes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/diagonal_iversion_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Diagonal inversion of elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_two_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting two triangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/uniting_a_set_of_triangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Uniting a set of triangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/changing_orientation_of_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Changing orientation of elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/cutting_quadrangles.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Cutting quadrangles</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../files/smoothing.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Smoothing</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../extrusion_along_a_path.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Extrusion along a path</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../revolution.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Revolution</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../pattern_mapping.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Pattern mapping</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt9.htm#9" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 6b042d4c2a7bf8c8c56c340a70391cc7242dd1f3..cdeb27add6c69c949f8308a90412cb3a10914cb8 100755 (executable)
@@ -1,67 +1,67 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table border=0>\r
-<tr><td>\r
-<p class="tocbody">\r
-<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt1.htm#9" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../smesh_py_introduction.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to MESH module python interface</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Creating Meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../defining_hypotheses_tui.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining Hypotheses</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../viewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Viewing Meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../quality_controls.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Quality Controls</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../grouping_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Grouping Elements</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../modifying_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Modifying Meshes</a></nobr><br>\r
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../transforming_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Transforming Meshes</a></nobr><br>\r
-</p>\r
-\r
-</td></tr>\r
-<tr><td>\r
-<p><img src="whexpbar.gif" > <p>\r
-</td></tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table border=0>
+<tr><td>
+<p class="tocbody">
+<nobr><a name="1"></a><a href="whlstt0.htm#1" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../mesh.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to Mesh</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a href="../files/running_smesh_module.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Running MESH module</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="2"></a><a href="whlstt2.htm#2" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Creating meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="4"></a><a href="whlstt4.htm#4" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Viewing meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="5"></a><a href="whlstt5.htm#5" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Quality controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt1.htm#9" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../smesh_py_introduction.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to MESH module python interface</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Creating Meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../defining_hypotheses_tui.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining Hypotheses</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../viewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Viewing Meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../quality_controls.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Quality Controls</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../grouping_elements.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Grouping Elements</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../modifying_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Modifying Meshes</a></nobr><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../transforming_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Transforming Meshes</a></nobr><br>
+</p>
+
+</td></tr>
+<tr><td>
+<p><img src="whexpbar.gif" > <p>
+</td></tr>
+</table>
+</body>
+
+</html>
+
index 33dae3be22f99e0fe9ed184ccfd8f23981f968ea..7cff7ce5442a270daf5ebb6d34de2a50b895fa92 100755 (executable)
@@ -1,13 +1,13 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>toc frame</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<frameset rows="100%, *" border="0" frameborder="0">\r
-       <frame name="toctree" title="toc tree frame" src="whlstt0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>toc frame</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<frameset rows="100%, *" border="0" frameborder="0">
+       <frame name="toctree" title="toc tree frame" src="whlstt0.htm"></frame>
+</frameset>
+</html>
+
index a9128b80377d99e39434a8c741fc58ab13171109..91a985f9fe7b7a33e4974b542219f2baefb5d9fc 100755 (executable)
@@ -1,15 +1,15 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Index frame</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
-       <frame name="ndxletter" title="index letter frame" src="whnvl31.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="ndxlist" title="index list frame" src="whlsti0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Index frame</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<frameset rows="40, *" border="0" frameborder="0">
+       <frame name="ndxletter" title="index letter frame" src="whnvl31.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="ndxlist" title="index list frame" src="whlsti0.htm"></frame>
+</frameset>
+</html>
+
index ae872731a298380203cede175c09e86b660899fb..bc2231fbf72a982fb5df67f302098f6a375b5dec 100755 (executable)
@@ -1,15 +1,15 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>search frame</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
-       <frame name="ftsletter" title="search letter frame" src="whnvl32.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="ftslist" title="seach word frame" src="whlstf0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>search frame</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<frameset rows="40, *" border="0" frameborder="0">
+       <frame name="ftsletter" title="search letter frame" src="whnvl32.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="ftslist" title="seach word frame" src="whlstf0.htm"></frame>
+</frameset>
+</html>
+
index 9af2824d153bb52a9102d4041a7f273e7b92bc38..6c091d828516ad76308d3279691c8d07a4bf5153 100755 (executable)
@@ -1,15 +1,15 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Glossary frame</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<frameset rows="40, *" border="0" frameborder="0">\r
-       <frame name="glsletter" title="glossary letter frame" src="whnvl33.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="glslist" title="glossary defination frame" src="whlstg0.htm"></frame>\r
-</frameset>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Glossary frame</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<frameset rows="40, *" border="0" frameborder="0">
+       <frame name="glsletter" title="glossary letter frame" src="whnvl33.htm" noresize frameborder="1" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="glslist" title="glossary defination frame" src="whlstg0.htm"></frame>
+</frameset>
+</html>
+
index 0b07308b688fec538a85a73981275fdf7df99238..e29abc01c124426866783b3dd60fb2a9ad43a844 100755 (executable)
@@ -1,43 +1,43 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Index Letters</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } \r
-\r
-.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-\r
-<body>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Index Letters</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ndxheader {margin-left:10pt; margin-top:0pt;}
+.ndxbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } 
+
+.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+
+<body>
+</html>
+
index 045c7a94c3a4927ee943a0d7571fd91c8266b7fd..1f7176c6dbbda1f1a68f3880cca67758fae8acc7 100755 (executable)
@@ -1,72 +1,72 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Search Letters</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="ftsheader">\r
-<a name="home"></a> <a href="whlstfl0.htm#subkey_{" target="_self"title="search non-alphabet letter"><b>#</b></a> \r
- <a href="whlstfl1.htm#subkey_A" target="_self"title="search letter A"><b>A</b></a> \r
- <a href="whlstfl2.htm#subkey_B" target="_self"title="search letter B"><b>B</b></a> \r
- <a href="whlstfl3.htm#subkey_C" target="_self"title="search letter C"><b>C</b></a> \r
- <a href="whlstfl4.htm#subkey_D" target="_self"title="search letter D"><b>D</b></a> \r
- <a href="whlstfl5.htm#subkey_E" target="_self"title="search letter E"><b>E</b></a> \r
- <a href="whlstfl6.htm#subkey_F" target="_self"title="search letter F"><b>F</b></a> \r
- <a href="whlstfl7.htm#subkey_G" target="_self"title="search letter G"><b>G</b></a> \r
- <a href="whlstfl8.htm#subkey_H" target="_self"title="search letter H"><b>H</b></a> \r
- <a href="whlstfl9.htm#subkey_I" target="_self"title="search letter I"><b>I</b></a> \r
- <a href="whlstfl10.htm#subkey_J" target="_self"title="search letter J"><b>J</b></a> \r
- <a href="whlstfl11.htm#subkey_K" target="_self"title="search letter K"><b>K</b></a> \r
- <a href="whlstfl12.htm#subkey_L" target="_self"title="search letter L"><b>L</b></a> \r
- <a href="whlstfl13.htm#subkey_M" target="_self"title="search letter M"><b>M</b></a> \r
- <a href="whlstfl14.htm#subkey_N" target="_self"title="search letter N"><b>N</b></a> \r
- <a href="whlstfl15.htm#subkey_O" target="_self"title="search letter O"><b>O</b></a> \r
- <a href="whlstfl16.htm#subkey_P" target="_self"title="search letter P"><b>P</b></a> \r
- <a href="whlstfl17.htm#subkey_Q" target="_self"title="search letter Q"><b>Q</b></a> \r
- <a href="whlstfl18.htm#subkey_R" target="_self"title="search letter R"><b>R</b></a> \r
- <a href="whlstfl19.htm#subkey_S" target="_self"title="search letter S"><b>S</b></a> \r
- <a href="whlstfl20.htm#subkey_T" target="_self"title="search letter T"><b>T</b></a> \r
- <a href="whlstfl21.htm#subkey_U" target="_self"title="search letter U"><b>U</b></a> \r
- <a href="whlstfl22.htm#subkey_V" target="_self"title="search letter V"><b>V</b></a> \r
- <a href="whlstfl23.htm#subkey_W" target="_self"title="search letter W"><b>W</b></a> \r
- <a href="whlstf13.htm#bm_X" target="ftslist"title="search letter X" ><b>X</b></a> \r
- <a href="whlstfl24.htm#subkey_Y" target="_self"title="search letter Y"><b>Y</b></a> \r
- <a href="whlstfl25.htm#subkey_Z" target="_self"title="search letter Z"><b>Z</b></a> \r
-</p>\r
-\r
-<body>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Search Letters</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="ftsheader">
+<a name="home"></a> <a href="whlstfl0.htm#subkey_{" target="_self"title="search non-alphabet letter"><b>#</b></a> 
+ <a href="whlstfl1.htm#subkey_A" target="_self"title="search letter A"><b>A</b></a> 
+ <a href="whlstfl2.htm#subkey_B" target="_self"title="search letter B"><b>B</b></a> 
+ <a href="whlstfl3.htm#subkey_C" target="_self"title="search letter C"><b>C</b></a> 
+ <a href="whlstfl4.htm#subkey_D" target="_self"title="search letter D"><b>D</b></a> 
+ <a href="whlstfl5.htm#subkey_E" target="_self"title="search letter E"><b>E</b></a> 
+ <a href="whlstfl6.htm#subkey_F" target="_self"title="search letter F"><b>F</b></a> 
+ <a href="whlstfl7.htm#subkey_G" target="_self"title="search letter G"><b>G</b></a> 
+ <a href="whlstfl8.htm#subkey_H" target="_self"title="search letter H"><b>H</b></a> 
+ <a href="whlstfl9.htm#subkey_I" target="_self"title="search letter I"><b>I</b></a> 
+ <a href="whlstfl10.htm#subkey_J" target="_self"title="search letter J"><b>J</b></a> 
+ <a href="whlstfl11.htm#subkey_K" target="_self"title="search letter K"><b>K</b></a> 
+ <a href="whlstfl12.htm#subkey_L" target="_self"title="search letter L"><b>L</b></a> 
+ <a href="whlstfl13.htm#subkey_M" target="_self"title="search letter M"><b>M</b></a> 
+ <a href="whlstfl14.htm#subkey_N" target="_self"title="search letter N"><b>N</b></a> 
+ <a href="whlstfl15.htm#subkey_O" target="_self"title="search letter O"><b>O</b></a> 
+ <a href="whlstfl16.htm#subkey_P" target="_self"title="search letter P"><b>P</b></a> 
+ <a href="whlstfl17.htm#subkey_Q" target="_self"title="search letter Q"><b>Q</b></a> 
+ <a href="whlstfl18.htm#subkey_R" target="_self"title="search letter R"><b>R</b></a> 
+ <a href="whlstfl19.htm#subkey_S" target="_self"title="search letter S"><b>S</b></a> 
+ <a href="whlstfl20.htm#subkey_T" target="_self"title="search letter T"><b>T</b></a> 
+ <a href="whlstfl21.htm#subkey_U" target="_self"title="search letter U"><b>U</b></a> 
+ <a href="whlstfl22.htm#subkey_V" target="_self"title="search letter V"><b>V</b></a> 
+ <a href="whlstfl23.htm#subkey_W" target="_self"title="search letter W"><b>W</b></a> 
+ <a href="whlstf13.htm#bm_X" target="ftslist"title="search letter X" ><b>X</b></a> 
+ <a href="whlstfl24.htm#subkey_Y" target="_self"title="search letter Y"><b>Y</b></a> 
+ <a href="whlstfl25.htm#subkey_Z" target="_self"title="search letter Z"><b>Z</b></a> 
+</p>
+
+<body>
+</html>
+
index e3c66ee7089d7330ba3495968c160e17b9192332..d6f20c33cdb1f49f171da9e201ecb0acfb9c0fbf 100755 (executable)
@@ -1,72 +1,72 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Glossary Letters</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } \r
-\r
-.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-<style>\r
-<!--\r
-\r
--->\r
-</style>\r
-</head>\r
-<body marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<p class="glsheader">\r
- <font class="inactive">#</font> \r
- <font class="inactive">A</font> \r
- <font class="inactive">B</font> \r
- <a href="whlstg0.htm#bm_C" target="glslist"title="glossary letter C"><b>C</b></a> \r
- <a href="whlstg0.htm#bm_D" target="glslist"title="glossary letter D"><b>D</b></a> \r
- <a href="whlstg0.htm#bm_E" target="glslist"title="glossary letter E"><b>E</b></a> \r
- <a href="whlstg0.htm#bm_F" target="glslist"title="glossary letter F"><b>F</b></a> \r
- <a href="whlstg0.htm#bm_G" target="glslist"title="glossary letter G"><b>G</b></a> \r
- <font class="inactive">H</font> \r
- <font class="inactive">I</font> \r
- <font class="inactive">J</font> \r
- <font class="inactive">K</font> \r
- <font class="inactive">L</font> \r
- <a href="whlstg0.htm#bm_M" target="glslist"title="glossary letter M"><b>M</b></a> \r
- <a href="whlstg0.htm#bm_N" target="glslist"title="glossary letter N"><b>N</b></a> \r
- <font class="inactive">O</font> \r
- <a href="whlstg0.htm#bm_P" target="glslist"title="glossary letter P"><b>P</b></a> \r
- <font class="inactive">Q</font> \r
- <a href="whlstg0.htm#bm_R" target="glslist"title="glossary letter R"><b>R</b></a> \r
- <a href="whlstg0.htm#bm_S" target="glslist"title="glossary letter S"><b>S</b></a> \r
- <font class="inactive">T</font> \r
- <font class="inactive">U</font> \r
- <font class="inactive">V</font> \r
- <font class="inactive">W</font> \r
- <font class="inactive">X</font> \r
- <font class="inactive">Y</font> \r
- <font class="inactive">Z</font> \r
-</p>\r
-\r
-<body>\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Glossary Letters</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.glsheader {margin-left:10pt; margin-top:0pt;}
+.glsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } 
+
+.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+<style>
+<!--
+
+-->
+</style>
+</head>
+<body marginheight="0"  marginwidth="0" bgproperties="fixed">
+<p class="glsheader">
+ <font class="inactive">#</font> 
+ <font class="inactive">A</font> 
+ <font class="inactive">B</font> 
+ <a href="whlstg0.htm#bm_C" target="glslist"title="glossary letter C"><b>C</b></a> 
+ <a href="whlstg0.htm#bm_D" target="glslist"title="glossary letter D"><b>D</b></a> 
+ <a href="whlstg0.htm#bm_E" target="glslist"title="glossary letter E"><b>E</b></a> 
+ <a href="whlstg0.htm#bm_F" target="glslist"title="glossary letter F"><b>F</b></a> 
+ <a href="whlstg0.htm#bm_G" target="glslist"title="glossary letter G"><b>G</b></a> 
+ <font class="inactive">H</font> 
+ <font class="inactive">I</font> 
+ <font class="inactive">J</font> 
+ <font class="inactive">K</font> 
+ <font class="inactive">L</font> 
+ <a href="whlstg0.htm#bm_M" target="glslist"title="glossary letter M"><b>M</b></a> 
+ <a href="whlstg0.htm#bm_N" target="glslist"title="glossary letter N"><b>N</b></a> 
+ <font class="inactive">O</font> 
+ <a href="whlstg0.htm#bm_P" target="glslist"title="glossary letter P"><b>P</b></a> 
+ <font class="inactive">Q</font> 
+ <a href="whlstg0.htm#bm_R" target="glslist"title="glossary letter R"><b>R</b></a> 
+ <a href="whlstg0.htm#bm_S" target="glslist"title="glossary letter S"><b>S</b></a> 
+ <font class="inactive">T</font> 
+ <font class="inactive">U</font> 
+ <font class="inactive">V</font> 
+ <font class="inactive">W</font> 
+ <font class="inactive">X</font> 
+ <font class="inactive">Y</font> 
+ <font class="inactive">Z</font> 
+</p>
+
+<body>
+</html>
+
index 1a8036de8a20cee4a0f4b8c9842f8bb6cd220565..0c9cb814be7f57b526e6e9c385947539696453fe 100755 (executable)
@@ -1,16 +1,16 @@
-<!-- WebHelp version 5.10 -->\r
-<html>\r
-<head>\r
-<title> Content Navigation Pane </title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
-       <frame name="toctabs" title="tab selection frame" src="whnvt30.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="toclist" title="content frame" src="whlstt0.htm"></frame>\r
-</frameset>\r
+<!-- WebHelp version 5.10 -->
+<html>
+<head>
+<title> Content Navigation Pane </title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+
+</style>
+</head>
+<frameset rows="36, *" border="0" frameborder="0">
+       <frame name="toctabs" title="tab selection frame" src="whnvt30.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="toclist" title="content frame" src="whlstt0.htm"></frame>
+</frameset>
 </html>
\ No newline at end of file
index fa146f1f842aebfaa27c92a826017424b9f7eeeb..87921c0b7b46e2d09fc976b641728afe5237b1b8 100755 (executable)
@@ -1,16 +1,16 @@
-<!-- WebHelp version 5.10 -->\r
-<html>\r
-<head>\r
-<title> Index Navigation Pane </title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
-       <frame name="ndxtabs" title="tab selection frame" src="whnvt31.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="ndxdata" title="index frame" src="whnvf31.htm"></frame>\r
-</frameset>\r
+<!-- WebHelp version 5.10 -->
+<html>
+<head>
+<title> Index Navigation Pane </title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+
+</style>
+</head>
+<frameset rows="36, *" border="0" frameborder="0">
+       <frame name="ndxtabs" title="tab selection frame" src="whnvt31.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="ndxdata" title="index frame" src="whnvf31.htm"></frame>
+</frameset>
 </html>
\ No newline at end of file
index c334807b14131f47a1eed7c944afa6b1d6a2f5e4..90697b01fe9c1a07976627878091746af63adc9c 100755 (executable)
@@ -1,16 +1,16 @@
-<!-- WebHelp version 5.10 -->\r
-<html>\r
-<head>\r
-<title> Search Navigation Pane </title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
-       <frame name="ftstabs" title="tab selection frame" src="whnvt32.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="ftsdata" title="search frame" src="whnvf32.htm"></frame>\r
-</frameset>\r
+<!-- WebHelp version 5.10 -->
+<html>
+<head>
+<title> Search Navigation Pane </title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+
+</style>
+</head>
+<frameset rows="36, *" border="0" frameborder="0">
+       <frame name="ftstabs" title="tab selection frame" src="whnvt32.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="ftsdata" title="search frame" src="whnvf32.htm"></frame>
+</frameset>
 </html>
\ No newline at end of file
index 8fb4636f0d25b1a03dcf1042cc6c8854ee12ceb6..8351bcbeaf915ae64cd78e5ff46a89b13c1aaf3d 100755 (executable)
@@ -1,16 +1,16 @@
-<!-- WebHelp version 5.10 -->\r
-<html>\r
-<head>\r
-<title> Glossary Navigation Pane </title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-\r
-</style>\r
-</head>\r
-<frameset rows="36, *" border="0" frameborder="0">\r
-       <frame name="glstabs" title="tab selection frame" src="whnvt33.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>\r
-       <frame name="glsdata" title="glossary frame" src="whnvf33.htm"></frame>\r
-</frameset>\r
+<!-- WebHelp version 5.10 -->
+<html>
+<head>
+<title> Glossary Navigation Pane </title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+
+</style>
+</head>
+<frameset rows="36, *" border="0" frameborder="0">
+       <frame name="glstabs" title="tab selection frame" src="whnvt33.htm" noresize frameborder="no" scrolling="no" border="0" marginheight="0" marginwidth="0" ></frame>
+       <frame name="glsdata" title="glossary frame" src="whnvf33.htm"></frame>
+</frameset>
 </html>
\ No newline at end of file
index f7b81b62a17bbaadb71b64e4de81ecdb2b1b7246..ec1bb840ffbe27b036367c10a7c4fd03b0e01604 100755 (executable)
@@ -1,47 +1,47 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Content Navigation Tab</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.tocbody {margin-left:10pt; margin-top:0pt;}\r
-.bo {}\r
-.bc {}\r
-.pn {}\r
-.pr {}\r
-\r
-.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-img {vertial-align:middle;}\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table class="tabs" width="100%">\r
- <tr> \r
-   <td class="tabs">\r
-   <nobr><a href="javascript:void(0)" title="Contents"><img src="../whd_tab1.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>\r
-   </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Content Navigation Tab</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+
+.tabs {background-color:#c0c0c0;}
+.tocbody {margin-left:10pt; margin-top:0pt;}
+.bo {}
+.bc {}
+.pn {}
+.pr {}
+
+.tocbody {margin-top:0pt; } .tocbody {margin-bottom:0pt; } .tocbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+img {vertial-align:middle;}
+-->
+</style>
+</head>
+<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table class="tabs" width="100%">
+ <tr> 
+   <td class="tabs">
+   <nobr><a href="javascript:void(0)" title="Contents"><img src="../whd_tab1.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>
+   </td>
+ </tr>
+</table>
+</body>
+
+</html>
+
index 37ae836523a4fdbbc25befe9bedb6a16de4ba060..e17d82548ec6e433bb59fdf262f830a972fc0694 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Index Navigation Tab</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ndxheader {margin-left:10pt; margin-top:0pt;}\r
-.ndxbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } \r
-\r
-.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table class="tabs" width="100%">\r
- <tr> \r
-   <td class="tabs">\r
-   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>\r
-   </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Index Navigation Tab</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ndxheader {margin-left:10pt; margin-top:0pt;}
+.ndxbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ndxheader {margin-top:0pt; } .ndxheader {margin-bottom:0pt; } .ndxheader {margin-left:9pt; } 
+
+.ndxbody {margin-top:0pt; } .ndxbody {margin-bottom:0pt; } .ndxbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table class="tabs" width="100%">
+ <tr> 
+   <td class="tabs">
+   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>
+   </td>
+ </tr>
+</table>
+</body>
+
+</html>
+
index fc4ee7e1c4f84b3d19f28d9ad91bb29bfc421c5b..d63892533fdf1352231a61955bf4844b15b252ad 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Search Navigation Tab</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.ftsheader {margin-left:10pt; margin-top:0pt;}\r
-.ftsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } \r
-\r
-.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table class="tabs" width="100%">\r
- <tr> \r
-   <td class="tabs">\r
-   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="javascript:void(0)" title="Search"><img src="../whd_tab5.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>\r
-   </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Search Navigation Tab</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.ftsheader {margin-left:10pt; margin-top:0pt;}
+.ftsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.ftsheader {margin-top:0pt; } .ftsheader {margin-bottom:0pt; } .ftsheader {margin-left:9pt; } 
+
+.ftsbody {margin-top:0pt; } .ftsbody {margin-bottom:0pt; } .ftsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; } A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table class="tabs" width="100%">
+ <tr> 
+   <td class="tabs">
+   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="javascript:void(0)" title="Search"><img src="../whd_tab5.gif" border="0"></a><a href="whnvp33.htm" target="_parent" title="Glossary"><img src="../whd_tab8.gif" border="0"></a></nobr>
+   </td>
+ </tr>
+</table>
+</body>
+
+</html>
+
index 54c74208790232242f86bf4043a55e48c7a06c9d..af63a0257e0ee2faf7417a75c54a5e431790580b 100755 (executable)
@@ -1,45 +1,45 @@
-<html>\r
-<head>\r
-<!-- WebHelp version 5.10 -->\r
-<title>Glossary Navigation Tab</title>\r
-<base target="bsscright">\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<style>\r
-<!--\r
-body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}\r
-\r
-A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }\r
-A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }\r
-A:active {background-color:#cccccc;}\r
-A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }\r
-\r
-.tabs {background-color:#c0c0c0;}\r
-.glsheader {margin-left:10pt; margin-top:0pt;}\r
-.glsbody {margin-left:10pt; margin-top:0pt;}\r
-.inactive {color:#666666;}\r
-.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } \r
-\r
-.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } \r
-p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } \r
-A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } \r
-A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } \r
-A:active {background-color:#cccccc; } \r
-A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } \r
-\r
--->\r
-</style>\r
-</head>\r
-<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">\r
-<table class="tabs" width="100%">\r
- <tr> \r
-   <td class="tabs">\r
-   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="javascript:void(0)" title="Glossary"><img src="../whd_tab7.gif" border="0"></a></nobr>\r
-   </td>\r
- </tr>\r
-</table>\r
-</body>\r
-\r
-</html>\r
-\r
+<html>
+<head>
+<!-- WebHelp version 5.10 -->
+<title>Glossary Navigation Tab</title>
+<base target="bsscright">
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<style>
+<!--
+body {margin-left:1pt; margin-top:1pt; margin-right:1pt;font-family:Arial; font-size:9pt;}
+
+A:link {font-family:Arial; font-size:9pt; color:#000000;  font-style:normal;  text-decoration:none; }
+A:visited {font-family:Arial; font-size:9pt; color:#000000; font-style:normal;  text-decoration:none; }
+A:active {background-color:#cccccc;}
+A:hover {font-family:Arial; font-size:9pt; color:#007f00; font-style:normal;  text-decoration:underline; }
+
+.tabs {background-color:#c0c0c0;}
+.glsheader {margin-left:10pt; margin-top:0pt;}
+.glsbody {margin-left:10pt; margin-top:0pt;}
+.inactive {color:#666666;}
+.glsheader {margin-top:0pt; } .glsheader {margin-bottom:0pt; } .glsheader {margin-left:9pt; } 
+
+.glsbody {margin-top:0pt; } .glsbody {margin-bottom:0pt; } .glsbody {margin-left:9pt; } 
+p {color:#000000; } p {font-family:Arial; } p {font-size:9pt; } p {font-style:normal; } p {text-decoration:none; } 
+A:link {color:#000000; } A:link {font-family:Arial; } A:link {font-size:9pt; } A:link {font-style:normal; } A:link {text-decoration:none; } 
+A:visited {color:#000000; } A:visited {font-family:Arial; }A:visited {font-size:9pt; } A:visited {font-style:normal; } A:visited {text-decoration:none; } 
+A:active {background-color:#cccccc; } 
+A:hover {color:#007f00; } A:hover {font-family:Arial; } A:hover {font-size:9pt; } A:hover {font-style:normal; } A:hover {text-decoration:underline; } 
+
+-->
+</style>
+</head>
+<body class="tabs" marginheight="0"  marginwidth="0" bgproperties="fixed">
+<table class="tabs" width="100%">
+ <tr> 
+   <td class="tabs">
+   <nobr><a href="whnvp30.htm" target="_parent" title="Contents"><img src="../whd_tab2.gif" border="0"></a><a href="whnvp32.htm" target="_parent" title="Search"><img src="../whd_tab6.gif" border="0"></a><a href="javascript:void(0)" title="Glossary"><img src="../whd_tab7.gif" border="0"></a></nobr>
+   </td>
+ </tr>
+</table>
+</body>
+
+</html>
+
index 347e82bcf81a370f4546b92c62f24432d3d7c638..5ff0f6781d9f474c0727119ab2e3e75c5ae85549 100755 (executable)
@@ -1,98 +1,98 @@
-<html>\r
-<head>\r
-<title>Glossary Definition</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goGloFont=null;\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this, WH_MSG_SHOWGLODEF);\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-               document.body.background=gsBgImage;\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-               document.body.bgColor=gsBgColor;\r
-}\r
-\r
-function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)\r
-{\r
-       var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);\r
-       if (sType == "Normal")\r
-               goGloFont = vFont;\r
-}\r
-\r
-function textToHtml_nbsp_specialcare(sText)\r
-{\r
-       if (sText == null) return null;\r
-       var sHTML= sText;\r
-       var re = new RegExp("  ","g");\r
-       sHTML=  sHTML.replace(re, "&nbsp; ");\r
-       return  sHTML;\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId = oMsg.nMessageId;\r
-       if (nMsgId == WH_MSG_SHOWGLODEF)\r
-       {\r
-               document.body.innerHTML = sDefHead + textToHtml_nbsp_specialcare(oMsg.oParam.sDef) + sDefTail;\r
-               return true;\r
-       }\r
-}\r
-\r
-function GDefWriteClassStyle()\r
-{\r
-       var sStyle="<STYLE TYPE='text/css'>\n";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       sStyle+=".definition {"+getFontStyle(goGloFont)+"margin:2;}\n";\r
-       sStyle+="</STYLE>";\r
-       document.write(sStyle);\r
-}\r
-\r
-if (window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer)\r
-{\r
-       window.onload=window_OnLoad;\r
-       window.onunload = window_Unload;\r
-       goGloFont=new whFont("Verdana", "8pt", "#000000", "normal", "normal", "none");\r
-       \r
-       \r
-       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-       GDefWriteClassStyle();\r
-       RegisterListener2(this, WH_MSG_SHOWGLODEF);\r
-       var sDefHead = "<p class=\"definition\">";\r
-       var sDefTail = "</p>";\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body bgproperties="fixed" bgcolor="white">\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Glossary Definition</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2">
+<!--
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var goGloFont=null;
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this, WH_MSG_SHOWGLODEF);
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+               document.body.background=gsBgImage;
+       if(gsBgColor&&gsBgColor.length>0)
+               document.body.bgColor=gsBgColor;
+}
+
+function setFont(sType, sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration)
+{
+       var vFont = new whFont(sFontName, sFontSize, sFontColor, sFontStyle, sFontWeight, sFontDecoration);
+       if (sType == "Normal")
+               goGloFont = vFont;
+}
+
+function textToHtml_nbsp_specialcare(sText)
+{
+       if (sText == null) return null;
+       var sHTML= sText;
+       var re = new RegExp("  ","g");
+       sHTML=  sHTML.replace(re, "&nbsp; ");
+       return  sHTML;
+}
+
+function onSendMessage(oMsg)
+{
+       var nMsgId = oMsg.nMessageId;
+       if (nMsgId == WH_MSG_SHOWGLODEF)
+       {
+               document.body.innerHTML = sDefHead + textToHtml_nbsp_specialcare(oMsg.oParam.sDef) + sDefTail;
+               return true;
+       }
+}
+
+function GDefWriteClassStyle()
+{
+       var sStyle="<STYLE TYPE='text/css'>\n";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       sStyle+=".definition {"+getFontStyle(goGloFont)+"margin:2;}\n";
+       sStyle+="</STYLE>";
+       document.write(sStyle);
+}
+
+if (window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer)
+{
+       window.onload=window_OnLoad;
+       window.onunload = window_Unload;
+       goGloFont=new whFont("Verdana", "8pt", "#000000", "normal", "normal", "none");
+       
+       
+       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+       GDefWriteClassStyle();
+       RegisterListener2(this, WH_MSG_SHOWGLODEF);
+       var sDefHead = "<p class=\"definition\">";
+       var sDefTail = "</p>";
+}
+else
+       document.location.reload();
+//-->
+</script>
+</head>
+<body bgproperties="fixed" bgcolor="white">
+</body>
+</html>
index 6d36f529c23a36b243c71de889b0113e84786094..d02a99feb2f10a057b0ce89e110d96400fb296f6 100755 (executable)
-<html>\r
-<head>\r
-<title>Glossary</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body bgcolor=#c0c0c0 scroll=no RIGHTMARGIN=0 BOTTOMMARGIN=0 TOPMARGIN=0 LEFTMARGIN=0>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsBgImage="";\r
-var    gsBgColor="";\r
-var goTitleFont=null;\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Title")\r
-               goTitleFont=vFont;\r
-}\r
-\r
-function getTermText()\r
-{\r
-       var strString="Term:";\r
-strString = "Term:";\r
-       return strString;\r
-}\r
-\r
-function getDefinitionText()\r
-{\r
-       var strString="Definition for:";\r
-strString = "Definition:";\r
-       return strString;\r
-}\r
-\r
-function getHTML()\r
-{\r
-       var sHTML="";\r
-       sHTML+="<P class=title><nobr>&nbsp;" + getTermText() + "</nobr></p>";\r
-       sHTML+="<iframe id=glossaryIFrame title=\"glossary term\" src=\"whgbody.htm\" width=100% height=200 MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";\r
-       sHTML+="<P class=title><nobr>&nbsp;" + getDefinitionText() + "&nbsp;<b id=Name></b></nobr></p>";\r
-       sHTML+="<iframe id=defIFrame title=\"glossary definition\" src=\"whgdef.htm\" width=100% height=100% MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";\r
-       return sHTML;\r
-}\r
-\r
-function writeStyle()\r
-{\r
-       var sStyle="<style type='text/css'>";\r
-       sStyle+="p.title {" + getFontStyle(goTitleFont) + "margin-top:4;margin-bottom:4}\n";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       sStyle+="</style>";\r
-       document.write(sStyle);\r
-}\r
-\r
-\r
-function window_OnResize()\r
-{\r
-       setIFrameHeight();\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-               document.body.background=gsBgImage;\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-               document.body.bgColor=gsBgColor;\r
-       setIFrameHeight();\r
-}\r
-\r
-function setIFrameHeight()\r
-{\r
-       var tH=0;\r
-       if(gbNav6)\r
-       {\r
-               tH=parseInt(window.innerHeight)-30;\r
-       }\r
-       else\r
-       {\r
-               tH=parseInt(document.body.clientHeight)-4;\r
-       }\r
-               \r
-       var oEle=getElement("glossaryIFrame");\r
-       if(oEle)\r
-       {\r
-               tH=tH-2*parseInt(oEle.offsetTop);\r
-               if(tH>0)\r
-               {\r
-                       oEle.style.height=Math.floor(tH*.6);\r
-                       var oEleDef=getElement("defIFrame");\r
-                       if(oEleDef)\r
-                       {\r
-                               oEleDef.style.height=tH-parseInt(oEle.style.height);\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_SHOWGLODEF);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId=oMsg.nMessageId;\r
-       if(nMsgId==WH_MSG_SHOWGLODEF)\r
-       {\r
-               if(getElement("Name"))\r
-                       getElement("Name").innerHTML=oMsg.oParam.sName;\r
-               return true;\r
-       }\r
-}\r
-\r
-if(window.gbWhVer&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy)\r
-{\r
-       goTitleFont=new whFont("Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Title", "Arial","9pt","#000000","normal","normal","none");\r
-       \r
-       \r
-       window.onresize=window_OnResize;\r
-       window.onload=window_OnLoad;\r
-       window.onunload=window_Unload;\r
-       RegisterListener2(this,WH_MSG_SHOWGLODEF);\r
-       writeStyle();\r
-       document.write(getHTML());\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Glossary</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body bgcolor=#c0c0c0 scroll=no RIGHTMARGIN=0 BOTTOMMARGIN=0 TOPMARGIN=0 LEFTMARGIN=0>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2">
+<!--
+var gsBgImage="";
+var    gsBgColor="";
+var goTitleFont=null;
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Title")
+               goTitleFont=vFont;
+}
+
+function getTermText()
+{
+       var strString="Term:";
+strString = "Term:";
+       return strString;
+}
+
+function getDefinitionText()
+{
+       var strString="Definition for:";
+strString = "Definition:";
+       return strString;
+}
+
+function getHTML()
+{
+       var sHTML="";
+       sHTML+="<P class=title><nobr>&nbsp;" + getTermText() + "</nobr></p>";
+       sHTML+="<iframe id=glossaryIFrame title=\"glossary term\" src=\"whgbody.htm\" width=100% height=200 MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";
+       sHTML+="<P class=title><nobr>&nbsp;" + getDefinitionText() + "&nbsp;<b id=Name></b></nobr></p>";
+       sHTML+="<iframe id=defIFrame title=\"glossary definition\" src=\"whgdef.htm\" width=100% height=100% MARGINHEIGHT=0 MARGINWIDTH=0></iframe>";
+       return sHTML;
+}
+
+function writeStyle()
+{
+       var sStyle="<style type='text/css'>";
+       sStyle+="p.title {" + getFontStyle(goTitleFont) + "margin-top:4;margin-bottom:4}\n";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       sStyle+="</style>";
+       document.write(sStyle);
+}
+
+
+function window_OnResize()
+{
+       setIFrameHeight();
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+               document.body.background=gsBgImage;
+       if(gsBgColor&&gsBgColor.length>0)
+               document.body.bgColor=gsBgColor;
+       setIFrameHeight();
+}
+
+function setIFrameHeight()
+{
+       var tH=0;
+       if(gbNav6)
+       {
+               tH=parseInt(window.innerHeight)-30;
+       }
+       else
+       {
+               tH=parseInt(document.body.clientHeight)-4;
+       }
+               
+       var oEle=getElement("glossaryIFrame");
+       if(oEle)
+       {
+               tH=tH-2*parseInt(oEle.offsetTop);
+               if(tH>0)
+               {
+                       oEle.style.height=Math.floor(tH*.6);
+                       var oEleDef=getElement("defIFrame");
+                       if(oEleDef)
+                       {
+                               oEleDef.style.height=tH-parseInt(oEle.style.height);
+                       }
+               }
+       }
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this,WH_MSG_SHOWGLODEF);
+}
+
+function onSendMessage(oMsg)
+{
+       var nMsgId=oMsg.nMessageId;
+       if(nMsgId==WH_MSG_SHOWGLODEF)
+       {
+               if(getElement("Name"))
+                       getElement("Name").innerHTML=oMsg.oParam.sName;
+               return true;
+       }
+}
+
+if(window.gbWhVer&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhProxy)
+{
+       goTitleFont=new whFont("Arial","9pt","#000000","normal","normal","none");
+       setFont("Title", "Arial","9pt","#000000","normal","normal","none");
+       
+       
+       window.onresize=window_OnResize;
+       window.onload=window_OnLoad;
+       window.onunload=window_Unload;
+       RegisterListener2(this,WH_MSG_SHOWGLODEF);
+       writeStyle();
+       document.write(getHTML());
+}
+else
+       document.location.reload();
+//-->
+</script>
+</body>
+</html>
index 56e1d5659d8dd675977ab9353d0dfaec0d76add6..9ebcf24dd030e2432ca894878bec967584e84155 100755 (executable)
-//     WebHelp 5.10.004\r
-var gbXML=false;\r
-var gaDef=new Array();\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goFont=null;\r
-var goHoverFont=null;\r
-var gsMargin="2pt";\r
-var gsIndent="2pt";\r
-var gsActiveBgColor="#cccccc";\r
-var gbWhGHost=false;\r
-var gbShowDef=true;\r
-var gsGloId="Glo_"\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Normal")\r
-               goFont=vFont;\r
-       else if(sType=="Hover")\r
-               goHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
-       gsActiveBgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
-       gsMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
-       gsIndent=sIndent;\r
-}\r
-\r
-function insertDef(sKName,sDef)\r
-{\r
-       var nLength=gaDef.length\r
-       var oGlo=new nameDefPair(sKName,sDef);\r
-       gaDef[nLength]=oGlo;\r
-       return nLength;\r
-}\r
-\r
-function showDef(nDef)\r
-{\r
-       if(nDef<gaDef.length)\r
-       {       \r
-               HighLight(nDef);\r
-               var oParam=gaDef[nDef];\r
-               var oMsg=new whMessage(WH_MSG_SHOWGLODEF,this,1,oParam);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function nameDefPair(sName,sDef)\r
-{\r
-       this.sName=sName;\r
-       this.sDef=sDef;\r
-}\r
-\r
-function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
-       var sHTML="";\r
-       var nIdxSet=aCurIdxSet[0];\r
-       var nIIdx=aPos[nIdxSet];\r
-       var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);\r
-       var sKName=_textToHtml(sRawKName);\r
-       var sDText=_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx));\r
-       var sDef=sDText;\r
-       for(var i=1;i<nLength;i++)\r
-       {\r
-               var nIdxSeti=aCurIdxSet[i];\r
-               var nIIdxi=aPos[nIdxSeti];\r
-               var sRawKNamei = getItemName(aDataCon,nIdxSeti,nIIdxi);\r
-               var sKNamei=_textToHtml(sRawKNamei);\r
-               var sDTexti=_textToHtml_nonbsp(getDef(aDataCon,nIdxSeti,nIIdxi));\r
-               if (compare(sKNamei,sKName)==0)\r
-               {\r
-                       if (sDText!=sDTexti)\r
-                               sDef+="<br>"+sDTexti;\r
-               }\r
-       }\r
-       var nIndex=insertDef(sKName,sDef);\r
-       if(nLevel==1)\r
-       {\r
-               sHTML+="<p><nobr id=\""+getGloId(nIndex)+"\">";\r
-               sHTML+="<a alt=\""+sKName+"\" href=\"javascript:void(0);\" onfocus=\"HighLight("+nIndex+");\" onclick=\"showDef("+nIndex+");return false;\">"+sKName+"</a></nobr></p>";\r
-               oHTML.addHTML(sHTML,nLength,bDown,true,sRawKName);\r
-               if(gbShowDef)\r
-               {\r
-                       setTimeout("showDef(0);",100);\r
-                       gbShowDef = false;\r
-               }\r
-       }\r
-}\r
-\r
-function HighLight(nIndex)\r
-{\r
-       var oObj=getElement(getGloId(nIndex));\r
-       if(oObj)\r
-               HighLightElement(oObj,gsActiveBgColor,"transparent");\r
-}\r
-\r
-function getGloId(nIndex)\r
-{\r
-       return gsGloId+nIndex;\r
-}\r
-\r
-function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
-{\r
-       if(bDown)\r
-       {\r
-               for(var i=0;i<nLength;i++)\r
-                       aPos[aCurIdxSet[i]]++;\r
-       }\r
-       else{\r
-               for(var i=0;i<nLength;i++)\r
-                       aPos[aCurIdxSet[i]]--;\r
-       }\r
-}\r
-\r
-function getDef(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].sDef;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getItemName(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
-       else\r
-               return null;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-               document.body.background=gsBgImage;\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-               document.body.bgColor=gsBgColor;\r
-       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
-       loadGlo();\r
-       var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function loadGlo()\r
-{\r
-       if(!gbReady)\r
-       {\r
-               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
-               if(SendMessage(oResMsg)&&oResMsg.oParam)\r
-               {\r
-                       gbReady=true;\r
-                       var oProj=oResMsg.oParam;\r
-                       var aProj=oProj.aProj;\r
-                       gbXML=oProj.bXML;\r
-                       if(aProj.length>0)\r
-                       {\r
-                               var sLangId=aProj[0].sLangId;\r
-                               for(var i=0;i<aProj.length;i++)\r
-                               {\r
-                                       if(aProj[i].sGlo&&aProj[i].sLangId==sLangId)\r
-                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sGlo);\r
-                               }\r
-                       }\r
-                       writeDataIFrame();\r
-                       enEvt();\r
-               }               \r
-       }\r
-}\r
-\r
-function findCKInDom()\r
-{\r
-       return true;\r
-}\r
-\r
-function GloWriteClassStyle()\r
-{\r
-       var sStyle="<STYLE TYPE='text/css'>\n";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";margin-left:"+gsIndent+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsActiveBgColor+";}\n";\r
-       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
-       sStyle+="</STYLE>";     \r
-       document.write(sStyle);\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_SHOWGLO)\r
-               {\r
-                       if(!gbNav6)\r
-                               document.body.focus();\r
-               }\r
-               else if(nMsgId==WH_MSG_PROJECTREADY)\r
-               {\r
-                       loadGlo();\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if (window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhHost)\r
-{\r
-       RegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       RegisterListener2(this,WH_MSG_SHOWGLO);\r
-       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-       goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_BUnload;\r
-       window.onunload=window_Unload;\r
-       gbWhGHost=true;\r
-}\r
-else\r
-       document.location.reload();\r
-\r
+//     WebHelp 5.10.004
+var gbXML=false;
+var gaDef=new Array();
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var goFont=null;
+var goHoverFont=null;
+var gsMargin="2pt";
+var gsIndent="2pt";
+var gsActiveBgColor="#cccccc";
+var gbWhGHost=false;
+var gbShowDef=true;
+var gsGloId="Glo_"
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Normal")
+               goFont=vFont;
+       else if(sType=="Hover")
+               goHoverFont=vFont;
+}
+
+function setActiveBgColor(sBgColor)
+{
+       gsActiveBgColor=sBgColor;
+}
+
+function setMargin(sMargin)
+{
+       gsMargin=sMargin;
+}
+
+function setIndent(sIndent)
+{
+       gsIndent=sIndent;
+}
+
+function insertDef(sKName,sDef)
+{
+       var nLength=gaDef.length
+       var oGlo=new nameDefPair(sKName,sDef);
+       gaDef[nLength]=oGlo;
+       return nLength;
+}
+
+function showDef(nDef)
+{
+       if(nDef<gaDef.length)
+       {       
+               HighLight(nDef);
+               var oParam=gaDef[nDef];
+               var oMsg=new whMessage(WH_MSG_SHOWGLODEF,this,1,oParam);
+               SendMessage(oMsg);
+       }
+}
+
+function nameDefPair(sName,sDef)
+{
+       this.sName=sName;
+       this.sDef=sDef;
+}
+
+function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
+{
+       var sHTML="";
+       var nIdxSet=aCurIdxSet[0];
+       var nIIdx=aPos[nIdxSet];
+       var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);
+       var sKName=_textToHtml(sRawKName);
+       var sDText=_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx));
+       var sDef=sDText;
+       for(var i=1;i<nLength;i++)
+       {
+               var nIdxSeti=aCurIdxSet[i];
+               var nIIdxi=aPos[nIdxSeti];
+               var sRawKNamei = getItemName(aDataCon,nIdxSeti,nIIdxi);
+               var sKNamei=_textToHtml(sRawKNamei);
+               var sDTexti=_textToHtml_nonbsp(getDef(aDataCon,nIdxSeti,nIIdxi));
+               if (compare(sKNamei,sKName)==0)
+               {
+                       if (sDText!=sDTexti)
+                               sDef+="<br>"+sDTexti;
+               }
+       }
+       var nIndex=insertDef(sKName,sDef);
+       if(nLevel==1)
+       {
+               sHTML+="<p><nobr id=\""+getGloId(nIndex)+"\">";
+               sHTML+="<a alt=\""+sKName+"\" href=\"javascript:void(0);\" onfocus=\"HighLight("+nIndex+");\" onclick=\"showDef("+nIndex+");return false;\">"+sKName+"</a></nobr></p>";
+               oHTML.addHTML(sHTML,nLength,bDown,true,sRawKName);
+               if(gbShowDef)
+               {
+                       setTimeout("showDef(0);",100);
+                       gbShowDef = false;
+               }
+       }
+}
+
+function HighLight(nIndex)
+{
+       var oObj=getElement(getGloId(nIndex));
+       if(oObj)
+               HighLightElement(oObj,gsActiveBgColor,"transparent");
+}
+
+function getGloId(nIndex)
+{
+       return gsGloId+nIndex;
+}
+
+function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)
+{
+       if(bDown)
+       {
+               for(var i=0;i<nLength;i++)
+                       aPos[aCurIdxSet[i]]++;
+       }
+       else{
+               for(var i=0;i<nLength;i++)
+                       aPos[aCurIdxSet[i]]--;
+       }
+}
+
+function getDef(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].sDef;
+       else
+               return null;
+}
+
+function getItemName(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].sName;
+       else
+               return null;
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+               document.body.background=gsBgImage;
+       if(gsBgColor&&gsBgColor.length>0)
+               document.body.bgColor=gsBgColor;
+       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());
+       loadGlo();
+       var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)
+       SendMessage(oMsg);
+}
+
+function loadGlo()
+{
+       if(!gbReady)
+       {
+               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
+               if(SendMessage(oResMsg)&&oResMsg.oParam)
+               {
+                       gbReady=true;
+                       var oProj=oResMsg.oParam;
+                       var aProj=oProj.aProj;
+                       gbXML=oProj.bXML;
+                       if(aProj.length>0)
+                       {
+                               var sLangId=aProj[0].sLangId;
+                               for(var i=0;i<aProj.length;i++)
+                               {
+                                       if(aProj[i].sGlo&&aProj[i].sLangId==sLangId)
+                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sGlo);
+                               }
+                       }
+                       writeDataIFrame();
+                       enEvt();
+               }               
+       }
+}
+
+function findCKInDom()
+{
+       return true;
+}
+
+function GloWriteClassStyle()
+{
+       var sStyle="<STYLE TYPE='text/css'>\n";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";margin-left:"+gsIndent+";}\n";
+       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsActiveBgColor+";}\n";
+       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";
+       sStyle+="</STYLE>";     
+       document.write(sStyle);
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this,WH_MSG_PROJECTREADY);
+       UnRegisterListener2(this,WH_MSG_SHOWGLO);
+}
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_SHOWGLO)
+               {
+                       if(!gbNav6)
+                               document.body.focus();
+               }
+               else if(nMsgId==WH_MSG_PROJECTREADY)
+               {
+                       loadGlo();
+               }
+       }
+       return true;
+}
+
+if (window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhHost)
+{
+       RegisterListener2(this,WH_MSG_PROJECTREADY);
+       RegisterListener2(this,WH_MSG_SHOWGLO);
+       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+       goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_BUnload;
+       window.onunload=window_Unload;
+       gbWhGHost=true;
+}
+else
+       document.location.reload();
+
index 5a02374adbb8824deb56dc11d9cd8163f09fda19..a32225a1aa1a19ed5df04b58ceddb9108c2792c8 100755 (executable)
-//     WebHelp 5.10.002\r
-var gaChunks=new Array();\r
-var gaFakes=new Array();\r
-var gaDataCon=null;\r
-var gaData=new Array();\r
-\r
-var gbFindCK=false;;\r
-var gbNeedCalc=false;\r
-var gbScrl=false;\r
-var gbProcess=false;\r
-var gbReady=false;\r
-\r
-var gnCheck=0;\r
-var gnNum=0;\r
-var gnIns=-1;\r
-var gnLoad=0;\r
-var gnRef=-1;\r
-var gnMaxItems=0;\r
-var gnMaxMargin=32000;\r
-var gnNeeded=0;\r
-var gnNKI=-1;\r
-var gnRE=0;\r
-var gnScrlMgn=30;\r
-var gnSE=0;\r
-var gnVisible=0;\r
-var gnItems=0;\r
-var gnUHeight=1;\r
-\r
-var gsBCK=null;\r
-var gsChK=null;\r
-var gsCK=null;\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading data, please wait...";\r
-var gsSKA=null;\r
-var gsSKB=null;\r
-\r
-var gbLoadInfo=false;\r
-\r
-function onLoadXMLError()\r
-{\r
-       if(gbLoadInfo)\r
-       {\r
-               var aChunk=new Array();\r
-               projReady(aChunk);\r
-       }\r
-       else\r
-       {\r
-               var aData=new Array();\r
-               putData(aData);\r
-       }\r
-}\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
-       if(gbLoadInfo)\r
-       {\r
-               var node=xmlDoc.lastChild;\r
-               if(node)\r
-               {\r
-                       var nTotal=0\r
-                       var aChunk=new Array();\r
-                       var oC=node.firstChild;\r
-                       while(oC)\r
-                       {\r
-                               if(oC.nodeName=="chunkinfo")\r
-                               {\r
-                                       var item=new Object();\r
-                                       item.sBK=oC.getAttribute("first");\r
-                                       item.sEK=oC.getAttribute("last");\r
-                                       item.sFileName=oC.getAttribute("url");\r
-                                       item.nNum=parseInt(oC.getAttribute("num"));\r
-                                       nTotal+=item.nNum;\r
-                                       item.nTotal=nTotal;\r
-                                       aChunk[aChunk.length]=item;\r
-                               }\r
-                               oC=oC.nextSibling;\r
-                       }\r
-                       projReady(aChunk);\r
-               }\r
-       }\r
-       else\r
-       {\r
-               var node=xmlDoc.lastChild;\r
-               if(node)\r
-               {\r
-                       var aData=new Array();\r
-                       var nPrev=0;\r
-                       var nNext=0;\r
-                       var oC=node.firstChild;\r
-                       while(oC)\r
-                       {\r
-                               nPrev=nNext;\r
-                               if(oC.nodeName=="key")\r
-                               {\r
-                                       var sName=oC.getAttribute("name");\r
-                                       if(sName&&sName.length>0)\r
-                                       {\r
-                                               var sTarget=oC.getAttribute("target");\r
-                                               var item=new Object();\r
-                                               item.nType=2;\r
-                                               item.sName=sName;\r
-                                               if(sTarget)\r
-                                                       item.sTarget=sTarget;\r
-                                               item.nPKOff=nPrev;\r
-                                               aData[aData.length]=item;\r
-                                               var nCurIndex=aData.length;\r
-                                               processKey(oC,aData,item);\r
-                                               nNext=aData.length-nCurIndex;\r
-                                               item.nNKOff=nNext;\r
-                                       }\r
-                               }\r
-                               else if(oC.nodeName=="letter")\r
-                               {\r
-                                       var name=oC.getAttribute("name");\r
-                                       if(name&&name.length>0)\r
-                                       {\r
-                                               var item=new Object();\r
-                                               item.nType=1;\r
-                                               item.sName=name;\r
-                                               item.nPKOff=nPrev;\r
-                                               nNext=0;\r
-                                               item.nNKOff=nNext;\r
-                                               aData[aData.length]=item;\r
-                                       }\r
-                               }\r
-                               else if(oC.nodeName=="entry")\r
-                               {\r
-                                       var name=oC.getAttribute("name");\r
-                                       var def=oC.getAttribute("value");\r
-                                       if(name&&name.length>0)\r
-                                       {\r
-                                               var item=new Object();\r
-                                               item.sName=name;\r
-                                               item.sDef=def;\r
-                                               item.nPKOff=nPrev;\r
-                                               nNext=0;\r
-                                               item.nNKOff=nNext;\r
-                                               aData[aData.length]=item;\r
-                                       }\r
-                               }\r
-                               oC=oC.nextSibling;\r
-                       }\r
-                       putData(aData);\r
-               }\r
-       }\r
-}\r
-\r
-function processKey(element,aData,item)\r
-{\r
-       var i=0;\r
-       var nPrev=0;\r
-       var nNext=0;\r
-       var oC=element.firstChild;\r
-       while(oC)\r
-       {\r
-               if(oC.nodeName=="topic")\r
-               {\r
-                       var name=oC.getAttribute("name");\r
-                       var url=oC.getAttribute("url");\r
-                       if(url&&url.length!=0)\r
-                       {\r
-                               if(!name||name.length==0)\r
-                                       name=url;\r
-                               var topic=new Object();\r
-                               topic.sName=name;\r
-                               topic.sURL=url;\r
-                               if(!item.aTopics)\r
-                                       item.aTopics=new Array();\r
-                               item.aTopics[item.aTopics.length]=topic;\r
-                       }\r
-               }\r
-               else if(oC.nodeName=="key")\r
-               {\r
-                       nPrev=nNext;\r
-                       var name=oC.getAttribute("name");\r
-                       if(name&&name.length!=0)\r
-                       {\r
-                               var subItem=new Object();\r
-                               subItem.sName=name;\r
-                               subItem.nType=3;\r
-                               subItem.nPKOff=nPrev;\r
-                               aData[aData.length]=subItem;\r
-                               var nCurIndex=aData.length;\r
-                               processKey(oC,aData,subItem);\r
-                               nNext=aData.length-nCurIndex;\r
-                               subItem.nNKOff=nNext;\r
-                       }\r
-               }\r
-               oC=oC.nextSibling;\r
-       }\r
-}\r
-\r
-function putData(aData)\r
-{\r
-       endLoading();\r
-       var oCData=goCData;\r
-       if(oCData)\r
-       {\r
-               oCData.aKs=aData;\r
-               if(gnNKI==-1)\r
-                       setTimeout("checkReady();",1);\r
-               else\r
-               {\r
-                       gsSKA=getKByIdx(oCData,gnNKI);\r
-                       gbNeedCalc=true;\r
-                       gbScrl=true;\r
-                       gnNKI=-1;\r
-                       if(gsSKA)\r
-                               setTimeout("checkReady();",1);\r
-                       else\r
-                       {\r
-                               markEnd();\r
-                               setTimeout("checkAgain();",50);\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function markEnd()\r
-{\r
-       if(gbProcess)\r
-               gbProcess=false;\r
-}\r
-\r
-function endLoading()\r
-{\r
-       var oDiv=getElement(gsLoadingDivID);\r
-       if(oDiv)\r
-               oDiv.style.visibility="hidden";\r
-}\r
-\r
-function markBegin()\r
-{\r
-       gbProcess=true;\r
-}\r
-\r
-function beginLoading()\r
-{\r
-       var oDiv=getElement(gsLoadingDivID);\r
-       if(oDiv)\r
-       {\r
-               oDiv.style.top=document.body.scrollTop;\r
-               oDiv.style.visibility="visible";\r
-       }\r
-}\r
-\r
-function indexHTMLPart()\r
-{\r
-       this.sHTML="";\r
-       this.nNeeded=0;\r
-       this.nCurrent=0;\r
-       this.nConsumed=0;\r
-       this.sFK=null;\r
-       this.sLK=null;\r
-       this.addHTML=function(sHTML,nConsumed,bDown,bK,sK){\r
-               if(bDown)\r
-                       this.sHTML+=sHTML;\r
-               else\r
-                       this.sHTML=sHTML+this.sHTML;\r
-               this.nCurrent++;                        \r
-               this.nConsumed+=nConsumed;\r
-               if(bK)\r
-               {\r
-                       if(!this.sFK)\r
-                               this.sFK=sK;\r
-                       if(!this.sLK)\r
-                               this.sLK=sK;\r
-                       if(bDown)\r
-                               this.sLK=sK;\r
-                       else\r
-                               this.sFK=sK;\r
-               }\r
-       }\r
-       this.appendHTML=function(oHTML,bDown){\r
-               this.addSubHTML(oHTML,bDown);\r
-               if(!this.sFK)\r
-                       this.sFK=oHTML.sFK;\r
-               if(!this.sLK)\r
-                       this.sLK=oHTML.sLK;\r
-               if(bDown)\r
-                       this.sLK=oHTML.sLK;\r
-               else\r
-                       this.sFK=oHTML.sFK;\r
-       }       \r
-       \r
-       this.addSubHTML=function(oHTML,bDown){\r
-               if(bDown)\r
-                       this.sHTML+=oHTML.sHTML;\r
-               else\r
-                       this.sHTML=oHTML.sHTML+this.sHTML;\r
-               this.nCurrent+=oHTML.nCurrent;\r
-               this.nConsumed+=oHTML.nConsumed;                        \r
-       }\r
-}\r
-\r
-function getMaxUnits()\r
-{\r
-       return Math.floor(gnMaxMargin/gnUHeight)+1;\r
-}\r
-\r
-function getFakeItemsHTMLbyCount(nB,nCount)\r
-{\r
-       var nMU=getMaxUnits();\r
-       var nNum=Math.floor(nCount/nMU);\r
-       var sHTML="";\r
-       for(var i=0;i<nNum;i++)\r
-               sHTML+=getFakeItemHTML(nB,nMU-1);\r
-               \r
-       var nRest=nCount%nMU;\r
-       sHTML+=getFakeItemHTML(nB,nRest-1);\r
-       return sHTML;\r
-}\r
-\r
-function getFakeItemHTML(nB,nNum)\r
-{\r
-       return "<h6 name=fk"+nB+" id=fk"+nB+" style=\"margin-top:"+gnUHeight*nNum+";margin-bottom:0\">&nbsp;</h6>";\r
-}\r
-\r
-function fakeItemsArea(nB,n,sKA,sKB,obj)\r
-{\r
-       this.nB=nB;\r
-       this.nNum=n;\r
-       this.sKA=sKA;\r
-       this.sKB=sKB;\r
-       this.obj=obj;\r
-       this.nMargin=(n-1)*gnUHeight;\r
-\r
-       this.setNum=function(n)\r
-       {\r
-               var nLastobj=-1;\r
-               var nDelta=this.nMargin;\r
-               this.nMargin=(n-1)*gnUHeight;\r
-               nDelta=nDelta-this.nMargin;\r
-               if(n>0)\r
-               {\r
-                       this.nNum=n;\r
-                       var nMU=getMaxUnits();\r
-                       nLastobj=Math.floor((n-1)/nMU);\r
-                       if(this.obj.length)\r
-                               this.obj[nLastobj].style.marginTop=((n-1)%nMU)*gnUHeight;\r
-                       else\r
-                               this.obj.style.marginTop=((n-1)%nMU)*gnUHeight;\r
-               }\r
-               if(this.obj.length)\r
-               {\r
-                       for(var i=this.obj.length-1;i>nLastobj;i--)\r
-                               removeThis(this.obj[i]);\r
-               }\r
-               else\r
-               {\r
-                       if(nLastobj==-1)\r
-                               removeThis(this.obj);\r
-               }\r
-               return nDelta;\r
-       }\r
-       this.insertAdjacentHTML=function(sWhere,sHTML)\r
-       {\r
-               if(sWhere=="beforeBegin")\r
-               {\r
-                       if(this.obj.length)\r
-                               this.obj[0].insertAdjacentHTML(sWhere,sHTML);\r
-                       else\r
-                               this.obj.insertAdjacentHTML(sWhere,sHTML);\r
-               }\r
-               else if(sWhere=="afterEnd")\r
-               {\r
-                       if(this.obj.length)\r
-                       {\r
-                               if(gbMac&&gbIE5&&this.obj[this.obj.length-1].nextSibling)\r
-                                       this.obj[this.obj.length-1].nextSibling.insertAdjacentHTML("beforeBegin",sHTML);\r
-                               else\r
-                                       this.obj[this.obj.length-1].insertAdjacentHTML(sWhere,sHTML);\r
-                       }\r
-                       else\r
-                       {\r
-                               if(gbMac&&gbIE5&&this.obj.nextSibling)\r
-                                       this.obj.nextSibling.insertAdjacentHTML("beforeBegin",sHTML);\r
-                               else\r
-                                       this.obj.insertAdjacentHTML(sWhere,sHTML);\r
-                       }\r
-               }\r
-       }\r
-       this.getBtm=function()\r
-       {\r
-               if(this.obj.length)\r
-                       return this.obj[this.obj.length-1].offsetTop;\r
-               else\r
-                       return this.obj.offsetTop;\r
-       }\r
-       this.getTop=function()\r
-       {\r
-               return this.getBtm()-this.nMargin;\r
-       }\r
-}\r
-\r
-function usedItems(nB,nE)\r
-{\r
-       this.nB=nB;\r
-       this.nE=nE;\r
-       this.oN=null;\r
-}\r
-\r
-function checkReady()\r
-{\r
-       var len=gaChunks.length;\r
-       var bNeedLoad=false;\r
-       var aDataCon;\r
-       var s=0;\r
-       var bDown=(gsSKB==null);\r
-       var sK=bDown?gsSKA:gsSKB;\r
-       if(sK==null)\r
-       {\r
-               markEnd();\r
-               setTimeout("checkAgain();",50);\r
-               return;\r
-       }\r
-       if(!gsChK||sK!=gsChK||gnNum==0)\r
-       {\r
-               gnCheck=0;\r
-               gsChK=sK;\r
-               aDataCon=new Array();\r
-       }\r
-       else{\r
-               s=gnNum;\r
-               aDataCon=gaDataCon;\r
-       }\r
-       for(var i=gnCheck;i<len;i++)\r
-       {\r
-               var oCData=getChunkedData(i,bDown,sK);\r
-               if(oCData)\r
-               {\r
-                       if(!oCData.aKs&&oCData.sFileName!=null)\r
-                       {\r
-                               bNeedLoad=true;\r
-                               goCData=oCData;\r
-                               gnNum=s;\r
-                               gnCheck=i;\r
-                               gaDataCon=aDataCon;\r
-                               oCData.nProjId=i;\r
-                               gbLoadInfo=false;\r
-                               beginLoading();\r
-                               loadData2(gaData[i].sPPath+gaData[i].sDPath+oCData.sFileName);\r
-                               return;\r
-                       }\r
-                       else{\r
-                               aDataCon[s++]=oCData;\r
-                       }\r
-               }\r
-       }\r
-       if(!bNeedLoad)\r
-       {\r
-               gnNum=0;\r
-               gsSKA=gsSKB=gsShowK=null;\r
-               \r
-               var oHTML=new indexHTMLPart();\r
-               var aPos=new Array();\r
-               var aOriPos=new Array();\r
-               var aMaxPos=new Array();\r
-               var aMinPos=new Array();\r
-               \r
-               if(gbNeedCalc||gbFindCK) gnIns=0;\r
-               for(i=0;i<aDataCon.length;i++)\r
-               {\r
-                       aPos[i]=getIdxPos(aDataCon[i],bDown,sK);\r
-                       if(gbNeedCalc||gbFindCK)\r
-                       {\r
-                               gnIns+=aPos[i]+aDataCon[i].nTotal-aDataCon[i].nNum;\r
-                               if(!bDown)\r
-                               {\r
-                                       if(aPos[i]!=-1)\r
-                                       {\r
-                                               if(aDataCon[i].aKs)\r
-                                                       gnIns+=aDataCon[i].aKs[aPos[i]].nNKOff;\r
-                                               else\r
-                                               {\r
-                                                       var n=aPos[i]+1;\r
-                                                       while(n<aDataCon[i].aKsOnly.length&&!aDataCon[i].aKsOnly[n])\r
-                                                               n++;\r
-                                                       n=n-aPos[i]-1;\r
-                                                       gnIns+=n;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-                       aOriPos[i]=aPos[i];\r
-                       getLimit(aDataCon,aPos,aMaxPos,aMinPos,i);\r
-               }\r
-               if((gbNeedCalc||gbFindCK)&&!bDown&&gnIns!=-1)\r
-               {\r
-                       gnIns+=(aDataCon.length-1)\r
-               }\r
-               if(gnIns!=-1||gbFindCK)\r
-               {\r
-                       oHTML.nNeeded=gnNeeded;\r
-                       var bDone=writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,1);\r
-                       if(oHTML.nConsumed!=0)\r
-                       {\r
-                               var nB;\r
-                               if(!bDown)\r
-                                       nB=gnIns-oHTML.nConsumed+1;\r
-                               else\r
-                                       nB=gnIns;\r
-                                       \r
-                               var oldScrollPos=document.body.scrollTop;\r
-                               if(insertIdxKs(nB,oHTML,gbScrl))\r
-                               {\r
-                                       updateUsedK(aDataCon,aOriPos,aPos,bDown);\r
-                                       if(!gbScrl&&gbMac)\r
-                                       {\r
-                                               while(document.body.scrollTop!=oldScrollPos)\r
-                                                       document.body.scrollTop=oldScrollPos;\r
-                                       }\r
-                                       gbScrl=false;\r
-                               }\r
-                               if(gbFindCK)\r
-                               {\r
-                                       gbFindCK=false;\r
-                                       gbNeedCalc=true;\r
-                                       gsSKB=oHTML.sFK;\r
-                                       gnIns=-1;\r
-                                       setTimeout("checkReady();",50);\r
-                                       return;\r
-                               }\r
-                       }\r
-                       else if(gbFindCK)\r
-                       {\r
-                               gbFindCK=false;\r
-                               gbNeedCalc=true;\r
-                               gsSKB=getFirstKeyFromPos(aDataCon,aPos);\r
-                               gnIns=-1;\r
-                               setTimeout("checkReady();",50);\r
-                               return;\r
-                       }\r
-                       if(!findCKInDom()) return;\r
-\r
-                       gnNeeded=gnNeeded-oHTML.nCurrent;\r
-                       gnIns=-1;\r
-                       markEnd();\r
-                       setTimeout("checkAgain();",50);\r
-                       gbNeedCalc=false;\r
-               }\r
-               else\r
-               {\r
-                       if(!findCKInDom()) return;\r
-                       markEnd();\r
-                       setTimeout("checkAgain();",50);\r
-               }\r
-       }\r
-}\r
-\r
-function getFirstKeyFromPos(aDataCon,aPos)\r
-{\r
-       var sCurrentK=getBiggestChar();\r
-       for(var i=0;i<aPos.length;i++)\r
-       {\r
-               if(aDataCon[i].aKs&&aDataCon[i].aKs.length>0&&aPos[i]>=0&&aPos[i]<aDataCon[i].aKs.length)\r
-               {\r
-                       if(sCurrentK==""||\r
-                               compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)\r
-                       {\r
-                               sCurrentK=aDataCon[i].aKs[aPos[i]].sName;\r
-                       }\r
-               }\r
-       }\r
-       return sCurrentK;\r
-}\r
-\r
-function checkAgain()\r
-{\r
-       if(!gbProcess)\r
-       {\r
-               if(gsBCK!=null)\r
-               {\r
-                       gsCK=gsBCK;\r
-                       gsBCK=null;\r
-                       findCK();\r
-               }\r
-               else\r
-               {\r
-                       markBegin();\r
-                       getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
-               }\r
-       }\r
-       else\r
-               setTimeout("checkAgain()",50);\r
-}\r
-\r
-function getLimit(aDataCon,aPos,aMaxPos,aMinPos,i)\r
-{\r
-       aMaxPos[i]=aDataCon[i].nNum;\r
-       aMinPos[i]=-1;\r
-       var oPNode=null;\r
-       if(aDataCon[i].oUsedItems)\r
-       {\r
-               var oUsedItems=aDataCon[i].oUsedItems;\r
-               do{\r
-                       if(oUsedItems.nB>aPos[i])\r
-                       {\r
-                               aMaxPos[i]=oUsedItems.nB;\r
-                               break;\r
-                       }\r
-                       oPNode=oUsedItems;\r
-                       oUsedItems=oUsedItems.oN;\r
-               }while(oUsedItems!=null);\r
-               if(oPNode)\r
-                       aMinPos[i]=oPNode.nE;\r
-       }\r
-       else if(aDataCon[i].aKs==null)\r
-       {\r
-               aMaxPos[i]=aMinPos[i]=aPos[i];\r
-       }\r
-       if(aMinPos[i]>=aPos[i]||aMaxPos[i]<=aPos[i])\r
-       {\r
-               aMaxPos[i]=aMinPos[i]=aPos[i];\r
-       }\r
-}\r
-\r
-function getIdxPos(oIdx,bDown,sK)\r
-{\r
-       var aKs=oIdx.aKs;\r
-       var nIdx;\r
-       if(bDown)\r
-               nIdx=oIdx.nNum;\r
-       else\r
-               nIdx=-1;\r
-       if(aKs!=null)\r
-       {\r
-               for(var i=0;i<aKs.length;i++)\r
-               {       \r
-                       if(bDown)\r
-                       {\r
-                               if(compare(aKs[i].sName,sK)>0)\r
-                               {\r
-                                       nIdx=i;\r
-                                       break;\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               if(compare(aKs[i].sName,sK)<0)\r
-                                       nIdx=i;\r
-                               else\r
-                                       break;\r
-                       }\r
-                       i+=aKs[i].nNKOff;\r
-               }\r
-       }\r
-       else if(oIdx.aKsOnly)\r
-       {\r
-               var aKsOnly=oIdx.aKsOnly;\r
-               for(var i=0;i<aKsOnly.length;i++)\r
-               {       \r
-                       if(aKsOnly[i])\r
-                       {\r
-                               if(bDown)\r
-                               {\r
-                                       if(compare(aKsOnly[i],sK)>0)\r
-                                       {\r
-                                               nIdx=i;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       if(compare(aKsOnly[i],sK)<0)\r
-                                               nIdx=i;\r
-                                       else\r
-                                               break;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       return nIdx;\r
-}\r
-\r
-function writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,nLevel)\r
-{\r
-       var aOldPos=new Array();\r
-       for(var i=0;i<aPos.length;i++)\r
-       {\r
-               aOldPos[i]=aPos[i];\r
-       }\r
-       var p;\r
-       do{\r
-               var sCurrentK="";\r
-               var aCurIdxSet=new Array();\r
-               p=0;\r
-               for(i=0;i<aDataCon.length;i++)\r
-               {\r
-                       if(aDataCon[i].aKs&&aDataCon[i].aKs.length&&aPos[i]!=-1&&\r
-                               (bDown&&aPos[i]<aMaxPos[i])||(!bDown&&aPos[i]>aMinPos[i]))\r
-                       {\r
-                               if(sCurrentK==""||\r
-                                       (bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)||\r
-                                       (!bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)<0))\r
-                               {\r
-                                       sCurrentK=aDataCon[i].aKs[aPos[i]].sName;\r
-                                       p=0;\r
-                                       aCurIdxSet[p++]=i;\r
-                               }\r
-                               else if(compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)==0){\r
-                                       aCurIdxSet[p++]=i;\r
-                               }\r
-                       }\r
-                       else if(nLevel==1&&aMaxPos[i]!=aMinPos[i]){\r
-                               if(bDown&&aPos[i]==aMaxPos[i])\r
-                               {\r
-                                       if(aDataCon[i].aKs)\r
-                                       {\r
-                                               gsSKA=aDataCon[i].aKs[aOldPos[i]].sName;\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                               else if(!bDown&&aPos[i]==aMinPos[i])\r
-                               {\r
-                                       if(aDataCon[i].aKs)\r
-                                       {\r
-                                               gsSKB=aDataCon[i].aKs[aOldPos[i]].sName;\r
-                                               return false;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               if(p>=1){\r
-                       for(var s=0;s<p;s++)\r
-                       {\r
-                               aOldPos[aCurIdxSet[s]]=aPos[aCurIdxSet[s]];\r
-                       }\r
-                       mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,p,aPos,nLevel);\r
-                       adjustPosition(bDown,aDataCon,aCurIdxSet,p,aPos);\r
-                       \r
-                       if(nLevel==1&&oHTML.nNeeded<=oHTML.nCurrent){\r
-                               return true;\r
-                       }\r
-               }\r
-       }while(p>0);\r
-       return true;\r
-}\r
-\r
-function updateUsedK(aDataCon,aOriPos,aOldPos,bDown)\r
-{\r
-       for(var i=0;i<aDataCon.length;i++)\r
-       {\r
-               if (aOldPos[i]!=aOriPos[i])\r
-               {\r
-                       var nBP=0;\r
-                       var nEP=0;\r
-                       if(bDown)\r
-                       {\r
-                               nBP=aOriPos[i];\r
-                               nEP=aOldPos[i]-1;\r
-                       }\r
-                       else\r
-                       {\r
-                               if (aOldPos[i]!=-1)\r
-                                       nBP=aOldPos[i]+aDataCon[i].aKs[aOldPos[i]].nNKOff+1;\r
-                               else\r
-                                       nBP=0;\r
-                               nEP=aOriPos[i]+aDataCon[i].aKs[aOriPos[i]].nNKOff;\r
-                       }\r
-                       if(nBP<=nEP)\r
-                       {\r
-                               setContentsUsed(aDataCon[i],nBP,nEP);\r
-                               \r
-                               var oFirstPair=aDataCon[i].oUsedItems;\r
-                               if(oFirstPair.oN==null&&oFirstPair.nB==0&&oFirstPair.nE==aDataCon[i].nNum-1)\r
-                               {\r
-                                       storeKeysOnly(aDataCon[i]);\r
-                                       aDataCon[i].oUsedItems=aDataCon[i].aKs=aDataCon[i].sFileName=null;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function storeKeysOnly(oCData)\r
-{\r
-       oCData.aKsOnly=new Array();\r
-       for(var i=0;i<oCData.aKs.length;i++)\r
-       {\r
-               oCData.aKsOnly[i]=oCData.aKs[i].sName;\r
-               i+=oCData.aKs[i].nNKOff;\r
-       }\r
-}\r
-\r
-function setContentsUsed(oIdx,nB,nE)\r
-{\r
-       if(!oIdx.oUsedItems)\r
-               oIdx.oUsedItems=new usedItems(nB,nE);\r
-       else\r
-       {\r
-               var oUsedItems=oIdx.oUsedItems;\r
-               var oPNode=null;\r
-               do{\r
-                       if(oUsedItems.nB>nB)\r
-                       {\r
-                               if(oUsedItems.nB==nE+1)\r
-                               {\r
-                                       oUsedItems.nB=nB;\r
-                               }\r
-                               else{\r
-                                       var oNewNode=new usedItems(oUsedItems.nB,oUsedItems.nE);\r
-                                       oNewNode.oN=oUsedItems.oN;\r
-                                       oUsedItems.nB=nB;\r
-                                       oUsedItems.nE=nE;\r
-                                       oUsedItems.oN=oNewNode;\r
-                               }\r
-                               break;\r
-                       }\r
-                       oPNode=oUsedItems;\r
-                       oUsedItems=oUsedItems.oN;\r
-               }while(oUsedItems);\r
-               if(!oUsedItems)\r
-               {\r
-                       if(oPNode!=null)\r
-                               oPNode.oN=new usedItems(nB,nE);\r
-               }\r
-               if(oPNode!=null){\r
-                       if(oPNode.nE==oPNode.oN.nB-1)\r
-                       {\r
-                               oPNode.nE=oPNode.oN.nE;\r
-                               oPNode.oN=oPNode.oN.oN;\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function projInfo(sPPath,sDPath,sFile)\r
-{\r
-       this.sPPath=sPPath;\r
-       this.sDPath=sDPath;\r
-       this.sFile=sFile;\r
-}\r
-\r
-function addProjInfo(sPPath,sDPath,sFile)\r
-{\r
-       var oIdxInfo=new projInfo(sPPath,sDPath,sFile);\r
-       gaData[gaData.length]=oIdxInfo;\r
-       return oIdxInfo;\r
-}\r
-\r
-function writeDataIFrame()\r
-{\r
-       if(gnLoad<gaData.length)\r
-       {\r
-               gbLoadInfo=true;\r
-               loadData2(gaData[gnLoad].sPPath+gaData[gnLoad].sDPath+gaData[gnLoad].sFile);\r
-       }\r
-       else{\r
-               if(gnItems!=0)\r
-               {\r
-                       markBegin();\r
-                       writeFakeItems();\r
-                       gsSKA="";\r
-                       gnNeeded=gnVisible;\r
-                       gnIns=0;\r
-                       checkReady();\r
-               }\r
-       }\r
-}\r
-\r
-function getH6ById(nPos)\r
-{\r
-       if(document.all)\r
-               return document.all("fk"+nPos);\r
-       else if(document.getElementsByName)\r
-               return document.getElementsByName("fk"+nPos);\r
-       return null;            \r
-}\r
-\r
-function showItemsInEvaluation(nBP)\r
-{\r
-       var bRtn=true;\r
-       var fPer=nBP/gnItems;\r
-       var nB=Math.floor(fPer*gnMaxItems);\r
-       var oCData=getChunkByIdx(gnRef,nB);\r
-       if(oCData)\r
-       {\r
-               if(!oCData.aKs&&oCData.sFileName!=null)\r
-               {\r
-                       gnNKI=nB;\r
-                       goCData=oCData;\r
-                       oCData.nProjId=gnRef;\r
-                       gbLoadInfo=false;\r
-                       beginLoading();\r
-                       loadData2(gaData[gnRef].sPPath+gaData[gnRef].sDPath+oCData.sFileName);\r
-               }\r
-               else{\r
-                       gsSKA=getKByIdx(oCData,nB);\r
-                       if(gsSKA)\r
-                       {\r
-                               gsSKB=null;\r
-                               gbNeedCalc=true;\r
-                               gbScrl=true;\r
-                               checkReady()\r
-                       }\r
-                       else\r
-                       {\r
-                               markEnd();\r
-                               bRtn=false;\r
-                       }\r
-               }\r
-       }\r
-       else\r
-       {\r
-               markEnd();\r
-               bRtn=false;\r
-       }\r
-       return bRtn;\r
-}\r
-\r
-function isUsed(oCData,nPos)\r
-{\r
-       var oUsed=oCData.oUsedItems;\r
-       while(oUsed&&oUsed.nB<=nPos)\r
-       {\r
-               if(oUsed.nE>=nPos) return true;\r
-               oUsed=oUsed.oN;\r
-       }\r
-       return false;\r
-}\r
-\r
-function getKByIdx(oCData,nB)\r
-{\r
-       var nRelPos=nB-(oCData.nTotal-oCData.nNum);\r
-       var aIKs=oCData.aKs;\r
-       if(nRelPos>=0&&aIKs&&nRelPos<aIKs.length)\r
-       {\r
-               var oK=null;\r
-               do{\r
-                       oK=aIKs[nRelPos++];\r
-               }       \r
-               while((oK.nType==3||isUsed(oCData,nRelPos-1))&&nRelPos<aIKs.length);\r
-               if(oK.nType!=3)\r
-               {\r
-                       return oK.sName;\r
-               }\r
-               else{\r
-                       nRelPos=nB-(oCData.nTotal-oCData.nNum)-1;\r
-                       if(nRelPos>=0)\r
-                       {\r
-                               do{\r
-                                       oK=aIKs[nRelPos--];\r
-                               }\r
-                               while((oK.nType==3||isUsed(oCData,nRelPos+1))&&nRelPos>=0);\r
-                       }\r
-                       if(oK.nType!=3)\r
-                       {\r
-                               return oK.sName;\r
-                       }\r
-               }\r
-       }\r
-       return null;\r
-}\r
-\r
-function loadData2(sFileName)\r
-{\r
-       disEvt();\r
-       if(gbXML)\r
-               loadDataXML(sFileName);\r
-       else\r
-               loadData(sFileName);\r
-       enEvt();\r
-}\r
-\r
-function projReady(aChunk)\r
-{\r
-       gaChunks[gnLoad++]=aChunk;\r
-       var len=aChunk.length;\r
-       var nTotal=0;\r
-       if(len>0)\r
-               nTotal=aChunk[len-1].nTotal;\r
-       gnItems+=nTotal;\r
-       if(nTotal>gnMaxItems)\r
-       {\r
-               gnMaxItems=nTotal;\r
-               gnRef=gnLoad-1;\r
-       }\r
-       setTimeout("writeDataIFrame();",1);\r
-}\r
-\r
-function writeFakeItems()\r
-{\r
-       disEvt();\r
-       gnUHeight=15;\r
-       var sHTML=getFakeItemsHTMLbyCount(0,gnItems);\r
-       document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-       var obj=getH6ById(0);\r
-       if (document.body != null)\r
-       {\r
-               gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);\r
-       }\r
-       gaFakes[0]=new fakeItemsArea(0,gnItems,"",getEndString(),obj);\r
-       enEvt();\r
-}\r
-\r
-function getEndString()\r
-{\r
-       var sBC=getBiggestChar();\r
-       return sBC+sBC+sBC+sBC+sBC+sBC+sBC+sBC;\r
-}\r
-\r
-function getUnitIdx(nScrl,nHeight)\r
-{\r
-       if(gaFakes.length==0)\r
-       {\r
-               markEnd();\r
-               return;\r
-       }\r
-       var nB=0;\r
-       var nE=gaFakes.length-1;\r
-       var nM=-1;\r
-       var nTop=0;\r
-       var nBtm=0;\r
-       var bF=false;\r
-       do{\r
-               nM=(nB+nE)>>1;\r
-               nBtm=gaFakes[nM].getBtm();\r
-               nTop=gaFakes[nM].getTop();\r
-                       \r
-               if(nTop>=nScrl+nHeight)\r
-                       nE=nM-1;\r
-               else if(nBtm<nScrl)\r
-                       nB=nM+1;\r
-               else{\r
-                       bF=true;\r
-                       break;\r
-               }\r
-       }while(nE>=nB);\r
-       if(bF)\r
-       {\r
-               if(nTop>=nScrl){\r
-                       gsSKA=gaFakes[nM].sKA;\r
-                       gsSKB=null;\r
-                       gnNeeded=Math.ceil((nHeight-nTop+nScrl)/gnUHeight);\r
-                       gnIns=gaFakes[nM].nB;\r
-                       checkReady();\r
-               }\r
-               else if(nBtm<=nScrl+nHeight){\r
-                       gsSKB=gaFakes[nM].sKB;\r
-                       gsSKA=null;\r
-                       gnNeeded=Math.ceil((nBtm-nScrl+gnScrlMgn)/gnUHeight);\r
-                       gbNeedCalc=true;\r
-                       checkReady();\r
-               }\r
-               else{\r
-                       gnNeeded=gnVisible;\r
-                       var nUnitIdx=gaFakes[nM].nB+Math.floor((nScrl-nTop)/gnUHeight);\r
-                       if (!showItemsInEvaluation(nUnitIdx))\r
-                       {\r
-                               gsSKA=gaFakes[nM].sKA;\r
-                               gsSKB=null;\r
-                               gnNeeded=Math.ceil(nHeight/gnUHeight);\r
-                               gnIns=gaFakes[nM].nB;\r
-                               checkReady();\r
-                       }\r
-               }\r
-       }\r
-       else\r
-               markEnd();\r
-}\r
-\r
-function disEvt()\r
-{\r
-       window.onscroll=null;\r
-       window.onresize=null;\r
-}\r
-\r
-function enEvt()\r
-{\r
-       window.onscroll=window_OnScroll;\r
-       window.onresize=window_OnResize;\r
-}\r
-\r
-function insertIdxKs(nIns,oHTML,bScrl)\r
-{\r
-       var bRtn=true;\r
-       disEvt();\r
-       var nCount=oHTML.nConsumed;\r
-       var nB=0;\r
-       var nE=gaFakes.length-1;\r
-       var nM=-1;\r
-       var bF=false;\r
-       do{\r
-               nM=(nB+nE)>>1;\r
-               if(gaFakes[nM].nB>nIns)\r
-                       nE=nM-1;\r
-               else if(gaFakes[nM].nB+gaFakes[nM].nNum<=nIns)\r
-                       nB=nM+1;\r
-               else{\r
-                       bF=true;\r
-                       break;\r
-               }\r
-       }while(nE>=nB);\r
-       if(bF)\r
-       {\r
-               var oFIA=gaFakes[nM];\r
-               var nOffsetTop=oFIA.getTop();\r
-               var nOffsetBottom=oFIA.getBtm();\r
-               var nDelta=0;\r
-               var nHDiff=nIns-oFIA.nB;\r
-               var nTDiff=oFIA.nNum+oFIA.nB-(nIns+nCount);\r
-               if(nHDiff>0)\r
-               {\r
-                       nDelta=oFIA.setNum(nHDiff);\r
-                       var sOldKBefore=oFIA.sKB;\r
-                       oFIA.sKB=oHTML.sFK;\r
-                       if(nTDiff>0)\r
-                       {\r
-                               var sHTML=getFakeItemsHTMLbyCount(nIns,nTDiff);\r
-                               oFIA.insertAdjacentHTML("afterEnd",sHTML);\r
-                               var obj=getH6ById(nIns);\r
-                               insertItemIntoArray(gaFakes,nM+1,new fakeItemsArea(nIns+nCount,nTDiff,oHTML.sLK,sOldKBefore,obj));\r
-                       }\r
-                       oFIA.insertAdjacentHTML("afterEnd",oHTML.sHTML);        \r
-                       if(bScrl)\r
-                       {\r
-                               if(gbMac&&gbIE4)\r
-                               {\r
-                                       var nScrollPos=nOffsetBottom-nDelta;\r
-                                       while(document.body.scrollTop!=nScrollPos)\r
-                                               document.body.scrollTop=nScrollPos;\r
-                               }\r
-                               else\r
-                                       window.scrollTo(0,nOffsetBottom-nDelta);\r
-                       }\r
-               }\r
-               else{\r
-                       oFIA.insertAdjacentHTML("beforeBegin",oHTML.sHTML);\r
-                       if(bScrl){\r
-                               if(gbMac&&gbIE4)\r
-                               {\r
-                                       var nScrollPos=nOffsetTop;\r
-                                       while(document.body.scrollTop!=nScrollPos)\r
-                                               document.body.scrollTop=nScrollPos;\r
-                               }\r
-                               else\r
-                                       window.scrollTo(0,nOffsetTop);\r
-                       }\r
-                                       \r
-                       if(nTDiff>0)\r
-                       {\r
-                               oFIA.nB=nIns+nCount;\r
-                               nDelta=oFIA.setNum(nTDiff);\r
-                               oFIA.sKA=oHTML.sLK;\r
-                       }       \r
-                       else{\r
-                               gaFakes[nM].setNum(0);\r
-                               removeItemFromArray(gaFakes,nM);\r
-                       }\r
-               }\r
-       }\r
-       else\r
-               bRtn=false;\r
-       enEvt();\r
-       return bRtn;\r
-}\r
-\r
-function window_OnScroll()\r
-{\r
-       gnSE++;\r
-       setTimeout("procScroll();",50); \r
-}\r
-\r
-function procScroll()\r
-{\r
-       if(gnSE==1&&!gbProcess)\r
-       {\r
-               markBegin();\r
-               getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
-       }\r
-       gnSE--;\r
-}\r
-\r
-function window_OnResize()\r
-{\r
-       gnRE++;\r
-       setTimeout("procResize();",50);\r
-}\r
-\r
-function procResize()\r
-{\r
-       if(gnRE==1&&!gbProcess)\r
-       {\r
-               markBegin();\r
-               gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);\r
-               if(gnIns==-1)\r
-                       getUnitIdx(document.body.scrollTop,document.body.clientHeight);\r
-       }\r
-       gnRE--;\r
-}\r
-\r
-function getChunkByIdx(nIdx,nPosition)\r
-{\r
-       var oCData=null;\r
-       if(nIdx<gaChunks.length)\r
-       {\r
-               var len=gaChunks[nIdx].length;\r
-               if(len>0)\r
-               {\r
-                       var nB=0;\r
-                       var nE=len-1;\r
-                       var bF=false;\r
-                       do{\r
-                               var nM=(nB+nE)>>1;\r
-                               if(nPosition<gaChunks[nIdx][nM].nTotal)\r
-                               {\r
-                                       bF=true;\r
-                                       nE=nM;\r
-                               }\r
-                               else\r
-                                       nB=nM+1;\r
-                       }while(nE>nB);\r
-                       if(bF)\r
-                               oCData=gaChunks[nIdx][nE];\r
-                       else if(nPosition<gaChunks[nIdx][nB].nTotal)\r
-                               oCData=gaChunks[nIdx][nB];\r
-               }\r
-       }\r
-       return oCData;\r
-}\r
-\r
-function getChunkedData(nIdx,bDown,sK)\r
-{\r
-       var oCData=null;\r
-       var nCandId=-1;\r
-       if(nIdx<gaChunks.length)\r
-       {\r
-               var len=gaChunks[nIdx].length;\r
-               if(len>0)\r
-               {\r
-                       var nB=0;\r
-                       var nE=len-1;\r
-                       var bF=false;\r
-                       do{\r
-                               var nM=(nB+nE+(bDown?0:1))>>1;\r
-                               if(bDown)\r
-                               {\r
-                                       if(compare(sK,gaChunks[nIdx][nM].sEK)<0)\r
-                                       {\r
-                                               bF=true;\r
-                                               nE=nM;\r
-                                       }\r
-                                       else\r
-                                               nB=nM+1;\r
-                               }\r
-                               else\r
-                               {\r
-                                       if(compare(sK,gaChunks[nIdx][nM].sBK)>0)\r
-                                       {\r
-                                               bF=true;\r
-                                               nB=nM;\r
-                                       }\r
-                                       else\r
-                                               nE=nM-1;\r
-                               }\r
-                       }while(nE>nB);\r
-                       if(bF)\r
-                       {\r
-                               if(bDown)\r
-                                       nCandId=nE;\r
-                               else\r
-                                       nCandId=nB;\r
-                       }\r
-                       else\r
-                       {\r
-                               if(bDown)\r
-                               {\r
-                                       if(gaChunks[nIdx].length>nB&&compare(sK,gaChunks[nIdx][nB].sEK)<0)\r
-                                               nCandId=nB;\r
-                                       else\r
-                                               nCandId=gaChunks[nIdx].length-1;\r
-                               }\r
-                               else\r
-                               {\r
-                                       if(0<=nE&&compare(sK,gaChunks[nIdx][nE].sBK)>0)\r
-                                               nCandId=nE;\r
-                                       else\r
-                                               nCandId=0;\r
-                               }\r
-                       }\r
-                       return gaChunks[nIdx][nCandId];\r
-               }\r
-       }\r
-       return null;\r
-}\r
-\r
-function findCK()\r
-{\r
-       if(gsCK!=null)\r
-       {\r
-               gsSKA=gsCK;\r
-               gbFindCK=true;\r
-               gnNeeded=1;\r
-               markBegin();\r
-               checkReady();\r
-       }\r
-}\r
-\r
-function writeLoadingDiv(nIIdx)\r
-{\r
-       return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
+//     WebHelp 5.10.002
+var gaChunks=new Array();
+var gaFakes=new Array();
+var gaDataCon=null;
+var gaData=new Array();
+
+var gbFindCK=false;;
+var gbNeedCalc=false;
+var gbScrl=false;
+var gbProcess=false;
+var gbReady=false;
+
+var gnCheck=0;
+var gnNum=0;
+var gnIns=-1;
+var gnLoad=0;
+var gnRef=-1;
+var gnMaxItems=0;
+var gnMaxMargin=32000;
+var gnNeeded=0;
+var gnNKI=-1;
+var gnRE=0;
+var gnScrlMgn=30;
+var gnSE=0;
+var gnVisible=0;
+var gnItems=0;
+var gnUHeight=1;
+
+var gsBCK=null;
+var gsChK=null;
+var gsCK=null;
+var gsLoadingDivID="LoadingDiv";
+var gsLoadingMsg="Loading data, please wait...";
+var gsSKA=null;
+var gsSKB=null;
+
+var gbLoadInfo=false;
+
+function onLoadXMLError()
+{
+       if(gbLoadInfo)
+       {
+               var aChunk=new Array();
+               projReady(aChunk);
+       }
+       else
+       {
+               var aData=new Array();
+               putData(aData);
+       }
+}
+
+function putDataXML(xmlDoc,sDocPath)
+{
+       if(gbLoadInfo)
+       {
+               var node=xmlDoc.lastChild;
+               if(node)
+               {
+                       var nTotal=0
+                       var aChunk=new Array();
+                       var oC=node.firstChild;
+                       while(oC)
+                       {
+                               if(oC.nodeName=="chunkinfo")
+                               {
+                                       var item=new Object();
+                                       item.sBK=oC.getAttribute("first");
+                                       item.sEK=oC.getAttribute("last");
+                                       item.sFileName=oC.getAttribute("url");
+                                       item.nNum=parseInt(oC.getAttribute("num"));
+                                       nTotal+=item.nNum;
+                                       item.nTotal=nTotal;
+                                       aChunk[aChunk.length]=item;
+                               }
+                               oC=oC.nextSibling;
+                       }
+                       projReady(aChunk);
+               }
+       }
+       else
+       {
+               var node=xmlDoc.lastChild;
+               if(node)
+               {
+                       var aData=new Array();
+                       var nPrev=0;
+                       var nNext=0;
+                       var oC=node.firstChild;
+                       while(oC)
+                       {
+                               nPrev=nNext;
+                               if(oC.nodeName=="key")
+                               {
+                                       var sName=oC.getAttribute("name");
+                                       if(sName&&sName.length>0)
+                                       {
+                                               var sTarget=oC.getAttribute("target");
+                                               var item=new Object();
+                                               item.nType=2;
+                                               item.sName=sName;
+                                               if(sTarget)
+                                                       item.sTarget=sTarget;
+                                               item.nPKOff=nPrev;
+                                               aData[aData.length]=item;
+                                               var nCurIndex=aData.length;
+                                               processKey(oC,aData,item);
+                                               nNext=aData.length-nCurIndex;
+                                               item.nNKOff=nNext;
+                                       }
+                               }
+                               else if(oC.nodeName=="letter")
+                               {
+                                       var name=oC.getAttribute("name");
+                                       if(name&&name.length>0)
+                                       {
+                                               var item=new Object();
+                                               item.nType=1;
+                                               item.sName=name;
+                                               item.nPKOff=nPrev;
+                                               nNext=0;
+                                               item.nNKOff=nNext;
+                                               aData[aData.length]=item;
+                                       }
+                               }
+                               else if(oC.nodeName=="entry")
+                               {
+                                       var name=oC.getAttribute("name");
+                                       var def=oC.getAttribute("value");
+                                       if(name&&name.length>0)
+                                       {
+                                               var item=new Object();
+                                               item.sName=name;
+                                               item.sDef=def;
+                                               item.nPKOff=nPrev;
+                                               nNext=0;
+                                               item.nNKOff=nNext;
+                                               aData[aData.length]=item;
+                                       }
+                               }
+                               oC=oC.nextSibling;
+                       }
+                       putData(aData);
+               }
+       }
+}
+
+function processKey(element,aData,item)
+{
+       var i=0;
+       var nPrev=0;
+       var nNext=0;
+       var oC=element.firstChild;
+       while(oC)
+       {
+               if(oC.nodeName=="topic")
+               {
+                       var name=oC.getAttribute("name");
+                       var url=oC.getAttribute("url");
+                       if(url&&url.length!=0)
+                       {
+                               if(!name||name.length==0)
+                                       name=url;
+                               var topic=new Object();
+                               topic.sName=name;
+                               topic.sURL=url;
+                               if(!item.aTopics)
+                                       item.aTopics=new Array();
+                               item.aTopics[item.aTopics.length]=topic;
+                       }
+               }
+               else if(oC.nodeName=="key")
+               {
+                       nPrev=nNext;
+                       var name=oC.getAttribute("name");
+                       if(name&&name.length!=0)
+                       {
+                               var subItem=new Object();
+                               subItem.sName=name;
+                               subItem.nType=3;
+                               subItem.nPKOff=nPrev;
+                               aData[aData.length]=subItem;
+                               var nCurIndex=aData.length;
+                               processKey(oC,aData,subItem);
+                               nNext=aData.length-nCurIndex;
+                               subItem.nNKOff=nNext;
+                       }
+               }
+               oC=oC.nextSibling;
+       }
+}
+
+function putData(aData)
+{
+       endLoading();
+       var oCData=goCData;
+       if(oCData)
+       {
+               oCData.aKs=aData;
+               if(gnNKI==-1)
+                       setTimeout("checkReady();",1);
+               else
+               {
+                       gsSKA=getKByIdx(oCData,gnNKI);
+                       gbNeedCalc=true;
+                       gbScrl=true;
+                       gnNKI=-1;
+                       if(gsSKA)
+                               setTimeout("checkReady();",1);
+                       else
+                       {
+                               markEnd();
+                               setTimeout("checkAgain();",50);
+                       }
+               }
+       }
+}
+
+function markEnd()
+{
+       if(gbProcess)
+               gbProcess=false;
+}
+
+function endLoading()
+{
+       var oDiv=getElement(gsLoadingDivID);
+       if(oDiv)
+               oDiv.style.visibility="hidden";
+}
+
+function markBegin()
+{
+       gbProcess=true;
+}
+
+function beginLoading()
+{
+       var oDiv=getElement(gsLoadingDivID);
+       if(oDiv)
+       {
+               oDiv.style.top=document.body.scrollTop;
+               oDiv.style.visibility="visible";
+       }
+}
+
+function indexHTMLPart()
+{
+       this.sHTML="";
+       this.nNeeded=0;
+       this.nCurrent=0;
+       this.nConsumed=0;
+       this.sFK=null;
+       this.sLK=null;
+       this.addHTML=function(sHTML,nConsumed,bDown,bK,sK){
+               if(bDown)
+                       this.sHTML+=sHTML;
+               else
+                       this.sHTML=sHTML+this.sHTML;
+               this.nCurrent++;                        
+               this.nConsumed+=nConsumed;
+               if(bK)
+               {
+                       if(!this.sFK)
+                               this.sFK=sK;
+                       if(!this.sLK)
+                               this.sLK=sK;
+                       if(bDown)
+                               this.sLK=sK;
+                       else
+                               this.sFK=sK;
+               }
+       }
+       this.appendHTML=function(oHTML,bDown){
+               this.addSubHTML(oHTML,bDown);
+               if(!this.sFK)
+                       this.sFK=oHTML.sFK;
+               if(!this.sLK)
+                       this.sLK=oHTML.sLK;
+               if(bDown)
+                       this.sLK=oHTML.sLK;
+               else
+                       this.sFK=oHTML.sFK;
+       }       
+       
+       this.addSubHTML=function(oHTML,bDown){
+               if(bDown)
+                       this.sHTML+=oHTML.sHTML;
+               else
+                       this.sHTML=oHTML.sHTML+this.sHTML;
+               this.nCurrent+=oHTML.nCurrent;
+               this.nConsumed+=oHTML.nConsumed;                        
+       }
+}
+
+function getMaxUnits()
+{
+       return Math.floor(gnMaxMargin/gnUHeight)+1;
+}
+
+function getFakeItemsHTMLbyCount(nB,nCount)
+{
+       var nMU=getMaxUnits();
+       var nNum=Math.floor(nCount/nMU);
+       var sHTML="";
+       for(var i=0;i<nNum;i++)
+               sHTML+=getFakeItemHTML(nB,nMU-1);
+               
+       var nRest=nCount%nMU;
+       sHTML+=getFakeItemHTML(nB,nRest-1);
+       return sHTML;
+}
+
+function getFakeItemHTML(nB,nNum)
+{
+       return "<h6 name=fk"+nB+" id=fk"+nB+" style=\"margin-top:"+gnUHeight*nNum+";margin-bottom:0\">&nbsp;</h6>";
+}
+
+function fakeItemsArea(nB,n,sKA,sKB,obj)
+{
+       this.nB=nB;
+       this.nNum=n;
+       this.sKA=sKA;
+       this.sKB=sKB;
+       this.obj=obj;
+       this.nMargin=(n-1)*gnUHeight;
+
+       this.setNum=function(n)
+       {
+               var nLastobj=-1;
+               var nDelta=this.nMargin;
+               this.nMargin=(n-1)*gnUHeight;
+               nDelta=nDelta-this.nMargin;
+               if(n>0)
+               {
+                       this.nNum=n;
+                       var nMU=getMaxUnits();
+                       nLastobj=Math.floor((n-1)/nMU);
+                       if(this.obj.length)
+                               this.obj[nLastobj].style.marginTop=((n-1)%nMU)*gnUHeight;
+                       else
+                               this.obj.style.marginTop=((n-1)%nMU)*gnUHeight;
+               }
+               if(this.obj.length)
+               {
+                       for(var i=this.obj.length-1;i>nLastobj;i--)
+                               removeThis(this.obj[i]);
+               }
+               else
+               {
+                       if(nLastobj==-1)
+                               removeThis(this.obj);
+               }
+               return nDelta;
+       }
+       this.insertAdjacentHTML=function(sWhere,sHTML)
+       {
+               if(sWhere=="beforeBegin")
+               {
+                       if(this.obj.length)
+                               this.obj[0].insertAdjacentHTML(sWhere,sHTML);
+                       else
+                               this.obj.insertAdjacentHTML(sWhere,sHTML);
+               }
+               else if(sWhere=="afterEnd")
+               {
+                       if(this.obj.length)
+                       {
+                               if(gbMac&&gbIE5&&this.obj[this.obj.length-1].nextSibling)
+                                       this.obj[this.obj.length-1].nextSibling.insertAdjacentHTML("beforeBegin",sHTML);
+                               else
+                                       this.obj[this.obj.length-1].insertAdjacentHTML(sWhere,sHTML);
+                       }
+                       else
+                       {
+                               if(gbMac&&gbIE5&&this.obj.nextSibling)
+                                       this.obj.nextSibling.insertAdjacentHTML("beforeBegin",sHTML);
+                               else
+                                       this.obj.insertAdjacentHTML(sWhere,sHTML);
+                       }
+               }
+       }
+       this.getBtm=function()
+       {
+               if(this.obj.length)
+                       return this.obj[this.obj.length-1].offsetTop;
+               else
+                       return this.obj.offsetTop;
+       }
+       this.getTop=function()
+       {
+               return this.getBtm()-this.nMargin;
+       }
+}
+
+function usedItems(nB,nE)
+{
+       this.nB=nB;
+       this.nE=nE;
+       this.oN=null;
+}
+
+function checkReady()
+{
+       var len=gaChunks.length;
+       var bNeedLoad=false;
+       var aDataCon;
+       var s=0;
+       var bDown=(gsSKB==null);
+       var sK=bDown?gsSKA:gsSKB;
+       if(sK==null)
+       {
+               markEnd();
+               setTimeout("checkAgain();",50);
+               return;
+       }
+       if(!gsChK||sK!=gsChK||gnNum==0)
+       {
+               gnCheck=0;
+               gsChK=sK;
+               aDataCon=new Array();
+       }
+       else{
+               s=gnNum;
+               aDataCon=gaDataCon;
+       }
+       for(var i=gnCheck;i<len;i++)
+       {
+               var oCData=getChunkedData(i,bDown,sK);
+               if(oCData)
+               {
+                       if(!oCData.aKs&&oCData.sFileName!=null)
+                       {
+                               bNeedLoad=true;
+                               goCData=oCData;
+                               gnNum=s;
+                               gnCheck=i;
+                               gaDataCon=aDataCon;
+                               oCData.nProjId=i;
+                               gbLoadInfo=false;
+                               beginLoading();
+                               loadData2(gaData[i].sPPath+gaData[i].sDPath+oCData.sFileName);
+                               return;
+                       }
+                       else{
+                               aDataCon[s++]=oCData;
+                       }
+               }
+       }
+       if(!bNeedLoad)
+       {
+               gnNum=0;
+               gsSKA=gsSKB=gsShowK=null;
+               
+               var oHTML=new indexHTMLPart();
+               var aPos=new Array();
+               var aOriPos=new Array();
+               var aMaxPos=new Array();
+               var aMinPos=new Array();
+               
+               if(gbNeedCalc||gbFindCK) gnIns=0;
+               for(i=0;i<aDataCon.length;i++)
+               {
+                       aPos[i]=getIdxPos(aDataCon[i],bDown,sK);
+                       if(gbNeedCalc||gbFindCK)
+                       {
+                               gnIns+=aPos[i]+aDataCon[i].nTotal-aDataCon[i].nNum;
+                               if(!bDown)
+                               {
+                                       if(aPos[i]!=-1)
+                                       {
+                                               if(aDataCon[i].aKs)
+                                                       gnIns+=aDataCon[i].aKs[aPos[i]].nNKOff;
+                                               else
+                                               {
+                                                       var n=aPos[i]+1;
+                                                       while(n<aDataCon[i].aKsOnly.length&&!aDataCon[i].aKsOnly[n])
+                                                               n++;
+                                                       n=n-aPos[i]-1;
+                                                       gnIns+=n;
+                                               }
+                                       }
+                               }
+                       }
+                       aOriPos[i]=aPos[i];
+                       getLimit(aDataCon,aPos,aMaxPos,aMinPos,i);
+               }
+               if((gbNeedCalc||gbFindCK)&&!bDown&&gnIns!=-1)
+               {
+                       gnIns+=(aDataCon.length-1)
+               }
+               if(gnIns!=-1||gbFindCK)
+               {
+                       oHTML.nNeeded=gnNeeded;
+                       var bDone=writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,1);
+                       if(oHTML.nConsumed!=0)
+                       {
+                               var nB;
+                               if(!bDown)
+                                       nB=gnIns-oHTML.nConsumed+1;
+                               else
+                                       nB=gnIns;
+                                       
+                               var oldScrollPos=document.body.scrollTop;
+                               if(insertIdxKs(nB,oHTML,gbScrl))
+                               {
+                                       updateUsedK(aDataCon,aOriPos,aPos,bDown);
+                                       if(!gbScrl&&gbMac)
+                                       {
+                                               while(document.body.scrollTop!=oldScrollPos)
+                                                       document.body.scrollTop=oldScrollPos;
+                                       }
+                                       gbScrl=false;
+                               }
+                               if(gbFindCK)
+                               {
+                                       gbFindCK=false;
+                                       gbNeedCalc=true;
+                                       gsSKB=oHTML.sFK;
+                                       gnIns=-1;
+                                       setTimeout("checkReady();",50);
+                                       return;
+                               }
+                       }
+                       else if(gbFindCK)
+                       {
+                               gbFindCK=false;
+                               gbNeedCalc=true;
+                               gsSKB=getFirstKeyFromPos(aDataCon,aPos);
+                               gnIns=-1;
+                               setTimeout("checkReady();",50);
+                               return;
+                       }
+                       if(!findCKInDom()) return;
+
+                       gnNeeded=gnNeeded-oHTML.nCurrent;
+                       gnIns=-1;
+                       markEnd();
+                       setTimeout("checkAgain();",50);
+                       gbNeedCalc=false;
+               }
+               else
+               {
+                       if(!findCKInDom()) return;
+                       markEnd();
+                       setTimeout("checkAgain();",50);
+               }
+       }
+}
+
+function getFirstKeyFromPos(aDataCon,aPos)
+{
+       var sCurrentK=getBiggestChar();
+       for(var i=0;i<aPos.length;i++)
+       {
+               if(aDataCon[i].aKs&&aDataCon[i].aKs.length>0&&aPos[i]>=0&&aPos[i]<aDataCon[i].aKs.length)
+               {
+                       if(sCurrentK==""||
+                               compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)
+                       {
+                               sCurrentK=aDataCon[i].aKs[aPos[i]].sName;
+                       }
+               }
+       }
+       return sCurrentK;
+}
+
+function checkAgain()
+{
+       if(!gbProcess)
+       {
+               if(gsBCK!=null)
+               {
+                       gsCK=gsBCK;
+                       gsBCK=null;
+                       findCK();
+               }
+               else
+               {
+                       markBegin();
+                       getUnitIdx(document.body.scrollTop,document.body.clientHeight);
+               }
+       }
+       else
+               setTimeout("checkAgain()",50);
+}
+
+function getLimit(aDataCon,aPos,aMaxPos,aMinPos,i)
+{
+       aMaxPos[i]=aDataCon[i].nNum;
+       aMinPos[i]=-1;
+       var oPNode=null;
+       if(aDataCon[i].oUsedItems)
+       {
+               var oUsedItems=aDataCon[i].oUsedItems;
+               do{
+                       if(oUsedItems.nB>aPos[i])
+                       {
+                               aMaxPos[i]=oUsedItems.nB;
+                               break;
+                       }
+                       oPNode=oUsedItems;
+                       oUsedItems=oUsedItems.oN;
+               }while(oUsedItems!=null);
+               if(oPNode)
+                       aMinPos[i]=oPNode.nE;
+       }
+       else if(aDataCon[i].aKs==null)
+       {
+               aMaxPos[i]=aMinPos[i]=aPos[i];
+       }
+       if(aMinPos[i]>=aPos[i]||aMaxPos[i]<=aPos[i])
+       {
+               aMaxPos[i]=aMinPos[i]=aPos[i];
+       }
+}
+
+function getIdxPos(oIdx,bDown,sK)
+{
+       var aKs=oIdx.aKs;
+       var nIdx;
+       if(bDown)
+               nIdx=oIdx.nNum;
+       else
+               nIdx=-1;
+       if(aKs!=null)
+       {
+               for(var i=0;i<aKs.length;i++)
+               {       
+                       if(bDown)
+                       {
+                               if(compare(aKs[i].sName,sK)>0)
+                               {
+                                       nIdx=i;
+                                       break;
+                               }
+                       }
+                       else
+                       {
+                               if(compare(aKs[i].sName,sK)<0)
+                                       nIdx=i;
+                               else
+                                       break;
+                       }
+                       i+=aKs[i].nNKOff;
+               }
+       }
+       else if(oIdx.aKsOnly)
+       {
+               var aKsOnly=oIdx.aKsOnly;
+               for(var i=0;i<aKsOnly.length;i++)
+               {       
+                       if(aKsOnly[i])
+                       {
+                               if(bDown)
+                               {
+                                       if(compare(aKsOnly[i],sK)>0)
+                                       {
+                                               nIdx=i;
+                                               break;
+                                       }
+                               }
+                               else
+                               {
+                                       if(compare(aKsOnly[i],sK)<0)
+                                               nIdx=i;
+                                       else
+                                               break;
+                               }
+                       }
+               }
+       }
+       return nIdx;
+}
+
+function writeItems(oHTML,aDataCon,aPos,aMinPos,aMaxPos,bDown,nLevel)
+{
+       var aOldPos=new Array();
+       for(var i=0;i<aPos.length;i++)
+       {
+               aOldPos[i]=aPos[i];
+       }
+       var p;
+       do{
+               var sCurrentK="";
+               var aCurIdxSet=new Array();
+               p=0;
+               for(i=0;i<aDataCon.length;i++)
+               {
+                       if(aDataCon[i].aKs&&aDataCon[i].aKs.length&&aPos[i]!=-1&&
+                               (bDown&&aPos[i]<aMaxPos[i])||(!bDown&&aPos[i]>aMinPos[i]))
+                       {
+                               if(sCurrentK==""||
+                                       (bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)>0)||
+                                       (!bDown&&compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)<0))
+                               {
+                                       sCurrentK=aDataCon[i].aKs[aPos[i]].sName;
+                                       p=0;
+                                       aCurIdxSet[p++]=i;
+                               }
+                               else if(compare(sCurrentK,aDataCon[i].aKs[aPos[i]].sName)==0){
+                                       aCurIdxSet[p++]=i;
+                               }
+                       }
+                       else if(nLevel==1&&aMaxPos[i]!=aMinPos[i]){
+                               if(bDown&&aPos[i]==aMaxPos[i])
+                               {
+                                       if(aDataCon[i].aKs)
+                                       {
+                                               gsSKA=aDataCon[i].aKs[aOldPos[i]].sName;
+                                               return false;
+                                       }
+                               }
+                               else if(!bDown&&aPos[i]==aMinPos[i])
+                               {
+                                       if(aDataCon[i].aKs)
+                                       {
+                                               gsSKB=aDataCon[i].aKs[aOldPos[i]].sName;
+                                               return false;
+                                       }
+                               }
+                       }
+               }
+               if(p>=1){
+                       for(var s=0;s<p;s++)
+                       {
+                               aOldPos[aCurIdxSet[s]]=aPos[aCurIdxSet[s]];
+                       }
+                       mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,p,aPos,nLevel);
+                       adjustPosition(bDown,aDataCon,aCurIdxSet,p,aPos);
+                       
+                       if(nLevel==1&&oHTML.nNeeded<=oHTML.nCurrent){
+                               return true;
+                       }
+               }
+       }while(p>0);
+       return true;
+}
+
+function updateUsedK(aDataCon,aOriPos,aOldPos,bDown)
+{
+       for(var i=0;i<aDataCon.length;i++)
+       {
+               if (aOldPos[i]!=aOriPos[i])
+               {
+                       var nBP=0;
+                       var nEP=0;
+                       if(bDown)
+                       {
+                               nBP=aOriPos[i];
+                               nEP=aOldPos[i]-1;
+                       }
+                       else
+                       {
+                               if (aOldPos[i]!=-1)
+                                       nBP=aOldPos[i]+aDataCon[i].aKs[aOldPos[i]].nNKOff+1;
+                               else
+                                       nBP=0;
+                               nEP=aOriPos[i]+aDataCon[i].aKs[aOriPos[i]].nNKOff;
+                       }
+                       if(nBP<=nEP)
+                       {
+                               setContentsUsed(aDataCon[i],nBP,nEP);
+                               
+                               var oFirstPair=aDataCon[i].oUsedItems;
+                               if(oFirstPair.oN==null&&oFirstPair.nB==0&&oFirstPair.nE==aDataCon[i].nNum-1)
+                               {
+                                       storeKeysOnly(aDataCon[i]);
+                                       aDataCon[i].oUsedItems=aDataCon[i].aKs=aDataCon[i].sFileName=null;
+                               }
+                       }
+               }
+       }
+}
+
+function storeKeysOnly(oCData)
+{
+       oCData.aKsOnly=new Array();
+       for(var i=0;i<oCData.aKs.length;i++)
+       {
+               oCData.aKsOnly[i]=oCData.aKs[i].sName;
+               i+=oCData.aKs[i].nNKOff;
+       }
+}
+
+function setContentsUsed(oIdx,nB,nE)
+{
+       if(!oIdx.oUsedItems)
+               oIdx.oUsedItems=new usedItems(nB,nE);
+       else
+       {
+               var oUsedItems=oIdx.oUsedItems;
+               var oPNode=null;
+               do{
+                       if(oUsedItems.nB>nB)
+                       {
+                               if(oUsedItems.nB==nE+1)
+                               {
+                                       oUsedItems.nB=nB;
+                               }
+                               else{
+                                       var oNewNode=new usedItems(oUsedItems.nB,oUsedItems.nE);
+                                       oNewNode.oN=oUsedItems.oN;
+                                       oUsedItems.nB=nB;
+                                       oUsedItems.nE=nE;
+                                       oUsedItems.oN=oNewNode;
+                               }
+                               break;
+                       }
+                       oPNode=oUsedItems;
+                       oUsedItems=oUsedItems.oN;
+               }while(oUsedItems);
+               if(!oUsedItems)
+               {
+                       if(oPNode!=null)
+                               oPNode.oN=new usedItems(nB,nE);
+               }
+               if(oPNode!=null){
+                       if(oPNode.nE==oPNode.oN.nB-1)
+                       {
+                               oPNode.nE=oPNode.oN.nE;
+                               oPNode.oN=oPNode.oN.oN;
+                       }
+               }
+       }
+}
+
+function projInfo(sPPath,sDPath,sFile)
+{
+       this.sPPath=sPPath;
+       this.sDPath=sDPath;
+       this.sFile=sFile;
+}
+
+function addProjInfo(sPPath,sDPath,sFile)
+{
+       var oIdxInfo=new projInfo(sPPath,sDPath,sFile);
+       gaData[gaData.length]=oIdxInfo;
+       return oIdxInfo;
+}
+
+function writeDataIFrame()
+{
+       if(gnLoad<gaData.length)
+       {
+               gbLoadInfo=true;
+               loadData2(gaData[gnLoad].sPPath+gaData[gnLoad].sDPath+gaData[gnLoad].sFile);
+       }
+       else{
+               if(gnItems!=0)
+               {
+                       markBegin();
+                       writeFakeItems();
+                       gsSKA="";
+                       gnNeeded=gnVisible;
+                       gnIns=0;
+                       checkReady();
+               }
+       }
+}
+
+function getH6ById(nPos)
+{
+       if(document.all)
+               return document.all("fk"+nPos);
+       else if(document.getElementsByName)
+               return document.getElementsByName("fk"+nPos);
+       return null;            
+}
+
+function showItemsInEvaluation(nBP)
+{
+       var bRtn=true;
+       var fPer=nBP/gnItems;
+       var nB=Math.floor(fPer*gnMaxItems);
+       var oCData=getChunkByIdx(gnRef,nB);
+       if(oCData)
+       {
+               if(!oCData.aKs&&oCData.sFileName!=null)
+               {
+                       gnNKI=nB;
+                       goCData=oCData;
+                       oCData.nProjId=gnRef;
+                       gbLoadInfo=false;
+                       beginLoading();
+                       loadData2(gaData[gnRef].sPPath+gaData[gnRef].sDPath+oCData.sFileName);
+               }
+               else{
+                       gsSKA=getKByIdx(oCData,nB);
+                       if(gsSKA)
+                       {
+                               gsSKB=null;
+                               gbNeedCalc=true;
+                               gbScrl=true;
+                               checkReady()
+                       }
+                       else
+                       {
+                               markEnd();
+                               bRtn=false;
+                       }
+               }
+       }
+       else
+       {
+               markEnd();
+               bRtn=false;
+       }
+       return bRtn;
+}
+
+function isUsed(oCData,nPos)
+{
+       var oUsed=oCData.oUsedItems;
+       while(oUsed&&oUsed.nB<=nPos)
+       {
+               if(oUsed.nE>=nPos) return true;
+               oUsed=oUsed.oN;
+       }
+       return false;
+}
+
+function getKByIdx(oCData,nB)
+{
+       var nRelPos=nB-(oCData.nTotal-oCData.nNum);
+       var aIKs=oCData.aKs;
+       if(nRelPos>=0&&aIKs&&nRelPos<aIKs.length)
+       {
+               var oK=null;
+               do{
+                       oK=aIKs[nRelPos++];
+               }       
+               while((oK.nType==3||isUsed(oCData,nRelPos-1))&&nRelPos<aIKs.length);
+               if(oK.nType!=3)
+               {
+                       return oK.sName;
+               }
+               else{
+                       nRelPos=nB-(oCData.nTotal-oCData.nNum)-1;
+                       if(nRelPos>=0)
+                       {
+                               do{
+                                       oK=aIKs[nRelPos--];
+                               }
+                               while((oK.nType==3||isUsed(oCData,nRelPos+1))&&nRelPos>=0);
+                       }
+                       if(oK.nType!=3)
+                       {
+                               return oK.sName;
+                       }
+               }
+       }
+       return null;
+}
+
+function loadData2(sFileName)
+{
+       disEvt();
+       if(gbXML)
+               loadDataXML(sFileName);
+       else
+               loadData(sFileName);
+       enEvt();
+}
+
+function projReady(aChunk)
+{
+       gaChunks[gnLoad++]=aChunk;
+       var len=aChunk.length;
+       var nTotal=0;
+       if(len>0)
+               nTotal=aChunk[len-1].nTotal;
+       gnItems+=nTotal;
+       if(nTotal>gnMaxItems)
+       {
+               gnMaxItems=nTotal;
+               gnRef=gnLoad-1;
+       }
+       setTimeout("writeDataIFrame();",1);
+}
+
+function writeFakeItems()
+{
+       disEvt();
+       gnUHeight=15;
+       var sHTML=getFakeItemsHTMLbyCount(0,gnItems);
+       document.body.insertAdjacentHTML("beforeEnd",sHTML);
+       var obj=getH6ById(0);
+       if (document.body != null)
+       {
+               gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);
+       }
+       gaFakes[0]=new fakeItemsArea(0,gnItems,"",getEndString(),obj);
+       enEvt();
+}
+
+function getEndString()
+{
+       var sBC=getBiggestChar();
+       return sBC+sBC+sBC+sBC+sBC+sBC+sBC+sBC;
+}
+
+function getUnitIdx(nScrl,nHeight)
+{
+       if(gaFakes.length==0)
+       {
+               markEnd();
+               return;
+       }
+       var nB=0;
+       var nE=gaFakes.length-1;
+       var nM=-1;
+       var nTop=0;
+       var nBtm=0;
+       var bF=false;
+       do{
+               nM=(nB+nE)>>1;
+               nBtm=gaFakes[nM].getBtm();
+               nTop=gaFakes[nM].getTop();
+                       
+               if(nTop>=nScrl+nHeight)
+                       nE=nM-1;
+               else if(nBtm<nScrl)
+                       nB=nM+1;
+               else{
+                       bF=true;
+                       break;
+               }
+       }while(nE>=nB);
+       if(bF)
+       {
+               if(nTop>=nScrl){
+                       gsSKA=gaFakes[nM].sKA;
+                       gsSKB=null;
+                       gnNeeded=Math.ceil((nHeight-nTop+nScrl)/gnUHeight);
+                       gnIns=gaFakes[nM].nB;
+                       checkReady();
+               }
+               else if(nBtm<=nScrl+nHeight){
+                       gsSKB=gaFakes[nM].sKB;
+                       gsSKA=null;
+                       gnNeeded=Math.ceil((nBtm-nScrl+gnScrlMgn)/gnUHeight);
+                       gbNeedCalc=true;
+                       checkReady();
+               }
+               else{
+                       gnNeeded=gnVisible;
+                       var nUnitIdx=gaFakes[nM].nB+Math.floor((nScrl-nTop)/gnUHeight);
+                       if (!showItemsInEvaluation(nUnitIdx))
+                       {
+                               gsSKA=gaFakes[nM].sKA;
+                               gsSKB=null;
+                               gnNeeded=Math.ceil(nHeight/gnUHeight);
+                               gnIns=gaFakes[nM].nB;
+                               checkReady();
+                       }
+               }
+       }
+       else
+               markEnd();
+}
+
+function disEvt()
+{
+       window.onscroll=null;
+       window.onresize=null;
+}
+
+function enEvt()
+{
+       window.onscroll=window_OnScroll;
+       window.onresize=window_OnResize;
+}
+
+function insertIdxKs(nIns,oHTML,bScrl)
+{
+       var bRtn=true;
+       disEvt();
+       var nCount=oHTML.nConsumed;
+       var nB=0;
+       var nE=gaFakes.length-1;
+       var nM=-1;
+       var bF=false;
+       do{
+               nM=(nB+nE)>>1;
+               if(gaFakes[nM].nB>nIns)
+                       nE=nM-1;
+               else if(gaFakes[nM].nB+gaFakes[nM].nNum<=nIns)
+                       nB=nM+1;
+               else{
+                       bF=true;
+                       break;
+               }
+       }while(nE>=nB);
+       if(bF)
+       {
+               var oFIA=gaFakes[nM];
+               var nOffsetTop=oFIA.getTop();
+               var nOffsetBottom=oFIA.getBtm();
+               var nDelta=0;
+               var nHDiff=nIns-oFIA.nB;
+               var nTDiff=oFIA.nNum+oFIA.nB-(nIns+nCount);
+               if(nHDiff>0)
+               {
+                       nDelta=oFIA.setNum(nHDiff);
+                       var sOldKBefore=oFIA.sKB;
+                       oFIA.sKB=oHTML.sFK;
+                       if(nTDiff>0)
+                       {
+                               var sHTML=getFakeItemsHTMLbyCount(nIns,nTDiff);
+                               oFIA.insertAdjacentHTML("afterEnd",sHTML);
+                               var obj=getH6ById(nIns);
+                               insertItemIntoArray(gaFakes,nM+1,new fakeItemsArea(nIns+nCount,nTDiff,oHTML.sLK,sOldKBefore,obj));
+                       }
+                       oFIA.insertAdjacentHTML("afterEnd",oHTML.sHTML);        
+                       if(bScrl)
+                       {
+                               if(gbMac&&gbIE4)
+                               {
+                                       var nScrollPos=nOffsetBottom-nDelta;
+                                       while(document.body.scrollTop!=nScrollPos)
+                                               document.body.scrollTop=nScrollPos;
+                               }
+                               else
+                                       window.scrollTo(0,nOffsetBottom-nDelta);
+                       }
+               }
+               else{
+                       oFIA.insertAdjacentHTML("beforeBegin",oHTML.sHTML);
+                       if(bScrl){
+                               if(gbMac&&gbIE4)
+                               {
+                                       var nScrollPos=nOffsetTop;
+                                       while(document.body.scrollTop!=nScrollPos)
+                                               document.body.scrollTop=nScrollPos;
+                               }
+                               else
+                                       window.scrollTo(0,nOffsetTop);
+                       }
+                                       
+                       if(nTDiff>0)
+                       {
+                               oFIA.nB=nIns+nCount;
+                               nDelta=oFIA.setNum(nTDiff);
+                               oFIA.sKA=oHTML.sLK;
+                       }       
+                       else{
+                               gaFakes[nM].setNum(0);
+                               removeItemFromArray(gaFakes,nM);
+                       }
+               }
+       }
+       else
+               bRtn=false;
+       enEvt();
+       return bRtn;
+}
+
+function window_OnScroll()
+{
+       gnSE++;
+       setTimeout("procScroll();",50); 
+}
+
+function procScroll()
+{
+       if(gnSE==1&&!gbProcess)
+       {
+               markBegin();
+               getUnitIdx(document.body.scrollTop,document.body.clientHeight);
+       }
+       gnSE--;
+}
+
+function window_OnResize()
+{
+       gnRE++;
+       setTimeout("procResize();",50);
+}
+
+function procResize()
+{
+       if(gnRE==1&&!gbProcess)
+       {
+               markBegin();
+               gnVisible=Math.ceil(document.body.clientHeight/gnUHeight);
+               if(gnIns==-1)
+                       getUnitIdx(document.body.scrollTop,document.body.clientHeight);
+       }
+       gnRE--;
+}
+
+function getChunkByIdx(nIdx,nPosition)
+{
+       var oCData=null;
+       if(nIdx<gaChunks.length)
+       {
+               var len=gaChunks[nIdx].length;
+               if(len>0)
+               {
+                       var nB=0;
+                       var nE=len-1;
+                       var bF=false;
+                       do{
+                               var nM=(nB+nE)>>1;
+                               if(nPosition<gaChunks[nIdx][nM].nTotal)
+                               {
+                                       bF=true;
+                                       nE=nM;
+                               }
+                               else
+                                       nB=nM+1;
+                       }while(nE>nB);
+                       if(bF)
+                               oCData=gaChunks[nIdx][nE];
+                       else if(nPosition<gaChunks[nIdx][nB].nTotal)
+                               oCData=gaChunks[nIdx][nB];
+               }
+       }
+       return oCData;
+}
+
+function getChunkedData(nIdx,bDown,sK)
+{
+       var oCData=null;
+       var nCandId=-1;
+       if(nIdx<gaChunks.length)
+       {
+               var len=gaChunks[nIdx].length;
+               if(len>0)
+               {
+                       var nB=0;
+                       var nE=len-1;
+                       var bF=false;
+                       do{
+                               var nM=(nB+nE+(bDown?0:1))>>1;
+                               if(bDown)
+                               {
+                                       if(compare(sK,gaChunks[nIdx][nM].sEK)<0)
+                                       {
+                                               bF=true;
+                                               nE=nM;
+                                       }
+                                       else
+                                               nB=nM+1;
+                               }
+                               else
+                               {
+                                       if(compare(sK,gaChunks[nIdx][nM].sBK)>0)
+                                       {
+                                               bF=true;
+                                               nB=nM;
+                                       }
+                                       else
+                                               nE=nM-1;
+                               }
+                       }while(nE>nB);
+                       if(bF)
+                       {
+                               if(bDown)
+                                       nCandId=nE;
+                               else
+                                       nCandId=nB;
+                       }
+                       else
+                       {
+                               if(bDown)
+                               {
+                                       if(gaChunks[nIdx].length>nB&&compare(sK,gaChunks[nIdx][nB].sEK)<0)
+                                               nCandId=nB;
+                                       else
+                                               nCandId=gaChunks[nIdx].length-1;
+                               }
+                               else
+                               {
+                                       if(0<=nE&&compare(sK,gaChunks[nIdx][nE].sBK)>0)
+                                               nCandId=nE;
+                                       else
+                                               nCandId=0;
+                               }
+                       }
+                       return gaChunks[nIdx][nCandId];
+               }
+       }
+       return null;
+}
+
+function findCK()
+{
+       if(gsCK!=null)
+       {
+               gsSKA=gsCK;
+               gbFindCK=true;
+               gnNeeded=1;
+               markBegin();
+               checkReady();
+       }
+}
+
+function writeLoadingDiv(nIIdx)
+{
+       return "<div id=\""+gsLoadingDivID+"\" style=\"position:absolute;top:0;left:0;z-index:600;visibility:hidden;padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";
+}
+
 var gbWhHost=true;
\ No newline at end of file
index d95ca0a2763456107f823646f1eb61f82657b452..46aeaa20c56faa0ea8e4776491e42ba94500c742 100755 (executable)
-<html>\r
-<head>\r
-<title>Index content</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whlang.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whhost.js"></script>\r
-<script language="javascript1.2" src="whihost.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var goPopup = null;\r
-var gbPopupMenuTimeoutExpired=false;\r
-var gBsClientWidth=640;\r
-var gBsClientHeight=480;\r
-var g_bIsPopupMenuInit=false;\r
-\r
-function WritePopupMenuLayer()\r
-{\r
-       if (!g_bIsPopupMenuInit)\r
-       {\r
-               document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");\r
-               document.write("<STYLE TYPE='text/css'>");\r
-               if (gbMac && gbIE4) {\r
-                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; text-decoration:none;}");\r
-                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; text-decoration:none;}");\r
-               } else {\r
-                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; text-decoration:none;}");\r
-                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");\r
-               }\r
-               document.write("</STYLE>");\r
-       }\r
-       g_bIsPopupMenuInit = true;\r
-}\r
-\r
-function PopupMenu_Invoke()\r
-{\r
-       if (gbNav6)\r
-               resetHighLight();\r
-       \r
-       if (!gbNav6  && document.readyState != "complete")\r
-               return false;\r
-       var fn_arguments = PopupMenu_Invoke.arguments; \r
-       // Make sure we have reasonable arguments\r
-       var argLen = fn_arguments.length;\r
-       if (argLen < 3) {\r
-               return false;\r
-       }\r
-\r
-       // Check to see if we only have one target\r
-       var strTarget = "";\r
-       \r
-       strTarget = "TARGET='" + fn_arguments[1] + "'";\r
-       \r
-       if (argLen < 5) {\r
-               // Get the place that we will be putting the topic into\r
-               var strURL = fn_arguments[3];\r
-\r
-               if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")\r
-                       window.open(strURL, fn_arguments[1]);\r
-               else\r
-                       window.open(strURL);\r
-                       \r
-               return false;\r
-       }\r
-       \r
-       var strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';\r
-       if (gbMac && gbIE4) {\r
-               strMenu += ' CELLPADDING=4';\r
-       } else {\r
-               strMenu += ' CELLPADDING=2';\r
-       }       \r
-       strMenu += ' BGCOLOR=#c0c0c0>';\r
-\r
-       // Add each of the items\r
-       if (gbIE55)\r
-       {\r
-               var i = 2;\r
-               while (i <= argLen - 1) {\r
-                       strMenu += '<TR><TD><NOBR>'\r
-                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A ';\r
-                       strMenu += ' onclick="parent.PopupMenu_2HandleClick(\'' + excapeSingleQuotandSlash(fn_arguments[i + 1]) + '\', \'' + fn_arguments[1] + '\');"';\r
-                       strMenu += ' onmouseover="parent.PopupMenu_Over(event);"';\r
-                       strMenu += ' onmouseout="parent.PopupMenu_Out(event);"';\r
-                       strMenu += '>';\r
-                       strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';\r
-                       strMenu += '</A></DIV></NOBR></TD></TR>';\r
-                       i += 2;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               var i = 2;\r
-               while (i <= argLen - 1) {\r
-                       strMenu += '<TR><TD><NOBR>'\r
-                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '" ' + strTarget;\r
-                       strMenu += ' onclick="PopupMenu_HandleClick(event);"';\r
-                       strMenu += ' onmouseover="PopupMenu_Over(event);"';\r
-                       strMenu += ' onmouseout="PopupMenu_Out(event);"';\r
-                       strMenu += '>';\r
-                       strMenu += '<SPAN CLASS="PopupNotOver">' + excapeSingleQuotandSlash(fn_arguments[i]) + '</SPAN>';\r
-                       strMenu += '</A></DIV></NOBR></TD></TR>';\r
-                       i += 2;\r
-               }\r
-       }\r
-       strMenu += "</TABLE>";\r
-\r
-       if (gbMac && gbIE4) {\r
-       // ie5 in mac need something. </TABLE> is one of them.\r
-               strMenu +="<TABLE></TABLE>";\r
-       }\r
-\r
-       var layerPopup = null;\r
-       var stylePopup = null;\r
-       var nEventX = 0;\r
-       var nEventY = 0;\r
-       var nWindowWidth = 0;\r
-       if (gbIE4||gbOpera7)\r
-       {\r
-               layerPopup = document.all["PopupMenu"];\r
-               layerPopup.innerHTML = strMenu;\r
-               stylePopup = layerPopup.style;\r
-\r
-               _BSPSGetClientSize();\r
-\r
-               // Get the position of the item causing the event (relative to its parent)\r
-               nEventX = window.event.clientX;\r
-               nEventY = window.event.clientY;\r
-               \r
-               if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {\r
-                       nEventY += document.body.scrollTop + 10;\r
-               } else {\r
-                       nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;\r
-               }\r
-               stylePopup.top = nEventY;\r
-\r
-               if (nEventX + layerPopup.scrollWidth + 20 > gBsClientWidth) {\r
-                       if (gBsClientWidth - layerPopup.scrollWidth < 5) {\r
-                               stylePopup.left = 5;\r
-                       } else {\r
-                               stylePopup.left = gBsClientWidth - layerPopup.scrollWidth - 5;\r
-                       }\r
-               } else {\r
-                       stylePopup.left = nEventX + document.body.scrollLeft + 20;\r
-               }\r
-\r
-               if (gbIE55) {\r
-                       var nPosX = window.event.clientX;\r
-                       var nPosY = window.event.clientY;\r
-                       if (window.event.srcElement)\r
-                       {\r
-                               nPosX = window.event.srcElement.offsetLeft + window.event.srcElement.offsetWidth - document.body.scrollLeft;\r
-                               nPosY = window.event.srcElement.offsetTop + window.event.srcElement.offsetHeight - document.body.scrollTop;\r
-                       }\r
-                       goPopup = window.createPopup();\r
-                       var oPopupBody = goPopup.document.body;\r
-                       goPopup.document.createStyleSheet();\r
-                       goPopup.document.styleSheets[0].addRule(".PopupOver", "{font-family:\"Arial\"; cursor: hand;color:white; background:navy; font-size:8pt; text-decoration:none;}");\r
-                       goPopup.document.styleSheets[0].addRule(".PopupNotOver", "{font-family:\"Arial\"; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");\r
-                       oPopupBody.insertAdjacentHTML("afterBegin", strMenu);\r
-                       goPopup.show(nPosX, nPosY, layerPopup.scrollWidth, layerPopup.scrollHeight, document.body);\r
-               }\r
-               else \r
-               {\r
-                       stylePopup.visibility = "visible";\r
-                       document.onclick = PopupMenu_HandleClick;\r
-               }\r
-       } else if (gbNav6) {\r
-               layerPopup = document.getElementById("PopupMenu");\r
-               layerPopup.style.visibility = "hidden";\r
-       \r
-               var e = fn_arguments[0];\r
-               nEventX = e.pageX;\r
-               nEventY = e.pageY;\r
-               _BSPSGetClientSize();\r
-               layerPopup.innerHTML = strMenu;\r
-\r
-               if (nEventY + layerPopup.offsetHeight + 20  <  window.pageYOffset + gBsClientHeight) {\r
-                       nEventY += 20;\r
-               } else {\r
-                       nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;\r
-               }\r
-\r
-               if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {\r
-                       if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {\r
-                               nEventX = 5;\r
-                       } else {\r
-                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;\r
-                       }\r
-               } else {\r
-                       nEventX += 20;\r
-               }\r
-               layerPopup.style.top = nEventY;\r
-               layerPopup.style.left = nEventX;\r
-\r
-               // set again to avoid the frash in netscape 6.\r
-               layerPopup.innerHTML = strMenu;\r
-               layerPopup.style.visibility = "visible";\r
-               window.onclick = PopupMenu_HandleClick;\r
-       } \r
-\r
-       window.gbPopupMenuTimeoutExpired = false;\r
-       setTimeout("PopupMenu_Timeout();", 100);\r
-       return false;\r
-}\r
-\r
-function PopupMenu_Timeout()\r
-{\r
-       window.gbPopupMenuTimeoutExpired = true;\r
-}\r
-\r
-function PopupMenu_Over(e)\r
-{\r
-       if (gbIE4||gbOpera7)\r
-               e.srcElement.className = "PopupOver";\r
-       else if (gbNav6)\r
-               e.target.parentNode.className = "PopupOver";\r
-}\r
-\r
-function PopupMenu_Out(e)\r
-{\r
-       if (gbIE4||gbOpera7)\r
-               e.srcElement.className = "PopupNotOver";\r
-       else if (gbNav6)\r
-               e.target.parentNode.className = "PopupNotOver";\r
-}\r
-\r
-function PopupMenu_2HandleClick(surl, starget)\r
-{\r
-       window.open(surl, starget);\r
-       goPopup.hide();\r
-}\r
-\r
-function PopupMenu_HandleClick(e)\r
-{\r
-       if (!window.gbPopupMenuTimeoutExpired) {\r
-               return;\r
-       }\r
-\r
-       var layerPopup = getElement("PopupMenu");\r
-       layerPopup.style.visibility = "hidden";\r
-\r
-       return;\r
-}\r
-\r
-//Get client size info\r
-function _BSPSGetClientSize()\r
-{\r
-       gBsClientWidth  = document.body.clientWidth;\r
-       gBsClientHeight = document.body.clientHeight;\r
-}\r
-\r
-if (window.gbWhIHost)\r
-{\r
-       \r
-       \r
-       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Empty", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");\r
-       setActiveBgColor("#cccccc");\r
-       setMargin("0pt");\r
-       setIndent("9pt");\r
-       IndexWriteClassStyle();\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">\r
-<script languageE="JavaScript">\r
-<!--\r
-WritePopupMenuLayer();\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
-\r
+<html>
+<head>
+<title>Index content</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whlang.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whhost.js"></script>
+<script language="javascript1.2" src="whihost.js"></script>
+<script language="javascript1.2">
+<!--
+var goPopup = null;
+var gbPopupMenuTimeoutExpired=false;
+var gBsClientWidth=640;
+var gBsClientHeight=480;
+var g_bIsPopupMenuInit=false;
+
+function WritePopupMenuLayer()
+{
+       if (!g_bIsPopupMenuInit)
+       {
+               document.write("<DIV ID='PopupMenu' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>");
+               document.write("<STYLE TYPE='text/css'>");
+               if (gbMac && gbIE4) {
+                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:10pt; text-decoration:none;}");
+                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:10pt; text-decoration:none;}");
+               } else {
+                       document.write(".PopupOver {font-family:'Arial'; color:white; background:navy; font-size:8pt; text-decoration:none;}");
+                       document.write(".PopupNotOver {font-family:'Arial'; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");
+               }
+               document.write("</STYLE>");
+       }
+       g_bIsPopupMenuInit = true;
+}
+
+function PopupMenu_Invoke()
+{
+       if (gbNav6)
+               resetHighLight();
+       
+       if (!gbNav6  && document.readyState != "complete")
+               return false;
+       var fn_arguments = PopupMenu_Invoke.arguments; 
+       // Make sure we have reasonable arguments
+       var argLen = fn_arguments.length;
+       if (argLen < 3) {
+               return false;
+       }
+
+       // Check to see if we only have one target
+       var strTarget = "";
+       
+       strTarget = "TARGET='" + fn_arguments[1] + "'";
+       
+       if (argLen < 5) {
+               // Get the place that we will be putting the topic into
+               var strURL = fn_arguments[3];
+
+               if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined")
+                       window.open(strURL, fn_arguments[1]);
+               else
+                       window.open(strURL);
+                       
+               return false;
+       }
+       
+       var strMenu = '<TABLE STYLE="border:2px outset white;" CELLSPACING=0';
+       if (gbMac && gbIE4) {
+               strMenu += ' CELLPADDING=4';
+       } else {
+               strMenu += ' CELLPADDING=2';
+       }       
+       strMenu += ' BGCOLOR=#c0c0c0>';
+
+       // Add each of the items
+       if (gbIE55)
+       {
+               var i = 2;
+               while (i <= argLen - 1) {
+                       strMenu += '<TR><TD><NOBR>'
+                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A ';
+                       strMenu += ' onclick="parent.PopupMenu_2HandleClick(\'' + excapeSingleQuotandSlash(fn_arguments[i + 1]) + '\', \'' + fn_arguments[1] + '\');"';
+                       strMenu += ' onmouseover="parent.PopupMenu_Over(event);"';
+                       strMenu += ' onmouseout="parent.PopupMenu_Out(event);"';
+                       strMenu += '>';
+                       strMenu += '<SPAN CLASS="PopupNotOver">' + fn_arguments[i] + '</SPAN>';
+                       strMenu += '</A></DIV></NOBR></TD></TR>';
+                       i += 2;
+               }
+       }
+       else
+       {
+               var i = 2;
+               while (i <= argLen - 1) {
+                       strMenu += '<TR><TD><NOBR>'
+                       strMenu += '<DIV STYLE="padding-left:3pt; padding-right:3pt;"><A HREF="' + fn_arguments[i + 1] + '" ' + strTarget;
+                       strMenu += ' onclick="PopupMenu_HandleClick(event);"';
+                       strMenu += ' onmouseover="PopupMenu_Over(event);"';
+                       strMenu += ' onmouseout="PopupMenu_Out(event);"';
+                       strMenu += '>';
+                       strMenu += '<SPAN CLASS="PopupNotOver">' + excapeSingleQuotandSlash(fn_arguments[i]) + '</SPAN>';
+                       strMenu += '</A></DIV></NOBR></TD></TR>';
+                       i += 2;
+               }
+       }
+       strMenu += "</TABLE>";
+
+       if (gbMac && gbIE4) {
+       // ie5 in mac need something. </TABLE> is one of them.
+               strMenu +="<TABLE></TABLE>";
+       }
+
+       var layerPopup = null;
+       var stylePopup = null;
+       var nEventX = 0;
+       var nEventY = 0;
+       var nWindowWidth = 0;
+       if (gbIE4||gbOpera7)
+       {
+               layerPopup = document.all["PopupMenu"];
+               layerPopup.innerHTML = strMenu;
+               stylePopup = layerPopup.style;
+
+               _BSPSGetClientSize();
+
+               // Get the position of the item causing the event (relative to its parent)
+               nEventX = window.event.clientX;
+               nEventY = window.event.clientY;
+               
+               if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) {
+                       nEventY += document.body.scrollTop + 10;
+               } else {
+                       nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20;
+               }
+               stylePopup.top = nEventY;
+
+               if (nEventX + layerPopup.scrollWidth + 20 > gBsClientWidth) {
+                       if (gBsClientWidth - layerPopup.scrollWidth < 5) {
+                               stylePopup.left = 5;
+                       } else {
+                               stylePopup.left = gBsClientWidth - layerPopup.scrollWidth - 5;
+                       }
+               } else {
+                       stylePopup.left = nEventX + document.body.scrollLeft + 20;
+               }
+
+               if (gbIE55) {
+                       var nPosX = window.event.clientX;
+                       var nPosY = window.event.clientY;
+                       if (window.event.srcElement)
+                       {
+                               nPosX = window.event.srcElement.offsetLeft + window.event.srcElement.offsetWidth - document.body.scrollLeft;
+                               nPosY = window.event.srcElement.offsetTop + window.event.srcElement.offsetHeight - document.body.scrollTop;
+                       }
+                       goPopup = window.createPopup();
+                       var oPopupBody = goPopup.document.body;
+                       goPopup.document.createStyleSheet();
+                       goPopup.document.styleSheets[0].addRule(".PopupOver", "{font-family:\"Arial\"; cursor: hand;color:white; background:navy; font-size:8pt; text-decoration:none;}");
+                       goPopup.document.styleSheets[0].addRule(".PopupNotOver", "{font-family:\"Arial\"; color:black; background:#c0c0c0; font-size:8pt; text-decoration:none;}");
+                       oPopupBody.insertAdjacentHTML("afterBegin", strMenu);
+                       goPopup.show(nPosX, nPosY, layerPopup.scrollWidth, layerPopup.scrollHeight, document.body);
+               }
+               else 
+               {
+                       stylePopup.visibility = "visible";
+                       document.onclick = PopupMenu_HandleClick;
+               }
+       } else if (gbNav6) {
+               layerPopup = document.getElementById("PopupMenu");
+               layerPopup.style.visibility = "hidden";
+       
+               var e = fn_arguments[0];
+               nEventX = e.pageX;
+               nEventY = e.pageY;
+               _BSPSGetClientSize();
+               layerPopup.innerHTML = strMenu;
+
+               if (nEventY + layerPopup.offsetHeight + 20  <  window.pageYOffset + gBsClientHeight) {
+                       nEventY += 20;
+               } else {
+                       nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20;
+               }
+
+               if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) {
+                       if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) {
+                               nEventX = 5;
+                       } else {
+                               nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20;
+                       }
+               } else {
+                       nEventX += 20;
+               }
+               layerPopup.style.top = nEventY;
+               layerPopup.style.left = nEventX;
+
+               // set again to avoid the frash in netscape 6.
+               layerPopup.innerHTML = strMenu;
+               layerPopup.style.visibility = "visible";
+               window.onclick = PopupMenu_HandleClick;
+       } 
+
+       window.gbPopupMenuTimeoutExpired = false;
+       setTimeout("PopupMenu_Timeout();", 100);
+       return false;
+}
+
+function PopupMenu_Timeout()
+{
+       window.gbPopupMenuTimeoutExpired = true;
+}
+
+function PopupMenu_Over(e)
+{
+       if (gbIE4||gbOpera7)
+               e.srcElement.className = "PopupOver";
+       else if (gbNav6)
+               e.target.parentNode.className = "PopupOver";
+}
+
+function PopupMenu_Out(e)
+{
+       if (gbIE4||gbOpera7)
+               e.srcElement.className = "PopupNotOver";
+       else if (gbNav6)
+               e.target.parentNode.className = "PopupNotOver";
+}
+
+function PopupMenu_2HandleClick(surl, starget)
+{
+       window.open(surl, starget);
+       goPopup.hide();
+}
+
+function PopupMenu_HandleClick(e)
+{
+       if (!window.gbPopupMenuTimeoutExpired) {
+               return;
+       }
+
+       var layerPopup = getElement("PopupMenu");
+       layerPopup.style.visibility = "hidden";
+
+       return;
+}
+
+//Get client size info
+function _BSPSGetClientSize()
+{
+       gBsClientWidth  = document.body.clientWidth;
+       gBsClientHeight = document.body.clientHeight;
+}
+
+if (window.gbWhIHost)
+{
+       
+       
+       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Empty", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");
+       setActiveBgColor("#cccccc");
+       setMargin("0pt");
+       setIndent("9pt");
+       IndexWriteClassStyle();
+}
+else
+       document.location.reload();
+//-->
+</script>
+</head>
+<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" scroll="auto" bgcolor="white">
+<script languageE="JavaScript">
+<!--
+WritePopupMenuLayer();
+//-->
+</script>
+</body>
+</html>
+
index 72400e6e0ec62a37f2ffb7c9d9fb455d260e2970..feb7b2b218053cae4fe30fb2ff0c84fdf1af55d4 100755 (executable)
@@ -1,30 +1,30 @@
-<html>\r
-<head>\r
-<title>Index</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gbIndexLayerInit = false;\r
-if (window.gbWhProxy&&window.gbWhMsg&&window.gbWhVer)\r
-{\r
-       var strWrite;\r
-       if (gbMac)\r
-               strWrite="<FRAMESET ROWS='45,100%' framespacing=0  frameborder=1>";\r
-       else\r
-               strWrite="<FRAMESET ROWS='60,100%' framespacing=0  frameborder=1>";\r
-       strWrite +="<FRAME SRC='whiform.htm' title='index form frame' name='idxform' noresize='yes' scrolling='no'>";\r
-       strWrite +="<FRAME SRC='whibody.htm' title='index content frame' name='idxbody' scrolling='yes'>";\r
-       strWrite +="</FRAMESET>";\r
-       document.write(strWrite);\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</html>\r
+<html>
+<head>
+<title>Index</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2">
+<!--
+var gbIndexLayerInit = false;
+if (window.gbWhProxy&&window.gbWhMsg&&window.gbWhVer)
+{
+       var strWrite;
+       if (gbMac)
+               strWrite="<FRAMESET ROWS='45,100%' framespacing=0  frameborder=1>";
+       else
+               strWrite="<FRAMESET ROWS='60,100%' framespacing=0  frameborder=1>";
+       strWrite +="<FRAME SRC='whiform.htm' title='index form frame' name='idxform' noresize='yes' scrolling='no'>";
+       strWrite +="<FRAME SRC='whibody.htm' title='index content frame' name='idxbody' scrolling='yes'>";
+       strWrite +="</FRAMESET>";
+       document.write(strWrite);
+}
+else
+       document.location.reload();
+//-->
+</script>
+</html>
index 563bc3c3ef8ff309b92167f1d22d6615a603245b..d412744b016710553c6d53f58264869efea3643e 100755 (executable)
@@ -1,91 +1,91 @@
-<html>\r
-<head>\r
-<title>Index form</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<style>\r
-<!--\r
-body {margin:0;}\r
--->\r
-</style>\r
-<body bgcolor="#c0c0c0">\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whform.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-function indexLookup(bCR)\r
-{\r
-       var strInput = document.IndexInputForm.keywordField.value.toUpperCase();\r
-       if (strInput != "") {\r
-               var oParam = new Object();\r
-               oParam.sInput = strInput;\r
-               oParam.bCR = bCR;\r
-               var oMessage = new whMessage(WH_MSG_SEARCHINDEXKEY, this, 1, oParam);\r
-               SendMessage(oMessage);\r
-       }\r
-       if (gbMac) {\r
-               document.IndexInputForm.keywordField.focus();\r
-       }\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this, WH_MSG_SHOWTOC);\r
-       UnRegisterListener2(this, WH_MSG_SHOWIDX);\r
-       UnRegisterListener2(this, WH_MSG_SHOWFTS);\r
-       UnRegisterListener2(this, WH_MSG_SHOWGLO);\r
-}\r
-\r
-function onSendMessage(oMessage)\r
-{\r
-       if (oMessage.nMessageId == WH_MSG_SHOWIDX)\r
-       {\r
-               document.IndexInputForm.keywordField.focus();\r
-       }\r
-       else if (oMessage.nMessageId == WH_MSG_SHOWFTS ||\r
-               oMessage.nMessageId == WH_MSG_SHOWTOC || \r
-               oMessage.nMessageId == WH_MSG_SHOWGLO)\r
-       {\r
-               document.IndexInputForm.keywordField.blur();\r
-       }\r
-       return true;\r
-}\r
-\r
-if (window.gbWhForm)\r
-{\r
-       RegisterListener2(this, WH_MSG_SHOWTOC);\r
-       RegisterListener2(this, WH_MSG_SHOWIDX);\r
-       RegisterListener2(this, WH_MSG_SHOWFTS);\r
-       RegisterListener2(this, WH_MSG_SHOWGLO);\r
-       window.onunload=window_Unload;\r
-       window.onload = init;\r
-       gfunLookUp = indexLookup;\r
-       gfunInit = null;\r
-       gstrFormName = "IndexInputForm"\r
-       gsTitle = "Type in the keyword to find:";\r
-       gsTitle = "Type in the keyword to find:";\r
-\r
-       \r
-       \r
-       \r
-       \r
-       \r
-       \r
-       setGoText("Go");\r
-       setFont("Title", "Arial","9pt","#000000","normal","normal","none");\r
-       \r
-       \r
-       document.write(getFormHTML());\r
-       writeFormStyle();\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>Index form</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<style>
+<!--
+body {margin:0;}
+-->
+</style>
+<body bgcolor="#c0c0c0">
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whform.js"></script>
+<script language="javascript1.2">
+<!--
+function indexLookup(bCR)
+{
+       var strInput = document.IndexInputForm.keywordField.value.toUpperCase();
+       if (strInput != "") {
+               var oParam = new Object();
+               oParam.sInput = strInput;
+               oParam.bCR = bCR;
+               var oMessage = new whMessage(WH_MSG_SEARCHINDEXKEY, this, 1, oParam);
+               SendMessage(oMessage);
+       }
+       if (gbMac) {
+               document.IndexInputForm.keywordField.focus();
+       }
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this, WH_MSG_SHOWTOC);
+       UnRegisterListener2(this, WH_MSG_SHOWIDX);
+       UnRegisterListener2(this, WH_MSG_SHOWFTS);
+       UnRegisterListener2(this, WH_MSG_SHOWGLO);
+}
+
+function onSendMessage(oMessage)
+{
+       if (oMessage.nMessageId == WH_MSG_SHOWIDX)
+       {
+               document.IndexInputForm.keywordField.focus();
+       }
+       else if (oMessage.nMessageId == WH_MSG_SHOWFTS ||
+               oMessage.nMessageId == WH_MSG_SHOWTOC || 
+               oMessage.nMessageId == WH_MSG_SHOWGLO)
+       {
+               document.IndexInputForm.keywordField.blur();
+       }
+       return true;
+}
+
+if (window.gbWhForm)
+{
+       RegisterListener2(this, WH_MSG_SHOWTOC);
+       RegisterListener2(this, WH_MSG_SHOWIDX);
+       RegisterListener2(this, WH_MSG_SHOWFTS);
+       RegisterListener2(this, WH_MSG_SHOWGLO);
+       window.onunload=window_Unload;
+       window.onload = init;
+       gfunLookUp = indexLookup;
+       gfunInit = null;
+       gstrFormName = "IndexInputForm"
+       gsTitle = "Type in the keyword to find:";
+       gsTitle = "Type in the keyword to find:";
+
+       
+       
+       
+       
+       
+       
+       setGoText("Go");
+       setFont("Title", "Arial","9pt","#000000","normal","normal","none");
+       
+       
+       document.write(getFormHTML());
+       writeFormStyle();
+}
+else
+       document.location.reload();
+//-->
+</script>
+</body>
+</html>
index 9aaf13a6a58483b1e15effca8b7f79775caccbba..d48c493ee68f60b4c5a8da21c1ddf39ab51874ce 100755 (executable)
-//     WebHelp 5.10.002\r
-var gsDefaultTarget="bsscright";\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goIdxFont=null;\r
-var goIdxEmptyFont=null;\r
-var goIdxHoverFont=null;\r
-var gsIdxMargin="0pt";\r
-var gsIdxIndent="8pt";\r
-var gsIdxActiveBgColor="#cccccc";\r
-var gsCK = null;\r
-var gsBCK = null;\r
-var gbCR = false;\r
-var gbBCR = false;\r
-var gbWhIHost=true;\r
-\r
-function myEvent()\r
-{\r
-       this.pageX = 0;\r
-       this.pageY = 0;\r
-}\r
-var _event=new myEvent();\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Normal")\r
-               goIdxFont=vFont;\r
-       else if(sType=="Empty")\r
-               goIdxEmptyFont=vFont;\r
-       else if(sType=="Hover")\r
-               goIdxHoverFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
-       gsIdxActiveBgColor=sBgColor;\r
-}\r
-\r
-function setMargin(sMargin)\r
-{\r
-       gsIdxMargin=sMargin;\r
-}\r
-\r
-function setIndent(sIndent)\r
-{\r
-       gsIdxIndent=sIndent;\r
-}\r
-\r
-function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
-       var sHTML="";\r
-       var nIdxSet=aCurIdxSet[0];\r
-       var nIIdx=aPos[nIdxSet];\r
-       var sKOriName=getItemName(aDataCon,nIdxSet,nIIdx);\r
-       var sKName=_textToHtml(sKOriName);\r
-\r
-       var nIdxIndent=parseInt(gsIdxIndent);\r
-       var sTopics="";\r
-       if(nLevel==1){\r
-               if(getItemType(aDataCon,nIdxSet,nIIdx)==1)\r
-               {\r
-                       sHTML+="<H6><nobr>";\r
-                       sHTML+="<b>"+sKName+"</b></nobr></H6>";\r
-               }\r
-               else{\r
-                       for(var i=0;i<nLength;i++)\r
-                               sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       sHTML+="<p style=\"margin-left:"+gsIdxIndent+"\"><nobr>";\r
-                       sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";\r
-                       if(sTopics.length>0)\r
-                               sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></p>";\r
-                       else\r
-                               sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></p>";\r
-               }\r
-       }\r
-       else if(nLevel>=2){\r
-               var nIndent=nIdxIndent*nLevel;\r
-               for(var i=0;i<nLength;i++)\r
-                       sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-               if (nLevel==2)\r
-                       sHTML+="<h6 class=\"firstsub\" style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
-               else\r
-                       sHTML+="<h6 style=\"margin-left:"+nIndent+"pt\"><nobr>";\r
-               sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";\r
-               if(sTopics.length>0)\r
-                       sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></h6>";\r
-               else\r
-                       sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></h6>";\r
-       }\r
-       oHTML.addHTML(sHTML,nLength,bDown,(nLevel==1),sKOriName);\r
-}\r
-\r
-function getTargetName(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               if(aDataCon[nIdxSet].aKs[nIIdx].sTarget)\r
-                       return aDataCon[nIdxSet].aKs[nIIdx].sTarget;\r
-       return gsDefaultTarget;\r
-}\r
-\r
-function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
-{\r
-       var oLocalHTML=new indexHTMLPart();\r
-       writeOneItem(oLocalHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel);\r
-       \r
-       var aLocalPos=new Array();\r
-       var aMaxPos=new Array();\r
-       for(var i=0;i<aPos.length;i++)\r
-       {\r
-               aLocalPos[i]=aPos[i];\r
-               aMaxPos[i]=-1;\r
-       }\r
-       \r
-       for(i=0;i<nLength;i++)\r
-       {\r
-               var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aLocalPos[aCurIdxSet[i]]);\r
-               aLocalPos[aCurIdxSet[i]]++;\r
-               if(nNKOff>0)\r
-                       aMaxPos[aCurIdxSet[i]]=aLocalPos[aCurIdxSet[i]]+nNKOff;\r
-       }\r
-       var oSubHTML=new indexHTMLPart();\r
-       writeItems(oSubHTML,aDataCon,aLocalPos,null,aMaxPos,true,nLevel+1);\r
-       oLocalHTML.addSubHTML(oSubHTML,true);\r
-       oHTML.appendHTML(oLocalHTML,bDown);\r
-}\r
-\r
-function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
-{\r
-       if(bDown)\r
-       {\r
-               for(var i=0;i<nLength;i++)\r
-               {\r
-                       var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       aPos[aCurIdxSet[i]]+=(1+nNKOff);\r
-               }\r
-       }\r
-       else{\r
-               for(var i=0;i<nLength;i++)\r
-               {\r
-                       var nPKOff=getPKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);\r
-                       aPos[aCurIdxSet[i]]-=(1+nPKOff);\r
-               }\r
-       }\r
-}\r
-\r
-function getItemName(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getItemType(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nType;\r
-       else\r
-               return 0;\r
-}\r
-\r
-function getNKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nNKOff;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getPKOff(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-               return aDataCon[nIdxSet].aKs[nIIdx].nPKOff;\r
-       else\r
-               return null;\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-       {\r
-               document.body.background=gsBgImage;\r
-       }\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-       {\r
-               document.body.bgColor=gsBgColor;\r
-       }\r
-       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
-       loadIdx();\r
-       var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function loadIdx()\r
-{\r
-       if(!gbReady)\r
-       {\r
-               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
-               if(SendMessage(oResMsg)&&oResMsg.oParam)\r
-               {\r
-                       gbReady=true;\r
-                       var oProj=oResMsg.oParam;\r
-                       var aProj=oProj.aProj;\r
-                       gbXML=oProj.bXML;\r
-                       if(aProj.length>0)\r
-                       {\r
-                               var sLangId=aProj[0].sLangId;\r
-                               for(var i=0;i<aProj.length;i++)\r
-                               {\r
-                                       if(aProj[i].sIdx&&aProj[i].sLangId==sLangId)\r
-                                       {\r
-                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sIdx);\r
-                                       }\r
-                               }\r
-                       }\r
-                       writeDataIFrame();\r
-                       enEvt();\r
-               }               \r
-       }\r
-}\r
-\r
-function getIdxTopics(aDataCon,nIdxSet,nIIdx)\r
-{\r
-       var sTopics="";\r
-       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
-       {\r
-               if(aDataCon[nIdxSet].aKs[nIIdx].aTopics)\r
-               {\r
-                       var nLen=aDataCon[nIdxSet].aKs[nIIdx].aTopics.length;\r
-                       var nProj=aDataCon[nIdxSet].nProjId;\r
-                       var sPath=gaData[nProj].sPPath;\r
-                       for(var i=0;i<nLen;i++)\r
-                       {\r
-                               var sURL=aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sURL;\r
-                               var sFullPath=_getFullPath(sPath,sURL);\r
-                               sTopics+=",'"+excapeSingleQuotandSlash(_textToHtml(aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sName))+"','"+excapeSingleQuotandSlash(_textToHtml_nonbsp(sFullPath))+"'";\r
-                       }\r
-               }\r
-       }\r
-       return sTopics;         \r
-}\r
-\r
-function findCKInDom()\r
-{\r
-       if(gsCK!=null)\r
-       {\r
-               var sK=gsCK;\r
-               var oP=getElementsByTag(document,"P");\r
-               if(!oP) return false;\r
-               var len=oP.length;\r
-               var nB=0;\r
-               var nE=len-1;\r
-               var nM=0;\r
-               var sItem="";\r
-               var bF=false;\r
-               while(nB<nE){\r
-                       nM=(nB+nE+1)>>1;\r
-                       sItem=getInnerText(oP[nM]);\r
-                       \r
-                       if(compare(sItem,sK)==0)\r
-                       {\r
-                               bF=true;\r
-                               break;\r
-                       }\r
-                       else if(compare(sItem,sK)>0)\r
-                               nE=nM-1;\r
-                       else if(compare(sItem,sK)<0)\r
-                               nB=nM;\r
-               }\r
-               if(!bF)\r
-               {\r
-                       if(nB==nE) nM=nB;\r
-               \r
-                       if(nM+1<len)\r
-                       {\r
-                               sItem=getInnerText(oP[nM+1]);\r
-                               if(compare(sItem,sK)<=0) nM++;\r
-                       }                       \r
-                       if(nM+1<len)\r
-                       {\r
-                               sItem=getInnerText(oP[nM+1]);\r
-                               if(compare(sItem.substring(0,sK.length),sK)==0) nM++;\r
-                       }                       \r
-               }\r
-       \r
-               var oMatch=oP[nM];\r
-               if(oMatch)\r
-               {\r
-                       window.scrollTo(0,oMatch.offsetTop);\r
-                       var tempColl=getElementsByTag(oMatch,"A");\r
-                       if(tempColl&&tempColl.length>0){\r
-                               var nbTag=getElementsByTag(oMatch,"NOBR");\r
-                               if(nbTag&&nbTag.length>0)\r
-                                       HighLightElement(nbTag[0], gsIdxActiveBgColor, "transparent");\r
-                               if (gbCR)\r
-                               {\r
-                                       if (gbIE4)\r
-                                               tempColl(0).click();\r
-                                       else\r
-                                       {\r
-                                               var strCommand = tempColl[0].getAttribute("onClick");\r
-                                               var nstrCommand = strCommand.indexOf(";");\r
-                                               strCommand = strCommand.substring(0, nstrCommand);\r
-                                               strCommand = strCommand.replace("event", "_event");\r
-                                               window._event.pageX = oMatch.offsetLeft ;\r
-                                               window._event.pageY = oMatch.offsetTop + 20;\r
-                                               window.setTimeout(strCommand, 100);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               gsCK=gsBCK;\r
-               gbCR=gbBCR;\r
-               if(gsBCK!=null)\r
-               {\r
-                       gsBCK=null;\r
-                       gbBCR=false;\r
-                       findCK();\r
-                       return false;\r
-               }\r
-               \r
-       }\r
-       return true;\r
-}\r
-\r
-function clearHighLight()\r
-{\r
-       resetHighLight(gsBgColor);\r
-}\r
-\r
-function IndexWriteClassStyle()\r
-{\r
-       var sStyle="";\r
-       sStyle+="<STYLE TYPE='text/css'>";\r
-       if (gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       if(gbIE4&&gbMac&&!gbIE5)\r
-       {\r
-               var nMargin=parseInt(gsIdxMargin);\r
-               nMargin-=10;\r
-               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6.firstsub {"+getFontStyle(goIdxFont)+"margin-top:"+nMargin+"pt;margin-bottom:"+gsIdxMargin+";}\n";\r
-       }\r
-       else\r
-       {\r
-               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-       }\r
-       sStyle+="DIV {margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goIdxFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goIdxFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsIdxActiveBgColor+";}\n";\r
-       sStyle+="A:hover {"+getFontStyle(goIdxHoverFont)+"}\n";\r
-       sStyle+="</STYLE>";     \r
-       document.write(sStyle);\r
-       return;\r
-}\r
-\r
-function window_Unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       UnRegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_SEARCHINDEXKEY)\r
-               {\r
-                       if(oMsg.oParam && oMsg.oParam.sInput)\r
-                       {\r
-                               if(gsCK==null)\r
-                               {\r
-                                       gsCK=oMsg.oParam.sInput;\r
-                                       gbCR = oMsg.oParam.bCR;\r
-                                       findCK();\r
-                               }\r
-                               else\r
-                               {\r
-                                       gsBCK=oMsg.oParam.sInput;\r
-                                       gbBCR = oMsg.oParam.bCR;\r
-                               }\r
-                       }\r
-               }\r
-               else if(nMsgId==WH_MSG_PROJECTREADY)\r
-               {\r
-                       loadIdx();\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if(window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhHost&&window.gbWhProxy)\r
-{\r
-       RegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       RegisterListener2(this,WH_MSG_SEARCHINDEXKEY);\r
-       goIdxFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-       goIdxEmptyFont=new whFont("Verdana","8pt","#666666","normal","normal","none");\r
-       goIdxHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_BUnload;\r
-       window.onunload=window_Unload;\r
-       gbWhIHost=true;\r
-}\r
-else\r
-       document.location.reload();\r
-\r
+//     WebHelp 5.10.002
+var gsDefaultTarget="bsscright";
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var goIdxFont=null;
+var goIdxEmptyFont=null;
+var goIdxHoverFont=null;
+var gsIdxMargin="0pt";
+var gsIdxIndent="8pt";
+var gsIdxActiveBgColor="#cccccc";
+var gsCK = null;
+var gsBCK = null;
+var gbCR = false;
+var gbBCR = false;
+var gbWhIHost=true;
+
+function myEvent()
+{
+       this.pageX = 0;
+       this.pageY = 0;
+}
+var _event=new myEvent();
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Normal")
+               goIdxFont=vFont;
+       else if(sType=="Empty")
+               goIdxEmptyFont=vFont;
+       else if(sType=="Hover")
+               goIdxHoverFont=vFont;
+}
+
+function setActiveBgColor(sBgColor)
+{
+       gsIdxActiveBgColor=sBgColor;
+}
+
+function setMargin(sMargin)
+{
+       gsIdxMargin=sMargin;
+}
+
+function setIndent(sIndent)
+{
+       gsIdxIndent=sIndent;
+}
+
+function writeOneItem(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
+{
+       var sHTML="";
+       var nIdxSet=aCurIdxSet[0];
+       var nIIdx=aPos[nIdxSet];
+       var sKOriName=getItemName(aDataCon,nIdxSet,nIIdx);
+       var sKName=_textToHtml(sKOriName);
+
+       var nIdxIndent=parseInt(gsIdxIndent);
+       var sTopics="";
+       if(nLevel==1){
+               if(getItemType(aDataCon,nIdxSet,nIIdx)==1)
+               {
+                       sHTML+="<H6><nobr>";
+                       sHTML+="<b>"+sKName+"</b></nobr></H6>";
+               }
+               else{
+                       for(var i=0;i<nLength;i++)
+                               sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       sHTML+="<p style=\"margin-left:"+gsIdxIndent+"\"><nobr>";
+                       sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";
+                       if(sTopics.length>0)
+                               sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></p>";
+                       else
+                               sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></p>";
+               }
+       }
+       else if(nLevel>=2){
+               var nIndent=nIdxIndent*nLevel;
+               for(var i=0;i<nLength;i++)
+                       sTopics+=getIdxTopics(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+               if (nLevel==2)
+                       sHTML+="<h6 class=\"firstsub\" style=\"margin-left:"+nIndent+"pt\"><nobr>";
+               else
+                       sHTML+="<h6 style=\"margin-left:"+nIndent+"pt\"><nobr>";
+               sHTML+="<a alt=\"" + sKName + "\" href=\"javascript:void(0);\" onfocus=\"clearHighLight();\" onclick=\"PopupMenu_Invoke(event,'"+excapeSingleQuotandSlash(getTargetName(aDataCon,nIdxSet,nIIdx))+"'";
+               if(sTopics.length>0)
+                       sHTML+=sTopics+");return false;\">"+sKName+"</a></nobr></h6>";
+               else
+                       sHTML+=");return false;\" style=\""+getFontStyle(goIdxEmptyFont)+"\">"+sKName+"</a></nobr></h6>";
+       }
+       oHTML.addHTML(sHTML,nLength,bDown,(nLevel==1),sKOriName);
+}
+
+function getTargetName(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               if(aDataCon[nIdxSet].aKs[nIIdx].sTarget)
+                       return aDataCon[nIdxSet].aKs[nIIdx].sTarget;
+       return gsDefaultTarget;
+}
+
+function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)
+{
+       var oLocalHTML=new indexHTMLPart();
+       writeOneItem(oLocalHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel);
+       
+       var aLocalPos=new Array();
+       var aMaxPos=new Array();
+       for(var i=0;i<aPos.length;i++)
+       {
+               aLocalPos[i]=aPos[i];
+               aMaxPos[i]=-1;
+       }
+       
+       for(i=0;i<nLength;i++)
+       {
+               var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aLocalPos[aCurIdxSet[i]]);
+               aLocalPos[aCurIdxSet[i]]++;
+               if(nNKOff>0)
+                       aMaxPos[aCurIdxSet[i]]=aLocalPos[aCurIdxSet[i]]+nNKOff;
+       }
+       var oSubHTML=new indexHTMLPart();
+       writeItems(oSubHTML,aDataCon,aLocalPos,null,aMaxPos,true,nLevel+1);
+       oLocalHTML.addSubHTML(oSubHTML,true);
+       oHTML.appendHTML(oLocalHTML,bDown);
+}
+
+function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)
+{
+       if(bDown)
+       {
+               for(var i=0;i<nLength;i++)
+               {
+                       var nNKOff=getNKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       aPos[aCurIdxSet[i]]+=(1+nNKOff);
+               }
+       }
+       else{
+               for(var i=0;i<nLength;i++)
+               {
+                       var nPKOff=getPKOff(aDataCon,aCurIdxSet[i],aPos[aCurIdxSet[i]]);
+                       aPos[aCurIdxSet[i]]-=(1+nPKOff);
+               }
+       }
+}
+
+function getItemName(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].sName;
+       else
+               return null;
+}
+
+function getItemType(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nType;
+       else
+               return 0;
+}
+
+function getNKOff(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nNKOff;
+       else
+               return null;
+}
+
+function getPKOff(aDataCon,nIdxSet,nIIdx)
+{
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+               return aDataCon[nIdxSet].aKs[nIIdx].nPKOff;
+       else
+               return null;
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+       {
+               document.body.background=gsBgImage;
+       }
+       if(gsBgColor&&gsBgColor.length>0)
+       {
+               document.body.bgColor=gsBgColor;
+       }
+       document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());
+       loadIdx();
+       var oMsg=new whMessage(WH_MSG_SHOWIDX,this,1,null)
+       SendMessage(oMsg);
+}
+
+function loadIdx()
+{
+       if(!gbReady)
+       {
+               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
+               if(SendMessage(oResMsg)&&oResMsg.oParam)
+               {
+                       gbReady=true;
+                       var oProj=oResMsg.oParam;
+                       var aProj=oProj.aProj;
+                       gbXML=oProj.bXML;
+                       if(aProj.length>0)
+                       {
+                               var sLangId=aProj[0].sLangId;
+                               for(var i=0;i<aProj.length;i++)
+                               {
+                                       if(aProj[i].sIdx&&aProj[i].sLangId==sLangId)
+                                       {
+                                               addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sIdx);
+                                       }
+                               }
+                       }
+                       writeDataIFrame();
+                       enEvt();
+               }               
+       }
+}
+
+function getIdxTopics(aDataCon,nIdxSet,nIIdx)
+{
+       var sTopics="";
+       if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)
+       {
+               if(aDataCon[nIdxSet].aKs[nIIdx].aTopics)
+               {
+                       var nLen=aDataCon[nIdxSet].aKs[nIIdx].aTopics.length;
+                       var nProj=aDataCon[nIdxSet].nProjId;
+                       var sPath=gaData[nProj].sPPath;
+                       for(var i=0;i<nLen;i++)
+                       {
+                               var sURL=aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sURL;
+                               var sFullPath=_getFullPath(sPath,sURL);
+                               sTopics+=",'"+excapeSingleQuotandSlash(_textToHtml(aDataCon[nIdxSet].aKs[nIIdx].aTopics[i].sName))+"','"+excapeSingleQuotandSlash(_textToHtml_nonbsp(sFullPath))+"'";
+                       }
+               }
+       }
+       return sTopics;         
+}
+
+function findCKInDom()
+{
+       if(gsCK!=null)
+       {
+               var sK=gsCK;
+               var oP=getElementsByTag(document,"P");
+               if(!oP) return false;
+               var len=oP.length;
+               var nB=0;
+               var nE=len-1;
+               var nM=0;
+               var sItem="";
+               var bF=false;
+               while(nB<nE){
+                       nM=(nB+nE+1)>>1;
+                       sItem=getInnerText(oP[nM]);
+                       
+                       if(compare(sItem,sK)==0)
+                       {
+                               bF=true;
+                               break;
+                       }
+                       else if(compare(sItem,sK)>0)
+                               nE=nM-1;
+                       else if(compare(sItem,sK)<0)
+                               nB=nM;
+               }
+               if(!bF)
+               {
+                       if(nB==nE) nM=nB;
+               
+                       if(nM+1<len)
+                       {
+                               sItem=getInnerText(oP[nM+1]);
+                               if(compare(sItem,sK)<=0) nM++;
+                       }                       
+                       if(nM+1<len)
+                       {
+                               sItem=getInnerText(oP[nM+1]);
+                               if(compare(sItem.substring(0,sK.length),sK)==0) nM++;
+                       }                       
+               }
+       
+               var oMatch=oP[nM];
+               if(oMatch)
+               {
+                       window.scrollTo(0,oMatch.offsetTop);
+                       var tempColl=getElementsByTag(oMatch,"A");
+                       if(tempColl&&tempColl.length>0){
+                               var nbTag=getElementsByTag(oMatch,"NOBR");
+                               if(nbTag&&nbTag.length>0)
+                                       HighLightElement(nbTag[0], gsIdxActiveBgColor, "transparent");
+                               if (gbCR)
+                               {
+                                       if (gbIE4)
+                                               tempColl(0).click();
+                                       else
+                                       {
+                                               var strCommand = tempColl[0].getAttribute("onClick");
+                                               var nstrCommand = strCommand.indexOf(";");
+                                               strCommand = strCommand.substring(0, nstrCommand);
+                                               strCommand = strCommand.replace("event", "_event");
+                                               window._event.pageX = oMatch.offsetLeft ;
+                                               window._event.pageY = oMatch.offsetTop + 20;
+                                               window.setTimeout(strCommand, 100);
+                                       }
+                               }
+                       }
+               }
+               gsCK=gsBCK;
+               gbCR=gbBCR;
+               if(gsBCK!=null)
+               {
+                       gsBCK=null;
+                       gbBCR=false;
+                       findCK();
+                       return false;
+               }
+               
+       }
+       return true;
+}
+
+function clearHighLight()
+{
+       resetHighLight(gsBgColor);
+}
+
+function IndexWriteClassStyle()
+{
+       var sStyle="";
+       sStyle+="<STYLE TYPE='text/css'>";
+       if (gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       if(gbIE4&&gbMac&&!gbIE5)
+       {
+               var nMargin=parseInt(gsIdxMargin);
+               nMargin-=10;
+               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6.firstsub {"+getFontStyle(goIdxFont)+"margin-top:"+nMargin+"pt;margin-bottom:"+gsIdxMargin+";}\n";
+       }
+       else
+       {
+               sStyle+="P {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+               sStyle+="H6 {"+getFontStyle(goIdxFont)+"margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+       }
+       sStyle+="DIV {margin-top:"+gsIdxMargin+";margin-bottom:"+gsIdxMargin+";}\n";
+       sStyle+="A:link {"+getFontStyle(goIdxFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goIdxFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsIdxActiveBgColor+";}\n";
+       sStyle+="A:hover {"+getFontStyle(goIdxHoverFont)+"}\n";
+       sStyle+="</STYLE>";     
+       document.write(sStyle);
+       return;
+}
+
+function window_Unload()
+{
+       UnRegisterListener2(this,WH_MSG_PROJECTREADY);
+       UnRegisterListener2(this,WH_MSG_SEARCHINDEXKEY);
+}
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_SEARCHINDEXKEY)
+               {
+                       if(oMsg.oParam && oMsg.oParam.sInput)
+                       {
+                               if(gsCK==null)
+                               {
+                                       gsCK=oMsg.oParam.sInput;
+                                       gbCR = oMsg.oParam.bCR;
+                                       findCK();
+                               }
+                               else
+                               {
+                                       gsBCK=oMsg.oParam.sInput;
+                                       gbBCR = oMsg.oParam.bCR;
+                               }
+                       }
+               }
+               else if(nMsgId==WH_MSG_PROJECTREADY)
+               {
+                       loadIdx();
+               }
+       }
+       return true;
+}
+
+if(window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhUtil&&window.gbWhHost&&window.gbWhProxy)
+{
+       RegisterListener2(this,WH_MSG_PROJECTREADY);
+       RegisterListener2(this,WH_MSG_SEARCHINDEXKEY);
+       goIdxFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+       goIdxEmptyFont=new whFont("Verdana","8pt","#666666","normal","normal","none");
+       goIdxHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
+
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_BUnload;
+       window.onunload=window_Unload;
+       gbWhIHost=true;
+}
+else
+       document.location.reload();
+
index 870be0e1797d103cd99157099909f76c3e6ce6ef..fb848c513274e8a876c506cb98aca023a8b9cd27 100755 (executable)
-//     WebHelp 5.10.001\r
-var garrSortChar=new Array();\r
-var gaFtsStop=new Array();\r
-var gaFtsStem=new Array();\r
-var gbWhLang=false;\r
-\r
-garrSortChar[0] = 0;\r
-garrSortChar[1] = 1;\r
-garrSortChar[2] = 2;\r
-garrSortChar[3] = 3;\r
-garrSortChar[4] = 4;\r
-garrSortChar[5] = 5;\r
-garrSortChar[6] = 6;\r
-garrSortChar[7] = 7;\r
-garrSortChar[8] = 8;\r
-garrSortChar[9] = 40;\r
-garrSortChar[10] = 41;\r
-garrSortChar[11] = 42;\r
-garrSortChar[12] = 43;\r
-garrSortChar[13] = 44;\r
-garrSortChar[14] = 9;\r
-garrSortChar[15] = 10;\r
-garrSortChar[16] = 11;\r
-garrSortChar[17] = 12;\r
-garrSortChar[18] = 13;\r
-garrSortChar[19] = 14;\r
-garrSortChar[20] = 15;\r
-garrSortChar[21] = 16;\r
-garrSortChar[22] = 17;\r
-garrSortChar[23] = 18;\r
-garrSortChar[24] = 19;\r
-garrSortChar[25] = 20;\r
-garrSortChar[26] = 21;\r
-garrSortChar[27] = 22;\r
-garrSortChar[28] = 23;\r
-garrSortChar[29] = 24;\r
-garrSortChar[30] = 25;\r
-garrSortChar[31] = 26;\r
-garrSortChar[32] = 38;\r
-garrSortChar[33] = 45;\r
-garrSortChar[34] = 46;\r
-garrSortChar[35] = 47;\r
-garrSortChar[36] = 48;\r
-garrSortChar[37] = 49;\r
-garrSortChar[38] = 50;\r
-garrSortChar[39] = 33;\r
-garrSortChar[40] = 51;\r
-garrSortChar[41] = 52;\r
-garrSortChar[42] = 53;\r
-garrSortChar[43] = 88;\r
-garrSortChar[44] = 54;\r
-garrSortChar[45] = 34;\r
-garrSortChar[46] = 55;\r
-garrSortChar[47] = 56;\r
-garrSortChar[48] = 115;\r
-garrSortChar[49] = 119;\r
-garrSortChar[50] = 121;\r
-garrSortChar[51] = 123;\r
-garrSortChar[52] = 125;\r
-garrSortChar[53] = 126;\r
-garrSortChar[54] = 127;\r
-garrSortChar[55] = 128;\r
-garrSortChar[56] = 129;\r
-garrSortChar[57] = 130;\r
-garrSortChar[58] = 57;\r
-garrSortChar[59] = 58;\r
-garrSortChar[60] = 89;\r
-garrSortChar[61] = 90;\r
-garrSortChar[62] = 91;\r
-garrSortChar[63] = 59;\r
-garrSortChar[64] = 60;\r
-garrSortChar[65] = 131;\r
-garrSortChar[66] = 148;\r
-garrSortChar[67] = 150;\r
-garrSortChar[68] = 154;\r
-garrSortChar[69] = 158;\r
-garrSortChar[70] = 168;\r
-garrSortChar[71] = 171;\r
-garrSortChar[72] = 173;\r
-garrSortChar[73] = 175;\r
-garrSortChar[74] = 185;\r
-garrSortChar[75] = 187;\r
-garrSortChar[76] = 189;\r
-garrSortChar[77] = 191;\r
-garrSortChar[78] = 193;\r
-garrSortChar[79] = 197;\r
-garrSortChar[80] = 214;\r
-garrSortChar[81] = 216;\r
-garrSortChar[82] = 218;\r
-garrSortChar[83] = 220;\r
-garrSortChar[84] = 225;\r
-garrSortChar[85] = 230;\r
-garrSortChar[86] = 240;\r
-garrSortChar[87] = 242;\r
-garrSortChar[88] = 244;\r
-garrSortChar[89] = 246;\r
-garrSortChar[90] = 252;\r
-garrSortChar[91] = 61;\r
-garrSortChar[92] = 62;\r
-garrSortChar[93] = 63;\r
-garrSortChar[94] = 64;\r
-garrSortChar[95] = 66;\r
-garrSortChar[96] = 67;\r
-garrSortChar[97] = 131;\r
-garrSortChar[98] = 148;\r
-garrSortChar[99] = 150;\r
-garrSortChar[100] = 154;\r
-garrSortChar[101] = 158;\r
-garrSortChar[102] = 168;\r
-garrSortChar[103] = 171;\r
-garrSortChar[104] = 173;\r
-garrSortChar[105] = 175;\r
-garrSortChar[106] = 185;\r
-garrSortChar[107] = 187;\r
-garrSortChar[108] = 189;\r
-garrSortChar[109] = 191;\r
-garrSortChar[110] = 193;\r
-garrSortChar[111] = 197;\r
-garrSortChar[112] = 214;\r
-garrSortChar[113] = 216;\r
-garrSortChar[114] = 218;\r
-garrSortChar[115] = 220;\r
-garrSortChar[116] = 225;\r
-garrSortChar[117] = 230;\r
-garrSortChar[118] = 240;\r
-garrSortChar[119] = 242;\r
-garrSortChar[120] = 244;\r
-garrSortChar[121] = 246;\r
-garrSortChar[122] = 252;\r
-garrSortChar[123] = 68;\r
-garrSortChar[124] = 69;\r
-garrSortChar[125] = 70;\r
-garrSortChar[126] = 71;\r
-garrSortChar[127] = 27;\r
-garrSortChar[128] = 114;\r
-garrSortChar[129] = 28;\r
-garrSortChar[130] = 82;\r
-garrSortChar[131] = 170;\r
-garrSortChar[132] = 85;\r
-garrSortChar[133] = 112;\r
-garrSortChar[134] = 109;\r
-garrSortChar[135] = 110;\r
-garrSortChar[136] = 65;\r
-garrSortChar[137] = 113;\r
-garrSortChar[138] = 223;\r
-garrSortChar[139] = 86;\r
-garrSortChar[140] = 213;\r
-garrSortChar[141] = 29;\r
-garrSortChar[142] = 255;\r
-garrSortChar[143] = 30;\r
-garrSortChar[144] = 31;\r
-garrSortChar[145] = 80;\r
-garrSortChar[146] = 81;\r
-garrSortChar[147] = 83;\r
-garrSortChar[148] = 84;\r
-garrSortChar[149] = 111;\r
-garrSortChar[150] = 36;\r
-garrSortChar[151] = 37;\r
-garrSortChar[152] = 79;\r
-garrSortChar[153] = 229;\r
-garrSortChar[154] = 222;\r
-garrSortChar[155] = 87;\r
-garrSortChar[156] = 212;\r
-garrSortChar[157] = 32;\r
-garrSortChar[158] = 254;\r
-garrSortChar[159] = 251;\r
-garrSortChar[160] = 39;\r
-garrSortChar[161] = 72;\r
-garrSortChar[162] = 97;\r
-garrSortChar[163] = 98;\r
-garrSortChar[164] = 99;\r
-garrSortChar[165] = 100;\r
-garrSortChar[166] = 73;\r
-garrSortChar[167] = 101;\r
-garrSortChar[168] = 74;\r
-garrSortChar[169] = 102;\r
-garrSortChar[170] = 133;\r
-garrSortChar[171] = 93;\r
-garrSortChar[172] = 103;\r
-garrSortChar[173] = 35;\r
-garrSortChar[174] = 104;\r
-garrSortChar[175] = 75;\r
-garrSortChar[176] = 105;\r
-garrSortChar[177] = 92;\r
-garrSortChar[178] = 122;\r
-garrSortChar[179] = 124;\r
-garrSortChar[180] = 76;\r
-garrSortChar[181] = 106;\r
-garrSortChar[182] = 107;\r
-garrSortChar[183] = 108;\r
-garrSortChar[184] = 77;\r
-garrSortChar[185] = 120;\r
-garrSortChar[186] = 199;\r
-garrSortChar[187] = 94;\r
-garrSortChar[188] = 116;\r
-garrSortChar[189] = 117;\r
-garrSortChar[190] = 118;\r
-garrSortChar[191] = 78;\r
-garrSortChar[192] = 131;\r
-garrSortChar[193] = 131;\r
-garrSortChar[194] = 131;\r
-garrSortChar[195] = 131;\r
-garrSortChar[196] = 131;\r
-garrSortChar[197] = 131;\r
-garrSortChar[198] = 131;\r
-garrSortChar[199] = 150;\r
-garrSortChar[200] = 158;\r
-garrSortChar[201] = 158;\r
-garrSortChar[202] = 158;\r
-garrSortChar[203] = 158;\r
-garrSortChar[204] = 175;\r
-garrSortChar[205] = 175;\r
-garrSortChar[206] = 175;\r
-garrSortChar[207] = 175;\r
-garrSortChar[208] = 154;\r
-garrSortChar[209] = 193;\r
-garrSortChar[210] = 197;\r
-garrSortChar[211] = 197;\r
-garrSortChar[212] = 197;\r
-garrSortChar[213] = 197;\r
-garrSortChar[214] = 197;\r
-garrSortChar[215] = 95;\r
-garrSortChar[216] = 197;\r
-garrSortChar[217] = 230;\r
-garrSortChar[218] = 230;\r
-garrSortChar[219] = 230;\r
-garrSortChar[220] = 230;\r
-garrSortChar[221] = 246;\r
-garrSortChar[222] = 227;\r
-garrSortChar[223] = 224;\r
-garrSortChar[224] = 131;\r
-garrSortChar[225] = 131;\r
-garrSortChar[226] = 131;\r
-garrSortChar[227] = 131;\r
-garrSortChar[228] = 131;\r
-garrSortChar[229] = 131;\r
-garrSortChar[230] = 131;\r
-garrSortChar[231] = 150;\r
-garrSortChar[232] = 158;\r
-garrSortChar[233] = 158;\r
-garrSortChar[234] = 158;\r
-garrSortChar[235] = 158;\r
-garrSortChar[236] = 175;\r
-garrSortChar[237] = 175;\r
-garrSortChar[238] = 175;\r
-garrSortChar[239] = 175;\r
-garrSortChar[240] = 154;\r
-garrSortChar[241] = 193;\r
-garrSortChar[242] = 197;\r
-garrSortChar[243] = 197;\r
-garrSortChar[244] = 197;\r
-garrSortChar[245] = 197;\r
-garrSortChar[246] = 197;\r
-garrSortChar[247] = 96;\r
-garrSortChar[248] = 197;\r
-garrSortChar[249] = 230;\r
-garrSortChar[250] = 230;\r
-garrSortChar[251] = 230;\r
-garrSortChar[252] = 230;\r
-garrSortChar[253] = 246;\r
-garrSortChar[254] = 227;\r
-garrSortChar[255] = 250;\r
-\r
-gaFtsStop[0] = "a";\r
-gaFtsStop[1] = "about";\r
-gaFtsStop[2] = "after";\r
-gaFtsStop[3] = "against";\r
-gaFtsStop[4] = "all";\r
-gaFtsStop[5] = "also";\r
-gaFtsStop[6] = "among";\r
-gaFtsStop[7] = "an";\r
-gaFtsStop[8] = "and";\r
-gaFtsStop[9] = "are";\r
-gaFtsStop[10] = "as";\r
-gaFtsStop[11] = "at";\r
-gaFtsStop[12] = "be";\r
-gaFtsStop[13] = "became";\r
-gaFtsStop[14] = "because";\r
-gaFtsStop[15] = "been";\r
-gaFtsStop[16] = "between";\r
-gaFtsStop[17] = "but";\r
-gaFtsStop[18] = "by";\r
-gaFtsStop[19] = "can";\r
-gaFtsStop[20] = "come";\r
-gaFtsStop[21] = "do";\r
-gaFtsStop[22] = "during";\r
-gaFtsStop[23] = "each";\r
-gaFtsStop[24] = "early";\r
-gaFtsStop[25] = "for";\r
-gaFtsStop[26] = "form";\r
-gaFtsStop[27] = "found";\r
-gaFtsStop[28] = "from";\r
-gaFtsStop[29] = "had";\r
-gaFtsStop[30] = "has";\r
-gaFtsStop[31] = "have";\r
-gaFtsStop[32] = "he";\r
-gaFtsStop[33] = "her";\r
-gaFtsStop[34] = "his";\r
-gaFtsStop[35] = "however";\r
-gaFtsStop[36] = "in";\r
-gaFtsStop[37] = "include";\r
-gaFtsStop[38] = "into";\r
-gaFtsStop[39] = "is";\r
-gaFtsStop[40] = "it";\r
-gaFtsStop[41] = "its";\r
-gaFtsStop[42] = "late";\r
-gaFtsStop[43] = "later";\r
-gaFtsStop[44] = "made";\r
-gaFtsStop[45] = "many";\r
-gaFtsStop[46] = "may";\r
-gaFtsStop[47] = "me";\r
-gaFtsStop[48] = "med";\r
-gaFtsStop[49] = "more";\r
-gaFtsStop[50] = "most";\r
-gaFtsStop[51] = "near";\r
-gaFtsStop[52] = "no";\r
-gaFtsStop[53] = "non";\r
-gaFtsStop[54] = "not";\r
-gaFtsStop[55] = "of";\r
-gaFtsStop[56] = "on";\r
-gaFtsStop[57] = "only";\r
-gaFtsStop[58] = "or";\r
-gaFtsStop[59] = "other";\r
-gaFtsStop[60] = "over";\r
-gaFtsStop[61] = "several";\r
-gaFtsStop[62] = "she";\r
-gaFtsStop[63] = "some";\r
-gaFtsStop[64] = "such";\r
-gaFtsStop[65] = "than";\r
-gaFtsStop[66] = "that";\r
-gaFtsStop[67] = "the";\r
-gaFtsStop[68] = "their";\r
-gaFtsStop[69] = "then";\r
-gaFtsStop[70] = "there";\r
-gaFtsStop[71] = "these";\r
-gaFtsStop[72] = "they";\r
-gaFtsStop[73] = "this";\r
-gaFtsStop[74] = "through";\r
-gaFtsStop[75] = "to";\r
-gaFtsStop[76] = "under";\r
-gaFtsStop[77] = "until";\r
-gaFtsStop[78] = "use";\r
-gaFtsStop[79] = "was";\r
-gaFtsStop[80] = "we";\r
-gaFtsStop[81] = "were";\r
-gaFtsStop[82] = "when";\r
-gaFtsStop[83] = "where";\r
-gaFtsStop[84] = "which";\r
-gaFtsStop[85] = "who";\r
-gaFtsStop[86] = "with";\r
-gaFtsStop[87] = "you";\r
-\r
-gaFtsStem[0] = "ed";\r
-gaFtsStem[1] = "es";\r
-gaFtsStem[2] = "er";\r
-gaFtsStem[3] = "e";\r
-gaFtsStem[4] = "s";\r
-gaFtsStem[5] = "ingly";\r
-gaFtsStem[6] = "ing";\r
-gaFtsStem[7] = "ly";\r
-\r
-\r
-// as javascript 1.3 support unicode instead of ISO-Latin-1\r
-// need to transfer come code back to ISO-Latin-1 for compare purpose\r
-// Note: Different Language(Code page) maybe need different array:\r
-var gaUToC=new Array();\r
-gaUToC[8364]=128;\r
-gaUToC[8218]=130;\r
-gaUToC[402]=131;\r
-gaUToC[8222]=132;\r
-gaUToC[8230]=133;\r
-gaUToC[8224]=134;\r
-gaUToC[8225]=135;\r
-gaUToC[710]=136;\r
-gaUToC[8240]=137;\r
-gaUToC[352]=138;\r
-gaUToC[8249]=139;\r
-gaUToC[338]=140;\r
-gaUToC[381]=142;\r
-gaUToC[8216]=145;\r
-gaUToC[8217]=146;\r
-gaUToC[8220]=147;\r
-gaUToC[8221]=148;\r
-gaUToC[8226]=149;\r
-gaUToC[8211]=150;\r
-gaUToC[8212]=151;\r
-gaUToC[732]=152;\r
-gaUToC[8482]=153;\r
-gaUToC[353]=154;\r
-gaUToC[8250]=155;\r
-gaUToC[339]=156;\r
-gaUToC[382]=158;\r
-gaUToC[376]=159;\r
-\r
-var gsBiggestChar="";\r
-function getBiggestChar()\r
-{\r
-       if(gsBiggestChar.length==0)\r
-       {\r
-               if(garrSortChar.length<256)\r
-                       gsBiggestChar=String.fromCharCode(255);\r
-               else\r
-               {\r
-                       var nBiggest=0;\r
-                       var nBigChar=0;\r
-                       for(var i=0;i<=255;i++)\r
-                       {\r
-                               if(garrSortChar[i]>nBiggest)\r
-                               {\r
-                                       nBiggest=garrSortChar[i];\r
-                                       nBigChar=i;\r
-                               }\r
-                       }\r
-                       gsBiggestChar=String.fromCharCode(nBigChar);\r
-               }\r
-\r
-       }       \r
-       return gsBiggestChar;\r
-}\r
-\r
-function getCharCode(str,i)\r
-{\r
-       var code=str.charCodeAt(i)\r
-       if(code>256)\r
-       {\r
-               code=gaUToC[code];\r
-       }\r
-       return code;\r
-}\r
-\r
-function compare(strText1,strText2)\r
-{\r
-       if(garrSortChar.length<256)\r
-       {\r
-               var strt1=strText1.toLowerCase();\r
-               var strt2=strText2.toLowerCase();\r
-               if(strt1<strt2) return -1;\r
-               if(strt1>strt2) return 1;\r
-               return 0;\r
-       }\r
-       else\r
-       {\r
-               for(var i=0;i<strText1.length&&i<strText2.length;i++)\r
-               {\r
-                       if(garrSortChar[getCharCode(strText1,i)]<garrSortChar[getCharCode(strText2,i)]) return -1;\r
-                       if(garrSortChar[getCharCode(strText1,i)]>garrSortChar[getCharCode(strText2,i)]) return 1;\r
-               }\r
-               if(strText1.length<strText2.length) return -1;\r
-               if(strText1.length>strText2.length) return 1;\r
-               return 0;\r
-       }\r
-}\r
+//     WebHelp 5.10.001
+var garrSortChar=new Array();
+var gaFtsStop=new Array();
+var gaFtsStem=new Array();
+var gbWhLang=false;
+
+garrSortChar[0] = 0;
+garrSortChar[1] = 1;
+garrSortChar[2] = 2;
+garrSortChar[3] = 3;
+garrSortChar[4] = 4;
+garrSortChar[5] = 5;
+garrSortChar[6] = 6;
+garrSortChar[7] = 7;
+garrSortChar[8] = 8;
+garrSortChar[9] = 40;
+garrSortChar[10] = 41;
+garrSortChar[11] = 42;
+garrSortChar[12] = 43;
+garrSortChar[13] = 44;
+garrSortChar[14] = 9;
+garrSortChar[15] = 10;
+garrSortChar[16] = 11;
+garrSortChar[17] = 12;
+garrSortChar[18] = 13;
+garrSortChar[19] = 14;
+garrSortChar[20] = 15;
+garrSortChar[21] = 16;
+garrSortChar[22] = 17;
+garrSortChar[23] = 18;
+garrSortChar[24] = 19;
+garrSortChar[25] = 20;
+garrSortChar[26] = 21;
+garrSortChar[27] = 22;
+garrSortChar[28] = 23;
+garrSortChar[29] = 24;
+garrSortChar[30] = 25;
+garrSortChar[31] = 26;
+garrSortChar[32] = 38;
+garrSortChar[33] = 45;
+garrSortChar[34] = 46;
+garrSortChar[35] = 47;
+garrSortChar[36] = 48;
+garrSortChar[37] = 49;
+garrSortChar[38] = 50;
+garrSortChar[39] = 33;
+garrSortChar[40] = 51;
+garrSortChar[41] = 52;
+garrSortChar[42] = 53;
+garrSortChar[43] = 88;
+garrSortChar[44] = 54;
+garrSortChar[45] = 34;
+garrSortChar[46] = 55;
+garrSortChar[47] = 56;
+garrSortChar[48] = 115;
+garrSortChar[49] = 119;
+garrSortChar[50] = 121;
+garrSortChar[51] = 123;
+garrSortChar[52] = 125;
+garrSortChar[53] = 126;
+garrSortChar[54] = 127;
+garrSortChar[55] = 128;
+garrSortChar[56] = 129;
+garrSortChar[57] = 130;
+garrSortChar[58] = 57;
+garrSortChar[59] = 58;
+garrSortChar[60] = 89;
+garrSortChar[61] = 90;
+garrSortChar[62] = 91;
+garrSortChar[63] = 59;
+garrSortChar[64] = 60;
+garrSortChar[65] = 131;
+garrSortChar[66] = 148;
+garrSortChar[67] = 150;
+garrSortChar[68] = 154;
+garrSortChar[69] = 158;
+garrSortChar[70] = 168;
+garrSortChar[71] = 171;
+garrSortChar[72] = 173;
+garrSortChar[73] = 175;
+garrSortChar[74] = 185;
+garrSortChar[75] = 187;
+garrSortChar[76] = 189;
+garrSortChar[77] = 191;
+garrSortChar[78] = 193;
+garrSortChar[79] = 197;
+garrSortChar[80] = 214;
+garrSortChar[81] = 216;
+garrSortChar[82] = 218;
+garrSortChar[83] = 220;
+garrSortChar[84] = 225;
+garrSortChar[85] = 230;
+garrSortChar[86] = 240;
+garrSortChar[87] = 242;
+garrSortChar[88] = 244;
+garrSortChar[89] = 246;
+garrSortChar[90] = 252;
+garrSortChar[91] = 61;
+garrSortChar[92] = 62;
+garrSortChar[93] = 63;
+garrSortChar[94] = 64;
+garrSortChar[95] = 66;
+garrSortChar[96] = 67;
+garrSortChar[97] = 131;
+garrSortChar[98] = 148;
+garrSortChar[99] = 150;
+garrSortChar[100] = 154;
+garrSortChar[101] = 158;
+garrSortChar[102] = 168;
+garrSortChar[103] = 171;
+garrSortChar[104] = 173;
+garrSortChar[105] = 175;
+garrSortChar[106] = 185;
+garrSortChar[107] = 187;
+garrSortChar[108] = 189;
+garrSortChar[109] = 191;
+garrSortChar[110] = 193;
+garrSortChar[111] = 197;
+garrSortChar[112] = 214;
+garrSortChar[113] = 216;
+garrSortChar[114] = 218;
+garrSortChar[115] = 220;
+garrSortChar[116] = 225;
+garrSortChar[117] = 230;
+garrSortChar[118] = 240;
+garrSortChar[119] = 242;
+garrSortChar[120] = 244;
+garrSortChar[121] = 246;
+garrSortChar[122] = 252;
+garrSortChar[123] = 68;
+garrSortChar[124] = 69;
+garrSortChar[125] = 70;
+garrSortChar[126] = 71;
+garrSortChar[127] = 27;
+garrSortChar[128] = 114;
+garrSortChar[129] = 28;
+garrSortChar[130] = 82;
+garrSortChar[131] = 170;
+garrSortChar[132] = 85;
+garrSortChar[133] = 112;
+garrSortChar[134] = 109;
+garrSortChar[135] = 110;
+garrSortChar[136] = 65;
+garrSortChar[137] = 113;
+garrSortChar[138] = 223;
+garrSortChar[139] = 86;
+garrSortChar[140] = 213;
+garrSortChar[141] = 29;
+garrSortChar[142] = 255;
+garrSortChar[143] = 30;
+garrSortChar[144] = 31;
+garrSortChar[145] = 80;
+garrSortChar[146] = 81;
+garrSortChar[147] = 83;
+garrSortChar[148] = 84;
+garrSortChar[149] = 111;
+garrSortChar[150] = 36;
+garrSortChar[151] = 37;
+garrSortChar[152] = 79;
+garrSortChar[153] = 229;
+garrSortChar[154] = 222;
+garrSortChar[155] = 87;
+garrSortChar[156] = 212;
+garrSortChar[157] = 32;
+garrSortChar[158] = 254;
+garrSortChar[159] = 251;
+garrSortChar[160] = 39;
+garrSortChar[161] = 72;
+garrSortChar[162] = 97;
+garrSortChar[163] = 98;
+garrSortChar[164] = 99;
+garrSortChar[165] = 100;
+garrSortChar[166] = 73;
+garrSortChar[167] = 101;
+garrSortChar[168] = 74;
+garrSortChar[169] = 102;
+garrSortChar[170] = 133;
+garrSortChar[171] = 93;
+garrSortChar[172] = 103;
+garrSortChar[173] = 35;
+garrSortChar[174] = 104;
+garrSortChar[175] = 75;
+garrSortChar[176] = 105;
+garrSortChar[177] = 92;
+garrSortChar[178] = 122;
+garrSortChar[179] = 124;
+garrSortChar[180] = 76;
+garrSortChar[181] = 106;
+garrSortChar[182] = 107;
+garrSortChar[183] = 108;
+garrSortChar[184] = 77;
+garrSortChar[185] = 120;
+garrSortChar[186] = 199;
+garrSortChar[187] = 94;
+garrSortChar[188] = 116;
+garrSortChar[189] = 117;
+garrSortChar[190] = 118;
+garrSortChar[191] = 78;
+garrSortChar[192] = 131;
+garrSortChar[193] = 131;
+garrSortChar[194] = 131;
+garrSortChar[195] = 131;
+garrSortChar[196] = 131;
+garrSortChar[197] = 131;
+garrSortChar[198] = 131;
+garrSortChar[199] = 150;
+garrSortChar[200] = 158;
+garrSortChar[201] = 158;
+garrSortChar[202] = 158;
+garrSortChar[203] = 158;
+garrSortChar[204] = 175;
+garrSortChar[205] = 175;
+garrSortChar[206] = 175;
+garrSortChar[207] = 175;
+garrSortChar[208] = 154;
+garrSortChar[209] = 193;
+garrSortChar[210] = 197;
+garrSortChar[211] = 197;
+garrSortChar[212] = 197;
+garrSortChar[213] = 197;
+garrSortChar[214] = 197;
+garrSortChar[215] = 95;
+garrSortChar[216] = 197;
+garrSortChar[217] = 230;
+garrSortChar[218] = 230;
+garrSortChar[219] = 230;
+garrSortChar[220] = 230;
+garrSortChar[221] = 246;
+garrSortChar[222] = 227;
+garrSortChar[223] = 224;
+garrSortChar[224] = 131;
+garrSortChar[225] = 131;
+garrSortChar[226] = 131;
+garrSortChar[227] = 131;
+garrSortChar[228] = 131;
+garrSortChar[229] = 131;
+garrSortChar[230] = 131;
+garrSortChar[231] = 150;
+garrSortChar[232] = 158;
+garrSortChar[233] = 158;
+garrSortChar[234] = 158;
+garrSortChar[235] = 158;
+garrSortChar[236] = 175;
+garrSortChar[237] = 175;
+garrSortChar[238] = 175;
+garrSortChar[239] = 175;
+garrSortChar[240] = 154;
+garrSortChar[241] = 193;
+garrSortChar[242] = 197;
+garrSortChar[243] = 197;
+garrSortChar[244] = 197;
+garrSortChar[245] = 197;
+garrSortChar[246] = 197;
+garrSortChar[247] = 96;
+garrSortChar[248] = 197;
+garrSortChar[249] = 230;
+garrSortChar[250] = 230;
+garrSortChar[251] = 230;
+garrSortChar[252] = 230;
+garrSortChar[253] = 246;
+garrSortChar[254] = 227;
+garrSortChar[255] = 250;
+
+gaFtsStop[0] = "a";
+gaFtsStop[1] = "about";
+gaFtsStop[2] = "after";
+gaFtsStop[3] = "against";
+gaFtsStop[4] = "all";
+gaFtsStop[5] = "also";
+gaFtsStop[6] = "among";
+gaFtsStop[7] = "an";
+gaFtsStop[8] = "and";
+gaFtsStop[9] = "are";
+gaFtsStop[10] = "as";
+gaFtsStop[11] = "at";
+gaFtsStop[12] = "be";
+gaFtsStop[13] = "became";
+gaFtsStop[14] = "because";
+gaFtsStop[15] = "been";
+gaFtsStop[16] = "between";
+gaFtsStop[17] = "but";
+gaFtsStop[18] = "by";
+gaFtsStop[19] = "can";
+gaFtsStop[20] = "come";
+gaFtsStop[21] = "do";
+gaFtsStop[22] = "during";
+gaFtsStop[23] = "each";
+gaFtsStop[24] = "early";
+gaFtsStop[25] = "for";
+gaFtsStop[26] = "form";
+gaFtsStop[27] = "found";
+gaFtsStop[28] = "from";
+gaFtsStop[29] = "had";
+gaFtsStop[30] = "has";
+gaFtsStop[31] = "have";
+gaFtsStop[32] = "he";
+gaFtsStop[33] = "her";
+gaFtsStop[34] = "his";
+gaFtsStop[35] = "however";
+gaFtsStop[36] = "in";
+gaFtsStop[37] = "include";
+gaFtsStop[38] = "into";
+gaFtsStop[39] = "is";
+gaFtsStop[40] = "it";
+gaFtsStop[41] = "its";
+gaFtsStop[42] = "late";
+gaFtsStop[43] = "later";
+gaFtsStop[44] = "made";
+gaFtsStop[45] = "many";
+gaFtsStop[46] = "may";
+gaFtsStop[47] = "me";
+gaFtsStop[48] = "med";
+gaFtsStop[49] = "more";
+gaFtsStop[50] = "most";
+gaFtsStop[51] = "near";
+gaFtsStop[52] = "no";
+gaFtsStop[53] = "non";
+gaFtsStop[54] = "not";
+gaFtsStop[55] = "of";
+gaFtsStop[56] = "on";
+gaFtsStop[57] = "only";
+gaFtsStop[58] = "or";
+gaFtsStop[59] = "other";
+gaFtsStop[60] = "over";
+gaFtsStop[61] = "several";
+gaFtsStop[62] = "she";
+gaFtsStop[63] = "some";
+gaFtsStop[64] = "such";
+gaFtsStop[65] = "than";
+gaFtsStop[66] = "that";
+gaFtsStop[67] = "the";
+gaFtsStop[68] = "their";
+gaFtsStop[69] = "then";
+gaFtsStop[70] = "there";
+gaFtsStop[71] = "these";
+gaFtsStop[72] = "they";
+gaFtsStop[73] = "this";
+gaFtsStop[74] = "through";
+gaFtsStop[75] = "to";
+gaFtsStop[76] = "under";
+gaFtsStop[77] = "until";
+gaFtsStop[78] = "use";
+gaFtsStop[79] = "was";
+gaFtsStop[80] = "we";
+gaFtsStop[81] = "were";
+gaFtsStop[82] = "when";
+gaFtsStop[83] = "where";
+gaFtsStop[84] = "which";
+gaFtsStop[85] = "who";
+gaFtsStop[86] = "with";
+gaFtsStop[87] = "you";
+
+gaFtsStem[0] = "ed";
+gaFtsStem[1] = "es";
+gaFtsStem[2] = "er";
+gaFtsStem[3] = "e";
+gaFtsStem[4] = "s";
+gaFtsStem[5] = "ingly";
+gaFtsStem[6] = "ing";
+gaFtsStem[7] = "ly";
+
+
+// as javascript 1.3 support unicode instead of ISO-Latin-1
+// need to transfer come code back to ISO-Latin-1 for compare purpose
+// Note: Different Language(Code page) maybe need different array:
+var gaUToC=new Array();
+gaUToC[8364]=128;
+gaUToC[8218]=130;
+gaUToC[402]=131;
+gaUToC[8222]=132;
+gaUToC[8230]=133;
+gaUToC[8224]=134;
+gaUToC[8225]=135;
+gaUToC[710]=136;
+gaUToC[8240]=137;
+gaUToC[352]=138;
+gaUToC[8249]=139;
+gaUToC[338]=140;
+gaUToC[381]=142;
+gaUToC[8216]=145;
+gaUToC[8217]=146;
+gaUToC[8220]=147;
+gaUToC[8221]=148;
+gaUToC[8226]=149;
+gaUToC[8211]=150;
+gaUToC[8212]=151;
+gaUToC[732]=152;
+gaUToC[8482]=153;
+gaUToC[353]=154;
+gaUToC[8250]=155;
+gaUToC[339]=156;
+gaUToC[382]=158;
+gaUToC[376]=159;
+
+var gsBiggestChar="";
+function getBiggestChar()
+{
+       if(gsBiggestChar.length==0)
+       {
+               if(garrSortChar.length<256)
+                       gsBiggestChar=String.fromCharCode(255);
+               else
+               {
+                       var nBiggest=0;
+                       var nBigChar=0;
+                       for(var i=0;i<=255;i++)
+                       {
+                               if(garrSortChar[i]>nBiggest)
+                               {
+                                       nBiggest=garrSortChar[i];
+                                       nBigChar=i;
+                               }
+                       }
+                       gsBiggestChar=String.fromCharCode(nBigChar);
+               }
+
+       }       
+       return gsBiggestChar;
+}
+
+function getCharCode(str,i)
+{
+       var code=str.charCodeAt(i)
+       if(code>256)
+       {
+               code=gaUToC[code];
+       }
+       return code;
+}
+
+function compare(strText1,strText2)
+{
+       if(garrSortChar.length<256)
+       {
+               var strt1=strText1.toLowerCase();
+               var strt2=strText2.toLowerCase();
+               if(strt1<strt2) return -1;
+               if(strt1>strt2) return 1;
+               return 0;
+       }
+       else
+       {
+               for(var i=0;i<strText1.length&&i<strText2.length;i++)
+               {
+                       if(garrSortChar[getCharCode(strText1,i)]<garrSortChar[getCharCode(strText2,i)]) return -1;
+                       if(garrSortChar[getCharCode(strText1,i)]>garrSortChar[getCharCode(strText2,i)]) return 1;
+               }
+               if(strText1.length<strText2.length) return -1;
+               if(strText1.length>strText2.length) return 1;
+               return 0;
+       }
+}
 gbWhLang=true;
\ No newline at end of file
index 84c6de1ed099d2dd70ad4d305042e2d12071cf96..8fd89b275adc5dea855441dd2f34ccfcf5dd798e 100755 (executable)
@@ -1,67 +1,67 @@
-//     WebHelp 5.10.002\r
-if (! window.gbIE4 && window.gbNav6 && !document.childNodes[0].insertAdjacentHTML){\r
-\r
-HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)\r
-{\r
-       switch (where){\r
-       case 'beforeBegin':\r
-               this.parentNode.insertBefore(parsedNode,this);\r
-               break;\r
-       case 'afterBegin':\r
-               this.insertBefore(parsedNode,this.firstChild);\r
-               break;\r
-       case 'beforeEnd':\r
-               this.appendChild(parsedNode);\r
-               break;\r
-       case 'afterEnd':\r
-               if (this.nextSibling){\r
-               this.parentNode.insertBefore(parsedNode,this.nextSibling);\r
-               } else {\r
-               this.parentNode.appendChild(parsedNode);\r
-               }\r
-               break;\r
-       }\r
-}\r
-\r
-HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr){\r
-\r
-       var r = this.ownerDocument.createRange();\r
-       r.setStartBefore(this);\r
-       var parsedHTML = r.createContextualFragment(htmlStr);\r
-       this.insertAdjacentElement(where,parsedHTML);\r
-}\r
-\r
-\r
-HTMLElement.prototype.insertAdjacentText = function(where,txtStr){\r
-\r
-       var parsedText = document.createTextNode(txtStr);\r
-       this.insertAdjacentElement(where,parsedText);\r
-}\r
-}\r
-\r
-function testScroll() {\r
-       // Initialize scrollbar cache if necessary\r
-       if (window._pageXOffset==null) {\r
-               window._pageXOffset = window.pageXOffset;\r
-               window._pageYOffset = window.pageYOffset;\r
-       }\r
-       // Expose Internet Explorer compatible object model\r
-       document.scrollTop = window.pageYOffset;\r
-       document.scrollLeft = window.pageXOffset;\r
-       window.document.scrollHeight = document.height;\r
-       window.document.scrollWidth = document.width;\r
-       window.document.clientWidth = window.innerWidth;\r
-       window.document.clientHeight = window.innerHeight;\r
-\r
-       // If cache!=current values, call the onscroll event\r
-       if (((window.pageXOffset!=window._pageXOffset) || (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) \r
-               window.onscroll();\r
-       // Cache new values\r
-       window._pageXOffset = window.pageXOffset;\r
-       window._pageYOffset = window.pageYOffset;\r
-       }\r
-\r
-// Create compatibility layer for Netscape\r
-if (window.gbNav6 && !window.gbNav7) {\r
-       setInterval("testScroll()",50)\r
+//     WebHelp 5.10.002
+if (! window.gbIE4 && window.gbNav6 && !document.childNodes[0].insertAdjacentHTML){
+
+HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
+{
+       switch (where){
+       case 'beforeBegin':
+               this.parentNode.insertBefore(parsedNode,this);
+               break;
+       case 'afterBegin':
+               this.insertBefore(parsedNode,this.firstChild);
+               break;
+       case 'beforeEnd':
+               this.appendChild(parsedNode);
+               break;
+       case 'afterEnd':
+               if (this.nextSibling){
+               this.parentNode.insertBefore(parsedNode,this.nextSibling);
+               } else {
+               this.parentNode.appendChild(parsedNode);
+               }
+               break;
+       }
+}
+
+HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr){
+
+       var r = this.ownerDocument.createRange();
+       r.setStartBefore(this);
+       var parsedHTML = r.createContextualFragment(htmlStr);
+       this.insertAdjacentElement(where,parsedHTML);
+}
+
+
+HTMLElement.prototype.insertAdjacentText = function(where,txtStr){
+
+       var parsedText = document.createTextNode(txtStr);
+       this.insertAdjacentElement(where,parsedText);
+}
+}
+
+function testScroll() {
+       // Initialize scrollbar cache if necessary
+       if (window._pageXOffset==null) {
+               window._pageXOffset = window.pageXOffset;
+               window._pageYOffset = window.pageYOffset;
+       }
+       // Expose Internet Explorer compatible object model
+       document.scrollTop = window.pageYOffset;
+       document.scrollLeft = window.pageXOffset;
+       window.document.scrollHeight = document.height;
+       window.document.scrollWidth = document.width;
+       window.document.clientWidth = window.innerWidth;
+       window.document.clientHeight = window.innerHeight;
+
+       // If cache!=current values, call the onscroll event
+       if (((window.pageXOffset!=window._pageXOffset) || (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) 
+               window.onscroll();
+       // Cache new values
+       window._pageXOffset = window.pageXOffset;
+       window._pageYOffset = window.pageYOffset;
+       }
+
+// Create compatibility layer for Netscape
+if (window.gbNav6 && !window.gbNav7) {
+       setInterval("testScroll()",50)
 }
\ No newline at end of file
index 52ffcd2434bf2df36d626d1ff365e71655d0a330..492114be77ad30b6523a70d327da0c6cee1eb403 100755 (executable)
@@ -1,69 +1,69 @@
-//     WebHelp 5.10.002\r
-var WH_MSG_RESIZEPANE          =0x0100;\r
-var WH_MSG_SHOWPANE                    =0x0101;\r
-var WH_MSG_HIDEPANE                    =0x0102;\r
-var WH_MSG_SYNCTOC                     =0x0103;\r
-var WH_MSG_NEXT                                =0x0104;\r
-var WH_MSG_PREV                                =0x0105;\r
-var WH_MSG_NOSEARCHINPUT       =0x0106;\r
-var WH_MSG_NOSYNC                      =0x0107;\r
-var WH_MSG_ENABLEWEBSEARCH     =0x0108;\r
-\r
-var WH_MSG_ISPANEVISIBLE       =0x0109;\r
-var WH_MSG_PANESTATUE          =0x010a;\r
-\r
-var    WH_MSG_SYNCINFO                 =0x010b;\r
-var WH_MSG_PANEINFO                    =0x010c;\r
-var WH_MSG_WEBSEARCH           =0x010d;\r
-\r
-var WH_MSG_SEARCHINDEXKEY      =0x0201;\r
-\r
-var WH_MSG_SEARCHFTSKEY        =0x020a;\r
-\r
-var WH_MSG_PROJECTREADY                =0x0301;\r
-var WH_MSG_GETPROJINFO                 =0x0302;\r
-\r
-var WH_MSG_SHOWTOC                     =0x0401;\r
-var WH_MSG_SHOWIDX                     =0x0402;\r
-var WH_MSG_SHOWFTS                     =0x0403;\r
-var WH_MSG_SHOWGLO                     =0x0404;\r
-\r
-var WH_MSG_SHOWGLODEF          =0x0500;\r
-\r
-var WH_MSG_GETTOCPATHS                 =0x0600;\r
-var WH_MSG_GETAVIAVENUES       =0x0601;\r
-var WH_MSG_GETCURRENTAVENUE =0x0602;\r
-var WH_MSG_GETPANEINFO         =0x0603;\r
-var WH_MSG_AVENUEINFO          =0x0604;\r
-\r
-var WH_MSG_GETSTARTFRAME       =0x0701;\r
-var WH_MSG_GETDEFAULTTOPIC     =0x0702;\r
-\r
-var WH_MSG_SEARCHTHIS          =0x0801;\r
-var WH_MSG_GETSEARCHS          =0x0802;\r
-\r
-var WH_MSG_ISINFRAMESET                =0x0900;\r
-\r
-var WH_MSG_TOOLBARORDER                =0x0a00;\r
-var WH_MSG_MINIBARORDER                =0x0a01;\r
-var WH_MSG_ISSYNCSSUPPORT      =0x0a02;\r
-var WH_MSG_ISSEARCHSUPPORT     =0x0a03;\r
-var WH_MSG_GETPANETYPE         =0x0a04;\r
-var WH_MSG_BACKUPSEARCH                =0x0a05;\r
-var WH_MSG_GETPANES                    =0x0a06;\r
-var WH_MSG_INITSEARCHSTRING =0x0a07;\r
-var WH_MSG_RELOADNS6           =0x0a08;\r
-var WH_MSG_ISAVENUESUPPORT     =0x0a09;\r
-\r
-var WH_MSG_GETCMD                      =0x0b00;\r
-var    WH_MSG_GETPANE                  =0x0b01;\r
-var WH_MSG_GETDEFPANE          =0x0b02;\r
-\r
-function whMessage(nMessageId,wSender,nVersion,oParam)\r
-{\r
-       this.nMessageId=nMessageId;\r
-       this.wSender=wSender;\r
-       this.nVersion=nVersion;\r
-       this.oParam=oParam;\r
-}\r
+//     WebHelp 5.10.002
+var WH_MSG_RESIZEPANE          =0x0100;
+var WH_MSG_SHOWPANE                    =0x0101;
+var WH_MSG_HIDEPANE                    =0x0102;
+var WH_MSG_SYNCTOC                     =0x0103;
+var WH_MSG_NEXT                                =0x0104;
+var WH_MSG_PREV                                =0x0105;
+var WH_MSG_NOSEARCHINPUT       =0x0106;
+var WH_MSG_NOSYNC                      =0x0107;
+var WH_MSG_ENABLEWEBSEARCH     =0x0108;
+
+var WH_MSG_ISPANEVISIBLE       =0x0109;
+var WH_MSG_PANESTATUE          =0x010a;
+
+var    WH_MSG_SYNCINFO                 =0x010b;
+var WH_MSG_PANEINFO                    =0x010c;
+var WH_MSG_WEBSEARCH           =0x010d;
+
+var WH_MSG_SEARCHINDEXKEY      =0x0201;
+
+var WH_MSG_SEARCHFTSKEY        =0x020a;
+
+var WH_MSG_PROJECTREADY                =0x0301;
+var WH_MSG_GETPROJINFO                 =0x0302;
+
+var WH_MSG_SHOWTOC                     =0x0401;
+var WH_MSG_SHOWIDX                     =0x0402;
+var WH_MSG_SHOWFTS                     =0x0403;
+var WH_MSG_SHOWGLO                     =0x0404;
+
+var WH_MSG_SHOWGLODEF          =0x0500;
+
+var WH_MSG_GETTOCPATHS                 =0x0600;
+var WH_MSG_GETAVIAVENUES       =0x0601;
+var WH_MSG_GETCURRENTAVENUE =0x0602;
+var WH_MSG_GETPANEINFO         =0x0603;
+var WH_MSG_AVENUEINFO          =0x0604;
+
+var WH_MSG_GETSTARTFRAME       =0x0701;
+var WH_MSG_GETDEFAULTTOPIC     =0x0702;
+
+var WH_MSG_SEARCHTHIS          =0x0801;
+var WH_MSG_GETSEARCHS          =0x0802;
+
+var WH_MSG_ISINFRAMESET                =0x0900;
+
+var WH_MSG_TOOLBARORDER                =0x0a00;
+var WH_MSG_MINIBARORDER                =0x0a01;
+var WH_MSG_ISSYNCSSUPPORT      =0x0a02;
+var WH_MSG_ISSEARCHSUPPORT     =0x0a03;
+var WH_MSG_GETPANETYPE         =0x0a04;
+var WH_MSG_BACKUPSEARCH                =0x0a05;
+var WH_MSG_GETPANES                    =0x0a06;
+var WH_MSG_INITSEARCHSTRING =0x0a07;
+var WH_MSG_RELOADNS6           =0x0a08;
+var WH_MSG_ISAVENUESUPPORT     =0x0a09;
+
+var WH_MSG_GETCMD                      =0x0b00;
+var    WH_MSG_GETPANE                  =0x0b01;
+var WH_MSG_GETDEFPANE          =0x0b02;
+
+function whMessage(nMessageId,wSender,nVersion,oParam)
+{
+       this.nMessageId=nMessageId;
+       this.wSender=wSender;
+       this.nVersion=nVersion;
+       this.oParam=oParam;
+}
 var gbWhMsg=true;
\ No newline at end of file
index bb65b274f2f3debdb7124c332543a2ac0a00b5c2..2b71c7972e87d0965611d6a653d32b22a8a352b6 100755 (executable)
@@ -1,25 +1,25 @@
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whstub.js"></script>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whstart.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-function window_Onload()\r
-{\r
-       if (window.gsTopic)\r
-               frames["bsscright"].document.location = window.gsTopic;\r
-}\r
-window.onload=window_Onload;\r
-//-->\r
-</script>\r
-</head>\r
-\r
-<frameset id="whPfset" cols="260,*"><noframes><p>Your browser does not support frames. We recommend that you update your browser to a version that supports frames.</p><p>To view the Help system without frames click on this<a href="whgdata/whnvp30.htm">hyperlink.</a></p></noframes><frame src="whgdata/whnvp30.htm" title="navigation pane" name="navigation pane" scrolling="no"><frame src="mesh.htm" title="topic pane" name="bsscright" scrolling="yes"></frameset>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whstub.js"></script>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whstart.js"></script>
+<script language="javascript1.2">
+<!--
+function window_Onload()
+{
+       if (window.gsTopic)
+               frames["bsscright"].document.location = window.gsTopic;
+}
+window.onload=window_Onload;
+//-->
+</script>
+</head>
+
+<frameset id="whPfset" cols="260,*"><noframes><p>Your browser does not support frames. We recommend that you update your browser to a version that supports frames.</p><p>To view the Help system without frames click on this<a href="whgdata/whnvp30.htm">hyperlink.</a></p></noframes><frame src="whgdata/whnvp30.htm" title="navigation pane" name="navigation pane" scrolling="no"><frame src="mesh.htm" title="topic pane" name="bsscright" scrolling="yes"></frameset>
+</html>
index 163913247956d4652d87cc17a03ca8a70e52d0b5..b8f74f46fa24c370ec4e5ace7645f692c3313a2a 100755 (executable)
-//     WebHelp 5.10.005\r
-var gaProj=new Array();\r
-var gnChecked=0;\r
-var gsProjName="";\r
-var gbReady=false;\r
-var goMan=null;\r
-var gbXML=false;\r
-var gsFirstPane="";\r
-var gServerEnabled=false;\r
-var gsPath="";\r
-var gbWhPHost=false;\r
-var goDiv = null;\r
-var gsHTML = "";\r
-\r
-if (navigator.currentNavPen)\r
-       gsFirstPane = navigator.currentNavPen;\r
-\r
-\r
-function delayLoad()\r
-{\r
-       if (goDiv&&gsHTML)\r
-       {\r
-               goDiv.innerHTML=gsHTML;\r
-               goDiv=null;\r
-               gsHTML="";\r
-       }\r
-}\r
-\r
-function whCom(sName,sComFile)\r
-{\r
-       this.msName=sName;\r
-       this.msDivId=sName+"Div";\r
-       this.msIFrameId=sName+"IFrame";\r
-       this.msComFile=sComFile;\r
-       this.mbloaded=false;\r
-       this.mbShow=false;\r
-       this.show=function(bShow)\r
-       {\r
-               if(this.mbShow!=bShow)\r
-               {\r
-                       if(bShow&&!this.mbloaded)\r
-                       {\r
-                               this.load();\r
-                       }\r
-\r
-                       var oDiv=getElement(this.msDivId);\r
-                       if(oDiv)\r
-                       {\r
-                               if(gbIE55||(gbIE5&&gbMac))\r
-                               {\r
-                                       var oIframe=getElement(this.msIFrameId);\r
-                                       if(oIframe)\r
-                                       {\r
-                                               if(bShow)\r
-                                               {\r
-                                                       oDiv.style.zIndex=3;\r
-                                                       if(oIframe!=null)\r
-                                                       {\r
-                                                               oIframe.style.zIndex=3;\r
-                                                               if (!gbIE55)\r
-                                                                       oIframe.style.visibility="visible";\r
-                                                       }\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       oDiv.style.zIndex=2;\r
-                                                       if(oIframe!=null)\r
-                                                       {\r
-                                                               oIframe.style.zIndex=2;\r
-                                                               if (!gbIE55)\r
-                                                                       oIframe.style.visibility="hidden";\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               if (!gbIE55)\r
-                                       oDiv.style.visibility=(bShow==true)?'visible':'hidden';\r
-                               this.mbShow=bShow;\r
-                       }\r
-\r
-               }\r
-       }\r
-       this.load=function()\r
-       {\r
-               if(!this.mbloaded)\r
-               {\r
-                       if(this.msComFile.length>0){\r
-                               var strFile= _getFullPath(getPath(), this.msComFile);\r
-                               var oDiv=getElement(this.msDivId);\r
-                               if(oDiv){\r
-                                       if(gbIE4||gbOpera7){\r
-                                               var nIFrameHeight=oDiv.style.pixelHeight;\r
-                                               var nIFrameWidth=oDiv.style.pixelWidth;\r
-                                               var sHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:";\r
-                                               if(gbMac){\r
-                                                       sHTML+=nIFrameWidth+"px;height:"+nIFrameHeight+"px;\"></IFRAME>";\r
-                                               }else{\r
-                                                       sHTML+="100%; height:100%;\"></IFRAME>";\r
-                                               }\r
-                                               oDiv.innerHTML=sHTML;\r
-                                       }else if(gbNav6){\r
-                                               gsHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:100%;border:0;height:100%;\"></IFRAME>";\r
-                                               goDiv = oDiv;\r
-                                               setTimeout("delayLoad()", 100);\r
-                                       }\r
-                                       this.mbloaded=true;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       this.unload=function()\r
-       {\r
-               var oDiv=getElement(this.msDivId);\r
-               if(oDiv)\r
-                       oDiv.innerHTML="";\r
-       }\r
-       this.getDivHTML=function()\r
-       {\r
-               var sHTML="";\r
-               if(gbMac&&gbIE4)\r
-                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;margin:0;padding:0;border:0;\">";\r
-               else if(gbIE5)\r
-                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;\">";\r
-               else if(gbIE4||gbWindows)\r
-                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";\r
-               else\r
-                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";\r
-               sHTML+="</DIV>";\r
-               return sHTML;\r
-       }\r
-}  \r
-\r
-function whComMan()\r
-{\r
-       this.sName="";\r
-       this.maCom=new Array();\r
-       this.addCom=function(sName,sComFile)\r
-       {\r
-               var owhCom=new whCom(sName,sComFile);\r
-               this.maCom[this.maCom.length]=owhCom;\r
-       }\r
-       this.init=function()\r
-       {\r
-               var sHTML="";\r
-               for(var i=0;i<this.maCom.length;i++)\r
-               {\r
-                       sHTML+=this.maCom[i].getDivHTML();\r
-               }\r
-               document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-\r
-       }\r
-       this.showById=function(nId)\r
-       {\r
-               for(var s=0;s<this.maCom.length;s++)\r
-               {\r
-                       if(s!==nId)\r
-                               this.maCom[s].show(false);\r
-               }\r
-               this.maCom[nId].show(true);\r
-       }\r
-       this.show=function(sName)\r
-       {\r
-               navigator.currentNavPen = sName;\r
-               var bFound=false;\r
-               for(var i=0;i<this.maCom.length;i++)\r
-               {\r
-                       if(sName==this.maCom[i].msName)\r
-                       {\r
-                               bFound=true;\r
-                               break;\r
-                       }\r
-               }\r
-               if(bFound)\r
-               {\r
-                       this.showById(i);\r
-                       this.sName=sName;\r
-               }\r
-       }\r
-       this.unload=function()\r
-       {\r
-               for(var i=0;i<this.maCom.length;i++)\r
-               {\r
-                       this.maCom[i].unload();\r
-               }               \r
-       }\r
-       this.getCurrent=function()\r
-       {\r
-               return this.sName;\r
-       }\r
-}\r
-\r
-function getPath()\r
-{\r
-       if(gsPath=="")\r
-       {\r
-               gsPath=location.href;\r
-               gsPath=_replaceSlash(gsPath);\r
-               var nPosFile=gsPath.lastIndexOf("/");\r
-               gsPath=gsPath.substring(0,nPosFile+1);\r
-       }\r
-       return gsPath;\r
-}\r
-\r
-goMan=new whComMan();\r
-function addPane(sName,sFileName)\r
-{\r
-       var oParam=new Object();\r
-       oParam.sName=sName;\r
-       var oMsg=new whMessage(WH_MSG_GETPANE, this, 1, oParam);\r
-       if (SendMessage(oMsg))\r
-       {\r
-               if (oMsg.oParam.bEnable)\r
-                       goMan.addCom(sName,sFileName);\r
-       }\r
-       else\r
-               goMan.addCom(sName,sFileName);  \r
-}\r
-\r
-function setShowPane(sName, bForce)\r
-{\r
-       if ((gsFirstPane == "") || bForce)\r
-       {\r
-               var oMsg=new whMessage(WH_MSG_GETDEFPANE, this, 1, null);\r
-               if (SendMessage(oMsg))\r
-               {\r
-                       if (oMsg.oParam)\r
-                               gsFirstPane = oMsg.oParam;\r
-                       else\r
-                               gsFirstPane=sName;\r
-               }\r
-               else\r
-                       gsFirstPane=sName;\r
-       }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       var oMsg=new whMessage(WH_MSG_GETCMD,this,1,null);\r
-       var bHidePane=false;\r
-       if (SendMessage(oMsg))\r
-       {\r
-               if(oMsg.oParam>0)\r
-               {\r
-                       if(oMsg.oParam==1)\r
-                               gsFirstPane="toc";\r
-                       else if(oMsg.oParam==2)\r
-                               gsFirstPane="idx";\r
-                       else if(oMsg.oParam==3)\r
-                               gsFirstPane="fts";\r
-                       else if(oMsg.oParam==4)\r
-                               gsFirstPane="glo";\r
-               }\r
-               else if(oMsg.oParam==0)\r
-               {\r
-                       bHidePane=true;\r
-               }\r
-       }\r
-       goMan.init();\r
-       if(gsProjName!="")                      \r
-               loadData2(gsProjName);  \r
-       if (bHidePane)\r
-       {\r
-               gsFirstPane="";\r
-               var oMsg1=new whMessage(WH_MSG_HIDEPANE, this, 1, null)\r
-               SendMessage(oMsg1);\r
-       }\r
-       else\r
-       {\r
-               if(gsFirstPane!="")\r
-                       goMan.show(gsFirstPane);\r
-               else\r
-                       goMan.showById(0);\r
-       }\r
-}\r
-\r
-function setServerEnabled()\r
-{\r
-       gServerEnabled = true;\r
-}\r
-\r
-function loadData2(strFile)\r
-{\r
-       if(gbXML)\r
-               loadDataXML(strFile);\r
-       else\r
-               loadData(strFile);\r
-}\r
-\r
-function addProject(bPreferXML,sXMLName,sHTMLName)\r
-{\r
-       var bLoadXML=bPreferXML;\r
-       if(!gbIE4&&!gbNav6&&!gbOpera7)\r
-               return;\r
-       if(gbIE4&&!gbIE5)\r
-               bLoadXML=false;\r
-       if (gbIE5&&!gbMac)\r
-               bLoadXML=true;\r
-       if(gbIE55||gbNav6)\r
-               bLoadXML=true;\r
-       if(gbOpera7)\r
-               bLoadXML=false;         \r
-       if(bLoadXML)\r
-               addProjectXML(sXMLName);\r
-       else\r
-               addProjectHTML(sHTMLName);\r
-}\r
-\r
-function addProjectHTML(sName)\r
-{\r
-       gbXML=false;\r
-       gsProjName=sName;\r
-}\r
-\r
-function addProjectXML(sName)\r
-{\r
-       gbXML=true;\r
-       gsProjName=sName;\r
-}\r
-\r
-function window_MyBunload()\r
-{\r
-       goMan.unload();\r
-       window_BUnload();\r
-}\r
-\r
-function putDataXML(xmlDoc,sdocPath)\r
-{\r
-       if(xmlDoc!=null)\r
-       {\r
-               var projectNode=xmlDoc.getElementsByTagName("project")[0];\r
-               if(projectNode)\r
-               {\r
-                       var aRProj=new Array();\r
-                       aRProj[0]=new Object();\r
-                       aRProj[0].sPPath=_getPath(sdocPath);\r
-                       var sLangId=projectNode.getAttribute("langid");\r
-                       if(sLangId)\r
-                       {\r
-                               aRProj[0].sLangId=sLangId;\r
-                       }\r
-                       var sDPath=projectNode.getAttribute("datapath");\r
-                       if(sDPath)\r
-                       {\r
-                               if(sDPath.lastIndexOf("/")!=sDPath.length-1)\r
-                                       sDPath+="/";\r
-                               aRProj[0].sDPath=sDPath;\r
-                       }\r
-                       else\r
-                               aRProj[0].sDPath="";\r
-                       aRProj[0].sToc=projectNode.getAttribute("toc");\r
-                       aRProj[0].sIdx=projectNode.getAttribute("index");\r
-                       aRProj[0].sFts=projectNode.getAttribute("fts");\r
-                       aRProj[0].sGlo=projectNode.getAttribute("glossary");\r
-                       var RmtProject=projectNode.getElementsByTagName("remote");\r
-                       var nCount=1;\r
-                       for (var i=0;i<RmtProject.length;i++)\r
-                       {\r
-                               var sURL=RmtProject[i].getAttribute("url");\r
-                               if(sURL)\r
-                               {\r
-                                       if(sURL.lastIndexOf("/")!=sURL.length-1)\r
-                                               sURL+="/";\r
-                                       aRProj[nCount]=new Object();\r
-                                       aRProj[nCount++].sPPath=_getFullPath(aRProj[0].sPPath,sURL);\r
-                               }\r
-                       }\r
-                       putProjectInfo(aRProj);\r
-               }\r
-               else\r
-               {\r
-                       // on Netscape 6.0 under some situation the xml file cannot be loaded.\r
-                       // so we use pure html instead.\r
-                       if (gnChecked == 0)\r
-                               setTimeout("redirectToList();",100);\r
-                       else\r
-                       {\r
-                               gnChecked++;\r
-                               setTimeout("checkRemoteProject();", 1);\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-function onLoadXMLError()\r
-{\r
-       gnChecked++;\r
-       setTimeout("checkRemoteProject();", 1);\r
-}\r
-\r
-function redirectToList()\r
-{\r
-       if(gbReDirectThis)\r
-               document.location=gsNavReDirect;\r
-       else\r
-               parent.document.location=gsNavReDirect;\r
-}\r
-\r
-function putProjectInfo(aRProj)\r
-{\r
-       if(gnChecked==0||isSamePath(gaProj[gnChecked].sPPath,aRProj[0].sPPath))\r
-       {\r
-               if(gnChecked!=0)\r
-               {\r
-                       if(aRProj[0].sLangId!=gaProj[0].sLangId)\r
-                               alert("The merged Help system "+aRProj[0].sPPath+" is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system.");\r
-               }\r
-               gaProj[gnChecked]=aRProj[0];\r
-               for(var i=1;i<aRProj.length;i++)\r
-               {\r
-                       var bFound=false;\r
-                       for(var j=0;j<gaProj.length;j++)\r
-                       {\r
-                               if(isSamePath(gaProj[j].sPPath,aRProj[i].sPPath))\r
-                               {\r
-                                       bFound=true;\r
-                                       break;\r
-                               }\r
-                       }\r
-                       if(!bFound)\r
-                       {\r
-                               gaProj[gaProj.length]=aRProj[i];\r
-                       }\r
-               }\r
-               gnChecked++;\r
-               setTimeout("checkRemoteProject();", 1);\r
-       }\r
-       else\r
-               alert("Could not load correctly, please click Refresh.");\r
-}\r
-\r
-function isSamePath(sPath1,sPath2)\r
-{\r
-       return (sPath1.toLowerCase()==sPath2.toLowerCase());\r
-}\r
-\r
-function checkRemoteProject()\r
-{\r
-       if(gaProj.length!=gnChecked)\r
-       {\r
-               setTimeout("cancelProj("+gnChecked+");",10000);\r
-               loadData2(gaProj[gnChecked].sPPath+gsProjName);\r
-       }\r
-       else{\r
-               var oMsg=new whMessage(WH_MSG_PROJECTREADY,this,1,null);\r
-               gbReady=true;\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function cancelProj(i)\r
-{\r
-       if(i==gnChecked)\r
-       {\r
-               gnChecked++;\r
-               setTimeout("checkRemoteProject();", 1);\r
-       }       \r
-}\r
-\r
-function window_resize()\r
-{\r
-       for(var i=0;i<goMan.maCom.length;i++)\r
-       {\r
-               var oFrame=getElement(goMan.maCom[i].msIFrameId);\r
-               if(oFrame)\r
-               {\r
-                       oFrame.style.height=document.body.clientHeight;\r
-                       oFrame.style.width=document.body.clientWidth;\r
-               }\r
-       }\r
-       window_resize2();\r
-}\r
-\r
-function window_resize2()\r
-{\r
-       if(document.body)\r
-       {\r
-               if(document.body.clientWidth > 1 && document.body.clientHeight>1)\r
-               {\r
-                       var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);\r
-                       SendMessage(oMsg);\r
-               }\r
-       }\r
-}\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_GETPROJINFO);\r
-       UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
-       UnRegisterListener2(this,WH_MSG_SHOWIDX);\r
-       UnRegisterListener2(this,WH_MSG_SHOWFTS);\r
-       UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
-       UnRegisterListener2(this,WH_MSG_GETPANEINFO);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_GETPROJINFO)\r
-               {\r
-                       if(gbReady)\r
-                       {\r
-                               var oProj=new Object();\r
-                               oProj.aProj=gaProj;\r
-                               oProj.bXML=gbXML;\r
-                               oMsg.oParam=oProj;\r
-                       }\r
-                       else\r
-                               return false;\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWTOC)\r
-               {\r
-                       if(goMan)\r
-                               goMan.show("toc");\r
-                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");\r
-                       SendMessage(onMsg);\r
-                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                       SendMessage(onMsg);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWIDX)\r
-               {\r
-                       if(goMan)\r
-                               goMan.show("idx");\r
-                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");\r
-                       SendMessage(onMsg);\r
-                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                       SendMessage(onMsg);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWFTS)\r
-               {\r
-                       if(goMan)\r
-                               goMan.show("fts");\r
-                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");\r
-                       SendMessage(onMsg);\r
-                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                       SendMessage(onMsg);\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWGLO)\r
-               {\r
-                       if(goMan)\r
-                               goMan.show("glo");\r
-                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");\r
-                       SendMessage(onMsg);\r
-                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);\r
-                       SendMessage(onMsg);\r
-               }\r
-               else if(nMsgId==WH_MSG_GETPANEINFO)\r
-               {\r
-                       oMsg.oParam=goMan.getCurrent();\r
-                       return false;\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
-       RegisterListener2(this,WH_MSG_GETPROJINFO);\r
-       RegisterListener2(this,WH_MSG_SHOWTOC);\r
-       RegisterListener2(this,WH_MSG_SHOWIDX);\r
-       RegisterListener2(this,WH_MSG_SHOWFTS);\r
-       RegisterListener2(this,WH_MSG_SHOWGLO);\r
-       RegisterListener2(this,WH_MSG_GETPANEINFO);\r
-\r
-       if((gbMac&&gbIE4)||(gbSunOS&&gbIE5)||gbOpera7)\r
-       {\r
-               window.onresize=window_resize;\r
-       }\r
-       else if(gbIE4)\r
-       {\r
-               window.onresize=window_resize2;\r
-       }\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_MyBunload;\r
-       window.onunload=window_unload;\r
-       gbWhPHost=true;\r
-}\r
-else\r
-       document.location.reload();\r
-\r
+//     WebHelp 5.10.005
+var gaProj=new Array();
+var gnChecked=0;
+var gsProjName="";
+var gbReady=false;
+var goMan=null;
+var gbXML=false;
+var gsFirstPane="";
+var gServerEnabled=false;
+var gsPath="";
+var gbWhPHost=false;
+var goDiv = null;
+var gsHTML = "";
+
+if (navigator.currentNavPen)
+       gsFirstPane = navigator.currentNavPen;
+
+
+function delayLoad()
+{
+       if (goDiv&&gsHTML)
+       {
+               goDiv.innerHTML=gsHTML;
+               goDiv=null;
+               gsHTML="";
+       }
+}
+
+function whCom(sName,sComFile)
+{
+       this.msName=sName;
+       this.msDivId=sName+"Div";
+       this.msIFrameId=sName+"IFrame";
+       this.msComFile=sComFile;
+       this.mbloaded=false;
+       this.mbShow=false;
+       this.show=function(bShow)
+       {
+               if(this.mbShow!=bShow)
+               {
+                       if(bShow&&!this.mbloaded)
+                       {
+                               this.load();
+                       }
+
+                       var oDiv=getElement(this.msDivId);
+                       if(oDiv)
+                       {
+                               if(gbIE55||(gbIE5&&gbMac))
+                               {
+                                       var oIframe=getElement(this.msIFrameId);
+                                       if(oIframe)
+                                       {
+                                               if(bShow)
+                                               {
+                                                       oDiv.style.zIndex=3;
+                                                       if(oIframe!=null)
+                                                       {
+                                                               oIframe.style.zIndex=3;
+                                                               if (!gbIE55)
+                                                                       oIframe.style.visibility="visible";
+                                                       }
+                                               }
+                                               else
+                                               {
+                                                       oDiv.style.zIndex=2;
+                                                       if(oIframe!=null)
+                                                       {
+                                                               oIframe.style.zIndex=2;
+                                                               if (!gbIE55)
+                                                                       oIframe.style.visibility="hidden";
+                                                       }
+                                               }
+                                       }
+                               }
+                               if (!gbIE55)
+                                       oDiv.style.visibility=(bShow==true)?'visible':'hidden';
+                               this.mbShow=bShow;
+                       }
+
+               }
+       }
+       this.load=function()
+       {
+               if(!this.mbloaded)
+               {
+                       if(this.msComFile.length>0){
+                               var strFile= _getFullPath(getPath(), this.msComFile);
+                               var oDiv=getElement(this.msDivId);
+                               if(oDiv){
+                                       if(gbIE4||gbOpera7){
+                                               var nIFrameHeight=oDiv.style.pixelHeight;
+                                               var nIFrameWidth=oDiv.style.pixelWidth;
+                                               var sHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:";
+                                               if(gbMac){
+                                                       sHTML+=nIFrameWidth+"px;height:"+nIFrameHeight+"px;\"></IFRAME>";
+                                               }else{
+                                                       sHTML+="100%; height:100%;\"></IFRAME>";
+                                               }
+                                               oDiv.innerHTML=sHTML;
+                                       }else if(gbNav6){
+                                               gsHTML="<IFRAME ID="+this.msIFrameId+" title=\"" + this.msName + "\" SRC=\""+strFile+"\" BORDER=0 FRAMEBORDER=no STYLE=\"width:100%;border:0;height:100%;\"></IFRAME>";
+                                               goDiv = oDiv;
+                                               setTimeout("delayLoad()", 100);
+                                       }
+                                       this.mbloaded=true;
+                               }
+                       }
+               }
+       }
+       this.unload=function()
+       {
+               var oDiv=getElement(this.msDivId);
+               if(oDiv)
+                       oDiv.innerHTML="";
+       }
+       this.getDivHTML=function()
+       {
+               var sHTML="";
+               if(gbMac&&gbIE4)
+                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;margin:0;padding:0;border:0;\">";
+               else if(gbIE5)
+                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;\">";
+               else if(gbIE4||gbWindows)
+                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";
+               else
+                       sHTML+="<DIV ID="+this.msDivId+" ALIGN=left STYLE=\"position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;visibility:hidden\">";
+               sHTML+="</DIV>";
+               return sHTML;
+       }
+}  
+
+function whComMan()
+{
+       this.sName="";
+       this.maCom=new Array();
+       this.addCom=function(sName,sComFile)
+       {
+               var owhCom=new whCom(sName,sComFile);
+               this.maCom[this.maCom.length]=owhCom;
+       }
+       this.init=function()
+       {
+               var sHTML="";
+               for(var i=0;i<this.maCom.length;i++)
+               {
+                       sHTML+=this.maCom[i].getDivHTML();
+               }
+               document.body.insertAdjacentHTML("beforeEnd",sHTML);
+
+       }
+       this.showById=function(nId)
+       {
+               for(var s=0;s<this.maCom.length;s++)
+               {
+                       if(s!==nId)
+                               this.maCom[s].show(false);
+               }
+               this.maCom[nId].show(true);
+       }
+       this.show=function(sName)
+       {
+               navigator.currentNavPen = sName;
+               var bFound=false;
+               for(var i=0;i<this.maCom.length;i++)
+               {
+                       if(sName==this.maCom[i].msName)
+                       {
+                               bFound=true;
+                               break;
+                       }
+               }
+               if(bFound)
+               {
+                       this.showById(i);
+                       this.sName=sName;
+               }
+       }
+       this.unload=function()
+       {
+               for(var i=0;i<this.maCom.length;i++)
+               {
+                       this.maCom[i].unload();
+               }               
+       }
+       this.getCurrent=function()
+       {
+               return this.sName;
+       }
+}
+
+function getPath()
+{
+       if(gsPath=="")
+       {
+               gsPath=location.href;
+               gsPath=_replaceSlash(gsPath);
+               var nPosFile=gsPath.lastIndexOf("/");
+               gsPath=gsPath.substring(0,nPosFile+1);
+       }
+       return gsPath;
+}
+
+goMan=new whComMan();
+function addPane(sName,sFileName)
+{
+       var oParam=new Object();
+       oParam.sName=sName;
+       var oMsg=new whMessage(WH_MSG_GETPANE, this, 1, oParam);
+       if (SendMessage(oMsg))
+       {
+               if (oMsg.oParam.bEnable)
+                       goMan.addCom(sName,sFileName);
+       }
+       else
+               goMan.addCom(sName,sFileName);  
+}
+
+function setShowPane(sName, bForce)
+{
+       if ((gsFirstPane == "") || bForce)
+       {
+               var oMsg=new whMessage(WH_MSG_GETDEFPANE, this, 1, null);
+               if (SendMessage(oMsg))
+               {
+                       if (oMsg.oParam)
+                               gsFirstPane = oMsg.oParam;
+                       else
+                               gsFirstPane=sName;
+               }
+               else
+                       gsFirstPane=sName;
+       }
+}
+
+function window_OnLoad()
+{
+       var oMsg=new whMessage(WH_MSG_GETCMD,this,1,null);
+       var bHidePane=false;
+       if (SendMessage(oMsg))
+       {
+               if(oMsg.oParam>0)
+               {
+                       if(oMsg.oParam==1)
+                               gsFirstPane="toc";
+                       else if(oMsg.oParam==2)
+                               gsFirstPane="idx";
+                       else if(oMsg.oParam==3)
+                               gsFirstPane="fts";
+                       else if(oMsg.oParam==4)
+                               gsFirstPane="glo";
+               }
+               else if(oMsg.oParam==0)
+               {
+                       bHidePane=true;
+               }
+       }
+       goMan.init();
+       if(gsProjName!="")                      
+               loadData2(gsProjName);  
+       if (bHidePane)
+       {
+               gsFirstPane="";
+               var oMsg1=new whMessage(WH_MSG_HIDEPANE, this, 1, null)
+               SendMessage(oMsg1);
+       }
+       else
+       {
+               if(gsFirstPane!="")
+                       goMan.show(gsFirstPane);
+               else
+                       goMan.showById(0);
+       }
+}
+
+function setServerEnabled()
+{
+       gServerEnabled = true;
+}
+
+function loadData2(strFile)
+{
+       if(gbXML)
+               loadDataXML(strFile);
+       else
+               loadData(strFile);
+}
+
+function addProject(bPreferXML,sXMLName,sHTMLName)
+{
+       var bLoadXML=bPreferXML;
+       if(!gbIE4&&!gbNav6&&!gbOpera7)
+               return;
+       if(gbIE4&&!gbIE5)
+               bLoadXML=false;
+       if (gbIE5&&!gbMac)
+               bLoadXML=true;
+       if(gbIE55||gbNav6)
+               bLoadXML=true;
+       if(gbOpera7)
+               bLoadXML=false;         
+       if(bLoadXML)
+               addProjectXML(sXMLName);
+       else
+               addProjectHTML(sHTMLName);
+}
+
+function addProjectHTML(sName)
+{
+       gbXML=false;
+       gsProjName=sName;
+}
+
+function addProjectXML(sName)
+{
+       gbXML=true;
+       gsProjName=sName;
+}
+
+function window_MyBunload()
+{
+       goMan.unload();
+       window_BUnload();
+}
+
+function putDataXML(xmlDoc,sdocPath)
+{
+       if(xmlDoc!=null)
+       {
+               var projectNode=xmlDoc.getElementsByTagName("project")[0];
+               if(projectNode)
+               {
+                       var aRProj=new Array();
+                       aRProj[0]=new Object();
+                       aRProj[0].sPPath=_getPath(sdocPath);
+                       var sLangId=projectNode.getAttribute("langid");
+                       if(sLangId)
+                       {
+                               aRProj[0].sLangId=sLangId;
+                       }
+                       var sDPath=projectNode.getAttribute("datapath");
+                       if(sDPath)
+                       {
+                               if(sDPath.lastIndexOf("/")!=sDPath.length-1)
+                                       sDPath+="/";
+                               aRProj[0].sDPath=sDPath;
+                       }
+                       else
+                               aRProj[0].sDPath="";
+                       aRProj[0].sToc=projectNode.getAttribute("toc");
+                       aRProj[0].sIdx=projectNode.getAttribute("index");
+                       aRProj[0].sFts=projectNode.getAttribute("fts");
+                       aRProj[0].sGlo=projectNode.getAttribute("glossary");
+                       var RmtProject=projectNode.getElementsByTagName("remote");
+                       var nCount=1;
+                       for (var i=0;i<RmtProject.length;i++)
+                       {
+                               var sURL=RmtProject[i].getAttribute("url");
+                               if(sURL)
+                               {
+                                       if(sURL.lastIndexOf("/")!=sURL.length-1)
+                                               sURL+="/";
+                                       aRProj[nCount]=new Object();
+                                       aRProj[nCount++].sPPath=_getFullPath(aRProj[0].sPPath,sURL);
+                               }
+                       }
+                       putProjectInfo(aRProj);
+               }
+               else
+               {
+                       // on Netscape 6.0 under some situation the xml file cannot be loaded.
+                       // so we use pure html instead.
+                       if (gnChecked == 0)
+                               setTimeout("redirectToList();",100);
+                       else
+                       {
+                               gnChecked++;
+                               setTimeout("checkRemoteProject();", 1);
+                       }
+               }
+       }
+}
+
+function onLoadXMLError()
+{
+       gnChecked++;
+       setTimeout("checkRemoteProject();", 1);
+}
+
+function redirectToList()
+{
+       if(gbReDirectThis)
+               document.location=gsNavReDirect;
+       else
+               parent.document.location=gsNavReDirect;
+}
+
+function putProjectInfo(aRProj)
+{
+       if(gnChecked==0||isSamePath(gaProj[gnChecked].sPPath,aRProj[0].sPPath))
+       {
+               if(gnChecked!=0)
+               {
+                       if(aRProj[0].sLangId!=gaProj[0].sLangId)
+                               alert("The merged Help system "+aRProj[0].sPPath+" is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system.");
+               }
+               gaProj[gnChecked]=aRProj[0];
+               for(var i=1;i<aRProj.length;i++)
+               {
+                       var bFound=false;
+                       for(var j=0;j<gaProj.length;j++)
+                       {
+                               if(isSamePath(gaProj[j].sPPath,aRProj[i].sPPath))
+                               {
+                                       bFound=true;
+                                       break;
+                               }
+                       }
+                       if(!bFound)
+                       {
+                               gaProj[gaProj.length]=aRProj[i];
+                       }
+               }
+               gnChecked++;
+               setTimeout("checkRemoteProject();", 1);
+       }
+       else
+               alert("Could not load correctly, please click Refresh.");
+}
+
+function isSamePath(sPath1,sPath2)
+{
+       return (sPath1.toLowerCase()==sPath2.toLowerCase());
+}
+
+function checkRemoteProject()
+{
+       if(gaProj.length!=gnChecked)
+       {
+               setTimeout("cancelProj("+gnChecked+");",10000);
+               loadData2(gaProj[gnChecked].sPPath+gsProjName);
+       }
+       else{
+               var oMsg=new whMessage(WH_MSG_PROJECTREADY,this,1,null);
+               gbReady=true;
+               SendMessage(oMsg);
+       }
+}
+
+function cancelProj(i)
+{
+       if(i==gnChecked)
+       {
+               gnChecked++;
+               setTimeout("checkRemoteProject();", 1);
+       }       
+}
+
+function window_resize()
+{
+       for(var i=0;i<goMan.maCom.length;i++)
+       {
+               var oFrame=getElement(goMan.maCom[i].msIFrameId);
+               if(oFrame)
+               {
+                       oFrame.style.height=document.body.clientHeight;
+                       oFrame.style.width=document.body.clientWidth;
+               }
+       }
+       window_resize2();
+}
+
+function window_resize2()
+{
+       if(document.body)
+       {
+               if(document.body.clientWidth > 1 && document.body.clientHeight>1)
+               {
+                       var oMsg = new whMessage(WH_MSG_RESIZEPANE, this, 1, null);
+                       SendMessage(oMsg);
+               }
+       }
+}
+
+function window_unload()
+{
+       UnRegisterListener2(this,WH_MSG_GETPROJINFO);
+       UnRegisterListener2(this,WH_MSG_SHOWTOC);
+       UnRegisterListener2(this,WH_MSG_SHOWIDX);
+       UnRegisterListener2(this,WH_MSG_SHOWFTS);
+       UnRegisterListener2(this,WH_MSG_SHOWGLO);
+       UnRegisterListener2(this,WH_MSG_GETPANEINFO);
+}
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_GETPROJINFO)
+               {
+                       if(gbReady)
+                       {
+                               var oProj=new Object();
+                               oProj.aProj=gaProj;
+                               oProj.bXML=gbXML;
+                               oMsg.oParam=oProj;
+                       }
+                       else
+                               return false;
+               }
+               else if(nMsgId==WH_MSG_SHOWTOC)
+               {
+                       if(goMan)
+                               goMan.show("toc");
+                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "toc");
+                       SendMessage(onMsg);
+                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                       SendMessage(onMsg);
+               }
+               else if(nMsgId==WH_MSG_SHOWIDX)
+               {
+                       if(goMan)
+                               goMan.show("idx");
+                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "idx");
+                       SendMessage(onMsg);
+                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                       SendMessage(onMsg);
+               }
+               else if(nMsgId==WH_MSG_SHOWFTS)
+               {
+                       if(goMan)
+                               goMan.show("fts");
+                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "fts");
+                       SendMessage(onMsg);
+                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                       SendMessage(onMsg);
+               }
+               else if(nMsgId==WH_MSG_SHOWGLO)
+               {
+                       if(goMan)
+                               goMan.show("glo");
+                       var onMsg=new whMessage(WH_MSG_PANEINFO, this, 1, "glo");
+                       SendMessage(onMsg);
+                       onMsg = new whMessage(WH_MSG_SHOWPANE, this, 1, null);
+                       SendMessage(onMsg);
+               }
+               else if(nMsgId==WH_MSG_GETPANEINFO)
+               {
+                       oMsg.oParam=goMan.getCurrent();
+                       return false;
+               }
+       }
+       return true;
+}
+
+if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
+{
+       RegisterListener2(this,WH_MSG_GETPROJINFO);
+       RegisterListener2(this,WH_MSG_SHOWTOC);
+       RegisterListener2(this,WH_MSG_SHOWIDX);
+       RegisterListener2(this,WH_MSG_SHOWFTS);
+       RegisterListener2(this,WH_MSG_SHOWGLO);
+       RegisterListener2(this,WH_MSG_GETPANEINFO);
+
+       if((gbMac&&gbIE4)||(gbSunOS&&gbIE5)||gbOpera7)
+       {
+               window.onresize=window_resize;
+       }
+       else if(gbIE4)
+       {
+               window.onresize=window_resize2;
+       }
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_MyBunload;
+       window.onunload=window_unload;
+       gbWhPHost=true;
+}
+else
+       document.location.reload();
+
index 821daea24a7554f5eea4995753952abc6cb74270..2549c9a7cdf2c5ae2494624c8c3ed8c485494ab5 100755 (executable)
@@ -1,24 +1,24 @@
-<html>\r
-<head>\r
-<title>project description</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whproj.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-  setLangId("1033");\r
-  setDataPath("whdata");\r
-  addToc("whtoc.htm");\r
-\r
-  addFts("whfts.htm");\r
-  addGlo("whglo.htm");\r
-\r
-//-->\r
-</script>\r
-</body>\r
+<html>
+<head>
+<title>project description</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whproj.js"></script>
+<script language="javascript1.2">
+<!--
+  setLangId("1033");
+  setDataPath("whdata");
+  addToc("whtoc.htm");
+
+  addFts("whfts.htm");
+  addGlo("whglo.htm");
+
+//-->
+</script>
+</body>
 </html>
\ No newline at end of file
index ae38fa9947f526527404eab3f5c59744078dfd13..7f607a4462766e5fc676c9dc40e138abd59105ac 100755 (executable)
@@ -1,85 +1,85 @@
-//     WebHelp 5.10.001\r
-var gaProj=new Array();\r
-\r
-gaProj[0]=new project("");\r
-\r
-function setLangId(sLangId)\r
-{\r
-       gaProj[0].sLangId=sLangId;\r
-}\r
-\r
-function setDataPath(sPath)\r
-{\r
-       if(sPath.length!=0)\r
-       {\r
-               if(sPath.lastIndexOf("/")!=sPath.length-1)\r
-                       sPath+="/";\r
-               gaProj[0].sDPath=sPath; \r
-       }\r
-       else\r
-               gaProj[0].sDPath="";\r
-}\r
-\r
-function addToc(sFile)\r
-{\r
-       gaProj[0].sToc=sFile;\r
-}\r
-\r
-function addIdx(sFile)\r
-{\r
-       gaProj[0].sIdx=sFile;\r
-}\r
-\r
-function addFts(sFile)\r
-{\r
-       gaProj[0].sFts=sFile;\r
-}\r
-\r
-function addGlo(sFile)\r
-{\r
-       gaProj[0].sGlo=sFile;\r
-}\r
-\r
-function addRemoteProject(sProjRelPath)\r
-{\r
-       if(sProjRelPath.lastIndexOf("/")!=sProjRelPath.length-1)\r
-               sProjRelPath+="/";\r
-       gaProj[gaProj.length]=new project(sProjRelPath);\r
-}\r
-\r
-function project(sPPath)\r
-{\r
-       this.sPPath=sPPath;\r
-       this.sLangId="";\r
-       this.sDPath="";\r
-       this.sToc="";\r
-       this.sIdx="";\r
-       this.sFts="";\r
-       this.sGlo="";\r
-}\r
-\r
-window.onload=window_OnLoad;\r
-\r
-function window_OnLoad()\r
-{\r
-       gsName=document.location.href;\r
-       gsName=_replaceSlash(gsName);\r
-       var nPos=gsName.lastIndexOf("/");\r
-       if(nPos!=-1)\r
-               gaProj[0].sPPath=gsName.substring(0,nPos+1);\r
-       else\r
-               alert("Error in Loading navigation component. Please regenerate WebHelp.");\r
-       patchPath(gaProj);\r
-       if(parent&&parent!=this&& typeof(parent.putProjectInfo)=="function")\r
-       {\r
-               parent.putProjectInfo(gaProj);\r
-       }\r
-}\r
-\r
-function patchPath(aProj)\r
-{\r
-       for(var i=1;i<aProj.length;i++)\r
-       {\r
-               aProj[i].sPPath=_getFullPath(gaProj[0].sPPath,aProj[i].sPPath);\r
-       }\r
+//     WebHelp 5.10.001
+var gaProj=new Array();
+
+gaProj[0]=new project("");
+
+function setLangId(sLangId)
+{
+       gaProj[0].sLangId=sLangId;
+}
+
+function setDataPath(sPath)
+{
+       if(sPath.length!=0)
+       {
+               if(sPath.lastIndexOf("/")!=sPath.length-1)
+                       sPath+="/";
+               gaProj[0].sDPath=sPath; 
+       }
+       else
+               gaProj[0].sDPath="";
+}
+
+function addToc(sFile)
+{
+       gaProj[0].sToc=sFile;
+}
+
+function addIdx(sFile)
+{
+       gaProj[0].sIdx=sFile;
+}
+
+function addFts(sFile)
+{
+       gaProj[0].sFts=sFile;
+}
+
+function addGlo(sFile)
+{
+       gaProj[0].sGlo=sFile;
+}
+
+function addRemoteProject(sProjRelPath)
+{
+       if(sProjRelPath.lastIndexOf("/")!=sProjRelPath.length-1)
+               sProjRelPath+="/";
+       gaProj[gaProj.length]=new project(sProjRelPath);
+}
+
+function project(sPPath)
+{
+       this.sPPath=sPPath;
+       this.sLangId="";
+       this.sDPath="";
+       this.sToc="";
+       this.sIdx="";
+       this.sFts="";
+       this.sGlo="";
+}
+
+window.onload=window_OnLoad;
+
+function window_OnLoad()
+{
+       gsName=document.location.href;
+       gsName=_replaceSlash(gsName);
+       var nPos=gsName.lastIndexOf("/");
+       if(nPos!=-1)
+               gaProj[0].sPPath=gsName.substring(0,nPos+1);
+       else
+               alert("Error in Loading navigation component. Please regenerate WebHelp.");
+       patchPath(gaProj);
+       if(parent&&parent!=this&& typeof(parent.putProjectInfo)=="function")
+       {
+               parent.putProjectInfo(gaProj);
+       }
+}
+
+function patchPath(aProj)
+{
+       for(var i=1;i<aProj.length;i++)
+       {
+               aProj[i].sPPath=_getFullPath(gaProj[0].sPPath,aProj[i].sPPath);
+       }
 }
\ No newline at end of file
index 4bd4a8de71ff01411c1c7bc32c798c1009003317..10e2571f600a74526d9ef81a5997fffa849734bc 100755 (executable)
@@ -1,3 +1,3 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<project langid="1033" datapath="whxdata" toc="whtoc.xml" fts="whfts.xml" glossary="whglo.xml" >\r
-</project>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<project langid="1033" datapath="whxdata" toc="whtoc.xml" fts="whfts.xml" glossary="whglo.xml" >
+</project>
index d0ee29813dc5e31f7f977f7ac1e69f025cde9657..8ea8b6819abd1177fd89bb3264bb8bc4f501222c 100755 (executable)
@@ -1,74 +1,74 @@
-//     WebHelp 5.10.001\r
-var gbInited=false;\r
-var gWndStubPage=null;\r
-function getStubPage()\r
-{\r
-       if(!gbInited)\r
-       {\r
-               gWndStubPage=getStubPage_inter(window);\r
-               gbInited=true;\r
-       }\r
-       return gWndStubPage;\r
-}\r
-\r
-function getStubPage_inter(wCurrent)\r
-{\r
-       if(null==wCurrent.parent||wCurrent.parent==wCurrent)\r
-               return null;\r
-\r
-       if(typeof(wCurrent.parent.whname)=="string"&&"wh_stub"==wCurrent.parent.whname)\r
-               return wCurrent.parent;\r
-       else\r
-               if(wCurrent.parent.frames.length!=0&&wCurrent.parent!=wCurrent)\r
-                       return getStubPage_inter(wCurrent.parent);\r
-               else\r
-                       return null;\r
-}\r
-\r
-function RegisterListener(framename,nMessageId)\r
-{\r
-       var wSP=getStubPage();\r
-       if(wSP&&wSP!=this)\r
-               return wSP.RegisterListener(framename,nMessageId);\r
-       else\r
-               return false;\r
-}\r
-\r
-function RegisterListener2(oframe,nMessageId)\r
-{\r
-       var wSP=getStubPage();\r
-       if(wSP&&wSP!=this)\r
-               return wSP.RegisterListener2(oframe,nMessageId);\r
-       else\r
-               return false;\r
-}\r
-\r
-function UnRegisterListener2(oframe,nMessageId)\r
-{\r
-       var wSP=getStubPage();\r
-       if(wSP&&wSP!=this&&wSP.UnRegisterListener2)\r
-               return wSP.UnRegisterListener2(oframe,nMessageId);\r
-       else\r
-               return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
-       var wSP=getStubPage();\r
-       if(wSP&&wSP!=this&&wSP.SendMessage)\r
-               return wSP.SendMessage(oMessage);\r
-       else\r
-               return false;\r
-}\r
-\r
-var gbWhProxy=true;\r
-\r
-var gbPreview=false;\r
-gbPreview=false; \r
-if (gbPreview)\r
-       document.oncontextmenu=contextMenu;\r
-\r
-function contextMenu()\r
-{\r
-       return false;\r
-}\r
+//     WebHelp 5.10.001
+var gbInited=false;
+var gWndStubPage=null;
+function getStubPage()
+{
+       if(!gbInited)
+       {
+               gWndStubPage=getStubPage_inter(window);
+               gbInited=true;
+       }
+       return gWndStubPage;
+}
+
+function getStubPage_inter(wCurrent)
+{
+       if(null==wCurrent.parent||wCurrent.parent==wCurrent)
+               return null;
+
+       if(typeof(wCurrent.parent.whname)=="string"&&"wh_stub"==wCurrent.parent.whname)
+               return wCurrent.parent;
+       else
+               if(wCurrent.parent.frames.length!=0&&wCurrent.parent!=wCurrent)
+                       return getStubPage_inter(wCurrent.parent);
+               else
+                       return null;
+}
+
+function RegisterListener(framename,nMessageId)
+{
+       var wSP=getStubPage();
+       if(wSP&&wSP!=this)
+               return wSP.RegisterListener(framename,nMessageId);
+       else
+               return false;
+}
+
+function RegisterListener2(oframe,nMessageId)
+{
+       var wSP=getStubPage();
+       if(wSP&&wSP!=this)
+               return wSP.RegisterListener2(oframe,nMessageId);
+       else
+               return false;
+}
+
+function UnRegisterListener2(oframe,nMessageId)
+{
+       var wSP=getStubPage();
+       if(wSP&&wSP!=this&&wSP.UnRegisterListener2)
+               return wSP.UnRegisterListener2(oframe,nMessageId);
+       else
+               return false;
+}
+
+function SendMessage(oMessage)
+{
+       var wSP=getStubPage();
+       if(wSP&&wSP!=this&&wSP.SendMessage)
+               return wSP.SendMessage(oMessage);
+       else
+               return false;
+}
+
+var gbWhProxy=true;
+
+var gbPreview=false;
+gbPreview=false; 
+if (gbPreview)
+       document.oncontextmenu=contextMenu;
+
+function contextMenu()
+{
+       return false;
+}
index 89ee8b32808c8730bd5532b88cd6dffaf597095a..1d279bbc323288249739142b9dca47807b4658e1 100755 (executable)
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<resource>\r
-<item name="Prev" value="&lt;&lt;" />\r
-<item name="Hide" value="Hide" />\r
-<item name="SyncTocTooltip" value="Sync TOC" />\r
-<item name="InTopicSearchBtnText" value="Go" />\r
-<item name="FtsInputPrompt" value="Type in the word(s) to search for:" />\r
-<item name="Done" value="Done" />\r
-<item name="Logo/Author" value="Powered By" />\r
-<item name="MergeError1" value="The merged Help system" />\r
-<item name="JS_alert_cantLoadProject" value="Can't load project:" />\r
-<item name="Next" value="&gt;&gt;" />\r
-<item name="SyncToc" value="SyncToc" />\r
-<item name="MergeError2" value="is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system." />\r
-<item name="nls_body_instruction" value="Enter your question in the text box above, then click GO." />\r
-<item name="ToolBarSearchBtnText" value="Go" />\r
-<item name="SuggestViewNoFrameMessage" value="To view the Help system without frames click on this" />\r
-<item name="Hide_Navigation_Component" value="Hide Navigation Component" />\r
-<item name="FtsBtnText" value="Go" />\r
-<item name="TopicsFound" value="Topics Found" />\r
-<item name="LoadingContentsData" value="Loading, click here to cancel..." />\r
-<item name="Definition" value="Definition:" />\r
-<item name="CompletingContents" value="Completing Contents..." />\r
-<item name="Seperate" value="|" />\r
-<item name="GeneratedBy" value="Generated by" />\r
-<item name="PoweredBy" value="Powered by" />\r
-<item name="IndexAlphabetBookmarks" value="ABCDEFGHIJKLMNOPQRSTUVWXYZ" />\r
-<item name="Contents" value="Contents" />\r
-<item name="IndexSelectTopicLabel" value="Select a topic, then click Display" />\r
-<item name="Disabled Prev" value="&lt;&lt;" />\r
-<item name="Glossary" value="Glossary" />\r
-<item name="Search" value="Search" />\r
-<item name="CantSearch" value="Cannot search for that phrase." />\r
-<item name="LoadingIndex" value="Loading Index..." />\r
-<item name="LoadingData" value="Loading data, please wait..." />\r
-<item name="Show_Navigation_Component" value="Show Navigation Component" />\r
-<item name="Book" value="Book" />\r
-<item name="Disabled Next" value="&gt;&gt;" />\r
-<item name="nls_body_empty" value="Sorry, we were unable to find a good answer for your question." />\r
-<item name="nls_button_go_hint" value="Go Search" />\r
-<item name="Find" value="Find" />\r
-<item name="CantOpenURLorFile" value="Can't open URL or file" />\r
-<item name="Print" value="Print" />\r
-<item name="About" value="About" />\r
-<item name="Author" value="Author" />\r
-<item name="IndexSelectTopicTitle" value="Select a Topic" />\r
-<item name="Blank_topic_text" value="This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink." />\r
-<item name="BrowserLimitedMessage" value="Your browser does not support frames. We recommend that you update your browser to a version that supports frames." />\r
-<item name="LoadingTOCItem" value="Loading Table of Contents:" />\r
-<item name="Display" value="Display" />\r
-<item name="Cancel" value="Cancel" />\r
-<item name="IndexSelectTopicError" value="Please select a topic." />\r
-<item name="nls_edit_label" value="Type in your question:" />\r
-<item name="SearchLabel" value="Search" />\r
-<item name="RelateTopicListPrompt" value="Click a topic, then click Display." />\r
-<item name="NextTooltip" value="Next Topic" />\r
-<item name="JS_alert_colorlimitation" value="WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors." />\r
-<item name="TopicsNotFound" value="No Topics Found." />\r
-<item name="Show" value="Show" />\r
-<item name="PreTooltip" value="Previous Topic" />\r
-<item name="SearchPrompt" value="- Search -" />\r
-<item name="IndexBtnText" value="Go" />\r
-<item name="JS_alert_ProjectLoadingFail" value="Could not load correctly, please click Refresh." />\r
-<item name="LoadingContents" value="Loading contents, please wait..." />\r
-<item name="Term" value="Term:" />\r
-<item name="WebSearchButton" value="WebSearch" />\r
-<item name="Remote_Page" value="Remote Page" />\r
-<item name="WebSearch" value="WebSearch" />\r
-<item name="LoadingFTS" value="Reading Search Data..." />\r
-<item name="Index" value="Index" />\r
-<item name="JS_alert_ErrorInLoading" value="Error in Loading navigation component. Please regenerate WebHelp." />\r
-<item name="JS_alert_appletNotLoad" value="Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited." />\r
-<item name="IndexInputPrompt" value="Type in the keyword to find:" />\r
-<item name="Page" value="Page" />\r
-<item name="SuggestViewNoFrameMsg2" value="hyperlink." />\r
-<item name="nls_button_go_text" value="Go" />\r
-<item name="Searching" value="Searching..." />\r
-\r
-  <item name="English"   value="" />\r
-  <item name="langorder" value="0,1,2,3,4,5,6,7,8,40,41,42,43,44,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,38,45,46,47,48,49,50,33,51,52,53,88,54,34,55,56,115,119,121,123,125,126,127,128,129,130,57,58,89,90,91,59,60,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,61,62,63,64,66,67,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,68,69,70,71,27,114,28,82,170,85,112,109,110,65,113,223,86,213,29,255,30,31,80,81,83,84,111,36,37,79,229,222,87,212,32,254,251,39,72,97,98,99,100,73,101,74,102,133,93,103,35,104,75,105,92,122,124,76,106,107,108,77,120,199,94,116,117,118,78,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,95,197,230,230,230,230,246,227,224,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,96,197,230,230,230,230,246,227,250," />\r
-\r
-  <panes show="0">\r
-    <toc />\r
-    <fts />\r
-    <glossary />\r
-  </panes>\r
-\r
-  <stopwords>\r
-    <word name="a" />\r
-    <word name="about" />\r
-    <word name="after" />\r
-    <word name="against" />\r
-    <word name="all" />\r
-    <word name="also" />\r
-    <word name="among" />\r
-    <word name="an" />\r
-    <word name="and" />\r
-    <word name="are" />\r
-    <word name="as" />\r
-    <word name="at" />\r
-    <word name="be" />\r
-    <word name="became" />\r
-    <word name="because" />\r
-    <word name="been" />\r
-    <word name="between" />\r
-    <word name="but" />\r
-    <word name="by" />\r
-    <word name="can" />\r
-    <word name="come" />\r
-    <word name="do" />\r
-    <word name="during" />\r
-    <word name="each" />\r
-    <word name="early" />\r
-    <word name="for" />\r
-    <word name="form" />\r
-    <word name="found" />\r
-    <word name="from" />\r
-    <word name="had" />\r
-    <word name="has" />\r
-    <word name="have" />\r
-    <word name="he" />\r
-    <word name="her" />\r
-    <word name="his" />\r
-    <word name="however" />\r
-    <word name="in" />\r
-    <word name="include" />\r
-    <word name="into" />\r
-    <word name="is" />\r
-    <word name="it" />\r
-    <word name="its" />\r
-    <word name="late" />\r
-    <word name="later" />\r
-    <word name="made" />\r
-    <word name="many" />\r
-    <word name="may" />\r
-    <word name="me" />\r
-    <word name="med" />\r
-    <word name="more" />\r
-    <word name="most" />\r
-    <word name="near" />\r
-    <word name="no" />\r
-    <word name="non" />\r
-    <word name="not" />\r
-    <word name="of" />\r
-    <word name="on" />\r
-    <word name="only" />\r
-    <word name="or" />\r
-    <word name="other" />\r
-    <word name="over" />\r
-    <word name="several" />\r
-    <word name="she" />\r
-    <word name="some" />\r
-    <word name="such" />\r
-    <word name="than" />\r
-    <word name="that" />\r
-    <word name="the" />\r
-    <word name="their" />\r
-    <word name="then" />\r
-    <word name="there" />\r
-    <word name="these" />\r
-    <word name="they" />\r
-    <word name="this" />\r
-    <word name="through" />\r
-    <word name="to" />\r
-    <word name="under" />\r
-    <word name="until" />\r
-    <word name="use" />\r
-    <word name="was" />\r
-    <word name="we" />\r
-    <word name="were" />\r
-    <word name="when" />\r
-    <word name="where" />\r
-    <word name="which" />\r
-    <word name="who" />\r
-    <word name="with" />\r
-    <word name="you" />\r
-  </stopwords>\r
-\r
-  <stems>\r
-    <stem name="ed" />\r
-    <stem name="es" />\r
-    <stem name="er" />\r
-    <stem name="e" />\r
-    <stem name="s" />\r
-    <stem name="ingly" />\r
-    <stem name="ing" />\r
-    <stem name="ly" />\r
-  </stems>\r
-\r
-       <paneskin>\r
-               <background color="" img="" />\r
-               <font name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-               <toc>\r
-                       <background color="" img="" />\r
-                       <icons>\r
-                               <book open="whd_toc2.gif" close="whd_toc1.gif" />\r
-                               <item  local="whd_toc3.gif" remote="whd_toc4.gif" />\r
-                               <newbook open="whd_toc2.gif" close="whd_toc1.gif" />\r
-                               <newitem  local="whd_toc3.gif" remote="whd_toc4.gif" />\r
-                       </icons>\r
-                       <fonts>\r
-                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />\r
-                       </fonts>\r
-                       <activebackgroundcolor attr="#cccccc" />\r
-                       <margin attr="0pt" />\r
-                       <indent attr="9pt" />\r
-               </toc>\r
-               <index>\r
-                       <form>\r
-                               <fonts>\r
-                                       <title name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               </fonts>\r
-                               <button normal="" hover="" />\r
-                               <editwith value="28" />\r
-                       </form>\r
-                       <background color="" img="" />\r
-                       <fonts>\r
-                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />\r
-                               <empty name="Arial" size="9pt" color="#666666" style="normal" weight="normal" decoration="none" />\r
-                       </fonts>\r
-                       <activebackgroundcolor attr="#cccccc" />\r
-                       <margin attr="0pt" />\r
-                       <indent attr="9pt" />\r
-               </index>\r
-               <fts>\r
-                       <form>\r
-                               <fonts>\r
-                                       <title name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               </fonts>\r
-                               <button normal="" hover="" />\r
-                               <editwith value="28" />\r
-                       </form>\r
-                       <background color="" img="" />\r
-                       <fonts>\r
-                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />\r
-                               <error name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                       </fonts>\r
-                       <activebackgroundcolor attr="#cccccc" />\r
-                       <margin attr="0pt" />\r
-                       <indent attr="9pt" />\r
-               </fts>\r
-               <glossary>\r
-                       <background color="" img="" />\r
-                       <fonts>\r
-                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />\r
-                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />\r
-                       </fonts>\r
-                       <activebackgroundcolor attr="#cccccc" />\r
-                       <margin attr="0pt" />\r
-                       <indent attr="9pt" />\r
-               </glossary>\r
-       </paneskin>\r
-</resource>
\ No newline at end of file
+<?xml version='1.0' encoding='windows-1252' ?>
+<resource>
+<item name="Prev" value="&lt;&lt;" />
+<item name="Hide" value="Hide" />
+<item name="SyncTocTooltip" value="Sync TOC" />
+<item name="InTopicSearchBtnText" value="Go" />
+<item name="FtsInputPrompt" value="Type in the word(s) to search for:" />
+<item name="Done" value="Done" />
+<item name="Logo/Author" value="Powered By" />
+<item name="MergeError1" value="The merged Help system" />
+<item name="JS_alert_cantLoadProject" value="Can't load project:" />
+<item name="Next" value="&gt;&gt;" />
+<item name="SyncToc" value="SyncToc" />
+<item name="MergeError2" value="is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system." />
+<item name="nls_body_instruction" value="Enter your question in the text box above, then click GO." />
+<item name="ToolBarSearchBtnText" value="Go" />
+<item name="SuggestViewNoFrameMessage" value="To view the Help system without frames click on this" />
+<item name="Hide_Navigation_Component" value="Hide Navigation Component" />
+<item name="FtsBtnText" value="Go" />
+<item name="TopicsFound" value="Topics Found" />
+<item name="LoadingContentsData" value="Loading, click here to cancel..." />
+<item name="Definition" value="Definition:" />
+<item name="CompletingContents" value="Completing Contents..." />
+<item name="Seperate" value="|" />
+<item name="GeneratedBy" value="Generated by" />
+<item name="PoweredBy" value="Powered by" />
+<item name="IndexAlphabetBookmarks" value="ABCDEFGHIJKLMNOPQRSTUVWXYZ" />
+<item name="Contents" value="Contents" />
+<item name="IndexSelectTopicLabel" value="Select a topic, then click Display" />
+<item name="Disabled Prev" value="&lt;&lt;" />
+<item name="Glossary" value="Glossary" />
+<item name="Search" value="Search" />
+<item name="CantSearch" value="Cannot search for that phrase." />
+<item name="LoadingIndex" value="Loading Index..." />
+<item name="LoadingData" value="Loading data, please wait..." />
+<item name="Show_Navigation_Component" value="Show Navigation Component" />
+<item name="Book" value="Book" />
+<item name="Disabled Next" value="&gt;&gt;" />
+<item name="nls_body_empty" value="Sorry, we were unable to find a good answer for your question." />
+<item name="nls_button_go_hint" value="Go Search" />
+<item name="Find" value="Find" />
+<item name="CantOpenURLorFile" value="Can't open URL or file" />
+<item name="Print" value="Print" />
+<item name="About" value="About" />
+<item name="Author" value="Author" />
+<item name="IndexSelectTopicTitle" value="Select a Topic" />
+<item name="Blank_topic_text" value="This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink." />
+<item name="BrowserLimitedMessage" value="Your browser does not support frames. We recommend that you update your browser to a version that supports frames." />
+<item name="LoadingTOCItem" value="Loading Table of Contents:" />
+<item name="Display" value="Display" />
+<item name="Cancel" value="Cancel" />
+<item name="IndexSelectTopicError" value="Please select a topic." />
+<item name="nls_edit_label" value="Type in your question:" />
+<item name="SearchLabel" value="Search" />
+<item name="RelateTopicListPrompt" value="Click a topic, then click Display." />
+<item name="NextTooltip" value="Next Topic" />
+<item name="JS_alert_colorlimitation" value="WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors." />
+<item name="TopicsNotFound" value="No Topics Found." />
+<item name="Show" value="Show" />
+<item name="PreTooltip" value="Previous Topic" />
+<item name="SearchPrompt" value="- Search -" />
+<item name="IndexBtnText" value="Go" />
+<item name="JS_alert_ProjectLoadingFail" value="Could not load correctly, please click Refresh." />
+<item name="LoadingContents" value="Loading contents, please wait..." />
+<item name="Term" value="Term:" />
+<item name="WebSearchButton" value="WebSearch" />
+<item name="Remote_Page" value="Remote Page" />
+<item name="WebSearch" value="WebSearch" />
+<item name="LoadingFTS" value="Reading Search Data..." />
+<item name="Index" value="Index" />
+<item name="JS_alert_ErrorInLoading" value="Error in Loading navigation component. Please regenerate WebHelp." />
+<item name="JS_alert_appletNotLoad" value="Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited." />
+<item name="IndexInputPrompt" value="Type in the keyword to find:" />
+<item name="Page" value="Page" />
+<item name="SuggestViewNoFrameMsg2" value="hyperlink." />
+<item name="nls_button_go_text" value="Go" />
+<item name="Searching" value="Searching..." />
+
+  <item name="English"   value="" />
+  <item name="langorder" value="0,1,2,3,4,5,6,7,8,40,41,42,43,44,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,38,45,46,47,48,49,50,33,51,52,53,88,54,34,55,56,115,119,121,123,125,126,127,128,129,130,57,58,89,90,91,59,60,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,61,62,63,64,66,67,131,148,150,154,158,168,171,173,175,185,187,189,191,193,197,214,216,218,220,225,230,240,242,244,246,252,68,69,70,71,27,114,28,82,170,85,112,109,110,65,113,223,86,213,29,255,30,31,80,81,83,84,111,36,37,79,229,222,87,212,32,254,251,39,72,97,98,99,100,73,101,74,102,133,93,103,35,104,75,105,92,122,124,76,106,107,108,77,120,199,94,116,117,118,78,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,95,197,230,230,230,230,246,227,224,131,131,131,131,131,131,131,150,158,158,158,158,175,175,175,175,154,193,197,197,197,197,197,96,197,230,230,230,230,246,227,250," />
+
+  <panes show="0">
+    <toc />
+    <fts />
+    <glossary />
+  </panes>
+
+  <stopwords>
+    <word name="a" />
+    <word name="about" />
+    <word name="after" />
+    <word name="against" />
+    <word name="all" />
+    <word name="also" />
+    <word name="among" />
+    <word name="an" />
+    <word name="and" />
+    <word name="are" />
+    <word name="as" />
+    <word name="at" />
+    <word name="be" />
+    <word name="became" />
+    <word name="because" />
+    <word name="been" />
+    <word name="between" />
+    <word name="but" />
+    <word name="by" />
+    <word name="can" />
+    <word name="come" />
+    <word name="do" />
+    <word name="during" />
+    <word name="each" />
+    <word name="early" />
+    <word name="for" />
+    <word name="form" />
+    <word name="found" />
+    <word name="from" />
+    <word name="had" />
+    <word name="has" />
+    <word name="have" />
+    <word name="he" />
+    <word name="her" />
+    <word name="his" />
+    <word name="however" />
+    <word name="in" />
+    <word name="include" />
+    <word name="into" />
+    <word name="is" />
+    <word name="it" />
+    <word name="its" />
+    <word name="late" />
+    <word name="later" />
+    <word name="made" />
+    <word name="many" />
+    <word name="may" />
+    <word name="me" />
+    <word name="med" />
+    <word name="more" />
+    <word name="most" />
+    <word name="near" />
+    <word name="no" />
+    <word name="non" />
+    <word name="not" />
+    <word name="of" />
+    <word name="on" />
+    <word name="only" />
+    <word name="or" />
+    <word name="other" />
+    <word name="over" />
+    <word name="several" />
+    <word name="she" />
+    <word name="some" />
+    <word name="such" />
+    <word name="than" />
+    <word name="that" />
+    <word name="the" />
+    <word name="their" />
+    <word name="then" />
+    <word name="there" />
+    <word name="these" />
+    <word name="they" />
+    <word name="this" />
+    <word name="through" />
+    <word name="to" />
+    <word name="under" />
+    <word name="until" />
+    <word name="use" />
+    <word name="was" />
+    <word name="we" />
+    <word name="were" />
+    <word name="when" />
+    <word name="where" />
+    <word name="which" />
+    <word name="who" />
+    <word name="with" />
+    <word name="you" />
+  </stopwords>
+
+  <stems>
+    <stem name="ed" />
+    <stem name="es" />
+    <stem name="er" />
+    <stem name="e" />
+    <stem name="s" />
+    <stem name="ingly" />
+    <stem name="ing" />
+    <stem name="ly" />
+  </stems>
+
+       <paneskin>
+               <background color="" img="" />
+               <font name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+               <toc>
+                       <background color="" img="" />
+                       <icons>
+                               <book open="whd_toc2.gif" close="whd_toc1.gif" />
+                               <item  local="whd_toc3.gif" remote="whd_toc4.gif" />
+                               <newbook open="whd_toc2.gif" close="whd_toc1.gif" />
+                               <newitem  local="whd_toc3.gif" remote="whd_toc4.gif" />
+                       </icons>
+                       <fonts>
+                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />
+                       </fonts>
+                       <activebackgroundcolor attr="#cccccc" />
+                       <margin attr="0pt" />
+                       <indent attr="9pt" />
+               </toc>
+               <index>
+                       <form>
+                               <fonts>
+                                       <title name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               </fonts>
+                               <button normal="" hover="" />
+                               <editwith value="28" />
+                       </form>
+                       <background color="" img="" />
+                       <fonts>
+                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />
+                               <empty name="Arial" size="9pt" color="#666666" style="normal" weight="normal" decoration="none" />
+                       </fonts>
+                       <activebackgroundcolor attr="#cccccc" />
+                       <margin attr="0pt" />
+                       <indent attr="9pt" />
+               </index>
+               <fts>
+                       <form>
+                               <fonts>
+                                       <title name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               </fonts>
+                               <button normal="" hover="" />
+                               <editwith value="28" />
+                       </form>
+                       <background color="" img="" />
+                       <fonts>
+                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />
+                               <error name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                       </fonts>
+                       <activebackgroundcolor attr="#cccccc" />
+                       <margin attr="0pt" />
+                       <indent attr="9pt" />
+               </fts>
+               <glossary>
+                       <background color="" img="" />
+                       <fonts>
+                               <normal name="Arial" size="9pt" color="#000000" style="normal" weight="normal" decoration="none" />
+                               <hover name="Arial" size="9pt" color="#007f00" style="normal" weight="normal" decoration="underline" />
+                       </fonts>
+                       <activebackgroundcolor attr="#cccccc" />
+                       <margin attr="0pt" />
+                       <indent attr="9pt" />
+               </glossary>
+       </paneskin>
+</resource>
index 43439a8c7ffd2fea7964a4a6d475dd92d67e2d5f..a61ddecbea46a28dfdc92fafb26aa3d113f3618c 100755 (executable)
@@ -1,10 +1,10 @@
-<html>\r
-<head>\r
-<title>Blank Page</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<body>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Blank Page</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<body>
+</body>
+</html>
index 767e2b76603b15f474450307885db3890a5b070c..3163eee1bf114ea08f2cfd912baabafb8030c04e 100755 (executable)
-<html>\r
-<head>\r
-<title>Mesh Module Reference Manual</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-</head>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whstub.js"></script><script language="javascript1.2" src="whstart.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var strDefaultTopic = "about:blank";\r
-var nWebhelpNavPaneMode = 1;                   //1: DHTML 2:Applet 3:PureHTML 4:Noframeset\r
-var bNoApplet  = false;\r
-var strPaneDHTML  = "whd_nvp10.htm";           //whd_nvp10.htm  if tab enabled, whnframe.htm if tab disabled.\r
-var strPaneApplet = "whd_nvp20.htm";\r
-var strPaneList   = "whgdata/whnvp30.htm";\r
-\r
-var strHTML = "";\r
-var strPane = "";\r
-var nViewFrameType = -1;\r
-\r
-function CMRServer()\r
-{\r
-  this.m_cAgents = new Array;\r
-}\r
-var cMRServer = new CMRServer;\r
-\r
-//figure out which mode is the best\r
-if (!window.gAgent)\r
-{\r
-       // low end browser, we don't even try to determine it.\r
-       document.location = "whnjs.htm";\r
-}\r
-else\r
-{\r
-       if (!gbNav4&&!gbIE4&&!gbOpera7&&!gbSafari)\r
-               document.location = "whnjs.htm";\r
-       else if (gbNav4 && !gbNav6 && ((gnVerMinor <= 4.06)))\r
-               document.location = "whnjs.htm";\r
-       else if (gbMac && gbIE4 && !gbIE5)\r
-               document.location = "whnjs.htm";\r
-       //figure out which mode is the best\r
-       else \r
-       {\r
-               nViewFrameType=nWebhelpNavPaneMode;\r
-               if (nWebhelpNavPaneMode==1||nWebhelpNavPaneMode == 2)\r
-               {\r
-                       var gbDHTML=(nWebhelpNavPaneMode==1);\r
-                       if (gbNav4)                                                                             nViewFrameType = 2;\r
-                       if (gbNav4&&(gnVerMinor < 4.1))                                         nViewFrameType = 3;\r
-                       if (gbNav4&&(gnVerMinor == 4.6))                                        nViewFrameType = 3;\r
-                       if (gbIE4&&gbDHTML)                                                                     nViewFrameType = 1;\r
-                       if (gbIE4&&gbSunOS&&nWebhelpNavPaneMode==2)                     nViewFrameType = 3;\r
-                       if (gbNav6&&gbDHTML)                                                            nViewFrameType = 1;\r
-                       if (gbNav6&&!gbNav61&&nWebhelpNavPaneMode == 2)         nViewFrameType = 3;\r
-                       if (gbMac)                                                                                      nViewFrameType = 3;\r
-                       if (gbOpera7&&nViewFrameType == 2)                                      nViewFrameType = 3;\r
-                       if ((bNoApplet)&&(nViewFrameType == 2))                         nViewFrameType = 3;\r
-               }\r
-       }\r
-}\r
-\r
-if (nViewFrameType!=-1)\r
-{\r
-       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));\r
-       //The colordepth of the 16 color on Windows is 1. \r
-       if ((gbWindows) && (gbNav4) && (window.screen) && (window.screen.colorDepth <= 4))\r
-       {\r
-          alert("WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors.");\r
-          nViewFrameType = 3;\r
-       }\r
-\r
-       //figure out which one is navpane\r
-       if (nViewFrameType == 1)\r
-               strPane = strPaneDHTML;\r
-       else if (nViewFrameType == 2)\r
-               strPane = strPaneApplet;\r
-       else \r
-               strPane = strPaneList;\r
-\r
-       var oParam = new Object();\r
-       oParam.sTopic = "";\r
-       var oMsg = new whMessage(WH_MSG_GETDEFAULTTOPIC, window, 1, oParam);\r
-       if (SendMessage(oMsg) && oParam.sTopic != "")\r
-               strDefaultTopic =  oParam.sTopic;\r
-\r
-\r
-       if (nViewFrameType == 1)\r
-       {\r
-               //DHTML (iframe or xml based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" frameborder=\"1\">";\r
-               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane + "\" scrolling=\"no\"></frame>";\r
-               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";\r
-       }\r
-       else if (nViewFrameType == 2)\r
-       {\r
-               //applet (xml based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" framespacing=\"0\" frameborder=\"0\" border=\"0\">";\r
-               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane+ "\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\"></frame>";\r
-               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";\r
-       }\r
-       else if (nViewFrameType == 3)\r
-       {\r
-               //generic html (pure html based)\r
-               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\">";\r
-               strHTML += "<frame title=\"navigation frame\" src=\"" + strPane + "\" name=\"bsscleft\"  scrolling=\"no\"></frame>";\r
-               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" scrolling=\"auto\"></frame>";\r
-               strHTML += "</frameset>";\r
-       } \r
-       else if (nViewFrameType == 4)\r
-       {\r
-               //no navipane at all\r
-               strHTML += "<frameset  id=\"whPfset\" border=\"0\" cols=\"100%,*\">";\r
-               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" framespacing=\"0\" frameborder=\"0\" border=\"0\" scrolling=\"auto\">";\r
-               strHTML += "</frameset>";\r
-       }\r
-\r
-       document.write(strHTML);\r
-\r
-       RegisterListener2(window, WH_MSG_SHOWPANE);\r
-       RegisterListener2(window, WH_MSG_HIDEPANE);\r
-       RegisterListener2(window, WH_MSG_ISPANEVISIBLE);\r
-       window.onunload = window_unload;\r
-}\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(window, WH_MSG_SHOWPANE);\r
-       UnRegisterListener2(window, WH_MSG_HIDEPANE);\r
-       UnRegisterListener2(window, WH_MSG_ISPANEVISIBLE);\r
-}\r
-\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId = oMsg.nMessageId;\r
-       if (nMsgId == WH_MSG_SHOWPANE)\r
-       {\r
-               getElement("whPfset").cols = "260,*";\r
-               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");\r
-               SendMessage(onMsg);\r
-               onMsg = new whMessage(WH_MSG_GETPANEINFO, this, 1, "");\r
-               if (SendMessage(onMsg))\r
-               {\r
-                       onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, onMsg.oParam);\r
-                       SendMessage(onMsg);\r
-               }\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_HIDEPANE)\r
-       {\r
-               getElement("whPfset").cols = "0,*";\r
-               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "invisible");\r
-               SendMessage(onMsg);\r
-               onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, "");\r
-               SendMessage(onMsg);\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_ISPANEVISIBLE)\r
-       {\r
-               var n = parseInt(getElement("whPfset").cols);\r
-               if (n > 0)\r
-               {\r
-                       oMsg.oParam.bVisible = true;\r
-               }\r
-               return false;\r
-       }\r
-       return true;\r
-}\r
-//-->\r
-</script>\r
-<body>\r
-<noscript>\r
-       <p> It seems javascript is disabled in your browser, please enable it and reload again, or click <a href="whnjs.htm">here</a> to view without javascript</p>\r
-</noscript>\r
-</body>\r
-</html>\r
+<html>
+<head>
+<title>Mesh Module Reference Manual</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+</head>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whstub.js"></script><script language="javascript1.2" src="whstart.js"></script>
+<script language="javascript">
+<!--
+var strDefaultTopic = "about:blank";
+var nWebhelpNavPaneMode = 1;                   //1: DHTML 2:Applet 3:PureHTML 4:Noframeset
+var bNoApplet  = false;
+var strPaneDHTML  = "whd_nvp10.htm";           //whd_nvp10.htm  if tab enabled, whnframe.htm if tab disabled.
+var strPaneApplet = "whd_nvp20.htm";
+var strPaneList   = "whgdata/whnvp30.htm";
+
+var strHTML = "";
+var strPane = "";
+var nViewFrameType = -1;
+
+function CMRServer()
+{
+  this.m_cAgents = new Array;
+}
+var cMRServer = new CMRServer;
+
+//figure out which mode is the best
+if (!window.gAgent)
+{
+       // low end browser, we don't even try to determine it.
+       document.location = "whnjs.htm";
+}
+else
+{
+       if (!gbNav4&&!gbIE4&&!gbOpera7&&!gbSafari)
+               document.location = "whnjs.htm";
+       else if (gbNav4 && !gbNav6 && ((gnVerMinor <= 4.06)))
+               document.location = "whnjs.htm";
+       else if (gbMac && gbIE4 && !gbIE5)
+               document.location = "whnjs.htm";
+       //figure out which mode is the best
+       else 
+       {
+               nViewFrameType=nWebhelpNavPaneMode;
+               if (nWebhelpNavPaneMode==1||nWebhelpNavPaneMode == 2)
+               {
+                       var gbDHTML=(nWebhelpNavPaneMode==1);
+                       if (gbNav4)                                                                             nViewFrameType = 2;
+                       if (gbNav4&&(gnVerMinor < 4.1))                                         nViewFrameType = 3;
+                       if (gbNav4&&(gnVerMinor == 4.6))                                        nViewFrameType = 3;
+                       if (gbIE4&&gbDHTML)                                                                     nViewFrameType = 1;
+                       if (gbIE4&&gbSunOS&&nWebhelpNavPaneMode==2)                     nViewFrameType = 3;
+                       if (gbNav6&&gbDHTML)                                                            nViewFrameType = 1;
+                       if (gbNav6&&!gbNav61&&nWebhelpNavPaneMode == 2)         nViewFrameType = 3;
+                       if (gbMac)                                                                                      nViewFrameType = 3;
+                       if (gbOpera7&&nViewFrameType == 2)                                      nViewFrameType = 3;
+                       if ((bNoApplet)&&(nViewFrameType == 2))                         nViewFrameType = 3;
+               }
+       }
+}
+
+if (nViewFrameType!=-1)
+{
+       var gbWindows = ((gAgent.indexOf("win") != -1) || (gAgent.indexOf("16bit") != -1));
+       //The colordepth of the 16 color on Windows is 1. 
+       if ((gbWindows) && (gbNav4) && (window.screen) && (window.screen.colorDepth <= 4))
+       {
+          alert("WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors.");
+          nViewFrameType = 3;
+       }
+
+       //figure out which one is navpane
+       if (nViewFrameType == 1)
+               strPane = strPaneDHTML;
+       else if (nViewFrameType == 2)
+               strPane = strPaneApplet;
+       else 
+               strPane = strPaneList;
+
+       var oParam = new Object();
+       oParam.sTopic = "";
+       var oMsg = new whMessage(WH_MSG_GETDEFAULTTOPIC, window, 1, oParam);
+       if (SendMessage(oMsg) && oParam.sTopic != "")
+               strDefaultTopic =  oParam.sTopic;
+
+
+       if (nViewFrameType == 1)
+       {
+               //DHTML (iframe or xml based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" frameborder=\"1\">";
+               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane + "\" scrolling=\"no\"></frame>";
+               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";
+       }
+       else if (nViewFrameType == 2)
+       {
+               //applet (xml based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\" framespacing=\"0\" frameborder=\"0\" border=\"0\">";
+               strHTML += "<frame name=\"bsscleft\" title=\"navigation frame\" src=\"" + strPane+ "\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\"></frame>";
+               strHTML += "<frame name=\"bsscright\" title=\"topic frame\" src=\"" + strDefaultTopic + "\" scrolling=\"auto\"></frame></frameset>";
+       }
+       else if (nViewFrameType == 3)
+       {
+               //generic html (pure html based)
+               strHTML += "<frameset  id=\"whPfset\" cols=\"260,*\">";
+               strHTML += "<frame title=\"navigation frame\" src=\"" + strPane + "\" name=\"bsscleft\"  scrolling=\"no\"></frame>";
+               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" scrolling=\"auto\"></frame>";
+               strHTML += "</frameset>";
+       } 
+       else if (nViewFrameType == 4)
+       {
+               //no navipane at all
+               strHTML += "<frameset  id=\"whPfset\" border=\"0\" cols=\"100%,*\">";
+               strHTML += "<frame title=\"topic frame\" src=\"" + strDefaultTopic + "\" name=\"bsscright\" framespacing=\"0\" frameborder=\"0\" border=\"0\" scrolling=\"auto\">";
+               strHTML += "</frameset>";
+       }
+
+       document.write(strHTML);
+
+       RegisterListener2(window, WH_MSG_SHOWPANE);
+       RegisterListener2(window, WH_MSG_HIDEPANE);
+       RegisterListener2(window, WH_MSG_ISPANEVISIBLE);
+       window.onunload = window_unload;
+}
+
+function window_unload()
+{
+       UnRegisterListener2(window, WH_MSG_SHOWPANE);
+       UnRegisterListener2(window, WH_MSG_HIDEPANE);
+       UnRegisterListener2(window, WH_MSG_ISPANEVISIBLE);
+}
+
+
+function onSendMessage(oMsg)
+{
+       var nMsgId = oMsg.nMessageId;
+       if (nMsgId == WH_MSG_SHOWPANE)
+       {
+               getElement("whPfset").cols = "260,*";
+               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "visible");
+               SendMessage(onMsg);
+               onMsg = new whMessage(WH_MSG_GETPANEINFO, this, 1, "");
+               if (SendMessage(onMsg))
+               {
+                       onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, onMsg.oParam);
+                       SendMessage(onMsg);
+               }
+               return false;
+       }
+       else if (nMsgId == WH_MSG_HIDEPANE)
+       {
+               getElement("whPfset").cols = "0,*";
+               var onMsg = new whMessage(WH_MSG_PANESTATUE, this, 1, "invisible");
+               SendMessage(onMsg);
+               onMsg = new whMessage(WH_MSG_PANEINFO, this, 1, "");
+               SendMessage(onMsg);
+               return false;
+       }
+       else if (nMsgId == WH_MSG_ISPANEVISIBLE)
+       {
+               var n = parseInt(getElement("whPfset").cols);
+               if (n > 0)
+               {
+                       oMsg.oParam.bVisible = true;
+               }
+               return false;
+       }
+       return true;
+}
+//-->
+</script>
+<body>
+<noscript>
+       <p> It seems javascript is disabled in your browser, please enable it and reload again, or click <a href="whnjs.htm">here</a> to view without javascript</p>
+</noscript>
+</body>
+</html>
index 3ea59e6bb636d470ee4551a93df8d74fe3e19592..0ad872aaee05a426621f59864ac3058855ddd8c6 100755 (executable)
@@ -1,20 +1,20 @@
-<html>\r
-<head>\r
-<title>WebHelp 5.50 </title>\r
-<meta name="description" content="output from robohelp">\r
-<meta name="keywords" content="robohelp,webhelp,webhelp enterprise,roboinfo">\r
-</head>\r
-<body>\r
-<h1> WebHelp 5.50 System  Info </h1>\r
-<table>\r
-<tr><td> Start Page </td><td>index.htm</td></tr>\r
-<tr><td> Skin Name </td><td></td></tr>\r
-<tr><td> Generating Time </td><td>12:45 05/22/2006</td></tr>\r
-<tr><td> Language ID </td><td>1033</td></tr>\r
-<tr><td> Compile Script </td><td>webhelp5_compile_script.xml</td></tr>\r
-<tr><td> Compile Build Version </td><td>13.10.606</td></tr>\r
-<tr><td> Product Name </td><td>WebHelp 5.50</td></tr>\r
-<tr><td> Authoring Tool Name </td><td>RoboHelp X5</td></tr>\r
-<table>\r
-</body>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>WebHelp 5.50 </title>
+<meta name="description" content="output from robohelp">
+<meta name="keywords" content="robohelp,webhelp,webhelp enterprise,roboinfo">
+</head>
+<body>
+<h1> WebHelp 5.50 System  Info </h1>
+<table>
+<tr><td> Start Page </td><td>index.htm</td></tr>
+<tr><td> Skin Name </td><td></td></tr>
+<tr><td> Generating Time </td><td>12:45 05/22/2006</td></tr>
+<tr><td> Language ID </td><td>1033</td></tr>
+<tr><td> Compile Script </td><td>webhelp5_compile_script.xml</td></tr>
+<tr><td> Compile Build Version </td><td>13.10.606</td></tr>
+<tr><td> Product Name </td><td>WebHelp 5.50</td></tr>
+<tr><td> Authoring Tool Name </td><td>RoboHelp X5</td></tr>
+<table>
+</body>
+</html>
index 816fc70589546eb35d3edd431ea06c5aa19eed60..c3469d79fe159d096c3c894a95721260e7994951 100755 (executable)
-<html>\r
-<head>\r
-<title>Select a Topic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</title>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript">\r
-<!--\r
-var gsBgColor = "#c0c0c0";\r
-var gsBgImage = "";\r
-var gsListBgColor = "white";\r
-var gsListBgImage = "";\r
-var gsMargin="0pt";\r
-var gsIndent="0pt";\r
-var gSelectedItem = -1;\r
-\r
-\r
-var goFont=null;\r
-var goHoverFont=null;\r
-var goTableFont=null;\r
-var gsABgColor="#cccccc";\r
-\r
-function setListBackground(sBgImage)\r
-{\r
-       if (sBgImage != null && sBgImage.length > 0)\r
-               gsListBgImage = sBgImage;\r
-}\r
-\r
-function setListBackgroundcolor(sBgColor)\r
-{\r
-       if (sBgColor != null && sBgColor.length > 0)\r
-               gsListBgColor = sBgColor;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       if (sBgImage != null && sBgImage.length > 0)\r
-               gsBgImage = sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       if (sBgColor != null && sBgColor.length > 0)\r
-               gsBgColor = sBgColor;\r
-}\r
-\r
-function setActiveBgColor(sBgColor)\r
-{\r
-       gsABgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if (sType == "Normal")\r
-               goFont=vFont;\r
-       if (sType == "Hover")\r
-               goHoverFont=vFont;\r
-       else if (sType == "Table")\r
-               goTableFont=vFont;\r
-}\r
-\r
-function fnOnload()\r
-{\r
-       if( window.dialogArguments != null )\r
-               fnLoadOptions( window.dialogArguments );\r
-       var items = getElementsByTag(document, "a");\r
-       if (items.length > 0)\r
-               items[0].focus();\r
-}\r
-\r
-var gaOpts = new Array();\r
-\r
-function selectOption(index)\r
-{\r
-       gSelectedItem = index;\r
-}\r
-\r
-function displayOption(index)\r
-{\r
-       if (index < gaOpts.length)\r
-       {\r
-               returnValue = new Object();\r
-               returnValue.m_url = gaOpts[index];\r
-       }\r
-       else\r
-               returnValue = null;\r
-\r
-       window.close();\r
-}\r
-\r
-function fnLoadOptions( cList )\r
-{\r
-       var sHTML = "<dl>";\r
-       for( var i=0;i <cList.length; i++)\r
-       {\r
-               sHTML += "<dt><nobr><a href=\"javascript:void(0);\" onclick=\"return false;\" onfocus=\"selectOption(";\r
-               sHTML += gaOpts.length + ");return false;\" ondblclick=\"displayOption(" + gaOpts.length;\r
-               sHTML += ");return false;\">"+ _textToHtml(cList[i].m_sName) + "</a></nobr></dt>";\r
-               gaOpts[gaOpts.length] = cList[i].m_sURL;\r
-       }\r
-       sHTML += "</dl>";\r
-       var oDivCon=getElement("divlist");\r
-       if(oDivCon)\r
-               oDivCon.innerHTML=sHTML;\r
-       return true;\r
-}\r
-\r
-function fnOK()\r
-{\r
-       displayOption(gSelectedItem);\r
-}\r
-\r
-function fnCancel()\r
-{\r
-       returnValue = null;             window.close();\r
-}\r
-\r
-function fnOnKeypress()\r
-{\r
-       switch( event.keyCode )\r
-       {\r
-       case 13:        // enter key\r
-               fnOK();\r
-               break;\r
-       case 27:        // escape key\r
-               fnCancel();\r
-               break;\r
-       }\r
-}\r
-\r
-function writeStyle(bMiniBar)\r
-{\r
-       var sStyle="";\r
-       sStyle+="<style type='text/css'>\n";\r
-       sStyle+="<!--\n";\r
-       sStyle+="body.clsbody\n";\r
-       sStyle+="{\n";\r
-       sStyle+="margin: 4px;\n";\r
-       sStyle+=getFontStyle(goTableFont);\r
-       sStyle+="background-attachment: fixed;\n";\r
-       sStyle+="};\n";\r
-       sStyle+="P.clsNDXTD\n";\r
-       sStyle+="{\n";\r
-       sStyle+="margin:0;\n";\r
-       sStyle+=getFontStyle(goTableFont);\r
-       sStyle+="};\n";\r
-       sStyle+="div.clslist\n";\r
-       sStyle+="{\n";\r
-       if (gsListBgImage)\r
-               sStyle+="background-image:url("+gsListBgImage+");\n";\r
-       else if (gsListBgColor)\r
-               sStyle+="background-color:"+gsListBgColor+";\n";\r
-       sStyle+=getFontStyle(goFont);\r
-       sStyle+="};\n";\r
-       sStyle+="BUTTON.clsNDXButton\n";\r
-       sStyle+="{\n";\r
-       sStyle+=getFontStyle(goTableFont);\r
-       sStyle+="background-color: transparent;\n";\r
-       sStyle+="};\n";\r
-       sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsABgColor+";}\n";\r
-       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
-       sStyle+="</style>\n";\r
-       document.write(sStyle);\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(document.body)\r
-       {\r
-               if(gsBgImage&&gsBgImage.length>0)\r
-               {\r
-                       document.body.background=gsBgImage;\r
-               }\r
-               if(gsBgColor&&gsBgColor.length>0)\r
-               {\r
-                       document.body.bgColor=gsBgColor;\r
-               }\r
-       }\r
-       fnOnload();\r
-       window_onResize();\r
-}\r
-\r
-function window_onResize()\r
-{\r
-       var oDiv = getElement("divlist");\r
-       var oTitle = getElement("p_title");\r
-       var oButton = getElement("tb_button");\r
-       if (oDiv && oTitle && oButton)\r
-       {\r
-               oDiv.style.height = document.body.offsetHeight - oTitle.offsetHeight - oButton.offsetHeight - 8;\r
-       }\r
-}\r
-goTableFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-goHoverFont=new whFont("Verdana","8pt","#666666","normal","normal","none");\r
-\r
-\r
-\r
-\r
-setFont("Table", "Arial","9pt","#000000","normal","normal","none");\r
-\r
-\r
-setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");\r
-setActiveBgColor("#cccccc");\r
-\r
-window.onload=window_OnLoad;\r
-window.onresize = window_onResize;\r
-writeStyle();\r
-//-->\r
-</script>\r
-</head>\r
-\r
-<body class="clsbody" scroll="no" onkeypress="fnOnKeypress()">\r
-<p id="p_title" class="clsNDXTD"><nobr>Select a topic, then click Display</nobr></p>\r
-<div id="divlist" class="clslist" style="margin:2px;position: relative;overflow:auto;width:100%;border-style:inset;border-width:2">\r
-</div>\r
-<table id="tb_button" width="100%">\r
-  <tr>\r
-    <td width="100%" align="center"><button class="clsNDXButton" name="btnOK" onclick="fnOK()">Display</button>&#32;&#32;&#32;<button class="clsNDXButton" name="btnCancel" onclick="fnCancel()">Cancel</button></td>\r
-  </tr>\r
-</table>\r
-\r
-</body>\r
-\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>Select a Topic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</title>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript">
+<!--
+var gsBgColor = "#c0c0c0";
+var gsBgImage = "";
+var gsListBgColor = "white";
+var gsListBgImage = "";
+var gsMargin="0pt";
+var gsIndent="0pt";
+var gSelectedItem = -1;
+
+
+var goFont=null;
+var goHoverFont=null;
+var goTableFont=null;
+var gsABgColor="#cccccc";
+
+function setListBackground(sBgImage)
+{
+       if (sBgImage != null && sBgImage.length > 0)
+               gsListBgImage = sBgImage;
+}
+
+function setListBackgroundcolor(sBgColor)
+{
+       if (sBgColor != null && sBgColor.length > 0)
+               gsListBgColor = sBgColor;
+}
+
+function setBackground(sBgImage)
+{
+       if (sBgImage != null && sBgImage.length > 0)
+               gsBgImage = sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       if (sBgColor != null && sBgColor.length > 0)
+               gsBgColor = sBgColor;
+}
+
+function setActiveBgColor(sBgColor)
+{
+       gsABgColor=sBgColor;
+}
+
+function setFont(sType, sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if (sType == "Normal")
+               goFont=vFont;
+       if (sType == "Hover")
+               goHoverFont=vFont;
+       else if (sType == "Table")
+               goTableFont=vFont;
+}
+
+function fnOnload()
+{
+       if( window.dialogArguments != null )
+               fnLoadOptions( window.dialogArguments );
+       var items = getElementsByTag(document, "a");
+       if (items.length > 0)
+               items[0].focus();
+}
+
+var gaOpts = new Array();
+
+function selectOption(index)
+{
+       gSelectedItem = index;
+}
+
+function displayOption(index)
+{
+       if (index < gaOpts.length)
+       {
+               returnValue = new Object();
+               returnValue.m_url = gaOpts[index];
+       }
+       else
+               returnValue = null;
+
+       window.close();
+}
+
+function fnLoadOptions( cList )
+{
+       var sHTML = "<dl>";
+       for( var i=0;i <cList.length; i++)
+       {
+               sHTML += "<dt><nobr><a href=\"javascript:void(0);\" onclick=\"return false;\" onfocus=\"selectOption(";
+               sHTML += gaOpts.length + ");return false;\" ondblclick=\"displayOption(" + gaOpts.length;
+               sHTML += ");return false;\">"+ _textToHtml(cList[i].m_sName) + "</a></nobr></dt>";
+               gaOpts[gaOpts.length] = cList[i].m_sURL;
+       }
+       sHTML += "</dl>";
+       var oDivCon=getElement("divlist");
+       if(oDivCon)
+               oDivCon.innerHTML=sHTML;
+       return true;
+}
+
+function fnOK()
+{
+       displayOption(gSelectedItem);
+}
+
+function fnCancel()
+{
+       returnValue = null;             window.close();
+}
+
+function fnOnKeypress()
+{
+       switch( event.keyCode )
+       {
+       case 13:        // enter key
+               fnOK();
+               break;
+       case 27:        // escape key
+               fnCancel();
+               break;
+       }
+}
+
+function writeStyle(bMiniBar)
+{
+       var sStyle="";
+       sStyle+="<style type='text/css'>\n";
+       sStyle+="<!--\n";
+       sStyle+="body.clsbody\n";
+       sStyle+="{\n";
+       sStyle+="margin: 4px;\n";
+       sStyle+=getFontStyle(goTableFont);
+       sStyle+="background-attachment: fixed;\n";
+       sStyle+="};\n";
+       sStyle+="P.clsNDXTD\n";
+       sStyle+="{\n";
+       sStyle+="margin:0;\n";
+       sStyle+=getFontStyle(goTableFont);
+       sStyle+="};\n";
+       sStyle+="div.clslist\n";
+       sStyle+="{\n";
+       if (gsListBgImage)
+               sStyle+="background-image:url("+gsListBgImage+");\n";
+       else if (gsListBgColor)
+               sStyle+="background-color:"+gsListBgColor+";\n";
+       sStyle+=getFontStyle(goFont);
+       sStyle+="};\n";
+       sStyle+="BUTTON.clsNDXButton\n";
+       sStyle+="{\n";
+       sStyle+=getFontStyle(goTableFont);
+       sStyle+="background-color: transparent;\n";
+       sStyle+="};\n";
+       sStyle+="dl {"+getFontStyle(goFont)+"margin-left:"+gsIndent+";margin-top:"+gsMargin+";}\n";
+       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsABgColor+";}\n";
+       sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";
+       sStyle+="</style>\n";
+       document.write(sStyle);
+}
+
+function window_OnLoad()
+{
+       if(document.body)
+       {
+               if(gsBgImage&&gsBgImage.length>0)
+               {
+                       document.body.background=gsBgImage;
+               }
+               if(gsBgColor&&gsBgColor.length>0)
+               {
+                       document.body.bgColor=gsBgColor;
+               }
+       }
+       fnOnload();
+       window_onResize();
+}
+
+function window_onResize()
+{
+       var oDiv = getElement("divlist");
+       var oTitle = getElement("p_title");
+       var oButton = getElement("tb_button");
+       if (oDiv && oTitle && oButton)
+       {
+               oDiv.style.height = document.body.offsetHeight - oTitle.offsetHeight - oButton.offsetHeight - 8;
+       }
+}
+goTableFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+goHoverFont=new whFont("Verdana","8pt","#666666","normal","normal","none");
+
+
+
+
+setFont("Table", "Arial","9pt","#000000","normal","normal","none");
+
+
+setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");
+setActiveBgColor("#cccccc");
+
+window.onload=window_OnLoad;
+window.onresize = window_onResize;
+writeStyle();
+//-->
+</script>
+</head>
+
+<body class="clsbody" scroll="no" onkeypress="fnOnKeypress()">
+<p id="p_title" class="clsNDXTD"><nobr>Select a topic, then click Display</nobr></p>
+<div id="divlist" class="clslist" style="margin:2px;position: relative;overflow:auto;width:100%;border-style:inset;border-width:2">
+</div>
+<table id="tb_button" width="100%">
+  <tr>
+    <td width="100%" align="center"><button class="clsNDXButton" name="btnOK" onclick="fnOK()">Display</button>&#32;&#32;&#32;<button class="clsNDXButton" name="btnCancel" onclick="fnCancel()">Cancel</button></td>
+  </tr>
+</table>
+
+</body>
+
+</html>
index 69737fa1ec80b90ffd803923256b714df759af1f..01bee59ac6c21cb2f25e71a267b4102e784a8317 100755 (executable)
@@ -1,63 +1,63 @@
-<html>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2">\r
-<!--\r
-var gsTopic="";\r
-\r
-if (location.hash.length > 1)\r
-{\r
-       var nPos = location.hash.indexOf(">>");\r
-       if (nPos>1)\r
-       {\r
-               gsTopic = location.hash.substring(1, nPos);\r
-               parseParam(location.hash.substring(nPos+2));\r
-       }\r
-       else\r
-               gsTopic = location.hash.substring(1);\r
-}\r
-\r
-\r
-       var strHtml="";\r
-       strHtml+="<frameset rows=\'100%,*\'>";\r
-       strHtml+="<frame name=\'topicwindow\' src=\'" + gsTopic +"\'></frame>";\r
-       strHtml+="<frame src=\'whskin_blank.htm\' noresize></frame>";\r
-       strHtml+="</frameset>";\r
-       document.write(strHtml);\r
-\r
-function parseParam(sParam)\r
-{\r
-       if (sParam)\r
-       {\r
-               var nBPos=0;\r
-               do \r
-               {\r
-                       var nPos=sParam.indexOf(">>", nBPos);\r
-                       if (nPos!=-1)\r
-                       {\r
-                               if (nPos>0)\r
-                               {\r
-                                       var sPart=sParam.substring(nBPos, nPos);\r
-                                       parsePart(sPart);\r
-                               }\r
-                               nBPos = nPos + 2;\r
-                       }\r
-                       else\r
-                       {\r
-                               var sPart=sParam.substring(nBPos);\r
-                               parsePart(sPart);\r
-                               break;\r
-                       }\r
-               } while(nBPos < sParam.length);\r
-       }       \r
-}\r
-\r
-function parsePart(sPart)\r
-{\r
-       if(sPart.toLowerCase().indexOf("cap=")==0)\r
-       {\r
-               document.title=_browserStringToText(sPart.substring(4));\r
-       }\r
-}\r
-//-->\r
-</script>\r
+<html>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2">
+<!--
+var gsTopic="";
+
+if (location.hash.length > 1)
+{
+       var nPos = location.hash.indexOf(">>");
+       if (nPos>1)
+       {
+               gsTopic = location.hash.substring(1, nPos);
+               parseParam(location.hash.substring(nPos+2));
+       }
+       else
+               gsTopic = location.hash.substring(1);
+}
+
+
+       var strHtml="";
+       strHtml+="<frameset rows=\'100%,*\'>";
+       strHtml+="<frame name=\'topicwindow\' src=\'" + gsTopic +"\'></frame>";
+       strHtml+="<frame src=\'whskin_blank.htm\' noresize></frame>";
+       strHtml+="</frameset>";
+       document.write(strHtml);
+
+function parseParam(sParam)
+{
+       if (sParam)
+       {
+               var nBPos=0;
+               do 
+               {
+                       var nPos=sParam.indexOf(">>", nBPos);
+                       if (nPos!=-1)
+                       {
+                               if (nPos>0)
+                               {
+                                       var sPart=sParam.substring(nBPos, nPos);
+                                       parsePart(sPart);
+                               }
+                               nBPos = nPos + 2;
+                       }
+                       else
+                       {
+                               var sPart=sParam.substring(nBPos);
+                               parsePart(sPart);
+                               break;
+                       }
+               } while(nBPos < sParam.length);
+       }       
+}
+
+function parsePart(sPart)
+{
+       if(sPart.toLowerCase().indexOf("cap=")==0)
+       {
+               document.title=_browserStringToText(sPart.substring(4));
+       }
+}
+//-->
+</script>
 </html>
\ No newline at end of file
index 50883b8e2bf80c18f40f88111d97fdf9103c93cb..2fc6ef910a498191238ab72f06594da1e988d417 100755 (executable)
-//     WebHelp 5.10.003\r
-RegisterListener2(this, WH_MSG_GETSTARTFRAME);\r
-RegisterListener2(this, WH_MSG_GETDEFAULTTOPIC);\r
-RegisterListener2(this, WH_MSG_MINIBARORDER);\r
-RegisterListener2(this, WH_MSG_TOOLBARORDER);\r
-RegisterListener2(this, WH_MSG_ISSEARCHSUPPORT);\r
-RegisterListener2(this, WH_MSG_ISSYNCSSUPPORT);\r
-RegisterListener2(this, WH_MSG_ISAVENUESUPPORT);\r
-RegisterListener2(this, WH_MSG_GETPANETYPE);\r
-RegisterListener2(this, WH_MSG_GETPANES);\r
-RegisterListener2(this, WH_MSG_RELOADNS6);\r
-RegisterListener2(this, WH_MSG_GETCMD);\r
-RegisterListener2(this, WH_MSG_GETPANE);\r
-RegisterListener2(this, WH_MSG_GETDEFPANE);\r
-\r
-if (gbNav6)\r
-{\r
-       var gnReload=0;\r
-       setTimeout("delayReload();",5000);\r
-}\r
-\r
-function delayReload()\r
-{\r
-       if (!(this.cMRServer && cMRServer.m_strVersion))\r
-       {\r
-               if(gnReload!=2)\r
-               {\r
-                       if(nViewFrameType&&nViewFrameType==1)\r
-                               document.location=document.location;\r
-               }\r
-       }\r
-}\r
-\r
-var gsToolbarOrder = "";\r
-var gsMinibarOrder = "";\r
-\r
-var gsTopic = "mesh.htm";\r
-var PANE_OPT_SEARCH = 1;\r
-var PANE_OPT_BROWSESEQ = 2;\r
-var gnOpts=-1;\r
-var gnCmd=-1;\r
-var gnPans=2;\r
-var gsBtns="invalid";\r
-var gsDefaultBtn="invalid";\r
-var gbHasTitle=false;\r
-\r
-if (location.hash.length > 1)\r
-{\r
-       var sParam = location.hash;\r
-       if (sParam.indexOf("#<") == 0)\r
-       {\r
-               document.location = "whcsh_home.htm#" + sParam.substring(2);\r
-       }\r
-       else if (sParam.indexOf("#>>") == 0)\r
-       {\r
-               parseParam(sParam.substring(3));\r
-               sParam = "#" + gsTopic + sParam.substring(1);\r
-       }\r
-       else\r
-       {\r
-               var nPos = sParam.indexOf(">>");\r
-               if (nPos>1)\r
-               {\r
-                       gsTopic = sParam.substring(1, nPos);\r
-                       parseParam(sParam.substring(nPos+2));\r
-               }\r
-               else\r
-                       gsTopic = sParam.substring(1);\r
-       }\r
-       if (gnPans == 1 && gsTopic)\r
-       {\r
-               var strURL=location.href;\r
-               if (location.hash)\r
-               {\r
-                       var nPos=location.href.indexOf(location.hash);\r
-                       strURL=strURL.substring(0, nPos);\r
-               }\r
-               if (gbHasTitle)\r
-                       document.location=_getPath(strURL)+ "whskin_tw.htm" + sParam;\r
-               else\r
-                       document.location=_getPath(strURL)+ gsTopic;\r
-       }\r
-}\r
-\r
-function parseParam(sParam)\r
-{\r
-       if (sParam)\r
-       {\r
-               var nBPos=0;\r
-               do \r
-               {\r
-                       var nPos=sParam.indexOf(">>", nBPos);\r
-                       if (nPos!=-1)\r
-                       {\r
-                               if (nPos>0)\r
-                               {\r
-                                       var sPart=sParam.substring(nBPos, nPos);\r
-                                       parsePart(sPart);\r
-                               }\r
-                               nBPos = nPos + 2;\r
-                       }\r
-                       else\r
-                       {\r
-                               var sPart=sParam.substring(nBPos);\r
-                               parsePart(sPart);\r
-                               break;\r
-                       }\r
-               } while(nBPos < sParam.length);\r
-       }       \r
-}\r
-\r
-function parsePart(sPart)\r
-{\r
-       if(sPart.toLowerCase().indexOf("cmd=")==0)\r
-       {\r
-               gnCmd=parseInt(sPart.substring(4));\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("cap=")==0)\r
-       {\r
-               document.title=_browserStringToText(sPart.substring(4));\r
-               gbHasTitle=true;\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("pan=")==0)\r
-       {\r
-               gnPans=parseInt(sPart.substring(4));\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("pot=")==0)\r
-       {\r
-               gnOpts=parseInt(sPart.substring(4));\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("pbs=")==0)\r
-       {\r
-               var sRawBtns = sPart.substring(4);\r
-               var aBtns = sRawBtns.split("|");\r
-               for (var i=0;i<aBtns.length;i++)\r
-               {\r
-                       aBtns[i] = transferAgentNameToPaneName(aBtns[i]);\r
-               }\r
-               gsRawBtns = aBtns.join("|");\r
-       }\r
-       else if(sPart.toLowerCase().indexOf("pdb=")==0)\r
-       {\r
-               gsDefaultBtn=transferAgentNameToPaneName(sPart.substring(4));\r
-       }\r
-}\r
-\r
-function setToolbarOrder(sOrder)\r
-{\r
-       gsToolbarOrder = sOrder;\r
-}\r
-\r
-function setMinibarOrder(sOrder)\r
-{\r
-       gsMinibarOrder = sOrder;\r
-}\r
-\r
-function onSendMessageX(oMsg)\r
-{\r
-       var nMsgId = oMsg.nMessageId;\r
-       if (nMsgId == WH_MSG_GETSTARTFRAME)\r
-       {\r
-               oMsg.oParam.oFrame = this;\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_GETDEFAULTTOPIC)\r
-       {\r
-               if (this.cMRServer && cMRServer.m_strVersion)\r
-               {\r
-                       if (cMRServer.m_strURLTopic);\r
-                       {\r
-                               oMsg.oParam.sTopic = cMRServer.m_strURLTopic;\r
-                               return false;\r
-                       }\r
-\r
-               }\r
-               oMsg.oParam.sTopic = gsTopic;\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_TOOLBARORDER)\r
-       {\r
-               var oMsg1 = new whMessage(WH_MSG_GETPANES, this, 1, null);\r
-               if (SendMessage(oMsg1))\r
-               {\r
-                       if (oMsg1.oParam)\r
-                       {\r
-                               if (this.cMRServer && cMRServer.m_strVersion)\r
-                               {\r
-                                       var aToolbarOrder=cMRServer.m_strAgentList.split(";");\r
-                                       var i=0;\r
-                                       for (i=0;i<aToolbarOrder.length;i++)\r
-                                               aToolbarOrder[i]=transferANToPN2(aToolbarOrder[i]);\r
-                                       aToolbarOrder[aToolbarOrder.length] = "blankblock";\r
-                                       if (cMRServer.m_bShowSearchInput)\r
-                                       {\r
-                                               aToolbarOrder[aToolbarOrder.length] = "searchform";\r
-                                       }\r
-                                       aToolbarOrder[aToolbarOrder.length] = "banner";\r
-                                       var aToolbarOrderNew = new Array();\r
-                                       for (i=0;i<aToolbarOrder.length;i++)\r
-                                       {\r
-                                               if (isAPane(aToolbarOrder[i]))\r
-                                               {\r
-                                                       if (oMsg1.oParam.aPanes && oMsg1.oParam.aPanes.length)\r
-                                                       {\r
-                                                               for (var j=0;j<oMsg1.oParam.aPanes.length;j++)\r
-                                                               {\r
-                                                                       if (aToolbarOrder[i] == oMsg1.oParam.aPanes[j].sPaneName)\r
-                                                                       {\r
-                                                                               aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
-                                                                               break;\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                               else\r
-                                                       aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
-                                       }\r
-                                       oMsg.oParam = aToolbarOrderNew.join("|");\r
-                                       return false;\r
-                               }\r
-                       }\r
-               }\r
-               var sParam="";\r
-               if (gsBtns!="invalid")\r
-                       sParam=gsBtns+"|blankblock|banner";\r
-               else\r
-                       sParam = gsToolbarOrder;\r
-\r
-               if (gnOpts!=-1)\r
-               {\r
-                       var nPosForm=sParam.indexOf("|searchform|");\r
-                       if (gnOpts&PANE_OPT_SEARCH)\r
-                       {\r
-                               if (nPosForm == -1 && sParam.indexOf("|fts|") != -1)\r
-                               {\r
-                                       var nPos=sParam.indexOf("banner");\r
-                                       if (nPos!=-1)\r
-                                       {\r
-                                               sParam=sParam.substring(0, nPos) + "searchform|" + sParam.substring(nPos);\r
-                                       }\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               if (nPosForm!=-1)\r
-                               {\r
-                                       sParam=sParam.substring(0,nPosForm) + sParam.substring(nPosForm+11);\r
-                               }\r
-                       }\r
-               }\r
-               oMsg.oParam=sParam;\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_MINIBARORDER)\r
-       {\r
-               var sMinParam=gsMinibarOrder;\r
-               if (gnOpts!=-1)\r
-               {\r
-                       var nPosBro=gsMinibarOrder.indexOf("avprev|avnext");\r
-                       if (gnOpts&PANE_OPT_BROWSESEQ)\r
-                       {\r
-                               if (nPosBro==-1)\r
-                               {\r
-                                       sMinParam ="avprev|avnext|" + gsMinibarOrder;\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               if (nPosBro!=-1)\r
-                               {\r
-                                       if (nPosBro!=0)\r
-                                               sMinParam=gsMinibarOrder.substring(0, nPosBro) + gsMinibarOrder.substring(nPosBro+14);\r
-                                       else\r
-                                               sMinParam=gsMinibarOrder.substring(14);\r
-                               }\r
-                       }\r
-               }\r
-               oMsg.oParam = sMinParam;\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_ISSYNCSSUPPORT)\r
-       {\r
-               if (this.cMRServer && cMRServer.m_strVersion)\r
-               {\r
-                       if (cMRServer.m_bShowSync)\r
-                               oMsg.oParam=true;\r
-                       else\r
-                               oMsg.oParam=false;\r
-                       return false;\r
-               }\r
-               else\r
-               {\r
-                       if(typeof(nViewFrameType)!="undefined")\r
-                       {\r
-                               oMsg.oParam= (nViewFrameType < 3);\r
-                               return false;\r
-                       }\r
-               }\r
-       }\r
-       else if (nMsgId == WH_MSG_ISAVENUESUPPORT)\r
-       {\r
-               if (this.cMRServer && cMRServer.m_strVersion)\r
-               {\r
-                       if (cMRServer.m_bShowBrowseSequences)\r
-                               oMsg.oParam=true;\r
-                       else\r
-                               oMsg.oParam=false;\r
-               }\r
-               else\r
-               {\r
-                       oMsg.oParam=true;\r
-               }\r
-               return false;\r
-       }\r
-       else if (nMsgId == WH_MSG_ISSEARCHSUPPORT)\r
-       {\r
-               if(typeof(nViewFrameType)!="undefined")\r
-               {\r
-                       oMsg.oParam= (nViewFrameType < 3);\r
-                       return false;\r
-               }\r
-       }\r
-       else if (nMsgId == WH_MSG_GETPANETYPE)\r
-       {\r
-               if(typeof(nViewFrameType)!="undefined")\r
-               {\r
-                       var oPaneInfo = new Object();\r
-                       oPaneInfo.nType = nViewFrameType;\r
-                       oPaneInfo.sPaneURL = strPane;\r
-                       oMsg.oParam = oPaneInfo;\r
-                       return false;\r
-               }\r
-       }\r
-       else if (nMsgId == WH_MSG_GETPANES)\r
-       {\r
-               if (this.cMRServer && cMRServer.m_strVersion)\r
-               {\r
-                       var oPanes = new Object();\r
-                       var aAgentNames = null;\r
-                       if (cMRServer.m_strDefAgent)\r
-                               oPanes.sDefault = transferAgentNameToPaneName(cMRServer.m_strDefAgent);\r
-\r
-                       aPanes = new Array();\r
-                       for(var i=0; i< cMRServer.m_cAgents.length; i++)\r
-                       {\r
-                               var nCur = aPanes.length;\r
-                               aPanes[nCur] = new Object();\r
-                               aPanes[nCur].sPaneName = transferAgentNameToPaneName(cMRServer.m_cAgents[i].m_strID);\r
-                               aPanes[nCur].sPaneURL = cMRServer.m_cAgents[i].m_strURL;\r
-                       }\r
-                       oPanes.aPanes = aPanes;\r
-                       oMsg.oParam = oPanes;\r
-                       return false;\r
-               }\r
-               else\r
-               {\r
-                       oMsg.oParam = null;\r
-                       return false;\r
-               }\r
-       }\r
-       else if(nMsgId==WH_MSG_RELOADNS6)\r
-       {\r
-               if(gbNav6)\r
-                       gnReload++;\r
-               return false;\r
-       }\r
-       else if(nMsgId==WH_MSG_GETCMD)\r
-       {\r
-               oMsg.oParam=gnCmd;\r
-               return false;\r
-       }\r
-       else if(nMsgId==WH_MSG_GETPANE)\r
-       {\r
-               if (gsBtns!="invalid" && oMsg.oParam.sName)\r
-               {\r
-                       if(gsBtns.indexOf(oMsg.oParam.sName) != -1)\r
-                               oMsg.oParam.bEnable=true;\r
-                       else\r
-                               oMsg.oParam.bEnable=false;\r
-               }\r
-               else\r
-                       oMsg.oParam.bEnable=true;\r
-               return false;\r
-       }\r
-       else if(nMsgId==WH_MSG_GETDEFPANE)\r
-       {\r
-               if (gsDefaultBtn!="invalid")\r
-               {\r
-                       oMsg.oParam=gsDefaultBtn;\r
-               }\r
-               return false;\r
-       }\r
-       return true;\r
-}\r
-\r
-function transferANToPN2(sAN)\r
-{\r
-       if (sAN =="toc")\r
-               return "toc";\r
-       else if (sAN =="ndx")\r
-               return "idx";\r
-       else if (sAN =="nls")\r
-               return "fts";\r
-       else if (sAN =="gls")\r
-               return "glo";\r
-       else if (sAN =="WebSearch")\r
-               return "websearch";\r
-       else if (sAN.indexOf("custom_")==0);\r
-               return "custom" + sAN.substring(7);\r
-       return sAN;\r
-}\r
-\r
-function transferAgentNameToPaneName(sAgentName)\r
-{\r
-       if (sAgentName =="toc")\r
-               return "toc";\r
-       else if (sAgentName =="ndx")\r
-               return "idx";\r
-       else if (sAgentName =="nls")\r
-               return "fts";\r
-       else if (sAgentName =="gls")\r
-               return "glo";\r
-       return "";\r
-}\r
-\r
-function isAPane(sPaneName)\r
-{\r
-       if (sPaneName == "toc" || sPaneName == "idx" || sPaneName == "fts" || sPaneName == "glo")\r
-               return true;\r
-       else\r
-               return false;\r
-}
\ No newline at end of file
+//     WebHelp 5.10.003
+RegisterListener2(this, WH_MSG_GETSTARTFRAME);
+RegisterListener2(this, WH_MSG_GETDEFAULTTOPIC);
+RegisterListener2(this, WH_MSG_MINIBARORDER);
+RegisterListener2(this, WH_MSG_TOOLBARORDER);
+RegisterListener2(this, WH_MSG_ISSEARCHSUPPORT);
+RegisterListener2(this, WH_MSG_ISSYNCSSUPPORT);
+RegisterListener2(this, WH_MSG_ISAVENUESUPPORT);
+RegisterListener2(this, WH_MSG_GETPANETYPE);
+RegisterListener2(this, WH_MSG_GETPANES);
+RegisterListener2(this, WH_MSG_RELOADNS6);
+RegisterListener2(this, WH_MSG_GETCMD);
+RegisterListener2(this, WH_MSG_GETPANE);
+RegisterListener2(this, WH_MSG_GETDEFPANE);
+
+if (gbNav6)
+{
+       var gnReload=0;
+       setTimeout("delayReload();",5000);
+}
+
+function delayReload()
+{
+       if (!(this.cMRServer && cMRServer.m_strVersion))
+       {
+               if(gnReload!=2)
+               {
+                       if(nViewFrameType&&nViewFrameType==1)
+                               document.location=document.location;
+               }
+       }
+}
+
+var gsToolbarOrder = "";
+var gsMinibarOrder = "";
+
+var gsTopic = "mesh.htm";
+var PANE_OPT_SEARCH = 1;
+var PANE_OPT_BROWSESEQ = 2;
+var gnOpts=-1;
+var gnCmd=-1;
+var gnPans=2;
+var gsBtns="invalid";
+var gsDefaultBtn="invalid";
+var gbHasTitle=false;
+
+if (location.hash.length > 1)
+{
+       var sParam = location.hash;
+       if (sParam.indexOf("#<") == 0)
+       {
+               document.location = "whcsh_home.htm#" + sParam.substring(2);
+       }
+       else if (sParam.indexOf("#>>") == 0)
+       {
+               parseParam(sParam.substring(3));
+               sParam = "#" + gsTopic + sParam.substring(1);
+       }
+       else
+       {
+               var nPos = sParam.indexOf(">>");
+               if (nPos>1)
+               {
+                       gsTopic = sParam.substring(1, nPos);
+                       parseParam(sParam.substring(nPos+2));
+               }
+               else
+                       gsTopic = sParam.substring(1);
+       }
+       if (gnPans == 1 && gsTopic)
+       {
+               var strURL=location.href;
+               if (location.hash)
+               {
+                       var nPos=location.href.indexOf(location.hash);
+                       strURL=strURL.substring(0, nPos);
+               }
+               if (gbHasTitle)
+                       document.location=_getPath(strURL)+ "whskin_tw.htm" + sParam;
+               else
+                       document.location=_getPath(strURL)+ gsTopic;
+       }
+}
+
+function parseParam(sParam)
+{
+       if (sParam)
+       {
+               var nBPos=0;
+               do 
+               {
+                       var nPos=sParam.indexOf(">>", nBPos);
+                       if (nPos!=-1)
+                       {
+                               if (nPos>0)
+                               {
+                                       var sPart=sParam.substring(nBPos, nPos);
+                                       parsePart(sPart);
+                               }
+                               nBPos = nPos + 2;
+                       }
+                       else
+                       {
+                               var sPart=sParam.substring(nBPos);
+                               parsePart(sPart);
+                               break;
+                       }
+               } while(nBPos < sParam.length);
+       }       
+}
+
+function parsePart(sPart)
+{
+       if(sPart.toLowerCase().indexOf("cmd=")==0)
+       {
+               gnCmd=parseInt(sPart.substring(4));
+       }
+       else if(sPart.toLowerCase().indexOf("cap=")==0)
+       {
+               document.title=_browserStringToText(sPart.substring(4));
+               gbHasTitle=true;
+       }
+       else if(sPart.toLowerCase().indexOf("pan=")==0)
+       {
+               gnPans=parseInt(sPart.substring(4));
+       }
+       else if(sPart.toLowerCase().indexOf("pot=")==0)
+       {
+               gnOpts=parseInt(sPart.substring(4));
+       }
+       else if(sPart.toLowerCase().indexOf("pbs=")==0)
+       {
+               var sRawBtns = sPart.substring(4);
+               var aBtns = sRawBtns.split("|");
+               for (var i=0;i<aBtns.length;i++)
+               {
+                       aBtns[i] = transferAgentNameToPaneName(aBtns[i]);
+               }
+               gsRawBtns = aBtns.join("|");
+       }
+       else if(sPart.toLowerCase().indexOf("pdb=")==0)
+       {
+               gsDefaultBtn=transferAgentNameToPaneName(sPart.substring(4));
+       }
+}
+
+function setToolbarOrder(sOrder)
+{
+       gsToolbarOrder = sOrder;
+}
+
+function setMinibarOrder(sOrder)
+{
+       gsMinibarOrder = sOrder;
+}
+
+function onSendMessageX(oMsg)
+{
+       var nMsgId = oMsg.nMessageId;
+       if (nMsgId == WH_MSG_GETSTARTFRAME)
+       {
+               oMsg.oParam.oFrame = this;
+               return false;
+       }
+       else if (nMsgId == WH_MSG_GETDEFAULTTOPIC)
+       {
+               if (this.cMRServer && cMRServer.m_strVersion)
+               {
+                       if (cMRServer.m_strURLTopic);
+                       {
+                               oMsg.oParam.sTopic = cMRServer.m_strURLTopic;
+                               return false;
+                       }
+
+               }
+               oMsg.oParam.sTopic = gsTopic;
+               return false;
+       }
+       else if (nMsgId == WH_MSG_TOOLBARORDER)
+       {
+               var oMsg1 = new whMessage(WH_MSG_GETPANES, this, 1, null);
+               if (SendMessage(oMsg1))
+               {
+                       if (oMsg1.oParam)
+                       {
+                               if (this.cMRServer && cMRServer.m_strVersion)
+                               {
+                                       var aToolbarOrder=cMRServer.m_strAgentList.split(";");
+                                       var i=0;
+                                       for (i=0;i<aToolbarOrder.length;i++)
+                                               aToolbarOrder[i]=transferANToPN2(aToolbarOrder[i]);
+                                       aToolbarOrder[aToolbarOrder.length] = "blankblock";
+                                       if (cMRServer.m_bShowSearchInput)
+                                       {
+                                               aToolbarOrder[aToolbarOrder.length] = "searchform";
+                                       }
+                                       aToolbarOrder[aToolbarOrder.length] = "banner";
+                                       var aToolbarOrderNew = new Array();
+                                       for (i=0;i<aToolbarOrder.length;i++)
+                                       {
+                                               if (isAPane(aToolbarOrder[i]))
+                                               {
+                                                       if (oMsg1.oParam.aPanes && oMsg1.oParam.aPanes.length)
+                                                       {
+                                                               for (var j=0;j<oMsg1.oParam.aPanes.length;j++)
+                                                               {
+                                                                       if (aToolbarOrder[i] == oMsg1.oParam.aPanes[j].sPaneName)
+                                                                       {
+                                                                               aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];
+                                                                               break;
+                                                                       }
+                                                               }
+                                                       }
+                                               }
+                                               else
+                                                       aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];
+                                       }
+                                       oMsg.oParam = aToolbarOrderNew.join("|");
+                                       return false;
+                               }
+                       }
+               }
+               var sParam="";
+               if (gsBtns!="invalid")
+                       sParam=gsBtns+"|blankblock|banner";
+               else
+                       sParam = gsToolbarOrder;
+
+               if (gnOpts!=-1)
+               {
+                       var nPosForm=sParam.indexOf("|searchform|");
+                       if (gnOpts&PANE_OPT_SEARCH)
+                       {
+                               if (nPosForm == -1 && sParam.indexOf("|fts|") != -1)
+                               {
+                                       var nPos=sParam.indexOf("banner");
+                                       if (nPos!=-1)
+                                       {
+                                               sParam=sParam.substring(0, nPos) + "searchform|" + sParam.substring(nPos);
+                                       }
+                               }
+                       }
+                       else
+                       {
+                               if (nPosForm!=-1)
+                               {
+                                       sParam=sParam.substring(0,nPosForm) + sParam.substring(nPosForm+11);
+                               }
+                       }
+               }
+               oMsg.oParam=sParam;
+               return false;
+       }
+       else if (nMsgId == WH_MSG_MINIBARORDER)
+       {
+               var sMinParam=gsMinibarOrder;
+               if (gnOpts!=-1)
+               {
+                       var nPosBro=gsMinibarOrder.indexOf("avprev|avnext");
+                       if (gnOpts&PANE_OPT_BROWSESEQ)
+                       {
+                               if (nPosBro==-1)
+                               {
+                                       sMinParam ="avprev|avnext|" + gsMinibarOrder;
+                               }
+                       }
+                       else
+                       {
+                               if (nPosBro!=-1)
+                               {
+                                       if (nPosBro!=0)
+                                               sMinParam=gsMinibarOrder.substring(0, nPosBro) + gsMinibarOrder.substring(nPosBro+14);
+                                       else
+                                               sMinParam=gsMinibarOrder.substring(14);
+                               }
+                       }
+               }
+               oMsg.oParam = sMinParam;
+               return false;
+       }
+       else if (nMsgId == WH_MSG_ISSYNCSSUPPORT)
+       {
+               if (this.cMRServer && cMRServer.m_strVersion)
+               {
+                       if (cMRServer.m_bShowSync)
+                               oMsg.oParam=true;
+                       else
+                               oMsg.oParam=false;
+                       return false;
+               }
+               else
+               {
+                       if(typeof(nViewFrameType)!="undefined")
+                       {
+                               oMsg.oParam= (nViewFrameType < 3);
+                               return false;
+                       }
+               }
+       }
+       else if (nMsgId == WH_MSG_ISAVENUESUPPORT)
+       {
+               if (this.cMRServer && cMRServer.m_strVersion)
+               {
+                       if (cMRServer.m_bShowBrowseSequences)
+                               oMsg.oParam=true;
+                       else
+                               oMsg.oParam=false;
+               }
+               else
+               {
+                       oMsg.oParam=true;
+               }
+               return false;
+       }
+       else if (nMsgId == WH_MSG_ISSEARCHSUPPORT)
+       {
+               if(typeof(nViewFrameType)!="undefined")
+               {
+                       oMsg.oParam= (nViewFrameType < 3);
+                       return false;
+               }
+       }
+       else if (nMsgId == WH_MSG_GETPANETYPE)
+       {
+               if(typeof(nViewFrameType)!="undefined")
+               {
+                       var oPaneInfo = new Object();
+                       oPaneInfo.nType = nViewFrameType;
+                       oPaneInfo.sPaneURL = strPane;
+                       oMsg.oParam = oPaneInfo;
+                       return false;
+               }
+       }
+       else if (nMsgId == WH_MSG_GETPANES)
+       {
+               if (this.cMRServer && cMRServer.m_strVersion)
+               {
+                       var oPanes = new Object();
+                       var aAgentNames = null;
+                       if (cMRServer.m_strDefAgent)
+                               oPanes.sDefault = transferAgentNameToPaneName(cMRServer.m_strDefAgent);
+
+                       aPanes = new Array();
+                       for(var i=0; i< cMRServer.m_cAgents.length; i++)
+                       {
+                               var nCur = aPanes.length;
+                               aPanes[nCur] = new Object();
+                               aPanes[nCur].sPaneName = transferAgentNameToPaneName(cMRServer.m_cAgents[i].m_strID);
+                               aPanes[nCur].sPaneURL = cMRServer.m_cAgents[i].m_strURL;
+                       }
+                       oPanes.aPanes = aPanes;
+                       oMsg.oParam = oPanes;
+                       return false;
+               }
+               else
+               {
+                       oMsg.oParam = null;
+                       return false;
+               }
+       }
+       else if(nMsgId==WH_MSG_RELOADNS6)
+       {
+               if(gbNav6)
+                       gnReload++;
+               return false;
+       }
+       else if(nMsgId==WH_MSG_GETCMD)
+       {
+               oMsg.oParam=gnCmd;
+               return false;
+       }
+       else if(nMsgId==WH_MSG_GETPANE)
+       {
+               if (gsBtns!="invalid" && oMsg.oParam.sName)
+               {
+                       if(gsBtns.indexOf(oMsg.oParam.sName) != -1)
+                               oMsg.oParam.bEnable=true;
+                       else
+                               oMsg.oParam.bEnable=false;
+               }
+               else
+                       oMsg.oParam.bEnable=true;
+               return false;
+       }
+       else if(nMsgId==WH_MSG_GETDEFPANE)
+       {
+               if (gsDefaultBtn!="invalid")
+               {
+                       oMsg.oParam=gsDefaultBtn;
+               }
+               return false;
+       }
+       return true;
+}
+
+function transferANToPN2(sAN)
+{
+       if (sAN =="toc")
+               return "toc";
+       else if (sAN =="ndx")
+               return "idx";
+       else if (sAN =="nls")
+               return "fts";
+       else if (sAN =="gls")
+               return "glo";
+       else if (sAN =="WebSearch")
+               return "websearch";
+       else if (sAN.indexOf("custom_")==0);
+               return "custom" + sAN.substring(7);
+       return sAN;
+}
+
+function transferAgentNameToPaneName(sAgentName)
+{
+       if (sAgentName =="toc")
+               return "toc";
+       else if (sAgentName =="ndx")
+               return "idx";
+       else if (sAgentName =="nls")
+               return "fts";
+       else if (sAgentName =="gls")
+               return "glo";
+       return "";
+}
+
+function isAPane(sPaneName)
+{
+       if (sPaneName == "toc" || sPaneName == "idx" || sPaneName == "fts" || sPaneName == "glo")
+               return true;
+       else
+               return false;
+}
index a43c6e1c43f9ee6acd4ef60b4d3e43f9307f120c..a94288c7c1745b060ea026c18641132450292516 100755 (executable)
-//     WebHelp 5.10.002\r
-window.whname="wh_stub";\r
-function getframehandle(frames,framename)\r
-{\r
-       var frame=null;\r
-       if(null==frames) return null;\r
-       for(var i=0;i<frames.length;i++)\r
-       {\r
-               if(typeof(frames[i].name)!="unknown")\r
-               {\r
-                       if(frames[i].name==framename)\r
-                               return frames[i];\r
-               }\r
-               if(frames[i].frames.length>0)\r
-               {\r
-                       frame=getframehandle(frames[i].frames,framename);\r
-                       if(null!=frame)\r
-                               return frame;\r
-               }\r
-       }\r
-       return frame;\r
-}\r
-\r
-function AddToArray(arr,obj)\r
-{\r
-       var bFound=false;\r
-       for(var i=0;i<arr.length;i++){\r
-               if(arr[i]==obj){\r
-                       bFound=true;\r
-                       break;\r
-               }\r
-               else if(arr[i]==null){\r
-                       break;\r
-               }\r
-       }\r
-       if(!bFound) arr[i]=obj;\r
-}\r
-\r
-var gArrayRegistedMessage=new Array();\r
-var gArrayCompoentsArray=new Array();\r
-\r
-function GetComponentsArray(nMessageId)\r
-{\r
-       var len=gArrayRegistedMessage.length;\r
-       for(var i=0;i<len;i++)\r
-       {\r
-               if(gArrayRegistedMessage[i]==nMessageId){\r
-                       if(gArrayCompoentsArray.length>i)\r
-                               return gArrayCompoentsArray[i];\r
-                       else\r
-                               return null;\r
-               }\r
-       }\r
-       return null;\r
-}\r
-\r
-function CreateComponentsArray(nMessageId)\r
-{\r
-       var len=gArrayRegistedMessage.length;\r
-       gArrayRegistedMessage[len]=nMessageId;\r
-       gArrayCompoentsArray[len]=new Array();\r
-       return gArrayCompoentsArray[len];\r
-}\r
-\r
-function listener(sName,oWindow)\r
-{\r
-       this.sName=sName;\r
-       this.oWindow=oWindow;\r
-}\r
-\r
-function RegisterListener(windowName,nMessageId)\r
-{\r
-       var arrayComponents=GetComponentsArray(nMessageId);\r
-       if(arrayComponents==null)\r
-               arrayComponents=CreateComponentsArray(nMessageId);\r
-       \r
-       if(arrayComponents!=null)\r
-       {\r
-               for (var i=0;i<arrayComponents.length;i++)\r
-               {\r
-                       if (arrayComponents[i].sName == windowName)\r
-                               return false;\r
-               }\r
-               var oListener=new listener(windowName,null);\r
-               AddToArray(arrayComponents,oListener);\r
-               return true;\r
-       }\r
-       else\r
-               return false;\r
-}\r
-\r
-function RegisterListener2(oWindow,nMessageId)\r
-{\r
-       var arrayComponents=GetComponentsArray(nMessageId);\r
-       if(arrayComponents==null)\r
-               arrayComponents=CreateComponentsArray(nMessageId);\r
-       \r
-       if(arrayComponents!=null)\r
-       {\r
-               var oListener=new listener("",oWindow);\r
-               AddToArray(arrayComponents,oListener);\r
-               return true;\r
-       }\r
-       else\r
-               return false;\r
-}\r
-\r
-function UnRegisterListener2(oWindow,nMessageId)\r
-{\r
-       var arrayComponents=GetComponentsArray(nMessageId);\r
-       if(arrayComponents!=null)\r
-       {\r
-               for(var i=0;i<arrayComponents.length;i++)\r
-               {\r
-                       if(arrayComponents[i].oWindow==oWindow)\r
-                       {\r
-                               removeItemFromArray(arrayComponents,i);\r
-                               return true;\r
-                       }\r
-               }\r
-       }\r
-       else\r
-               return false;\r
-}\r
-\r
-function SendMessage(oMessage)\r
-{\r
-       var bDelivered=false;\r
-       var arrayComponents=GetComponentsArray(oMessage.nMessageId);\r
-       if(arrayComponents!=null&&arrayComponents.length>0){\r
-               for(var i=0;i<arrayComponents.length;i++)\r
-               {\r
-                       if(null!=arrayComponents[i])\r
-                       {\r
-                               var pFrame;\r
-                               if(arrayComponents[i].oWindow==null)\r
-                                       pFrame=getframehandle(frames,arrayComponents[i].sName);\r
-                               else\r
-                                       pFrame=arrayComponents[i].oWindow;\r
-                               if(null!=pFrame)\r
-                               {\r
-                                       if(pFrame.onSendMessageX)\r
-                                       {\r
-                                               bDelivered=true;\r
-                                               if(!pFrame.onSendMessageX(oMessage))\r
-                                                       break;\r
-                                       }\r
-                                       if(pFrame.onSendMessage)\r
-                                       {\r
-                                               bDelivered=true;\r
-                                               if(!pFrame.onSendMessage(oMessage))\r
-                                                       break;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       return bDelivered;\r
+//     WebHelp 5.10.002
+window.whname="wh_stub";
+function getframehandle(frames,framename)
+{
+       var frame=null;
+       if(null==frames) return null;
+       for(var i=0;i<frames.length;i++)
+       {
+               if(typeof(frames[i].name)!="unknown")
+               {
+                       if(frames[i].name==framename)
+                               return frames[i];
+               }
+               if(frames[i].frames.length>0)
+               {
+                       frame=getframehandle(frames[i].frames,framename);
+                       if(null!=frame)
+                               return frame;
+               }
+       }
+       return frame;
+}
+
+function AddToArray(arr,obj)
+{
+       var bFound=false;
+       for(var i=0;i<arr.length;i++){
+               if(arr[i]==obj){
+                       bFound=true;
+                       break;
+               }
+               else if(arr[i]==null){
+                       break;
+               }
+       }
+       if(!bFound) arr[i]=obj;
+}
+
+var gArrayRegistedMessage=new Array();
+var gArrayCompoentsArray=new Array();
+
+function GetComponentsArray(nMessageId)
+{
+       var len=gArrayRegistedMessage.length;
+       for(var i=0;i<len;i++)
+       {
+               if(gArrayRegistedMessage[i]==nMessageId){
+                       if(gArrayCompoentsArray.length>i)
+                               return gArrayCompoentsArray[i];
+                       else
+                               return null;
+               }
+       }
+       return null;
+}
+
+function CreateComponentsArray(nMessageId)
+{
+       var len=gArrayRegistedMessage.length;
+       gArrayRegistedMessage[len]=nMessageId;
+       gArrayCompoentsArray[len]=new Array();
+       return gArrayCompoentsArray[len];
+}
+
+function listener(sName,oWindow)
+{
+       this.sName=sName;
+       this.oWindow=oWindow;
+}
+
+function RegisterListener(windowName,nMessageId)
+{
+       var arrayComponents=GetComponentsArray(nMessageId);
+       if(arrayComponents==null)
+               arrayComponents=CreateComponentsArray(nMessageId);
+       
+       if(arrayComponents!=null)
+       {
+               for (var i=0;i<arrayComponents.length;i++)
+               {
+                       if (arrayComponents[i].sName == windowName)
+                               return false;
+               }
+               var oListener=new listener(windowName,null);
+               AddToArray(arrayComponents,oListener);
+               return true;
+       }
+       else
+               return false;
+}
+
+function RegisterListener2(oWindow,nMessageId)
+{
+       var arrayComponents=GetComponentsArray(nMessageId);
+       if(arrayComponents==null)
+               arrayComponents=CreateComponentsArray(nMessageId);
+       
+       if(arrayComponents!=null)
+       {
+               var oListener=new listener("",oWindow);
+               AddToArray(arrayComponents,oListener);
+               return true;
+       }
+       else
+               return false;
+}
+
+function UnRegisterListener2(oWindow,nMessageId)
+{
+       var arrayComponents=GetComponentsArray(nMessageId);
+       if(arrayComponents!=null)
+       {
+               for(var i=0;i<arrayComponents.length;i++)
+               {
+                       if(arrayComponents[i].oWindow==oWindow)
+                       {
+                               removeItemFromArray(arrayComponents,i);
+                               return true;
+                       }
+               }
+       }
+       else
+               return false;
+}
+
+function SendMessage(oMessage)
+{
+       var bDelivered=false;
+       var arrayComponents=GetComponentsArray(oMessage.nMessageId);
+       if(arrayComponents!=null&&arrayComponents.length>0){
+               for(var i=0;i<arrayComponents.length;i++)
+               {
+                       if(null!=arrayComponents[i])
+                       {
+                               var pFrame;
+                               if(arrayComponents[i].oWindow==null)
+                                       pFrame=getframehandle(frames,arrayComponents[i].sName);
+                               else
+                                       pFrame=arrayComponents[i].oWindow;
+                               if(null!=pFrame)
+                               {
+                                       if(pFrame.onSendMessageX)
+                                       {
+                                               bDelivered=true;
+                                               if(!pFrame.onSendMessageX(oMessage))
+                                                       break;
+                                       }
+                                       if(pFrame.onSendMessage)
+                                       {
+                                               bDelivered=true;
+                                               if(!pFrame.onSendMessage(oMessage))
+                                                       break;
+                                       }
+                               }
+                       }
+               }
+       }
+       return bDelivered;
 }
\ No newline at end of file
index 8408b339de7774b27508ca882ea2eb59a3311897..e94f97f2567879f6ddab108b1e581fb1ab57d59d 100755 (executable)
@@ -1,49 +1,49 @@
-<html>\r
-<head>\r
-<title>Table of contents</title>\r
-\r
-<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">\r
-<meta name="description" content="WebHelp 5.50">\r
-<base target="bsscright">\r
-</head>\r
-<script language="javascript" src="whver.js"></script>\r
-<script language="javascript1.2" src="whmozemu.js"></script>\r
-<script language="javascript1.2" src="whutils.js"></script>\r
-<script language="javascript1.2" src="whmsg.js"></script>\r
-<script language="javascript1.2" src="whproxy.js"></script>\r
-<script language="javascript1.2" src="whthost.js"></script>\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-if (window.gbWhTHost)\r
-{\r
-       \r
-       \r
-       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");\r
-       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");\r
-       setActiveBgColor("#cccccc");\r
-       setMargin("0pt");\r
-       setIndent("9pt");\r
-       setIcon("BookOpen","whd_toc2.gif");\r
-       setIcon("BookClose","whd_toc1.gif");\r
-       setIcon("Item","whd_toc3.gif");\r
-       setIcon("RemoteItem","whd_toc4.gif");\r
-       setIcon("NewBookOpen","whd_toc2.gif");\r
-       setIcon("NewBookClose","whd_toc1.gif");\r
-       setIcon("NewItem","whd_toc3.gif");\r
-       setIcon("NewRemoteItem","whd_toc4.gif");\r
-       TocWriteClassStyle();\r
-       TocWriteFixedWidth(true,400);\r
-}\r
-else\r
-       document.location.reload();\r
-//-->\r
-</script>\r
-<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white" scroll="auto">\r
-<script LANGUAGE="javascript1.2">\r
-<!--\r
-TocWriteFixedWidth(false,400);\r
-TocInitPage();\r
-//-->\r
-</script>\r
-</body>\r
-</html>
\ No newline at end of file
+<html>
+<head>
+<title>Table of contents</title>
+
+<meta name="generator" content="RoboHelp by eHelp Corporation   www.ehelp.com">
+<meta name="description" content="WebHelp 5.50">
+<base target="bsscright">
+</head>
+<script language="javascript" src="whver.js"></script>
+<script language="javascript1.2" src="whmozemu.js"></script>
+<script language="javascript1.2" src="whutils.js"></script>
+<script language="javascript1.2" src="whmsg.js"></script>
+<script language="javascript1.2" src="whproxy.js"></script>
+<script language="javascript1.2" src="whthost.js"></script>
+<script LANGUAGE="javascript1.2">
+<!--
+if (window.gbWhTHost)
+{
+       
+       
+       setFont("Normal", "Arial","9pt","#000000","normal","normal","none");
+       setFont("Hover", "Arial","9pt","#007f00","normal","normal","underline");
+       setActiveBgColor("#cccccc");
+       setMargin("0pt");
+       setIndent("9pt");
+       setIcon("BookOpen","whd_toc2.gif");
+       setIcon("BookClose","whd_toc1.gif");
+       setIcon("Item","whd_toc3.gif");
+       setIcon("RemoteItem","whd_toc4.gif");
+       setIcon("NewBookOpen","whd_toc2.gif");
+       setIcon("NewBookClose","whd_toc1.gif");
+       setIcon("NewItem","whd_toc3.gif");
+       setIcon("NewRemoteItem","whd_toc4.gif");
+       TocWriteClassStyle();
+       TocWriteFixedWidth(true,400);
+}
+else
+       document.location.reload();
+//-->
+</script>
+<body topmargin="2" leftmargin="2" marginwidth="0" marginheight="0" bgproperties="fixed" bgcolor="white" scroll="auto">
+<script LANGUAGE="javascript1.2">
+<!--
+TocWriteFixedWidth(false,400);
+TocInitPage();
+//-->
+</script>
+</body>
+</html>
index 54ddc9aacf72aa8b858677bb56a2074f645ae4e0..1a864bbcdbfb4f90ac62e5131af577905020b719 100755 (executable)
-//     WebHelp 5.10.007\r
-var gaHSLoad=new Array();\r
-var gnMinIdx=0;\r
-var gnInsIdx=-1;\r
-var gsLoadingDivID="LoadingDiv";\r
-var gsLoadingMsg="Loading, click here to cancel...";\r
-var gaProj=null;\r
-var gaTocs=new Array();\r
-var goChunk=null;\r
-var gbReady=false;\r
-var gbToc=false;\r
-var gbXML=false;\r
-var gaRoot=new Array();\r
-var gnCC=-1;\r
-var gsTP="";\r
-var gaBTPs="";\r
-var gsCTPath="";\r
-var gnLT=-1;\r
-var gsPathSplit="\n";\r
-var gsBgColor="#ffffff";\r
-var gsBgImage="";\r
-var goFont=null;\r
-var goHFont=null;\r
-\r
-var gsMargin="0pt";\r
-var gsIndent="15pt";\r
-var gsABgColor="#cccccc";\r
-\r
-var giBookClose="";\r
-var giBookOpen="";\r
-var giBookItem="";\r
-var giURLItem="";\r
-var giNewBookClose="";\r
-var giNewBookOpen="";\r
-var giNewBookItem="";\r
-var giNewURLItem="";\r
-var gnImages=0;\r
-var gnLoadedImages=0;\r
-var gaImgs=new Array();\r
-var gbLoadData=false;\r
-var gobj=null;\r
-var gaTocsNs61Fix=null;\r
-var gbWhTHost=false;\r
-var gBookItems=new Array();\r
-var gInSync=false;\r
-var gbLData=false;\r
-var gbNeedFillStub=false;\r
-var gbLoadToc=false;\r
-\r
-function chunkInfoQueue()\r
-{\r
-       this.aContent=new Array();\r
-       this.inQueue=function(cInfo)\r
-       {\r
-               this.aContent[this.aContent.length]=cInfo;\r
-       }\r
-       this.deQueue=function()\r
-       {\r
-               var cInfo=null;\r
-               if(this.aContent.length>0)\r
-               {\r
-                       cInfo=this.aContent[0];\r
-                       for(var i=1;i<this.aContent.length;i++)\r
-                               this.aContent[i-1]=this.aContent[i];\r
-                       this.aContent.length--;\r
-               }\r
-               return cInfo;\r
-       }\r
-       this.length=function()\r
-       {\r
-               return this.aContent.length;\r
-       }\r
-}\r
-\r
-var gchunkRequestQueue=new chunkInfoQueue();\r
-\r
-function chunkInfo(nIdx, bLocal)\r
-{\r
-       this.nIdx=nIdx;\r
-       this.bLocal=bLocal;\r
-}\r
-\r
-function setBackground(sBgImage)\r
-{\r
-       gsBgImage=sBgImage;\r
-}\r
-\r
-function setBackgroundcolor(sBgColor)\r
-{\r
-       gsBgColor=sBgColor;\r
-}\r
-\r
-function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       if(sType=="Normal") goFont=vFont;\r
-       else if(sType=="Hover") goHFont=vFont;\r
-}\r
-\r
-function setActiveBgColor(sBgColor){gsABgColor=sBgColor;}\r
-\r
-function setMargin(sMargin){gsMargin=sMargin;}\r
-\r
-function setIndent(sIndent){gsIndent=sIndent;}\r
-\r
-function setIcon(sType,sURL)\r
-{\r
-       if(sType=="BookOpen")\r
-               giBookOpen=sURL;\r
-       else if(sType=="BookClose")\r
-               giBookClose=sURL;\r
-       else if(sType=="Item")\r
-               giBookItem=sURL;\r
-       else if(sType=="RemoteItem")\r
-               giURLItem=sURL;\r
-       else if(sType=="NewBookClose")\r
-               giNewBookClose=sURL;\r
-       else if(sType=="NewBookOpen")\r
-               giNewBookOpen=sURL;\r
-       else if(sType=="NewItem")\r
-               giNewBookItem=sURL;\r
-       else if(sType=="NewRemoteItem")\r
-               giNewURLItem=sURL;              \r
-}\r
-\r
-function bookItem(sTarget,sURL)\r
-{\r
-       if(sTarget)\r
-               this.sTarget=sTarget;\r
-       else\r
-               this.sTarget="bsscright";\r
-       this.sURL=sURL;\r
-}\r
-\r
-function addBookItem(sBookId,sTarget,sURL)\r
-{\r
-       gBookItems[sBookId]=new bookItem(sTarget,sURL);         \r
-}\r
-\r
-function tocChunk(sPPath,sDPath)\r
-{\r
-       this.sPPath=sPPath;\r
-       this.sDPath=sDPath;\r
-       this.nMI=-1;\r
-       this.aTocs=null;\r
-}\r
-\r
-function addTocChunk(sPPath,sDPath)\r
-{\r
-       var oChunk=new tocChunk(sPPath,sDPath);\r
-       gaTocs[gaTocs.length]=oChunk;\r
-       return oChunk;\r
-}\r
-\r
-function isHSLoad(nIdx)\r
-{\r
-       for(var i=0;i<gaHSLoad.length;i++)\r
-               if(gaHSLoad[i]==nIdx)\r
-                       return true;\r
-       return false;\r
-}\r
-\r
-function setHSLoad(nIdx)\r
-{\r
-       if(!isHSLoad(nIdx))\r
-       {\r
-               var len=gaHSLoad.length;\r
-               for(var i=0;i<len;i++)\r
-                       if(gaHSLoad[i]==-1)\r
-                       {\r
-                               gaHSLoad[i]=nIdx;\r
-                               return;\r
-                       }\r
-               gaHSLoad[len]=nIdx;\r
-       }\r
-}\r
-\r
-function setHSUnLoad(nIdx)\r
-{\r
-       if(isHSLoad(nIdx))\r
-       {\r
-               for(var i=0;i<gaHSLoad.length;i++)\r
-                       if(gaHSLoad[i]==nIdx)\r
-                       {\r
-                               gaHSLoad[i]=-1;\r
-                               return;\r
-                       }\r
-       }\r
-}\r
-\r
-function removeLoadingDiv()\r
-{\r
-       var eLoadingDiv=getElement(gsLoadingDivID);\r
-       if(eLoadingDiv)\r
-               removeThis(eLoadingDiv);\r
-}\r
-\r
-function checkBookItem(nIdx)\r
-{\r
-       if(!gInSync)\r
-       {\r
-               var sBookId=getBookId(nIdx);\r
-               if(gBookItems[sBookId])\r
-               {\r
-                       window.open(gBookItems[sBookId].sURL,gBookItems[sBookId].sTarget);\r
-               }\r
-       }\r
-}\r
-\r
-function insertBookItems(nIdx,num)\r
-{\r
-       checkBookItem(nIdx);\r
-       var sChildBookId=getCBId(nIdx);\r
-       var eChildDiv=getElement(sChildBookId);\r
-       if(eChildDiv){\r
-               if((eChildDiv.childNodes&&eChildDiv.childNodes.length==0)||\r
-                       (eChildDiv.all&&eChildDiv.all.length==0)){\r
-                       var sHTML=writeBookItems(nIdx,num);\r
-                       eChildDiv.innerHTML=sHTML;\r
-                       setTimeout("syncInit()",1);\r
-               }\r
-       }\r
-       ExpandIt(nIdx);\r
-}\r
-\r
-function isBookEmpty(nIdx)\r
-{\r
-       var num=getItemContentsNum(nIdx);\r
-       if (num>0)\r
-       {\r
-               var nCIdx=0;\r
-               do {\r
-                       nCIdx++;\r
-                       var i=nIdx+nCIdx;\r
-                       var nItemType=getItemType(i);\r
-                       if(nItemType==1){\r
-                               if (!isBookEmpty(i))\r
-                                       return false;\r
-                       }\r
-                       else if(nItemType==4){\r
-                               var     sSrc=getRefURL(i);\r
-                               var nProj=getProject(sSrc);\r
-                               if(nProj!=-1){\r
-                                       sSrc=gaRoot[nProj].sToc;\r
-                                       if(sSrc)\r
-                                               return false;\r
-                               }\r
-                       }\r
-                       else if(nItemType==2||nItemType==16||nItemType==8)\r
-                               return false;\r
-               } while(nCIdx<num);\r
-       }\r
-       return true;\r
-}\r
-\r
-function writeBook(nIdx)\r
-{\r
-       var sIcon=getBookImage(nIdx,true);\r
-       var sName=_textToHtml(getItemName(nIdx));\r
-       sIcon=_textToHtml_nonbsp(sIcon);\r
-       \r
-       var nType=getItemType(nIdx);\r
-       var bLocal=(nType==1);\r
-       var bLocalProject=(nType!=4);\r
-       \r
-       var sHTML="<div id=\""+getPBId(nIdx)+"\" class=";\r
-       if(bLocal)\r
-       {\r
-               if (!isBookEmpty(nIdx))\r
-               {\r
-                       sHTML+="parent><p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\"";\r
-                       sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx);\r
-                       sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">";\r
-                       sHTML+="&nbsp;"+sName+"</a></nobr></p></div>";\r
-                       var sURL=_textToHtml_nonbsp(getItemURL(nIdx));\r
-                       if(sURL!="")\r
-                               addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL);\r
-                       sHTML+="<div id=\""+getCBId(nIdx)+"\" class=child></div>";\r
-               }\r
-               else\r
-                       sHTML="";\r
-       }\r
-       else\r
-       {\r
-               sHTML+="stub></div>";\r
-               gbNeedFillStub=true;\r
-               setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);\r
-       }\r
-       return sHTML;\r
-}\r
-\r
-function checkFillStub()\r
-{\r
-       if(!gbLData)\r
-       {\r
-               if(gchunkRequestQueue.length()>0)\r
-               {\r
-                       var cInfo=gchunkRequestQueue.deQueue();\r
-                       if(cInfo)\r
-                       {\r
-                               fillStub(cInfo.nIdx,cInfo.bLocal);\r
-                               return;\r
-                       }\r
-               }\r
-       }\r
-       if(gbNeedFillStub)\r
-       {\r
-               gbNeedFillStub=false;\r
-               setTimeout("syncInit()",1);\r
-       }\r
-}\r
-\r
-function fillStub(nIdx,bLocalProject)\r
-{\r
-       if(!gbLData)\r
-       {\r
-               gbLData=true;\r
-               var sObj=getElement(getPBId(nIdx));\r
-               if(sObj!=null)\r
-               {\r
-                       tocExpandHelpSet(nIdx,bLocalProject);\r
-                       gbNeedFillStub=false;\r
-                       setTimeout("syncInit()",1);\r
-               }\r
-               else\r
-                       setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);\r
-       }\r
-       else\r
-               gchunkRequestQueue.inQueue(new chunkInfo(nIdx,bLocalProject));\r
-}\r
-\r
-function getBookId(nIdx){return "B_"+nIdx;}\r
-\r
-function getItemId(nIdx){return "I_"+nIdx;}\r
-\r
-function markBook(nIdx)\r
-{\r
-       var obj=getElement(getItemId(nIdx));\r
-       if(obj==null)\r
-               obj=getElement(getBookId(nIdx));\r
-       if(gbNav6)\r
-       {\r
-               gobj=obj;\r
-               setTimeout("delayMarkObj();",1);\r
-       }\r
-       else\r
-               markObj(obj);\r
-}\r
-\r
-function delayMarkObj()\r
-{\r
-       if(gobj)\r
-       {\r
-               markObj(gobj);\r
-               gobj=null;\r
-       }\r
-}\r
-\r
-function markObj(obj)\r
-{\r
-       if(obj!=null)\r
-       {\r
-               HighLightElement(obj,gsABgColor,"transparent");\r
-               var sPath=calTocPath(obj);\r
-               if(gsCTPath!=sPath)\r
-                       gsCTPath=sPath;\r
-       }\r
-}\r
-\r
-function markItem(nIdx)\r
-{\r
-       var obj=getElement(getItemId(nIdx));\r
-       if(gbNav6)\r
-       {\r
-               gobj=obj;\r
-               setTimeout("delayMarkObj();",1);\r
-       }\r
-       else\r
-               markObj(getElement(getItemId(nIdx)));\r
-}\r
-\r
-function calTocPath(obj)\r
-{\r
-       var sPath=getInnerText2(obj);\r
-       var pObj=getParentNode(obj);\r
-       do\r
-       {\r
-               while(pObj!=null&&!isCBId(pObj.id)) pObj=getParentNode(pObj);\r
-               if(pObj!=null)\r
-               {\r
-                       var nId=getIdByCBId(pObj.id);\r
-                       var sObj=getElement(getPBId(nId));\r
-                       if(sObj!=null)\r
-                       {\r
-                               var objs=getItemsByBook(sObj);\r
-                               for(var i=0;i<objs.length;i++)\r
-                               {\r
-                                       var sText=getInnerText2(objs[i]);\r
-                                       if(sText.length!=0)\r
-                                       {\r
-                                               sPath=sText+gsPathSplit+sPath;\r
-                                               break;\r
-                                       }\r
-                               }\r
-                       }\r
-                       pObj=getParentNode(pObj);\r
-               }\r
-       }while(pObj!=null);\r
-       return sPath;\r
-}\r
-\r
-function writeAnItem(nIdx)\r
-{\r
-       var sTarget=_textToHtml_nonbsp(getTopicTarget(nIdx));\r
-       var sIcon=getItemIcon(nIdx,0);\r
-       if(sIcon=="")\r
-       {\r
-               var nItemType=getItemType(nIdx);\r
-               if(nItemType&2)\r
-                       sIcon=getItemImage(nIdx,false);\r
-               else\r
-                       sIcon=getItemImage(nIdx,true);\r
-       }\r
-       sIcon=_textToHtml_nonbsp(sIcon);\r
-       var sName=_textToHtml(getItemName(nIdx));\r
-       var sHTML="<p><nobr><a id=\""+getItemId(nIdx)+"\" onfocus=\"markItem("+nIdx+");\""\r
-       var sAltString="";\r
-       if(nItemType&2)\r
-               sAltString="Page";\r
-       else\r
-               sAltString="Remote Page";\r
-       if(sTarget!="")\r
-               sHTML+="target=\""+sTarget+"\" ";\r
-       sHTML+="href=\""+_textToHtml_nonbsp(getItemURL(nIdx))+"\" title=\""+sName+"\"><img alt=\""+sAltString+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">&nbsp;"+sName+"</a></nobr></p>";\r
-       return sHTML;\r
-}\r
-\r
-function writeBookItems(nIdx,num)\r
-{\r
-       var sHTML="";\r
-       if(num>0){\r
-               var nCIdx=0;\r
-               do{\r
-                       nCIdx++;\r
-                       var i=nIdx+nCIdx;\r
-                       var nItemType=getItemType(i);\r
-                       if(nItemType==1||nItemType==4||nItemType==8){\r
-                               sHTML+=writeBook(i);    \r
-                               nCIdx+=getItemContentsNum(i);           \r
-                       }\r
-                       else if(nItemType==2||nItemType==16){\r
-                               sHTML+=writeAnItem(i);\r
-                       }\r
-               }\r
-               while(nCIdx<num);\r
-       }\r
-       return sHTML;\r
-}\r
-\r
-function tocExpandHelpSet(nIdx,bLocal)\r
-{\r
-       checkBookItem(nIdx);\r
-       removeLoadingDiv();\r
-       if(!isHSLoad(nIdx))\r
-       {\r
-               setHSLoad(nIdx);\r
-               var sSrc="";\r
-               if(bLocal){\r
-                       var oChunk=getChunk(nIdx);\r
-                       if(oChunk)\r
-                       {\r
-                               goChunk=addTocChunk(oChunk.sPPath,oChunk.sDPath);\r
-                               sSrc=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;\r
-                       }\r
-               }\r
-               else{\r
-                       sSrc=getRefURL(nIdx);\r
-                       var nProj=getProject(sSrc);\r
-                       if(nProj!=-1)\r
-                       {\r
-                               sSrc=gaRoot[nProj].sToc;\r
-                               if(sSrc)\r
-                                       goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath);\r
-                               else\r
-                                       goChunk=null;\r
-                       }\r
-                       else\r
-                               goChunk=null;\r
-               }\r
-               if(goChunk)\r
-               {\r
-                       PrepareLoading(nIdx);\r
-                       gbToc=false;\r
-                       loadData2(goChunk.sPPath+goChunk.sDPath+sSrc);\r
-               }\r
-               else\r
-               {\r
-                       gbLData=false;\r
-                       checkFillStub();\r
-               }\r
-       }\r
-}\r
-\r
-function getProject(sSrc)\r
-{\r
-       for(var i=0;i<gaProj.length;i++)\r
-               if(isSamePath(getPath(sSrc),gaProj[i].sPPath))\r
-                       return i;\r
-       return -1;\r
-}\r
-\r
-function getPath(sPath)\r
-{\r
-       if(sPath!="")\r
-       {\r
-               sPath=_replaceSlash(sPath);\r
-               var nPosFile=sPath.lastIndexOf("/");\r
-               sPath=sPath.substring(0,nPosFile+1);\r
-       }\r
-       return sPath;\r
-}\r
-\r
-function isSamePath(sPath1,sPath2)\r
-{\r
-       return (sPath1.toLowerCase()==sPath2.toLowerCase());\r
-}\r
-\r
-function PrepareLoading(nIdx)\r
-{\r
-       gnInsIdx=nIdx;\r
-       if(!gsTP)\r
-       {\r
-               var oObj=getElement(getPBId(gnInsIdx));\r
-               if(oObj)\r
-                       oObj.insertAdjacentHTML("afterEnd",writeLoadingDiv(nIdx));\r
-       }\r
-}\r
-\r
-function writeLoadingDiv(nIdx)\r
-{\r
-       return"<div id=\""+gsLoadingDivID+"\" class=parent onclick=\"removeLoadingDiv();\" style=\"padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";\r
-}\r
-\r
-function getItemName(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-               return oChunk.aTocs[nIdx-oChunk.nMI].sItemName;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getItemContentsNum(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-               return oChunk.aTocs[nIdx-oChunk.nMI].nContents;\r
-       else\r
-               return null;\r
-}\r
-\r
-function getItemType(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-               return oChunk.aTocs[nIdx-oChunk.nMI].nType;\r
-       else\r
-               return 0;\r
-}\r
-\r
-function getItemURL(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-       {\r
-               var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sItemURL;\r
-               if(!(sPath==null||sPath==""))\r
-               {\r
-                       return _getFullPath(oChunk.sPPath,sPath);\r
-               }\r
-       }\r
-       return "";\r
-}\r
-\r
-function getRefURL(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-       {\r
-               var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;\r
-               if(!(sPath==null||sPath==""))\r
-               {\r
-                       return _getFullPath(oChunk.sPPath,sPath)\r
-               }\r
-       }\r
-       return "";\r
-}\r
-\r
-function getTopicTarget(nIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-       {\r
-               if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sTarget)!="undefined")\r
-                       return oChunk.aTocs[nIdx-oChunk.nMI].sTarget;\r
-       }\r
-       return "";\r
-}\r
-\r
-function getItemIcon(nIdx,nIconIdx)\r
-{\r
-       var oChunk=getChunk(nIdx);\r
-       if(oChunk)\r
-       {\r
-               if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sIconRef)!="undefined")\r
-               {\r
-                       var sIconRef=oChunk.aTocs[nIdx-oChunk.nMI].sIconRef;\r
-                       var nIndex=sIconRef.indexOf(";");\r
-                       while(nIconIdx-->0&&nIndex!=-1)\r
-                       {\r
-                               sIconRef=sIconRef.substring(nIndex+1);\r
-                               nIndex=sIconRef.indexOf(";");\r
-                       }\r
-                       if(nIconIdx<0)\r
-                       {\r
-                               if(nIndex!=-1)\r
-                                       sIconRef=sIconRef.substring(0,nIndex);\r
-                               return _getFullPath(oChunk.sPPath,sIconRef)\r
-                       }\r
-               }\r
-       }\r
-       return "";\r
-}\r
-\r
-function TocWriteClassStyle()\r
-{\r
-       var sStyle="<STYLE TYPE='text/css'>\n";\r
-       if(gsBgImage)\r
-               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
-       else\r
-               sStyle+="body {border-top:black 1px solid;}\n";\r
-       sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
-       sStyle+="DIV {margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";\r
-       sStyle+=".parent {margin-left:0pt;}\n";\r
-       sStyle+=".stub {margin-left:0pt;display:none}\n";\r
-       sStyle+=".child {display:none;margin-left:"+gsIndent+";}\n";\r
-       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
-       sStyle+="A:active {background-color:"+gsABgColor+";}\n";\r
-       sStyle +="A:hover {"+getFontStyle(goHFont)+"}\n";\r
-       sStyle+="</STYLE>";\r
-       document.write(sStyle);\r
-}\r
-\r
-function TocWriteFixedWidth(bBegin,nWidth)\r
-{\r
-       if((gbIE4)&&(gbMac)&&(!gbIE5)){\r
-               if(bBegin)\r
-                       document.write("<table width="+nWidth+" border=0><tr><td>");\r
-               else\r
-                       document.write("</td></tr></table>");\r
-       }\r
-}\r
-\r
-function TocInitPage()\r
-{\r
-       var tempColl=getItemsByBook(document.body);\r
-       if(tempColl.length>0)\r
-               tempColl[0].focus();\r
-}\r
-\r
-function getItemsFromObj(obj)\r
-{\r
-       var aAnchor=new Array();\r
-       var tempColl=getChildrenByTag(obj,"P");\r
-       if(tempColl&&tempColl.length>0)\r
-       {\r
-               var anobr=new Array();\r
-               for(var i=0;i<tempColl.length;i++)\r
-               {\r
-                       var tempNobr=getChildrenByTag(tempColl[i],"NOBR");\r
-                       if(tempNobr&&tempNobr.length>0)\r
-                               for(var j=0;j<tempNobr.length;j++)\r
-                                       anobr[anobr.length]=tempNobr[j];\r
-               }\r
-               for(var s=0;s<anobr.length;s++)\r
-               {\r
-                       var tempAnchor=getChildrenByTag(anobr[s],"A");\r
-                       if(tempAnchor&&tempAnchor.length>0)\r
-                               for(var u=0;u<tempAnchor.length;u++)\r
-                                       aAnchor[aAnchor.length]=tempAnchor[u];\r
-               }\r
-       }\r
-       return aAnchor;\r
-}\r
-\r
-function getItemsByBook(obj)\r
-{\r
-       var aAnchor=new Array();\r
-       var aTAnchor=getItemsFromObj(obj);\r
-       for(var i=0;i<aTAnchor.length;i++)\r
-               aAnchor[aAnchor.length]=aTAnchor[i];\r
-       var tempBook=getChildrenByTag(obj,"DIV");\r
-       if(tempBook&&tempBook.length>0)\r
-               for(var j=0;j<tempBook.length;j++)\r
-               {\r
-                       var aTAnchorDiv=getItemsFromObj(tempBook[j]);\r
-                       for(var s=0;s<aTAnchorDiv.length;s++)\r
-                               aAnchor[aAnchor.length]=aTAnchorDiv[s];\r
-               }\r
-       return aAnchor;\r
-}\r
-\r
-function ExpandIt(nId)\r
-{\r
-       if(!gsTP)\r
-               ExpandIt2(nId,false);\r
-}\r
-\r
-function ExpandIt2(nId,bForceOpen)\r
-{\r
-       var oC=TocExpand(nId,true,bForceOpen);\r
-       var nNewScroll=document.body.scrollTop;\r
-       if(oC.style.display=="block"){\r
-               var nTop=oC.offsetTop;\r
-               var nBottom=nTop+oC.offsetHeight;\r
-               if(document.body.scrollTop+document.body.clientHeight<nBottom){\r
-                       nNewScroll=nBottom-document.body.clientHeight;\r
-               }\r
-               if(nBottom-nTop>document.body.clientHeight){\r
-                       nNewScroll=nTop-20;\r
-               }\r
-       }\r
-       document.body.scrollTop=nNewScroll;\r
-}\r
-\r
-function TocExpand(nId,bChangeImg,bForceOpen)\r
-{\r
-       var oDiv=getElement(getCBId(nId));\r
-       if(oDiv==null) return null;\r
-\r
-       var whichIm=document.images[getBId(nId)];\r
-       if((oDiv.style.display!="block")||bForceOpen){\r
-               oDiv.style.display="block";\r
-               if(bChangeImg){\r
-                       var sPath=getPath(whichIm.src);\r
-                       sPath=_getFullPath(sPath,getBookImage(nId,false));\r
-                       whichIm.src=sPath;              \r
-               }\r
-       }else{\r
-               oDiv.style.display="none";\r
-               if(bChangeImg){\r
-                       var sPath=getPath(whichIm.src);\r
-                       sPath=_getFullPath(sPath,getBookImage(nId,true));\r
-                       whichIm.src=sPath;\r
-               }\r
-               if(gbMac&&gbIE5){\r
-                       this.parent.document.getElementById("tocIFrame").style.width="101%";\r
-                       this.parent.document.getElementById("tocIFrame").style.width="100%";\r
-               }\r
-       }\r
-       return oDiv;\r
-}\r
-\r
-function getChunkId(n)\r
-{\r
-       var nCan=-1;\r
-       for(var i=0;i<gaTocs.length;i++)\r
-               if(gaTocs[i].nMI<=n&&gaTocs[i].nMI!=-1)\r
-               {\r
-                       if(nCan==-1)\r
-                               nCan=i;\r
-                       else\r
-                               if(gaTocs[i].nMI>=gaTocs[nCan].nMI)\r
-                                       nCan=i;\r
-               }\r
-       if(nCan!=-1)\r
-               return nCan;\r
-       else\r
-               return -1;\r
-}\r
-\r
-function getChunk(n)\r
-{\r
-       if(gnCC!=-1&&gaTocs[gnCC].nMI<=n&&(gnCC==gaTocs.length-1||\r
-               gaTocs[gnCC+1].nMI>n))\r
-       {       \r
-               return gaTocs[gnCC];\r
-       }\r
-       else{\r
-               gnCC=getChunkId(n);\r
-               if(gnCC!=-1)\r
-                       return gaTocs[gnCC];\r
-               else\r
-                       return null;\r
-       }\r
-}\r
-\r
-function getBookImage(nIdx,bClosed)\r
-{\r
-       var nIdx=bClosed?0:1;\r
-       var sIcon=getItemIcon(nIdx,nIdx);\r
-       if(sIcon=="")\r
-               if(bClosed)\r
-                       sIcon=giBookClose;\r
-               else\r
-                       sIcon=giBookOpen;\r
-       return _getFullPath(gaProj[0].sPPath,sIcon);\r
-}\r
-\r
-function getItemImage(nIdx,bRemote)\r
-{\r
-       var sIcon=getItemIcon(nIdx,0);\r
-       if(sIcon=="")\r
-               if(bRemote)\r
-                       sIcon=giURLItem;\r
-               else\r
-                       sIcon=giBookItem;\r
-       return _getFullPath(gaProj[0].sPPath,sIcon);\r
-}\r
-\r
-function getInnerText2(obj)\r
-{\r
-       var sText=getInnerText(obj);\r
-       if(sText.length>0&&!gbOpera7)\r
-               sText=sText.substring(1);\r
-       return sText;\r
-}\r
-\r
-function expandToc(oObj,sRest,aIdList)\r
-{\r
-       var len=aIdList.length;\r
-       var nPos=sRest.indexOf(gsPathSplit);\r
-       if(nPos!=-1)\r
-       {\r
-               sPart=sRest.substring(0,nPos);\r
-               sRest=sRest.substring(nPos+1);\r
-       }\r
-       else\r
-       {\r
-               sPart=sRest;\r
-               var aTagAs=getItemsByBook(oObj);\r
-               for(var s=0;s<aTagAs.length;s++)\r
-               {\r
-                       var sText=getInnerText2(aTagAs[s]);\r
-                       if(sText==sPart)\r
-                       {\r
-                               aIdList[len]=aTagAs[s];\r
-                               return 1;\r
-                       }\r
-               }\r
-               return 0;\r
-       }\r
-               \r
-       var aChildren=getChildrenByTag(oObj,"DIV");\r
-       for(var i=0;i<aChildren.length;i++)\r
-       {\r
-               var sPId=aChildren[i].id;\r
-               if(!isPBId(sPId))\r
-                       continue;\r
-               var sText=getInnerText2(aChildren[i]);\r
-               if(sText!=sPart)\r
-                       continue;\r
-               aIdList[len]=getIdByPBId(sPId);\r
-               var sCId=getCBId(aIdList[len]);\r
-               var oCObj=getElement(sCId);\r
-               if(oCObj)\r
-               {\r
-                       if(oCObj.innerHTML=="")\r
-                       {\r
-                               var obj=getItemsByBook(aChildren[i]);\r
-                               if(obj.length>0)\r
-                               {\r
-                                       if(gbNav6)\r
-                                       {\r
-                                               var sCommand=obj[0].getAttribute("onClick");\r
-                                               var nCommand=sCommand.indexOf(";");\r
-                                               sCommand=sCommand.substring(0,nCommand);\r
-                                               setTimeout(sCommand,1);\r
-                                       }\r
-                                       else\r
-                                               obj[0].click();\r
-                               }\r
-                               return -1;\r
-                       }\r
-                       var nRet=expandToc(oCObj,sRest,aIdList);\r
-                       if(nRet)\r
-                               return nRet;\r
-               }\r
-       }\r
-       aIdList.length=len;\r
-       return 0;\r
-}\r
-\r
-function getIdByPBId(sPId)\r
-{\r
-       return parseInt(sPId.substring(2,sPId.length-1));\r
-}\r
-\r
-function getIdByCBId(sCId)\r
-{\r
-       return parseInt(sCId.substring(2,sCId.length-1));\r
-}\r
-\r
-function isPBId(sId)\r
-{\r
-       return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("P")==sId.length-1);\r
-}\r
-\r
-function isCBId(sId)\r
-{\r
-       return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("C")==sId.length-1);\r
-}\r
-\r
-function getBId(nIdx)\r
-{\r
-       return "B_"+nIdx;\r
-}\r
-\r
-function getPBId(nIdx)\r
-{\r
-       return getBId(nIdx)+"P";\r
-}\r
-\r
-function getCBId(nIdx)\r
-{\r
-       return getBId(nIdx)+"C";\r
-}\r
-\r
-function getClosestTocPath(aPaths)\r
-{\r
-       var nMaxSimilarity=0;\r
-       var nThatIndex=-1;\r
-       var sPath=null;\r
-       if(aPaths.length==0) return sPath;\r
-       for(var i=0;i<aPaths.length;i++)\r
-       {\r
-               var nSimilarity=comparePath(gsCTPath,aPaths[i]);\r
-               if(nSimilarity>nMaxSimilarity)\r
-               {\r
-                       nMaxSimilarity=nSimilarity;\r
-                       nThatIndex=i;\r
-               }\r
-       }\r
-       if(nThatIndex!=-1)\r
-               sPath=aPaths[nThatIndex];\r
-       else\r
-               sPath=aPaths[0];\r
-       return sPath;\r
-}\r
-\r
-function comparePath(sPath1,sPath2)\r
-{\r
-       var nMaxSimilarity=0;\r
-       var nStartPos1=0;\r
-       var nPos1=-1;\r
-       var nStartPos2=0;\r
-       var nPos2=-1;\r
-       do{\r
-               var sCheck1=null;\r
-               var sCheck2=null;\r
-               nPos1=sPath1.indexOf(gsPathSplit,nStartPos1);\r
-               if(nPos1!=-1)\r
-               {\r
-                       sCheck1=sPath1.substring(nStartPos1,nPos1);\r
-                       nStartPos1=nPos1+1;\r
-               }\r
-               else\r
-               {\r
-                       sCheck1=sPath1.substring(nStartPos1);\r
-                       nStartPos1=-1;\r
-               }\r
-               nPos2=sPath2.indexOf(gsPathSplit,nStartPos2);\r
-               if(nPos1!=-1)\r
-               {\r
-                       sCheck2=sPath2.substring(nStartPos2,nPos2);\r
-                       nStartPos2=nPos2+1;\r
-               }\r
-               else\r
-               {\r
-                       sCheck2=sPath2.substring(nStartPos2);\r
-                       nStartPos2=-1;\r
-               }\r
-               if(sCheck1==sCheck2)\r
-                       nMaxSimilarity++;\r
-               else\r
-                       break;\r
-       }while(nStartPos1!=-1&&nStartPos2!=-1);\r
-       return nMaxSimilarity;\r
-}\r
-\r
-function getTocPaths(oTopicParam)\r
-{\r
-       var aRelTocPaths=oTopicParam.aPaths;\r
-       var aPaths=new Array();\r
-       for(var i=0;i<gaProj.length;i++)\r
-               if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath))\r
-               {\r
-                       for(var j=0;j<aRelTocPaths.length;j++)\r
-                               for (var k=0;k<gaRoot[i].aRPath.length;k++)\r
-                               {\r
-                                       var sPath=gaRoot[i].aRPath[k]+aRelTocPaths[j];\r
-                                       aPaths[aPaths.length]=sPath.substring(1);\r
-                               }\r
-                       break;\r
-               }\r
-       return aPaths;\r
-}\r
-\r
-function syncInit()\r
-{\r
-       if(gsTP&&!gbNeedFillStub)\r
-       {\r
-               gInSync=true;\r
-               var obj=document.body;\r
-               var aIdList=new Array();\r
-               var nRet=expandToc(obj,gsTP,aIdList);\r
-               if(nRet!=-1)\r
-               {\r
-                       if(nRet==1)\r
-                       {\r
-                               if(aIdList.length)\r
-                                       for(var i=0;i<aIdList.length-1;i++)\r
-                                               ExpandIt2(aIdList[i],true);\r
-                               gsCTPath=gsTP;\r
-                               if(!gbIE55)\r
-                                       aIdList[aIdList.length-1].focus();\r
-                               else\r
-                                       HighLightElement(aIdList[aIdList.length-1],gsABgColor,"transparent");\r
-                       }\r
-                       var aPaths=gaBTPs;\r
-                       gsTP=null;\r
-                       gaBTPs=null;\r
-                       if(aPaths!=null)\r
-                       {\r
-                               var sPath=getClosestTocPath(aPaths);\r
-                               if(sPath!=null)\r
-                               {       \r
-                                       gsTP=sPath;             \r
-                                       setTimeout("syncInit()",1);\r
-                               }\r
-                       }\r
-               }\r
-               gInSync=false;\r
-       }\r
-}\r
-\r
-function loadToc()\r
-{\r
-       if(!gbLoadToc)\r
-       {\r
-               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
-               if(SendMessage(oResMsg)&&oResMsg.oParam)\r
-               {\r
-                       gbLoadToc=true;\r
-                       var oProj=oResMsg.oParam;\r
-                       gaProj=oProj.aProj;\r
-                       gbXML=oProj.bXML;\r
-                       load1B1();\r
-               }\r
-       }\r
-}\r
-\r
-function load1B1()\r
-{\r
-       if(gnLT+1<gaProj.length)\r
-               for(var i=gnLT+1;i<gaProj.length;i++)\r
-                       if(gaProj[i].sToc)\r
-                       {\r
-                               gbToc=true;\r
-                               gnLT=i;\r
-                               setTimeout("loadTocInfo()",1);\r
-                               return true;\r
-                       }\r
-       return false;\r
-}\r
-\r
-function loadTocInfo()\r
-{\r
-       loadData2(gaProj[gnLT].sPPath+gaProj[gnLT].sDPath+gaProj[gnLT].sToc);\r
-}\r
-\r
-function loadData2(sFile)\r
-{\r
-       if(gbXML)\r
-               loadDataXML(sFile);\r
-       else\r
-               loadData(sFile);\r
-}\r
-\r
-function projReady(sRoot,aProj)\r
-{\r
-       if(gaRoot.length<=gnLT||!gaRoot[gnLT])\r
-               gaRoot[gnLT]=new Object();\r
-       gaRoot[gnLT].sToc=sRoot;\r
-       \r
-       if(gnLT==0)\r
-       {\r
-               gaRoot[gnLT].aRPath=new Array();\r
-               gaRoot[gnLT].aRPath[0]=gsPathSplit;\r
-       }\r
-\r
-       updatePTPath(gnLT,aProj);\r
-\r
-       if(!((gnLT+1<gaProj.length)&&load1B1()))\r
-       {\r
-               gbReady=true;\r
-               if(gbIE4)\r
-                       setTimeout("loadImages();",1);\r
-               else\r
-                       setTimeout("loadTData();",1);\r
-       }\r
-}\r
-\r
-function loadTData()\r
-{\r
-       if(gaProj[0].sToc!="")\r
-       {\r
-               gbLData=true;\r
-               goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath);\r
-               gbToc=false;\r
-               loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc);\r
-       }\r
-}\r
-\r
-function updatePTPath(n,aProj)\r
-{\r
-       if(aProj)\r
-               for(var i=0;i<aProj.length;i++)\r
-               {\r
-                       var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath);\r
-                       for(var j=0;j<gaProj.length;j++)\r
-                               if(isSamePath(sFullPath,gaProj[j].sPPath))\r
-                               {\r
-                                       if(gaRoot.length<=j||!gaRoot[j])\r
-                                               gaRoot[j]=new Object();\r
-                                       if(!gaRoot[j].aRPath)\r
-                                               gaRoot[j].aRPath=new Array();\r
-\r
-                                       if(gaRoot[n].aRPath)\r
-                                               for(var k=0;k<gaRoot[n].aRPath.length;k++)\r
-                                               {\r
-                                                       var bDup=false;\r
-                                                       var sTFPath=gaRoot[n].aRPath[k]+aProj[i].sRPath;\r
-                                                       for(var l=0;l<gaRoot[j].aRPath.length;l++)\r
-                                                               if(gaRoot[j].aRPath[l]==sTFPath)\r
-                                                               {\r
-                                                                       bDup=true;\r
-                                                                       break;\r
-                                                               }\r
-                                                       if(!bDup)\r
-                                                               gaRoot[j].aRPath[gaRoot[j].aRPath.length]=sTFPath;\r
-                                               }\r
-                                       else\r
-                                               gaRoot[j].aRPath[gaRoot[j].aRPath.length]=aProj[i].sRPath;\r
-                                       break;\r
-                               }\r
-               }\r
-}\r
-\r
-function onLoadXMLError()\r
-{\r
-       if(gbToc)\r
-       {\r
-               var sRoot="";\r
-               var aRProj=new Array();\r
-               projReady(sRoot,aRProj);\r
-       }\r
-       else\r
-       {\r
-               var aToc=new Array();\r
-               putData(aToc)\r
-       }\r
-}\r
-\r
-function putDataXML(xmlDoc,sDocPath)\r
-{\r
-       if(gbToc)\r
-       {\r
-               var tocNode=xmlDoc.getElementsByTagName("toc")[0];\r
-               if(tocNode)\r
-               {\r
-                       var sRoot=tocNode.getAttribute("root");\r
-                       var rmtProject=tocNode.getElementsByTagName("project");\r
-                       var aRProj=new Array();\r
-                       if(rmtProject.length>0)\r
-                       {\r
-                               for(var i=0;i<rmtProject.length;i++)\r
-                               {\r
-                                       aRProj[i]=new Object();\r
-                                       var sURL=rmtProject[i].getAttribute("url");\r
-                                       if(sURL)\r
-                                       {\r
-                                               if(sURL.lastIndexOf("/")!=sURL.length-1)\r
-                                                       sURL+="/";                                              \r
-                                       }\r
-                                       aRProj[i].sPPath=sURL;\r
-                                       aRProj[i].sRPath = "";\r
-                                       var oSubPath = rmtProject[i].getElementsByTagName("subpath")[0];\r
-                                       if (oSubPath)\r
-                                       {\r
-                                               while (oSubPath)\r
-                                               {\r
-                                                       aRProj[i].sRPath += oSubPath.getAttribute("name") + "\n";\r
-                                                       oSubPath = oSubPath.getElementsByTagName("subpath")[0];\r
-                                               }\r
-                                       }\r
-                                       else\r
-                                               aRProj[i].sRPath=rmtProject[i].getAttribute("path");\r
-                               }\r
-                       }\r
-                       projReady(sRoot,aRProj);\r
-               }\r
-       }\r
-       else\r
-       {\r
-               var chunkNode=xmlDoc.getElementsByTagName("tocdata")[0];\r
-               if(chunkNode)\r
-               {\r
-                       var aToc=new Array();\r
-                       processBook(chunkNode,aToc);\r
-                       putData(aToc);\r
-               }\r
-       }\r
-}\r
-\r
-function processBook(node,aToc)\r
-{\r
-       var i=0;\r
-       var entry=null;\r
-       var prevEntry=null;\r
-       var oChild=node.firstChild;\r
-       do{\r
-               if(oChild)\r
-               {\r
-                       if(oChild.nodeName.indexOf("#")!=0)\r
-                       {\r
-                               var sName=oChild.getAttribute("name");\r
-                               var sURL=oChild.getAttribute("url");\r
-                               var sRef=oChild.getAttribute("ref");\r
-                               var sTarget=oChild.getAttribute("target");\r
-                               var sIcons=oChild.getAttribute("images");\r
-                               var item=new Object();\r
-                               item.sItemName=sName;\r
-                               if(sTarget)\r
-                                       item.sTarget=sTarget;\r
-                               if(sIcons)\r
-                                       item.sIconRef=sIcons;\r
-                               if(sURL==null) sURL="";\r
-\r
-                               item.sItemURL=sURL;\r
-                               \r
-                               if(oChild.nodeName=="book")\r
-                               {\r
-                                       item.nType=1;\r
-                                       aToc[aToc.length]=item;\r
-                                       var nCurrPos=aToc.length;\r
-                                       processBook(oChild,aToc);\r
-                                       item.nContents=aToc.length-nCurrPos;\r
-                               }\r
-                               else if(oChild.nodeName=="item")\r
-                               {\r
-                                       item.nType=2;\r
-                                       item.nContents=0;\r
-                                       aToc[aToc.length]=item;\r
-                               }\r
-                               else if(oChild.nodeName=="remoteitem")\r
-                               {\r
-                                       item.nType=16;\r
-                                       item.nContents=0;\r
-                                       aToc[aToc.length]=item;\r
-                               }\r
-                               else if(oChild.nodeName=="project")\r
-                               {\r
-                                       if(sRef)\r
-                                       {\r
-                                               if(sRef.lastIndexOf("/")!=sRef.length-1)\r
-                                                       sRef+="/";                                              \r
-                                       }\r
-                                       item.nType=4;\r
-                                       item.sRefURL=sRef;\r
-                                       item.nContents=0;\r
-                                       aToc[aToc.length]=item;\r
-                               }\r
-                               else if(oChild.nodeName=="chunk")\r
-                               {\r
-                                       item.nType=8;\r
-                                       item.sRefURL=sRef;\r
-                                       item.nContents=0;\r
-                                       aToc[aToc.length]=item;\r
-                               }\r
-                       }\r
-               }\r
-               else\r
-                       break;\r
-               oChild=oChild.nextSibling;\r
-       }while(true);\r
-}\r
-\r
-function putData(aTocs)\r
-{\r
-       gaTocsNs61Fix=aTocs;\r
-       setTimeout("realPutData();",1);\r
-}\r
-\r
-function realPutData()\r
-{\r
-       removeLoadingDiv();\r
-       var aTocs=gaTocsNs61Fix;\r
-       if(!aTocs) return;\r
-       if(goChunk)\r
-       {\r
-               var n=gnMinIdx;\r
-               goChunk.nMI=gnMinIdx;\r
-               goChunk.aTocs=aTocs;\r
-               gnMinIdx+=aTocs.length;\r
-               if(gnInsIdx!=-1)\r
-               {\r
-                       var oObj=getElement(getPBId(gnInsIdx));\r
-                       if(oObj)\r
-                       {\r
-                               oObj.insertAdjacentHTML("afterEnd",writeBookItems(n-1,aTocs.length));\r
-                               setTimeout("syncInit()",1);\r
-                       }\r
-               }\r
-               else{\r
-                       document.body.insertAdjacentHTML("beforeEnd",writeBookItems(n-1,aTocs.length));\r
-                       var oParam=new Object();\r
-                       oParam.oTocInfo=null;\r
-                       var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);\r
-                       if(SendMessage(oMsg))\r
-                       {\r
-                               if(oMsg.oParam.oTocInfo)\r
-                                       syncWithPaths(oMsg.oParam.oTocInfo);\r
-                       }\r
-               }       \r
-       }\r
-       gbLData=false;\r
-       checkFillStub();\r
-}\r
-\r
-function syncWithPaths(oTopicParam)\r
-{\r
-       var aPaths=getTocPaths(oTopicParam);\r
-       if(gsTP)\r
-               gaBTPs=aPaths;\r
-       else{\r
-               var sPath=getClosestTocPath(aPaths);\r
-               if(sPath!=null)\r
-               {\r
-                       gsTP=sPath;\r
-                       setTimeout("syncInit()",1);\r
-               }\r
-       }\r
-}\r
-\r
-function window_OnLoad()\r
-{\r
-       if(gsBgImage&&gsBgImage.length>0)\r
-       {\r
-               document.body.background=gsBgImage;\r
-       }\r
-       if(gsBgColor&&gsBgColor.length>0)\r
-       {\r
-               document.body.bgColor=gsBgColor;\r
-       }\r
-       loadToc();\r
-       var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function loadImages()\r
-{\r
-       if(giBookClose)\r
-       {\r
-               gaImgs[gnImages]=giBookClose;\r
-               gnImages++;\r
-       }               \r
-       if(giBookOpen)\r
-       {\r
-               gaImgs[gnImages]=giBookOpen;\r
-               gnImages++;\r
-       }               \r
-       if(giBookItem)\r
-       {\r
-               gaImgs[gnImages]=giBookItem;\r
-               gnImages++;\r
-       }               \r
-       if(giURLItem)\r
-       {\r
-               gaImgs[gnImages]=giURLItem;\r
-               gnImages++;\r
-       }               \r
-       if(giNewBookClose)\r
-       {\r
-               gaImgs[gnImages]=giNewBookClose;\r
-               gnImages++;\r
-       }               \r
-       if(giNewBookOpen)\r
-       {\r
-               gaImgs[gnImages]=giNewBookOpen;\r
-               gnImages++;\r
-       }               \r
-       if(giNewBookItem)\r
-       {\r
-               gaImgs[gnImages]=giNewBookItem;\r
-               gnImages++;\r
-       }               \r
-       if(giNewURLItem)\r
-       {\r
-               gaImgs[gnImages]=giNewURLItem;\r
-               gnImages++;\r
-       }\r
-       if(gnImages>0)\r
-       {\r
-               setTimeout("loadDataAfter();",1000);\r
-               loadImage(gaImgs[0]);\r
-       }\r
-       else\r
-               loadDataAfter();\r
-}\r
-\r
-function loadImage(sURL)\r
-{\r
-       var oImg=new Image();\r
-       oImg.onload=checkImageLoading;\r
-       oImg.onerror=errorImageLoading;\r
-       oImg.src=_getFullPath(gaProj[0].sPPath,sURL);\r
-}\r
-\r
-function loadDataAfter()\r
-{\r
-       if(!gbLoadData)\r
-       {\r
-               gbLoadData=true;\r
-               loadTData();\r
-       }\r
-}\r
-\r
-function errorImageLoading()\r
-{\r
-       gnLoadedImages++;\r
-       if(gnImages==gnLoadedImages)\r
-               loadDataAfter();\r
-       else\r
-               loadImage(gaImgs[gnLoadedImages]);      \r
-}\r
-\r
-function checkImageLoading()\r
-{\r
-       gnLoadedImages++;\r
-       if(gnImages==gnLoadedImages)\r
-               loadDataAfter();\r
-       else\r
-               loadImage(gaImgs[gnLoadedImages]);      \r
-}\r
-\r
-function window_unload()\r
-{\r
-       UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       UnRegisterListener2(this,WH_MSG_SYNCTOC);\r
-       UnRegisterListener2(this,WH_MSG_SHOWTOC);\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       if(oMsg)\r
-       {\r
-               var nMsgId=oMsg.nMessageId;\r
-               if(nMsgId==WH_MSG_PROJECTREADY)\r
-               {\r
-                       loadToc();\r
-               }\r
-               else if(nMsgId==WH_MSG_SYNCTOC)\r
-               {\r
-                       if(gbReady)\r
-                       {\r
-                               syncWithPaths(oMsg.oParam);\r
-                       }\r
-               }\r
-               else if(nMsgId==WH_MSG_SHOWTOC)\r
-               {\r
-                       if(!gbNav6)\r
-                               document.body.focus();\r
-               }\r
-       }\r
-       return true;\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy)\r
-{\r
-       RegisterListener2(this,WH_MSG_PROJECTREADY);\r
-       RegisterListener2(this,WH_MSG_SYNCTOC);\r
-       RegisterListener2(this,WH_MSG_SHOWTOC);\r
-       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
-       goHFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
-\r
-       window.onload=window_OnLoad;\r
-       window.onbeforeunload=window_BUnload;\r
-       window.onunload=window_unload;\r
-       gbWhTHost=true;\r
-}\r
-else\r
+//     WebHelp 5.10.007
+var gaHSLoad=new Array();
+var gnMinIdx=0;
+var gnInsIdx=-1;
+var gsLoadingDivID="LoadingDiv";
+var gsLoadingMsg="Loading, click here to cancel...";
+var gaProj=null;
+var gaTocs=new Array();
+var goChunk=null;
+var gbReady=false;
+var gbToc=false;
+var gbXML=false;
+var gaRoot=new Array();
+var gnCC=-1;
+var gsTP="";
+var gaBTPs="";
+var gsCTPath="";
+var gnLT=-1;
+var gsPathSplit="\n";
+var gsBgColor="#ffffff";
+var gsBgImage="";
+var goFont=null;
+var goHFont=null;
+
+var gsMargin="0pt";
+var gsIndent="15pt";
+var gsABgColor="#cccccc";
+
+var giBookClose="";
+var giBookOpen="";
+var giBookItem="";
+var giURLItem="";
+var giNewBookClose="";
+var giNewBookOpen="";
+var giNewBookItem="";
+var giNewURLItem="";
+var gnImages=0;
+var gnLoadedImages=0;
+var gaImgs=new Array();
+var gbLoadData=false;
+var gobj=null;
+var gaTocsNs61Fix=null;
+var gbWhTHost=false;
+var gBookItems=new Array();
+var gInSync=false;
+var gbLData=false;
+var gbNeedFillStub=false;
+var gbLoadToc=false;
+
+function chunkInfoQueue()
+{
+       this.aContent=new Array();
+       this.inQueue=function(cInfo)
+       {
+               this.aContent[this.aContent.length]=cInfo;
+       }
+       this.deQueue=function()
+       {
+               var cInfo=null;
+               if(this.aContent.length>0)
+               {
+                       cInfo=this.aContent[0];
+                       for(var i=1;i<this.aContent.length;i++)
+                               this.aContent[i-1]=this.aContent[i];
+                       this.aContent.length--;
+               }
+               return cInfo;
+       }
+       this.length=function()
+       {
+               return this.aContent.length;
+       }
+}
+
+var gchunkRequestQueue=new chunkInfoQueue();
+
+function chunkInfo(nIdx, bLocal)
+{
+       this.nIdx=nIdx;
+       this.bLocal=bLocal;
+}
+
+function setBackground(sBgImage)
+{
+       gsBgImage=sBgImage;
+}
+
+function setBackgroundcolor(sBgColor)
+{
+       gsBgColor=sBgColor;
+}
+
+function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       if(sType=="Normal") goFont=vFont;
+       else if(sType=="Hover") goHFont=vFont;
+}
+
+function setActiveBgColor(sBgColor){gsABgColor=sBgColor;}
+
+function setMargin(sMargin){gsMargin=sMargin;}
+
+function setIndent(sIndent){gsIndent=sIndent;}
+
+function setIcon(sType,sURL)
+{
+       if(sType=="BookOpen")
+               giBookOpen=sURL;
+       else if(sType=="BookClose")
+               giBookClose=sURL;
+       else if(sType=="Item")
+               giBookItem=sURL;
+       else if(sType=="RemoteItem")
+               giURLItem=sURL;
+       else if(sType=="NewBookClose")
+               giNewBookClose=sURL;
+       else if(sType=="NewBookOpen")
+               giNewBookOpen=sURL;
+       else if(sType=="NewItem")
+               giNewBookItem=sURL;
+       else if(sType=="NewRemoteItem")
+               giNewURLItem=sURL;              
+}
+
+function bookItem(sTarget,sURL)
+{
+       if(sTarget)
+               this.sTarget=sTarget;
+       else
+               this.sTarget="bsscright";
+       this.sURL=sURL;
+}
+
+function addBookItem(sBookId,sTarget,sURL)
+{
+       gBookItems[sBookId]=new bookItem(sTarget,sURL);         
+}
+
+function tocChunk(sPPath,sDPath)
+{
+       this.sPPath=sPPath;
+       this.sDPath=sDPath;
+       this.nMI=-1;
+       this.aTocs=null;
+}
+
+function addTocChunk(sPPath,sDPath)
+{
+       var oChunk=new tocChunk(sPPath,sDPath);
+       gaTocs[gaTocs.length]=oChunk;
+       return oChunk;
+}
+
+function isHSLoad(nIdx)
+{
+       for(var i=0;i<gaHSLoad.length;i++)
+               if(gaHSLoad[i]==nIdx)
+                       return true;
+       return false;
+}
+
+function setHSLoad(nIdx)
+{
+       if(!isHSLoad(nIdx))
+       {
+               var len=gaHSLoad.length;
+               for(var i=0;i<len;i++)
+                       if(gaHSLoad[i]==-1)
+                       {
+                               gaHSLoad[i]=nIdx;
+                               return;
+                       }
+               gaHSLoad[len]=nIdx;
+       }
+}
+
+function setHSUnLoad(nIdx)
+{
+       if(isHSLoad(nIdx))
+       {
+               for(var i=0;i<gaHSLoad.length;i++)
+                       if(gaHSLoad[i]==nIdx)
+                       {
+                               gaHSLoad[i]=-1;
+                               return;
+                       }
+       }
+}
+
+function removeLoadingDiv()
+{
+       var eLoadingDiv=getElement(gsLoadingDivID);
+       if(eLoadingDiv)
+               removeThis(eLoadingDiv);
+}
+
+function checkBookItem(nIdx)
+{
+       if(!gInSync)
+       {
+               var sBookId=getBookId(nIdx);
+               if(gBookItems[sBookId])
+               {
+                       window.open(gBookItems[sBookId].sURL,gBookItems[sBookId].sTarget);
+               }
+       }
+}
+
+function insertBookItems(nIdx,num)
+{
+       checkBookItem(nIdx);
+       var sChildBookId=getCBId(nIdx);
+       var eChildDiv=getElement(sChildBookId);
+       if(eChildDiv){
+               if((eChildDiv.childNodes&&eChildDiv.childNodes.length==0)||
+                       (eChildDiv.all&&eChildDiv.all.length==0)){
+                       var sHTML=writeBookItems(nIdx,num);
+                       eChildDiv.innerHTML=sHTML;
+                       setTimeout("syncInit()",1);
+               }
+       }
+       ExpandIt(nIdx);
+}
+
+function isBookEmpty(nIdx)
+{
+       var num=getItemContentsNum(nIdx);
+       if (num>0)
+       {
+               var nCIdx=0;
+               do {
+                       nCIdx++;
+                       var i=nIdx+nCIdx;
+                       var nItemType=getItemType(i);
+                       if(nItemType==1){
+                               if (!isBookEmpty(i))
+                                       return false;
+                       }
+                       else if(nItemType==4){
+                               var     sSrc=getRefURL(i);
+                               var nProj=getProject(sSrc);
+                               if(nProj!=-1){
+                                       sSrc=gaRoot[nProj].sToc;
+                                       if(sSrc)
+                                               return false;
+                               }
+                       }
+                       else if(nItemType==2||nItemType==16||nItemType==8)
+                               return false;
+               } while(nCIdx<num);
+       }
+       return true;
+}
+
+function writeBook(nIdx)
+{
+       var sIcon=getBookImage(nIdx,true);
+       var sName=_textToHtml(getItemName(nIdx));
+       sIcon=_textToHtml_nonbsp(sIcon);
+       
+       var nType=getItemType(nIdx);
+       var bLocal=(nType==1);
+       var bLocalProject=(nType!=4);
+       
+       var sHTML="<div id=\""+getPBId(nIdx)+"\" class=";
+       if(bLocal)
+       {
+               if (!isBookEmpty(nIdx))
+               {
+                       sHTML+="parent><p><nobr><a id=\""+getBookId(nIdx)+"\" href=\"javascript:void(0);\" onfocus=\"markBook("+nIdx+");\" onclick=\"";
+                       sHTML+="insertBookItems("+nIdx+", "+getItemContentsNum(nIdx);
+                       sHTML+=");return false;\" title=\""+sName+"\"><img alt=\"Book\" name=\""+getBId(nIdx)+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">";
+                       sHTML+="&nbsp;"+sName+"</a></nobr></p></div>";
+                       var sURL=_textToHtml_nonbsp(getItemURL(nIdx));
+                       if(sURL!="")
+                               addBookItem(getBookId(nIdx),_textToHtml_nonbsp(getTopicTarget(nIdx)),sURL);
+                       sHTML+="<div id=\""+getCBId(nIdx)+"\" class=child></div>";
+               }
+               else
+                       sHTML="";
+       }
+       else
+       {
+               sHTML+="stub></div>";
+               gbNeedFillStub=true;
+               setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);
+       }
+       return sHTML;
+}
+
+function checkFillStub()
+{
+       if(!gbLData)
+       {
+               if(gchunkRequestQueue.length()>0)
+               {
+                       var cInfo=gchunkRequestQueue.deQueue();
+                       if(cInfo)
+                       {
+                               fillStub(cInfo.nIdx,cInfo.bLocal);
+                               return;
+                       }
+               }
+       }
+       if(gbNeedFillStub)
+       {
+               gbNeedFillStub=false;
+               setTimeout("syncInit()",1);
+       }
+}
+
+function fillStub(nIdx,bLocalProject)
+{
+       if(!gbLData)
+       {
+               gbLData=true;
+               var sObj=getElement(getPBId(nIdx));
+               if(sObj!=null)
+               {
+                       tocExpandHelpSet(nIdx,bLocalProject);
+                       gbNeedFillStub=false;
+                       setTimeout("syncInit()",1);
+               }
+               else
+                       setTimeout("fillStub("+nIdx+","+bLocalProject+");",100);
+       }
+       else
+               gchunkRequestQueue.inQueue(new chunkInfo(nIdx,bLocalProject));
+}
+
+function getBookId(nIdx){return "B_"+nIdx;}
+
+function getItemId(nIdx){return "I_"+nIdx;}
+
+function markBook(nIdx)
+{
+       var obj=getElement(getItemId(nIdx));
+       if(obj==null)
+               obj=getElement(getBookId(nIdx));
+       if(gbNav6)
+       {
+               gobj=obj;
+               setTimeout("delayMarkObj();",1);
+       }
+       else
+               markObj(obj);
+}
+
+function delayMarkObj()
+{
+       if(gobj)
+       {
+               markObj(gobj);
+               gobj=null;
+       }
+}
+
+function markObj(obj)
+{
+       if(obj!=null)
+       {
+               HighLightElement(obj,gsABgColor,"transparent");
+               var sPath=calTocPath(obj);
+               if(gsCTPath!=sPath)
+                       gsCTPath=sPath;
+       }
+}
+
+function markItem(nIdx)
+{
+       var obj=getElement(getItemId(nIdx));
+       if(gbNav6)
+       {
+               gobj=obj;
+               setTimeout("delayMarkObj();",1);
+       }
+       else
+               markObj(getElement(getItemId(nIdx)));
+}
+
+function calTocPath(obj)
+{
+       var sPath=getInnerText2(obj);
+       var pObj=getParentNode(obj);
+       do
+       {
+               while(pObj!=null&&!isCBId(pObj.id)) pObj=getParentNode(pObj);
+               if(pObj!=null)
+               {
+                       var nId=getIdByCBId(pObj.id);
+                       var sObj=getElement(getPBId(nId));
+                       if(sObj!=null)
+                       {
+                               var objs=getItemsByBook(sObj);
+                               for(var i=0;i<objs.length;i++)
+                               {
+                                       var sText=getInnerText2(objs[i]);
+                                       if(sText.length!=0)
+                                       {
+                                               sPath=sText+gsPathSplit+sPath;
+                                               break;
+                                       }
+                               }
+                       }
+                       pObj=getParentNode(pObj);
+               }
+       }while(pObj!=null);
+       return sPath;
+}
+
+function writeAnItem(nIdx)
+{
+       var sTarget=_textToHtml_nonbsp(getTopicTarget(nIdx));
+       var sIcon=getItemIcon(nIdx,0);
+       if(sIcon=="")
+       {
+               var nItemType=getItemType(nIdx);
+               if(nItemType&2)
+                       sIcon=getItemImage(nIdx,false);
+               else
+                       sIcon=getItemImage(nIdx,true);
+       }
+       sIcon=_textToHtml_nonbsp(sIcon);
+       var sName=_textToHtml(getItemName(nIdx));
+       var sHTML="<p><nobr><a id=\""+getItemId(nIdx)+"\" onfocus=\"markItem("+nIdx+");\""
+       var sAltString="";
+       if(nItemType&2)
+               sAltString="Page";
+       else
+               sAltString="Remote Page";
+       if(sTarget!="")
+               sHTML+="target=\""+sTarget+"\" ";
+       sHTML+="href=\""+_textToHtml_nonbsp(getItemURL(nIdx))+"\" title=\""+sName+"\"><img alt=\""+sAltString+"\" src=\""+sIcon+"\" border=0 align=\"absmiddle\">&nbsp;"+sName+"</a></nobr></p>";
+       return sHTML;
+}
+
+function writeBookItems(nIdx,num)
+{
+       var sHTML="";
+       if(num>0){
+               var nCIdx=0;
+               do{
+                       nCIdx++;
+                       var i=nIdx+nCIdx;
+                       var nItemType=getItemType(i);
+                       if(nItemType==1||nItemType==4||nItemType==8){
+                               sHTML+=writeBook(i);    
+                               nCIdx+=getItemContentsNum(i);           
+                       }
+                       else if(nItemType==2||nItemType==16){
+                               sHTML+=writeAnItem(i);
+                       }
+               }
+               while(nCIdx<num);
+       }
+       return sHTML;
+}
+
+function tocExpandHelpSet(nIdx,bLocal)
+{
+       checkBookItem(nIdx);
+       removeLoadingDiv();
+       if(!isHSLoad(nIdx))
+       {
+               setHSLoad(nIdx);
+               var sSrc="";
+               if(bLocal){
+                       var oChunk=getChunk(nIdx);
+                       if(oChunk)
+                       {
+                               goChunk=addTocChunk(oChunk.sPPath,oChunk.sDPath);
+                               sSrc=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;
+                       }
+               }
+               else{
+                       sSrc=getRefURL(nIdx);
+                       var nProj=getProject(sSrc);
+                       if(nProj!=-1)
+                       {
+                               sSrc=gaRoot[nProj].sToc;
+                               if(sSrc)
+                                       goChunk=addTocChunk(gaProj[nProj].sPPath,gaProj[nProj].sDPath);
+                               else
+                                       goChunk=null;
+                       }
+                       else
+                               goChunk=null;
+               }
+               if(goChunk)
+               {
+                       PrepareLoading(nIdx);
+                       gbToc=false;
+                       loadData2(goChunk.sPPath+goChunk.sDPath+sSrc);
+               }
+               else
+               {
+                       gbLData=false;
+                       checkFillStub();
+               }
+       }
+}
+
+function getProject(sSrc)
+{
+       for(var i=0;i<gaProj.length;i++)
+               if(isSamePath(getPath(sSrc),gaProj[i].sPPath))
+                       return i;
+       return -1;
+}
+
+function getPath(sPath)
+{
+       if(sPath!="")
+       {
+               sPath=_replaceSlash(sPath);
+               var nPosFile=sPath.lastIndexOf("/");
+               sPath=sPath.substring(0,nPosFile+1);
+       }
+       return sPath;
+}
+
+function isSamePath(sPath1,sPath2)
+{
+       return (sPath1.toLowerCase()==sPath2.toLowerCase());
+}
+
+function PrepareLoading(nIdx)
+{
+       gnInsIdx=nIdx;
+       if(!gsTP)
+       {
+               var oObj=getElement(getPBId(gnInsIdx));
+               if(oObj)
+                       oObj.insertAdjacentHTML("afterEnd",writeLoadingDiv(nIdx));
+       }
+}
+
+function writeLoadingDiv(nIdx)
+{
+       return"<div id=\""+gsLoadingDivID+"\" class=parent onclick=\"removeLoadingDiv();\" style=\"padding-left:4px;background-color:ivory;border-width:1;border-style:solid;border-color:black;width:150px;\">"+gsLoadingMsg+"</div>";
+}
+
+function getItemName(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+               return oChunk.aTocs[nIdx-oChunk.nMI].sItemName;
+       else
+               return null;
+}
+
+function getItemContentsNum(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+               return oChunk.aTocs[nIdx-oChunk.nMI].nContents;
+       else
+               return null;
+}
+
+function getItemType(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+               return oChunk.aTocs[nIdx-oChunk.nMI].nType;
+       else
+               return 0;
+}
+
+function getItemURL(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+       {
+               var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sItemURL;
+               if(!(sPath==null||sPath==""))
+               {
+                       return _getFullPath(oChunk.sPPath,sPath);
+               }
+       }
+       return "";
+}
+
+function getRefURL(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+       {
+               var sPath=oChunk.aTocs[nIdx-oChunk.nMI].sRefURL;
+               if(!(sPath==null||sPath==""))
+               {
+                       return _getFullPath(oChunk.sPPath,sPath)
+               }
+       }
+       return "";
+}
+
+function getTopicTarget(nIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+       {
+               if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sTarget)!="undefined")
+                       return oChunk.aTocs[nIdx-oChunk.nMI].sTarget;
+       }
+       return "";
+}
+
+function getItemIcon(nIdx,nIconIdx)
+{
+       var oChunk=getChunk(nIdx);
+       if(oChunk)
+       {
+               if(typeof(oChunk.aTocs[nIdx-oChunk.nMI].sIconRef)!="undefined")
+               {
+                       var sIconRef=oChunk.aTocs[nIdx-oChunk.nMI].sIconRef;
+                       var nIndex=sIconRef.indexOf(";");
+                       while(nIconIdx-->0&&nIndex!=-1)
+                       {
+                               sIconRef=sIconRef.substring(nIndex+1);
+                               nIndex=sIconRef.indexOf(";");
+                       }
+                       if(nIconIdx<0)
+                       {
+                               if(nIndex!=-1)
+                                       sIconRef=sIconRef.substring(0,nIndex);
+                               return _getFullPath(oChunk.sPPath,sIconRef)
+                       }
+               }
+       }
+       return "";
+}
+
+function TocWriteClassStyle()
+{
+       var sStyle="<STYLE TYPE='text/css'>\n";
+       if(gsBgImage)
+               sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";
+       else
+               sStyle+="body {border-top:black 1px solid;}\n";
+       sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";
+       sStyle+="DIV {margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";}\n";
+       sStyle+=".parent {margin-left:0pt;}\n";
+       sStyle+=".stub {margin-left:0pt;display:none}\n";
+       sStyle+=".child {display:none;margin-left:"+gsIndent+";}\n";
+       sStyle+="A:link {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";
+       sStyle+="A:active {background-color:"+gsABgColor+";}\n";
+       sStyle +="A:hover {"+getFontStyle(goHFont)+"}\n";
+       sStyle+="</STYLE>";
+       document.write(sStyle);
+}
+
+function TocWriteFixedWidth(bBegin,nWidth)
+{
+       if((gbIE4)&&(gbMac)&&(!gbIE5)){
+               if(bBegin)
+                       document.write("<table width="+nWidth+" border=0><tr><td>");
+               else
+                       document.write("</td></tr></table>");
+       }
+}
+
+function TocInitPage()
+{
+       var tempColl=getItemsByBook(document.body);
+       if(tempColl.length>0)
+               tempColl[0].focus();
+}
+
+function getItemsFromObj(obj)
+{
+       var aAnchor=new Array();
+       var tempColl=getChildrenByTag(obj,"P");
+       if(tempColl&&tempColl.length>0)
+       {
+               var anobr=new Array();
+               for(var i=0;i<tempColl.length;i++)
+               {
+                       var tempNobr=getChildrenByTag(tempColl[i],"NOBR");
+                       if(tempNobr&&tempNobr.length>0)
+                               for(var j=0;j<tempNobr.length;j++)
+                                       anobr[anobr.length]=tempNobr[j];
+               }
+               for(var s=0;s<anobr.length;s++)
+               {
+                       var tempAnchor=getChildrenByTag(anobr[s],"A");
+                       if(tempAnchor&&tempAnchor.length>0)
+                               for(var u=0;u<tempAnchor.length;u++)
+                                       aAnchor[aAnchor.length]=tempAnchor[u];
+               }
+       }
+       return aAnchor;
+}
+
+function getItemsByBook(obj)
+{
+       var aAnchor=new Array();
+       var aTAnchor=getItemsFromObj(obj);
+       for(var i=0;i<aTAnchor.length;i++)
+               aAnchor[aAnchor.length]=aTAnchor[i];
+       var tempBook=getChildrenByTag(obj,"DIV");
+       if(tempBook&&tempBook.length>0)
+               for(var j=0;j<tempBook.length;j++)
+               {
+                       var aTAnchorDiv=getItemsFromObj(tempBook[j]);
+                       for(var s=0;s<aTAnchorDiv.length;s++)
+                               aAnchor[aAnchor.length]=aTAnchorDiv[s];
+               }
+       return aAnchor;
+}
+
+function ExpandIt(nId)
+{
+       if(!gsTP)
+               ExpandIt2(nId,false);
+}
+
+function ExpandIt2(nId,bForceOpen)
+{
+       var oC=TocExpand(nId,true,bForceOpen);
+       var nNewScroll=document.body.scrollTop;
+       if(oC.style.display=="block"){
+               var nTop=oC.offsetTop;
+               var nBottom=nTop+oC.offsetHeight;
+               if(document.body.scrollTop+document.body.clientHeight<nBottom){
+                       nNewScroll=nBottom-document.body.clientHeight;
+               }
+               if(nBottom-nTop>document.body.clientHeight){
+                       nNewScroll=nTop-20;
+               }
+       }
+       document.body.scrollTop=nNewScroll;
+}
+
+function TocExpand(nId,bChangeImg,bForceOpen)
+{
+       var oDiv=getElement(getCBId(nId));
+       if(oDiv==null) return null;
+
+       var whichIm=document.images[getBId(nId)];
+       if((oDiv.style.display!="block")||bForceOpen){
+               oDiv.style.display="block";
+               if(bChangeImg){
+                       var sPath=getPath(whichIm.src);
+                       sPath=_getFullPath(sPath,getBookImage(nId,false));
+                       whichIm.src=sPath;              
+               }
+       }else{
+               oDiv.style.display="none";
+               if(bChangeImg){
+                       var sPath=getPath(whichIm.src);
+                       sPath=_getFullPath(sPath,getBookImage(nId,true));
+                       whichIm.src=sPath;
+               }
+               if(gbMac&&gbIE5){
+                       this.parent.document.getElementById("tocIFrame").style.width="101%";
+                       this.parent.document.getElementById("tocIFrame").style.width="100%";
+               }
+       }
+       return oDiv;
+}
+
+function getChunkId(n)
+{
+       var nCan=-1;
+       for(var i=0;i<gaTocs.length;i++)
+               if(gaTocs[i].nMI<=n&&gaTocs[i].nMI!=-1)
+               {
+                       if(nCan==-1)
+                               nCan=i;
+                       else
+                               if(gaTocs[i].nMI>=gaTocs[nCan].nMI)
+                                       nCan=i;
+               }
+       if(nCan!=-1)
+               return nCan;
+       else
+               return -1;
+}
+
+function getChunk(n)
+{
+       if(gnCC!=-1&&gaTocs[gnCC].nMI<=n&&(gnCC==gaTocs.length-1||
+               gaTocs[gnCC+1].nMI>n))
+       {       
+               return gaTocs[gnCC];
+       }
+       else{
+               gnCC=getChunkId(n);
+               if(gnCC!=-1)
+                       return gaTocs[gnCC];
+               else
+                       return null;
+       }
+}
+
+function getBookImage(nIdx,bClosed)
+{
+       var nIdx=bClosed?0:1;
+       var sIcon=getItemIcon(nIdx,nIdx);
+       if(sIcon=="")
+               if(bClosed)
+                       sIcon=giBookClose;
+               else
+                       sIcon=giBookOpen;
+       return _getFullPath(gaProj[0].sPPath,sIcon);
+}
+
+function getItemImage(nIdx,bRemote)
+{
+       var sIcon=getItemIcon(nIdx,0);
+       if(sIcon=="")
+               if(bRemote)
+                       sIcon=giURLItem;
+               else
+                       sIcon=giBookItem;
+       return _getFullPath(gaProj[0].sPPath,sIcon);
+}
+
+function getInnerText2(obj)
+{
+       var sText=getInnerText(obj);
+       if(sText.length>0&&!gbOpera7)
+               sText=sText.substring(1);
+       return sText;
+}
+
+function expandToc(oObj,sRest,aIdList)
+{
+       var len=aIdList.length;
+       var nPos=sRest.indexOf(gsPathSplit);
+       if(nPos!=-1)
+       {
+               sPart=sRest.substring(0,nPos);
+               sRest=sRest.substring(nPos+1);
+       }
+       else
+       {
+               sPart=sRest;
+               var aTagAs=getItemsByBook(oObj);
+               for(var s=0;s<aTagAs.length;s++)
+               {
+                       var sText=getInnerText2(aTagAs[s]);
+                       if(sText==sPart)
+                       {
+                               aIdList[len]=aTagAs[s];
+                               return 1;
+                       }
+               }
+               return 0;
+       }
+               
+       var aChildren=getChildrenByTag(oObj,"DIV");
+       for(var i=0;i<aChildren.length;i++)
+       {
+               var sPId=aChildren[i].id;
+               if(!isPBId(sPId))
+                       continue;
+               var sText=getInnerText2(aChildren[i]);
+               if(sText!=sPart)
+                       continue;
+               aIdList[len]=getIdByPBId(sPId);
+               var sCId=getCBId(aIdList[len]);
+               var oCObj=getElement(sCId);
+               if(oCObj)
+               {
+                       if(oCObj.innerHTML=="")
+                       {
+                               var obj=getItemsByBook(aChildren[i]);
+                               if(obj.length>0)
+                               {
+                                       if(gbNav6)
+                                       {
+                                               var sCommand=obj[0].getAttribute("onClick");
+                                               var nCommand=sCommand.indexOf(";");
+                                               sCommand=sCommand.substring(0,nCommand);
+                                               setTimeout(sCommand,1);
+                                       }
+                                       else
+                                               obj[0].click();
+                               }
+                               return -1;
+                       }
+                       var nRet=expandToc(oCObj,sRest,aIdList);
+                       if(nRet)
+                               return nRet;
+               }
+       }
+       aIdList.length=len;
+       return 0;
+}
+
+function getIdByPBId(sPId)
+{
+       return parseInt(sPId.substring(2,sPId.length-1));
+}
+
+function getIdByCBId(sCId)
+{
+       return parseInt(sCId.substring(2,sCId.length-1));
+}
+
+function isPBId(sId)
+{
+       return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("P")==sId.length-1);
+}
+
+function isCBId(sId)
+{
+       return (sId&&sId.indexOf("B_")==0&&sId.lastIndexOf("C")==sId.length-1);
+}
+
+function getBId(nIdx)
+{
+       return "B_"+nIdx;
+}
+
+function getPBId(nIdx)
+{
+       return getBId(nIdx)+"P";
+}
+
+function getCBId(nIdx)
+{
+       return getBId(nIdx)+"C";
+}
+
+function getClosestTocPath(aPaths)
+{
+       var nMaxSimilarity=0;
+       var nThatIndex=-1;
+       var sPath=null;
+       if(aPaths.length==0) return sPath;
+       for(var i=0;i<aPaths.length;i++)
+       {
+               var nSimilarity=comparePath(gsCTPath,aPaths[i]);
+               if(nSimilarity>nMaxSimilarity)
+               {
+                       nMaxSimilarity=nSimilarity;
+                       nThatIndex=i;
+               }
+       }
+       if(nThatIndex!=-1)
+               sPath=aPaths[nThatIndex];
+       else
+               sPath=aPaths[0];
+       return sPath;
+}
+
+function comparePath(sPath1,sPath2)
+{
+       var nMaxSimilarity=0;
+       var nStartPos1=0;
+       var nPos1=-1;
+       var nStartPos2=0;
+       var nPos2=-1;
+       do{
+               var sCheck1=null;
+               var sCheck2=null;
+               nPos1=sPath1.indexOf(gsPathSplit,nStartPos1);
+               if(nPos1!=-1)
+               {
+                       sCheck1=sPath1.substring(nStartPos1,nPos1);
+                       nStartPos1=nPos1+1;
+               }
+               else
+               {
+                       sCheck1=sPath1.substring(nStartPos1);
+                       nStartPos1=-1;
+               }
+               nPos2=sPath2.indexOf(gsPathSplit,nStartPos2);
+               if(nPos1!=-1)
+               {
+                       sCheck2=sPath2.substring(nStartPos2,nPos2);
+                       nStartPos2=nPos2+1;
+               }
+               else
+               {
+                       sCheck2=sPath2.substring(nStartPos2);
+                       nStartPos2=-1;
+               }
+               if(sCheck1==sCheck2)
+                       nMaxSimilarity++;
+               else
+                       break;
+       }while(nStartPos1!=-1&&nStartPos2!=-1);
+       return nMaxSimilarity;
+}
+
+function getTocPaths(oTopicParam)
+{
+       var aRelTocPaths=oTopicParam.aPaths;
+       var aPaths=new Array();
+       for(var i=0;i<gaProj.length;i++)
+               if(isSamePath(gaProj[i].sPPath,oTopicParam.sPPath))
+               {
+                       for(var j=0;j<aRelTocPaths.length;j++)
+                               for (var k=0;k<gaRoot[i].aRPath.length;k++)
+                               {
+                                       var sPath=gaRoot[i].aRPath[k]+aRelTocPaths[j];
+                                       aPaths[aPaths.length]=sPath.substring(1);
+                               }
+                       break;
+               }
+       return aPaths;
+}
+
+function syncInit()
+{
+       if(gsTP&&!gbNeedFillStub)
+       {
+               gInSync=true;
+               var obj=document.body;
+               var aIdList=new Array();
+               var nRet=expandToc(obj,gsTP,aIdList);
+               if(nRet!=-1)
+               {
+                       if(nRet==1)
+                       {
+                               if(aIdList.length)
+                                       for(var i=0;i<aIdList.length-1;i++)
+                                               ExpandIt2(aIdList[i],true);
+                               gsCTPath=gsTP;
+                               if(!gbIE55)
+                                       aIdList[aIdList.length-1].focus();
+                               else
+                                       HighLightElement(aIdList[aIdList.length-1],gsABgColor,"transparent");
+                       }
+                       var aPaths=gaBTPs;
+                       gsTP=null;
+                       gaBTPs=null;
+                       if(aPaths!=null)
+                       {
+                               var sPath=getClosestTocPath(aPaths);
+                               if(sPath!=null)
+                               {       
+                                       gsTP=sPath;             
+                                       setTimeout("syncInit()",1);
+                               }
+                       }
+               }
+               gInSync=false;
+       }
+}
+
+function loadToc()
+{
+       if(!gbLoadToc)
+       {
+               var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);
+               if(SendMessage(oResMsg)&&oResMsg.oParam)
+               {
+                       gbLoadToc=true;
+                       var oProj=oResMsg.oParam;
+                       gaProj=oProj.aProj;
+                       gbXML=oProj.bXML;
+                       load1B1();
+               }
+       }
+}
+
+function load1B1()
+{
+       if(gnLT+1<gaProj.length)
+               for(var i=gnLT+1;i<gaProj.length;i++)
+                       if(gaProj[i].sToc)
+                       {
+                               gbToc=true;
+                               gnLT=i;
+                               setTimeout("loadTocInfo()",1);
+                               return true;
+                       }
+       return false;
+}
+
+function loadTocInfo()
+{
+       loadData2(gaProj[gnLT].sPPath+gaProj[gnLT].sDPath+gaProj[gnLT].sToc);
+}
+
+function loadData2(sFile)
+{
+       if(gbXML)
+               loadDataXML(sFile);
+       else
+               loadData(sFile);
+}
+
+function projReady(sRoot,aProj)
+{
+       if(gaRoot.length<=gnLT||!gaRoot[gnLT])
+               gaRoot[gnLT]=new Object();
+       gaRoot[gnLT].sToc=sRoot;
+       
+       if(gnLT==0)
+       {
+               gaRoot[gnLT].aRPath=new Array();
+               gaRoot[gnLT].aRPath[0]=gsPathSplit;
+       }
+
+       updatePTPath(gnLT,aProj);
+
+       if(!((gnLT+1<gaProj.length)&&load1B1()))
+       {
+               gbReady=true;
+               if(gbIE4)
+                       setTimeout("loadImages();",1);
+               else
+                       setTimeout("loadTData();",1);
+       }
+}
+
+function loadTData()
+{
+       if(gaProj[0].sToc!="")
+       {
+               gbLData=true;
+               goChunk=addTocChunk(gaProj[0].sPPath,gaProj[0].sDPath);
+               gbToc=false;
+               loadData2(gaProj[0].sPPath+gaProj[0].sDPath+gaRoot[0].sToc);
+       }
+}
+
+function updatePTPath(n,aProj)
+{
+       if(aProj)
+               for(var i=0;i<aProj.length;i++)
+               {
+                       var sFullPath=_getFullPath(gaProj[n].sPPath,aProj[i].sPPath);
+                       for(var j=0;j<gaProj.length;j++)
+                               if(isSamePath(sFullPath,gaProj[j].sPPath))
+                               {
+                                       if(gaRoot.length<=j||!gaRoot[j])
+                                               gaRoot[j]=new Object();
+                                       if(!gaRoot[j].aRPath)
+                                               gaRoot[j].aRPath=new Array();
+
+                                       if(gaRoot[n].aRPath)
+                                               for(var k=0;k<gaRoot[n].aRPath.length;k++)
+                                               {
+                                                       var bDup=false;
+                                                       var sTFPath=gaRoot[n].aRPath[k]+aProj[i].sRPath;
+                                                       for(var l=0;l<gaRoot[j].aRPath.length;l++)
+                                                               if(gaRoot[j].aRPath[l]==sTFPath)
+                                                               {
+                                                                       bDup=true;
+                                                                       break;
+                                                               }
+                                                       if(!bDup)
+                                                               gaRoot[j].aRPath[gaRoot[j].aRPath.length]=sTFPath;
+                                               }
+                                       else
+                                               gaRoot[j].aRPath[gaRoot[j].aRPath.length]=aProj[i].sRPath;
+                                       break;
+                               }
+               }
+}
+
+function onLoadXMLError()
+{
+       if(gbToc)
+       {
+               var sRoot="";
+               var aRProj=new Array();
+               projReady(sRoot,aRProj);
+       }
+       else
+       {
+               var aToc=new Array();
+               putData(aToc)
+       }
+}
+
+function putDataXML(xmlDoc,sDocPath)
+{
+       if(gbToc)
+       {
+               var tocNode=xmlDoc.getElementsByTagName("toc")[0];
+               if(tocNode)
+               {
+                       var sRoot=tocNode.getAttribute("root");
+                       var rmtProject=tocNode.getElementsByTagName("project");
+                       var aRProj=new Array();
+                       if(rmtProject.length>0)
+                       {
+                               for(var i=0;i<rmtProject.length;i++)
+                               {
+                                       aRProj[i]=new Object();
+                                       var sURL=rmtProject[i].getAttribute("url");
+                                       if(sURL)
+                                       {
+                                               if(sURL.lastIndexOf("/")!=sURL.length-1)
+                                                       sURL+="/";                                              
+                                       }
+                                       aRProj[i].sPPath=sURL;
+                                       aRProj[i].sRPath = "";
+                                       var oSubPath = rmtProject[i].getElementsByTagName("subpath")[0];
+                                       if (oSubPath)
+                                       {
+                                               while (oSubPath)
+                                               {
+                                                       aRProj[i].sRPath += oSubPath.getAttribute("name") + "\n";
+                                                       oSubPath = oSubPath.getElementsByTagName("subpath")[0];
+                                               }
+                                       }
+                                       else
+                                               aRProj[i].sRPath=rmtProject[i].getAttribute("path");
+                               }
+                       }
+                       projReady(sRoot,aRProj);
+               }
+       }
+       else
+       {
+               var chunkNode=xmlDoc.getElementsByTagName("tocdata")[0];
+               if(chunkNode)
+               {
+                       var aToc=new Array();
+                       processBook(chunkNode,aToc);
+                       putData(aToc);
+               }
+       }
+}
+
+function processBook(node,aToc)
+{
+       var i=0;
+       var entry=null;
+       var prevEntry=null;
+       var oChild=node.firstChild;
+       do{
+               if(oChild)
+               {
+                       if(oChild.nodeName.indexOf("#")!=0)
+                       {
+                               var sName=oChild.getAttribute("name");
+                               var sURL=oChild.getAttribute("url");
+                               var sRef=oChild.getAttribute("ref");
+                               var sTarget=oChild.getAttribute("target");
+                               var sIcons=oChild.getAttribute("images");
+                               var item=new Object();
+                               item.sItemName=sName;
+                               if(sTarget)
+                                       item.sTarget=sTarget;
+                               if(sIcons)
+                                       item.sIconRef=sIcons;
+                               if(sURL==null) sURL="";
+
+                               item.sItemURL=sURL;
+                               
+                               if(oChild.nodeName=="book")
+                               {
+                                       item.nType=1;
+                                       aToc[aToc.length]=item;
+                                       var nCurrPos=aToc.length;
+                                       processBook(oChild,aToc);
+                                       item.nContents=aToc.length-nCurrPos;
+                               }
+                               else if(oChild.nodeName=="item")
+                               {
+                                       item.nType=2;
+                                       item.nContents=0;
+                                       aToc[aToc.length]=item;
+                               }
+                               else if(oChild.nodeName=="remoteitem")
+                               {
+                                       item.nType=16;
+                                       item.nContents=0;
+                                       aToc[aToc.length]=item;
+                               }
+                               else if(oChild.nodeName=="project")
+                               {
+                                       if(sRef)
+                                       {
+                                               if(sRef.lastIndexOf("/")!=sRef.length-1)
+                                                       sRef+="/";                                              
+                                       }
+                                       item.nType=4;
+                                       item.sRefURL=sRef;
+                                       item.nContents=0;
+                                       aToc[aToc.length]=item;
+                               }
+                               else if(oChild.nodeName=="chunk")
+                               {
+                                       item.nType=8;
+                                       item.sRefURL=sRef;
+                                       item.nContents=0;
+                                       aToc[aToc.length]=item;
+                               }
+                       }
+               }
+               else
+                       break;
+               oChild=oChild.nextSibling;
+       }while(true);
+}
+
+function putData(aTocs)
+{
+       gaTocsNs61Fix=aTocs;
+       setTimeout("realPutData();",1);
+}
+
+function realPutData()
+{
+       removeLoadingDiv();
+       var aTocs=gaTocsNs61Fix;
+       if(!aTocs) return;
+       if(goChunk)
+       {
+               var n=gnMinIdx;
+               goChunk.nMI=gnMinIdx;
+               goChunk.aTocs=aTocs;
+               gnMinIdx+=aTocs.length;
+               if(gnInsIdx!=-1)
+               {
+                       var oObj=getElement(getPBId(gnInsIdx));
+                       if(oObj)
+                       {
+                               oObj.insertAdjacentHTML("afterEnd",writeBookItems(n-1,aTocs.length));
+                               setTimeout("syncInit()",1);
+                       }
+               }
+               else{
+                       document.body.insertAdjacentHTML("beforeEnd",writeBookItems(n-1,aTocs.length));
+                       var oParam=new Object();
+                       oParam.oTocInfo=null;
+                       var oMsg=new whMessage(WH_MSG_GETTOCPATHS,this,1,oParam);
+                       if(SendMessage(oMsg))
+                       {
+                               if(oMsg.oParam.oTocInfo)
+                                       syncWithPaths(oMsg.oParam.oTocInfo);
+                       }
+               }       
+       }
+       gbLData=false;
+       checkFillStub();
+}
+
+function syncWithPaths(oTopicParam)
+{
+       var aPaths=getTocPaths(oTopicParam);
+       if(gsTP)
+               gaBTPs=aPaths;
+       else{
+               var sPath=getClosestTocPath(aPaths);
+               if(sPath!=null)
+               {
+                       gsTP=sPath;
+                       setTimeout("syncInit()",1);
+               }
+       }
+}
+
+function window_OnLoad()
+{
+       if(gsBgImage&&gsBgImage.length>0)
+       {
+               document.body.background=gsBgImage;
+       }
+       if(gsBgColor&&gsBgColor.length>0)
+       {
+               document.body.bgColor=gsBgColor;
+       }
+       loadToc();
+       var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null)
+       SendMessage(oMsg);
+}
+
+function loadImages()
+{
+       if(giBookClose)
+       {
+               gaImgs[gnImages]=giBookClose;
+               gnImages++;
+       }               
+       if(giBookOpen)
+       {
+               gaImgs[gnImages]=giBookOpen;
+               gnImages++;
+       }               
+       if(giBookItem)
+       {
+               gaImgs[gnImages]=giBookItem;
+               gnImages++;
+       }               
+       if(giURLItem)
+       {
+               gaImgs[gnImages]=giURLItem;
+               gnImages++;
+       }               
+       if(giNewBookClose)
+       {
+               gaImgs[gnImages]=giNewBookClose;
+               gnImages++;
+       }               
+       if(giNewBookOpen)
+       {
+               gaImgs[gnImages]=giNewBookOpen;
+               gnImages++;
+       }               
+       if(giNewBookItem)
+       {
+               gaImgs[gnImages]=giNewBookItem;
+               gnImages++;
+       }               
+       if(giNewURLItem)
+       {
+               gaImgs[gnImages]=giNewURLItem;
+               gnImages++;
+       }
+       if(gnImages>0)
+       {
+               setTimeout("loadDataAfter();",1000);
+               loadImage(gaImgs[0]);
+       }
+       else
+               loadDataAfter();
+}
+
+function loadImage(sURL)
+{
+       var oImg=new Image();
+       oImg.onload=checkImageLoading;
+       oImg.onerror=errorImageLoading;
+       oImg.src=_getFullPath(gaProj[0].sPPath,sURL);
+}
+
+function loadDataAfter()
+{
+       if(!gbLoadData)
+       {
+               gbLoadData=true;
+               loadTData();
+       }
+}
+
+function errorImageLoading()
+{
+       gnLoadedImages++;
+       if(gnImages==gnLoadedImages)
+               loadDataAfter();
+       else
+               loadImage(gaImgs[gnLoadedImages]);      
+}
+
+function checkImageLoading()
+{
+       gnLoadedImages++;
+       if(gnImages==gnLoadedImages)
+               loadDataAfter();
+       else
+               loadImage(gaImgs[gnLoadedImages]);      
+}
+
+function window_unload()
+{
+       UnRegisterListener2(this,WH_MSG_PROJECTREADY);
+       UnRegisterListener2(this,WH_MSG_SYNCTOC);
+       UnRegisterListener2(this,WH_MSG_SHOWTOC);
+}
+
+function onSendMessage(oMsg)
+{
+       if(oMsg)
+       {
+               var nMsgId=oMsg.nMessageId;
+               if(nMsgId==WH_MSG_PROJECTREADY)
+               {
+                       loadToc();
+               }
+               else if(nMsgId==WH_MSG_SYNCTOC)
+               {
+                       if(gbReady)
+                       {
+                               syncWithPaths(oMsg.oParam);
+                       }
+               }
+               else if(nMsgId==WH_MSG_SHOWTOC)
+               {
+                       if(!gbNav6)
+                               document.body.focus();
+               }
+       }
+       return true;
+}
+
+if(window.gbWhUtil&&window.gbWhVer&&window.gbWhMsg&&window.gbWhProxy)
+{
+       RegisterListener2(this,WH_MSG_PROJECTREADY);
+       RegisterListener2(this,WH_MSG_SYNCTOC);
+       RegisterListener2(this,WH_MSG_SHOWTOC);
+       goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");
+       goHFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");
+
+       window.onload=window_OnLoad;
+       window.onbeforeunload=window_BUnload;
+       window.onunload=window_unload;
+       gbWhTHost=true;
+}
+else
        document.location.reload();
\ No newline at end of file
index 6cd1211952cdb62cc4ecebb74c5daf2401cea4f1..52198a574fffc44772acb2e9c997750050824a67 100755 (executable)
-//     WebHelp 5.10.005\r
-var gsPPath="";\r
-var gaPaths=new Array();\r
-var gaAvenues=new Array();\r
-\r
-var goFrame=null;\r
-var gsStartPage="";\r
-var gsRelCurPagePath="";\r
-var gsSearchFormHref="";\r
-var gnTopicOnly=-1;\r
-var gnOutmostTopic=-1;\r
-\r
-var BTN_TEXT=1;\r
-var BTN_IMG=2;\r
-\r
-var goSync=null;\r
-\r
-var goShow=null;\r
-var goHide=null;\r
-\r
-var goPrev=null;\r
-var goNext=null;\r
-var gnForm=0;\r
-var goShowNav=null;\r
-var goHideNav=null;\r
-\r
-var goWebSearch=null;\r
-\r
-var gsBtnStyle="";\r
-var gaButtons=new Array();\r
-var gaTypes=new Array();\r
-var whtopic_foldUnload=null;\r
-var gbWhTopic=false;\r
-var gbCheckSync=false;\r
-var gbSyncEnabled=false;\r
-\r
-function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
-{\r
-       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
-       gsBtnStyle+=".whtbtn"+sType+"{"+getFontStyle(vFont)+"}";\r
-}\r
-\r
-function writeBtnStyle()\r
-{\r
-       if(gaButtons.length>0)\r
-       {\r
-               if(gsBtnStyle.length>0)\r
-               {\r
-                       var sStyle="<style type='text/css'>";\r
-                       sStyle+=gsBtnStyle+"</style>";\r
-                       document.write(sStyle);\r
-               }\r
-       }\r
-}\r
-\r
-function button(sText,nWidth,nHeight)\r
-{\r
-       this.sText=sText;\r
-       this.nWidth=nWidth;\r
-       this.nHeight=nHeight;\r
-       \r
-       this.aImgs=new Array();\r
-       var i=0;\r
-       while(button.arguments.length>i+3)\r
-       {\r
-               this.aImgs[i]=button.arguments[3+i];\r
-               i++;\r
-       }\r
-}\r
-\r
-//project info\r
-function setRelStartPage(sPath)\r
-{\r
-       if(gsPPath.length==0)\r
-       {\r
-               gsPPath=_getFullPath(_getPath(document.location.href),_getPath(sPath));\r
-               gsStartPage=_getFullPath(_getPath(document.location.href),sPath);\r
-               gsRelCurPagePath=_getRelativeFileName(gsStartPage,document.location.href);\r
-       }\r
-}\r
-\r
-function getImage(oImage,sType)\r
-{\r
-       var sImg="";\r
-       if(oImage&&oImage.aImgs&&(oImage.aImgs.length>0))\r
-       {\r
-               sImg+="<img alt=\""+sType+"\" src=\""+oImage.aImgs[0]+"\"";\r
-               if(oImage.nWidth>0)\r
-                       sImg+=" width="+oImage.nWidth;\r
-               if(oImage.nHeight>0)\r
-                       sImg+=" height="+oImage.nHeight;\r
-               sImg+=" border=0>";\r
-       }\r
-       return sImg;\r
-}\r
-\r
-function addTocInfo(sTocPath)\r
-{\r
-       gaPaths[gaPaths.length]=sTocPath;\r
-}\r
-\r
-function addAvenueInfo(sName,sPrev,sNext)\r
-{\r
-       gaAvenues[gaAvenues.length]=new avenueInfo(sName,sPrev,sNext);  \r
-}\r
-\r
-function addButton(sType,nStyle,sText,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sImg1,sImg2,sImg3)\r
-{\r
-       var sButton="";\r
-       var nBtn=gaButtons.length;\r
-       if(sType=="prev")\r
-       {\r
-               if(canGo(false))\r
-               {\r
-                       var sTitle="Previous Topic";\r
-                       goPrev=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnprev\" href=\"javascript:void(0);\" onclick=\"goAvenue(false);return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goPrev.sText;\r
-                       else\r
-                               sButton+=getImage(goPrev,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="next")\r
-       {\r
-               if(canGo(true))\r
-               {\r
-                       var sTitle="Next Topic";\r
-                       goNext=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnnext\" href=\"javascript:void(0);\" onclick=\"goAvenue(true);return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goNext.sText;\r
-                       else\r
-                               sButton+=getImage(goNext,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="show")\r
-       {\r
-               if(isTopicOnly()&&(!gbOpera6||gbOpera7))\r
-               {\r
-                       var sTitle="Show Navigation Component";\r
-                       goShow=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goShow.sText;\r
-                       else\r
-                               sButton+=getImage(goShow,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="hide")\r
-       {\r
-               if(!isTopicOnly()&&!gbOpera6)\r
-               {\r
-                       var sTitle="Hide Navigation Component";\r
-                       goHide=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhide\" href=\"javascript:void(0);\" onclick=\"hide();return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goHide.sText;\r
-                       else\r
-                               sButton+=getImage(goHide,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="shownav")\r
-       {\r
-               if(isShowHideEnable())\r
-               {\r
-                       var sTitle="Show Navigation Component";\r
-                       goShowNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshownav\" href=\"javascript:void(0);\" onclick=\"showHidePane(true);return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goShowNav.sText;\r
-                       else\r
-                               sButton+=getImage(goShowNav,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="hidenav")\r
-       {\r
-               if(isShowHideEnable())\r
-               {\r
-                       var sTitle="Hide Navigation Component";\r
-                       goHideNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhidenav\" href=\"javascript:void(0);\" onclick=\"showHidePane(false);return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goHideNav.sText;\r
-                       else\r
-                               sButton+=getImage(goHideNav,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="synctoc")\r
-       {\r
-               if(gaPaths.length>0)\r
-               {\r
-                       var sTitle="Sync TOC";\r
-                       goSync=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goSync.sText;\r
-                       else\r
-                               sButton+=getImage(goSync,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="websearch")\r
-       {\r
-               if(gsSearchFormHref.length>0)\r
-               {\r
-                       var sTitle="WebSearch";\r
-                       goWebSearch=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);\r
-                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnwebsearch\" href=\""+gsSearchFormHref+"\">";\r
-                       if(nStyle==BTN_TEXT)\r
-                               sButton+=goWebSearch.sText;\r
-                       else\r
-                               sButton+=getImage(goWebSearch,sTitle);\r
-                       sButton+="</a>";\r
-               }\r
-       }\r
-       else if(sType=="searchform")\r
-       {\r
-               gaButtons[nBtn]="NeedSearchForm";\r
-               gaTypes[nBtn]=sType;\r
-       }\r
-       if(sButton.length!=0)\r
-       {\r
-               if(nStyle==BTN_TEXT)\r
-                       sButton+="&nbsp;";\r
-               gaButtons[nBtn]="<td>"+sButton+"</td>";\r
-               gaTypes[nBtn]=sType;\r
-       }\r
-}\r
-\r
-function isSyncEnabled()\r
-{\r
-       if(!gbCheckSync)\r
-       {\r
-               var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);\r
-               if(SendMessage(oMsg))\r
-               {\r
-                       gbSyncEnabled=oMsg.oParam;\r
-               }\r
-               gbCheckSync=true;\r
-       }\r
-       return gbSyncEnabled;\r
-}\r
-\r
-function isInPopup()\r
-{\r
-       return (window.name.indexOf("BSSCPopup")!=-1);\r
-}\r
-\r
-function getIntopicBar(sAlign)\r
-{\r
-       var sHTML="";\r
-       if(gaButtons.length>0)\r
-       {\r
-               sHTML+="<div align="+sAlign+">";\r
-\r
-               sHTML+="<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";\r
-               for(var i=0;i<gaButtons.length;i++)\r
-               {\r
-                       if(gaTypes[i]!="synctoc"||isSyncEnabled())\r
-                       {\r
-                               if(gaButtons[i]=="NeedSearchForm")\r
-                                       sHTML+=getSearchFormHTML();\r
-                               else\r
-                                       sHTML+=gaButtons[i];\r
-                       }\r
-               }\r
-               sHTML+="</tr></table>";\r
-\r
-               sHTML+="</div>";\r
-       }\r
-       return sHTML;\r
-}\r
-\r
-\r
-function writeIntopicBar(nAligns)\r
-{\r
-       if(isInPopup()) return;\r
-       if(gaButtons.length>0)\r
-       {\r
-               var sHTML="";\r
-               if(nAligns!=0)\r
-               {\r
-                       sHTML+="<table width=100%><tr>"\r
-                       if(nAligns&1)\r
-                               sHTML+="<td width=33%>"+getIntopicBar("left")+"</td>";\r
-                       if(nAligns&2)\r
-                               sHTML+="<td width=34%>"+getIntopicBar("center")+"</td>";\r
-                       if(nAligns&4)\r
-                               sHTML+="<td width=33%>"+getIntopicBar("right")+"</td>";\r
-                       sHTML+="</tr></table>";\r
-                       document.write(sHTML);\r
-               }\r
-       }\r
-}\r
-\r
-function sendAveInfoOut()\r
-{\r
-       if(!isInPopup())\r
-               setTimeout("sendAveInfo();",100);\r
-}\r
-\r
-function sendAveInfo()\r
-{\r
-       var oMsg=new whMessage(WH_MSG_AVENUEINFO,this,1,gaAvenues);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-\r
-function onNext()\r
-{\r
-       var oMsg=new whMessage(WH_MSG_NEXT,this,1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function onPrev()\r
-{\r
-       var oMsg=new whMessage(WH_MSG_PREV,this,1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function createSyncInfo()\r
-{\r
-       var oParam=new Object();\r
-       if(gsPPath.length==0)\r
-               gsPPath=_getPath(document.location.href);\r
-       oParam.sPPath=gsPPath;\r
-       oParam.sTPath=document.location.href;\r
-       oParam.aPaths=gaPaths;\r
-       return oParam;\r
-}\r
-\r
-function syncWithShow()\r
-{\r
-       if(isTopicOnly())\r
-               show();\r
-       else\r
-       {\r
-               sync();\r
-               showTocPane();\r
-       }\r
-}\r
-\r
-function showTocPane()\r
-{\r
-       var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function sendSyncInfo()\r
-{\r
-       if(!isInPopup())\r
-       {\r
-               var oParam=null;\r
-               if(gaPaths.length>0)\r
-               {\r
-                       oParam=createSyncInfo();\r
-               }\r
-               var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,oParam);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function sendInvalidSyncInfo()\r
-{\r
-       if(!isInPopup())\r
-       {\r
-               var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,null);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function enableWebSearch(bEnable)\r
-{\r
-       if(!isInPopup())\r
-       {\r
-               var oMsg=new whMessage(WH_MSG_ENABLEWEBSEARCH,this,1,bEnable);\r
-               SendMessage(oMsg);\r
-       }\r
-}\r
-\r
-function autoSync(nSync)\r
-{\r
-       if(nSync==0) return;\r
-       if(isInPopup()) return;\r
-       if(isOutMostTopic())\r
-               sync();\r
-}\r
-\r
-function isOutMostTopic()\r
-{\r
-       if(gnOutmostTopic==-1)\r
-       {\r
-               var oMessage=new whMessage(WH_MSG_ISINFRAMESET,this,1,null);\r
-               if(SendMessage(oMessage))\r
-                       gnOutmostTopic=0;\r
-               else\r
-                       gnOutmostTopic=1;\r
-       }\r
-       return (gnOutmostTopic==1);\r
-}\r
-\r
-function sync()\r
-{\r
-       if(gaPaths.length>0)\r
-       {\r
-               var oParam=createSyncInfo();\r
-               var oMessage=new whMessage(WH_MSG_SYNCTOC,this,1,oParam);\r
-               SendMessage(oMessage);\r
-       }\r
-}\r
-\r
-\r
-function avenueInfo(sName,sPrev,sNext)\r
-{\r
-       this.sName=sName;\r
-       this.sPrev=sPrev;\r
-       this.sNext=sNext;\r
-}\r
-\r
-function getCurrentAvenue()\r
-{\r
-       var oParam=new Object();\r
-       oParam.sAvenue=null;\r
-       var oMessage=new whMessage(WH_MSG_GETCURRENTAVENUE,this,1,oParam);\r
-       SendMessage(oMessage);\r
-       return oParam.sAvenue;\r
-}\r
-\r
-function unRegisterListener()\r
-{\r
-       sendInvalidSyncInfo();\r
-       enableWebSearch(false);\r
-       if(whtopic_foldUnload)\r
-               whtopic_foldUnload();\r
-}\r
-\r
-function onSendMessage(oMsg)\r
-{\r
-       var nMsgId=oMsg.nMessageId;\r
-       if(nMsgId==WH_MSG_GETAVIAVENUES)\r
-       {\r
-               oMsg.oParam.aAvenues=gaAvenues;\r
-               return false;\r
-       }\r
-       else if(nMsgId==WH_MSG_GETTOCPATHS)\r
-       {\r
-               if(isOutMostTopic())\r
-               {\r
-                       oMsg.oParam.oTocInfo=createSyncInfo();\r
-                       return false;           \r
-               }\r
-               else\r
-                       return true;\r
-       }\r
-       else if(nMsgId==WH_MSG_NEXT)\r
-       {\r
-               goAvenue(true);\r
-       }\r
-       else if(nMsgId==WH_MSG_PREV)\r
-       {\r
-               goAvenue(false);\r
-       }\r
-       else if(nMsgId==WH_MSG_WEBSEARCH)\r
-       {\r
-               websearch();\r
-       }\r
-       return true;\r
-}\r
-\r
-function goAvenue(bNext)\r
-{\r
-       var sTopic=null;\r
-       var sAvenue=getCurrentAvenue();\r
-       var nAvenue=-1;\r
-       if(sAvenue!=null&&sAvenue!="")\r
-       {\r
-               for(var i=0;i<gaAvenues.length;i++)\r
-               {\r
-                       if(gaAvenues[i].sName==sAvenue)\r
-                       {\r
-                               nAvenue=i;\r
-                               break;\r
-                       }\r
-               }\r
-               if(nAvenue!=-1)\r
-               {\r
-                       if(bNext)\r
-                               sTopic=gaAvenues[nAvenue].sNext;\r
-                       else\r
-                               sTopic=gaAvenues[nAvenue].sPrev;\r
-               }\r
-       }\r
-       else\r
-       {\r
-               for(var i=0;i<gaAvenues.length;i++)\r
-               {\r
-                       if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext)\r
-                       {\r
-                               sTopic=gaAvenues[i].sNext;\r
-                               break;\r
-                       }\r
-                       else if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext)\r
-                       {\r
-                               sTopic=gaAvenues[i].sPrev;\r
-                               break;\r
-                       }\r
-               }\r
-       }\r
-       \r
-       if(sTopic!=null&&sTopic!="")\r
-       {\r
-               if(gsPPath!=null&&gsPPath!="")\r
-               {\r
-                       sFullTopicPath=_getFullPath(gsPPath,sTopic);\r
-                       document.location=sFullTopicPath;\r
-               }\r
-       }\r
-}\r
-\r
-function canGo(bNext)\r
-{\r
-       for(var i=0;i<gaAvenues.length;i++)\r
-       {\r
-               if((gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext)||\r
-                       (gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext))\r
-                       return true;\r
-       }\r
-       return false;\r
-}\r
-\r
-function show()\r
-{\r
-       if(gsStartPage!="")\r
-               window.location=gsStartPage+"#"+gsRelCurPagePath;\r
-}\r
-\r
-function hide()\r
-{\r
-       if(goFrame!=null)\r
-       {\r
-               goFrame.location=window.location;\r
-       }\r
-}\r
-\r
-function isTopicOnly()\r
-{\r
-       if(gnTopicOnly==-1)\r
-       {\r
-               var oParam=new Object();\r
-               oParam.oFrame=null;\r
-               var oMsg=new whMessage(WH_MSG_GETSTARTFRAME,this,1,oParam);\r
-               if(SendMessage(oMsg))\r
-               {\r
-                       goFrame=oParam.oFrame;\r
-                       gnTopicOnly=0;\r
-               }\r
-               else\r
-                       gnTopicOnly=1;\r
-       }\r
-       if(gnTopicOnly==1)\r
-               return true;\r
-       else\r
-               return false;\r
-}\r
-\r
-function websearch()\r
-{\r
-       if(gbNav4)\r
-       {\r
-               if(document.ehelpform)\r
-                       document.ehelpform.submit();\r
-       }\r
-       else\r
-       {\r
-               if(window.ehelpform)\r
-                       window.ehelpform.submit();\r
-       }\r
-}\r
-\r
-function addSearchFormHref(sHref)\r
-{\r
-       gsSearchFormHref=sHref;\r
-       enableWebSearch(true);\r
-}\r
-\r
-function searchB(nForm)\r
-{\r
-       var sValue=eval("document.searchForm"+nForm+".searchString.value");\r
-       var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,sValue);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function getSearchFormHTML()\r
-{\r
-       var sHTML="";\r
-       gnForm++;\r
-       var sFormName="searchForm"+gnForm;\r
-       var sButton="<form name=\""+sFormName+"\" method=\"POST\" action=\"javascript:searchB("+gnForm+")\">"\r
-       sButton+="<input type=\"text\" name=\"searchString\" value=\"- Full Text search -\" size=\"20\"/>";\r
-       if(""=="text")\r
-       {\r
-               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\"></a>";\r
-       }\r
-       else if(""=="image")\r
-       {\r
-               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\">"\r
-               sButton+="<img src=\"\" border=0></a>";\r
-       }\r
-       sButton+="</form>";\r
-       sHTML="<td align=\"center\">"+sButton+"</td>";\r
-       return sHTML;\r
-}\r
-\r
-function showHidePane(bShow)\r
-{\r
-       var oMsg=null;\r
-       if(bShow)\r
-               oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);\r
-       else\r
-               oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null);\r
-       SendMessage(oMsg);\r
-}\r
-\r
-function isShowHideEnable()\r
-{\r
-       if(gbIE4)\r
-               return true;\r
-       else\r
-               return false;\r
-}\r
-\r
-\r
-function PickupDialog_Invoke()\r
-{\r
-       if(!gbIE4||gbMac)\r
-       {\r
-               if(typeof(_PopupMenu_Invoke)=="function")\r
-                       return _PopupMenu_Invoke(PickupDialog_Invoke.arguments);\r
-       }\r
-       else\r
-       {\r
-               if(PickupDialog_Invoke.arguments.length>2)\r
-               {\r
-                       var sPickup="whskin_pickup.htm";\r
-                       var sPickupPath=gsPPath+sPickup;\r
-                       if(gbIE4)\r
-                       {\r
-                               var sFrame=PickupDialog_Invoke.arguments[1];\r
-                               var aTopics=new Array();\r
-                               for(var i=2;i<PickupDialog_Invoke.arguments.length;i+=2)\r
-                               {\r
-                                       var j=aTopics.length;\r
-                                       aTopics[j]=new Object();\r
-                                       aTopics[j].m_sName=PickupDialog_Invoke.arguments[i];\r
-                                       aTopics[j].m_sURL=PickupDialog_Invoke.arguments[i+1];\r
-                               }\r
-\r
-                               if(aTopics.length>1)\r
-                               {\r
-                                       var nWidth=300;\r
-                                       var nHeight=180;\r
-                                       var     nScreenWidth=screen.width;\r
-                                       var     nScreenHeight=screen.height;\r
-                                       var nLeft=(nScreenWidth-nWidth)/2;\r
-                                       var nTop=(nScreenHeight-nHeight)/2;\r
-                                       if(gbIE4)\r
-                                       {\r
-                                               var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;");\r
-                                               if(vRet)\r
-                                               {\r
-                                                       var sURL=vRet.m_url;\r
-                                                       if(sFrame)\r
-                                                               window.open(sURL,sFrame);\r
-                                                       else\r
-                                                               window.open(sURL,"_self");\r
-                                               }\r
-                                       }\r
-                               }\r
-                               else if(aTopics.length==1)\r
-                               {\r
-                                       var sURL=aTopics[0].m_sURL\r
-                                       if(sFrame)\r
-                                               window.open(sURL,sFrame);\r
-                                       else\r
-                                               window.open(sURL,"_self");\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)\r
-{\r
-       RegisterListener("bsscright",WH_MSG_GETAVIAVENUES);\r
-       RegisterListener("bsscright",WH_MSG_GETTOCPATHS);\r
-       RegisterListener("bsscright",WH_MSG_NEXT);\r
-       RegisterListener("bsscright",WH_MSG_PREV);\r
-       RegisterListener("bsscright",WH_MSG_WEBSEARCH);\r
-       if(gbMac&&gbIE4)\r
-       {\r
-               if(typeof(window.onunload)!="unknown")\r
-                       if(window.onunload.toString!=unRegisterListener.toString)\r
-                               whtopic_foldUnload=window.onunload;\r
-       }\r
-       else\r
-       {\r
-               if(window.onunload)\r
-                       if(window.onunload.toString!=unRegisterListener.toString)\r
-                               whtopic_foldUnload=window.onunload;\r
-       }\r
-       window.onunload=unRegisterListener;\r
-       setButtonFont("show","","","","","","");\r
-setButtonFont("hide","","","","","","");\r
-\r
-       gbWhTopic=true;\r
-}\r
-else\r
-       document.location.reload();
\ No newline at end of file
+//     WebHelp 5.10.005
+var gsPPath="";
+var gaPaths=new Array();
+var gaAvenues=new Array();
+
+var goFrame=null;
+var gsStartPage="";
+var gsRelCurPagePath="";
+var gsSearchFormHref="";
+var gnTopicOnly=-1;
+var gnOutmostTopic=-1;
+
+var BTN_TEXT=1;
+var BTN_IMG=2;
+
+var goSync=null;
+
+var goShow=null;
+var goHide=null;
+
+var goPrev=null;
+var goNext=null;
+var gnForm=0;
+var goShowNav=null;
+var goHideNav=null;
+
+var goWebSearch=null;
+
+var gsBtnStyle="";
+var gaButtons=new Array();
+var gaTypes=new Array();
+var whtopic_foldUnload=null;
+var gbWhTopic=false;
+var gbCheckSync=false;
+var gbSyncEnabled=false;
+
+function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)
+{
+       var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);
+       gsBtnStyle+=".whtbtn"+sType+"{"+getFontStyle(vFont)+"}";
+}
+
+function writeBtnStyle()
+{
+       if(gaButtons.length>0)
+       {
+               if(gsBtnStyle.length>0)
+               {
+                       var sStyle="<style type='text/css'>";
+                       sStyle+=gsBtnStyle+"</style>";
+                       document.write(sStyle);
+               }
+       }
+}
+
+function button(sText,nWidth,nHeight)
+{
+       this.sText=sText;
+       this.nWidth=nWidth;
+       this.nHeight=nHeight;
+       
+       this.aImgs=new Array();
+       var i=0;
+       while(button.arguments.length>i+3)
+       {
+               this.aImgs[i]=button.arguments[3+i];
+               i++;
+       }
+}
+
+//project info
+function setRelStartPage(sPath)
+{
+       if(gsPPath.length==0)
+       {
+               gsPPath=_getFullPath(_getPath(document.location.href),_getPath(sPath));
+               gsStartPage=_getFullPath(_getPath(document.location.href),sPath);
+               gsRelCurPagePath=_getRelativeFileName(gsStartPage,document.location.href);
+       }
+}
+
+function getImage(oImage,sType)
+{
+       var sImg="";
+       if(oImage&&oImage.aImgs&&(oImage.aImgs.length>0))
+       {
+               sImg+="<img alt=\""+sType+"\" src=\""+oImage.aImgs[0]+"\"";
+               if(oImage.nWidth>0)
+                       sImg+=" width="+oImage.nWidth;
+               if(oImage.nHeight>0)
+                       sImg+=" height="+oImage.nHeight;
+               sImg+=" border=0>";
+       }
+       return sImg;
+}
+
+function addTocInfo(sTocPath)
+{
+       gaPaths[gaPaths.length]=sTocPath;
+}
+
+function addAvenueInfo(sName,sPrev,sNext)
+{
+       gaAvenues[gaAvenues.length]=new avenueInfo(sName,sPrev,sNext);  
+}
+
+function addButton(sType,nStyle,sText,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sImg1,sImg2,sImg3)
+{
+       var sButton="";
+       var nBtn=gaButtons.length;
+       if(sType=="prev")
+       {
+               if(canGo(false))
+               {
+                       var sTitle="Previous Topic";
+                       goPrev=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnprev\" href=\"javascript:void(0);\" onclick=\"goAvenue(false);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goPrev.sText;
+                       else
+                               sButton+=getImage(goPrev,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="next")
+       {
+               if(canGo(true))
+               {
+                       var sTitle="Next Topic";
+                       goNext=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnnext\" href=\"javascript:void(0);\" onclick=\"goAvenue(true);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goNext.sText;
+                       else
+                               sButton+=getImage(goNext,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="show")
+       {
+               if(isTopicOnly()&&(!gbOpera6||gbOpera7))
+               {
+                       var sTitle="Show Navigation Component";
+                       goShow=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goShow.sText;
+                       else
+                               sButton+=getImage(goShow,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="hide")
+       {
+               if(!isTopicOnly()&&!gbOpera6)
+               {
+                       var sTitle="Hide Navigation Component";
+                       goHide=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhide\" href=\"javascript:void(0);\" onclick=\"hide();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goHide.sText;
+                       else
+                               sButton+=getImage(goHide,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="shownav")
+       {
+               if(isShowHideEnable())
+               {
+                       var sTitle="Show Navigation Component";
+                       goShowNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnshownav\" href=\"javascript:void(0);\" onclick=\"showHidePane(true);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goShowNav.sText;
+                       else
+                               sButton+=getImage(goShowNav,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="hidenav")
+       {
+               if(isShowHideEnable())
+               {
+                       var sTitle="Hide Navigation Component";
+                       goHideNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnhidenav\" href=\"javascript:void(0);\" onclick=\"showHidePane(false);return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goHideNav.sText;
+                       else
+                               sButton+=getImage(goHideNav,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="synctoc")
+       {
+               if(gaPaths.length>0)
+               {
+                       var sTitle="Sync TOC";
+                       goSync=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnsynctoc\" href=\"javascript:void(0);\" onclick=\"syncWithShow();return false;\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goSync.sText;
+                       else
+                               sButton+=getImage(goSync,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="websearch")
+       {
+               if(gsSearchFormHref.length>0)
+               {
+                       var sTitle="WebSearch";
+                       goWebSearch=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3);
+                       sButton="<a title=\""+sTitle+"\" class=\"whtbtnwebsearch\" href=\""+gsSearchFormHref+"\">";
+                       if(nStyle==BTN_TEXT)
+                               sButton+=goWebSearch.sText;
+                       else
+                               sButton+=getImage(goWebSearch,sTitle);
+                       sButton+="</a>";
+               }
+       }
+       else if(sType=="searchform")
+       {
+               gaButtons[nBtn]="NeedSearchForm";
+               gaTypes[nBtn]=sType;
+       }
+       if(sButton.length!=0)
+       {
+               if(nStyle==BTN_TEXT)
+                       sButton+="&nbsp;";
+               gaButtons[nBtn]="<td>"+sButton+"</td>";
+               gaTypes[nBtn]=sType;
+       }
+}
+
+function isSyncEnabled()
+{
+       if(!gbCheckSync)
+       {
+               var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null);
+               if(SendMessage(oMsg))
+               {
+                       gbSyncEnabled=oMsg.oParam;
+               }
+               gbCheckSync=true;
+       }
+       return gbSyncEnabled;
+}
+
+function isInPopup()
+{
+       return (window.name.indexOf("BSSCPopup")!=-1);
+}
+
+function getIntopicBar(sAlign)
+{
+       var sHTML="";
+       if(gaButtons.length>0)
+       {
+               sHTML+="<div align="+sAlign+">";
+
+               sHTML+="<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";
+               for(var i=0;i<gaButtons.length;i++)
+               {
+                       if(gaTypes[i]!="synctoc"||isSyncEnabled())
+                       {
+                               if(gaButtons[i]=="NeedSearchForm")
+                                       sHTML+=getSearchFormHTML();
+                               else
+                                       sHTML+=gaButtons[i];
+                       }
+               }
+               sHTML+="</tr></table>";
+
+               sHTML+="</div>";
+       }
+       return sHTML;
+}
+
+
+function writeIntopicBar(nAligns)
+{
+       if(isInPopup()) return;
+       if(gaButtons.length>0)
+       {
+               var sHTML="";
+               if(nAligns!=0)
+               {
+                       sHTML+="<table width=100%><tr>"
+                       if(nAligns&1)
+                               sHTML+="<td width=33%>"+getIntopicBar("left")+"</td>";
+                       if(nAligns&2)
+                               sHTML+="<td width=34%>"+getIntopicBar("center")+"</td>";
+                       if(nAligns&4)
+                               sHTML+="<td width=33%>"+getIntopicBar("right")+"</td>";
+                       sHTML+="</tr></table>";
+                       document.write(sHTML);
+               }
+       }
+}
+
+function sendAveInfoOut()
+{
+       if(!isInPopup())
+               setTimeout("sendAveInfo();",100);
+}
+
+function sendAveInfo()
+{
+       var oMsg=new whMessage(WH_MSG_AVENUEINFO,this,1,gaAvenues);
+       SendMessage(oMsg);
+}
+
+
+function onNext()
+{
+       var oMsg=new whMessage(WH_MSG_NEXT,this,1,null);
+       SendMessage(oMsg);
+}
+
+function onPrev()
+{
+       var oMsg=new whMessage(WH_MSG_PREV,this,1,null);
+       SendMessage(oMsg);
+}
+
+function createSyncInfo()
+{
+       var oParam=new Object();
+       if(gsPPath.length==0)
+               gsPPath=_getPath(document.location.href);
+       oParam.sPPath=gsPPath;
+       oParam.sTPath=document.location.href;
+       oParam.aPaths=gaPaths;
+       return oParam;
+}
+
+function syncWithShow()
+{
+       if(isTopicOnly())
+               show();
+       else
+       {
+               sync();
+               showTocPane();
+       }
+}
+
+function showTocPane()
+{
+       var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null);
+       SendMessage(oMsg);
+}
+
+function sendSyncInfo()
+{
+       if(!isInPopup())
+       {
+               var oParam=null;
+               if(gaPaths.length>0)
+               {
+                       oParam=createSyncInfo();
+               }
+               var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,oParam);
+               SendMessage(oMsg);
+       }
+}
+
+function sendInvalidSyncInfo()
+{
+       if(!isInPopup())
+       {
+               var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,null);
+               SendMessage(oMsg);
+       }
+}
+
+function enableWebSearch(bEnable)
+{
+       if(!isInPopup())
+       {
+               var oMsg=new whMessage(WH_MSG_ENABLEWEBSEARCH,this,1,bEnable);
+               SendMessage(oMsg);
+       }
+}
+
+function autoSync(nSync)
+{
+       if(nSync==0) return;
+       if(isInPopup()) return;
+       if(isOutMostTopic())
+               sync();
+}
+
+function isOutMostTopic()
+{
+       if(gnOutmostTopic==-1)
+       {
+               var oMessage=new whMessage(WH_MSG_ISINFRAMESET,this,1,null);
+               if(SendMessage(oMessage))
+                       gnOutmostTopic=0;
+               else
+                       gnOutmostTopic=1;
+       }
+       return (gnOutmostTopic==1);
+}
+
+function sync()
+{
+       if(gaPaths.length>0)
+       {
+               var oParam=createSyncInfo();
+               var oMessage=new whMessage(WH_MSG_SYNCTOC,this,1,oParam);
+               SendMessage(oMessage);
+       }
+}
+
+
+function avenueInfo(sName,sPrev,sNext)
+{
+       this.sName=sName;
+       this.sPrev=sPrev;
+       this.sNext=sNext;
+}
+
+function getCurrentAvenue()
+{
+       var oParam=new Object();
+       oParam.sAvenue=null;
+       var oMessage=new whMessage(WH_MSG_GETCURRENTAVENUE,this,1,oParam);
+       SendMessage(oMessage);
+       return oParam.sAvenue;
+}
+
+function unRegisterListener()
+{
+       sendInvalidSyncInfo();
+       enableWebSearch(false);
+       if(whtopic_foldUnload)
+               whtopic_foldUnload();
+}
+
+function onSendMessage(oMsg)
+{
+       var nMsgId=oMsg.nMessageId;
+       if(nMsgId==WH_MSG_GETAVIAVENUES)
+       {
+               oMsg.oParam.aAvenues=gaAvenues;
+               return false;
+       }
+       else if(nMsgId==WH_MSG_GETTOCPATHS)
+       {
+               if(isOutMostTopic())
+               {
+                       oMsg.oParam.oTocInfo=createSyncInfo();
+                       return false;           
+               }
+               else
+                       return true;
+       }
+       else if(nMsgId==WH_MSG_NEXT)
+       {
+               goAvenue(true);
+       }
+       else if(nMsgId==WH_MSG_PREV)
+       {
+               goAvenue(false);
+       }
+       else if(nMsgId==WH_MSG_WEBSEARCH)
+       {
+               websearch();
+       }
+       return true;
+}
+
+function goAvenue(bNext)
+{
+       var sTopic=null;
+       var sAvenue=getCurrentAvenue();
+       var nAvenue=-1;
+       if(sAvenue!=null&&sAvenue!="")
+       {
+               for(var i=0;i<gaAvenues.length;i++)
+               {
+                       if(gaAvenues[i].sName==sAvenue)
+                       {
+                               nAvenue=i;
+                               break;
+                       }
+               }
+               if(nAvenue!=-1)
+               {
+                       if(bNext)
+                               sTopic=gaAvenues[nAvenue].sNext;
+                       else
+                               sTopic=gaAvenues[nAvenue].sPrev;
+               }
+       }
+       else
+       {
+               for(var i=0;i<gaAvenues.length;i++)
+               {
+                       if(gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext)
+                       {
+                               sTopic=gaAvenues[i].sNext;
+                               break;
+                       }
+                       else if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext)
+                       {
+                               sTopic=gaAvenues[i].sPrev;
+                               break;
+                       }
+               }
+       }
+       
+       if(sTopic!=null&&sTopic!="")
+       {
+               if(gsPPath!=null&&gsPPath!="")
+               {
+                       sFullTopicPath=_getFullPath(gsPPath,sTopic);
+                       document.location=sFullTopicPath;
+               }
+       }
+}
+
+function canGo(bNext)
+{
+       for(var i=0;i<gaAvenues.length;i++)
+       {
+               if((gaAvenues[i].sNext!=null&&gaAvenues[i].sNext.length>0&&bNext)||
+                       (gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext))
+                       return true;
+       }
+       return false;
+}
+
+function show()
+{
+       if(gsStartPage!="")
+               window.location=gsStartPage+"#"+gsRelCurPagePath;
+}
+
+function hide()
+{
+       if(goFrame!=null)
+       {
+               goFrame.location=window.location;
+       }
+}
+
+function isTopicOnly()
+{
+       if(gnTopicOnly==-1)
+       {
+               var oParam=new Object();
+               oParam.oFrame=null;
+               var oMsg=new whMessage(WH_MSG_GETSTARTFRAME,this,1,oParam);
+               if(SendMessage(oMsg))
+               {
+                       goFrame=oParam.oFrame;
+                       gnTopicOnly=0;
+               }
+               else
+                       gnTopicOnly=1;
+       }
+       if(gnTopicOnly==1)
+               return true;
+       else
+               return false;
+}
+
+function websearch()
+{
+       if(gbNav4)
+       {
+               if(document.ehelpform)
+                       document.ehelpform.submit();
+       }
+       else
+       {
+               if(window.ehelpform)
+                       window.ehelpform.submit();
+       }
+}
+
+function addSearchFormHref(sHref)
+{
+       gsSearchFormHref=sHref;
+       enableWebSearch(true);
+}
+
+function searchB(nForm)
+{
+       var sValue=eval("document.searchForm"+nForm+".searchString.value");
+       var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,sValue);
+       SendMessage(oMsg);
+}
+
+function getSearchFormHTML()
+{
+       var sHTML="";
+       gnForm++;
+       var sFormName="searchForm"+gnForm;
+       var sButton="<form name=\""+sFormName+"\" method=\"POST\" action=\"javascript:searchB("+gnForm+")\">"
+       sButton+="<input type=\"text\" name=\"searchString\" value=\"- Full Text search -\" size=\"20\"/>";
+       if(""=="text")
+       {
+               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\"></a>";
+       }
+       else if(""=="image")
+       {
+               sButton+="<a class=\"searchbtn\" href=\"javascript:void(0);\" onclick=\""+sFormName+".submit();return false;\">"
+               sButton+="<img src=\"\" border=0></a>";
+       }
+       sButton+="</form>";
+       sHTML="<td align=\"center\">"+sButton+"</td>";
+       return sHTML;
+}
+
+function showHidePane(bShow)
+{
+       var oMsg=null;
+       if(bShow)
+               oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null);
+       else
+               oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null);
+       SendMessage(oMsg);
+}
+
+function isShowHideEnable()
+{
+       if(gbIE4)
+               return true;
+       else
+               return false;
+}
+
+
+function PickupDialog_Invoke()
+{
+       if(!gbIE4||gbMac)
+       {
+               if(typeof(_PopupMenu_Invoke)=="function")
+                       return _PopupMenu_Invoke(PickupDialog_Invoke.arguments);
+       }
+       else
+       {
+               if(PickupDialog_Invoke.arguments.length>2)
+               {
+                       var sPickup="whskin_pickup.htm";
+                       var sPickupPath=gsPPath+sPickup;
+                       if(gbIE4)
+                       {
+                               var sFrame=PickupDialog_Invoke.arguments[1];
+                               var aTopics=new Array();
+                               for(var i=2;i<PickupDialog_Invoke.arguments.length;i+=2)
+                               {
+                                       var j=aTopics.length;
+                                       aTopics[j]=new Object();
+                                       aTopics[j].m_sName=PickupDialog_Invoke.arguments[i];
+                                       aTopics[j].m_sURL=PickupDialog_Invoke.arguments[i+1];
+                               }
+
+                               if(aTopics.length>1)
+                               {
+                                       var nWidth=300;
+                                       var nHeight=180;
+                                       var     nScreenWidth=screen.width;
+                                       var     nScreenHeight=screen.height;
+                                       var nLeft=(nScreenWidth-nWidth)/2;
+                                       var nTop=(nScreenHeight-nHeight)/2;
+                                       if(gbIE4)
+                                       {
+                                               var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;");
+                                               if(vRet)
+                                               {
+                                                       var sURL=vRet.m_url;
+                                                       if(sFrame)
+                                                               window.open(sURL,sFrame);
+                                                       else
+                                                               window.open(sURL,"_self");
+                                               }
+                                       }
+                               }
+                               else if(aTopics.length==1)
+                               {
+                                       var sURL=aTopics[0].m_sURL
+                                       if(sFrame)
+                                               window.open(sURL,sFrame);
+                                       else
+                                               window.open(sURL,"_self");
+                               }
+                       }
+               }
+       }
+}
+
+if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy)
+{
+       RegisterListener("bsscright",WH_MSG_GETAVIAVENUES);
+       RegisterListener("bsscright",WH_MSG_GETTOCPATHS);
+       RegisterListener("bsscright",WH_MSG_NEXT);
+       RegisterListener("bsscright",WH_MSG_PREV);
+       RegisterListener("bsscright",WH_MSG_WEBSEARCH);
+       if(gbMac&&gbIE4)
+       {
+               if(typeof(window.onunload)!="unknown")
+                       if(window.onunload.toString!=unRegisterListener.toString)
+                               whtopic_foldUnload=window.onunload;
+       }
+       else
+       {
+               if(window.onunload)
+                       if(window.onunload.toString!=unRegisterListener.toString)
+                               whtopic_foldUnload=window.onunload;
+       }
+       window.onunload=unRegisterListener;
+       setButtonFont("show","","","","","","");
+setButtonFont("hide","","","","","","");
+
+       gbWhTopic=true;
+}
+else
+       document.location.reload();
index 85fae7e05b81c3ae6071ef877ba6715b66a1c82a..5026b24a3558a7ce36cb9491a5c9424acbb8778b 100755 (executable)
-//     WebHelp 5.10.004\r
-var gsFileName="";\r
-var gsDivName="";\r
-var xmlDoc=null;\r
-var sdocPath=null;\r
-var gsInsertBeforeEndHTML="";\r
-var sReplaceStringsSrc=new Array();\r
-var gsDivName="dataDiv";\r
-var gnLoadDivNum=0;\r
-sReplaceStringsSrc[0]="&amp;";\r
-sReplaceStringsSrc[1]="&gt;";\r
-sReplaceStringsSrc[2]="&lt;";\r
-sReplaceStringsSrc[3]="&quot;";\r
-sReplaceStringsSrc[4]=String.fromCharCode(8364);\r
-sReplaceStringsSrc[5]="&nbsp;";\r
-\r
-var sReplaceStringsDst=new Array();\r
-sReplaceStringsDst[0]="&";\r
-sReplaceStringsDst[1]=">";\r
-sReplaceStringsDst[2]="<";\r
-sReplaceStringsDst[3]="\"";\r
-sReplaceStringsDst[4]=String.fromCharCode(128);\r
-sReplaceStringsDst[5]=" ";\r
-var goHighLighted=null;\r
-\r
-function _getRelativePath(strParentPath,strCurrentPath)\r
-{\r
-       if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath);\r
-       strParentPath=_replaceSlash(strParentPath);\r
-       strParentPath=_getPath(strParentPath);\r
-       strCurrentPath=_replaceSlash(strCurrentPath);\r
-       strCurrentPath=_getPath(strCurrentPath);\r
-       for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)\r
-       {\r
-               if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))\r
-                       break;\r
-       }\r
-       \r
-       strParentPath=strParentPath.substring(i);\r
-       strCurrentPath=strCurrentPath.substring(i);     \r
-       \r
-       var nPathPos=0;\r
-       while(nPathPos!=-1)\r
-       {\r
-               nPathPos=strParentPath.indexOf("/");\r
-               if(nPathPos!=-1)\r
-               {\r
-                       strParentPath=strParentPath.substring(nPathPos+1);\r
-                       strCurrentPath="../"+strCurrentPath;\r
-               }\r
-       }\r
-       return strCurrentPath;\r
-}\r
-\r
-function _getRelativeFileName(strParentPath,strCurrentPath)\r
-{\r
-       strParentPath=_replaceSlash(strParentPath);\r
-       strParentPath=_getPath(strParentPath);\r
-       strCurrentPath=_replaceSlash(strCurrentPath);\r
-       for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)\r
-       {\r
-               if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))\r
-                       break;\r
-       }\r
-       \r
-       strParentPath=strParentPath.substring(i);\r
-       strCurrentPath=strCurrentPath.substring(i);     \r
-       \r
-       var nPathPos=0;\r
-       while(nPathPos!=-1)\r
-       {\r
-               nPathPos=strParentPath.indexOf("/");\r
-               if(nPathPos!=-1)\r
-               {\r
-                       strParentPath=strParentPath.substring(nPathPos+1);\r
-                       strCurrentPath="../"+strCurrentPath;\r
-               }\r
-       }\r
-       return strCurrentPath;\r
-}\r
-\r
-function _isAbsPathToHost(sPath)\r
-{\r
-       return (sPath.indexOf("/")==0);\r
-}\r
-\r
-function _getHost(sPath)\r
-{\r
-       var nPos=sPath.indexOf("//");\r
-       if(nPos>0)\r
-       {\r
-               var nPosx=sPath.indexOf("/",nPos+2);\r
-               if(nPosx>0)\r
-                       return sPath.substring(0,nPosx);\r
-               else\r
-                       return sPath;\r
-       }\r
-       return sPath;\r
-}\r
-\r
-function _getFullPath(sPath,sRelPath)\r
-{\r
-       if(_isAbsPath(sRelPath))\r
-               return sRelPath;\r
-       else if(_isAbsPathToHost(sRelPath))\r
-               return _getHost(sPath)+sRelPath;\r
-       else\r
-       {\r
-               var sFullPath=sPath;\r
-               var nPathPos=0;\r
-               while(nPathPos!=-1)\r
-               {\r
-                       var nPathPos=sRelPath.indexOf("../");\r
-                       if(nPathPos!=-1)\r
-                       {\r
-                               sRelPath=sRelPath.substring(nPathPos+3);\r
-                               sFullPath=sFullPath.substring(0,sFullPath.length-1);\r
-                               var nPos2=sFullPath.lastIndexOf("/");\r
-                               if(nPos2!=-1)\r
-                                       sFullPath=sFullPath.substring(0,nPos2+1);\r
-                               else\r
-                                       break;\r
-                       }\r
-               }\r
-               sFullPath+=sRelPath;\r
-               return sFullPath;\r
-       }       \r
-}\r
-\r
-function _isAbsPath(strPath)\r
-{\r
-       var strUpper=strPath.toUpperCase();\r
-       return (strUpper.indexOf(":")!=-1||strUpper.indexOf("\\\\")==0);\r
-}\r
-\r
-function _replaceSlash(strURL)\r
-{      \r
-       var re=new RegExp("\\\\","g");\r
-       var strReplacedURL=strURL.replace(re,"/");\r
-       return strReplacedURL;\r
-}\r
-\r
-function _getPath(strURL)\r
-{\r
-       pathpos=strURL.lastIndexOf("/");\r
-       if(pathpos>0)\r
-               return strURL.substring(0,pathpos+1);\r
-       else\r
-               return "";\r
-}\r
-\r
-function removeItemFromArray(oArray,i)\r
-{\r
-       if(oArray.length&&i>=0&&i<oArray.length)\r
-       {\r
-               var len=oArray.length;\r
-               for(var s=i;s<len-1;s++)\r
-                       oArray[s]=oArray[s+1];\r
-               oArray.length=len-1;\r
-       }\r
-}\r
-\r
-function insertItemIntoArray(oArray,i,obj)\r
-{\r
-       if(oArray.length&&i>=0&&i<=oArray.length)\r
-       {\r
-               var len=oArray.length;\r
-               for(var s=len;s>i;s--)\r
-                       oArray[s]=oArray[s-1];\r
-               oArray[i]=obj;          \r
-       }\r
-}\r
-\r
-function loadData(sFileName)\r
-{\r
-       var i=gnLoadDivNum;\r
-       var sName=gsDivName+gnLoadDivNum++;\r
-       loadData_2(sFileName,sName);\r
-}\r
-\r
-function loadData_2(sFileName,sDivName)\r
-{\r
-       if(!getElement(sDivName))\r
-       {\r
-               if(!insertDataDiv(sDivName))\r
-               {\r
-                       gsFileName=sFileName;\r
-                       gsDivName=sDivName;\r
-                       return;\r
-               }\r
-       }\r
-       var sHTML="";\r
-       if(gbMac)\r
-               sHTML+="<iframe src=\""+sFileName+"\"></iframe>";\r
-       else\r
-               sHTML+="<iframe style=\"visibility:hidden;width:0;height:0\" src=\""+sFileName+"\"></iframe>";\r
-       \r
-       var oDivCon=getElement(sDivName);\r
-       if(oDivCon)\r
-       {\r
-               if(gbNav6)\r
-               {\r
-                       if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0)\r
-                       {\r
-                               oDivCon.getElementsByTagName("iFrame")[0].src=sFileName;\r
-                       }\r
-                       else\r
-                               oDivCon.innerHTML=sHTML;\r
-               }\r
-               else\r
-                       oDivCon.innerHTML=sHTML;\r
-       }\r
-}\r
-\r
-function loadDataXML(sFileName)\r
-{\r
-       var sCurrentDocPath=_getPath(document.location.href);\r
-       sdocPath=_getFullPath(sCurrentDocPath,sFileName);\r
-       if(gbIE5)\r
-       {\r
-               xmlDoc=new ActiveXObject("Microsoft.XMLDOM");\r
-               xmlDoc.async=true;\r
-               xmlDoc.onreadystatechange=checkState;\r
-               if(document.body!=null)\r
-                       xmlDoc.load(sdocPath);\r
-       }\r
-       else if(gbNav6)\r
-       {\r
-               xmlDoc=document.implementation.createDocument("","",null);\r
-               xmlDoc.addEventListener("load",initializeData,false);\r
-               xmlDoc.load(sdocPath,"text/xml");\r
-       }\r
-}\r
-\r
-function initializeData()\r
-{\r
-       if(xmlDoc!=null)\r
-               putDataXML(xmlDoc,sdocPath);\r
-}\r
-\r
-function checkState()\r
-{\r
-       if(xmlDoc!=null)\r
-       {\r
-               var state=xmlDoc.readyState;\r
-               if(state==4)\r
-               {\r
-                       var err=xmlDoc.parseError;\r
-                       if(err.errorCode==0)\r
-                               putDataXML(xmlDoc,sdocPath);\r
-                       else\r
-                               onLoadXMLError();\r
-               }\r
-       }\r
-}\r
-\r
-function insertDataDiv(sName)\r
-{\r
-       var sHTML="";\r
-       if(gbMac)\r
-               sHTML+="<div id="+sName+" style=\"display:none;\"></div>";\r
-       else\r
-               sHTML+="<div id="+sName+" style=\"visibility:hidden\"></div>";\r
-       if((gbIE5||gbNav6)&&document.body)\r
-               document.body.insertAdjacentHTML("beforeEnd",sHTML);\r
-       else\r
-       {\r
-               gsInsertBeforeEndHTML=sHTML;\r
-               setTimeout("insertWhenBodyReady();",100);\r
-               return false;\r
-       }\r
-       return true;\r
-}\r
-\r
-function insertWhenBodyReady()\r
-{\r
-       if(gsInsertBeforeEndHTML=="") return;\r
-       if(document.body)\r
-       {\r
-               document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML);\r
-               gsInsertBeforeEndHTML="";\r
-               loadData_2(gsFileName,gsDivName);\r
-       }\r
-       else\r
-       {\r
-               setTimeout("insertWhenBodyReady();",100);\r
-       }\r
-}\r
-\r
-function window_BUnload()\r
-{\r
-       for(var i=0;i<gnLoadDivNum;i++)\r
-       {\r
-               var oDivCon=getElement(gsDivName+i);\r
-               if(oDivCon)\r
-                       oDivCon.innerHTML="";\r
-       }\r
-}\r
-\r
-function removeThis(obj)\r
-{\r
-       if(obj.parentNode)\r
-               obj.parentNode.removeChild(obj);\r
-       else\r
-               obj.outerHTML="";\r
-}\r
-\r
-function getParentNode(obj)\r
-{\r
-       if(obj.parentNode)\r
-               return obj.parentNode;\r
-       else if(obj.parentElement)\r
-               return obj.parentElement;\r
-       return null;\r
-}\r
-\r
-function getElement(sID)\r
-{\r
-       if(document.getElementById)\r
-               return document.getElementById(sID);\r
-       else if(document.all)\r
-               return document.all(sID);\r
-       return null;\r
-}\r
-\r
-function getChildrenByTag(obj,sTagName)\r
-{\r
-       if(obj.getElementsByTagName)\r
-       {\r
-               var aChildren=new Array();\r
-               var aElements=getElementsByTag(obj,sTagName);\r
-               if(aElements!=null)\r
-               {\r
-                       for(var i=0;i<aElements.length;i++)\r
-                       {\r
-                               if(aElements[i].parentNode==obj)\r
-                                       aChildren[aChildren.length]=aElements[i];\r
-                       }\r
-                       return aChildren;\r
-               }\r
-               else\r
-                       return new Array();\r
-       }\r
-       else if(obj.children)\r
-               return obj.children.tags(sTagName);\r
-}\r
-\r
-function getElementsByTag(obj,sTagName)\r
-{\r
-       if(obj.getElementsByTagName)\r
-               return obj.getElementsByTagName(sTagName);\r
-       else if(obj.all)\r
-               return obj.all.tags(sTagName);\r
-       return null;\r
-}\r
-\r
-function _htmlToText(sHTML)\r
-{\r
-       if(sHTML==null) return null;\r
-       var sText=sHTML;\r
-       for(var i=0;i<sReplaceStringsSrc.length;i++)\r
-       {\r
-               var re=new RegExp(sReplaceStringsSrc[i],"g");\r
-               sText=sText.replace(re,sReplaceStringsDst[i]);\r
-       }       \r
-       return sText;\r
-}\r
-\r
-function _textToHtml_nonbsp(sText)\r
-{\r
-       if(sText==null) return null;\r
-       var sHTML=sText;\r
-       for(var i=0;i<sReplaceStringsSrc.length-1;i++)\r
-       {\r
-               var re=new RegExp(sReplaceStringsDst[i],"g");\r
-               sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);\r
-       }       \r
-       return sHTML;\r
-}\r
-\r
-function _textToHtml(sText)\r
-{\r
-       if(sText==null) return null;\r
-       var sHTML=sText;\r
-       for(var i=0;i<sReplaceStringsSrc.length;i++)\r
-       {\r
-               var re=new RegExp(sReplaceStringsDst[i],"g");\r
-               sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);\r
-       }       \r
-       return sHTML;\r
-}\r
-\r
-\r
-function getInnerText(obj)\r
-{\r
-       var renbsp2sp=new RegExp("\xa0","g");\r
-       if(obj.innerText)\r
-       {\r
-               var sText=obj.innerText;\r
-               sText=sText.replace(renbsp2sp," ");\r
-               return sText;\r
-       }\r
-       else\r
-       {\r
-               if(obj.nodeValue)\r
-               {\r
-                       var sValue=obj.nodeValue;\r
-                       sValue=sValue.replace(renbsp2sp," ");\r
-                       return sValue;\r
-               }\r
-               else\r
-               {\r
-                       var sText="";\r
-                       var oChild=obj.firstChild;\r
-                       while(oChild!=null)\r
-                       {\r
-                               sText+=getInnerText(oChild);\r
-                               oChild=oChild.nextSibling;\r
-                       }\r
-                       return sText;\r
-               }\r
-       }\r
-               \r
-}\r
-\r
-function HighLightElement(obj,sHighLightColor,sNormalColor)\r
-{\r
-       if(obj!=null)\r
-       {\r
-               resetHighLight(sNormalColor);\r
-               if (obj.style)\r
-                       obj.style.backgroundColor=sHighLightColor;\r
-               goHighLighted=obj;\r
-       }\r
-}\r
-\r
-function resetHighLight(sNormalColor)\r
-{\r
-       if(goHighLighted!=null)\r
-       {\r
-               if (goHighLighted.style)\r
-                       goHighLighted.style.backgroundColor=sNormalColor;\r
-               goHighLighted=null;\r
-       }\r
-}\r
-\r
-function whFont(sName,sSize,sColor,sStyle,sWeight,sDecoration)\r
-{\r
-       this.sName=sName;\r
-       this.sSize=sSize;\r
-       this.sColor=sColor;\r
-       this.sStyle=sStyle;\r
-       this.sWeight=sWeight;\r
-       this.sDecoration=sDecoration;\r
-}\r
-\r
-function getFontStyle(oFont)\r
-{\r
-       var sStyle="";\r
-       if(oFont)\r
-       {\r
-               sStyle+="font-family:"+oFont.sName+";";\r
-               if(gbMac)\r
-               {\r
-                       var nSize=parseInt(oFont.sSize);\r
-                       if(gbIE5)\r
-                               nSize+=2;\r
-                       else\r
-                               nSize+=4;\r
-                       sStyle+="font-size:"+nSize+"pt;";\r
-               }\r
-               else\r
-                       sStyle+="font-size:"+oFont.sSize+";";\r
-                       \r
-               sStyle+="font-style:"+oFont.sStyle+";";\r
-               sStyle+="font-weight:"+oFont.sWeight+";";\r
-               sStyle+="text-decoration:"+oFont.sDecoration+";";\r
-               sStyle+="color:"+oFont.sColor+";";\r
-       }\r
-       return sStyle;\r
-}\r
-\r
-function _browserStringToText(sBStr)\r
-{\r
-       var sText="";\r
-       // change %xxx back to the real char.\r
-       var nPos=sBStr.indexOf('%');\r
-       while(nPos!=-1)\r
-       {\r
-               sText+=sBStr.substring(0,nPos);\r
-               sBStr=sBStr.substring(nPos+1);\r
-               var sNum="";\r
-               var i=0;\r
-               while(sBStr.charAt(i)>='0'&&sBStr.charAt(i)<='9')\r
-               {\r
-                       sNum+=sBStr.charAt(i++);        \r
-               }\r
-               if(sNum!=""){\r
-                       var nNum=parseInt(sNum,16);\r
-                       sText+=String.fromCharCode(nNum);\r
-                       sBStr=sBStr.substring(i);\r
-               }\r
-               nPos=sBStr.indexOf('%');\r
-       }\r
-       sText+=sBStr;\r
-       return sText;\r
-}\r
-\r
-function excapeSingleQuotandSlash(str)\r
-{\r
-       if(str==null) return null;\r
-       var nPos=0;\r
-       var sRes="";\r
-       var nPosNew=str.indexOf("\\",nPos);\r
-       while(nPosNew!=-1){\r
-               sRes+=str.substring(nPos,nPosNew+1)+"\\";\r
-               nPos=nPosNew+1;\r
-               nPosNew=str.indexOf("\\",nPos);\r
-       }\r
-       if(nPos<str.length)\r
-               sRes+=str.substring(nPos);\r
-       var re=new RegExp("'","g");\r
-       sRes=sRes.replace(re,"\\'");\r
-       return sRes;\r
-}\r
-\r
+//     WebHelp 5.10.004
+var gsFileName="";
+var gsDivName="";
+var xmlDoc=null;
+var sdocPath=null;
+var gsInsertBeforeEndHTML="";
+var sReplaceStringsSrc=new Array();
+var gsDivName="dataDiv";
+var gnLoadDivNum=0;
+sReplaceStringsSrc[0]="&amp;";
+sReplaceStringsSrc[1]="&gt;";
+sReplaceStringsSrc[2]="&lt;";
+sReplaceStringsSrc[3]="&quot;";
+sReplaceStringsSrc[4]=String.fromCharCode(8364);
+sReplaceStringsSrc[5]="&nbsp;";
+
+var sReplaceStringsDst=new Array();
+sReplaceStringsDst[0]="&";
+sReplaceStringsDst[1]=">";
+sReplaceStringsDst[2]="<";
+sReplaceStringsDst[3]="\"";
+sReplaceStringsDst[4]=String.fromCharCode(128);
+sReplaceStringsDst[5]=" ";
+var goHighLighted=null;
+
+function _getRelativePath(strParentPath,strCurrentPath)
+{
+       if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath);
+       strParentPath=_replaceSlash(strParentPath);
+       strParentPath=_getPath(strParentPath);
+       strCurrentPath=_replaceSlash(strCurrentPath);
+       strCurrentPath=_getPath(strCurrentPath);
+       for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
+       {
+               if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
+                       break;
+       }
+       
+       strParentPath=strParentPath.substring(i);
+       strCurrentPath=strCurrentPath.substring(i);     
+       
+       var nPathPos=0;
+       while(nPathPos!=-1)
+       {
+               nPathPos=strParentPath.indexOf("/");
+               if(nPathPos!=-1)
+               {
+                       strParentPath=strParentPath.substring(nPathPos+1);
+                       strCurrentPath="../"+strCurrentPath;
+               }
+       }
+       return strCurrentPath;
+}
+
+function _getRelativeFileName(strParentPath,strCurrentPath)
+{
+       strParentPath=_replaceSlash(strParentPath);
+       strParentPath=_getPath(strParentPath);
+       strCurrentPath=_replaceSlash(strCurrentPath);
+       for(var i=0;i<strParentPath.length&&i<strCurrentPath.length;i++)
+       {
+               if(strParentPath.charAt(i)!=strCurrentPath.charAt(i))
+                       break;
+       }
+       
+       strParentPath=strParentPath.substring(i);
+       strCurrentPath=strCurrentPath.substring(i);     
+       
+       var nPathPos=0;
+       while(nPathPos!=-1)
+       {
+               nPathPos=strParentPath.indexOf("/");
+               if(nPathPos!=-1)
+               {
+                       strParentPath=strParentPath.substring(nPathPos+1);
+                       strCurrentPath="../"+strCurrentPath;
+               }
+       }
+       return strCurrentPath;
+}
+
+function _isAbsPathToHost(sPath)
+{
+       return (sPath.indexOf("/")==0);
+}
+
+function _getHost(sPath)
+{
+       var nPos=sPath.indexOf("//");
+       if(nPos>0)
+       {
+               var nPosx=sPath.indexOf("/",nPos+2);
+               if(nPosx>0)
+                       return sPath.substring(0,nPosx);
+               else
+                       return sPath;
+       }
+       return sPath;
+}
+
+function _getFullPath(sPath,sRelPath)
+{
+       if(_isAbsPath(sRelPath))
+               return sRelPath;
+       else if(_isAbsPathToHost(sRelPath))
+               return _getHost(sPath)+sRelPath;
+       else
+       {
+               var sFullPath=sPath;
+               var nPathPos=0;
+               while(nPathPos!=-1)
+               {
+                       var nPathPos=sRelPath.indexOf("../");
+                       if(nPathPos!=-1)
+                       {
+                               sRelPath=sRelPath.substring(nPathPos+3);
+                               sFullPath=sFullPath.substring(0,sFullPath.length-1);
+                               var nPos2=sFullPath.lastIndexOf("/");
+                               if(nPos2!=-1)
+                                       sFullPath=sFullPath.substring(0,nPos2+1);
+                               else
+                                       break;
+                       }
+               }
+               sFullPath+=sRelPath;
+               return sFullPath;
+       }       
+}
+
+function _isAbsPath(strPath)
+{
+       var strUpper=strPath.toUpperCase();
+       return (strUpper.indexOf(":")!=-1||strUpper.indexOf("\\\\")==0);
+}
+
+function _replaceSlash(strURL)
+{      
+       var re=new RegExp("\\\\","g");
+       var strReplacedURL=strURL.replace(re,"/");
+       return strReplacedURL;
+}
+
+function _getPath(strURL)
+{
+       pathpos=strURL.lastIndexOf("/");
+       if(pathpos>0)
+               return strURL.substring(0,pathpos+1);
+       else
+               return "";
+}
+
+function removeItemFromArray(oArray,i)
+{
+       if(oArray.length&&i>=0&&i<oArray.length)
+       {
+               var len=oArray.length;
+               for(var s=i;s<len-1;s++)
+                       oArray[s]=oArray[s+1];
+               oArray.length=len-1;
+       }
+}
+
+function insertItemIntoArray(oArray,i,obj)
+{
+       if(oArray.length&&i>=0&&i<=oArray.length)
+       {
+               var len=oArray.length;
+               for(var s=len;s>i;s--)
+                       oArray[s]=oArray[s-1];
+               oArray[i]=obj;          
+       }
+}
+
+function loadData(sFileName)
+{
+       var i=gnLoadDivNum;
+       var sName=gsDivName+gnLoadDivNum++;
+       loadData_2(sFileName,sName);
+}
+
+function loadData_2(sFileName,sDivName)
+{
+       if(!getElement(sDivName))
+       {
+               if(!insertDataDiv(sDivName))
+               {
+                       gsFileName=sFileName;
+                       gsDivName=sDivName;
+                       return;
+               }
+       }
+       var sHTML="";
+       if(gbMac)
+               sHTML+="<iframe src=\""+sFileName+"\"></iframe>";
+       else
+               sHTML+="<iframe style=\"visibility:hidden;width:0;height:0\" src=\""+sFileName+"\"></iframe>";
+       
+       var oDivCon=getElement(sDivName);
+       if(oDivCon)
+       {
+               if(gbNav6)
+               {
+                       if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0)
+                       {
+                               oDivCon.getElementsByTagName("iFrame")[0].src=sFileName;
+                       }
+                       else
+                               oDivCon.innerHTML=sHTML;
+               }
+               else
+                       oDivCon.innerHTML=sHTML;
+       }
+}
+
+function loadDataXML(sFileName)
+{
+       var sCurrentDocPath=_getPath(document.location.href);
+       sdocPath=_getFullPath(sCurrentDocPath,sFileName);
+       if(gbIE5)
+       {
+               xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
+               xmlDoc.async=true;
+               xmlDoc.onreadystatechange=checkState;
+               if(document.body!=null)
+                       xmlDoc.load(sdocPath);
+       }
+       else if(gbNav6)
+       {
+               xmlDoc=document.implementation.createDocument("","",null);
+               xmlDoc.addEventListener("load",initializeData,false);
+               xmlDoc.load(sdocPath,"text/xml");
+       }
+}
+
+function initializeData()
+{
+       if(xmlDoc!=null)
+               putDataXML(xmlDoc,sdocPath);
+}
+
+function checkState()
+{
+       if(xmlDoc!=null)
+       {
+               var state=xmlDoc.readyState;
+               if(state==4)
+               {
+                       var err=xmlDoc.parseError;
+                       if(err.errorCode==0)
+                               putDataXML(xmlDoc,sdocPath);
+                       else
+                               onLoadXMLError();
+               }
+       }
+}
+
+function insertDataDiv(sName)
+{
+       var sHTML="";
+       if(gbMac)
+               sHTML+="<div id="+sName+" style=\"display:none;\"></div>";
+       else
+               sHTML+="<div id="+sName+" style=\"visibility:hidden\"></div>";
+       if((gbIE5||gbNav6)&&document.body)
+               document.body.insertAdjacentHTML("beforeEnd",sHTML);
+       else
+       {
+               gsInsertBeforeEndHTML=sHTML;
+               setTimeout("insertWhenBodyReady();",100);
+               return false;
+       }
+       return true;
+}
+
+function insertWhenBodyReady()
+{
+       if(gsInsertBeforeEndHTML=="") return;
+       if(document.body)
+       {
+               document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML);
+               gsInsertBeforeEndHTML="";
+               loadData_2(gsFileName,gsDivName);
+       }
+       else
+       {
+               setTimeout("insertWhenBodyReady();",100);
+       }
+}
+
+function window_BUnload()
+{
+       for(var i=0;i<gnLoadDivNum;i++)
+       {
+               var oDivCon=getElement(gsDivName+i);
+               if(oDivCon)
+                       oDivCon.innerHTML="";
+       }
+}
+
+function removeThis(obj)
+{
+       if(obj.parentNode)
+               obj.parentNode.removeChild(obj);
+       else
+               obj.outerHTML="";
+}
+
+function getParentNode(obj)
+{
+       if(obj.parentNode)
+               return obj.parentNode;
+       else if(obj.parentElement)
+               return obj.parentElement;
+       return null;
+}
+
+function getElement(sID)
+{
+       if(document.getElementById)
+               return document.getElementById(sID);
+       else if(document.all)
+               return document.all(sID);
+       return null;
+}
+
+function getChildrenByTag(obj,sTagName)
+{
+       if(obj.getElementsByTagName)
+       {
+               var aChildren=new Array();
+               var aElements=getElementsByTag(obj,sTagName);
+               if(aElements!=null)
+               {
+                       for(var i=0;i<aElements.length;i++)
+                       {
+                               if(aElements[i].parentNode==obj)
+                                       aChildren[aChildren.length]=aElements[i];
+                       }
+                       return aChildren;
+               }
+               else
+                       return new Array();
+       }
+       else if(obj.children)
+               return obj.children.tags(sTagName);
+}
+
+function getElementsByTag(obj,sTagName)
+{
+       if(obj.getElementsByTagName)
+               return obj.getElementsByTagName(sTagName);
+       else if(obj.all)
+               return obj.all.tags(sTagName);
+       return null;
+}
+
+function _htmlToText(sHTML)
+{
+       if(sHTML==null) return null;
+       var sText=sHTML;
+       for(var i=0;i<sReplaceStringsSrc.length;i++)
+       {
+               var re=new RegExp(sReplaceStringsSrc[i],"g");
+               sText=sText.replace(re,sReplaceStringsDst[i]);
+       }       
+       return sText;
+}
+
+function _textToHtml_nonbsp(sText)
+{
+       if(sText==null) return null;
+       var sHTML=sText;
+       for(var i=0;i<sReplaceStringsSrc.length-1;i++)
+       {
+               var re=new RegExp(sReplaceStringsDst[i],"g");
+               sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
+       }       
+       return sHTML;
+}
+
+function _textToHtml(sText)
+{
+       if(sText==null) return null;
+       var sHTML=sText;
+       for(var i=0;i<sReplaceStringsSrc.length;i++)
+       {
+               var re=new RegExp(sReplaceStringsDst[i],"g");
+               sHTML=sHTML.replace(re,sReplaceStringsSrc[i]);
+       }       
+       return sHTML;
+}
+
+
+function getInnerText(obj)
+{
+       var renbsp2sp=new RegExp("\xa0","g");
+       if(obj.innerText)
+       {
+               var sText=obj.innerText;
+               sText=sText.replace(renbsp2sp," ");
+               return sText;
+       }
+       else
+       {
+               if(obj.nodeValue)
+               {
+                       var sValue=obj.nodeValue;
+                       sValue=sValue.replace(renbsp2sp," ");
+                       return sValue;
+               }
+               else
+               {
+                       var sText="";
+                       var oChild=obj.firstChild;
+                       while(oChild!=null)
+                       {
+                               sText+=getInnerText(oChild);
+                               oChild=oChild.nextSibling;
+                       }
+                       return sText;
+               }
+       }
+               
+}
+
+function HighLightElement(obj,sHighLightColor,sNormalColor)
+{
+       if(obj!=null)
+       {
+               resetHighLight(sNormalColor);
+               if (obj.style)
+                       obj.style.backgroundColor=sHighLightColor;
+               goHighLighted=obj;
+       }
+}
+
+function resetHighLight(sNormalColor)
+{
+       if(goHighLighted!=null)
+       {
+               if (goHighLighted.style)
+                       goHighLighted.style.backgroundColor=sNormalColor;
+               goHighLighted=null;
+       }
+}
+
+function whFont(sName,sSize,sColor,sStyle,sWeight,sDecoration)
+{
+       this.sName=sName;
+       this.sSize=sSize;
+       this.sColor=sColor;
+       this.sStyle=sStyle;
+       this.sWeight=sWeight;
+       this.sDecoration=sDecoration;
+}
+
+function getFontStyle(oFont)
+{
+       var sStyle="";
+       if(oFont)
+       {
+               sStyle+="font-family:"+oFont.sName+";";
+               if(gbMac)
+               {
+                       var nSize=parseInt(oFont.sSize);
+                       if(gbIE5)
+                               nSize+=2;
+                       else
+                               nSize+=4;
+                       sStyle+="font-size:"+nSize+"pt;";
+               }
+               else
+                       sStyle+="font-size:"+oFont.sSize+";";
+                       
+               sStyle+="font-style:"+oFont.sStyle+";";
+               sStyle+="font-weight:"+oFont.sWeight+";";
+               sStyle+="text-decoration:"+oFont.sDecoration+";";
+               sStyle+="color:"+oFont.sColor+";";
+       }
+       return sStyle;
+}
+
+function _browserStringToText(sBStr)
+{
+       var sText="";
+       // change %xxx back to the real char.
+       var nPos=sBStr.indexOf('%');
+       while(nPos!=-1)
+       {
+               sText+=sBStr.substring(0,nPos);
+               sBStr=sBStr.substring(nPos+1);
+               var sNum="";
+               var i=0;
+               while(sBStr.charAt(i)>='0'&&sBStr.charAt(i)<='9')
+               {
+                       sNum+=sBStr.charAt(i++);        
+               }
+               if(sNum!=""){
+                       var nNum=parseInt(sNum,16);
+                       sText+=String.fromCharCode(nNum);
+                       sBStr=sBStr.substring(i);
+               }
+               nPos=sBStr.indexOf('%');
+       }
+       sText+=sBStr;
+       return sText;
+}
+
+function excapeSingleQuotandSlash(str)
+{
+       if(str==null) return null;
+       var nPos=0;
+       var sRes="";
+       var nPosNew=str.indexOf("\\",nPos);
+       while(nPosNew!=-1){
+               sRes+=str.substring(nPos,nPosNew+1)+"\\";
+               nPos=nPosNew+1;
+               nPosNew=str.indexOf("\\",nPos);
+       }
+       if(nPos<str.length)
+               sRes+=str.substring(nPos);
+       var re=new RegExp("'","g");
+       sRes=sRes.replace(re,"\\'");
+       return sRes;
+}
+
 var gbWhUtil=true;
\ No newline at end of file
index ff597631d2f9012fd7ccbe355118ba1bd39f6644..cd61895dcda3eeddc5bc294a2d4b3d3abbf36288 100755 (executable)
-//     WebHelp 5.10.006\r
-var gbNav=false;\r
-var gbNav6=false;\r
-var gbNav61=false;\r
-var gbNav7=false;\r
-var gbNav4=false;\r
-var gbIE4=false;\r
-var gbIE=false;\r
-var gbIE5=false;\r
-var gbIE55=false;\r
-var gbOpera6=false;\r
-var gbOpera7=false;\r
-var gbKonqueror3=false;\r
-\r
-var gAgent=navigator.userAgent.toLowerCase();\r
-var gbMac=(gAgent.indexOf("mac")!=-1);\r
-var gbSunOS=(gAgent.indexOf("sunos")!=-1);\r
-var gbOpera=(gAgent.indexOf("opera")!=-1);\r
-var gbKonqueror=(gAgent.indexOf("konqueror")!= -1);\r
-var gbSafari=(gAgent.indexOf("safari")!= -1);\r
-var gbWindows=((gAgent.indexOf('win')!= -1)||(gAgent.indexOf('16bit')!= -1));\r
-var gbMozilla=((gAgent.indexOf('gecko')!=-1) && (gAgent.indexOf('netscape')==-1));\r
-\r
-\r
-var gVersion=navigator.appVersion.toLowerCase();\r
-\r
-var gnVerMajor=parseInt(gVersion);\r
-var gnVerMinor=parseFloat(gVersion);\r
-\r
-if(!gbOpera&&!gbKonqueror&&!gbSafari) // opera can mimic IE or Netscape by settings.\r
-{\r
-       gbIE=(navigator.appName.indexOf("Microsoft")!=-1);\r
-       gbNav=(gAgent.indexOf('mozilla')!=-1) && ((gAgent.indexOf('spoofer')==-1) && (gAgent.indexOf('compatible')==-1));\r
-       if(gnVerMajor>=4)\r
-       {\r
-               if(navigator.appName=="Netscape")\r
-               {\r
-                       gbNav4=true;\r
-                       if(gnVerMajor>=5)\r
-                               gbNav6=true;\r
-               }\r
-               gbIE4=(navigator.appName.indexOf("Microsoft")!=-1);\r
-       }\r
-       if(gbNav6)\r
-       {\r
-               var nPos=gAgent.indexOf("gecko");\r
-               if(nPos!=-1)\r
-               {\r
-                       var nPos2=gAgent.indexOf("/", nPos);\r
-                       if(nPos2!=-1)\r
-                       {\r
-                               var nVersion=parseFloat(gAgent.substring(nPos2+1));\r
-                               if(nVersion>=20010726)\r
-                               {\r
-                                       gbNav61=true;\r
-                                       if (nVersion>=20020823)\r
-                                               gbNav7=true;\r
-                               }\r
-                       }\r
-               }\r
-       }else if(gbIE4)\r
-       {\r
-               var nPos=gAgent.indexOf("msie");\r
-               if(nPos!=-1)\r
-               {\r
-                       var nVersion=parseFloat(gAgent.substring(nPos+5));\r
-                       if(nVersion>=5)\r
-                       {\r
-                               gbIE5=true;\r
-                               if(nVersion>=5.5)\r
-                                       gbIE55=true;\r
-                       }\r
-               }\r
-       }\r
-}\r
-else if (gbOpera)\r
-{\r
-       var nPos = gAgent.indexOf("opera");\r
-       if(nPos!=-1)\r
-       {\r
-               var nVersion=parseFloat(gAgent.substring(nPos+6));\r
-               if(nVersion>=6)\r
-               {\r
-                       gbOpera6=true;\r
-                       if(nVersion>=7)\r
-                               gbOpera7=true;\r
-               }\r
-       }\r
-}\r
-else if (gbKonqueror)\r
-{\r
-       var nPos = gAgent.indexOf("konqueror");\r
-       if(nPos!=-1)\r
-       {\r
-               var nVersion = parseFloat(gAgent.substring(nPos+10));\r
-               if (nVersion >= 3)\r
-               {\r
-                       gbKonqueror3=true;\r
-               }\r
-       }\r
-}\r
-\r
+//     WebHelp 5.10.006
+var gbNav=false;
+var gbNav6=false;
+var gbNav61=false;
+var gbNav7=false;
+var gbNav4=false;
+var gbIE4=false;
+var gbIE=false;
+var gbIE5=false;
+var gbIE55=false;
+var gbOpera6=false;
+var gbOpera7=false;
+var gbKonqueror3=false;
+
+var gAgent=navigator.userAgent.toLowerCase();
+var gbMac=(gAgent.indexOf("mac")!=-1);
+var gbSunOS=(gAgent.indexOf("sunos")!=-1);
+var gbOpera=(gAgent.indexOf("opera")!=-1);
+var gbKonqueror=(gAgent.indexOf("konqueror")!= -1);
+var gbSafari=(gAgent.indexOf("safari")!= -1);
+var gbWindows=((gAgent.indexOf('win')!= -1)||(gAgent.indexOf('16bit')!= -1));
+var gbMozilla=((gAgent.indexOf('gecko')!=-1) && (gAgent.indexOf('netscape')==-1));
+
+
+var gVersion=navigator.appVersion.toLowerCase();
+
+var gnVerMajor=parseInt(gVersion);
+var gnVerMinor=parseFloat(gVersion);
+
+if(!gbOpera&&!gbKonqueror&&!gbSafari) // opera can mimic IE or Netscape by settings.
+{
+       gbIE=(navigator.appName.indexOf("Microsoft")!=-1);
+       gbNav=(gAgent.indexOf('mozilla')!=-1) && ((gAgent.indexOf('spoofer')==-1) && (gAgent.indexOf('compatible')==-1));
+       if(gnVerMajor>=4)
+       {
+               if(navigator.appName=="Netscape")
+               {
+                       gbNav4=true;
+                       if(gnVerMajor>=5)
+                               gbNav6=true;
+               }
+               gbIE4=(navigator.appName.indexOf("Microsoft")!=-1);
+       }
+       if(gbNav6)
+       {
+               var nPos=gAgent.indexOf("gecko");
+               if(nPos!=-1)
+               {
+                       var nPos2=gAgent.indexOf("/", nPos);
+                       if(nPos2!=-1)
+                       {
+                               var nVersion=parseFloat(gAgent.substring(nPos2+1));
+                               if(nVersion>=20010726)
+                               {
+                                       gbNav61=true;
+                                       if (nVersion>=20020823)
+                                               gbNav7=true;
+                               }
+                       }
+               }
+       }else if(gbIE4)
+       {
+               var nPos=gAgent.indexOf("msie");
+               if(nPos!=-1)
+               {
+                       var nVersion=parseFloat(gAgent.substring(nPos+5));
+                       if(nVersion>=5)
+                       {
+                               gbIE5=true;
+                               if(nVersion>=5.5)
+                                       gbIE55=true;
+                       }
+               }
+       }
+}
+else if (gbOpera)
+{
+       var nPos = gAgent.indexOf("opera");
+       if(nPos!=-1)
+       {
+               var nVersion=parseFloat(gAgent.substring(nPos+6));
+               if(nVersion>=6)
+               {
+                       gbOpera6=true;
+                       if(nVersion>=7)
+                               gbOpera7=true;
+               }
+       }
+}
+else if (gbKonqueror)
+{
+       var nPos = gAgent.indexOf("konqueror");
+       if(nPos!=-1)
+       {
+               var nVersion = parseFloat(gAgent.substring(nPos+10));
+               if (nVersion >= 3)
+               {
+                       gbKonqueror3=true;
+               }
+       }
+}
+
 var gbWhVer=true;
\ No newline at end of file
index 404df94937d6d62b38e8cad77ee6be22c5fe5332..22791bb275fb0722c9447e2c765f6c1c6e0cc73f 100755 (executable)
@@ -1,78 +1,81 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<ftstdata>\r
-<topic name="About viewing meshes" url="about_viewing_meshes.htm" />\r
-<topic name="Adding Quadratic Nodes and Elements" url="adding_quadratic_nodes_and_elements.htm" />\r
-<topic name="Aspect ratio 3D" url="aspect_ratio_3d.htm" />\r
-<topic name="Borders at multi-connection" url="borders_at_multi-connection.htm" />\r
-<topic name="Borders at multiconnection 2D" url="borders_at_multiconnection_2d.htm" />\r
-<topic name="Clipping" url="clipping.htm" />\r
-<topic name="Constructing Meshes" url="constructing_meshes.htm" />\r
-<topic name="Convert to/from Quadratic Mesh" url="convert_to_from_quadratic_mesh.htm" />\r
-<topic name="Defining hypotheses TUI" url="defining_hypotheses_tui.htm" />\r
-<topic name="Deleting Groups" url="deleting_groups.htm" />\r
-<topic name="Display Entity" url="display_entity.htm" />\r
-<topic name="Extrusion" url="extrusion.htm" />\r
-<topic name="Extrusion along a path" url="extrusion_along_a_path.htm" />\r
-<topic name="About hypotheses" url="files/about_hypotheses.htm" />\r
-<topic name="About meshes" url="files/about_meshes.htm" />\r
-<topic name="About meshing algorithms" url="files/about_meshing_algorithms.htm" />\r
-<topic name="About quality controls" url="files/about_quality_controls.htm" />\r
-<topic name="Adding nodes and elements" url="files/adding_nodes_and_elements.htm" />\r
-<topic name="Area of elements" url="files/area_of_elements.htm" />\r
-<topic name="Arithmetic 1D" url="files/arithmetic_1d.htm" />\r
-<topic name="Aspect Ratio" url="files/aspect_ratio.htm" />\r
-<topic name="Changing orientation of elements" url="files/changing_orientation_of_elements.htm" />\r
-<topic name="Constructing groups of specific elements" url="files/constructing_groups_of_specific_elements.htm" />\r
-<topic name="Constructing meshes" url="files/constructing_meshes.htm" />\r
-<topic name="Constructing submeshes" url="files/constructing_submeshes.htm" />\r
-<topic name="Creating groups" url="files/creating_groups.htm" />\r
-<topic name="Cutting quadrangles" url="files/cutting_quadrangles.htm" />\r
-<topic name="Diagonal iversion of elements" url="files/diagonal_iversion_of_elements.htm" />\r
-<topic name="Displacing nodes" url="files/displacing_nodes.htm" />\r
-<topic name="Displaying nodes numbers" url="files/displaying_nodes_numbers.htm" />\r
-<topic name="Editing groups" url="files/editing_groups.htm" />\r
-<topic name="Importing and exporting meshes" url="files/importing_and_exporting_meshes.htm" />\r
-<topic name="Length of edges" url="files/length_of_edges.htm" />\r
-<topic name="Length from edges" url="files/max._element_area_hypothesis.htm" />\r
-<topic name="Non conform mesh allowed hypothesis" url="files/max._element_volume_hypothsis.htm" />\r
-<topic name="Merging nodes" url="files/merging_nodes.htm" />\r
-<topic name="Minimum angle" url="files/minimum_angle.htm" />\r
-<topic name="Non conform mesh allowed hypothesis" url="files/non_conform_mesh_allowed_hypothesis.htm" />\r
-<topic name="Reassigning hypotheses and algorithms" url="files/reassigning_hypotheses_and_algorithms.htm" />\r
-<topic name="Removing nodes and elements" url="files/removing_nodes_and_elements.htm" />\r
-<topic name="Renumbering nodes and elements" url="files/renumbering_nodes_and_elements.htm" />\r
-<topic name="Rotation" url="files/rotation.htm" />\r
-<topic name="Running SMESH module" url="files/running_smesh_module.htm" />\r
-<topic name="Sewing meshes" url="files/sewing_meshes.htm" />\r
-<topic name="Skew" url="files/skew.htm" />\r
-<topic name="Smoothing" url="files/smoothing.htm" />\r
-<topic name="Symmetry" url="files/symmetry.htm" />\r
-<topic name="Taper" url="files/taper.htm" />\r
-<topic name="Translation" url="files/translation.htm" />\r
-<topic name="Uniting a set of triangles" url="files/uniting_a_set_of_triangles.htm" />\r
-<topic name="Uniting two triangles" url="files/uniting_two_triangles.htm" />\r
-<topic name="Using operations on groups" url="files/using_operations_on_groups.htm" />\r
-<topic name="Viewing mesh info" url="files/viewing_mesh_info.htm" />\r
-<topic name="VTK 3D Viewer" url="files/vtk_3d_viewer.htm" />\r
-<topic name="Warp" url="files/warp.htm" />\r
-<topic name="Free borders" url="free_borders.htm" />\r
-<topic name="Free_edges" url="free_edges.htm" />\r
-<topic name="Grouping Elements" url="grouping_elements.htm" />\r
-<topic name="Length" url="length.htm" />\r
-<topic name="Merge Elements" url="merge_elements.htm" />\r
-<topic name="mesh" url="mesh.htm" />\r
-<topic name="Modifying Meshes" url="modifying_meshes.htm" />\r
-<topic name="SALOME - SMESH - v.version: Package smesh" url="namespacesmesh.html" />\r
-<topic name="Netgen 2D and 3D hypotheses" url="netgen_2d_and_3d_hypotheses.htm" />\r
-<topic name="Pattern mapping" url="pattern_mapping.htm" />\r
-<topic name="Presentation" url="presentation.htm" />\r
-<topic name="Quality Controls" url="quality_controls.htm" />\r
-<topic name="Revolution" url="revolution.htm" />\r
-<topic name="Selection filter library" url="selection_filter_library.htm" />\r
-<topic name="smesh.py_introduction" url="smesh.py_introduction.htm" />\r
-<topic name="Transforming Meshes" url="transforming_meshes.htm" />\r
-<topic name="Transparency" url="transparency.htm" />\r
-<topic name="Viewing Meshes" url="viewing_meshes.htm" />\r
-<topic name="Volume" url="volume.htm" />\r
-\r
-</ftstdata>  \r
+<?xml version='1.0' encoding='windows-1252' ?>
+<ftstdata>
+<topic name="About viewing meshes" url="about_viewing_meshes.htm" />
+<topic name="Adding Quadratic Nodes and Elements" url="adding_quadratic_nodes_and_elements.htm" />
+<topic name="Aspect ratio 3D" url="aspect_ratio_3d.htm" />
+<topic name="Borders at multi-connection" url="borders_at_multi-connection.htm" />
+<topic name="Borders at multiconnection 2D" url="borders_at_multiconnection_2d.htm" />
+<topic name="Clipping" url="clipping.htm" />
+<topic name="Constructing Meshes" url="constructing_meshes.htm" />
+<topic name="Convert to/from Quadratic Mesh" url="convert_to_from_quadratic_mesh.htm" />
+<topic name="Defining hypotheses TUI" url="defining_hypotheses_tui.htm" />
+<topic name="Deleting Groups" url="deleting_groups.htm" />
+<topic name="Display Entity" url="display_entity.htm" />
+<topic name="Extrusion" url="extrusion.htm" />
+<topic name="Extrusion along a path" url="extrusion_along_a_path.htm" />
+<topic name="About hypotheses" url="files/about_hypotheses.htm" />
+<topic name="About meshes" url="files/about_meshes.htm" />
+<topic name="About meshing algorithms" url="files/about_meshing_algorithms.htm" />
+<topic name="About quality controls" url="files/about_quality_controls.htm" />
+<topic name="Adding nodes and elements" url="files/adding_nodes_and_elements.htm" />
+<topic name="Area of elements" url="files/area_of_elements.htm" />
+<topic name="Arithmetic 1D" url="files/arithmetic_1d.htm" />
+<topic name="Aspect Ratio" url="files/aspect_ratio.htm" />
+<topic name="Changing orientation of elements" url="files/changing_orientation_of_elements.htm" />
+<topic name="Constructing groups of specific elements" url="files/constructing_groups_of_specific_elements.htm" />
+<topic name="Constructing meshes" url="files/constructing_meshes.htm" />
+<topic name="Constructing submeshes" url="files/constructing_submeshes.htm" />
+<topic name="Creating groups" url="files/creating_groups.htm" />
+<topic name="Cutting quadrangles" url="files/cutting_quadrangles.htm" />
+<topic name="Diagonal iversion of elements" url="files/diagonal_iversion_of_elements.htm" />
+<topic name="Displacing nodes" url="files/displacing_nodes.htm" />
+<topic name="Displaying nodes numbers" url="files/displaying_nodes_numbers.htm" />
+<topic name="Editing groups" url="files/editing_groups.htm" />
+<topic name="Importing and exporting meshes" url="files/importing_and_exporting_meshes.htm" />
+<topic name="Length of edges" url="files/length_of_edges.htm" />
+<topic name="Length from edges" url="files/max._element_area_hypothesis.htm" />
+<topic name="Non conform mesh allowed hypothesis" url="files/max._element_volume_hypothsis.htm" />
+<topic name="Merging nodes" url="files/merging_nodes.htm" />
+<topic name="Minimum angle" url="files/minimum_angle.htm" />
+<topic name="Non conform mesh allowed hypothesis" url="files/non_conform_mesh_allowed_hypothesis.htm" />
+<topic name="Reassigning hypotheses and algorithms" url="files/reassigning_hypotheses_and_algorithms.htm" />
+<topic name="Removing nodes and elements" url="files/removing_nodes_and_elements.htm" />
+<topic name="Renumbering nodes and elements" url="files/renumbering_nodes_and_elements.htm" />
+<topic name="Rotation" url="files/rotation.htm" />
+<topic name="Running SMESH module" url="files/running_smesh_module.htm" />
+<topic name="Sewing meshes" url="files/sewing_meshes.htm" />
+<topic name="Skew" url="files/skew.htm" />
+<topic name="Smoothing" url="files/smoothing.htm" />
+<topic name="Symmetry" url="files/symmetry.htm" />
+<topic name="Taper" url="files/taper.htm" />
+<topic name="Translation" url="files/translation.htm" />
+<topic name="Uniting a set of triangles" url="files/uniting_a_set_of_triangles.htm" />
+<topic name="Uniting two triangles" url="files/uniting_two_triangles.htm" />
+<topic name="Using operations on groups" url="files/using_operations_on_groups.htm" />
+<topic name="Viewing mesh info" url="files/viewing_mesh_info.htm" />
+<topic name="VTK 3D Viewer" url="files/vtk_3d_viewer.htm" />
+<topic name="Warp" url="files/warp.htm" />
+<topic name="Free borders" url="free_borders.htm" />
+<topic name="Free_edges" url="free_edges.htm" />
+<topic name="Grouping Elements" url="grouping_elements.htm" />
+<topic name="Length" url="length.htm" />
+<topic name="Merge Elements" url="merge_elements.htm" />
+<topic name="mesh" url="mesh.htm" />
+<topic name="Modifying Meshes" url="modifying_meshes.htm" />
+<topic name="SALOME - SMESH - v.version: Package smesh" url="namespacesmesh.html" />
+<topic name="Netgen 2D and 3D hypotheses" url="netgen_2d_and_3d_hypotheses.htm" />
+<topic name="Pattern mapping" url="pattern_mapping.htm" />
+<topic name="Presentation" url="presentation.htm" />
+<topic name="Prism 3D Algorithm" url="prism_3d_algorithm.htm" />
+<topic name="Projection Algorithms" url="projection_algorithms.htm" />
+<topic name="Quality Controls" url="quality_controls.htm" />
+<topic name="Radial Prism" url="radial_prism.htm" />
+<topic name="Revolution" url="revolution.htm" />
+<topic name="Selection filter library" url="selection_filter_library.htm" />
+<topic name="smesh.py_introduction" url="smesh.py_introduction.htm" />
+<topic name="Transforming Meshes" url="transforming_meshes.htm" />
+<topic name="Transparency" url="transparency.htm" />
+<topic name="Viewing Meshes" url="viewing_meshes.htm" />
+<topic name="Volume" url="volume.htm" />
+
+</ftstdata>  
index c965ac8ffac56f8cbf11c0d79e8eb8c64375d64f..89269fc272f0c8505a9b629195461e29fcd09140 100755 (executable)
@@ -1,7 +1,7 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<fts>\r
-<chunkinfo url="whfwdata0.xml" first="_grp" last="zoom"/>\r
-\r
-<tchunkinfo first="0" last="73" url="whftdata0.xml" />\r
-\r
-</fts>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<fts>
+<chunkinfo url="whfwdata0.xml" first="_grp" last="zoom"/>
+
+<tchunkinfo first="0" last="73" url="whftdata0.xml" />
+
+</fts>
index 110993df555c91d454587210da7a0d7fc166574e..7d7a59573036cdb08d31d84a4d33aaea0e85b626 100755 (executable)
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<ftswdata>\r
-<key name="_grp"> 69, </key>\r
-<key name="0"> 14,19,5,6,25,8,12,57,61,63,66,43,69,70,72, </key>\r
-<key name="000001"> 66, </key>\r
-<key name="001"> 70, </key>\r
-<key name="0d"> 14, </key>\r
-<key name="1"> 17,1,18,19,20,2,21,23,6,7,26,8,27,28,29,30,11,12,57,31,32,35,36,61,64,66,39,40,67,62,43,44,69,45,47,70,49,50,51,73,54, </key>\r
-<key name="10"> 6,8,12,57,61,69,70,72, </key>\r
-<key name="100"> 6,8,57,66,69,70, </key>\r
-<key name="109"> 70, </key>\r
-<key name="110"> 61, </key>\r
-<key name="113"> 70, </key>\r
-<key name="12"> 61,70, </key>\r
-<key name="13"> 61, </key>\r
-<key name="130"> 61, </key>\r
-<key name="15"> 61,66,70, </key>\r
-<key name="150"> 8,61,70, </key>\r
-<key name="17"> 61, </key>\r
-<key name="180"> 61, </key>\r
-<key name="1d"> 13,14,15,16,19,23,6,8,11,12,60,61,63,37,66,67,69, </key>\r
-<key name="1e"> 61,66, </key>\r
-<key name="2"> 17,1,18,20,2,21,23,6,7,26,8,27,28,29,30,11,12,31,32,36,61,64,66,39,40,67,62,43,44,45,47,70,49,50,51,73,54, </key>\r
-<key name="20"> 6,8,57,61,66,69,70,72, </key>\r
-<key name="200"> 6,8,61,69, </key>\r
-<key name="21"> 61,70, </key>\r
-<key name="23"> 61,70, </key>\r
-<key name="24"> 70, </key>\r
-<key name="240"> 61, </key>\r
-<key name="245"> 61, </key>\r
-<key name="246"> 61, </key>\r
-<key name="25"> 70, </key>\r
-<key name="255"> 61, </key>\r
-<key name="2d"> 13,14,15,16,18,20,4,23,6,8,11,12,57,33,32,60,36,63,64,66,67,43,69,70,54, </key>\r
-<key name="3"> 14,18,20,21,23,6,7,26,8,27,28,11,12,57,31,61,63,64,66,39,40,67,62,43,44,69,45,70,49,50,72,54, </key>\r
-<key name="30"> 8,61,63,70, </key>\r
-<key name="300"> 6, </key>\r
-<key name="3128"> 61, </key>\r
-<key name="321"> 61, </key>\r
-<key name="3265"> 61, </key>\r
-<key name="3402"> 61, </key>\r
-<key name="35"> 57,66, </key>\r
-<key name="3658"> 61, </key>\r
-<key name="38"> 61,66,70, </key>\r
-<key name="39"> 61, </key>\r
-<key name="3d"> 13,14,15,16,0,17,1,20,2,21,23,6,25,26,8,9,27,28,29,11,12,60,63,34,66,39,40,67,43,69,45,49,50,73,53, </key>\r
-<key name="3e"> 66, </key>\r
-<key name="3rd"> 14, </key>\r
-<key name="3x3"> 61, </key>\r
-<key name="4"> 14,18,20,23,6,26,8,28,12,31,61,64,66,62,43,44,47,70,54, </key>\r
-<key name="40"> 57,61,69, </key>\r
-<key name="405"> 61, </key>\r
-<key name="406"> 61, </key>\r
-<key name="45"> 12,61,70, </key>\r
-<key name="47"> 61, </key>\r
-<key name="492"> 61, </key>\r
-<key name="493"> 61, </key>\r
-<key name="5"> 5,6,8,61,66,70, </key>\r
-<key name="50"> 8,61,70, </key>\r
-<key name="502"> 61, </key>\r
-<key name="503"> 61, </key>\r
-<key name="58"> 70, </key>\r
-<key name="5th"> 14, </key>\r
-<key name="6"> 2,6,8,57,61,70, </key>\r
-<key name="60"> 57,61,69, </key>\r
-<key name="66632"> 61, </key>\r
-<key name="69"> 70, </key>\r
-<key name="7"> 6,8,57,61,66, </key>\r
-<key name="70"> 8,61,70, </key>\r
-<key name="71"> 70, </key>\r
-<key name="72"> 70, </key>\r
-<key name="73"> 61, </key>\r
-<key name="8"> 57,61,66,70, </key>\r
-<key name="80"> 61,69, </key>\r
-<key name="800"> 6, </key>\r
-<key name="814"> 61, </key>\r
-<key name="850"> 61, </key>\r
-<key name="859"> 61, </key>\r
-<key name="89"> 70, </key>\r
-<key name="9"> 61,70, </key>\r
-<key name="90"> 70, </key>\r
-<key name="900"> 6,72, </key>\r
-<key name="91"> 70, </key>\r
-<key name="92"> 70, </key>\r
-<key name="95"> 66, </key>\r
-<key name="9999"> 25, </key>\r
-<key name="a_mesh"> 61, </key>\r
-<key name="a10"> 61, </key>\r
-<key name="a45"> 61, </key>\r
-<key name="aa"> 61, </key>\r
-<key name="abl"> 17,1,53, </key>\r
-<key name="abord"> 66, </key>\r
-<key name="aborder"> 66, </key>\r
-<key name="abov"> 61,45, </key>\r
-<key name="absent"> 51, </key>\r
-<key name="absolute"> 71, </key>\r
-<key name="abut"> 19, </key>\r
-<key name="acces"> 0,68,53, </key>\r
-<key name="accord"> 16,18,19,20,2,32,36,64,44,45,47,73,54, </key>\r
-<key name="account"> 13,64, </key>\r
-<key name="acomp"> 70, </key>\r
-<key name="actual"> 63,37, </key>\r
-<key name="ad"> 17,1,21,7,25,26,57,61,49,51, </key>\r
-<key name="add"> 17,1,21,23,25,26,8,30,12,57,61,66,68,69,49, </key>\r
-<key name="addedg"> 61, </key>\r
-<key name="addfac"> 61, </key>\r
-<key name="addhypothesi"> 61, </key>\r
-<key name="addition"> 26,60,61, </key>\r
-<key name="additional"> 13,14,23,8,37,64,42,68,45, </key>\r
-<key name="addnod"> 61, </key>\r
-<key name="addobject"> 57, </key>\r
-<key name="addpolygonalfac"> 61, </key>\r
-<key name="addpolyhedralvolum"> 61, </key>\r
-<key name="addtostudy"> 6,8,57,61,66,69,70,72, </key>\r
-<key name="addtostudyinfath"> 6,8,57,61, </key>\r
-<key name="addvolum"> 61, </key>\r
-<key name="adjacent"> 28,36,63,37,39,43,49, </key>\r
-<key name="adjust"> 45, </key>\r
-<key name="adjustabl"> 37, </key>\r
-<key name="advanc"> 0,52, </key>\r
-<key name="afilt"> 57,66, </key>\r
-<key name="afiltermgr"> 57,61,66, </key>\r
-<key name="afunctor"> 57,61,66, </key>\r
-<key name="ageomgroup"> 57, </key>\r
-<key name="agroup"> 57,66, </key>\r
-<key name="agroup1"> 57, </key>\r
-<key name="agroup2"> 57, </key>\r
-<key name="agroup3"> 57, </key>\r
-<key name="agroup4"> 57, </key>\r
-<key name="agroup5"> 57, </key>\r
-<key name="agroupelemid"> 57, </key>\r
-<key name="agroupf"> 66, </key>\r
-<key name="agroupmain"> 57, </key>\r
-<key name="agroupn"> 66, </key>\r
-<key name="agroupr"> 57, </key>\r
-<key name="agrouptool"> 57, </key>\r
-<key name="ai"> 19, </key>\r
-<key name="al"> 61, </key>\r
-<key name="algo"> 8,66,70, </key>\r
-<key name="algo_local"> 6,8,70, </key>\r
-<key name="algo1d"> 6,8,57,61,69,70,72, </key>\r
-<key name="algo2d"> 6,8,61,69,70,72, </key>\r
-<key name="algo3d"> 6,8,69,72, </key>\r
-<key name="algorithm"> 13,14,15,16,0,18,23,6,24,8,12,33,60,61,63,34,64,38,43, </key>\r
-<key name="allow"> 13,0,1,19,21,24,7,25,26,31,33,59,35,60,63,37,64,41,43,45,46,48,49,51,53, </key>\r
-<key name="along"> 11,12,61,64,45,53, </key>\r
-<key name="alternativ"> 23, </key>\r
-<key name="alternative"> 0,1, </key>\r
-<key name="alway"> 45, </key>\r
-<key name="amesh"> 6, </key>\r
-<key name="amesheditor"> 61,70, </key>\r
-<key name="amount"> 3, </key>\r
-<key name="analytic"> 19, </key>\r
-<key name="aneditor"> 61,66,70, </key>\r
-<key name="angl"> 16,5,26,12,60,36,61,66,67,41,44,70,49,54, </key>\r
-<key name="angle270"> 70, </key>\r
-<key name="angle45"> 61, </key>\r
-<key name="angularity"> 12, </key>\r
-<key name="anid"> 57,66, </key>\r
-<key name="anoth"> 37, </key>\r
-<key name="any"> 14,1,23,25,28,12,57,64,45, </key>\r
-<key name="ap"> 15,17,1,18,20,2,21,5,23,7,25,26,8,9,27,28,30,11,12,32,59,60,36,61,64,38,39,40,67,43,44,45,46,47,49,50,51,73,54, </key>\r
-<key name="api"> 69, </key>\r
-<key name="apparent"> 23, </key>\r
-<key name="appear"> 0,17,1,21,23,24,7,26,27,28,30,11,12,35,64,39,40,67,41,46,48,49,50,51, </key>\r
-<key name="append"> 61, </key>\r
-<key name="appli"> 18,19,20,2,23,24,33,32,36,37,34,38,68,44,45,47,73,54, </key>\r
-<key name="applicabl"> 20,68, </key>\r
-<key name="application"> 16,64, </key>\r
-<key name="apply"> 13,0,23,24,25, </key>\r
-<key name="applytomeshfac"> 61, </key>\r
-<key name="approach"> 57,61,66,70, </key>\r
-<key name="appropriat"> 23, </key>\r
-<key name="approximate"> 19, </key>\r
-<key name="apredicat"> 57,66, </key>\r
-<key name="ar_margin"> 66, </key>\r
-<key name="arc"> 8,70, </key>\r
-<key name="arcsin"> 54, </key>\r
-<key name="area"> 13,16,18,8,57,33,60,34,66,45,47,53, </key>\r
-<key name="area_margin"> 66, </key>\r
-<key name="arithmetic"> 13,19,6,8,60, </key>\r
-<key name="arithmetic1d"> 6,8,70, </key>\r
-<key name="around"> 5,12,67, </key>\r
-<key name="array_of_nodes_group"> 70, </key>\r
-<key name="asmeshgroup1"> 57, </key>\r
-<key name="asmeshgroup2"> 57, </key>\r
-<key name="aspect"> 16,20,2,60,66,45, </key>\r
-<key name="assemb"> 69, </key>\r
-<key name="assign"> 19,23,25,8,38,54, </key>\r
-<key name="associat"> 17,29,39, </key>\r
-<key name="attention"> 57,61,66,70, </key>\r
-<key name="attribut"> 25, </key>\r
-<key name="auto"> 5, </key>\r
-<key name="automatic"> 13,19,23,60,64, </key>\r
-<key name="automatical"> 0,19,21,23,26,28,49, </key>\r
-<key name="availabl"> 43,53, </key>\r
-<key name="averag"> 13,19,8,33,60,64,54, </key>\r
-<key name="ax"> 53, </key>\r
-<key name="axi"> 11,61,67,41,46,70,53,54, </key>\r
-<key name="axisstruct"> 61,70, </key>\r
-<key name="axisxyz"> 61,70, </key>\r
-<key name="background"> 0, </key>\r
-<key name="bar"> 16, </key>\r
-<key name="bas"> 13,18,8,12,57,60,61,66,70,54, </key>\r
-<key name="basi"> 14,23,24, </key>\r
-<key name="basic"> 13,0, </key>\r
-<key name="bb"> 61, </key>\r
-<key name="becom"> 63,64, </key>\r
-<key name="befor"> 68,70, </key>\r
-<key name="begin"> 19,43, </key>\r
-<key name="belong"> 3,4,25,55,56,43,51, </key>\r
-<key name="below"> 61,63,69, </key>\r
-<key name="berder"> 43, </key>\r
-<key name="bet"> 20, </key>\r
-<key name="binary"> 68, </key>\r
-<key name="bisect"> 54, </key>\r
-<key name="bisector"> 54, </key>\r
-<key name="bit"> 68, </key>\r
-<key name="black"> 0, </key>\r
-<key name="blu"> 3, </key>\r
-<key name="bmp"> 0,53, </key>\r
-<key name="bog"> 19, </key>\r
-<key name="boolean"> 61,51, </key>\r
-<key name="bord"> 43,70, </key>\r
-<key name="border"> 16,3,4,55,56,60,66,43,70, </key>\r
-<key name="both"> 0,12,45,51, </key>\r
-<key name="bottom"> 61,42, </key>\r
-<key name="bound"> 14,64, </key>\r
-<key name="boundari"> 64, </key>\r
-<key name="boundary"> 13,25,64,43,45, </key>\r
-<key name="box"> 17,1,19,21,23,6,24,7,26,8,27,28,30,11,12,57,31,59,35,63,64,66,39,40,67,41,42,68,43,69,45,46,70,48,49,50,51,52,72, </key>\r
-<key name="box_1"> 61, </key>\r
-<key name="box_cyl"> 69, </key>\r
-<key name="box1"> 66,70, </key>\r
-<key name="box2"> 66,70, </key>\r
-<key name="broken"> 1,37, </key>\r
-<key name="brown"> 25, </key>\r
-<key name="brows"> 0,17,1,22,23,24,25,9,30,65,39,40,68,52, </key>\r
-<key name="build"> 8,11,33,61,63,37,64,67,69, </key>\r
-<key name="built"> 20,24,12,64,45, </key>\r
-<key name="button"> 17,1,18,20,2,21,5,23,24,7,25,26,9,27,28,30,11,12,31,32,36,64,38,39,40,67,41,68,43,44,45,46,47,48,49,50,51,52,73,53,54, </key>\r
-<key name="cad"> 14, </key>\r
-<key name="cal"> 64, </key>\r
-<key name="calculat"> 16,20,2,33,47, </key>\r
-<key name="calculation"> 13,18,32,36, </key>\r
-<key name="careful"> 39, </key>\r
-<key name="cas"> 17,23,6,8,28,12,64,52, </key>\r
-<key name="cc"> 61, </key>\r
-<key name="cel"> 25,63,39,50, </key>\r
-<key name="cent"> 12,45,53, </key>\r
-<key name="central"> 12, </key>\r
-<key name="centroid"> 45, </key>\r
-<key name="centroidal"> 45, </key>\r
-<key name="centroidal_smooth"> 61, </key>\r
-<key name="certain"> 25,64, </key>\r
-<key name="chang"> 0,19,21,6,28,61,37,38, </key>\r
-<key name="characteristic"> 16, </key>\r
-<key name="characteriz"> 14, </key>\r
-<key name="check"> 25,63,66,43,53, </key>\r
-<key name="checkbox"> 17,63,68,48, </key>\r
-<key name="choic"> 13,23,64, </key>\r
-<key name="choos"> 17,1,18,20,2,21,22,7,25,26,9,27,28,10,29,11,12,31,32,35,36,64,39,40,67,41,42,68,43,44,46,47,48,49,50,73,54, </key>\r
-<key name="chosen"> 20,26,33,34,49, </key>\r
-<key name="circl"> 12,70, </key>\r
-<key name="circlemesh"> 70, </key>\r
-<key name="circular"> 61, </key>\r
-<key name="clas"> 62, </key>\r
-<key name="clear"> 62,68, </key>\r
-<key name="click"> 0,17,1,18,20,2,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,32,36,64,65,38,39,40,67,42,68,43,44,45,47,49,50,51,52,73,53,54, </key>\r
-<key name="clip"> 0,5, </key>\r
-<key name="clos"> 14,20,9,12,61,43, </key>\r
-<key name="co"> 61,43, </key>\r
-<key name="coars"> 19,7,63, </key>\r
-<key name="coincid"> 59, </key>\r
-<key name="coincident"> 12,59,35, </key>\r
-<key name="color"> 16,0,18,20,2,25,32,36,44,47,73,53,54, </key>\r
-<key name="combin"> 10,32,65,68, </key>\r
-<key name="command"> 57,61,66,70, </key>\r
-<key name="common"> 27,68,50, </key>\r
-<key name="comp"> 66, </key>\r
-<key name="compar"> 19,43, </key>\r
-<key name="complete"> 59, </key>\r
-<key name="complex"> 1,12, </key>\r
-<key name="component"> 60,42, </key>\r
-<key name="compos"> 13,14,15,16,0,19,2,29,33,34,44, </key>\r
-<key name="compound"> 66, </key>\r
-<key name="comput"> 0,19,23,6,8,57,61,64,66,43,69,70,72, </key>\r
-<key name="computation"> 23,24,8,61, </key>\r
-<key name="con"> 69, </key>\r
-<key name="concept"> 37, </key>\r
-<key name="condition"> 13,25, </key>\r
-<key name="confirm"> 21,26,30,39,45,49,51, </key>\r
-<key name="confirmation"> 25, </key>\r
-<key name="conform"> 13,37,43,70, </key>\r
-<key name="conformity"> 20, </key>\r
-<key name="connect"> 19,26,45, </key>\r
-<key name="connection"> 14,16,3,4,60,66, </key>\r
-<key name="connectivity"> 64, </key>\r
-<key name="consid"> 20,23, </key>\r
-<key name="consider"> 14,20,2,43, </key>\r
-<key name="consist"> 16,1,18,19,20,3,4,22,23,24,25,12,55,56,57,33,32,36,34,47, </key>\r
-<key name="consol"> 52, </key>\r
-<key name="constant"> 19, </key>\r
-<key name="construct"> 15,19,22,23,6,24,38, </key>\r
-<key name="construction"> 19,23,6,24, </key>\r
-<key name="contain"> 14,15,21,23,24,25,26,12,31,33,64,45,49, </key>\r
-<key name="content"> 9,53, </key>\r
-<key name="continu"> 45, </key>\r
-<key name="contour"> 14,43, </key>\r
-<key name="contrast"> 49, </key>\r
-<key name="control"> 16,0,18,20,2,3,4,26,55,56,58,32,60,36,66,44,47,49,73,54, </key>\r
-<key name="converg"> 45, </key>\r
-<key name="conversion"> 19,7, </key>\r
-<key name="convert"> 7, </key>\r
-<key name="coordinat"> 14,17,28,64,53, </key>\r
-<key name="copi"> 70, </key>\r
-<key name="copy"> 41,68,46,70,48, </key>\r
-<key name="corn"> 1,54, </key>\r
-<key name="corner"> 26,12,45,54, </key>\r
-<key name="correspond"> 14,16,31,64,66,68,43,48, </key>\r
-<key name="cos_bot"> 61, </key>\r
-<key name="cos_top"> 61, </key>\r
-<key name="cosal"> 61, </key>\r
-<key name="cot"> 69, </key>\r
-<key name="could"> 14,17, </key>\r
-<key name="count"> 43, </key>\r
-<key name="counterclockwis"> 64, </key>\r
-<key name="cours"> 23, </key>\r
-<key name="cover"> 12, </key>\r
-<key name="creat"> 14,0,17,1,19,5,23,6,24,25,8,30,57,35,60,61,63,37,64,66,38,41,68,69,46,70,48,51,72,54, </key>\r
-<key name="createarea"> 57,66, </key>\r
-<key name="createaspectratio"> 66, </key>\r
-<key name="createaspectratio3d"> 66, </key>\r
-<key name="createemptymesh"> 61, </key>\r
-<key name="createequalto"> 57,66, </key>\r
-<key name="createfilt"> 57,66, </key>\r
-<key name="createfiltermanag"> 57,61,66, </key>\r
-<key name="createfreeborder"> 66, </key>\r
-<key name="createfreeedg"> 66, </key>\r
-<key name="creategroup"> 57,61,66,69, </key>\r
-<key name="creategroupfromgeom"> 61, </key>\r
-<key name="createhypothesi"> 61, </key>\r
-<key name="createlength"> 66, </key>\r
-<key name="createlength2d"> 66, </key>\r
-<key name="createlessthan"> 57,66, </key>\r
-<key name="createminimumangl"> 61,66, </key>\r
-<key name="createmorethan"> 57,66, </key>\r
-<key name="createmulticonnection"> 66, </key>\r
-<key name="createmulticonnection2d"> 66, </key>\r
-<key name="createpolyedr"> 70, </key>\r
-<key name="createpolygon"> 70, </key>\r
-<key name="createskew"> 66, </key>\r
-<key name="createtap"> 66, </key>\r
-<key name="createvolume3d"> 66, </key>\r
-<key name="createwarp"> 66, </key>\r
-<key name="creation"> 14,37,64,38,62,69,51, </key>\r
-<key name="criteria"> 60,68, </key>\r
-<key name="criterion"> 18,20,2,25,26,57,58,32,36,66,68,44,47,49,73,54, </key>\r
-<key name="cros"> 0,5,54, </key>\r
-<key name="cubic"> 15, </key>\r
-<key name="current"> 21,23,26,63,38,68,43,49, </key>\r
-<key name="curv"> 14,19,12,61, </key>\r
-<key name="curvilinear"> 19,12, </key>\r
-<key name="custom"> 63, </key>\r
-<key name="cut"> 19,6,26,8,57,61,51, </key>\r
-<key name="cutgroup"> 57, </key>\r
-<key name="cyl"> 8,69, </key>\r
-<key name="cylind"> 8,69, </key>\r
-<key name="d"> 19, </key>\r
-<key name="data"> 62, </key>\r
-<key name="dd"> 61, </key>\r
-<key name="deal"> 14, </key>\r
-<key name="def"> 6,61,62, </key>\r
-<key name="default"> 0,23,12,57,63,65,68,71,53, </key>\r
-<key name="defin"> 14,15,1,19,20,5,23,6,24,25,8,12,61,63,37,64,62,43,69,70,53, </key>\r
-<key name="definit"> 14,16,19,21,22,25,26,60,38,39,49, </key>\r
-<key name="definition"> 0,19,6,12,33,63,34, </key>\r
-<key name="deflection"> 13,19,8,60, </key>\r
-<key name="deflection1d"> 8, </key>\r
-<key name="deform"> 53, </key>\r
-<key name="degre"> 20,5, </key>\r
-<key name="delet"> 9,56,61,39,68, </key>\r
-<key name="deletediag"> 61, </key>\r
-<key name="deletion"> 39,50, </key>\r
-<key name="density"> 19, </key>\r
-<key name="depend"> 13,14,23,33,34, </key>\r
-<key name="describ"> 14,15,64, </key>\r
-<key name="description"> 64, </key>\r
-<key name="desirabl"> 35, </key>\r
-<key name="desktop"> 42, </key>\r
-<key name="destin"> 14,16,60,62, </key>\r
-<key name="detail"> 13,15,0, </key>\r
-<key name="detalization"> 63, </key>\r
-<key name="detect"> 35, </key>\r
-<key name="dh"> 61, </key>\r
-<key name="di1"> 69, </key>\r
-<key name="diagonal"> 26,27,61,47, </key>\r
-<key name="dialog"> 17,1,19,21,23,24,7,26,27,28,30,11,12,31,59,35,64,39,40,67,41,43,45,46,48,49,50,51, </key>\r
-<key name="diamet"> 20, </key>\r
-<key name="dif"> 1,63, </key>\r
-<key name="differ"> 19, </key>\r
-<key name="differenc"> 12,43, </key>\r
-<key name="different"> 13,17,25,12,38,68,43, </key>\r
-<key name="digit"> 12, </key>\r
-<key name="dimension"> 14,2,23,11,63,67,52, </key>\r
-<key name="direct"> 14,6,57,61,66,43,45,70, </key>\r
-<key name="direction"> 12,64,54, </key>\r
-<key name="dirstruct"> 61,70, </key>\r
-<key name="discretiz"> 11,67, </key>\r
-<key name="discretization"> 14,15, </key>\r
-<key name="displac"> 28, </key>\r
-<key name="display"> 16,0,1,18,20,2,3,21,23,24,25,26,28,10,29,55,32,36,65,44,45,47,49,52,73,53,54, </key>\r
-<key name="distanc"> 19,5,64,53,54, </key>\r
-<key name="distinguish"> 25, </key>\r
-<key name="distortion"> 45, </key>\r
-<key name="distribution"> 19, </key>\r
-<key name="divid"> 19, </key>\r
-<key name="do"> 17, </key>\r
-<key name="docopy"> 70, </key>\r
-<key name="documentation"> 62, </key>\r
-<key name="doesn"> 57,61,66,70, </key>\r
-<key name="domain"> 64, </key>\r
-<key name="don"> 14,23,12,61,37,53, </key>\r
-<key name="doubl"> 1, </key>\r
-<key name="downward"> 53, </key>\r
-<key name="dr"> 61, </key>\r
-<key name="drag"> 53, </key>\r
-<key name="drawn"> 53, </key>\r
-<key name="dump"> 0,53, </key>\r
-<key name="duplicat"> 12, </key>\r
-<key name="dx"> 61, </key>\r
-<key name="dy"> 61, </key>\r
-<key name="e"> 20,23,24,26,12,63,64,43,49, </key>\r
-<key name="e_arc"> 8, </key>\r
-<key name="e_straight"> 8, </key>\r
-<key name="e1"> 61, </key>\r
-<key name="easi"> 22, </key>\r
-<key name="easy"> 62, </key>\r
-<key name="edg"> 13,14,15,16,0,17,1,19,20,3,4,22,23,6,25,26,8,27,28,10,12,55,56,57,58,33,32,60,61,63,37,64,66,68,43,45,70,49,50,72,54, </key>\r
-<key name="edge_"> 61, </key>\r
-<key name="edge_bezierrr"> 61, </key>\r
-<key name="edge_bezierrr_mesh"> 61, </key>\r
-<key name="edge_circl"> 61, </key>\r
-<key name="edge_circle_mesh"> 61, </key>\r
-<key name="edge_straight"> 61, </key>\r
-<key name="edge_straight_mesh"> 61, </key>\r
-<key name="edge1"> 70, </key>\r
-<key name="edgeslist"> 70, </key>\r
-<key name="edgex"> 6,8, </key>\r
-<key name="edit"> 6,9,30,57,35,38, </key>\r
-<key name="edition"> 62,69, </key>\r
-<key name="editor_1"> 61, </key>\r
-<key name="editor_2"> 61, </key>\r
-<key name="editor_3"> 61, </key>\r
-<key name="editor_4"> 61, </key>\r
-<key name="editor_5"> 61, </key>\r
-<key name="editor_6"> 61, </key>\r
-<key name="editor_7"> 61, </key>\r
-<key name="ee_1"> 61, </key>\r
-<key name="ee_2"> 61, </key>\r
-<key name="ee_3"> 61, </key>\r
-<key name="ee_4"> 61, </key>\r
-<key name="ee_5"> 61, </key>\r
-<key name="ee_6"> 61, </key>\r
-<key name="ee_7"> 61, </key>\r
-<key name="effect"> 49, </key>\r
-<key name="eith"> 64,43, </key>\r
-<key name="element"> 13,14,15,16,0,17,1,18,19,20,2,4,21,22,7,25,26,8,9,27,28,29,30,11,12,56,57,33,32,59,60,36,61,63,37,34,64,66,39,40,67,41,68,43,44,45,46,47,70,48,49,51,52,73,54, </key>\r
-<key name="els"> 6,8,61,64, </key>\r
-<key name="empty"> 61, </key>\r
-<key name="enabl"> 68, </key>\r
-<key name="encapsulat"> 24, </key>\r
-<key name="encounter"> 64, </key>\r
-<key name="end"> 13,19,8,60,37,68,43,48, </key>\r
-<key name="enough"> 43, </key>\r
-<key name="ent"> 25,27,28,31,50, </key>\r
-<key name="entiti"> 14,15, </key>\r
-<key name="entity"> 14,0,10,68, </key>\r
-<key name="equal"> 19,33,64,68,43,45, </key>\r
-<key name="equidistant"> 19, </key>\r
-<key name="equilateral"> 20, </key>\r
-<key name="eras"> 0, </key>\r
-<key name="error"> 61, </key>\r
-<key name="etc"> 16,2,26,49, </key>\r
-<key name="even"> 23,33,63, </key>\r
-<key name="eventual"> 64, </key>\r
-<key name="every"> 54, </key>\r
-<key name="everyth"> 23, </key>\r
-<key name="ex21_lamp"> 69, </key>\r
-<key name="examin"> 12, </key>\r
-<key name="exampl"> 14,2,23,6,25,12,64,62,69,51, </key>\r
-<key name="exce"> 19, </key>\r
-<key name="exceed"> 45, </key>\r
-<key name="except"> 43,53, </key>\r
-<key name="exist"> 13,21,25,26,30,64,68,49, </key>\r
-<key name="existenc"> 23, </key>\r
-<key name="explod"> 61, </key>\r
-<key name="exponent"> 19, </key>\r
-<key name="export"> 0,6,31,60,53, </key>\r
-<key name="exportation"> 31, </key>\r
-<key name="exportm"> 6, </key>\r
-<key name="extend"> 53,54, </key>\r
-<key name="external"> 12, </key>\r
-<key name="extreme"> 19, </key>\r
-<key name="extremiti"> 5, </key>\r
-<key name="extrud"> 11,12,61,67, </key>\r
-<key name="extrusion"> 11,12,61,70, </key>\r
-<key name="extrusionalongpath"> 61, </key>\r
-<key name="extrusionalongpathobject"> 70, </key>\r
-<key name="extrusionsweepobject"> 61, </key>\r
-<key name="exy"> 8, </key>\r
-<key name="f"> 19,8, </key>\r
-<key name="f1"> 61, </key>\r
-<key name="f2"> 61, </key>\r
-<key name="f3"> 61, </key>\r
-<key name="f4"> 61, </key>\r
-<key name="f5"> 61, </key>\r
-<key name="fac"> 13,14,15,0,17,19,2,3,22,23,6,24,25,8,10,12,55,57,33,60,61,63,37,64,66,68,43,69,70,52,72,54, </key>\r
-<key name="face_1"> 61, </key>\r
-<key name="face_2"> 61, </key>\r
-<key name="face1"> 8,70, </key>\r
-<key name="face2"> 70, </key>\r
-<key name="facelist"> 66, </key>\r
-<key name="faceslist1"> 70, </key>\r
-<key name="faceslist2"> 70, </key>\r
-<key name="facesrotat"> 61, </key>\r
-<key name="factor"> 19,26, </key>\r
-<key name="factoryserv"> 62, </key>\r
-<key name="fail"> 61, </key>\r
-<key name="far"> 43, </key>\r
-<key name="fashion"> 12, </key>\r
-<key name="fast"> 45, </key>\r
-<key name="featur"> 25, </key>\r
-<key name="ff"> 61, </key>\r
-<key name="ff_1"> 61, </key>\r
-<key name="ff_2"> 61, </key>\r
-<key name="ff_3"> 61, </key>\r
-<key name="ff_4"> 61, </key>\r
-<key name="ff_5"> 61, </key>\r
-<key name="ff_6"> 61, </key>\r
-<key name="ff_7"> 61, </key>\r
-<key name="field"> 17,1,21,25,27,28,40,68,43,45,49,50, </key>\r
-<key name="fifth"> 43, </key>\r
-<key name="fil"> 6,31,64,68, </key>\r
-<key name="fill"> 66,40,43, </key>\r
-<key name="filt"> 21,25,26,68,49, </key>\r
-<key name="filter"> 25,68, </key>\r
-<key name="fin"> 19,63, </key>\r
-<key name="find"> 31,64,43, </key>\r
-<key name="findcoincidentnod"> 70, </key>\r
-<key name="findorloadcomponent"> 62, </key>\r
-<key name="finenes"> 19,63, </key>\r
-<key name="first"> 1,19,23,6,12,57,61,37,64,43, </key>\r
-<key name="firstnodeid1"> 70, </key>\r
-<key name="firstnodeid2"> 70, </key>\r
-<key name="firstnodeidonfreebord"> 70, </key>\r
-<key name="firstnodeidonsid"> 70, </key>\r
-<key name="fit"> 53, </key>\r
-<key name="fiv"> 61, </key>\r
-<key name="fix"> 14,6,8,45, </key>\r
-<key name="flag"> 64, </key>\r
-<key name="fold"> 23,24, </key>\r
-<key name="follow"> 13,14,15,17,1,2,21,23,24,7,25,26,27,28,29,30,11,12,35,61,64,39,40,67,41,43,45,46,48,49,50,51,52, </key>\r
-<key name="font"> 53, </key>\r
-<key name="form"> 1,27,30,64,43, </key>\r
-<key name="format"> 0,31,60,53, </key>\r
-<key name="formula"> 19,20,2, </key>\r
-<key name="four"> 14,20,54, </key>\r
-<key name="fourth"> 61, </key>\r
-<key name="fram"> 53, </key>\r
-<key name="fre"> 14,16,55,56,60,66,43,45,70, </key>\r
-<key name="function"> 14,62, </key>\r
-<key name="functionaliti"> 53, </key>\r
-<key name="functionality"> 23,7,31,59,35,43,53, </key>\r
-<key name="fus"> 69, </key>\r
-<key name="futur"> 19, </key>\r
-<key name="g"> 24, </key>\r
-<key name="gaus"> 53, </key>\r
-<key name="gen"> 61,66, </key>\r
-<key name="generat"> 13,14,16,19,23,60,37,64, </key>\r
-<key name="generation"> 6,11,64,67,69, </key>\r
-<key name="geom"> 14,60, </key>\r
-<key name="geometric"> 14,16,8, </key>\r
-<key name="geometrical"> 13,14,15,19,23,24,25,33,60,34,64,38,41,45,46,48,52, </key>\r
-<key name="geometry"> 24,7,25,57,61,69,45, </key>\r
-<key name="geompy"> 6,8,57,61,66,69,70,72, </key>\r
-<key name="get"> 0,5,23,8,12,57,64,52, </key>\r
-<key name="getborder"> 66, </key>\r
-<key name="getedgenearpoint"> 6,8, </key>\r
-<key name="getelementsid"> 57,66, </key>\r
-<key name="geterrorcod"> 61, </key>\r
-<key name="getlistofid"> 57, </key>\r
-<key name="getmesh"> 6,61,66,70,72, </key>\r
-<key name="getmesheditor"> 61,66,70, </key>\r
-<key name="getnam"> 62, </key>\r
-<key name="getpattern"> 61, </key>\r
-<key name="ghs3d"> 62, </key>\r
-<key name="giv"> 68,52, </key>\r
-<key name="given"> 19,33,61,43, </key>\r
-<key name="global"> 8,53, </key>\r
-<key name="glu"> 66, </key>\r
-<key name="good"> 6,45, </key>\r
-<key name="got"> 64, </key>\r
-<key name="graduat"> 53, </key>\r
-<key name="graphical"> 0, </key>\r
-<key name="great"> 19,53, </key>\r
-<key name="greatest"> 20,2, </key>\r
-<key name="green"> 25,12, </key>\r
-<key name="group"> 21,22,25,26,9,30,12,57,35,60,61,66,68,69,45,48,49,51,52, </key>\r
-<key name="group_nam"> 69, </key>\r
-<key name="group1"> 51, </key>\r
-<key name="group12"> 51, </key>\r
-<key name="group12a"> 51, </key>\r
-<key name="group12b"> 51, </key>\r
-<key name="group2"> 51, </key>\r
-<key name="grouprotat"> 61, </key>\r
-<key name="groupsmooth"> 61, </key>\r
-<key name="groupsofnod"> 70, </key>\r
-<key name="grouptri"> 61, </key>\r
-<key name="growth"> 63, </key>\r
-<key name="h"> 54, </key>\r
-<key name="half"> 20,54, </key>\r
-<key name="halv"> 5, </key>\r
-<key name="hasangl"> 61, </key>\r
-<key name="hasrefpoint"> 61, </key>\r
-<key name="hav"> 20,33,37,64, </key>\r
-<key name="hedron"> 61, </key>\r
-<key name="height"> 69,54, </key>\r
-<key name="helical"> 12, </key>\r
-<key name="help"> 16, </key>\r
-<key name="henc"> 64, </key>\r
-<key name="her"> 64, </key>\r
-<key name="hexa"> 8, </key>\r
-<key name="hexahedral"> 15,6,8, </key>\r
-<key name="hexahedralization"> 23, </key>\r
-<key name="hexahedrical"> 8, </key>\r
-<key name="hexahedron"> 14,15,17,2,8,61,34,72, </key>\r
-<key name="hh"> 61, </key>\r
-<key name="hid"> 0,53, </key>\r
-<key name="high"> 14, </key>\r
-<key name="highlight"> 3,4,21,25,26,55,56,49, </key>\r
-<key name="hmax"> 20, </key>\r
-<key name="hol"> 56,61, </key>\r
-<key name="hold"> 64, </key>\r
-<key name="homogeneou"> 63, </key>\r
-<key name="how"> 15,12,63,38, </key>\r
-<key name="hyp"> 24, </key>\r
-<key name="hyp1"> 6, </key>\r
-<key name="hyp1d"> 61, </key>\r
-<key name="hyp2"> 6, </key>\r
-<key name="hyp3"> 6, </key>\r
-<key name="hyp4"> 6, </key>\r
-<key name="hypothes"> 13,0,19,23,6,24,8,33,60,61,63,37,38, </key>\r
-<key name="hypothesi"> 13,19,23,6,8,33,61,37,34,38,69, </key>\r
-<key name="i"> 15,20,23,26,12,57,61,63,64,66,43,49, </key>\r
-<key name="icon"> 30,39,42, </key>\r
-<key name="id"> 0,19,21,25,26,27,28,29,11,12,57,61,67,43,45,49,50, </key>\r
-<key name="id_circl"> 70, </key>\r
-<key name="id_fac"> 8, </key>\r
-<key name="id_face1"> 70, </key>\r
-<key name="idbox"> 6,66, </key>\r
-<key name="idea"> 12, </key>\r
-<key name="idl"> 6,57,61,66,70, </key>\r
-<key name="idsofelement"> 61, </key>\r
-<key name="idsoffixednod"> 61, </key>\r
-<key name="idsofside1element"> 70, </key>\r
-<key name="idsofside2element"> 70, </key>\r
-<key name="if"> 14,17,5,23,6,24,7,8,11,12,57,33,61,63,37,64,66,38,39,67,68,43,45,49,53, </key>\r
-<key name="ii"> 61, </key>\r
-<key name="imag"> 0,12,53, </key>\r
-<key name="imp"> 14, </key>\r
-<key name="import"> 6,8,57,31,60,61,66,69,70,72, </key>\r
-<key name="importation"> 31, </key>\r
-<key name="importcomponentgui"> 61, </key>\r
-<key name="includ"> 14,52, </key>\r
-<key name="increas"> 6,8, </key>\r
-<key name="index"> 25,64, </key>\r
-<key name="indic"> 64, </key>\r
-<key name="indicat"> 54, </key>\r
-<key name="info"> 0,52,72, </key>\r
-<key name="information"> 14,0,6,7,30,52,72, </key>\r
-<key name="init"> 61, </key>\r
-<key name="initial"> 12,61,68,46,51, </key>\r
-<key name="input"> 1,19, </key>\r
-<key name="inscrib"> 20, </key>\r
-<key name="insert"> 68,43, </key>\r
-<key name="instead"> 6,37,64, </key>\r
-<key name="int"> 62, </key>\r
-<key name="intact"> 9, </key>\r
-<key name="integ"> 25, </key>\r
-<key name="intend"> 43, </key>\r
-<key name="interest"> 14, </key>\r
-<key name="interfac"> 6,57,61,66,69,70, </key>\r
-<key name="intermediat"> 43, </key>\r
-<key name="internal"> 64, </key>\r
-<key name="intersect"> 64,51, </key>\r
-<key name="intersectgroup"> 57, </key>\r
-<key name="intersection"> 57,64,51, </key>\r
-<key name="introduc"> 13,25,37, </key>\r
-<key name="introduction"> 60,69, </key>\r
-<key name="invers"> 14,27,61, </key>\r
-<key name="inversediag"> 61, </key>\r
-<key name="inversion"> 27,61, </key>\r
-<key name="invisibl"> 71, </key>\r
-<key name="is3d"> 8, </key>\r
-<key name="isdon"> 61, </key>\r
-<key name="iso"> 64, </key>\r
-<key name="isolin"> 64, </key>\r
-<key name="isometric"> 53, </key>\r
-<key name="isplanarfac"> 8,70, </key>\r
-<key name="item"> 17,1,21,22,7,26,27,28,30,11,12,31,35,64,40,67,41,43,45,46,48,49,50,51, </key>\r
-<key name="iteration"> 12,45, </key>\r
-<key name="iterativ"> 45, </key>\r
-<key name="iv"> 61, </key>\r
-<key name="j"> 15,57,66, </key>\r
-<key name="join"> 44, </key>\r
-<key name="jpeg"> 0,53, </key>\r
-<key name="jpg"> 0,53, </key>\r
-<key name="just"> 1,64,39, </key>\r
-<key name="k"> 15,19,20, </key>\r
-<key name="keep"> 12,45,46, </key>\r
-<key name="key"> 64, </key>\r
-<key name="keyboard"> 26, </key>\r
-<key name="know"> 64, </key>\r
-<key name="ko"> 61, </key>\r
-<key name="l"> 54, </key>\r
-<key name="label"> 53, </key>\r
-<key name="laplacian"> 45, </key>\r
-<key name="last"> 1,19,12,37,43, </key>\r
-<key name="lastnodeid1"> 70, </key>\r
-<key name="lastnodeid2"> 70, </key>\r
-<key name="lastnodeidonfreebord"> 70, </key>\r
-<key name="lastnodeidonsid"> 70, </key>\r
-<key name="lay"> 11,64,67, </key>\r
-<key name="lcc"> 62, </key>\r
-<key name="learn"> 52, </key>\r
-<key name="least"> 64,45, </key>\r
-<key name="leav"> 23,9, </key>\r
-<key name="left"> 0,12,64,53, </key>\r
-<key name="len"> 57,61,66, </key>\r
-<key name="length"> 13,16,19,20,6,8,58,33,32,60,66,43,53,54, </key>\r
-<key name="length_margin"> 66, </key>\r
-<key name="lengthfromedg"> 8,69,70, </key>\r
-<key name="les"> 68,43,45, </key>\r
-<key name="level"> 13,17,63, </key>\r
-<key name="library"> 25,68, </key>\r
-<key name="libstdmeshersengin"> 61, </key>\r
-<key name="lik"> 17,2,29,43, </key>\r
-<key name="limit"> 64,43,45, </key>\r
-<key name="lin"> 14,1,19,11,37,64,67,44, </key>\r
-<key name="linear"> 12,63, </key>\r
-<key name="link"> 43, </key>\r
-<key name="list"> 0,17,21,25,26,9,12,68,49, </key>\r
-<key name="lk"> 19, </key>\r
-<key name="ll"> 53, </key>\r
-<key name="load"> 64,68, </key>\r
-<key name="loadfromfac"> 61, </key>\r
-<key name="local"> 6,24,8,60,37, </key>\r
-<key name="locallength"> 8,69, </key>\r
-<key name="locat"> 64,43, </key>\r
-<key name="location"> 19,28,31,45, </key>\r
-<key name="lock"> 26,45,53, </key>\r
-<key name="longest"> 20, </key>\r
-<key name="look"> 29,12,64,68, </key>\r
-<key name="low"> 14,19,63, </key>\r
-<key name="ly"> 64, </key>\r
-<key name="main"> 21,26,9,12,37,64,68,49,51, </key>\r
-<key name="makearc"> 8,70, </key>\r
-<key name="makebezi"> 61, </key>\r
-<key name="makebox"> 6,57,66,69,70,72, </key>\r
-<key name="makeboxdxdydz"> 6,8,61, </key>\r
-<key name="makecirclethreepnt"> 61,70, </key>\r
-<key name="makecompound"> 66,70, </key>\r
-<key name="makecon"> 69, </key>\r
-<key name="makecylind"> 69, </key>\r
-<key name="makecylinderrh"> 8, </key>\r
-<key name="makeedg"> 8,61, </key>\r
-<key name="makefac"> 8,70, </key>\r
-<key name="makefus"> 69, </key>\r
-<key name="makegluefac"> 66, </key>\r
-<key name="makemesh"> 61, </key>\r
-<key name="makepolygon"> 61, </key>\r
-<key name="makepolylin"> 61, </key>\r
-<key name="makequadmesh2"> 61, </key>\r
-<key name="makeshell"> 66, </key>\r
-<key name="makesketch"> 8, </key>\r
-<key name="maketranslation"> 66, </key>\r
-<key name="makevector"> 8,70, </key>\r
-<key name="makevectordxdydz"> 69, </key>\r
-<key name="makevertex"> 6,8,61,69,70, </key>\r
-<key name="makewir"> 8,70, </key>\r
-<key name="manag"> 13,17, </key>\r
-<key name="manual"> 25,63,64, </key>\r
-<key name="map"> 15,33,61,64, </key>\r
-<key name="mark"> 53, </key>\r
-<key name="mas"> 12, </key>\r
-<key name="math"> 61,70, </key>\r
-<key name="max"> 13,8,33,60,63,34,45, </key>\r
-<key name="maxaspectratio"> 61, </key>\r
-<key name="maxelementarea"> 6,8,61,66,72, </key>\r
-<key name="maxelementvolum"> 6,8,69,72, </key>\r
-<key name="maximum"> 19,8,33,63,34,44,45,52, </key>\r
-<key name="maxnbofiteration"> 61, </key>\r
-<key name="mean"> 14,63, </key>\r
-<key name="meaningful"> 14, </key>\r
-<key name="measur"> 54, </key>\r
-<key name="medium"> 7, </key>\r
-<key name="meet"> 26,49, </key>\r
-<key name="mefisto"> 15,8, </key>\r
-<key name="menu"> 17,1,19,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,35,37,64,39,40,67,41,42,68,43,45,46,48,49,50,51,52, </key>\r
-<key name="merg"> 59,35,43,70, </key>\r
-<key name="mergeequalelement"> 70, </key>\r
-<key name="mergenod"> 70, </key>\r
-<key name="mesh"> 13,14,15,16,0,17,1,18,19,20,2,3,4,21,5,22,23,6,24,7,25,26,8,9,27,28,29,30,11,12,55,56,57,31,33,32,59,35,60,36,61,63,37,34,64,65,66,38,39,40,67,41,42,62,68,43,44,69,45,46,47,70,48,49,50,51,52,72,73,53,54, </key>\r
-<key name="mesh_1"> 23,61, </key>\r
-<key name="mesh_2"> 61, </key>\r
-<key name="mesh_borders_at_multi"> 66, </key>\r
-<key name="mesh_free_border"> 66, </key>\r
-<key name="mesh_length_1d"> 66, </key>\r
-<key name="mesh_length_2d"> 66, </key>\r
-<key name="mesh_nam"> 61, </key>\r
-<key name="mesh1d"> 61, </key>\r
-<key name="mesh1d_tool"> 61, </key>\r
-<key name="meshbox"> 6,72, </key>\r
-<key name="mesheditor"> 61, </key>\r
-<key name="meshm"> 6, </key>\r
-<key name="method"> 57,61,66,45,70, </key>\r
-<key name="middl"> 1,12,37, </key>\r
-<key name="min_angl"> 66, </key>\r
-<key name="minimum"> 16,19,26,60,36,63,66,43,49, </key>\r
-<key name="mirror"> 70, </key>\r
-<key name="mirrorobject"> 70, </key>\r
-<key name="mod"> 0,19,65, </key>\r
-<key name="model"> 14,60, </key>\r
-<key name="modification"> 14,17,1,21,7,26,27,28,30,11,12,35,60,64,39,40,67,41,43,45,46,48,49,50, </key>\r
-<key name="modify"> 21,26,30,61,49, </key>\r
-<key name="modul"> 14,15,1,19,6,25,60,61,42,69,53, </key>\r
-<key name="moment"> 57,61,66,70, </key>\r
-<key name="mous"> 0,25,53, </key>\r
-<key name="mov"> 28,61, </key>\r
-<key name="movenod"> 61, </key>\r
-<key name="much"> 63, </key>\r
-<key name="multi"> 16,3,4,60,66, </key>\r
-<key name="multiconnection"> 66, </key>\r
-<key name="must"> 23,12,64,68,43, </key>\r
-<key name="myelemid"> 66, </key>\r
-<key name="mypnt1"> 66, </key>\r
-<key name="mypnt2"> 66, </key>\r
-<key name="mystudyid"> 61, </key>\r
-<key name="n"> 64,43, </key>\r
-<key name="n1"> 61, </key>\r
-<key name="n10"> 61, </key>\r
-<key name="n11"> 61, </key>\r
-<key name="n12"> 61, </key>\r
-<key name="n2"> 61, </key>\r
-<key name="n23_param"> 8, </key>\r
-<key name="n3"> 61, </key>\r
-<key name="n4"> 61, </key>\r
-<key name="n5"> 61, </key>\r
-<key name="n6"> 61, </key>\r
-<key name="n7"> 61, </key>\r
-<key name="n8"> 61, </key>\r
-<key name="n9"> 61, </key>\r
-<key name="na"> 61, </key>\r
-<key name="nam"> 23,6,24,25,30,57,31,61,63,62,68,69,51,53, </key>\r
-<key name="nb"> 57,61,63,66, </key>\r
-<key name="nb_conn"> 66, </key>\r
-<key name="nb_segments_3"> 61, </key>\r
-<key name="nb_segments_7"> 61, </key>\r
-<key name="nb_segments_8"> 61, </key>\r
-<key name="nb_vert"> 61, </key>\r
-<key name="nbedg"> 6,70,72, </key>\r
-<key name="nbfac"> 6,72, </key>\r
-<key name="nbhexa"> 72, </key>\r
-<key name="nbnod"> 6,70,72, </key>\r
-<key name="nbpolygon"> 72, </key>\r
-<key name="nbpolyhedron"> 72, </key>\r
-<key name="nbprism"> 72, </key>\r
-<key name="nbpyramid"> 72, </key>\r
-<key name="nbquadrangl"> 70,72, </key>\r
-<key name="nbtetra"> 72, </key>\r
-<key name="nbtriangl"> 70,72, </key>\r
-<key name="nbvolum"> 6,70,72, </key>\r
-<key name="nc"> 61, </key>\r
-<key name="nd"> 61, </key>\r
-<key name="ndiagonal"> 61, </key>\r
-<key name="ne"> 23, </key>\r
-<key name="necessary"> 17, </key>\r
-<key name="negativ"> 19, </key>\r
-<key name="neighbor"> 27,50, </key>\r
-<key name="netgen"> 15,6,8,63,62,69,72, </key>\r
-<key name="netgen_2d3d"> 8, </key>\r
-<key name="new"> 0,5,23,24,25,28,61,64,38,68,51, </key>\r
-<key name="new_id"> 61, </key>\r
-<key name="next"> 19,57,61,64,66,70, </key>\r
-<key name="nid"> 61, </key>\r
-<key name="nid1"> 61, </key>\r
-<key name="nid2"> 61, </key>\r
-<key name="nid3"> 61, </key>\r
-<key name="nid4"> 61, </key>\r
-<key name="no_nam"> 62, </key>\r
-<key name="nod"> 14,0,17,1,18,19,20,21,22,6,7,25,28,29,11,12,33,35,60,61,63,64,65,66,39,40,67,68,43,44,45,47,70,52,72,54, </key>\r
-<key name="nodal"> 64,45, </key>\r
-<key name="node_id"> 61, </key>\r
-<key name="nodeid1ofside1tomerg"> 70, </key>\r
-<key name="nodeid1ofside2tomerg"> 70, </key>\r
-<key name="nodeid2ofside1tomerg"> 70, </key>\r
-<key name="nodeid2ofside2tomerg"> 70, </key>\r
-<key name="nodestart"> 61, </key>\r
-<key name="non"> 23, </key>\r
-<key name="nonam"> 62, </key>\r
-<key name="normal"> 46,54, </key>\r
-<key name="normalisation"> 20, </key>\r
-<key name="not"> 17,20,23,25,9,12, </key>\r
-<key name="noth"> 25, </key>\r
-<key name="notic"> 14, </key>\r
-<key name="now"> 5,23, </key>\r
-<key name="nsmooth"> 61, </key>\r
-<key name="numb"> 13,14,1,19,6,25,8,11,33,60,63,64,67,43,45,70,52,72,53, </key>\r
-<key name="number"> 0,1,29,12, </key>\r
-<key name="numberofsegment"> 6,8,57,61,66,70,72, </key>\r
-<key name="numeric"> 26, </key>\r
-<key name="numerical"> 13, </key>\r
-<key name="nunit"> 61, </key>\r
-<key name="obey"> 43, </key>\r
-<key name="obj"> 62, </key>\r
-<key name="object"> 13,15,0,17,1,19,5,22,23,24,7,25,26,9,30,31,33,61,63,34,64,65,38,39,40,41,48,49,52,73,53, </key>\r
-<key name="objecttoid"> 61, </key>\r
-<key name="objet"> 25, </key>\r
-<key name="obtain"> 17,66, </key>\r
-<key name="offset"> 53, </key>\r
-<key name="ok"> 17,1,21,5,7,26,9,27,28,30,11,12,31,61,39,40,67,43,45,49,50,51, </key>\r
-<key name="old"> 57,61,66,70, </key>\r
-<key name="on"> 14,1,19,23,6,24,26,8,9,27,11,12,55,56,59,61,37,64,66,38,39,67,68,43,45,46,48,49,51, </key>\r
-<key name="onc"> 49, </key>\r
-<key name="onto"> 37,64, </key>\r
-<key name="oo"> 20, </key>\r
-<key name="opaqu"> 71, </key>\r
-<key name="open"> 66, </key>\r
-<key name="operat"> 13, </key>\r
-<key name="operation"> 15,17,18,19,20,2,3,4,21,24,25,26,9,27,28,30,11,12,55,56,31,58,33,32,59,35,60,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,73,54, </key>\r
-<key name="opposit"> 13,5,6,26,8,33,37,43,44, </key>\r
-<key name="optimiz"> 63, </key>\r
-<key name="option"> 14,0,19,46,48, </key>\r
-<key name="optional"> 23,12, </key>\r
-<key name="ord"> 14,21,63,64, </key>\r
-<key name="ordinary"> 1,37, </key>\r
-<key name="orientat"> 53, </key>\r
-<key name="orientation"> 21,5,26,61,49, </key>\r
-<key name="origin"> 54, </key>\r
-<key name="other"> 49, </key>\r
-<key name="otherwis"> 23,33, </key>\r
-<key name="our"> 23, </key>\r
-<key name="out"> 53, </key>\r
-<key name="outlin"> 56, </key>\r
-<key name="outsid"> 64, </key>\r
-<key name="own"> 14, </key>\r
-<key name="p5"> 6,8, </key>\r
-<key name="packag"> 6,57,61,66,62,69,70, </key>\r
-<key name="pag"> 15,25,30, </key>\r
-<key name="pair"> 19, </key>\r
-<key name="pan"> 53, </key>\r
-<key name="paramet"> 14,19,2,68,43, </key>\r
-<key name="parameter"> 13,0,5,8,12,63,41,43,53, </key>\r
-<key name="parametric"> 14,64, </key>\r
-<key name="parent"> 24, </key>\r
-<key name="part"> 61,43,45,53, </key>\r
-<key name="particularity"> 14, </key>\r
-<key name="pas"> 6,57,61,66, </key>\r
-<key name="path"> 12,61,68,70, </key>\r
-<key name="pathmesh"> 61, </key>\r
-<key name="pathshap"> 61, </key>\r
-<key name="pattern"> 61,64, </key>\r
-<key name="pattern_nam"> 64, </key>\r
-<key name="pentagonal"> 61, </key>\r
-<key name="pentahedron"> 2, </key>\r
-<key name="per"> 63, </key>\r
-<key name="perform"> 60,61,40,43,46,51, </key>\r
-<key name="perimet"> 20, </key>\r
-<key name="pi"> 61,70, </key>\r
-<key name="pictur"> 3,25,12,55,56,59, </key>\r
-<key name="piec"> 69, </key>\r
-<key name="plac"> 7,43,53, </key>\r
-<key name="plan"> 5,66,46,54, </key>\r
-<key name="planar"> 61,54, </key>\r
-<key name="platform"> 25,42, </key>\r
-<key name="pleas"> 9,12, </key>\r
-<key name="plot"> 19, </key>\r
-<key name="plu"> 11,67, </key>\r
-<key name="png"> 0,53, </key>\r
-<key name="point"> 14,1,19,12,61,37,64,67,41,43,46,70,48,53,54, </key>\r
-<key name="pointstruct"> 61,70, </key>\r
-<key name="polygon"> 17,61,72, </key>\r
-<key name="polygonal"> 61, </key>\r
-<key name="polyhedral"> 17,61, </key>\r
-<key name="polyhedron"> 17,61,72, </key>\r
-<key name="polylin"> 12, </key>\r
-<key name="pop"> 9,29, </key>\r
-<key name="position"> 14,64,53, </key>\r
-<key name="posses"> 63,37, </key>\r
-<key name="possibility"> 68, </key>\r
-<key name="possibl"> 13,2,25,63,64, </key>\r
-<key name="post"> 53, </key>\r
-<key name="powerful"> 68, </key>\r
-<key name="precision"> 17, </key>\r
-<key name="preferenc"> 13,33,60,65, </key>\r
-<key name="prefix"> 68, </key>\r
-<key name="preproces"> 25, </key>\r
-<key name="pres"> 17,1,12,39,53, </key>\r
-<key name="present"> 14,0,63,51, </key>\r
-<key name="presentation"> 16,0,53, </key>\r
-<key name="preserv"> 64, </key>\r
-<key name="preset"> 13, </key>\r
-<key name="preview"> 17,5,26,64,68, </key>\r
-<key name="previou"> 19,12,49, </key>\r
-<key name="previous"> 24,25,60,64, </key>\r
-<key name="principl"> 12, </key>\r
-<key name="print"> 6,8,57,61,66,70,72, </key>\r
-<key name="printmeshinfo"> 6, </key>\r
-<key name="prism"> 72, </key>\r
-<key name="pro"> 53, </key>\r
-<key name="problem"> 6,8, </key>\r
-<key name="proce"> 23,9, </key>\r
-<key name="procedur"> 45, </key>\r
-<key name="proceed"> 12,38, </key>\r
-<key name="proces"> 45, </key>\r
-<key name="produc"> 14,7,11,61,67,45, </key>\r
-<key name="product"> 54, </key>\r
-<key name="program"> 23, </key>\r
-<key name="progression"> 19, </key>\r
-<key name="project"> 64, </key>\r
-<key name="projection"> 64,54, </key>\r
-<key name="prompt"> 19, </key>\r
-<key name="propagat"> 6,8,37, </key>\r
-<key name="propagation"> 13,6,8,37,70, </key>\r
-<key name="properti"> 53, </key>\r
-<key name="prov"> 63, </key>\r
-<key name="provid"> 0,17,26,57,61,66,69,70, </key>\r
-<key name="pseudo"> 27, </key>\r
-<key name="pt1"> 69, </key>\r
-<key name="pt2"> 69, </key>\r
-<key name="pul"> 45, </key>\r
-<key name="put"> 8, </key>\r
-<key name="px"> 8,70, </key>\r
-<key name="px1"> 70, </key>\r
-<key name="py"> 8,70, </key>\r
-<key name="py1"> 70, </key>\r
-<key name="pyramid"> 72, </key>\r
-<key name="pyramidal"> 15, </key>\r
-<key name="python"> 6,62,69,52, </key>\r
-<key name="pz"> 8,70, </key>\r
-<key name="pz1"> 70, </key>\r
-<key name="q1"> 61, </key>\r
-<key name="qi"> 2, </key>\r
-<key name="qk"> 20,2, </key>\r
-<key name="quad"> 54, </key>\r
-<key name="quad_1"> 61, </key>\r
-<key name="quad_2"> 61, </key>\r
-<key name="quad_3"> 61, </key>\r
-<key name="quad_4"> 61, </key>\r
-<key name="quad_5"> 61, </key>\r
-<key name="quad_6"> 61, </key>\r
-<key name="quad_7"> 61, </key>\r
-<key name="quadra"> 6,57, </key>\r
-<key name="quadrangl"> 13,14,15,17,18,20,2,6,26,8,27,11,12,57,33,32,60,36,61,63,67,44,70,72, </key>\r
-<key name="quadrangular"> 15,6,8,33,37, </key>\r
-<key name="quadratic"> 13,1,7,63,37, </key>\r
-<key name="quadtotri"> 61, </key>\r
-<key name="quality"> 16,0,18,19,20,2,3,4,26,55,56,58,32,60,36,66,44,47,49,73,54, </key>\r
-<key name="quantity"> 13, </key>\r
-<key name="r1"> 61, </key>\r
-<key name="radio"> 21,25,26,41,43,46,49, </key>\r
-<key name="radiu"> 20,61,63, </key>\r
-<key name="radius"> 63, </key>\r
-<key name="radius_1"> 69, </key>\r
-<key name="radius_2"> 69, </key>\r
-<key name="rang"> 19,25,57,61,63,66, </key>\r
-<key name="rat"> 63, </key>\r
-<key name="ratio"> 16,20,2,60,66,45,47,54, </key>\r
-<key name="ready"> 23, </key>\r
-<key name="recent"> 0, </key>\r
-<key name="red"> 56, </key>\r
-<key name="redefin"> 0,53, </key>\r
-<key name="reduc"> 45, </key>\r
-<key name="reevaluat"> 45, </key>\r
-<key name="refer"> 64, </key>\r
-<key name="referenc"> 14,16,23,24, </key>\r
-<key name="refin"> 13, </key>\r
-<key name="reflect"> 64,44,73, </key>\r
-<key name="refpoint"> 61, </key>\r
-<key name="refresh"> 0, </key>\r
-<key name="regular"> 20,6,8,63,62, </key>\r
-<key name="regular_1d"> 61, </key>\r
-<key name="relat"> 42, </key>\r
-<key name="relation"> 14, </key>\r
-<key name="relationship"> 14, </key>\r
-<key name="remot"> 53, </key>\r
-<key name="remov"> 21,6,25,26,9,30,12,57,61,66,39,68,49, </key>\r
-<key name="removal"> 60, </key>\r
-<key name="removeelement"> 61,66, </key>\r
-<key name="removehypothesi"> 6, </key>\r
-<key name="removenod"> 61, </key>\r
-<key name="renumb"> 61,40, </key>\r
-<key name="renumber"> 61,40, </key>\r
-<key name="renumbernod"> 61, </key>\r
-<key name="reorient"> 21,61, </key>\r
-<key name="replac"> 43, </key>\r
-<key name="represent"> 13,14,19,2,65,47,53, </key>\r
-<key name="representation"> 14, </key>\r
-<key name="requir"> 27,28,63,50, </key>\r
-<key name="res"> 61, </key>\r
-<key name="reset"> 53, </key>\r
-<key name="resiz"> 53, </key>\r
-<key name="respect"> 12, </key>\r
-<key name="respectiv"> 1, </key>\r
-<key name="rest"> 64,43, </key>\r
-<key name="restor"> 53, </key>\r
-<key name="restrict"> 14, </key>\r
-<key name="result"> 13,17,12,57,66,45,51, </key>\r
-<key name="ret"> 6,8, </key>\r
-<key name="retriev"> 14, </key>\r
-<key name="return"> 58,61, </key>\r
-<key name="reveal"> 20, </key>\r
-<key name="revers"> 1,64, </key>\r
-<key name="revert"> 21, </key>\r
-<key name="revolution"> 11,61,67, </key>\r
-<key name="revolv"> 61,67, </key>\r
-<key name="right"> 0,22,9,28,29,12,65, </key>\r
-<key name="rotat"> 11,12,61,67,41,70,53, </key>\r
-<key name="rotateobject"> 70, </key>\r
-<key name="rotation"> 5,67,41,70,53, </key>\r
-<key name="rotationsweepobject"> 61, </key>\r
-<key name="rough"> 13, </key>\r
-<key name="rr"> 61, </key>\r
-<key name="rul"> 19,37,43, </key>\r
-<key name="run"> 42, </key>\r
-<key name="salom"> 25,8,57,60,61,66,42,62,70, </key>\r
-<key name="sam"> 14,0,19,20,2,23,24,8,12,37,38,68,43,51, </key>\r
-<key name="sampl"> 15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,73,54, </key>\r
-<key name="sav"> 68, </key>\r
-<key name="scal"> 19,53, </key>\r
-<key name="scalar"> 16, </key>\r
-<key name="scen"> 53, </key>\r
-<key name="script"> 15,17,18,19,20,2,3,4,21,23,6,24,25,26,27,28,30,11,12,55,56,57,31,58,33,32,59,35,36,61,37,34,64,66,38,39,40,67,41,43,44,45,46,47,70,48,49,50,51,52,73,54, </key>\r
-<key name="se"> 15,17,18,19,20,2,3,4,21,5,6,24,7,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,69,45,46,47,48,49,50,51,73,53,54, </key>\r
-<key name="seam"> 64, </key>\r
-<key name="search"> 31,68, </key>\r
-<key name="second"> 17,61,63,43, </key>\r
-<key name="secondnodeid1"> 70, </key>\r
-<key name="secondnodeid2"> 70, </key>\r
-<key name="secondnodeidonfreebord"> 70, </key>\r
-<key name="section"> 0,5,23,64,69, </key>\r
-<key name="seg"> 63, </key>\r
-<key name="segment"> 13,19,6,8,57,33,60,61,63,66,69,70,72, </key>\r
-<key name="select"> 13,0,17,1,19,21,22,23,6,24,7,25,26,9,27,28,30,11,12,31,35,61,63,37,64,65,39,40,67,41,42,68,43,45,46,48,49,50,51,52,53, </key>\r
-<key name="selectabl"> 59, </key>\r
-<key name="selection"> 17,1,21,25,26,9,68,49, </key>\r
-<key name="sens"> 14, </key>\r
-<key name="separat"> 47, </key>\r
-<key name="sequenc"> 43, </key>\r
-<key name="set"> 14,15,17,19,21,5,23,25,8,28,12,33,60,61,63,34,64,65,68,43,45,71,49, </key>\r
-<key name="setmargin"> 57,66, </key>\r
-<key name="setmaxelementarea"> 6, </key>\r
-<key name="setmesh"> 66, </key>\r
-<key name="setnam"> 61,62,69, </key>\r
-<key name="setnumberofsegment"> 61, </key>\r
-<key name="setnumfunctor"> 57,66, </key>\r
-<key name="setpredicat"> 57,66, </key>\r
-<key name="setting"> 23, </key>\r
-<key name="seven"> 12,61, </key>\r
-<key name="sew"> 12,43,70, </key>\r
-<key name="sewbordertosid"> 70, </key>\r
-<key name="sewconformfreeborder"> 70, </key>\r
-<key name="sewfreeborder"> 70, </key>\r
-<key name="sewsideelement"> 70, </key>\r
-<key name="sg"> 57,61,66,70, </key>\r
-<key name="shad"> 0,65,71, </key>\r
-<key name="shall"> 21,27,28,35,64,67,41,46,48,49,50, </key>\r
-<key name="shap"> 13,14,12,61,64,45, </key>\r
-<key name="shape_mesh"> 61, </key>\r
-<key name="shape1d"> 61, </key>\r
-<key name="shapetyp"> 6,8,57,61,66,69,70, </key>\r
-<key name="shell"> 66, </key>\r
-<key name="shift"> 17,1,26,39,45, </key>\r
-<key name="shortest"> 54, </key>\r
-<key name="should"> 19,7,25,11,12,64,67,41,68,43,45,51, </key>\r
-<key name="show"> 19,5,12,68,53, </key>\r
-<key name="shown"> 16,45, </key>\r
-<key name="shrink"> 65, </key>\r
-<key name="sid"> 6,8,36,63,43,44,70, </key>\r
-<key name="simp"> 23,37, </key>\r
-<key name="simpl"> 14,17,12,64, </key>\r
-<key name="simplex"> 20,2, </key>\r
-<key name="sin"> 61, </key>\r
-<key name="sin_bot"> 61, </key>\r
-<key name="sin_top"> 61, </key>\r
-<key name="six"> 12,61, </key>\r
-<key name="siz"> 0,63,69,45, </key>\r
-<key name="sk"> 20,2, </key>\r
-<key name="sketch"> 8, </key>\r
-<key name="sketcher"> 8, </key>\r
-<key name="sketcher1"> 8, </key>\r
-<key name="sketcher2"> 8, </key>\r
-<key name="skew"> 16,26,60,66,44,49, </key>\r
-<key name="skew_margin"> 66, </key>\r
-<key name="slid"> 71, </key>\r
-<key name="small"> 53, </key>\r
-<key name="smesh"> 6,8,57,61,66,62,43,69,70,72, </key>\r
-<key name="smesh_mechanic"> 57,61,66,70, </key>\r
-<key name="smesh_mechanic_tetra"> 66, </key>\r
-<key name="smesh_mesheditor"> 61,70, </key>\r
-<key name="smeshgroup1"> 57, </key>\r
-<key name="smeshgui"> 61, </key>\r
-<key name="smooth"> 61,45, </key>\r
-<key name="smoothobject"> 61, </key>\r
-<key name="smp"> 64, </key>\r
-<key name="so"> 13,19,20,12,61,64,43,47, </key>\r
-<key name="solid"> 8,60, </key>\r
-<key name="somewhat"> 17, </key>\r
-<key name="soon"> 6, </key>\r
-<key name="sort"> 21,25,26,49, </key>\r
-<key name="sourc"> 68, </key>\r
-<key name="spac"> 14,64,41,48, </key>\r
-<key name="specifi"> 19,3,64,39,43,45, </key>\r
-<key name="specific"> 22,68, </key>\r
-<key name="specify"> 17,1,26,11,12,64,39,67,41,68,45,46,48,51, </key>\r
-<key name="spher"> 19,20,23, </key>\r
-<key name="split"> 15,19,2,5,63,43, </key>\r
-<key name="sqrt"> 61, </key>\r
-<key name="standalon"> 25,57,68, </key>\r
-<key name="standard"> 0,7,31,69,52, </key>\r
-<key name="start"> 13,19,5,8,12,60,42,43,48, </key>\r
-<key name="startendlength"> 8, </key>\r
-<key name="static"> 62, </key>\r
-<key name="statu"> 61, </key>\r
-<key name="step"> 11,67, </key>\r
-<key name="stor"> 64,68, </key>\r
-<key name="str"> 62, </key>\r
-<key name="straight"> 1,8,12,61,37, </key>\r
-<key name="stretch"> 53, </key>\r
-<key name="strict"> 53, </key>\r
-<key name="structur"> 23,24,61,62, </key>\r
-<key name="study"> 8,57,68,69, </key>\r
-<key name="stuf"> 53, </key>\r
-<key name="styl"> 6, </key>\r
-<key name="sub"> 6,8,12,31,35,64,41,43,46,48, </key>\r
-<key name="submenu"> 17,10,39,40, </key>\r
-<key name="submesh"> 13,21,22,6,24,25,26,11,12,38,67,45,48,49,52, </key>\r
-<key name="subshapeall"> 6,8,57,61,66,70, </key>\r
-<key name="subshapeallid"> 69, </key>\r
-<key name="subshapeallsort"> 61, </key>\r
-<key name="subshapelist"> 6,57, </key>\r
-<key name="subshapenam"> 6, </key>\r
-<key name="succed"> 8, </key>\r
-<key name="sum"> 2, </key>\r
-<key name="supplement"> 37, </key>\r
-<key name="supplementary"> 26, </key>\r
-<key name="surfac"> 14,20,2,11,12,64,67,43, </key>\r
-<key name="surround"> 14,45, </key>\r
-<key name="swept"> 11,67, </key>\r
-<key name="switch"> 1, </key>\r
-<key name="symmetrical"> 46,70, </key>\r
-<key name="symmetry"> 46,70, </key>\r
-<key name="syntax"> 68, </key>\r
-<key name="t"> 14,19,2,23,57,61,37,64,65,66,70,53, </key>\r
-<key name="t1"> 61, </key>\r
-<key name="tabl"> 1,19, </key>\r
-<key name="tak"> 20,49, </key>\r
-<key name="taken"> 13,22,25,8,64, </key>\r
-<key name="tap"> 16,25,60,66,47, </key>\r
-<key name="taper_margin"> 66, </key>\r
-<key name="techniqu"> 45, </key>\r
-<key name="tetra"> 6,8,69,72, </key>\r
-<key name="tetrahedral"> 15,8,63,69, </key>\r
-<key name="tetrahedralization"> 23, </key>\r
-<key name="tetrahedrical"> 8, </key>\r
-<key name="tetrahedron"> 14,15,17,2,6,8,61,34,69,72, </key>\r
-<key name="tetran"> 8, </key>\r
-<key name="th"> 64,43, </key>\r
-<key name="them"> 13,17,1,19,2,25,9,10,11,12,35,63,39,67,43,45,53, </key>\r
-<key name="themesh"> 6, </key>\r
-<key name="third"> 12, </key>\r
-<key name="thos"> 26,49, </key>\r
-<key name="thre"> 14,1,20,61,63,37,43,46, </key>\r
-<key name="threshold"> 68, </key>\r
-<key name="tick"> 53, </key>\r
-<key name="tim"> 0, </key>\r
-<key name="tmp"> 6, </key>\r
-<key name="togeth"> 33, </key>\r
-<key name="toggl"> 17,68,48, </key>\r
-<key name="toleranc"> 35,67,68,70, </key>\r
-<key name="tool"> 68,51, </key>\r
-<key name="toolbar"> 20,2,21,23,24,7,26,27,28,30,11,12,32,64,39,40,67,42,44,45,47,49,50,52,73,53,54, </key>\r
-<key name="top"> 61, </key>\r
-<key name="topological"> 14,43, </key>\r
-<key name="topology"> 14, </key>\r
-<key name="toru"> 7, </key>\r
-<key name="total"> 52, </key>\r
-<key name="toward"> 45, </key>\r
-<key name="transform"> 28,70, </key>\r
-<key name="transformation"> 35,41,43,46,48, </key>\r
-<key name="translat"> 70,48, </key>\r
-<key name="translateobject"> 70, </key>\r
-<key name="translation"> 70,48, </key>\r
-<key name="transparency"> 0,71, </key>\r
-<key name="transparent"> 71, </key>\r
-<key name="transtorm"> 7, </key>\r
-<key name="tri_mesh"> 70, </key>\r
-<key name="tria"> 6,8,66,70, </key>\r
-<key name="tria_mesh"> 8, </key>\r
-<key name="triangl"> 14,15,17,1,18,20,6,8,27,11,33,32,59,36,61,63,66,67,44,69,47,70,49,50,72,53, </key>\r
-<key name="triangular"> 15,33, </key>\r
-<key name="triangulation"> 8, </key>\r
-<key name="trihedron"> 53, </key>\r
-<key name="tritoquad"> 61, </key>\r
-<key name="truncat"> 69, </key>\r
-<key name="try"> 23,63, </key>\r
-<key name="tt"> 8,61, </key>\r
-<key name="tui"> 15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,37,34,64,38,39,40,67,41,43,44,45,46,47,48,49,50,51,52,73,54, </key>\r
-<key name="tupl"> 62, </key>\r
-<key name="two"> 14,17,5,25,26,8,27,12,57,36,61,63,64,66,43,47,70,48,50,51,52, </key>\r
-<key name="typ"> 14,17,19,20,2,22,23,25,11,12,39,67,68,43,52, </key>\r
-<key name="typical"> 45, </key>\r
-<key name="u"> 14,43, </key>\r
-<key name="unary"> 68, </key>\r
-<key name="unassign"> 38, </key>\r
-<key name="uniform"> 45, </key>\r
-<key name="union"> 57,49,50,51, </key>\r
-<key name="uniongroup"> 57, </key>\r
-<key name="unionid"> 69, </key>\r
-<key name="unit"> 61,43,49,50,51, </key>\r
-<key name="unles"> 37, </key>\r
-<key name="unv"> 31, </key>\r
-<key name="up"> 19,9,29, </key>\r
-<key name="updat"> 0,6,57,61,66,42,45,70, </key>\r
-<key name="updateobjbrows"> 57,61,66,70, </key>\r
-<key name="upload"> 68, </key>\r
-<key name="us"> 14,15,19,3,5,23,24,25,11,12,57,33,35,61,63,64,66,67,68,43,45,70,71,51,53, </key>\r
-<key name="usag"> 16,6,57,61,66,69,70, </key>\r
-<key name="useful"> 0,17,25,12,63, </key>\r
-<key name="usual"> 43,45, </key>\r
-<key name="v"> 14, </key>\r
-<key name="valu"> 13,16,19,20,2,23,6,12,58,36,37,38,68,44,69, </key>\r
-<key name="vari"> 20, </key>\r
-<key name="variabl"> 62, </key>\r
-<key name="variou"> 0, </key>\r
-<key name="ve"> 17, </key>\r
-<key name="vector"> 11,12,61,67,41,46,70,48,54, </key>\r
-<key name="versa"> 7, </key>\r
-<key name="version"> 57,61,66,70, </key>\r
-<key name="vert"> 61, </key>\r
-<key name="vertex"> 14,64, </key>\r
-<key name="vertex_"> 61, </key>\r
-<key name="vertic"> 61,64, </key>\r
-<key name="very"> 17,12,63, </key>\r
-<key name="via"> 68,52,53, </key>\r
-<key name="vic"> 7, </key>\r
-<key name="vid"> 61, </key>\r
-<key name="view"> 0,17,1,18,20,2,21,5,25,26,9,27,28,29,11,12,32,36,39,40,67,68,43,44,45,47,49,50,52,72,73,53,54, </key>\r
-<key name="visibl"> 53, </key>\r
-<key name="visual"> 16, </key>\r
-<key name="visualiz"> 53, </key>\r
-<key name="vk"> 2, </key>\r
-<key name="volum"> 13,14,15,16,17,2,22,6,25,8,10,12,60,61,34,66,68,70,52,72,73, </key>\r
-<key name="volume_margin"> 66, </key>\r
-<key name="vtk"> 0,53, </key>\r
-<key name="vxy"> 8,70, </key>\r
-<key name="wa_margin"> 66, </key>\r
-<key name="walk"> 64, </key>\r
-<key name="warp"> 16,26,60,66,49,54, </key>\r
-<key name="way"> 14,17,23,24,25,12,64,38,51, </key>\r
-<key name="weight"> 45, </key>\r
-<key name="well"> 64, </key>\r
-<key name="wheth"> 68, </key>\r
-<key name="whil"> 39, </key>\r
-<key name="whit"> 12,55, </key>\r
-<key name="whol"> 2,11,12,67,68,45,48, </key>\r
-<key name="whos"> 21,25,26,37,49, </key>\r
-<key name="will"> 13,14,0,17,1,18,19,20,2,21,22,23,6,24,7,25,26,9,28,29,30,11,12,57,31,33,32,59,36,61,63,37,34,64,66,39,40,67,42,68,43,44,45,47,70,71,49,51,52,73,54, </key>\r
-<key name="window"> 5, </key>\r
-<key name="wir"> 15,8,12,33,61,63,70, </key>\r
-<key name="wire_discretisation"> 61, </key>\r
-<key name="wire_polylin"> 61, </key>\r
-<key name="wire_polyline_edg"> 61, </key>\r
-<key name="wire_polyline_mesh"> 61, </key>\r
-<key name="wirefram"> 0,65, </key>\r
-<key name="wish"> 23,7,9,31,53, </key>\r
-<key name="within"> 19,64,43, </key>\r
-<key name="without"> 1,12,66, </key>\r
-<key name="word"> 19, </key>\r
-<key name="work"> 1,12,63, </key>\r
-<key name="worst"> 20, </key>\r
-<key name="would"> 17,43, </key>\r
-<key name="written"> 57,61,66,70, </key>\r
-<key name="ww"> 8, </key>\r
-<key name="x"> 14,5,54, </key>\r
-<key name="x0"> 61, </key>\r
-<key name="y"> 14,5, </key>\r
-<key name="y0"> 61, </key>\r
-<key name="your"> 13,14,16,0,17,1,18,19,20,2,21,5,22,23,24,25,28,29,30,31,33,32,35,36,34,64,65,38,39,40,41,68,44,45,46,47,48,52,73,54, </key>\r
-<key name="z"> 14,5, </key>\r
-<key name="z0"> 61, </key>\r
-<key name="zero"> 64, </key>\r
-<key name="zoom"> 53, </key>\r
-\r
-</ftswdata>  \r
+<?xml version='1.0' encoding='windows-1252' ?>
+<ftswdata>
+<key name="_grp"> 72, </key>
+<key name="0"> 14,19,5,6,25,8,12,57,61,63,68,43,72,73,75, </key>
+<key name="000001"> 68, </key>
+<key name="001"> 73, </key>
+<key name="0d"> 14, </key>
+<key name="1"> 17,1,18,19,20,2,21,23,6,7,26,8,27,28,29,30,11,12,57,31,32,35,36,61,64,68,39,40,70,62,43,44,72,45,47,73,49,50,51,76,54, </key>
+<key name="10"> 6,8,12,57,31,61,72,73,75, </key>
+<key name="100"> 6,8,57,68,72,73, </key>
+<key name="109"> 73, </key>
+<key name="110"> 61, </key>
+<key name="113"> 73, </key>
+<key name="12"> 61,73, </key>
+<key name="13"> 61, </key>
+<key name="130"> 61, </key>
+<key name="15"> 61,68,73, </key>
+<key name="150"> 8,61,73, </key>
+<key name="17"> 61, </key>
+<key name="180"> 61, </key>
+<key name="1d"> 13,14,15,16,19,23,6,8,11,12,60,61,63,37,67,68,69,70,72, </key>
+<key name="1e"> 61,68, </key>
+<key name="2"> 17,1,18,20,2,21,23,6,7,26,8,27,28,29,30,11,12,31,32,36,61,64,68,39,40,70,62,43,44,45,47,73,49,50,51,76,54, </key>
+<key name="20"> 6,8,57,61,68,72,73,75, </key>
+<key name="200"> 6,8,61,72, </key>
+<key name="21"> 61,73, </key>
+<key name="23"> 61,73, </key>
+<key name="24"> 73, </key>
+<key name="240"> 61, </key>
+<key name="245"> 61, </key>
+<key name="246"> 61, </key>
+<key name="25"> 73, </key>
+<key name="255"> 61, </key>
+<key name="2d"> 13,14,15,16,18,20,4,23,6,8,11,12,57,33,32,60,36,63,64,66,67,68,69,70,43,72,73,54, </key>
+<key name="3"> 14,18,20,21,23,6,7,26,8,27,28,11,12,57,31,61,63,64,68,39,40,70,62,43,44,72,45,73,49,50,75,54, </key>
+<key name="30"> 8,61,63,73, </key>
+<key name="300"> 6, </key>
+<key name="3128"> 61, </key>
+<key name="321"> 61, </key>
+<key name="3265"> 61, </key>
+<key name="3402"> 61, </key>
+<key name="35"> 57,68, </key>
+<key name="3658"> 61, </key>
+<key name="38"> 61,68,73, </key>
+<key name="39"> 61, </key>
+<key name="3d"> 13,14,15,16,0,17,1,20,2,21,23,6,25,26,8,9,27,28,29,11,12,60,63,34,66,67,68,69,39,40,70,43,72,45,49,50,76,53, </key>
+<key name="3e"> 68, </key>
+<key name="3rd"> 14, </key>
+<key name="3x3"> 61, </key>
+<key name="4"> 14,18,20,23,6,26,8,28,12,31,61,64,68,62,43,44,47,73,54, </key>
+<key name="40"> 57,61,72, </key>
+<key name="405"> 61, </key>
+<key name="406"> 61, </key>
+<key name="45"> 12,61,73, </key>
+<key name="47"> 61, </key>
+<key name="492"> 61, </key>
+<key name="493"> 61, </key>
+<key name="5"> 5,6,8,61,68,73, </key>
+<key name="50"> 8,61,73, </key>
+<key name="502"> 61, </key>
+<key name="503"> 61, </key>
+<key name="58"> 73, </key>
+<key name="5th"> 14, </key>
+<key name="6"> 2,6,8,57,61,73, </key>
+<key name="60"> 57,61,72, </key>
+<key name="66632"> 61, </key>
+<key name="69"> 73, </key>
+<key name="7"> 6,8,57,61,68, </key>
+<key name="70"> 8,61,73, </key>
+<key name="71"> 73, </key>
+<key name="72"> 73, </key>
+<key name="73"> 61, </key>
+<key name="8"> 57,61,68,73, </key>
+<key name="80"> 61,72, </key>
+<key name="800"> 6, </key>
+<key name="814"> 61, </key>
+<key name="850"> 61, </key>
+<key name="859"> 61, </key>
+<key name="89"> 73, </key>
+<key name="9"> 61,73, </key>
+<key name="90"> 73, </key>
+<key name="900"> 6,75, </key>
+<key name="91"> 73, </key>
+<key name="92"> 73, </key>
+<key name="95"> 68, </key>
+<key name="9999"> 25, </key>
+<key name="a_mesh"> 61, </key>
+<key name="a10"> 61, </key>
+<key name="a45"> 61, </key>
+<key name="aa"> 61, </key>
+<key name="abl"> 17,1,53, </key>
+<key name="abord"> 68, </key>
+<key name="aborder"> 68, </key>
+<key name="abov"> 61,45, </key>
+<key name="absent"> 51, </key>
+<key name="absolute"> 74, </key>
+<key name="abut"> 19, </key>
+<key name="acces"> 0,71,53, </key>
+<key name="accord"> 16,18,19,20,2,32,36,64,44,45,47,76,54, </key>
+<key name="account"> 13,64, </key>
+<key name="acomp"> 73, </key>
+<key name="actual"> 63,37, </key>
+<key name="ad"> 17,1,21,7,25,26,57,61,49,51, </key>
+<key name="add"> 17,1,21,23,25,26,8,30,12,57,61,68,71,72,49, </key>
+<key name="addedg"> 61, </key>
+<key name="addfac"> 61, </key>
+<key name="addition"> 26,60,61, </key>
+<key name="additional"> 13,14,23,8,37,64,42,71,45, </key>
+<key name="addnod"> 61, </key>
+<key name="addobject"> 57, </key>
+<key name="addpolygonalfac"> 61, </key>
+<key name="addpolyhedralvolum"> 61, </key>
+<key name="addtostudy"> 6,8,57,61,68,72,73,75, </key>
+<key name="addtostudyinfath"> 6,8,57,61, </key>
+<key name="addvolum"> 61, </key>
+<key name="adjacent"> 28,36,63,37,39,43,49, </key>
+<key name="adjust"> 45, </key>
+<key name="adjustabl"> 37, </key>
+<key name="advanc"> 0,52, </key>
+<key name="afilt"> 57,68, </key>
+<key name="afiltermgr"> 68, </key>
+<key name="ageomgroup"> 57, </key>
+<key name="agroup"> 57,68, </key>
+<key name="agroup1"> 57, </key>
+<key name="agroup2"> 57, </key>
+<key name="agroup3"> 57, </key>
+<key name="agroup4"> 57, </key>
+<key name="agroup5"> 57, </key>
+<key name="agroupelemid"> 57, </key>
+<key name="agroupf"> 68, </key>
+<key name="agroupmain"> 57, </key>
+<key name="agroupn"> 68, </key>
+<key name="agroupr"> 57, </key>
+<key name="agrouptool"> 57, </key>
+<key name="ai"> 19, </key>
+<key name="al"> 61, </key>
+<key name="algeady"> 67, </key>
+<key name="algo"> 8,61,68,73, </key>
+<key name="algo_local"> 6,8,73, </key>
+<key name="algo1d"> 6,8,57,61,72,73,75, </key>
+<key name="algo2d"> 6,8,61,72,73,75, </key>
+<key name="algo3d"> 6,8,72,75, </key>
+<key name="algorithm"> 13,14,15,16,0,18,23,6,24,8,12,33,60,63,34,64,66,67,69,38,43, </key>
+<key name="allow"> 13,0,1,19,21,24,7,25,26,31,33,59,35,60,63,37,64,67,41,43,45,46,48,49,51,53, </key>
+<key name="along"> 11,12,61,64,45,53, </key>
+<key name="already"> 67, </key>
+<key name="alternativ"> 23, </key>
+<key name="alternative"> 0,1, </key>
+<key name="alway"> 45, </key>
+<key name="amesh"> 6, </key>
+<key name="amount"> 3, </key>
+<key name="analytic"> 19, </key>
+<key name="angl"> 16,5,26,12,60,36,61,68,70,41,44,73,49,54, </key>
+<key name="angle270"> 73, </key>
+<key name="angle45"> 61, </key>
+<key name="angularity"> 12, </key>
+<key name="anid"> 57,68, </key>
+<key name="anoth"> 15,37,67, </key>
+<key name="any"> 14,1,23,25,28,12,57,64,69,45, </key>
+<key name="ap"> 15,17,1,18,20,2,21,5,23,7,25,26,8,9,27,28,30,11,12,32,59,60,36,61,64,67,38,39,40,70,43,44,45,46,47,49,50,51,76,54, </key>
+<key name="api"> 72, </key>
+<key name="apparent"> 23, </key>
+<key name="appear"> 0,17,1,21,23,24,7,26,27,28,30,11,12,35,64,67,39,40,70,41,46,48,49,50,51, </key>
+<key name="append"> 61, </key>
+<key name="appli"> 18,19,20,2,23,24,33,32,36,34,37,69,38,71,44,45,47,76,54, </key>
+<key name="applicabl"> 20,71, </key>
+<key name="application"> 16,64, </key>
+<key name="apply"> 13,0,23,24,25, </key>
+<key name="applytomeshfac"> 61, </key>
+<key name="appropriat"> 23, </key>
+<key name="approximate"> 19, </key>
+<key name="ar_margin"> 68, </key>
+<key name="arc"> 8,73, </key>
+<key name="arcsin"> 54, </key>
+<key name="area"> 13,16,18,8,57,33,60,34,68,45,47,53, </key>
+<key name="area_margin"> 68, </key>
+<key name="arithmetic"> 13,19,6,8,60, </key>
+<key name="arithmetic1d"> 6,8,73, </key>
+<key name="around"> 5,12,70,53, </key>
+<key name="array_of_nodes_group"> 73, </key>
+<key name="asmeshgroup1"> 57, </key>
+<key name="asmeshgroup2"> 57, </key>
+<key name="aspect"> 16,20,2,60,68,45, </key>
+<key name="assemb"> 72, </key>
+<key name="assign"> 19,23,25,8,38,54, </key>
+<key name="associat"> 17,29,39, </key>
+<key name="attribut"> 25, </key>
+<key name="auto"> 5, </key>
+<key name="automatic"> 13,19,23,60,64, </key>
+<key name="automatical"> 0,19,21,23,26,28,49, </key>
+<key name="availabl"> 43,53, </key>
+<key name="averag"> 13,19,8,33,60,64,54, </key>
+<key name="ax"> 53, </key>
+<key name="axi"> 11,61,70,41,46,73,53,54, </key>
+<key name="axisstruct"> 61,73, </key>
+<key name="axisxyz"> 61,73, </key>
+<key name="background"> 0, </key>
+<key name="bar"> 16, </key>
+<key name="bas"> 13,18,8,12,60,54, </key>
+<key name="basi"> 14,23,24, </key>
+<key name="basic"> 13,15,0, </key>
+<key name="bb"> 61, </key>
+<key name="be"> 67, </key>
+<key name="becom"> 63,64, </key>
+<key name="befor"> 71,73, </key>
+<key name="begin"> 19,43, </key>
+<key name="belong"> 3,4,25,55,56,67,43,51, </key>
+<key name="below"> 61,63,72, </key>
+<key name="berder"> 43, </key>
+<key name="bet"> 20, </key>
+<key name="binary"> 71, </key>
+<key name="bisect"> 54, </key>
+<key name="bisector"> 54, </key>
+<key name="bit"> 71, </key>
+<key name="black"> 0, </key>
+<key name="blu"> 3, </key>
+<key name="bmp"> 0,53, </key>
+<key name="bog"> 19, </key>
+<key name="boolean"> 61,51, </key>
+<key name="bord"> 43,73, </key>
+<key name="border"> 16,3,4,55,56,60,68,43,73, </key>
+<key name="both"> 0,12,69,45,51, </key>
+<key name="bottom"> 61,42, </key>
+<key name="bound"> 14,64,53, </key>
+<key name="boundari"> 64, </key>
+<key name="boundary"> 13,25,64,43,45, </key>
+<key name="box"> 17,1,19,21,23,6,24,7,26,8,27,28,30,11,12,57,31,59,35,63,64,67,68,39,40,70,41,42,71,43,72,45,46,73,48,49,50,51,52,75,53, </key>
+<key name="box_1"> 61, </key>
+<key name="box_cyl"> 72, </key>
+<key name="box1"> 68,73, </key>
+<key name="box2"> 68,73, </key>
+<key name="broken"> 1,37, </key>
+<key name="brown"> 25, </key>
+<key name="brows"> 0,17,1,22,23,24,25,9,30,65,39,40,71,52, </key>
+<key name="build"> 8,11,33,61,63,37,64,66,70,72, </key>
+<key name="built"> 20,24,12,64,45, </key>
+<key name="button"> 17,1,18,20,2,21,5,23,24,7,25,26,9,27,28,30,11,12,31,32,36,64,67,38,39,40,70,41,71,43,44,45,46,47,48,49,50,51,52,76,53,54, </key>
+<key name="cad"> 14, </key>
+<key name="cal"> 64, </key>
+<key name="calculat"> 16,20,2,33,47, </key>
+<key name="calculation"> 13,18,32,36, </key>
+<key name="careful"> 39, </key>
+<key name="cas"> 17,23,6,8,28,12,64,52, </key>
+<key name="caviti"> 15, </key>
+<key name="cc"> 61, </key>
+<key name="cel"> 25,63,39,50, </key>
+<key name="cent"> 12,45,53, </key>
+<key name="central"> 12, </key>
+<key name="centroid"> 45, </key>
+<key name="centroidal"> 45, </key>
+<key name="centroidal_smooth"> 61, </key>
+<key name="certain"> 25,64, </key>
+<key name="chang"> 0,19,21,6,28,61,37,38,53, </key>
+<key name="characteristic"> 16, </key>
+<key name="characteriz"> 14, </key>
+<key name="check"> 25,63,43,53, </key>
+<key name="checkbox"> 17,63,71,48, </key>
+<key name="choic"> 13,23,64, </key>
+<key name="choos"> 17,1,18,20,2,21,22,7,25,26,9,27,28,10,29,11,12,31,32,35,36,64,39,40,70,41,42,71,43,44,46,47,48,49,50,76,53,54, </key>
+<key name="chosen"> 20,26,33,34,49, </key>
+<key name="circl"> 12,73, </key>
+<key name="circlemesh"> 73, </key>
+<key name="circular"> 61, </key>
+<key name="clas"> 62, </key>
+<key name="clear"> 62,71, </key>
+<key name="click"> 0,17,1,18,20,2,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,32,36,64,65,67,38,39,40,70,42,71,43,44,45,47,49,50,51,52,76,53,54, </key>
+<key name="clip"> 0,5, </key>
+<key name="clos"> 14,20,9,12,61,43, </key>
+<key name="co"> 61,43, </key>
+<key name="coars"> 19,7,63, </key>
+<key name="coincid"> 59, </key>
+<key name="coincident"> 12,59,35, </key>
+<key name="color"> 16,0,18,20,2,25,32,36,44,47,76,53,54, </key>
+<key name="combin"> 10,32,65,71, </key>
+<key name="common"> 27,71,50, </key>
+<key name="comp"> 68, </key>
+<key name="compar"> 19,43, </key>
+<key name="complete"> 59, </key>
+<key name="complex"> 1,12, </key>
+<key name="component"> 60,42, </key>
+<key name="compos"> 13,14,15,16,0,19,2,29,33,34,69,44, </key>
+<key name="compound"> 68, </key>
+<key name="comput"> 0,19,23,6,8,57,61,64,68,43,72,73,75, </key>
+<key name="computation"> 23,24,8,61, </key>
+<key name="con"> 72, </key>
+<key name="concept"> 37, </key>
+<key name="concern"> 69, </key>
+<key name="condition"> 13,25, </key>
+<key name="confirm"> 21,26,30,39,45,49,51, </key>
+<key name="confirmation"> 25, </key>
+<key name="conform"> 13,37,43,73, </key>
+<key name="conformity"> 20, </key>
+<key name="connect"> 19,26,66,45, </key>
+<key name="connection"> 14,16,3,4,60,68, </key>
+<key name="connectivity"> 64, </key>
+<key name="consid"> 20,23, </key>
+<key name="consider"> 14,20,2,43, </key>
+<key name="consist"> 16,1,18,19,20,3,4,22,23,24,25,12,55,56,57,33,32,36,34,69,47, </key>
+<key name="consol"> 52, </key>
+<key name="constant"> 19, </key>
+<key name="construct"> 15,19,22,23,6,24,38, </key>
+<key name="construction"> 19,23,6,24, </key>
+<key name="contain"> 14,15,21,23,24,25,26,12,31,33,64,45,49, </key>
+<key name="content"> 9,53, </key>
+<key name="continu"> 45, </key>
+<key name="contour"> 14,43, </key>
+<key name="contrast"> 49, </key>
+<key name="control"> 16,0,18,20,2,3,4,26,55,56,58,32,60,36,68,44,47,49,76,54, </key>
+<key name="converg"> 45, </key>
+<key name="conversion"> 19,7, </key>
+<key name="convert"> 7, </key>
+<key name="coordinat"> 14,17,28,64,53, </key>
+<key name="copy"> 41,71,46,73,48, </key>
+<key name="corn"> 1,54, </key>
+<key name="corner"> 26,12,45,54, </key>
+<key name="correspond"> 14,16,31,64,68,71,43,48, </key>
+<key name="cos_bot"> 61, </key>
+<key name="cos_top"> 61, </key>
+<key name="cosal"> 61, </key>
+<key name="cot"> 72, </key>
+<key name="could"> 14,17,67, </key>
+<key name="count"> 43, </key>
+<key name="counterclockwis"> 64, </key>
+<key name="cours"> 23, </key>
+<key name="cover"> 12, </key>
+<key name="creat"> 14,0,17,1,19,5,23,6,24,25,8,30,57,35,60,61,63,37,64,67,68,38,41,71,72,46,73,48,51,75,54, </key>
+<key name="createemptygroup"> 57,68, </key>
+<key name="createfiltermanag"> 68, </key>
+<key name="creategroup"> 57,61,68,72, </key>
+<key name="createpolyedr"> 73, </key>
+<key name="createpolygon"> 73, </key>
+<key name="creation"> 14,37,64,38,62,72,51, </key>
+<key name="criteria"> 60,71, </key>
+<key name="criterion"> 18,20,2,25,26,57,58,32,36,68,71,44,47,49,76,54, </key>
+<key name="cros"> 0,5,54, </key>
+<key name="cubic"> 15, </key>
+<key name="current"> 21,23,26,63,67,38,71,43,49, </key>
+<key name="curv"> 14,19,12,61, </key>
+<key name="curvilinear"> 19,12, </key>
+<key name="custom"> 63, </key>
+<key name="cut"> 19,6,26,8,57,61,51, </key>
+<key name="cutgroup"> 57, </key>
+<key name="cyl"> 8,72, </key>
+<key name="cylind"> 8,72, </key>
+<key name="d"> 19, </key>
+<key name="data"> 62, </key>
+<key name="dd"> 61, </key>
+<key name="dea"> 31, </key>
+<key name="deal"> 14, </key>
+<key name="def"> 6,61,62, </key>
+<key name="default"> 0,23,12,57,63,65,71,74,53, </key>
+<key name="defin"> 14,15,1,19,20,5,23,6,24,25,8,12,61,63,37,64,66,67,62,43,72,73,53, </key>
+<key name="definit"> 14,16,19,21,22,25,26,60,38,39,49, </key>
+<key name="definition"> 0,19,6,12,33,63,34, </key>
+<key name="deflection"> 13,19,8,60, </key>
+<key name="deflection1d"> 8, </key>
+<key name="deform"> 53, </key>
+<key name="degre"> 20,5, </key>
+<key name="delet"> 9,56,61,39,71, </key>
+<key name="deletediag"> 61, </key>
+<key name="deletion"> 39,50, </key>
+<key name="density"> 19, </key>
+<key name="depend"> 13,14,23,33,34, </key>
+<key name="describ"> 14,15,64, </key>
+<key name="description"> 64, </key>
+<key name="desirabl"> 35, </key>
+<key name="desktop"> 42, </key>
+<key name="destin"> 14,16,60,62, </key>
+<key name="detail"> 13,15,0, </key>
+<key name="detalization"> 63, </key>
+<key name="detect"> 35, </key>
+<key name="dh"> 61, </key>
+<key name="di1"> 72, </key>
+<key name="diagonal"> 26,27,61,47, </key>
+<key name="dialog"> 17,1,19,21,23,24,7,26,27,28,30,11,12,31,59,35,64,67,39,40,70,41,43,45,46,48,49,50,51, </key>
+<key name="diamet"> 20, </key>
+<key name="dif"> 1,63, </key>
+<key name="differ"> 19, </key>
+<key name="differenc"> 12,43, </key>
+<key name="different"> 13,17,25,12,67,38,71,43, </key>
+<key name="digit"> 12, </key>
+<key name="dimension"> 14,2,23,11,63,70,52, </key>
+<key name="direct"> 14,6,43,45, </key>
+<key name="direction"> 12,64,54, </key>
+<key name="dirstruct"> 61,73, </key>
+<key name="discretiz"> 11,70, </key>
+<key name="discretization"> 14,15, </key>
+<key name="displac"> 28, </key>
+<key name="display"> 16,0,1,18,20,2,3,21,23,24,25,26,28,10,29,55,32,36,65,44,45,47,49,52,76,53,54, </key>
+<key name="distanc"> 19,5,64,53,54, </key>
+<key name="distinguish"> 25, </key>
+<key name="distortion"> 45, </key>
+<key name="distribution"> 19,69, </key>
+<key name="divid"> 19, </key>
+<key name="do"> 17, </key>
+<key name="docopy"> 73, </key>
+<key name="documentation"> 62, </key>
+<key name="domain"> 64, </key>
+<key name="don"> 14,23,12,61,37,67,53, </key>
+<key name="doubl"> 1, </key>
+<key name="downward"> 53, </key>
+<key name="dr"> 61, </key>
+<key name="drag"> 53, </key>
+<key name="drawn"> 53, </key>
+<key name="dump"> 0,53, </key>
+<key name="duplicat"> 12, </key>
+<key name="dx"> 61, </key>
+<key name="dy"> 61, </key>
+<key name="e"> 20,23,24,26,12,63,64,66,69,43,49, </key>
+<key name="e_arc"> 8, </key>
+<key name="e_straight"> 8, </key>
+<key name="e1"> 61, </key>
+<key name="easi"> 22, </key>
+<key name="easy"> 62, </key>
+<key name="edg"> 13,14,15,16,0,17,1,19,20,3,4,22,23,6,25,26,8,27,28,10,12,55,56,57,58,33,32,60,61,63,37,64,66,67,68,71,43,45,73,49,50,75,54, </key>
+<key name="edge_"> 61, </key>
+<key name="edge_bezierrr"> 61, </key>
+<key name="edge_bezierrr_mesh"> 61, </key>
+<key name="edge_circl"> 61, </key>
+<key name="edge_circle_mesh"> 61, </key>
+<key name="edge_straight"> 61, </key>
+<key name="edge_straight_mesh"> 61, </key>
+<key name="edge1"> 73, </key>
+<key name="edgeslist"> 73, </key>
+<key name="edgex"> 6,8, </key>
+<key name="edit"> 6,9,30,57,35,38, </key>
+<key name="edition"> 62,72, </key>
+<key name="ee_1"> 61, </key>
+<key name="ee_2"> 61, </key>
+<key name="ee_3"> 61, </key>
+<key name="ee_4"> 61, </key>
+<key name="ee_5"> 61, </key>
+<key name="ee_6"> 61, </key>
+<key name="ee_7"> 61, </key>
+<key name="effect"> 49, </key>
+<key name="eith"> 64,66,43, </key>
+<key name="element"> 13,14,15,16,0,17,1,18,19,20,2,4,21,22,7,25,26,8,9,27,28,29,30,11,12,56,57,33,32,59,60,36,61,63,34,37,64,66,68,39,40,70,41,71,43,44,45,46,47,73,48,49,51,52,76,54, </key>
+<key name="els"> 6,8,61,64, </key>
+<key name="empty"> 61, </key>
+<key name="enabl"> 71, </key>
+<key name="encapsulat"> 24, </key>
+<key name="encounter"> 64, </key>
+<key name="end"> 13,19,8,60,37,71,43,48, </key>
+<key name="enough"> 43, </key>
+<key name="ent"> 25,27,28,31,50, </key>
+<key name="entiti"> 14,15, </key>
+<key name="entity"> 14,0,10,71, </key>
+<key name="equal"> 19,33,64,71,43,45, </key>
+<key name="equidistant"> 19, </key>
+<key name="equilateral"> 20, </key>
+<key name="eras"> 0, </key>
+<key name="error"> 61, </key>
+<key name="etc"> 16,2,26,49, </key>
+<key name="even"> 23,33,63, </key>
+<key name="eventual"> 64, </key>
+<key name="every"> 54, </key>
+<key name="everyth"> 23, </key>
+<key name="ex21_lamp"> 72, </key>
+<key name="examin"> 12, </key>
+<key name="exampl"> 14,2,23,6,25,12,64,62,72,51, </key>
+<key name="exce"> 19, </key>
+<key name="exceed"> 45, </key>
+<key name="except"> 43,53, </key>
+<key name="exist"> 13,21,25,26,30,64,71,49, </key>
+<key name="existenc"> 23, </key>
+<key name="explod"> 61, </key>
+<key name="exponent"> 19, </key>
+<key name="export"> 0,6,31,60,53, </key>
+<key name="exportation"> 31, </key>
+<key name="exportm"> 6, </key>
+<key name="extend"> 53,54, </key>
+<key name="external"> 12, </key>
+<key name="extreme"> 19, </key>
+<key name="extremiti"> 5, </key>
+<key name="extrud"> 11,12,61,70, </key>
+<key name="extrusion"> 11,12,61,73, </key>
+<key name="extrusionalongpath"> 61,73, </key>
+<key name="extrusionsweepobject"> 61, </key>
+<key name="exy"> 8, </key>
+<key name="f"> 19,8, </key>
+<key name="f1"> 61, </key>
+<key name="f2"> 61, </key>
+<key name="f3"> 61, </key>
+<key name="f4"> 61, </key>
+<key name="f5"> 61, </key>
+<key name="fac"> 13,14,15,0,17,19,2,3,22,23,6,24,25,8,10,12,55,57,33,60,61,63,37,64,66,67,68,71,43,72,73,52,75,54, </key>
+<key name="face_1"> 61, </key>
+<key name="face_2"> 61, </key>
+<key name="face1"> 8,73, </key>
+<key name="face2"> 73, </key>
+<key name="facelist"> 68, </key>
+<key name="faceslist1"> 73, </key>
+<key name="faceslist2"> 73, </key>
+<key name="facesrotat"> 61, </key>
+<key name="factor"> 19,26, </key>
+<key name="factoryserv"> 62, </key>
+<key name="fail"> 61, </key>
+<key name="far"> 43, </key>
+<key name="fashion"> 12, </key>
+<key name="fast"> 45, </key>
+<key name="featur"> 25, </key>
+<key name="ff"> 61, </key>
+<key name="ff_1"> 61, </key>
+<key name="ff_2"> 61, </key>
+<key name="ff_3"> 61, </key>
+<key name="ff_4"> 61, </key>
+<key name="ff_5"> 61, </key>
+<key name="ff_6"> 61, </key>
+<key name="ff_7"> 61, </key>
+<key name="field"> 17,1,21,25,27,28,67,40,71,43,45,49,50, </key>
+<key name="fifth"> 43, </key>
+<key name="fil"> 6,31,64,71, </key>
+<key name="fill"> 68,69,40,43, </key>
+<key name="filt"> 21,25,26,71,49, </key>
+<key name="filter"> 25,71, </key>
+<key name="fin"> 19,63, </key>
+<key name="find"> 31,64,43, </key>
+<key name="findcoincidentnod"> 73, </key>
+<key name="findorloadcomponent"> 62, </key>
+<key name="finenes"> 19,63, </key>
+<key name="first"> 1,19,23,6,12,57,61,37,64,67,43, </key>
+<key name="firstnodeid1"> 73, </key>
+<key name="firstnodeid2"> 73, </key>
+<key name="firstnodeidonfreebord"> 73, </key>
+<key name="firstnodeidonsid"> 73, </key>
+<key name="fit"> 53, </key>
+<key name="fiv"> 61, </key>
+<key name="fix"> 14,6,8,45, </key>
+<key name="flag"> 64, </key>
+<key name="fold"> 23,24, </key>
+<key name="follow"> 13,14,17,1,2,21,23,24,7,25,26,27,28,29,30,11,12,35,61,64,67,39,40,70,41,43,45,46,48,49,50,51,52, </key>
+<key name="font"> 53, </key>
+<key name="form"> 1,27,30,64,43, </key>
+<key name="format"> 0,31,60,53, </key>
+<key name="formula"> 19,20,2, </key>
+<key name="four"> 14,20,54, </key>
+<key name="fourth"> 61, </key>
+<key name="fram"> 53, </key>
+<key name="fre"> 14,16,55,56,60,68,43,45,73, </key>
+<key name="ft_area"> 57,68, </key>
+<key name="ft_aspectratio"> 68, </key>
+<key name="ft_aspectratio3d"> 68, </key>
+<key name="ft_equalto"> 57,68, </key>
+<key name="ft_freeborder"> 68, </key>
+<key name="ft_length"> 68, </key>
+<key name="ft_length2d"> 68, </key>
+<key name="ft_lessthan"> 57,68, </key>
+<key name="ft_minimumangl"> 61,68, </key>
+<key name="ft_morethan"> 57,68, </key>
+<key name="ft_multiconnection"> 68, </key>
+<key name="ft_multiconnection2d"> 68, </key>
+<key name="ft_skew"> 68, </key>
+<key name="ft_tap"> 68, </key>
+<key name="ft_volume3d"> 68, </key>
+<key name="ft_warp"> 68, </key>
+<key name="full_netgen"> 8, </key>
+<key name="function"> 14,62, </key>
+<key name="functionaliti"> 53, </key>
+<key name="functionality"> 23,7,31,59,35,43,53, </key>
+<key name="fus"> 72, </key>
+<key name="futur"> 19, </key>
+<key name="g"> 24, </key>
+<key name="gaus"> 53, </key>
+<key name="generat"> 13,14,16,19,23,60,37,64, </key>
+<key name="generation"> 6,11,64,70,72, </key>
+<key name="geom"> 14,60, </key>
+<key name="geometric"> 14,16,8, </key>
+<key name="geometrical"> 13,14,15,19,23,24,25,33,60,34,64,67,38,41,45,46,48,52, </key>
+<key name="geometry"> 24,7,25,57,61,67,72,45, </key>
+<key name="geompy"> 6,8,57,61,68,72,73,75, </key>
+<key name="get"> 0,5,23,8,12,57,64,52, </key>
+<key name="getedgenearpoint"> 6,8, </key>
+<key name="geterrorcod"> 61, </key>
+<key name="getfilt"> 57,68, </key>
+<key name="getfreeborder"> 68, </key>
+<key name="getidsfromfilt"> 57,68, </key>
+<key name="getlistofid"> 57, </key>
+<key name="getmesh"> 6,61, </key>
+<key name="getnam"> 62, </key>
+<key name="getpattern"> 61, </key>
+<key name="ghs3d"> 62, </key>
+<key name="giv"> 71,52, </key>
+<key name="given"> 19,33,61,43, </key>
+<key name="global"> 8,53, </key>
+<key name="glu"> 68, </key>
+<key name="good"> 6,45, </key>
+<key name="got"> 64, </key>
+<key name="graduat"> 53, </key>
+<key name="graphical"> 0, </key>
+<key name="great"> 19,53, </key>
+<key name="greatest"> 20,2, </key>
+<key name="green"> 25,12, </key>
+<key name="group"> 21,22,25,26,9,30,12,57,35,60,61,68,71,72,45,48,49,51,52, </key>
+<key name="group_nam"> 72, </key>
+<key name="group1"> 51, </key>
+<key name="group12"> 51, </key>
+<key name="group12a"> 51, </key>
+<key name="group12b"> 51, </key>
+<key name="group2"> 51, </key>
+<key name="groupongeom"> 57,61, </key>
+<key name="grouprotat"> 61, </key>
+<key name="groupsmooth"> 61, </key>
+<key name="groupsofnod"> 73, </key>
+<key name="grouptri"> 61, </key>
+<key name="growth"> 63, </key>
+<key name="h"> 54, </key>
+<key name="half"> 20,54, </key>
+<key name="halv"> 5, </key>
+<key name="hasangl"> 61, </key>
+<key name="hasrefpoint"> 61, </key>
+<key name="hav"> 20,33,37,64,66, </key>
+<key name="hedron"> 61, </key>
+<key name="height"> 72,54, </key>
+<key name="helical"> 12, </key>
+<key name="help"> 16, </key>
+<key name="henc"> 64, </key>
+<key name="her"> 64, </key>
+<key name="hexa"> 8, </key>
+<key name="hexahedral"> 15,6,8, </key>
+<key name="hexahedralization"> 23, </key>
+<key name="hexahedrical"> 8, </key>
+<key name="hexahedron"> 14,15,17,2,8,61,34,66,75, </key>
+<key name="hh"> 61, </key>
+<key name="hid"> 0,53, </key>
+<key name="high"> 14, </key>
+<key name="highlight"> 3,4,21,25,26,55,56,49, </key>
+<key name="hmax"> 20, </key>
+<key name="hol"> 56,61, </key>
+<key name="hold"> 64, </key>
+<key name="hollow"> 69, </key>
+<key name="homogeneou"> 63, </key>
+<key name="how"> 15,12,63,38, </key>
+<key name="hyp"> 24,61, </key>
+<key name="hyp1"> 6, </key>
+<key name="hyp2"> 6, </key>
+<key name="hyp3"> 6, </key>
+<key name="hyp4"> 6, </key>
+<key name="hypothes"> 13,0,19,23,6,24,8,33,60,63,37,69,38, </key>
+<key name="hypothesi"> 13,19,23,6,8,33,61,34,37,38,72, </key>
+<key name="i"> 15,20,23,26,12,57,31,61,63,64,66,68,69,43,49, </key>
+<key name="icon"> 30,39,42, </key>
+<key name="id"> 0,19,21,25,26,27,28,29,11,12,57,61,70,43,45,49,50, </key>
+<key name="id_circl"> 73, </key>
+<key name="id_fac"> 8, </key>
+<key name="id_face1"> 73, </key>
+<key name="idbox"> 6,68, </key>
+<key name="idea"> 12, </key>
+<key name="idl"> 6, </key>
+<key name="idsofelement"> 61, </key>
+<key name="idsoffixednod"> 61, </key>
+<key name="idsofside1element"> 73, </key>
+<key name="idsofside2element"> 73, </key>
+<key name="if"> 14,17,5,23,6,24,7,8,11,12,57,33,61,63,37,64,67,68,38,39,70,71,43,45,49,53, </key>
+<key name="ii"> 61, </key>
+<key name="imag"> 0,12,53, </key>
+<key name="imp"> 14, </key>
+<key name="import"> 6,8,57,31,60,61,68,72,73,75, </key>
+<key name="importation"> 31, </key>
+<key name="in"> 69, </key>
+<key name="includ"> 14,52, </key>
+<key name="increas"> 6,8, </key>
+<key name="index"> 25,64, </key>
+<key name="indic"> 64, </key>
+<key name="indicat"> 67,54, </key>
+<key name="info"> 0,52,75, </key>
+<key name="information"> 14,0,6,7,30,69,52,75, </key>
+<key name="initial"> 12,61,71,46,51, </key>
+<key name="input"> 1,19, </key>
+<key name="inscrib"> 20, </key>
+<key name="insert"> 71,43, </key>
+<key name="instead"> 6,37,64, </key>
+<key name="int"> 62, </key>
+<key name="intact"> 9, </key>
+<key name="integ"> 25, </key>
+<key name="intend"> 43, </key>
+<key name="interest"> 14, </key>
+<key name="interfac"> 6,72, </key>
+<key name="intermediat"> 43, </key>
+<key name="internal"> 64,69, </key>
+<key name="intersect"> 64,51, </key>
+<key name="intersectgroup"> 57, </key>
+<key name="intersection"> 57,64,69,51, </key>
+<key name="introduc"> 13,25,37, </key>
+<key name="introduction"> 60,72, </key>
+<key name="invers"> 14,27,61, </key>
+<key name="inversediag"> 61, </key>
+<key name="inversion"> 27,61, </key>
+<key name="invisibl"> 74, </key>
+<key name="isdon"> 61, </key>
+<key name="iso"> 64, </key>
+<key name="isolin"> 64, </key>
+<key name="isometric"> 53, </key>
+<key name="isplanarfac"> 8,73, </key>
+<key name="item"> 17,1,21,22,7,26,27,28,30,11,12,31,35,64,40,70,41,43,45,46,48,49,50,51, </key>
+<key name="iteration"> 12,45, </key>
+<key name="iterativ"> 45, </key>
+<key name="iv"> 61, </key>
+<key name="j"> 15,57,68, </key>
+<key name="join"> 44, </key>
+<key name="jpeg"> 0,53, </key>
+<key name="jpg"> 0,53, </key>
+<key name="just"> 1,64,39, </key>
+<key name="k"> 15,19,20, </key>
+<key name="keep"> 12,45,46, </key>
+<key name="key"> 64, </key>
+<key name="keyboard"> 26, </key>
+<key name="know"> 64, </key>
+<key name="ko"> 61, </key>
+<key name="l"> 54, </key>
+<key name="label"> 53, </key>
+<key name="laplacian"> 45, </key>
+<key name="last"> 1,19,12,37,43, </key>
+<key name="lastnodeid1"> 73, </key>
+<key name="lastnodeid2"> 73, </key>
+<key name="lastnodeidonfreebord"> 73, </key>
+<key name="lastnodeidonsid"> 73, </key>
+<key name="lay"> 11,64,70, </key>
+<key name="layer"> 69, </key>
+<key name="lcc"> 62, </key>
+<key name="learn"> 52, </key>
+<key name="least"> 64,45, </key>
+<key name="leav"> 23,9, </key>
+<key name="left"> 0,12,64,53, </key>
+<key name="len"> 57,61,68, </key>
+<key name="length"> 13,16,19,20,6,8,58,33,32,60,68,43,53,54, </key>
+<key name="length_margin"> 68, </key>
+<key name="lengthfromedg"> 8,72,73, </key>
+<key name="les"> 71,43,45, </key>
+<key name="level"> 13,17,63, </key>
+<key name="library"> 25,71, </key>
+<key name="lik"> 17,2,29,43, </key>
+<key name="limit"> 64,43,45, </key>
+<key name="limitation"> 67, </key>
+<key name="lin"> 14,1,19,11,37,64,70,44, </key>
+<key name="linear"> 12,63, </key>
+<key name="link"> 43, </key>
+<key name="list"> 0,17,21,25,26,9,12,67,71,49, </key>
+<key name="lk"> 19, </key>
+<key name="ll"> 53, </key>
+<key name="load"> 64,71, </key>
+<key name="loadfromfac"> 61, </key>
+<key name="local"> 6,24,8,60,37, </key>
+<key name="locallength"> 8,72, </key>
+<key name="locat"> 64,43,53, </key>
+<key name="location"> 19,28,31,45, </key>
+<key name="lock"> 26,45,53, </key>
+<key name="longest"> 20, </key>
+<key name="look"> 29,12,64,71, </key>
+<key name="low"> 14,19,63, </key>
+<key name="ly"> 64, </key>
+<key name="main"> 21,26,9,12,37,64,71,49,51, </key>
+<key name="makearc"> 8,73, </key>
+<key name="makebezi"> 61, </key>
+<key name="makebox"> 6,57,68,72,73,75, </key>
+<key name="makeboxdxdydz"> 6,8,61, </key>
+<key name="makecirclethreepnt"> 61,73, </key>
+<key name="makecompound"> 68,73, </key>
+<key name="makecon"> 72, </key>
+<key name="makecylind"> 72, </key>
+<key name="makecylinderrh"> 8, </key>
+<key name="makeedg"> 8,61, </key>
+<key name="makefac"> 8,73, </key>
+<key name="makefus"> 72, </key>
+<key name="makegluefac"> 68, </key>
+<key name="makegroupbyid"> 57, </key>
+<key name="makemesh"> 61, </key>
+<key name="makepolygon"> 61, </key>
+<key name="makepolylin"> 61, </key>
+<key name="makequadmesh2"> 61, </key>
+<key name="makeshell"> 68, </key>
+<key name="makesketch"> 8, </key>
+<key name="maketranslation"> 68, </key>
+<key name="makevector"> 8,73, </key>
+<key name="makevectordxdydz"> 72, </key>
+<key name="makevertex"> 6,8,61,72,73, </key>
+<key name="makewir"> 8,73, </key>
+<key name="manag"> 13,17, </key>
+<key name="manual"> 25,63,64,53, </key>
+<key name="map"> 15,33,61,64, </key>
+<key name="mark"> 53, </key>
+<key name="mas"> 12, </key>
+<key name="math"> 61,73, </key>
+<key name="max"> 13,8,33,60,63,34,45, </key>
+<key name="maxaspectratio"> 61, </key>
+<key name="maxelementarea"> 6,8,61,68,75, </key>
+<key name="maxelementvolum"> 6,8,72,75, </key>
+<key name="maximum"> 19,8,33,63,34,44,45,52, </key>
+<key name="maxnbofiteration"> 61, </key>
+<key name="mean"> 14,63, </key>
+<key name="meaningful"> 14, </key>
+<key name="measur"> 54, </key>
+<key name="medium"> 7, </key>
+<key name="meet"> 26,49, </key>
+<key name="mefisto"> 15,8, </key>
+<key name="menu"> 17,1,19,21,5,22,23,24,7,25,26,9,27,28,29,30,11,12,31,35,37,64,67,39,40,70,41,42,71,43,45,46,48,49,50,51,52, </key>
+<key name="merg"> 59,35,43,73, </key>
+<key name="mergeequalelement"> 73, </key>
+<key name="mergenod"> 73, </key>
+<key name="mesh"> 13,14,15,16,0,17,1,18,19,20,2,3,4,21,5,22,23,6,24,7,25,26,8,9,27,28,29,30,11,12,55,56,57,31,33,32,59,35,60,36,61,63,34,37,64,65,66,67,68,69,38,39,40,70,41,42,62,71,43,44,72,45,46,47,73,48,49,50,51,52,75,76,53,54, </key>
+<key name="mesh_1"> 23,61, </key>
+<key name="mesh_2"> 61, </key>
+<key name="mesh_borders_at_multi"> 68, </key>
+<key name="mesh_free_border"> 68, </key>
+<key name="mesh_length_1d"> 68, </key>
+<key name="mesh_length_2d"> 68, </key>
+<key name="mesh_nam"> 61, </key>
+<key name="mesh1d"> 61, </key>
+<key name="mesh1d_tool"> 61, </key>
+<key name="meshbox"> 6,75, </key>
+<key name="mesheditor"> 61, </key>
+<key name="meshm"> 6, </key>
+<key name="method"> 61,45, </key>
+<key name="middl"> 1,12,37, </key>
+<key name="min_angl"> 68, </key>
+<key name="minimum"> 16,19,26,60,36,63,68,43,49, </key>
+<key name="mirror"> 73, </key>
+<key name="mod"> 0,19,65, </key>
+<key name="model"> 14,60, </key>
+<key name="modification"> 14,17,1,21,7,26,27,28,30,11,12,35,60,64,39,40,70,41,43,45,46,48,49,50, </key>
+<key name="modify"> 21,26,30,61,49, </key>
+<key name="modul"> 14,15,1,19,6,25,60,42,72,53, </key>
+<key name="mous"> 0,25,53, </key>
+<key name="mov"> 28,61, </key>
+<key name="movenod"> 61, </key>
+<key name="much"> 63, </key>
+<key name="multi"> 16,3,4,60,68, </key>
+<key name="multiconnection"> 68, </key>
+<key name="must"> 23,12,64,71,43, </key>
+<key name="myelemid"> 68, </key>
+<key name="mypnt1"> 68, </key>
+<key name="mypnt2"> 68, </key>
+<key name="n"> 64,43, </key>
+<key name="n1"> 61, </key>
+<key name="n10"> 61, </key>
+<key name="n11"> 61, </key>
+<key name="n12"> 61, </key>
+<key name="n2"> 61, </key>
+<key name="n23_param"> 8, </key>
+<key name="n3"> 61, </key>
+<key name="n4"> 61, </key>
+<key name="n5"> 61, </key>
+<key name="n6"> 61, </key>
+<key name="n7"> 61, </key>
+<key name="n8"> 61, </key>
+<key name="n9"> 61, </key>
+<key name="na"> 61, </key>
+<key name="nam"> 23,6,24,25,30,57,31,61,63,67,62,71,72,51,53, </key>
+<key name="nb"> 57,61,63,68, </key>
+<key name="nb_conn"> 68, </key>
+<key name="nb_vert"> 61, </key>
+<key name="nbedg"> 6,73,75, </key>
+<key name="nbfac"> 6,75, </key>
+<key name="nbhexa"> 75, </key>
+<key name="nbnod"> 6,73,75, </key>
+<key name="nbpolygon"> 75, </key>
+<key name="nbpolyhedron"> 75, </key>
+<key name="nbprism"> 75, </key>
+<key name="nbpyramid"> 75, </key>
+<key name="nbquadrangl"> 73,75, </key>
+<key name="nbseg"> 61, </key>
+<key name="nbtetra"> 75, </key>
+<key name="nbtriangl"> 73,75, </key>
+<key name="nbvolum"> 6,73,75, </key>
+<key name="nc"> 61, </key>
+<key name="nd"> 61, </key>
+<key name="ndiagonal"> 61, </key>
+<key name="ne"> 23, </key>
+<key name="necessary"> 17,67, </key>
+<key name="need"> 69, </key>
+<key name="negativ"> 19, </key>
+<key name="neighbor"> 27,50, </key>
+<key name="netgen"> 15,6,8,63,62,72,75, </key>
+<key name="netgen_2d3d"> 8, </key>
+<key name="new"> 0,5,23,24,25,28,61,64,38,71,51, </key>
+<key name="new_id"> 61, </key>
+<key name="next"> 19,64, </key>
+<key name="nid"> 61, </key>
+<key name="nid1"> 61, </key>
+<key name="nid2"> 61, </key>
+<key name="nid3"> 61, </key>
+<key name="nid4"> 61, </key>
+<key name="no_nam"> 62, </key>
+<key name="nod"> 14,0,17,1,18,19,20,21,22,6,7,25,28,29,11,12,33,35,60,61,63,64,65,68,39,40,70,71,43,44,45,47,73,52,75,54, </key>
+<key name="nodal"> 64,45, </key>
+<key name="node_id"> 61, </key>
+<key name="nodeid1ofside1tomerg"> 73, </key>
+<key name="nodeid1ofside2tomerg"> 73, </key>
+<key name="nodeid2ofside1tomerg"> 73, </key>
+<key name="nodeid2ofside2tomerg"> 73, </key>
+<key name="nodestart"> 61, </key>
+<key name="non"> 23, </key>
+<key name="nonam"> 62, </key>
+<key name="normal"> 46,54, </key>
+<key name="normalisation"> 20, </key>
+<key name="not"> 17,20,23,25,9,12, </key>
+<key name="noth"> 25, </key>
+<key name="notic"> 14, </key>
+<key name="now"> 5,23, </key>
+<key name="nsmooth"> 61, </key>
+<key name="numb"> 13,14,15,1,19,6,25,8,11,33,60,63,64,66,69,70,43,45,73,52,75,53, </key>
+<key name="number"> 0,1,29,12, </key>
+<key name="numberofsegment"> 6,8,57,61,68,73,75, </key>
+<key name="numeric"> 26, </key>
+<key name="numerical"> 13, </key>
+<key name="nunit"> 61, </key>
+<key name="obey"> 43, </key>
+<key name="obj"> 62, </key>
+<key name="object"> 13,15,0,17,1,19,5,22,23,24,7,25,26,9,30,31,33,61,63,34,64,65,67,38,39,40,41,48,49,52,76,53, </key>
+<key name="objet"> 25, </key>
+<key name="obtain"> 17,68, </key>
+<key name="offset"> 53, </key>
+<key name="ok"> 17,1,21,5,7,26,9,27,28,30,11,12,31,61,39,40,70,43,45,49,50,51, </key>
+<key name="on"> 14,1,19,23,6,24,26,8,9,27,11,12,55,56,59,61,37,64,68,69,38,39,70,71,43,45,46,48,49,51, </key>
+<key name="onc"> 49, </key>
+<key name="onto"> 37,64, </key>
+<key name="oo"> 20, </key>
+<key name="opaqu"> 74, </key>
+<key name="open"> 68, </key>
+<key name="operat"> 13, </key>
+<key name="operation"> 15,17,18,19,20,2,3,4,21,24,25,26,9,27,28,30,11,12,55,56,31,58,33,32,59,35,60,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,76,54, </key>
+<key name="oppos"> 66, </key>
+<key name="opposit"> 13,5,6,26,8,33,37,43,44, </key>
+<key name="optimiz"> 63, </key>
+<key name="option"> 14,0,19,46,48, </key>
+<key name="optional"> 23,12,67, </key>
+<key name="ord"> 14,21,63,64, </key>
+<key name="ordinary"> 1,37, </key>
+<key name="orientat"> 53, </key>
+<key name="orientation"> 21,5,26,61,67,49, </key>
+<key name="origin"> 53,54, </key>
+<key name="other"> 49, </key>
+<key name="otherwis"> 23,33, </key>
+<key name="our"> 23, </key>
+<key name="out"> 69,53, </key>
+<key name="outlin"> 56, </key>
+<key name="outsid"> 64, </key>
+<key name="own"> 14, </key>
+<key name="p5"> 6,8, </key>
+<key name="packag"> 6,62,72, </key>
+<key name="pag"> 15,25,30, </key>
+<key name="pair"> 19, </key>
+<key name="pan"> 53, </key>
+<key name="paramet"> 14,19,2,71,43, </key>
+<key name="parameter"> 13,0,5,8,12,63,41,43,53, </key>
+<key name="parametric"> 14,64, </key>
+<key name="parent"> 24, </key>
+<key name="part"> 61,43,45,53, </key>
+<key name="particularity"> 14, </key>
+<key name="pas"> 6,57,61,68, </key>
+<key name="path"> 12,61,71,73, </key>
+<key name="pathmesh"> 61, </key>
+<key name="pathshap"> 61, </key>
+<key name="pattern"> 61,64, </key>
+<key name="pattern_nam"> 64, </key>
+<key name="pentagonal"> 61, </key>
+<key name="pentahedron"> 2, </key>
+<key name="per"> 63, </key>
+<key name="perform"> 60,61,40,43,46,51,53, </key>
+<key name="perimet"> 20, </key>
+<key name="permit"> 66,67, </key>
+<key name="pi"> 61,73, </key>
+<key name="pictur"> 3,25,12,55,56,59, </key>
+<key name="piec"> 72, </key>
+<key name="plac"> 7,43,53, </key>
+<key name="plan"> 5,68,46,54, </key>
+<key name="planar"> 61,54, </key>
+<key name="platform"> 25,42, </key>
+<key name="pleas"> 9,12, </key>
+<key name="plot"> 19, </key>
+<key name="plu"> 11,70, </key>
+<key name="png"> 0,53, </key>
+<key name="point"> 14,1,19,12,61,37,64,67,70,41,43,46,73,48,53,54, </key>
+<key name="pointstruct"> 61,73, </key>
+<key name="polygon"> 17,61,75, </key>
+<key name="polygonal"> 61, </key>
+<key name="polyhedral"> 17,61, </key>
+<key name="polyhedron"> 17,61,66,75, </key>
+<key name="polylin"> 12, </key>
+<key name="pop"> 9,29, </key>
+<key name="position"> 14,64,53, </key>
+<key name="posses"> 63,37, </key>
+<key name="possibility"> 71, </key>
+<key name="possibl"> 13,2,25,63,64, </key>
+<key name="post"> 53, </key>
+<key name="powerful"> 71, </key>
+<key name="precision"> 17, </key>
+<key name="preferenc"> 13,33,60,65, </key>
+<key name="prefix"> 71, </key>
+<key name="preproces"> 25, </key>
+<key name="pres"> 17,1,12,39,53, </key>
+<key name="present"> 14,0,63,51, </key>
+<key name="presentation"> 16,0,53, </key>
+<key name="preserv"> 64, </key>
+<key name="preset"> 13, </key>
+<key name="preview"> 17,5,26,64,71, </key>
+<key name="previou"> 19,12,49, </key>
+<key name="previous"> 24,25,60,64, </key>
+<key name="principl"> 12, </key>
+<key name="print"> 6,8,57,61,68,73,75, </key>
+<key name="printmeshinfo"> 6, </key>
+<key name="prism"> 66,69,75, </key>
+<key name="prism3d"> 66, </key>
+<key name="prismatic"> 15, </key>
+<key name="pro"> 53, </key>
+<key name="problem"> 6,8, </key>
+<key name="proce"> 23,9, </key>
+<key name="procedur"> 45, </key>
+<key name="proceed"> 12,38, </key>
+<key name="proces"> 45, </key>
+<key name="produc"> 14,7,11,70,45, </key>
+<key name="product"> 54, </key>
+<key name="program"> 23, </key>
+<key name="progression"> 19, </key>
+<key name="project"> 64, </key>
+<key name="projection"> 15,64,66,67,69,54, </key>
+<key name="prompt"> 19, </key>
+<key name="propagat"> 6,8,37, </key>
+<key name="propagation"> 13,6,8,37,73, </key>
+<key name="properti"> 53, </key>
+<key name="prov"> 63, </key>
+<key name="provid"> 0,17,26,72, </key>
+<key name="pseudo"> 27, </key>
+<key name="pt1"> 72, </key>
+<key name="pt2"> 72, </key>
+<key name="pul"> 45, </key>
+<key name="put"> 8, </key>
+<key name="px"> 8,73, </key>
+<key name="px1"> 73, </key>
+<key name="py"> 8,73, </key>
+<key name="py1"> 73, </key>
+<key name="pyramid"> 75, </key>
+<key name="pyramidal"> 15, </key>
+<key name="python"> 6,62,72,52, </key>
+<key name="pz"> 8,73, </key>
+<key name="pz1"> 73, </key>
+<key name="q1"> 61, </key>
+<key name="qi"> 2, </key>
+<key name="qk"> 20,2, </key>
+<key name="quad"> 54, </key>
+<key name="quad_1"> 61, </key>
+<key name="quad_2"> 61, </key>
+<key name="quad_3"> 61, </key>
+<key name="quad_4"> 61, </key>
+<key name="quad_5"> 61, </key>
+<key name="quad_6"> 61, </key>
+<key name="quad_7"> 61, </key>
+<key name="quadra"> 6,57, </key>
+<key name="quadrangl"> 13,14,15,17,18,20,2,6,26,8,27,11,12,57,33,32,60,36,61,63,66,69,70,44,73,75, </key>
+<key name="quadrangle"> 66, </key>
+<key name="quadrangular"> 15,6,8,33,37, </key>
+<key name="quadratic"> 13,1,7,63,37, </key>
+<key name="quadtotri"> 61, </key>
+<key name="quality"> 16,0,18,19,20,2,3,4,26,55,56,58,32,60,36,68,44,47,49,76,54, </key>
+<key name="quantity"> 13, </key>
+<key name="r1"> 61, </key>
+<key name="radial"> 69, </key>
+<key name="radio"> 21,25,26,41,43,46,49, </key>
+<key name="radiu"> 20,61,63, </key>
+<key name="radius"> 63, </key>
+<key name="radius_1"> 72, </key>
+<key name="radius_2"> 72, </key>
+<key name="rang"> 19,25,57,61,63,68, </key>
+<key name="rat"> 63, </key>
+<key name="ratio"> 16,20,2,60,68,45,47,54, </key>
+<key name="ready"> 23, </key>
+<key name="recent"> 0, </key>
+<key name="red"> 56, </key>
+<key name="redefin"> 0,53, </key>
+<key name="reduc"> 45, </key>
+<key name="reevaluat"> 45, </key>
+<key name="refer"> 64, </key>
+<key name="referenc"> 14,16,23,24, </key>
+<key name="refin"> 13, </key>
+<key name="reflect"> 64,44,76, </key>
+<key name="refpoint"> 61, </key>
+<key name="refresh"> 0, </key>
+<key name="regular"> 20,6,8,63,62, </key>
+<key name="relat"> 42, </key>
+<key name="relation"> 14, </key>
+<key name="relationship"> 14, </key>
+<key name="remot"> 53, </key>
+<key name="remov"> 21,6,25,26,9,30,12,57,61,68,39,71,49, </key>
+<key name="removal"> 60, </key>
+<key name="removeelement"> 61,68, </key>
+<key name="removehypothesi"> 6, </key>
+<key name="removenod"> 61, </key>
+<key name="renumb"> 40, </key>
+<key name="renumber"> 61,40, </key>
+<key name="renumbernod"> 61, </key>
+<key name="reorient"> 21,61, </key>
+<key name="replac"> 43, </key>
+<key name="represent"> 13,14,19,2,65,47,53, </key>
+<key name="representation"> 14, </key>
+<key name="requir"> 27,28,63,50, </key>
+<key name="res"> 61, </key>
+<key name="reset"> 53, </key>
+<key name="resiz"> 53, </key>
+<key name="respect"> 12, </key>
+<key name="respectiv"> 1, </key>
+<key name="rest"> 64,43, </key>
+<key name="restor"> 53, </key>
+<key name="restrict"> 14, </key>
+<key name="result"> 13,17,12,57,68,45,51, </key>
+<key name="ret"> 6,8, </key>
+<key name="retriev"> 14, </key>
+<key name="return"> 58,61, </key>
+<key name="reveal"> 20, </key>
+<key name="revers"> 1,64, </key>
+<key name="revert"> 21, </key>
+<key name="revolution"> 11,61,70, </key>
+<key name="revolv"> 61,70, </key>
+<key name="right"> 0,22,9,28,29,12,65, </key>
+<key name="rotat"> 11,12,61,70,41,73,53, </key>
+<key name="rotation"> 5,70,41,73,53, </key>
+<key name="rotationsweepobject"> 61, </key>
+<key name="rough"> 13, </key>
+<key name="rr"> 61, </key>
+<key name="rul"> 19,37,43, </key>
+<key name="run"> 42, </key>
+<key name="salom"> 25,8,57,60,61,68,42,62,73, </key>
+<key name="sam"> 14,0,19,20,2,23,24,8,12,37,66,67,38,71,43,51, </key>
+<key name="sampl"> 15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,76,54, </key>
+<key name="sav"> 71, </key>
+<key name="scal"> 19,53, </key>
+<key name="scalar"> 16, </key>
+<key name="scen"> 53, </key>
+<key name="script"> 15,17,18,19,20,2,3,4,21,23,6,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,52,76,54, </key>
+<key name="se"> 15,17,18,19,20,2,3,4,21,5,6,24,7,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,66,38,39,40,70,41,43,44,72,45,46,47,48,49,50,51,76,53,54, </key>
+<key name="seam"> 64, </key>
+<key name="search"> 31,71, </key>
+<key name="second"> 17,61,63,43, </key>
+<key name="secondnodeid1"> 73, </key>
+<key name="secondnodeid2"> 73, </key>
+<key name="secondnodeidonfreebord"> 73, </key>
+<key name="section"> 0,5,23,64,72, </key>
+<key name="seg"> 63, </key>
+<key name="segment"> 13,19,6,8,57,33,60,61,63,68,72,73,75, </key>
+<key name="select"> 13,0,17,1,19,21,22,23,6,24,7,25,26,9,27,28,30,11,12,31,35,61,63,37,64,65,67,39,40,70,41,42,71,43,45,46,48,49,50,51,52,53, </key>
+<key name="selectabl"> 59, </key>
+<key name="selection"> 17,1,21,25,26,9,71,49, </key>
+<key name="sens"> 14, </key>
+<key name="separat"> 47, </key>
+<key name="sequenc"> 43, </key>
+<key name="set"> 14,15,17,19,21,5,23,25,8,28,12,33,60,61,63,34,64,65,69,71,43,45,74,49,53, </key>
+<key name="setmaxelementarea"> 6, </key>
+<key name="setnam"> 62,72, </key>
+<key name="setting"> 23, </key>
+<key name="seven"> 12,61, </key>
+<key name="sew"> 12,43,73, </key>
+<key name="sewbordertosid"> 73, </key>
+<key name="sewconformfreeborder"> 73, </key>
+<key name="sewfreeborder"> 73, </key>
+<key name="sewsideelement"> 73, </key>
+<key name="sg"> 57,61,68,73, </key>
+<key name="shad"> 0,65,74, </key>
+<key name="shall"> 21,27,28,35,64,70,41,46,48,49,50, </key>
+<key name="shap"> 13,14,15,12,61,64,66,67,69,45, </key>
+<key name="shape_mesh"> 61, </key>
+<key name="shape1d"> 61, </key>
+<key name="shapetyp"> 6,8,57,61,68,72,73, </key>
+<key name="shel"> 69, </key>
+<key name="shell"> 68,69, </key>
+<key name="shift"> 17,1,26,39,45, </key>
+<key name="shortest"> 54, </key>
+<key name="should"> 19,7,25,11,12,64,66,69,70,41,71,43,45,51, </key>
+<key name="show"> 19,5,12,71,53, </key>
+<key name="shown"> 16,45, </key>
+<key name="shrink"> 65, </key>
+<key name="sid"> 6,8,36,63,66,43,44,73, </key>
+<key name="simp"> 23,37, </key>
+<key name="simpl"> 14,17,12,64, </key>
+<key name="simplex"> 20,2, </key>
+<key name="sin"> 61, </key>
+<key name="sin_bot"> 61, </key>
+<key name="sin_top"> 61, </key>
+<key name="six"> 12,61, </key>
+<key name="siz"> 0,63,72,45, </key>
+<key name="sk"> 20,2, </key>
+<key name="sketch"> 8, </key>
+<key name="sketcher"> 8, </key>
+<key name="sketcher1"> 8, </key>
+<key name="sketcher2"> 8, </key>
+<key name="skew"> 16,26,60,68,44,49, </key>
+<key name="skew_margin"> 68, </key>
+<key name="slid"> 74, </key>
+<key name="small"> 53, </key>
+<key name="smesh"> 6,8,57,61,68,62,43,72,73,75, </key>
+<key name="smesh_mechanic"> 57,61,68,73, </key>
+<key name="smesh_mechanic_tetra"> 68, </key>
+<key name="smeshgroup1"> 57, </key>
+<key name="smooth"> 61,45, </key>
+<key name="smoothobject"> 61, </key>
+<key name="smp"> 64, </key>
+<key name="so"> 13,19,20,12,64,43,47, </key>
+<key name="solid"> 8,60,67, </key>
+<key name="somewhat"> 17, </key>
+<key name="soon"> 6, </key>
+<key name="sort"> 21,25,26,49, </key>
+<key name="sourc"> 67,71, </key>
+<key name="spac"> 14,64,69,41,48, </key>
+<key name="specifi"> 19,3,64,39,43,45, </key>
+<key name="specific"> 15,22,71, </key>
+<key name="specify"> 17,1,26,11,12,64,39,70,41,71,45,46,48,51, </key>
+<key name="spher"> 19,20,23, </key>
+<key name="split"> 15,19,2,5,63,43, </key>
+<key name="sqrt"> 61, </key>
+<key name="standalon"> 25,57,71, </key>
+<key name="standard"> 0,7,31,72,52, </key>
+<key name="start"> 13,19,5,8,12,60,42,43,48, </key>
+<key name="startendlength"> 8, </key>
+<key name="static"> 62, </key>
+<key name="step"> 11,70, </key>
+<key name="stor"> 64,71, </key>
+<key name="str"> 62, </key>
+<key name="straight"> 1,8,12,61,37, </key>
+<key name="stretch"> 53, </key>
+<key name="strict"> 53, </key>
+<key name="structur"> 23,24,61,62, </key>
+<key name="study"> 8,57,71,72, </key>
+<key name="stuf"> 53, </key>
+<key name="styl"> 6, </key>
+<key name="sub"> 6,8,12,31,35,64,41,43,46,48, </key>
+<key name="submenu"> 17,10,39,40, </key>
+<key name="submesh"> 13,21,22,6,24,25,26,11,12,38,70,45,48,49,52, </key>
+<key name="subshapeall"> 6,8,57,61,68,73, </key>
+<key name="subshapeallid"> 72, </key>
+<key name="subshapeallsort"> 61, </key>
+<key name="subshapelist"> 6,57, </key>
+<key name="subshapenam"> 6, </key>
+<key name="succed"> 8, </key>
+<key name="sum"> 2, </key>
+<key name="supplement"> 37, </key>
+<key name="supplementary"> 26, </key>
+<key name="surfac"> 14,20,2,11,12,64,70,43, </key>
+<key name="surround"> 14,45, </key>
+<key name="swept"> 11,70, </key>
+<key name="switch"> 1, </key>
+<key name="symmetrical"> 46,73, </key>
+<key name="symmetry"> 46,73, </key>
+<key name="syntax"> 71, </key>
+<key name="t"> 14,19,2,23,37,64,65,53, </key>
+<key name="t1"> 61, </key>
+<key name="tabl"> 1,19, </key>
+<key name="tak"> 20,49, </key>
+<key name="taken"> 13,22,25,8,64, </key>
+<key name="tap"> 16,25,60,68,47, </key>
+<key name="taper_margin"> 68, </key>
+<key name="target"> 67, </key>
+<key name="techniqu"> 45, </key>
+<key name="tetra"> 6,8,72,75, </key>
+<key name="tetrahedral"> 15,8,63,72, </key>
+<key name="tetrahedralization"> 23, </key>
+<key name="tetrahedrical"> 8, </key>
+<key name="tetrahedron"> 14,15,17,2,6,8,61,34,72,75, </key>
+<key name="tetran"> 8, </key>
+<key name="th"> 64,43, </key>
+<key name="them"> 13,17,1,19,2,25,9,10,11,12,35,63,39,70,43,45,53, </key>
+<key name="themesh"> 6, </key>
+<key name="third"> 12, </key>
+<key name="thos"> 26,49, </key>
+<key name="thre"> 14,1,20,61,63,37,43,46, </key>
+<key name="threshold"> 71, </key>
+<key name="tick"> 53, </key>
+<key name="tim"> 0, </key>
+<key name="tmp"> 6, </key>
+<key name="togeth"> 33, </key>
+<key name="toggl"> 17,71,48, </key>
+<key name="toleranc"> 35,70,71,73, </key>
+<key name="tool"> 71,51, </key>
+<key name="toolbar"> 20,2,21,23,24,7,26,27,28,30,11,12,32,64,39,40,70,42,44,45,47,49,50,52,76,53,54, </key>
+<key name="top"> 61, </key>
+<key name="topological"> 14,43, </key>
+<key name="topology"> 14, </key>
+<key name="toru"> 7, </key>
+<key name="total"> 52, </key>
+<key name="toward"> 45, </key>
+<key name="transform"> 28,73, </key>
+<key name="transformation"> 35,41,43,46,48, </key>
+<key name="translat"> 73,48, </key>
+<key name="translation"> 73,48, </key>
+<key name="transparency"> 0,74, </key>
+<key name="transparent"> 74, </key>
+<key name="transtorm"> 7, </key>
+<key name="tria"> 6,8,73, </key>
+<key name="tria_mesh"> 8, </key>
+<key name="triangl"> 14,15,17,1,18,20,6,8,27,11,33,32,59,36,61,63,66,68,69,70,44,72,47,73,49,50,75,53, </key>
+<key name="triangular"> 15,33, </key>
+<key name="triangulation"> 8, </key>
+<key name="trihedron"> 53, </key>
+<key name="tritoquad"> 61, </key>
+<key name="truncat"> 72, </key>
+<key name="try"> 23,63, </key>
+<key name="tt"> 8,61, </key>
+<key name="tui"> 15,17,18,19,20,2,3,4,21,23,24,25,26,27,28,30,11,12,55,56,31,58,33,32,59,35,36,34,37,64,38,39,40,70,41,43,44,45,46,47,48,49,50,51,52,76,54, </key>
+<key name="tupl"> 62, </key>
+<key name="two"> 14,17,5,25,26,8,27,12,57,36,61,63,64,66,67,68,69,43,47,73,48,50,51,52, </key>
+<key name="typ"> 14,17,19,20,2,22,23,25,11,12,39,70,71,43,52, </key>
+<key name="typical"> 45, </key>
+<key name="u"> 14,43, </key>
+<key name="unary"> 71, </key>
+<key name="unassign"> 38, </key>
+<key name="uncheck"> 53, </key>
+<key name="uniform"> 45, </key>
+<key name="union"> 57,49,50,51, </key>
+<key name="uniongroup"> 57, </key>
+<key name="unionid"> 72, </key>
+<key name="unit"> 61,43,49,50,51, </key>
+<key name="unles"> 37, </key>
+<key name="unv"> 31, </key>
+<key name="up"> 19,9,29, </key>
+<key name="updat"> 0,6,42,45, </key>
+<key name="updateobjbrows"> 57,61,68,73, </key>
+<key name="upload"> 71, </key>
+<key name="us"> 14,15,19,3,5,23,24,25,11,12,33,35,61,63,64,66,70,71,43,45,74,51,53, </key>
+<key name="usag"> 16,6,61,72, </key>
+<key name="useful"> 0,17,25,12,63, </key>
+<key name="usual"> 43,45, </key>
+<key name="v"> 14, </key>
+<key name="valu"> 13,16,19,20,2,23,6,12,58,36,37,38,71,44,72, </key>
+<key name="vari"> 20, </key>
+<key name="variabl"> 62, </key>
+<key name="variou"> 0, </key>
+<key name="ve"> 17, </key>
+<key name="vector"> 11,12,61,70,41,46,73,48,54, </key>
+<key name="versa"> 7, </key>
+<key name="vert"> 61, </key>
+<key name="vertex"> 14,64,67, </key>
+<key name="vertex_"> 61, </key>
+<key name="vertic"> 61,64,66,67, </key>
+<key name="very"> 17,12,63, </key>
+<key name="via"> 71,52,53, </key>
+<key name="vic"> 7, </key>
+<key name="vid"> 61, </key>
+<key name="view"> 0,17,1,18,20,2,21,5,25,26,9,27,28,29,11,12,32,36,39,40,70,71,43,44,45,47,49,50,52,75,76,53,54, </key>
+<key name="visibl"> 53, </key>
+<key name="visual"> 16, </key>
+<key name="visualiz"> 53, </key>
+<key name="vk"> 2, </key>
+<key name="volum"> 13,14,15,16,17,2,22,6,25,8,10,12,60,61,34,68,71,73,52,75,76, </key>
+<key name="volume_margin"> 68, </key>
+<key name="vtk"> 0,53, </key>
+<key name="vxy"> 8,73, </key>
+<key name="wa_margin"> 68, </key>
+<key name="walk"> 64, </key>
+<key name="warp"> 16,26,60,68,49,54, </key>
+<key name="way"> 14,17,23,24,25,12,64,38,51, </key>
+<key name="weight"> 45, </key>
+<key name="well"> 64, </key>
+<key name="wheth"> 71, </key>
+<key name="whil"> 66,39, </key>
+<key name="whit"> 12,55, </key>
+<key name="whol"> 2,11,12,70,71,45,48, </key>
+<key name="whos"> 21,25,26,37,49, </key>
+<key name="will"> 13,14,0,17,1,18,19,20,2,21,22,23,6,24,7,25,26,9,28,29,30,11,12,31,33,32,59,36,61,63,34,37,64,67,39,40,70,42,71,43,44,45,47,74,49,51,52,76,54, </key>
+<key name="window"> 5, </key>
+<key name="wir"> 15,8,12,33,61,63,73, </key>
+<key name="wire_polylin"> 61, </key>
+<key name="wire_polyline_edg"> 61, </key>
+<key name="wire_polyline_mesh"> 61, </key>
+<key name="wirefram"> 0,65, </key>
+<key name="wish"> 23,7,9,31,53, </key>
+<key name="within"> 19,64,43, </key>
+<key name="without"> 1,12,68,69, </key>
+<key name="word"> 19, </key>
+<key name="work"> 1,12,63,67, </key>
+<key name="worst"> 20, </key>
+<key name="would"> 17,69,43, </key>
+<key name="ww"> 8, </key>
+<key name="x"> 14,5,54, </key>
+<key name="x0"> 61, </key>
+<key name="y"> 14,5, </key>
+<key name="y0"> 61, </key>
+<key name="your"> 13,14,16,0,17,1,18,19,20,2,21,5,22,23,24,25,28,29,30,31,33,32,35,36,34,64,65,38,39,40,41,71,44,45,46,47,48,52,76,54, </key>
+<key name="z"> 14,5, </key>
+<key name="z0"> 61, </key>
+<key name="zero"> 64, </key>
+<key name="zoom"> 53, </key>
+
+</ftswdata>  
index 0075ff8d54162c69791b0c63a0c4a19b87f26f00..b0993a04396797dd1c2876aba3d32a93c064b587 100755 (executable)
@@ -1,22 +1,22 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<glossarydata>\r
- <entry name="Cell" value="Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension." />\r
- <entry name="Component" value="One integer or real value can correspond to each component of a field and to each entity of a mesh" />\r
- <entry name="Descendant connectivity" value="It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1." />\r
- <entry name="Edge" value="An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node)." />\r
- <entry name="Entity of a mesh" value="Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity." />\r
- <entry name="Equivalence" value="Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension." />\r
- <entry name="Face" value="Face of a volumetrical cell (triangle, quadrangle)." />\r
- <entry name="Family" value="Entities of a mesh are described by a certain number   of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership." />\r
- <entry name="Field" value="Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type." />\r
- <entry name="Field profile" value="Fields can be defined only on one part of the mesh. Profile   of the field or profile of the component of a field indicates which entities of the mesh contain values." />\r
- <entry name="Group" value="Unordered set of entities of a mesh. One entity can belong to   several groups." />\r
- <entry name="Mesh" value="Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions)." />\r
- <entry name="Nodal connectivity" value="It is a description of an entity of the mesh by an ordered list of nodes constituting this entity." />\r
- <entry name="Node" value="Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point." />\r
- <entry name="Point" value="Geometrical entity determined by its coordinates in the space." />\r
- <entry name="Reference connectivity" value="For each type of entity of a mesh, reference connectivity define the topology of an entity." />\r
- <entry name="Result" value="List of fields referring to one mesh." />\r
- <entry name="Study" value="Study represents a chain of sequences of calculations." />\r
-\r
-</glossarydata>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<glossarydata>
+ <entry name="Cell" value="Element of a mesh. Cells are determined by their connectivity. They can have 0,1,2 or 3 dimension." />
+ <entry name="Component" value="One integer or real value can correspond to each component of a field and to each entity of a mesh" />
+ <entry name="Descendant connectivity" value="It is a description of the entities of the mesh with dimension N. This description is made by an ordered list of geometrical entities (nodes, edges, or faces) with dimension N-1." />
+ <entry name="Edge" value="An edge of a volumetric or surface mesh. It is composed of 2 or 3 nodes (2 vertex nodes and optionally one middle node)." />
+ <entry name="Entity of a mesh" value="Geometrical component of the mesh: node, cell, face and edge. Faces and edges are only intermediate entities allowing to define the cells in descendant connectivity." />
+ <entry name="Equivalence" value="Equivalence represents a list of correspondance 2 by 2 of the entities of the same dimension." />
+ <entry name="Face" value="Face of a volumetrical cell (triangle, quadrangle)." />
+ <entry name="Family" value="Entities of a mesh are described by a certain number   of characteristics (boundary conditions, groups membership). Families represent classes equivalent to these characteristics (two entities of a mesh can belong to the same family if they have the same characteristics). Every family is determined by a set of attributes and a list of groups membership." />
+ <entry name="Field" value="Field consists of one or several scalar components. One definite type is associated to the given field and the values corresponding to different components are all of the same type." />
+ <entry name="Field profile" value="Fields can be defined only on one part of the mesh. Profile   of the field or profile of the component of a field indicates which entities of the mesh contain values." />
+ <entry name="Group" value="Unordered set of entities of a mesh. One entity can belong to   several groups." />
+ <entry name="Mesh" value="Mesh is described by its geometry: list of nodes and list of cells which constitute this mesh. Supplementary information is added with the help of families (initial, boundary conditions)." />
+ <entry name="Nodal connectivity" value="It is a description of an entity of the mesh by an ordered list of nodes constituting this entity." />
+ <entry name="Node" value="Node can be an isolated node of a mesh, a vertex or middle node of an edge. A node is associated to a point." />
+ <entry name="Point" value="Geometrical entity determined by its coordinates in the space." />
+ <entry name="Reference connectivity" value="For each type of entity of a mesh, reference connectivity define the topology of an entity." />
+ <entry name="Result" value="List of fields referring to one mesh." />
+ <entry name="Study" value="Study represents a chain of sequences of calculations." />
+
+</glossarydata>
index 0f1cd68e537f05a317d0b24d82052de893ba238b..ac67056d39df23e412311d072725c0bddcfbd5b4 100755 (executable)
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<glossary>\r
-<chunkinfo url="whgdata0.xml" first="Cell" last="Study" num="18" />\r
-\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<glossary>
+<chunkinfo url="whgdata0.xml" first="Cell" last="Study" num="18" />
+
 </glossary>
\ No newline at end of file
index ac66bb96640ee91007eecc48c2728520738106c2..44f05e5be5ca2e73885c0653ab2411593b241baf 100755 (executable)
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<index>\r
-\r
-</index>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<index>
+
+</index>
index 64e838ed13250249ec8bcdfa17550b1a6b4630e4..f81db8e9f716e8d9739ad849f65fc237d131b5fd 100755 (executable)
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<tocdata>\r
-<book name="MESH module" >\r
-  <item name="Introduction to Mesh" url="mesh.htm" />\r
-  <item name="Running MESH module" url="files/running_smesh_module.htm" />\r
-  <item name="Introduction to MESH module python interface" url="smesh.py_introduction.htm" />\r
-  <book name="Creating meshes" >\r
-    <item name="About meshes" url="files/about_meshes.htm" />\r
-    <item name="Importing and exporting meshes" url="files/importing_and_exporting_meshes.htm" />\r
-    <item name="Constructing meshes" url="files/constructing_meshes.htm" />\r
-    <item name="Defining meshing algorithms" url="files/about_meshing_algorithms.htm" />\r
-    <book name="Defining hypotheses" >\r
-      <item name="About Hypotheses" url="files/about_hypotheses.htm" />\r
-      <item name="1D Meshing Hypotheses" url="files/arithmetic_1d.htm" />\r
-      <item name="2D Meshing Hypotheses" url="files/max._element_area_hypothesis.htm" />\r
-      <item name="Max Element Volume hypothesis" url="files/max._element_volume_hypothsis.htm" />\r
-      <item name="Netgen 2D and 3D hypotheses" url="netgen_2d_and_3d_hypotheses.htm" />\r
-      <item name="Additional Hypotheses" url="files/non_conform_mesh_allowed_hypothesis.htm" />\r
-    </book>\r
-    <item name="Constructing submeshes" url="files/constructing_submeshes.htm" />\r
-    <item name="Editing Meshes" url="files/reassigning_hypotheses_and_algorithms.htm" />\r
-  </book>\r
-  <book name="Viewing meshes" >\r
-    <item name="Viewing meshes" url="about_viewing_meshes.htm" />\r
-    <item name="VTK 3D Viewer" url="files/vtk_3d_viewer.htm" />\r
-    <item name="Mesh infos" url="files/viewing_mesh_info.htm" />\r
-    <item name="Numbering" url="files/displaying_nodes_numbers.htm" />\r
-    <item name="Display Mode" url="presentation.htm" />\r
-    <item name="Display Entity" url="display_entity.htm" />\r
-    <item name="Transparency" url="transparency.htm" />\r
-    <item name="Clipping" url="clipping.htm" />\r
-  </book>\r
-  <book name="Quality controls" >\r
-    <item name="About quality controls" url="files/about_quality_controls.htm" />\r
-    <item name="Free borders" url="free_borders.htm" />\r
-    <item name="Borders at multi-connection" url="borders_at_multi-connection.htm" />\r
-    <item name="Length" url="length.htm" />\r
-    <item name="Free edges" url="free_edges.htm" />\r
-    <item name="Length 2D" url="files/length_of_edges.htm" />\r
-    <item name="Borders at multi-connection 2D" url="borders_at_multiconnection_2d.htm" />\r
-    <item name="Area" url="files/area_of_elements.htm" />\r
-    <item name="Taper" url="files/taper.htm" />\r
-    <item name="Aspect ratio" url="files/aspect_ratio.htm" />\r
-    <item name="Minimum angle" url="files/minimum_angle.htm" />\r
-    <item name="Warping" url="files/warp.htm" />\r
-    <item name="Skew" url="files/skew.htm" />\r
-    <item name="Aspect ratio 3D" url="aspect_ratio_3d.htm" />\r
-    <item name="Volume" url="volume.htm" />\r
-  </book>\r
-  <book name="Grouping elements" >\r
-    <item name="Creating groups" url="files/creating_groups.htm" />\r
-    <item name="Editing groups" url="files/editing_groups.htm" />\r
-    <item name="Using operations on groups" url="files/using_operations_on_groups.htm" />\r
-    <item name="Constructing groups of specific elements" url="files/constructing_groups_of_specific_elements.htm" />\r
-    <item name="Deleting Groups" url="deleting_groups.htm" />\r
-    <item name="Selection filter library" url="selection_filter_library.htm" />\r
-  </book>\r
-  <book name="Modifying meshes" >\r
-    <item name="Adding nodes and elements" url="files/adding_nodes_and_elements.htm" />\r
-    <item name="Adding quadratic elements" url="adding_quadratic_nodes_and_elements.htm" />\r
-    <item name="Removing nodes and elements" url="files/removing_nodes_and_elements.htm" />\r
-    <item name="Renumbering nodes and elements" url="files/renumbering_nodes_and_elements.htm" />\r
-    <book name="Transforming meshes" >\r
-      <item name="Translation" url="files/translation.htm" />\r
-      <item name="Rotation" url="files/rotation.htm" />\r
-      <item name="Symmetry" url="files/symmetry.htm" />\r
-      <item name="Sewing meshes" url="files/sewing_meshes.htm" />\r
-      <item name="Merging nodes" url="files/merging_nodes.htm" />\r
-      <item name="Merging Elements" url="merge_elements.htm" />\r
-    </book>\r
-    <item name="Moving nodes" url="files/displacing_nodes.htm" />\r
-    <item name="Diagonal inversion of elements" url="files/diagonal_iversion_of_elements.htm" />\r
-    <item name="Uniting two triangles" url="files/uniting_two_triangles.htm" />\r
-    <item name="Uniting a set of triangles" url="files/uniting_a_set_of_triangles.htm" />\r
-    <item name="Changing orientation of elements" url="files/changing_orientation_of_elements.htm" />\r
-    <item name="Cutting quadrangles" url="files/cutting_quadrangles.htm" />\r
-    <item name="Smoothing" url="files/smoothing.htm" />\r
-    <item name="Extrusion" url="extrusion.htm" />\r
-    <item name="Extrusion along a path" url="extrusion_along_a_path.htm" />\r
-    <item name="Revolution" url="revolution.htm" />\r
-    <item name="Pattern mapping" url="pattern_mapping.htm" />\r
-    <item name="Convert to/from Quadratic Mesh" url="convert_to_from_quadratic_mesh.htm" />\r
-  </book>\r
-  <item name="Python Interface smesh.py" url="smeshpy_doc/namespacesmesh.html" /> \r
-  <book name="TUI Scripts" >\r
-    <item name="Creating Meshes" url="constructing_meshes.htm" />\r
-    <item name="Viewing Meshes" url="viewing_meshes.htm" />\r
-    <item name="Defining Hypotheses" url="defining_hypotheses_tui.htm" />\r
-    <item name="Quality Controls" url="quality_controls.htm" />\r
-    <item name="Grouping Elements" url="grouping_elements.htm" />\r
-    <item name="Modifying Meshes" url="modifying_meshes.htm" />\r
-    <item name="Transforming Meshes" url="transforming_meshes.htm" />\r
-  </book>\r
-</book>\r
-\r
-</tocdata>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<tocdata>
+<book name="MESH module" >
+  <item name="Introduction to Mesh" url="mesh.htm" />
+  <item name="Running MESH module" url="files/running_smesh_module.htm" />
+  <item name="Introduction to MESH module python interface" url="smesh.py_introduction.htm" />
+  <book name="Creating meshes" >
+    <item name="About meshes" url="files/about_meshes.htm" />
+    <item name="Importing and exporting meshes" url="files/importing_and_exporting_meshes.htm" />
+    <item name="Constructing meshes" url="files/constructing_meshes.htm" />
+    <book name="Defining Algorithms" >
+      <item name="Basic meshing algorithms" url="files/about_meshing_algorithms.htm" />
+      <item name="Projection Algorithms" url="projection_algorithms.htm" />
+      <item name="Radial Prism Algorithm" url="radial_prism.htm" />
+      <item name="Prism 3D Algorithm" url="prism_3d_algorithm.htm" />
+    </book>
+    <book name="Defining hypotheses" >
+      <item name="About Hypotheses" url="files/about_hypotheses.htm" />
+      <item name="1D Meshing Hypotheses" url="files/arithmetic_1d.htm" />
+      <item name="2D Meshing Hypotheses" url="files/max._element_area_hypothesis.htm" />
+      <item name="Max Element Volume hypothesis" url="files/max._element_volume_hypothsis.htm" />
+      <item name="Netgen 2D and 3D hypotheses" url="netgen_2d_and_3d_hypotheses.htm" />
+      <item name="Additional Hypotheses" url="files/non_conform_mesh_allowed_hypothesis.htm" />
+    </book>
+    <item name="Constructing submeshes" url="files/constructing_submeshes.htm" />
+    <item name="Editing Meshes" url="files/reassigning_hypotheses_and_algorithms.htm" />
+  </book>
+  <book name="Viewing meshes" >
+    <item name="Viewing meshes" url="about_viewing_meshes.htm" />
+    <item name="VTK 3D Viewer" url="files/vtk_3d_viewer.htm" />
+    <item name="Mesh infos" url="files/viewing_mesh_info.htm" />
+    <item name="Numbering" url="files/displaying_nodes_numbers.htm" />
+    <item name="Display Mode" url="presentation.htm" />
+    <item name="Display Entity" url="display_entity.htm" />
+    <item name="Transparency" url="transparency.htm" />
+    <item name="Clipping" url="clipping.htm" />
+  </book>
+  <book name="Quality controls" >
+    <item name="About quality controls" url="files/about_quality_controls.htm" />
+    <item name="Free borders" url="free_borders.htm" />
+    <item name="Borders at multi-connection" url="borders_at_multi-connection.htm" />
+    <item name="Length" url="length.htm" />
+    <item name="Free edges" url="free_edges.htm" />
+    <item name="Length 2D" url="files/length_of_edges.htm" />
+    <item name="Borders at multi-connection 2D" url="borders_at_multiconnection_2d.htm" />
+    <item name="Area" url="files/area_of_elements.htm" />
+    <item name="Taper" url="files/taper.htm" />
+    <item name="Aspect ratio" url="files/aspect_ratio.htm" />
+    <item name="Minimum angle" url="files/minimum_angle.htm" />
+    <item name="Warping" url="files/warp.htm" />
+    <item name="Skew" url="files/skew.htm" />
+    <item name="Aspect ratio 3D" url="aspect_ratio_3d.htm" />
+    <item name="Volume" url="volume.htm" />
+  </book>
+  <book name="Grouping elements" >
+    <item name="Creating groups" url="files/creating_groups.htm" />
+    <item name="Editing groups" url="files/editing_groups.htm" />
+    <item name="Using operations on groups" url="files/using_operations_on_groups.htm" />
+    <item name="Constructing groups of specific elements" url="files/constructing_groups_of_specific_elements.htm" />
+    <item name="Deleting Groups" url="deleting_groups.htm" />
+    <item name="Selection filter library" url="selection_filter_library.htm" />
+  </book>
+  <book name="Modifying meshes" >
+    <item name="Adding nodes and elements" url="files/adding_nodes_and_elements.htm" />
+    <item name="Adding quadratic elements" url="adding_quadratic_nodes_and_elements.htm" />
+    <item name="Removing nodes and elements" url="files/removing_nodes_and_elements.htm" />
+    <item name="Renumbering nodes and elements" url="files/renumbering_nodes_and_elements.htm" />
+    <book name="Transforming meshes" >
+      <item name="Translation" url="files/translation.htm" />
+      <item name="Rotation" url="files/rotation.htm" />
+      <item name="Symmetry" url="files/symmetry.htm" />
+      <item name="Sewing meshes" url="files/sewing_meshes.htm" />
+      <item name="Merging nodes" url="files/merging_nodes.htm" />
+      <item name="Merging Elements" url="merge_elements.htm" />
+    </book>
+    <item name="Moving nodes" url="files/displacing_nodes.htm" />
+    <item name="Diagonal inversion of elements" url="files/diagonal_iversion_of_elements.htm" />
+    <item name="Uniting two triangles" url="files/uniting_two_triangles.htm" />
+    <item name="Uniting a set of triangles" url="files/uniting_a_set_of_triangles.htm" />
+    <item name="Changing orientation of elements" url="files/changing_orientation_of_elements.htm" />
+    <item name="Cutting quadrangles" url="files/cutting_quadrangles.htm" />
+    <item name="Smoothing" url="files/smoothing.htm" />
+    <item name="Extrusion" url="extrusion.htm" />
+    <item name="Extrusion along a path" url="extrusion_along_a_path.htm" />
+    <item name="Revolution" url="revolution.htm" />
+    <item name="Pattern mapping" url="pattern_mapping.htm" />
+    <item name="Convert to/from Quadratic Mesh" url="convert_to_from_quadratic_mesh.htm" />
+  </book>
+ <item name="Python Interface smesh.py" url="smeshpy_doc/namespacesmesh.html" /> 
+  <book name="TUI Scripts" >
+    <item name="Creating Meshes" url="constructing_meshes.htm" />
+    <item name="Viewing Meshes" url="viewing_meshes.htm" />
+    <item name="Defining Hypotheses" url="defining_hypotheses_tui.htm" />
+    <item name="Quality Controls" url="quality_controls.htm" />
+    <item name="Grouping Elements" url="grouping_elements.htm" />
+    <item name="Modifying Meshes" url="modifying_meshes.htm" />
+    <item name="Transforming Meshes" url="transforming_meshes.htm" />
+  </book>
+</book>
+
+</tocdata>
index a271ba7cc99810bb4aa4db02ef622ed2c5fc650a..871ec25b98da95cb0a3f52da19d447a00b5ffb24 100755 (executable)
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='windows-1252' ?>\r
-<toc root="whtdata0.xml">\r
-\r
-</toc>\r
+<?xml version='1.0' encoding='windows-1252' ?>
+<toc root="whtdata0.xml">
+
+</toc>
index 7b58330d50856e28562e8f9ed80dae72d6e6dda3..df0d5a187398c59271c45249950a92cd9cec68bb 100755 (executable)
Binary files a/doc/salome/tui/SMESH/sources/Application-About.png and b/doc/salome/tui/SMESH/sources/Application-About.png differ
index 677b70468f798fe4fbc20fac3d706e61179ff12b..429489c691d274d2af69108c574491a022e78824 100755 (executable)
Binary files a/doc/salome/tui/SMESH/sources/bg_salome.gif and b/doc/salome/tui/SMESH/sources/bg_salome.gif differ
index 2479147dbc22d5e51aa9414236eb44154a1c0073..8ae1235e764c461307607bead88f3e3198f132e6 100644 (file)
@@ -301,6 +301,212 @@ module StdMeshers
   };
 
 
+  /*!
+   * StdMeshers_NumberOfLayers: interface of "Nb. Layers" hypothesis.
+   * This hypothesis is used by "Radial prism" algorithm.
+   * It specifies number of segments between the internal 
+   * and the external surfaces.
+   */
+  interface StdMeshers_NumberOfLayers : SMESH::SMESH_Hypothesis
+  {
+    /*!
+     * Sets <number of segments> parameter value
+     */
+    void SetNumberOfLayers(in long numberOfLayers) 
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns <number of layers> parameter value
+     */
+    long GetNumberOfLayers();
+
+  };
+
+  /*!
+   * StdMeshers_LayerDistribution: interface of "Distribution of Layers" hypothesis.
+   * This hypothesis is used by "Radial prism" algorithm.
+   * It specifies 1D hypothesis defining distribution of segments between the internal 
+   * and the external surfaces.
+   */
+  interface StdMeshers_LayerDistribution : SMESH::SMESH_Hypothesis
+  {
+    /*!
+     * Sets  1D hypothesis specifying distribution of layers
+     */
+    void SetLayerDistribution(in SMESH::SMESH_Hypothesis distributionHyp) 
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns 1D hypothesis specifying distribution of layers
+     */
+    SMESH::SMESH_Hypothesis GetLayerDistribution();
+
+  };
+
+  /*!
+   * interface of "ProjectionSource1D" hypothesis.
+   * This hypothesis specifies a meshed edge to take a mesh pattern from
+   * and optionally association of vertices between the source edge and a
+   * target one (where a hipothesis is assigned to)
+   */
+  interface StdMeshers_ProjectionSource1D : SMESH::SMESH_Hypothesis
+  {
+    /*!
+     * Sets source <edge> to take a mesh pattern from
+     */
+    void SetSourceEdge(in GEOM::GEOM_Object edge)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the source edge
+     */
+    GEOM::GEOM_Object GetSourceEdge();
+
+    /*!
+     * Sets source <mesh> to take a mesh pattern from
+     */
+    void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
+
+    /*!
+     * Return source mesh
+     */
+    SMESH::SMESH_Mesh GetSourceMesh();
+
+    /*!
+     * Sets vertex association between the source edge and the target one.
+     * This parameter is optional
+     */
+    void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex,
+                              in GEOM::GEOM_Object targetVertex)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the vertex associated with the target vertex.
+     * Result may be nil if association not set
+     */
+    GEOM::GEOM_Object  GetSourceVertex();
+
+    /*!
+     * Returns the vertex associated with the source vertex.
+     * Result may be nil if association not set
+     */
+    GEOM::GEOM_Object  GetTargetVertex();
+  };
+
+  /*!
+   * interface of "ProjectionSource2D" hypothesis.
+   * This hypothesis specifies a meshed face to take a mesh pattern from
+   * and optionally association of vertices between the source face and a
+   * target one (where a hipothesis is assigned to)
+   */
+  interface StdMeshers_ProjectionSource2D : SMESH::SMESH_Hypothesis
+  {
+    /*!
+     * Sets a source <face> to take a mesh pattern from
+     */
+    void SetSourceFace(in GEOM::GEOM_Object face)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the source face
+     */
+    GEOM::GEOM_Object GetSourceFace();
+
+    /*!
+     * Sets source <mesh> to take a mesh pattern from
+     */
+    void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
+
+    /*!
+     * Return source mesh
+     */
+    SMESH::SMESH_Mesh GetSourceMesh();
+
+    /*!
+     * Sets vertex association between the source face and the target one.
+     * This parameter is optional.
+     * Two vertices must belong to one edge of a face
+     */
+    void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex1,
+                              in GEOM::GEOM_Object sourceVertex2,
+                              in GEOM::GEOM_Object targetVertex1,
+                              in GEOM::GEOM_Object targetVertex2)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+     * Result may be nil if association not set.
+     * Valid indices are 1 and 2
+     */
+    GEOM::GEOM_Object  GetSourceVertex(in long i)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+     * Result may be nil if association not set.
+     * Valid indices are 1 and 2
+     */
+    GEOM::GEOM_Object  GetTargetVertex(in long i)
+      raises (SALOME::SALOME_Exception);
+  };
+
+  /*!
+   * interface of "ProjectionSource3D" hypothesis.
+   * This hypothesis specifies a meshed shell or solid to take a mesh pattern from
+   * and optionally association of vertices between the source shape and a
+   * target one (where a hipothesis is assigned to)
+   */
+  interface StdMeshers_ProjectionSource3D : SMESH::SMESH_Hypothesis
+  {
+    /*!
+     * Sets a source <shape> to take a mesh pattern from
+     */
+    void SetSource3DShape(in GEOM::GEOM_Object shape)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the source shape
+     */
+    GEOM::GEOM_Object GetSource3DShape();
+
+    /*!
+     * Sets source <mesh> to take a mesh pattern from
+     */
+    void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
+
+    /*!
+     * Return source mesh
+     */
+    SMESH::SMESH_Mesh GetSourceMesh();
+
+    /*!
+     * Sets vertex association between the source shape and the target one.
+     * This parameter is optional.
+     * Two vertices must belong to one edge of a shape
+     */
+    void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex1,
+                              in GEOM::GEOM_Object sourceVertex2,
+                              in GEOM::GEOM_Object targetVertex1,
+                              in GEOM::GEOM_Object targetVertex2)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+     * Result may be nil if association not set.
+     * Valid indices are 1 and 2
+     */
+    GEOM::GEOM_Object  GetSourceVertex(in long i)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+     * Result may be nil if association not set.
+     * Valid indices are 1 and 2
+     */
+    GEOM::GEOM_Object  GetTargetVertex(in long i)
+      raises (SALOME::SALOME_Exception);
+  };
+
   /*!
    * StdMeshers_Regular_1D: interface of "Wire discretisation" algorithm
    */
@@ -329,6 +535,41 @@ module StdMeshers
   {
   };
 
+  /*!
+   * StdMeshers_Prism_3D: interface of "Prism 3D" algorithm
+   */
+  interface StdMeshers_Prism_3D : SMESH::SMESH_3D_Algo
+  {
+  };
+
+  /*!
+   * StdMeshers_RadialPrism_3D: interface of "Radial Prism" algorithm
+   */
+  interface StdMeshers_RadialPrism_3D : SMESH::SMESH_3D_Algo
+  {
+  };
+
+  /*!
+   * StdMeshers_Projection_3D: interface of "Projection 3D" algorithm
+   */
+  interface StdMeshers_Projection_3D : SMESH::SMESH_3D_Algo
+  {
+  };
+
+  /*!
+   * StdMeshers_Projection_2D: interface of "Projection 2D" algorithm
+   */
+  interface StdMeshers_Projection_2D : SMESH::SMESH_2D_Algo
+  {
+  };
+
+  /*!
+   * StdMeshers_Projection_1D: interface of "Projection 1D" algorithm
+   */
+  interface StdMeshers_Projection_1D : SMESH::SMESH_1D_Algo
+  {
+  };
+
 };
 
 #endif
index 2f608b954329189f01fb3ab681a10fc1df522ccc..475d0253a294bff99fd64ae31f96910a505441f5 100644 (file)
@@ -43,7 +43,7 @@ module SMESH
   interface FilterManager;
   interface SMESH_Pattern;
 
-  enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH };
+  enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH, BAD_PARAM_VALUE };
   struct AlgoStateError {
     AlgoStateErrorName name;
     string             algoName;
@@ -121,6 +121,7 @@ module SMESH
     
     /*!
      * Create Mesh object importing data from given UNV file
+     * (UNV supported version is I-DEAS 10)
      */
     SMESH_Mesh CreateMeshesFromUNV( in string theFileName )
       raises ( SALOME::SALOME_Exception );
@@ -169,7 +170,8 @@ module SMESH
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * 
+     * Return indeces of faces, edges and vertices of given subshapes
+     * within theMainObject
      */
     long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
                                in object_array      theListOfSubObjects )
@@ -185,6 +187,14 @@ module SMESH
                                                 in string      theGeomName)
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Return geometrical object the given element is built on.
+     * The returned geometrical object not published in study by this method.
+     */
+    GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh  theMesh,
+                                                in long        theElementID)
+      raises ( SALOME::SALOME_Exception );
+
   };
 
 };
index 5134fe24b38f938f852555e625abe4111b1f546a..bd524b8005abf68f53c2e7de9c61436f4a944c80 100644 (file)
@@ -127,7 +127,8 @@ module SMESH
     HYP_NOTCONFORM,   // not conform mesh is produced appling a hypothesis
     HYP_ALREADY_EXIST,// such hypothesis already exist
     HYP_BAD_DIM,      // bad dimension
-    HYP_BAD_SUBSHAPE  // shape is neither the main one, nor its subshape, nor a group
+    HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its subshape, nor a group
+    HYP_BAD_GEOMETRY  // geometry mismatches algorithm's expectation
   };
 
   /*!
@@ -374,6 +375,7 @@ module SMESH
 
     /*!
      * Export Mesh to DAT, UNV and STL Formats
+     * (UNV supported version is I-DEAS 10)
      */
     void ExportDAT( in string file )
       raises (SALOME::SALOME_Exception);
@@ -508,18 +510,28 @@ module SMESH
 
     /*!
      * If given element is node returns IDs of shape from position
-     * else - return ID of result shape after ::FindShape()
-     * from SMESH_MeshEditor
-     * If there is not element for given ID - returns -1
+     * If there is not node for given ID - returns -1
      */
     long GetShapeID(in long id);
 
+    /*!
+     * For given element returns ID of result shape after 
+     * ::FindShape() from SMESH_MeshEditor
+     * If there is not element for given ID - returns -1
+     */
+    long GetShapeIDForElem(in long id);
+
     /*!
      * Returns number of nodes for given element
      * If there is not element for given ID - returns -1
      */
     long GetElemNbNodes(in long id);
 
+    /*!
+     * Returns IDs of nodes of given element
+     */
+    long_array GetElemNodes(in long id);
+
     /*!
      * Returns ID of node by given index for given element
      * If there is not element for given ID - returns -1
@@ -642,12 +654,36 @@ module SMESH
 
     long AddNode(in double x, in double y, in double z);
 
+    /*!
+     *  Create edge, either linear and quadratic (this is determed
+     *  by number of given nodes).
+     *  \param IdsOfNodes List of node IDs for creation of element.
+     *  Needed order of nodes in this list corresponds to description
+     *  of MED. This description is located by the following link:
+     *   http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+     */
     long AddEdge(in long_array IDsOfNodes);
 
+    /*!
+     *  Create face, either linear and quadratic (this is determed
+     *  by number of given nodes).
+     *  \param IdsOfNodes List of node IDs for creation of element.
+     *  Needed order of nodes in this list corresponds to description
+     *  of MED. This description is located by the following link:
+     *   http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+     */
     long AddFace(in long_array IDsOfNodes);
 
     long AddPolygonalFace(in long_array IdsOfNodes);
 
+    /*!
+     *  Create volume, either linear and quadratic (this is determed
+     *  by number of given nodes).
+     *  \param IdsOfNodes List of node IDs for creation of element.
+     *  Needed order of nodes in this list corresponds to description
+     *  of MED. This description is located by the following link:
+     *   http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+     */
     long AddVolume(in long_array IDsOfNodes);
 
     /*!
index 4125b6ca2937c3c1d51d78f00d2f3f19bc10846b..0c4b44de6c6a2d879219bfa1b3ee37e247dba673 100644 (file)
   </section>
   <section name="resources">
     <!-- Module resources -->
-    <parameter name="SMESH"      value="${SMESH_ROOT_DIR}/share/salome/resources/smesh"/>
-    <parameter name="StdMeshers" value="${SMESH_ROOT_DIR}/share/salome/resources/smesh"/>
+    <parameter name="SMESH"        value="${SMESH_ROOT_DIR}/share/salome/resources/smesh"/>
+    <parameter name="StdMeshers"   value="${SMESH_ROOT_DIR}/share/salome/resources/smesh"/>
+    <!-- NETGENPlugin and GHS3DPlugin -->
+    <!-- Here the environment variables are used as case-sensitive, -->
+    <!-- In GUI/src/SalomeApp/resources/SalomeApp.xml upper-case notation is used. -->
+    <!-- As a result, both variants are acceptable. -->
+    <parameter name="NETGENPlugin" value="${NETGENPlugin_ROOT_DIR}/share/salome/resources/netgenplugin"/>
+    <parameter name="GHS3DPlugin"  value="${GHS3DPlugin_ROOT_DIR}/share/salome/resources/ghs3dplugin"/>
   </section>
 </document>
index 853f8ea2b44f2d19616ed1d289214b4f06f8b29e..3a69b96cf97ce351e1af21664cbcfdcc5936ca74 100644 (file)
@@ -7,8 +7,8 @@
 
 <meshers-group name="Standard Meshers"
                resources="StdMeshers"
-               server-lib="libStdMeshersEngine.so"
-               gui-lib="libStdMeshersGUI.so">
+               server-lib="StdMeshersEngine"
+               gui-lib="StdMeshersGUI">
   <hypotheses>
 
     <hypothesis type="LocalLength"
                 label-id="Max. Element Volume"
                 icon-id="mesh_hypo_volume.png"
                 dim="3"/>
+
+    <hypothesis type="ProjectionSource3D"
+                label-id="Source Shape 3D"
+                icon-id="mesh_hypo_volume.png"
+                dim="3"/>
+
+    <hypothesis type="ProjectionSource2D"
+                label-id="Source Face"
+                icon-id="mesh_hypo_area.png"
+                dim="2"/>
+
+    <hypothesis type="ProjectionSource1D"
+                label-id="Source Edge"
+                icon-id="mesh_hypo_length.png"
+                dim="1"/>
+
+    <hypothesis type="NumberOfLayers"
+                label-id="Number of Layers"
+                icon-id="mesh_hypo_length.png"
+                dim="3"/>
+
+    <hypothesis type="LayerDistribution"
+                label-id="Distribution of Layers"
+                icon-id="mesh_hypo_length.png"
+                dim="3"/>
   </hypotheses>
 
   <algorithms>
               icon-id="mesh_algo_regular.png"
                hypos="LocalLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength"
                opt-hypos="Propagation,QuadraticMesh"
+               input="VERTEX"
                output="EDGE"
                dim="1"/>
 
                icon-id="mesh_algo_hexa.png"
                input="QUAD"
                dim="3"/>
+
+    <algorithm type="Projection_1D"
+               label-id="Projection 1D"
+               icon-id="mesh_algo_regular.png"
+               hypos="ProjectionSource1D"
+               output="EDGE"
+               dim="1"/>
+
+    <algorithm type="Projection_2D"
+               label-id="Projection 2D"
+               icon-id="mesh_algo_quad.png"
+               input="EDGE"
+               hypos="ProjectionSource2D"
+               output="QUAD,TRIA"
+               dim="2"/>
+
+    <algorithm type="Projection_3D"
+               label-id="Projection 3D"
+               icon-id="mesh_algo_hexa.png"
+               hypos="ProjectionSource3D"
+               input="QUAD,TRIA"
+               dim="3"/>
+
+    <algorithm type="Prism_3D"
+               label-id="Prism 3D"
+               icon-id="mesh_algo_hexa.png"
+               input="QUAD,TRIA"
+               dim="3"/>
+
+    <algorithm type="RadialPrism_3D"
+               label-id="Radial Prism 3D"
+               icon-id="mesh_algo_hexa.png"
+               hypos="NumberOfLayers, LayerDistribution"
+               input="QUAD,TRIA"
+               dim="3"/>
+
   </algorithms>
 </meshers-group>
 
diff --git a/resources/mesh_hypo_layer_distribution.png b/resources/mesh_hypo_layer_distribution.png
new file mode 100644 (file)
index 0000000..3166fcc
Binary files /dev/null and b/resources/mesh_hypo_layer_distribution.png differ
diff --git a/resources/mesh_hypo_source_3d.png b/resources/mesh_hypo_source_3d.png
new file mode 100644 (file)
index 0000000..7642b95
Binary files /dev/null and b/resources/mesh_hypo_source_3d.png differ
diff --git a/resources/mesh_hypo_source_edge.png b/resources/mesh_hypo_source_edge.png
new file mode 100644 (file)
index 0000000..3c6790d
Binary files /dev/null and b/resources/mesh_hypo_source_edge.png differ
diff --git a/resources/mesh_hypo_source_face.png b/resources/mesh_hypo_source_face.png
new file mode 100644 (file)
index 0000000..fbd3192
Binary files /dev/null and b/resources/mesh_hypo_source_face.png differ
diff --git a/resources/mesh_tree_algo_projection_2d.png b/resources/mesh_tree_algo_projection_2d.png
new file mode 100644 (file)
index 0000000..f880a97
Binary files /dev/null and b/resources/mesh_tree_algo_projection_2d.png differ
diff --git a/resources/mesh_tree_algo_projection_3d.png b/resources/mesh_tree_algo_projection_3d.png
new file mode 100644 (file)
index 0000000..e877c8b
Binary files /dev/null and b/resources/mesh_tree_algo_projection_3d.png differ
diff --git a/resources/mesh_tree_algo_radial_prism.png b/resources/mesh_tree_algo_radial_prism.png
new file mode 100644 (file)
index 0000000..2edace5
Binary files /dev/null and b/resources/mesh_tree_algo_radial_prism.png differ
diff --git a/resources/mesh_tree_hypo_layers_distribution.png b/resources/mesh_tree_hypo_layers_distribution.png
new file mode 100644 (file)
index 0000000..627945c
Binary files /dev/null and b/resources/mesh_tree_hypo_layers_distribution.png differ
diff --git a/resources/mesh_tree_hypo_projection_2d.png b/resources/mesh_tree_hypo_projection_2d.png
new file mode 100644 (file)
index 0000000..bb5eb01
Binary files /dev/null and b/resources/mesh_tree_hypo_projection_2d.png differ
diff --git a/resources/mesh_tree_hypo_projection_3d.png b/resources/mesh_tree_hypo_projection_3d.png
new file mode 100644 (file)
index 0000000..80f05f4
Binary files /dev/null and b/resources/mesh_tree_hypo_projection_3d.png differ
diff --git a/resources/mesh_tree_hypo_source_3d_shape.png b/resources/mesh_tree_hypo_source_3d_shape.png
new file mode 100644 (file)
index 0000000..1e18a2c
Binary files /dev/null and b/resources/mesh_tree_hypo_source_3d_shape.png differ
diff --git a/resources/mesh_tree_hypo_source_edge.png b/resources/mesh_tree_hypo_source_edge.png
new file mode 100644 (file)
index 0000000..7e72020
Binary files /dev/null and b/resources/mesh_tree_hypo_source_edge.png differ
diff --git a/resources/mesh_tree_hypo_source_face.png b/resources/mesh_tree_hypo_source_face.png
new file mode 100644 (file)
index 0000000..46e5b88
Binary files /dev/null and b/resources/mesh_tree_hypo_source_face.png differ
index a6ae0af999e649aeb3fc9404fd3049650bb85a19..82eaa6726b0d67ffa07eba30139b8c0e3bca40c1 100644 (file)
@@ -564,7 +564,8 @@ double AspectRatio3D::GetValue( const TSequenceOfXYZ& P )
     //double aVolume = getVolume(aLen);
     double aHeight = getMaxHeight(aLen);
     static double aCoeff = sqrt(2.0)/12.0;
-    aQuality = aCoeff*aHeight*aSumArea/aVolume;
+    if ( aVolume > DBL_MIN )
+      aQuality = aCoeff*aHeight*aSumArea/aVolume;
     break;
   }
   case 5:{
@@ -790,7 +791,7 @@ double Warping::GetValue( const TSequenceOfXYZ& P )
   if ( P.size() != 4 )
     return 0;
 
-  gp_XYZ G = ( P( 1 ) + P( 2 ) + P( 3 ) + P( 4 ) ) / 4;
+  gp_XYZ G = ( P( 1 ) + P( 2 ) + P( 3 ) + P( 4 ) ) / 4.;
 
   double A1 = ComputeA( P( 1 ), P( 2 ), P( 3 ), G );
   double A2 = ComputeA( P( 2 ), P( 3 ), P( 4 ), G );
@@ -821,7 +822,7 @@ double Warping::ComputeA( const gp_XYZ& thePnt1,
   N.Normalize();
 
   double H = ( thePnt2 - theG ).Dot( N );
-  return asin( fabs( H / L ) ) * 180 / PI;
+  return asin( fabs( H / L ) ) * 180. / PI;
 }
 
 double Warping::GetBadRate( double Value, int /*nbNodes*/ ) const
@@ -845,13 +846,13 @@ SMDSAbs_ElementType Warping::GetType() const
 double Taper::GetValue( const TSequenceOfXYZ& P )
 {
   if ( P.size() != 4 )
-    return 0;
+    return 0.;
 
   // Compute taper
-  double J1 = getArea( P( 4 ), P( 1 ), P( 2 ) ) / 2;
-  double J2 = getArea( P( 3 ), P( 1 ), P( 2 ) ) / 2;
-  double J3 = getArea( P( 2 ), P( 3 ), P( 4 ) ) / 2;
-  double J4 = getArea( P( 3 ), P( 4 ), P( 1 ) ) / 2;
+  double J1 = getArea( P( 4 ), P( 1 ), P( 2 ) ) / 2.;
+  double J2 = getArea( P( 3 ), P( 1 ), P( 2 ) ) / 2.;
+  double J3 = getArea( P( 2 ), P( 3 ), P( 4 ) ) / 2.;
+  double J4 = getArea( P( 3 ), P( 4 ), P( 1 ) ) / 2.;
 
   double JA = 0.25 * ( J1 + J2 + J3 + J4 );
   if ( JA <= Precision::Confusion() )
@@ -885,42 +886,46 @@ SMDSAbs_ElementType Taper::GetType() const
 */
 static inline double skewAngle( const gp_XYZ& p1, const gp_XYZ& p2, const gp_XYZ& p3 )
 {
-  gp_XYZ p12 = ( p2 + p1 ) / 2;
-  gp_XYZ p23 = ( p3 + p2 ) / 2;
-  gp_XYZ p31 = ( p3 + p1 ) / 2;
+  gp_XYZ p12 = ( p2 + p1 ) / 2.;
+  gp_XYZ p23 = ( p3 + p2 ) / 2.;
+  gp_XYZ p31 = ( p3 + p1 ) / 2.;
 
   gp_Vec v1( p31 - p2 ), v2( p12 - p23 );
 
-  return v1.Magnitude() < gp::Resolution() || v2.Magnitude() < gp::Resolution() ? 0 : v1.Angle( v2 );
+  return v1.Magnitude() < gp::Resolution() || v2.Magnitude() < gp::Resolution() ? 0. : v1.Angle( v2 );
 }
 
 double Skew::GetValue( const TSequenceOfXYZ& P )
 {
   if ( P.size() != 3 && P.size() != 4 )
-    return 0;
+    return 0.;
 
   // Compute skew
-  static double PI2 = PI / 2;
+  static double PI2 = PI / 2.;
   if ( P.size() == 3 )
   {
     double A0 = fabs( PI2 - skewAngle( P( 3 ), P( 1 ), P( 2 ) ) );
     double A1 = fabs( PI2 - skewAngle( P( 1 ), P( 2 ), P( 3 ) ) );
     double A2 = fabs( PI2 - skewAngle( P( 2 ), P( 3 ), P( 1 ) ) );
 
-    return Max( A0, Max( A1, A2 ) ) * 180 / PI;
+    return Max( A0, Max( A1, A2 ) ) * 180. / PI;
   }
   else
   {
-    gp_XYZ p12 = ( P( 1 ) + P( 2 ) ) / 2;
-    gp_XYZ p23 = ( P( 2 ) + P( 3 ) ) / 2;
-    gp_XYZ p34 = ( P( 3 ) + P( 4 ) ) / 2;
-    gp_XYZ p41 = ( P( 4 ) + P( 1 ) ) / 2;
+    gp_XYZ p12 = ( P( 1 ) + P( 2 ) ) / 2.;
+    gp_XYZ p23 = ( P( 2 ) + P( 3 ) ) / 2.;
+    gp_XYZ p34 = ( P( 3 ) + P( 4 ) ) / 2.;
+    gp_XYZ p41 = ( P( 4 ) + P( 1 ) ) / 2.;
 
     gp_Vec v1( p34 - p12 ), v2( p23 - p41 );
     double A = v1.Magnitude() <= gp::Resolution() || v2.Magnitude() <= gp::Resolution()
-      ? 0 : fabs( PI2 - v1.Angle( v2 ) );
+      ? 0. : fabs( PI2 - v1.Angle( v2 ) );
+
+    //BUG SWP12743
+    if ( A < Precision::Angular() )
+      return 0.;
 
-    return A * 180 / PI;
+    return A * 180. / PI;
   }
 }
 
index 32cd281f560ac879d4ed2873f0cebad57ef0d7dc..c9b4dc0b9de9ab79d3bdb1dbaeeed6bb9fdee34b 100644 (file)
 
 #include "SMESH_Controls.hxx"
 
+#ifdef WNT
+ #if defined SMESHCONTROLS_EXPORTS
+  #define SMESHCONTROLS_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHCONTROLS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHCONTROLS_EXPORT
+#endif
+
 class SMDS_MeshElement;
 class SMDS_MeshFace;
 class SMDS_MeshNode;
@@ -46,11 +56,10 @@ class SMESHDS_SubMesh;
 class gp_Pnt;
 class TopoDS_Shape;
 
-
 namespace SMESH{
   namespace Controls{
 
-    class TSequenceOfXYZ: public std::vector<gp_XYZ>
+    class SMESHCONTROLS_EXPORT TSequenceOfXYZ: public std::vector<gp_XYZ>
     {
     public:
       typedef std::vector<gp_XYZ> TSuperClass;
@@ -97,7 +106,7 @@ namespace SMESH{
       Class       : Functor
       Description : Root of all Functors
     */
-    class Functor
+    class SMESHCONTROLS_EXPORT Functor
     {
     public:
       ~Functor(){}
@@ -109,7 +118,7 @@ namespace SMESH{
       Class       : NumericalFunctor
       Description : Root of all Functors returning numeric value
     */
-    class NumericalFunctor: public virtual Functor{
+    class SMESHCONTROLS_EXPORT NumericalFunctor: public virtual Functor{
     public:
       NumericalFunctor();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -135,7 +144,7 @@ namespace SMESH{
       Class       : Volume
       Description : Functor calculating volume of 3D mesh element
     */
-    class Volume: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Volume: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       //virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -148,7 +157,7 @@ namespace SMESH{
       Class       : SMESH_MinimumAngle
       Description : Functor for calculation of minimum angle
     */
-    class MinimumAngle: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MinimumAngle: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -160,7 +169,7 @@ namespace SMESH{
       Class       : AspectRatio
       Description : Functor for calculating aspect ratio
     */
-    class AspectRatio: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT AspectRatio: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -172,7 +181,7 @@ namespace SMESH{
       Class       : AspectRatio3D
       Description : Functor for calculating aspect ratio of 3D elems.
     */
-    class AspectRatio3D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT AspectRatio3D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -184,7 +193,7 @@ namespace SMESH{
       Class       : Warping
       Description : Functor for calculating warping
     */
-    class Warping: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Warping: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -199,7 +208,7 @@ namespace SMESH{
       Class       : Taper
       Description : Functor for calculating taper
     */
-    class Taper: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Taper: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -211,7 +220,7 @@ namespace SMESH{
       Class       : Skew
       Description : Functor for calculating skew in degrees
     */
-    class Skew: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Skew: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -223,7 +232,7 @@ namespace SMESH{
       Class       : Area
       Description : Functor for calculating area
     */
-    class Area: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Area: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -235,7 +244,7 @@ namespace SMESH{
       Class       : Length
       Description : Functor for calculating length of edge
     */
-    class Length: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Length: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -246,7 +255,7 @@ namespace SMESH{
       Class       : Length2D
       Description : Functor for calculating length of edge
     */
-    class Length2D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Length2D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -267,7 +276,7 @@ namespace SMESH{
       Class       : MultiConnection
       Description : Functor for calculating number of faces conneted to the edge
     */
-    class MultiConnection: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MultiConnection: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -279,7 +288,7 @@ namespace SMESH{
       Class       : MultiConnection2D
       Description : Functor for calculating number of faces conneted to the edge
     */
-    class MultiConnection2D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MultiConnection2D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -302,7 +311,7 @@ namespace SMESH{
       Class       : Predicate
       Description : Base class for all predicates
     */
-    class Predicate: public virtual Functor{
+    class SMESHCONTROLS_EXPORT Predicate: public virtual Functor{
     public:
       virtual bool IsSatisfy( long theElementId ) = 0;
       virtual SMDSAbs_ElementType GetType() const = 0;
@@ -314,7 +323,7 @@ namespace SMESH{
       Class       : FreeBorders
       Description : Predicate for free borders
     */
-    class FreeBorders: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT FreeBorders: public virtual Predicate{
     public:
       FreeBorders();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -330,7 +339,7 @@ namespace SMESH{
       Class       : BadOrientedVolume
       Description : Predicate bad oriented volumes
     */
-    class BadOrientedVolume: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT BadOrientedVolume: public virtual Predicate{
     public:
       BadOrientedVolume();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -346,7 +355,7 @@ namespace SMESH{
       Class       : FreeEdges
       Description : Predicate for free Edges
     */
-    class FreeEdges: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT FreeEdges: public virtual Predicate{
     public:
       FreeEdges();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -377,7 +386,7 @@ namespace SMESH{
                     2. With SetRangeStr method. Parameter of this method is a string
                        like as "1,2,3,50-60,63,67,70-"
     */
-    class RangeOfIds: public virtual Predicate
+    class SMESHCONTROLS_EXPORT RangeOfIds: public virtual Predicate
     {
     public:
                                     RangeOfIds();
@@ -407,7 +416,7 @@ namespace SMESH{
       Class       : Comparator
       Description : Base class for comparators
     */
-    class Comparator: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT Comparator: public virtual Predicate{
     public:
       Comparator();
       virtual ~Comparator();
@@ -429,7 +438,7 @@ namespace SMESH{
       Class       : LessThan
       Description : Comparator "<"
     */
-    class LessThan: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT LessThan: public virtual Comparator{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -439,7 +448,7 @@ namespace SMESH{
       Class       : MoreThan
       Description : Comparator ">"
     */
-    class MoreThan: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT MoreThan: public virtual Comparator{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -449,7 +458,7 @@ namespace SMESH{
       Class       : EqualTo
       Description : Comparator "="
     */
-    class EqualTo: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT EqualTo: public virtual Comparator{
     public:
       EqualTo();
       virtual bool IsSatisfy( long theElementId );
@@ -466,7 +475,7 @@ namespace SMESH{
       Class       : LogicalNOT
       Description : Logical NOT predicate
     */
-    class LogicalNOT: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT LogicalNOT: public virtual Predicate{
     public:
       LogicalNOT();
       virtual ~LogicalNOT();
@@ -485,7 +494,7 @@ namespace SMESH{
       Class       : LogicalBinary
       Description : Base class for binary logical predicate
     */
-    class LogicalBinary: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT LogicalBinary: public virtual Predicate{
     public:
       LogicalBinary();
       virtual ~LogicalBinary();
@@ -505,7 +514,7 @@ namespace SMESH{
       Class       : LogicalAND
       Description : Logical AND
     */
-    class LogicalAND: public virtual LogicalBinary{
+    class SMESHCONTROLS_EXPORT LogicalAND: public virtual LogicalBinary{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -515,7 +524,7 @@ namespace SMESH{
       Class       : LogicalOR
       Description : Logical OR
     */
-    class LogicalOR: public virtual LogicalBinary{
+    class SMESHCONTROLS_EXPORT LogicalOR: public virtual LogicalBinary{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -525,7 +534,7 @@ namespace SMESH{
       Class       : ManifoldPart
       Description : Predicate for manifold part of mesh
     */
-    class ManifoldPart: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT ManifoldPart: public virtual Predicate{
     public:
 
       /* internal class for algorithm uses */
@@ -600,7 +609,7 @@ namespace SMESH{
       Description : Predicate elements that lying on indicated surface
                     (plane or cylinder)
     */
-    class ElementsOnSurface : public virtual Predicate {
+    class SMESHCONTROLS_EXPORT ElementsOnSurface : public virtual Predicate {
     public:
       ElementsOnSurface();
       ~ElementsOnSurface();
@@ -632,7 +641,7 @@ namespace SMESH{
     /*
       FILTER
     */
-    class Filter{
+    class SMESHCONTROLS_EXPORT Filter{
     public:
       Filter();
       virtual ~Filter();
index 502a8f385c8656cb04bbe417ef9b47f3108aea5f..4c3f0b8d0311f58ba9810a5504e0037b47941240 100644 (file)
 #ifndef _INCLUDE_DRIVER_DOCUMENT
 #define _INCLUDE_DRIVER_DOCUMENT
 
+#include "Driver_Mesh.h"
+
 #include <string>
 
 class SMESHDS_Document;
 
-class Driver_Document
+class MESHDRIVER_EXPORT Driver_Document
 {
  public:
   Driver_Document();
index 4ce90c0740f5be6e86d890eb710d1b28795be93b..50a4a59b47ac59eec62a73d3d9a6a48adabdb0c0 100644 (file)
 
 #include <string>
 
-#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
-#define DRIVER_WNT_EXPORT __declspec( dllexport )
+#ifdef WNT
+ #if defined MESHDRIVER_EXPORTS
+  #define MESHDRIVER_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVER_EXPORT __declspec( dllimport )
+ #endif
 #else
-#define DRIVER_WNT_EXPORT
+ #define MESHDRIVER_EXPORT
 #endif
 
-class DRIVER_WNT_EXPORT Driver_Mesh
+class MESHDRIVER_EXPORT Driver_Mesh
 {
  public:
   Driver_Mesh();
index d0dac6250d21075c90670211af94d680c4277a6f..fa0ca827596bdd59b8baf71cc6082fc9ac600370 100644 (file)
@@ -24,7 +24,7 @@
 
 class SMDS_Mesh;
 
-class Driver_SMDS_Mesh: public Driver_Mesh
+class MESHDRIVER_EXPORT Driver_SMDS_Mesh: public Driver_Mesh
 {
  public:
   Driver_SMDS_Mesh();
index 43faa44e4ab1ff7b9fd03b7b3b2fe60f3dd0ce55..0013e86cc835281a6e9633ae90a2719d4b738883 100644 (file)
 
 class SMESHDS_Mesh;
 
-#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
-#define DRIVER_WNT_EXPORT __declspec( dllexport )
-#else
-#define DRIVER_WNT_EXPORT
-#endif
-
-class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
+class MESHDRIVER_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
 {
  public:
   Driver_SMESHDS_Mesh();
@@ -38,7 +32,6 @@ class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
   
  protected:
   SMESHDS_Mesh *myMesh;
-
 };
 
 #endif
index 80b71697fc3ab8395a0ef52bda47686635de730c..4186b8d134297366dbbfa2e3f22e2888c71369c0 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMDS_MESH
 #define _INCLUDE_DRIVERDAT_R_SMDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 359529e6b1dc347b5f0bd57d09fcf667b0fb5174..c26ca913e038859e7027536e812950b558c5104c 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_Document.h"
 
-class DriverDAT_R_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index e3ae20393ea6058dd800adce96a1b7dc81f62381..0147ce4a5d0f44b61020cc8fd6919e1522c7c977 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 1739cfe5bbd009914de3382ef398ae6931a8f873..ce013c5b9816da71c6c38cac6b22be9c5489a805 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMDS_MESH
 #define _INCLUDE_DRIVERDAT_W_SMDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 624f960de25d782c8ef4683f1580670072a44bf7..802a2dee7774f833f217e3655256b0ac4101bbda 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_Document.h"
 
-class DriverDAT_W_SMESHDS_Document: public Driver_Document 
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Document: public Driver_Document 
 {};
 
 #endif
index 39a63233fade3c4a69d65d4ea59015aeb204cd3e..3d18b59078d70169b02569146d5f8a12507178ea 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 198d419db832d43966a7823b8af08e875cf037e1..59c7d3355aea892fc3b89fec4e640c429ff744c8 100644 (file)
@@ -35,7 +35,7 @@ VPATH=.:@srcdir@
 @COMMENCE@
 
 # header files 
-EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h 
+EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h SMESH_DriverDAT.hxx
 
 # Libraries targets
 LIB = libMeshDriverDAT.la
diff --git a/src/DriverDAT/SMESH_DriverDAT.hxx b/src/DriverDAT/SMESH_DriverDAT.hxx
new file mode 100755 (executable)
index 0000000..d651ee8
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverDAT.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverDAT_HXX_
+#define _SMESH_DriverDAT_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERDAT_EXPORTS
+  #define MESHDRIVERDAT_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERDAT_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERDAT_EXPORT
+#endif
+
+#endif
index ebd21783d30a864de549c566bd9099a05e60e2ea..45438ee6d203f461bff50895b53455bf9f8b8b71 100644 (file)
@@ -321,7 +321,7 @@ DriverMED_Family::GetFamilyInfo(const MED::PWrapper& theWrapper,
 
   MED::PFamilyInfo anInfo;
   string aValue = aStr.str();
-  if(myId == 0){
+  if(myId == 0 || myGroupAttributVal == 0){
     anInfo = theWrapper->CrFamilyInfo(theMeshInfo,
                                      aValue,
                                      myId,
@@ -329,8 +329,7 @@ DriverMED_Family::GetFamilyInfo(const MED::PWrapper& theWrapper,
   }else{
     MED::TStringVector anAttrDescs (1, "");  // 1 attribute with empty description,
     MED::TIntVector anAttrIds (1, myId);        // Id=0,
-    MED::TIntVector anAttrVals (1);
-    anAttrVals[0] = myGroupAttributVal != 0? myGroupAttributVal: myId;
+    MED::TIntVector anAttrVals (1, myGroupAttributVal);
     anInfo = theWrapper->CrFamilyInfo(theMeshInfo,
                                      aValue,
                                      myId,
index 907cd8ea6983b7f534eae35550658ed83082f974..64ad65a566a15f542c2516c0dbe6aeb1db9b8091 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _INCLUDE_DRIVERMED_FAMILY
 #define _INCLUDE_DRIVERMED_FAMILY
 
+#include "SMESH_DriverMED.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include "SMESHDS_GroupBase.hxx"
 #include "SMESHDS_SubMesh.hxx"
@@ -50,7 +52,7 @@ typedef std::map<int,SMESHDS_SubMesh*> SMESHDS_SubMeshPtrMap;
 typedef std::list<SMESHDS_GroupBase*> SMESHDS_GroupBasePtrList;
 typedef std::set<const SMDS_MeshElement*> ElementsSet;
 
-class DriverMED_Family
+class MESHDRIVERMED_EXPORT DriverMED_Family
 {
  public:
 
index dc92dd864feced5f9f7cb3cadc9ec430f03e2098..6d488bed52dfb94e782875e290ceced5661721ae 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_R_SMDS_MESH
 #define _INCLUDE_DRIVERMED_R_SMDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {};
 
 #endif
index 82b97f5a5008e48cd0f62e278955b10d9426b817..0672ebf37261537e1d8302762366cc36ecae9f05 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_Document.h"
 
-class DriverMED_R_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index ac3d0b1305b8d635cb051c5713d87bdd1b469b26..4bd85556e509acf673d4c45873b95a68702215df 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _INCLUDE_DRIVERMED_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERMED_R_SMESHDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 #include "DriverMED_Family.h"
 
@@ -38,7 +40,7 @@ class SMESHDS_SubMesh;
 
 typedef std::pair< std::string, SMDSAbs_ElementType > TNameAndType;
 
-class DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {
  public:
   virtual Status Perform();
index f21becd9d6a79dfa8321b70ef9c3dcacb2f58812..b36b663e9c24fc652e1c6741c7a205b94bef2605 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_W_SMDS_MESH
 #define _INCLUDE_DRIVERMED_W_SMDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {};
 
 #endif
index 0a0a77e1e4f33b5025e365bb3acb509549561120..681a99ae4d1724ba4f2022cfa383ba4144fc9f19 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_Document.h"
 
-class DriverMED_W_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index f6cf1ff7833658b27de42a44e5dcd41944493bdd..aa02b402261a3f61a4f9b1c9d431e5d0253fd272 100644 (file)
@@ -987,9 +987,11 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
   }
   catch(const std::exception& exc) {
     INFOS("Follow exception was cought:\n\t"<<exc.what());
+    throw;
   }
   catch(...) {
     INFOS("Unknown exception was cought !!!");
+    throw;
   }
 
   myMeshId = -1;
index 1c8cec4b744f177d2869140a47a2c8cf01ec2846..80f79229893c93003dce191abdcba74c5320ce6e 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _INCLUDE_DRIVERMED_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERMED_W_SMESHDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 #include "MED_Factory.hxx"
 
@@ -38,7 +40,7 @@ class SMESHDS_Mesh;
 class SMESHDS_GroupBase;
 class SMESHDS_SubMesh;
 
-class DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {
   public:
 
index 7634a3373bddc7815403074e663a34f37f2e9ac5..587ca8fe2e80a5c0cf908b6b2097bc85be8b8673 100644 (file)
@@ -38,7 +38,7 @@ VPATH=.:@srcdir@
 EXPORT_HEADERS = \
        DriverMED_R_SMDS_Mesh.h DriverMED_R_SMESHDS_Mesh.h DriverMED_R_SMESHDS_Document.h \
        DriverMED_W_SMDS_Mesh.h DriverMED_W_SMESHDS_Mesh.h DriverMED_W_SMESHDS_Document.h \
-       DriverMED_Family.h
+       DriverMED_Family.h SMESH_DriverMED.hxx
 
 # Libraries targets
 LIB = libMeshDriverMED.la
diff --git a/src/DriverMED/SMESH_DriverMED.hxx b/src/DriverMED/SMESH_DriverMED.hxx
new file mode 100755 (executable)
index 0000000..50eb79b
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverMED.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverMED_HXX_
+#define _SMESH_DriverMED_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERMED_EXPORTS
+  #define MESHDRIVERMED_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERMED_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERMED_EXPORT
+#endif
+
+#endif
index 93b1d0857d2faa86b6dfbfb5bffb3b9685aa4298..5253bf0748c276ad5abded9928a3b05f088d163f 100644 (file)
 #ifndef _INCLUDE_DRIVERSTL_R_SMDS_MESH
 #define _INCLUDE_DRIVERSTL_R_SMDS_MESH
 
+#include "SMESH_DriverSTL.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
 #include <Standard_TypeDef.hxx>
 
-class DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERSTL_EXPORT DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   DriverSTL_R_SMDS_Mesh();
index facfa2ea36a45c0d0b647b1485e292b6a04e13e2..e320415ffa794f9069367b6b3e80a70c632d9238 100644 (file)
 #ifndef _INCLUDE_DRIVERSTL_W_SMDS_MESH
 #define _INCLUDE_DRIVERSTL_W_SMDS_MESH
 
+#include "SMESH_DriverSTL.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 #include <Standard_TypeDef.hxx>
 
-class DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERSTL_EXPORT DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   
index bf0653e1bb4a23d3e98d8cb10e0212f965f0e823..76c594f62d187ae832a4637463a96de93e83e948 100644 (file)
@@ -35,7 +35,7 @@ VPATH=.:@srcdir@
 @COMMENCE@
 
 # header files 
-EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h
+EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h SMESH_DriverSTL.hxx
 
 # Libraries targets
 LIB = libMeshDriverSTL.la
diff --git a/src/DriverSTL/SMESH_DriverSTL.hxx b/src/DriverSTL/SMESH_DriverSTL.hxx
new file mode 100755 (executable)
index 0000000..2204a4a
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverSTL.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverSTL_HXX_
+#define _SMESH_DriverSTL_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERSTL_EXPORTS
+  #define MESHDRIVERSTL_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERSTL_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERSTL_EXPORT
+#endif
+
+#endif
index 474f3713abf9912413c224a1c8d4072e6e3ce79d..d08b98f55f71fc7684c21fc47c80cf33a6f4c9ed 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef _INCLUDE_DRIVERUNV_R_SMDS_MESH
 #define _INCLUDE_DRIVERUNV_R_SMDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 #include <map>
 #include <string>
@@ -32,7 +34,10 @@ class SMDS_MeshGroup;
 typedef std::map<SMDS_MeshGroup*, std::string> TGroupNamesMap;
 typedef std::map<SMDS_MeshGroup*, int> TGroupIdMap;
 
-class DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
+typedef std::map<SMDS_MeshGroup*, std::string> TGroupNamesMap;
+typedef std::map<SMDS_MeshGroup*, int> TGroupIdMap;
+
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   DriverUNV_R_SMDS_Mesh():Driver_SMDS_Mesh(),myGroup(0) {};
index cbd3891c504992c52dad443b2f0cd7a32cfe5d12..d998476606c57319e123ec1766d05a426f56926c 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_Document.h"
 
-class DriverUNV_R_SMESHDS_Document: public Driver_Document
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Document: public Driver_Document
 {};
 
 #endif
index dfb4d92da929083140ade145c428567abe94bff5..6381ddd08544be12881b7c130b075f0a7c2f4b45 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index eeb2ff4b8285f45e61723de3f63d2787d612ce2f..b9554e306cd250331eda6df1dded300155f2d784 100644 (file)
@@ -35,6 +35,7 @@
 #include "UNV_Utilities.hxx"
 
 using namespace std;
+using namespace UNV;
 
 namespace{
   typedef std::vector<size_t> TConnect;
@@ -292,12 +293,19 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform()
       }
       UNV2417::Write(out_stream,aDataSet2417);
       }*/
+
+    out_stream.flush();
+    out_stream.close();
+    if (!check_file(myFile))
+      EXCEPTION(runtime_error,"ERROR: Output file not good.");
   }
   catch(const std::exception& exc){
     INFOS("Follow exception was cought:\n\t"<<exc.what());
+    throw;
   }
   catch(...){
     INFOS("Unknown exception was cought !!!");
+    throw;
   }
   return aResult;
 }
index 296f33c8e9b7eb33dc70ac47d80558de18fa5490..1f2c1f2ad56c98c31ef6c8b39e66b4878a86bfb6 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef _INCLUDE_DRIVERUNV_W_SMDS_MESH
 #define _INCLUDE_DRIVERUNV_W_SMDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 #include "SMESHDS_GroupBase.hxx"
 #include <list>
@@ -27,7 +29,7 @@
 
 typedef std::list<SMESHDS_GroupBase*> TGroupList;
 
-class DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index eb138f1ee42bc26cf1227425ea317c42e1a09fdf..10575d3a85d09c2d379133f759b3947aa2b3c11d 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_Document.h"
 
-class DriverUNV_W_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index 9cf94b48be25fb17000bbed9b9771de9c6b25ad7..fc1f5e6505cd2d13ad8d0d07a9d9984308baf75e 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 688764a12a36f0ab371ee7995dd4ff765d63f5b0..58fddc89c0d81ce28cce9587826583129ff1362b 100644 (file)
@@ -40,7 +40,8 @@ EXPORT_HEADERS= DriverUNV_R_SMDS_Mesh.h \
                DriverUNV_R_SMESHDS_Document.h \
                 DriverUNV_W_SMDS_Mesh.h \
                DriverUNV_W_SMESHDS_Mesh.h \
-               DriverUNV_W_SMESHDS_Document.h 
+               DriverUNV_W_SMESHDS_Document.h \
+               SMESH_DriverUNV.hxx
 
 # Libraries targets
 LIB = libMeshDriverUNV.la
diff --git a/src/DriverUNV/SMESH_DriverUNV.hxx b/src/DriverUNV/SMESH_DriverUNV.hxx
new file mode 100755 (executable)
index 0000000..32f04a1
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverUNV.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverUNV_HXX_
+#define _SMESH_DriverUNV_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERUNV_EXPORTS
+  #define MESHDRIVERUNV_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERUNV_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERUNV_EXPORT
+#endif
+
+#endif
index c3347b3ae2fe88d106919110ecad8adbbe7bd37d..8503e6446c5dfedc7cad1818a8ad4df398ddb4a4 100644 (file)
 #ifndef UNV2411_Structure_HeaderFile
 #define UNV2411_Structure_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <map>
 #include <fstream>     
 
 namespace UNV2411{
   
-  struct TRecord{
+  struct MESHDRIVERUNV_EXPORT TRecord{
     TRecord();
     int exp_coord_sys_num;  // export coordinate system number
     int disp_coord_sys_num;  // displacement coordinate system number
@@ -36,9 +38,11 @@ namespace UNV2411{
   typedef int TNodeLab; // type of node label
   typedef std::map<TNodeLab,TRecord> TDataSet;
 
-  void Read(std::ifstream& in_stream, TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Read(std::ifstream& in_stream, TDataSet& theDataSet);
 
-  void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Write(std::ofstream& out_stream, const TDataSet& theDataSet);
 
 };
 
index 7b36a1d9157cbab7a29149d93c7c06733ba0da09..8e1d50f48e6fd7684e720f9e68a6cfe9c0f7c5be 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef UNV2412_Structure_HeaderFile
 #define UNV2412_Structure_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <map>
 #include <vector>
 #include <fstream>     
@@ -29,7 +31,7 @@ namespace UNV2412{
   
   typedef std::vector<int> TNodeLabels; // Nodal connectivities
 
-  struct TRecord{
+  struct MESHDRIVERUNV_EXPORT TRecord{
     TRecord();
 
     int fe_descriptor_id;  // FE descriptor id
@@ -47,13 +49,18 @@ namespace UNV2412{
   typedef int TElementLab; // type of element label
   typedef std::map<TElementLab,TRecord> TDataSet;
 
-  void Read(std::ifstream& in_stream, TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Read(std::ifstream& in_stream, TDataSet& theDataSet);
 
-  void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Write(std::ofstream& out_stream, const TDataSet& theDataSet);
 
-  bool IsBeam(int theFeDescriptorId);
-  bool IsFace(int theFeDescriptorId);
-  bool IsVolume(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsBeam(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsFace(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsVolume(int theFeDescriptorId);
 
 };
 
index 6f8598341b0e378ce8473ee5b6ba3ed44f8e16e0..cb6135351d78d33a58fb7f0ece58e96c3b47df7f 100644 (file)
 #ifndef MED_Utilities_HeaderFile
 #define MED_Utilities_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <iostream>    
 #include <sstream>     
+#include <fstream>
 #include <string>
 #include <stdexcept>
 #include <cassert>
@@ -29,7 +32,7 @@
 namespace UNV{
   using namespace std;
 
-  class PrefixPrinter{
+  class MESHDRIVERUNV_EXPORT PrefixPrinter{
     static int myCounter;
   public:
     PrefixPrinter();
@@ -87,6 +90,24 @@ namespace UNV{
     }
     return atof (number.c_str());
   }
+  
+  /**
+   * @returns \p false when file is incorrect, \p true otherwise.
+   * Check file with name \p theFileName for correct terminate
+   * string, i.e. the next to the last line is equal to "    -1",
+   */
+  inline bool check_file(const std::string theFileName)
+  {
+    std::ifstream in_stream(theFileName.c_str());
+    if (!in_stream)
+      return false;
+    std::string olds, news;
+    while (!in_stream.eof()){
+      olds = news;
+      std::getline(in_stream, news, '\n');
+    }
+    return (olds == "    -1");
+  }
 
 };
 
index 9aafe707b9ac5cf3f456fbfed81dc05b9fc25861..aa69c4aaac9888d2df657c8ab0c7e3f40d4d0ed2 100755 (executable)
@@ -66,7 +66,15 @@ typedef unsigned long int N;
 
 //le type Z des nombres entiers relatifs
 //=========
-typedef long int Z;
+// 64-bit porting: "long" replaced with "int". 
+// On 64-bit, C++ long type is 8 byte long. MEFISTO2D C code calls several Fortran subroutines passing
+// arguments of this type, however Fortran knows nothing about changed size of arguments, 
+// therefore stack gets corrupted. With "int" used instead of "long", Fortran calls from C do no harm to the stack
+// After this modification, behavior on 32-bit platforms does not change: on all platforms supported by
+// SALOME 3, "int" and "long" have the same size of 4 bytes. 
+//========
+//typedef long int Z;
+typedef int Z;
 
 //le type R des nombres "reels"
 //=========
index 46429ead71ba0df4cf1c95b986a9ecd3c0b625bc..9f47233228e25340a546a08b4fd49c56389e35b6 100755 (executable)
@@ -32,7 +32,12 @@ using namespace std;
 extern "C"
 {
   R aretemaxface_;
-  R areteideale_( R3 xyz, R3 direction )
+  MEFISTO2D_EXPORT   
+    R
+  #ifdef WIN32
+      __stdcall
+  #endif
+      areteideale()//( R3 xyz, R3 direction )
   {
     return aretemaxface_;
   }
@@ -187,14 +192,14 @@ void  aptrte( Z   nutysu, R      aretmx,
   mnsoar = new Z[mosoar*mxsoar];
   if( mnsoar==NULL ) goto ERREUR;
   //initialiser le tableau mnsoar pour le hachage des aretes
-  insoar_( mxsomm, mosoar, mxsoar, n1soar, mnsoar );
+  insoar( mxsomm, mosoar, mxsoar, n1soar, mnsoar );
 
   // mnarst( mxsomm ) numero mnsoar d'une arete pour chacun des sommets
   if( mnarst!=NULL ) delete [] mnarst;
   mnarst = new Z[1+mxsomm];
   if( mnarst==NULL ) goto ERREUR;
   n = 1+mxsomm;
-  azeroi_( n, mnarst );
+  azeroi( n, mnarst );
 
   // mnslig( mxsomm ) no de sommet dans sa ligne pour chaque sommet frontalier
   //               ou no du point si interne forc'e par l'utilisateur
@@ -202,7 +207,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   if( mnslig!=NULL ) delete [] mnslig;
   mnslig = new Z[mxsomm];
   if( mnslig==NULL ) goto ERREUR;
-  azeroi_( mxsomm, mnslig );
+  azeroi( mxsomm, mnslig );
 
   // initialisation des aretes frontalieres de la triangulation future
   // renumerotation des sommets des aretes des lignes pour la triangulation
@@ -222,7 +227,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     ns0 = nudslf[n-1];
     mnpxyd[ns0].x = uvslf[ns0].x;
     mnpxyd[ns0].y = uvslf[ns0].y;
-    mnpxyd[ns0].z = areteideale_( mnpxyd[ns0], direction );
+    mnpxyd[ns0].z = areteideale();//( mnpxyd[ns0], direction );
 //     MESSAGE("Sommet " << ns0 << ": " << mnpxyd[ns0].x
 //      << " " << mnpxyd[ns0].y << " longueur arete=" << mnpxyd[ns0].z);
 
@@ -244,7 +249,7 @@ void  aptrte( Z   nutysu, R      aretmx,
 
      //le numero n de la ligne du sommet et son numero ns1 dans la ligne
     mnslig[ns0-1] = 1000000 * n + ns1-nudslf[n-1];
-    fasoar_( ns1, ns2, moins1, moins1, n,
+    fasoar( ns1, ns2, moins1, moins1, n,
             mosoar, mxsoar, n1soar, mnsoar, mnarst,
             noar0,  ierr );
     //pas de test sur ierr car pas de saturation possible a ce niveau
@@ -274,7 +279,7 @@ void  aptrte( Z   nutysu, R      aretmx,
       ns = ns1 - 1;
       mnpxyd[ns].x = uvslf[ns].x;
       mnpxyd[ns].y = uvslf[ns].y;
-      mnpxyd[ns].z = areteideale_( mnpxyd[ns], direction );
+      mnpxyd[ns].z = areteideale();//( mnpxyd[ns], direction );
 //       MESSAGE("Sommet " << ns << ": " << mnpxyd[ns].x
 //        << " " << mnpxyd[ns].y << " longueur arete=" << mnpxyd[ns].z);
 
@@ -288,7 +293,7 @@ void  aptrte( Z   nutysu, R      aretmx,
       mnslig[ns] = 1000000 * n + ns1-nudslf[n-1];
 
       //ajout de l'arete dans la liste
-      fasoar_( ns1, ns2, moins1, moins1, n,
+      fasoar( ns1, ns2, moins1, moins1, n,
               mosoar, mxsoar, n1soar, mnsoar,
               mnarst, noar, ierr );
       //pas de test sur ierr car pas de saturation possible a ce niveau
@@ -333,7 +338,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     //les 2 coordonnees du point i de sommet nbs
     mnpxyd[ns1].x = uvpti[i].x;
     mnpxyd[ns1].y = uvpti[i].y;
-    mnpxyd[ns1].z = areteideale_( mnpxyd[ns1], direction );
+    mnpxyd[ns1].z = areteideale();//( mnpxyd[ns1], direction );
     //le numero i du point interne
     mnslig[ns1] = i+1;
     ns1++;
@@ -356,7 +361,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   if( mntree==NULL ) goto ERREUR;
 
   //initialisation du tableau letree et ajout dans letree des sommets 1 a nbsomm
-  teajte_( mxsomm, nbsomm, mnpxyd, comxmi, aretmx, mxtree, mntree, ierr );
+  teajte( mxsomm, nbsomm, mnpxyd, comxmi, aretmx, mxtree, mntree, ierr );
   comxmi[0].z=0;
   comxmi[1].z=0;
 
@@ -384,7 +389,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   mnqueu = new Z[mxqueu];
   if( mnqueu==NULL) goto ERREUR;
 
-  tehote_( nutysu, nbarpi, mxsomm, nbsomm, mnpxyd,
+  tehote( nutysu, nbarpi, mxsomm, nbsomm, mnpxyd,
           comxmi, aretmx,
           mntree, mxqueu, mnqueu,
           ierr );
@@ -411,7 +416,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   // trianguler les triangles equilateraux feuilles a partir de leurs 3 sommets
   // et des points de la frontiere, des points internes imposes interieurs
   // ==========================================================================
-  tetrte_( comxmi, aretmx, nbarpi, mxsomm, mnpxyd,
+  tetrte( comxmi, aretmx, nbarpi, mxsomm, mnpxyd,
           mxqueu, mnqueu, mntree, mosoar, mxsoar, n1soar, mnsoar,
           moartr, mxartr, n1artr, mnartr, mnarst,
           ierr );
@@ -440,8 +445,8 @@ void  aptrte( Z   nutysu, R      aretmx,
   // avec echange des 2 diagonales afin de rendre la triangulation delaunay
   // ======================================================================
   // formation du chainage 6 des aretes internes a echanger eventuellement
-  aisoar_( mosoar, mxsoar, mnsoar, na );
-  tedela_( mnpxyd, mnarst,
+  aisoar( mosoar, mxsoar, mnsoar, na );
+  tedela( mnpxyd, mnarst,
           mosoar, mxsoar, n1soar, mnsoar, na,
           moartr, mxartr, n1artr, mnartr, n );
 
@@ -472,7 +477,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   mnarcf2 = new Z[mxarcf];
   if( mnarcf2 == NULL ) goto ERREUR;
 
-  terefr_( nbarpi, mnpxyd,
+  terefr( nbarpi, mnpxyd,
           mosoar, mxsoar, n1soar, mnsoar,
           moartr, n1artr, mnartr, mnarst,
           mxarcf, mn1arcf, mnarcf, mnarcf1, mnarcf2,
@@ -513,7 +518,7 @@ void  aptrte( Z   nutysu, R      aretmx,
   for (n=0; n<nblf; n++)  //numero de la ligne fermee de 1 a nblf
     mnlftr[n] = n+1;
 
-  tesuex_( nblf,   mnlftr,
+  tesuex( nblf,   mnlftr,
           ndtri0, nbsomm, mnpxyd, mnslig,
           mosoar, mxsoar, mnsoar,
           moartr, mxartr, n1artr, mnartr, mnarst,
@@ -543,7 +548,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     cout << "aptrte: MC saturee mnarcf3=" << mnarcf3 << endl;
     goto ERREUR;
   }
-  teamqt_( nutysu,
+  teamqt( nutysu,
           mnarst, mosoar, mxsoar, n1soar, mnsoar,
           moartr, mxartr, n1artr, mnartr,
           mxarcf, mnarcf2, mnarcf3,
@@ -575,7 +580,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     if( mnartr[nt*moartr-moartr] != 0 )
     {
       //le numero des 3 sommets du triangle nt
-      nusotr_( nt, mosoar, mnsoar, moartr, mnartr, nosotr );
+      nusotr( nt, mosoar, mnsoar, moartr, mnartr, nosotr );
       //les 3 sommets du triangle sont actifs
       mnarst[ nosotr[0] ] = 1;
       mnarst[ nosotr[1] ] = 1;
@@ -643,7 +648,7 @@ void  aptrte( Z   nutysu, R      aretmx,
     if( mnartr[i*moartr-moartr] != 0 )
     {
       //le triangle i est interne => nosotr numero de ses 3 sommets
-      nusotr_( i, mosoar, mnsoar, moartr, mnartr,  nosotr );
+      nusotr( i, mosoar, mnsoar, moartr, mnartr,  nosotr );
       nust[nbt++] = mnarst[ nosotr[0] ];
       nust[nbt++] = mnarst[ nosotr[1] ];
       nust[nbt++] = mnarst[ nosotr[2] ];
@@ -745,10 +750,10 @@ void qualitetrte( R3 *mnpxyd,
       nbtria++;
 
       //le numero des 3 sommets du triangle nt
-      nusotr_( nt, mosoar, mnsoar, moartr, mnartr,  nosotr );
+      nusotr( nt, mosoar, mnsoar, moartr, mnartr,  nosotr );
 
       //la qualite du triangle ns1 ns2 ns3
-      qutr2d_( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1],
+      qutr2d( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1],
               qualite );
 
       //la qualite moyenne
@@ -758,7 +763,7 @@ void qualitetrte( R3 *mnpxyd,
       quamin = Min( quamin, qualite );
 
       //aire signee du triangle nt
-      d = surtd2_( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1] );
+      d = surtd2( mnpxyd[nosotr[0]-1], mnpxyd[nosotr[1]-1], mnpxyd[nosotr[2]-1] );
       if( d<0 )
       {
        //un triangle d'aire negative de plus
index 53108770018d2b774fb2b6fa67d19dc69fac7e11..87baf0a411aff51dba67e710fc93371d712a4718 100755 (executable)
 #define aptrte__h
 
 #include <limits.h>   // limites min max int long real ...
+#ifndef WIN32
 #include <unistd.h>   // gethostname, ...
+#endif
 #include <stdio.h>
+#ifndef WIN32
 #include <iostream.h> // pour cout cin ...
 #include <iomanip.h>  // pour le format des io setw, stx, setfill, ...
+#endif
 #include <string.h>   // pour les fonctions sur les chaines de caracteres
 #include <ctype.h>
 #include <stdlib.h>
 #include <time.h>
 
 #include <sys/types.h>
+#ifndef WIN32
 #include <sys/time.h>
+#endif
 
-void qualitetrte( R3 *mnpxyd,
+#ifdef WNT
+ #if defined MEFISTO2D_EXPORTS
+  #define MEFISTO2D_EXPORT __declspec( dllexport )
+ #else
+  #define MEFISTO2D_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MEFISTO2D_EXPORT
+#endif
+
+  void qualitetrte( R3 *mnpxyd,
                  Z & mosoar, Z & mxsoar, Z *mnsoar,
                  Z & moartr, Z & mxartr, Z *mnartr,
                  Z & nbtria, R & quamoy, R & quamin );
@@ -75,7 +91,8 @@ void qualitetrte( R3 *mnpxyd,
 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 
-void  aptrte( Z nutysu, R aretmx,
+MEFISTO2D_EXPORT
+  void  aptrte( Z nutysu, R aretmx,
              Z nblf,   Z *nudslf, R2 *uvslf,
              Z nbpti,  R2 *uvpti,
              Z & nbst, R2 * & uvst, Z & nbt, Z * & nust,
@@ -124,21 +141,91 @@ void  aptrte( Z nutysu, R aretmx,
 // auteur : Alain Perronnet  Analyse Numerique Paris UPMC   decembre 2001
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
-extern "C" {  void tempscpu_( double & tempsec );  }
+#if WIN32 & DFORTRAN
+  #define tempscpu TEMPSCPU
+  #define deltacpu DELTACPU
+  #define insoar   INSOAR
+  #define azeroi   AZEROI
+  #define fasoar   FASOAR
+  #define teajte   TEAJTE
+  #define tehote   TEHOTE
+  #define tetrte   TETRTE
+  #define aisoar   AISOAR
+  #define tedela   TEDELA
+  #define terefr   TEREFR
+  #define tesuex   TESUEX
+  #define teamqt   TEAMQT
+  #define nusotr   NUSOTR
+  #define qutr2d   QUTR2D
+  #define surtd2   SURTD2
+  
+  #define areteideale ARETEIDEALE
+  
+#else
+  #define tempscpu tempscpu_
+  #define deltacpu deltacpu_
+  #define insoar   insoar_
+  #define azeroi   azeroi_
+  #define fasoar   fasoar_
+  #define teajte   teajte_
+  #define tehote   tehote_
+  #define tetrte   tetrte_
+  #define aisoar   aisoar_
+  #define tedela   tedela_
+  #define terefr   terefr_
+  #define tesuex   tesuex_
+  #define teamqt   teamqt_
+  #define nusotr   nusotr_
+  #define qutr2d   qutr2d_
+  #define surtd2   surtd2_
+
+  #define areteideale areteideale_
+
+#endif
+
+
+extern "C" {  void
+#ifdef WIN32
+              __stdcall
+#endif
+  tempscpu( double & tempsec );
+}
+    
 //Retourne le temps CPU utilise en secondes
 
-extern "C" { void deltacpu_( R & dtcpu ); }
+extern "C" { void
+#ifdef WIN32
+              __stdcall
+#endif
+  deltacpu( R & dtcpu );
+}
+    
 //Retourne le temps CPU utilise en secondes depuis le precedent appel
 
 //initialiser le tableau mnsoar pour le hachage des aretes
-extern "C" {void insoar_( Z & mxsomm, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  insoar( Z & mxsomm, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar );
+}
 
 //mettre a zero les nb entiers de tab
-extern "C" {void azeroi_( Z & nb, Z * tab );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  azeroi( Z & nb, Z * tab );
+}
 
-extern "C" {void fasoar_( Z & ns1, Z & ns2, Z & nt1, Z & nt2, Z & nolign,
-                         Z & mosoar,  Z & mxsoar,  Z & n1soar,  Z * mnsoar,  Z * mnarst,
-                         Z & noar, Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  fasoar( Z & ns1, Z & ns2, Z & nt1, Z & nt2, Z & nolign,
+                         Z & mosoar,  Z & mxsoar,  Z & n1soar,  Z * mnsoar,  Z * mnarst,
+                         Z & noar, Z & ierr );
+}
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // but :    former l'arete de sommet ns1-ns2 dans le hachage du tableau
 // -----    nosoar des aretes de la triangulation
@@ -183,73 +270,126 @@ extern "C" {void fasoar_( Z & ns1, Z & ns2, Z & nt1, Z & nt2, Z & nolign,
 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 //initialisation du tableau letree et ajout dans letree des sommets 1 a nbsomm
-extern "C" {void teajte_( Z & mxsomm, Z &  nbsomm, R3 * mnpxyd,  R3 * comxmi,
-                         R & aretmx,  Z & mxtree, Z * letree,
-                         Z & ierr );}
-
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  teajte( Z & mxsomm, Z &  nbsomm, R3 * mnpxyd,  R3 * comxmi,
+                           R & aretmx,  Z & mxtree, Z * letree,
+                           Z & ierr );
+}
 
-extern "C" {void tehote_( Z & nutysu, Z & nbarpi, Z &  mxsomm, Z &  nbsomm, R3 * mnpxyd,
-                         R3 * comxmi, R & aretmx,
-                         Z * letree, Z & mxqueu, Z * mnqueu,
-                         Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  tehote( Z & nutysu, Z & nbarpi, Z &  mxsomm, Z &  nbsomm, R3 * mnpxyd,
+                           R3 * comxmi, R & aretmx,
+                           Z * letree, Z & mxqueu, Z * mnqueu,
+                           Z & ierr );
+}
 // homogeneisation de l'arbre des te a un saut de taille au plus
 // prise en compte des tailles d'aretes souhaitees autour des sommets initiaux
 
-extern "C" {void tetrte_(  R3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R3 * mnpxyd,
-                          Z & mxqueu,  Z * mnqueu,  Z * mntree,
-                          Z & mosoar,  Z & mxsoar,  Z & n1soar, Z * mnsoar,
-                          Z & moartr, Z &  mxartr,  Z & n1artr,  Z * mnartr,  Z * mnarst,
-                          Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  tetrte( R3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R3 * mnpxyd,
+                           Z & mxqueu,  Z * mnqueu,  Z * mntree,
+                           Z & mosoar,  Z & mxsoar,  Z & n1soar, Z * mnsoar,
+                           Z & moartr, Z &  mxartr,  Z & n1artr,  Z * mnartr,  Z * mnarst,
+                           Z & ierr );
+}
 // trianguler les triangles equilateraux feuilles a partir de leurs 3 sommets
 // et des points de la frontiere, des points internes imposes interieurs
 
-extern "C" {void aisoar_( Z & mosoar, Z & mxsoar, Z * mnsoar, Z & na );}
-  // formation du chainage 6 des aretes internes a echanger eventuellement
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  aisoar( Z & mosoar, Z & mxsoar, Z * mnsoar, Z & na );
+}
+// formation du chainage 6 des aretes internes a echanger eventuellement
 
-extern "C" {void tedela_( R3 * mnpxyd, Z * mnarst,
-                         Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & na,
-                         Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z & n );}
-  // boucle sur les aretes internes (non sur une ligne de la frontiere)
-  // avec echange des 2 diagonales afin de rendre la triangulation delaunay
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  tedela( R3 * mnpxyd, Z * mnarst,
+                           Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & na,
+                           Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z & n );
+}
+// boucle sur les aretes internes (non sur une ligne de la frontiere)
+// avec echange des 2 diagonales afin de rendre la triangulation delaunay
  
-extern "C" {void terefr_( Z & nbarpi, R3 * mnpxyd,
-                         Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar,
-                         Z & moartr, Z & n1artr, Z * mnartr, Z * mnarst,
-                         Z & mxarcf, Z * mnarc1, Z * mnarc2,
-                         Z * mnarc3, Z * mnarc4,
-                         Z & n, Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  terefr( Z & nbarpi, R3 * mnpxyd,
+                           Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar,
+                           Z & moartr, Z & n1artr, Z * mnartr, Z * mnarst,
+                           Z & mxarcf, Z * mnarc1, Z * mnarc2,
+                           Z * mnarc3, Z * mnarc4,
+                           Z & n, Z & ierr );
+}
 // detection des aretes frontalieres initiales perdues
 // triangulation frontale pour les restaurer
 
-extern "C" {void tesuex_( Z & nblf, Z * nulftr,
-                         Z & ndtri0, Z & nbsomm, R3 * mnpxyd, Z * mnslig,
-                         Z & mosoar, Z & mxsoar, Z * mnsoar,
-                         Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst,
-                         Z & nbtria, Z * mntrsu, Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  tesuex( Z & nblf, Z * nulftr,
+                           Z & ndtri0, Z & nbsomm, R3 * mnpxyd, Z * mnslig,
+                           Z & mosoar, Z & mxsoar, Z * mnsoar,
+                           Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst,
+                           Z & nbtria, Z * mntrsu, Z & ierr );
+}
 // suppression des triangles externes a la surface
 
-extern "C" {void teamqt_( Z & nutysu,
-                         Z * mnarst, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar,
-                         Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr,
-                         Z & mxarcf, Z * mntrcf, Z * mnstbo,
-                         Z * n1arcf, Z * mnarcf, Z * mnarc1,
-                         R3 * comxmi, Z & nbarpi, Z & nbsomm, Z & mxsomm,
-                         R3 * mnpxyd, Z * mnslig,
-                         Z & ierr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  teamqt( Z & nutysu,
+                           Z * mnarst, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar,
+                           Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr,
+                           Z & mxarcf, Z * mntrcf, Z * mnstbo,
+                           Z * n1arcf, Z * mnarcf, Z * mnarc1,
+                           R3 * comxmi, Z & nbarpi, Z & nbsomm, Z & mxsomm,
+                           R3 * mnpxyd, Z * mnslig,
+                           Z & ierr );
+}
 // amelioration de la qualite de la triangulation par
 // barycentrage des sommets internes a la triangulation
 // suppression des aretes trop longues ou trop courtes
 // modification de la topologie des groupes de triangles
 // mise en delaunay de la triangulation
  
-extern "C" {void nusotr_( Z & nt, Z & mosoar, Z * mnsoar, Z & moartr, Z * mnartr,
-                         Z * nosotr );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  nusotr( Z & nt, Z & mosoar, Z * mnsoar, Z & moartr, Z * mnartr,Z * nosotr );
+}
 //retrouver les numero des 3 sommets du triangle nt
 
-extern "C" {void qutr2d_( R3 & p1, R3 & p2, R3 & p3, R & qualite );}
+extern "C" {void
+#ifdef WIN32
+              __stdcall
+#endif
+  qutr2d( R3 & p1, R3 & p2, R3 & p3, R & qualite );
+}
 //calculer la qualite d'un triangle de R2 de sommets p1, p2, p3
 
-extern "C" { R surtd2_( R3 & p1, R3 & p2, R3 & p3 ); }
+extern "C" { R
+#ifdef WIN32
+              __stdcall
+#endif
+  surtd2( R3 & p1, R3 & p2, R3 & p3 );
+}
 //calcul de la surface d'un triangle defini par 3 points de r**2
 
 #endif
index d33d0ebb6b71893e2ee541e10364866f0a160a23..36fb28d11c7c30d04e7899648deb168a7d573e6c 100755 (executable)
@@ -1257,7 +1257,8 @@ c        la direction pour le calcul de la longueur (inactif ici!)
          xyzd(2) = 0d0
          xyzd(3) = 0d0
 
-         longai = areteideale(xyz,xyzd)
+         longai = areteideale()
+c         (xyz,xyzd)
          if( longai .lt. 0d0 ) then
             write(imprim,10000) xyz
 10000       format('attention: longueur de areteideale(',
index aeddd7b2b2bbf2cefcf065753035778fc05616ae..165f9ae5cc48e6795c4059589bd44cf0841a0602 100644 (file)
@@ -51,6 +51,7 @@ LIB_SRC = \
 LIB_CLIENT_IDL = SALOME_Exception.idl \
                 SALOME_GenericObj.idl \
                 SALOME_Comm.idl \
+                SALOME_Component.idl \
                 MED.idl \
                 SMESH_Mesh.idl \
                 SMESH_Group.idl \
index 114a9549b6e951e77f574ff8fcd14bc2607f9a07..40bf343feb92bcd946f16801e9e1239612cfa87d 100644 (file)
@@ -286,6 +286,10 @@ SMESH_ActorDef::SMESH_ActorDef()
   myScalarBarActor->SetVisibility(false);
   myScalarBarActor->SetLookupTable(myLookupTable);
 
+  //Fix for Bug 13314:
+  //Incorrect "Min value" in Scalar Bar in Mesh:
+  myScalarBarActor->SetLabelFormat("%.4g");
+
   mgr = SUIT_Session::session()->resourceMgr();
   if( !mgr )
     return;
index ca273d3f3561b5f31c1e27e1efb70a8f408519b4..04dd4ceaded1aa10efba45ecead63f1591a44031 100644 (file)
@@ -39,7 +39,7 @@ class vtkScalarBarActor;
 class vtkPlane;
 class vtkImplicitBoolean;
 
-class SMESH_Actor: public SALOME_Actor
+class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
 {
   static SMESH_Actor* New() { return NULL;}
 
index 438b0e9b6607353736c552bcd19aacfa6bb801d4..0370d60e165cbdb398efa367cb4a7e066663bffa 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESH_ACTORUTILS_H
 #define SMESH_ACTORUTILS_H
 
+#include "SMESH_Object.h"
+
 #include <qcolor.h>
 #include <qstring.h>
 
@@ -29,21 +31,24 @@ class vtkUnstructuredGrid;
 
 namespace SMESH
 {
-  
+SMESHOBJECT_EXPORT  
   vtkFloatingPointType 
   GetFloat( const QString& theValue, 
            vtkFloatingPointType theDefault = 0 );
 
+SMESHOBJECT_EXPORT
   vtkFloatingPointType 
   GetFloat( const QString& theName, 
            const QString& theSection, 
            vtkFloatingPointType theDefault = 0 );
 
+SMESHOBJECT_EXPORT
   QColor 
   GetColor( const QString& theSect, 
            const QString& theName, 
            const QColor&t = QColor() );
 
+SMESHOBJECT_EXPORT
   void
   GetColor( const QString& theSect, 
            const QString& theName, 
@@ -52,6 +57,7 @@ namespace SMESH
            int&, 
            const QColor&t = QColor() );
 
+SMESHOBJECT_EXPORT
   void
   GetColor( const QString& theSect, 
            const QString& theName, 
@@ -60,6 +66,7 @@ namespace SMESH
            vtkFloatingPointType&, 
            const QColor&t = QColor() );
 
+SMESHOBJECT_EXPORT
   void 
   WriteUnstructuredGrid(vtkUnstructuredGrid* theGrid, 
                        const char* theFileName);
index a5e0b1656c77d4b7c2f5100704a1a9eb65c694ce..16664fe0c9e65b4bf63a4e1489bf11837066ab9a 100644 (file)
@@ -54,7 +54,7 @@ class VTKViewer_ExtractUnstructuredGrid;
 class SMESH_ExtractGeometry;
 
 
-class SMESH_DeviceActor: public vtkLODActor{
+class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{
   friend class SMESH_ActorDef;
 
  public:
index f1bcbaca004ebe0c3810d8151441e18410915a06..97435e05ebf8d17c8999f83357441dfbd7838e2c 100644 (file)
 #ifndef SALOME_ExtractGeometry_HeaderFile
 #define SALOME_ExtractGeometry_HeaderFile
 
+#include "SMESH_Object.h"
+
 #include <vtkExtractGeometry.h>
 #include <vector>
 
 #include "VTKViewer.h"
 
-class SMESH_ExtractGeometry : public vtkExtractGeometry
-{
+class SMESHOBJECT_EXPORT SMESH_ExtractGeometry : public vtkExtractGeometry{
 public:
   vtkTypeMacro(SMESH_ExtractGeometry,vtkExtractGeometry);
 
index 1e52ccb015f51400b44bd2ec6c493a081841e02f..4fdbcf0e6348c45895821f20eedf6a1fec85d2bb 100644 (file)
@@ -456,7 +456,7 @@ bool SMESH_VisualObjDef::GetEdgeNodes( const int theElemId,
   if ( theEdgeNum < 0 || theEdgeNum > 3 || nbNodes != 3 && nbNodes != 4 || theEdgeNum > nbNodes )
     return false;
 
-  int anIds[ nbNodes ];
+  vector<int> anIds( nbNodes );
   SMDS_ElemIteratorPtr anIter = anElem->nodesIterator();
   int i = 0;
   while( anIter->more() )
index 44b737ba584005b28f37c007eb13ea7cfd425691..9e2f49dcf6b9971793e781decf2492d129fc2491 100644 (file)
 #ifndef SMESH_OBJECT_H
 #define SMESH_OBJECT_H
 
+#ifdef WNT
+ #if defined SMESHOBJECT_EXPORTS
+  #define SMESHOBJECT_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHOBJECT_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHOBJECT_EXPORT
+#endif
+
 #include <boost/shared_ptr.hpp>
 #include <vtkSystemIncludes.h>
 
@@ -42,7 +52,7 @@ class vtkUnstructuredGrid;
   Class       : SMESH_VisualObj
   Description : Base class for all mesh objects to be visuilised
 */
-class SMESH_VisualObj
+class SMESHOBJECT_EXPORT SMESH_VisualObj
 {
 public:
   virtual void Update( int theIsClear = true ) = 0;
index fff2f819d82b44e93b6eb445147afcda2845bef7..327664867ac33ef01ec31c06cff08f7fd10ffbe3 100644 (file)
@@ -52,7 +52,7 @@ class SMDS_MeshElement;
   Class       : SMESH_VisualObj
   Description : Base class for all mesh objects to be visuilised
 */
-class SMESH_VisualObjDef: public SMESH_VisualObj
+class SMESHOBJECT_EXPORT SMESH_VisualObjDef: public SMESH_VisualObj
 {
 public:
   typedef std::list<const SMDS_MeshElement*>   TEntityList;
@@ -105,7 +105,7 @@ private:
   Description : Class for visualisation of mesh
 */
 
-class SMESH_MeshObj: public SMESH_VisualObjDef
+class SMESHOBJECT_EXPORT SMESH_MeshObj: public SMESH_VisualObjDef
 {
 public:
 
@@ -135,7 +135,7 @@ protected:
   Description : Base class for visualisation of submeshes and groups
 */
 
-class SMESH_SubMeshObj: public SMESH_VisualObjDef
+class SMESHOBJECT_EXPORT SMESH_SubMeshObj: public SMESH_VisualObjDef
 {
 public:
 
@@ -159,7 +159,7 @@ protected:
   Description : Class for visualisation of groups
 */
 
-class SMESH_GroupObj: public SMESH_SubMeshObj
+class SMESHOBJECT_EXPORT SMESH_GroupObj: public SMESH_SubMeshObj
 {
 public:
                             SMESH_GroupObj( SMESH::SMESH_GroupBase_ptr, SMESH_MeshObj* );
@@ -180,7 +180,7 @@ private:
   Description : Class for visualisation of submeshes
 */
 
-class SMESH_subMeshObj : public SMESH_SubMeshObj
+class SMESHOBJECT_EXPORT SMESH_subMeshObj : public SMESH_SubMeshObj
 {
 public:
 
index bfb94b79809f8ced266754761ac16bcface34d37..01df90ab4c84aba8c7f94ebd4ce641102300b8a4 100644 (file)
@@ -107,7 +107,8 @@ EXPORT_HEADERS= \
        SMDS_QuadraticEdge.hxx \
        SMDS_QuadraticFaceOfNodes.hxx \
        SMDS_QuadraticVolumeOfNodes.hxx \
-       SMDS_SetIterator.hxx
+       SMDS_SetIterator.hxx \
+       SMESH_SMDS.hxx
 
 # additionnal information to compil and link file
 CPPFLAGS += $(KERNEL_CXXFLAGS) $(OCC_INCLUDES) $(BOOST_CPPFLAGS)
index 597fedba3d8f64d0296fe6590e172f8f833edf67..a89e77400414581543c99a57c1497c0e9e5afc0c 100644 (file)
 #ifndef _SMDS_EdgePosition_HeaderFile
 #define _SMDS_EdgePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_EdgePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_EdgePosition:public SMDS_Position
 {
 
   public:
index 10523ec6c47f8d62056807aa32a5b0b03208201e..4a0a8850ce0599b6c21d79caf4bb8076453bee36 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _SMDS_FaceOfEdges_HeaderFile
 #define _SMDS_FaceOfEdges_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_MeshEdge.hxx"
 #include "SMDS_Iterator.hxx"
@@ -29,7 +31,7 @@
 #include <iostream>
 
 
-class SMDS_FaceOfEdges:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_FaceOfEdges:public SMDS_MeshFace
 {
   public:
        void Print(std::ostream & OS) const;
index f1a3010b8cf46088ac28b165f9138c1d289d1cf4..7779c6ffd3baaf402297ed7c4e49792211f41040 100644 (file)
 #ifndef _SMDS_FaceOfNodes_HeaderFile
 #define _SMDS_FaceOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_Iterator.hxx"
 
 #include <iostream>
 
-class SMDS_FaceOfNodes:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_FaceOfNodes:public SMDS_MeshFace
 {
   public:
        void Print(std::ostream & OS) const;
index f7032531b6d33e199517beedfde3f9aa06133f79..d928efe584c3e8042ed3fd9ef4c3aa0b6bf5cb20 100644 (file)
 #ifndef _SMDS_FacePosition_HeaderFile
 #define _SMDS_FacePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_FacePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_FacePosition:public SMDS_Position
 {
 
   public:
index 371bc0e1a9c47e2f0c71ac7472ef375bb3dcc7a9..5d17b6fa2cb5fca2af784b078f27e67f05b065c0 100644 (file)
 #ifndef _SMDS_Iterator_HeaderFile
 #define _SMDS_Iterator_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 ///////////////////////////////////////////////////////////////////////////////
 ///Abstract class for iterators
 ///@author Jerome Robert
 ///////////////////////////////////////////////////////////////////////////////
-template<typename VALUE> class SMDS_Iterator
+template<typename VALUE> class SMDS_EXPORT SMDS_Iterator
 {
   public:
        /// Return true if and only if there are other object in this iterator
index de64f67c31faf8c10d6c6b04707c2814ea8a9fd6..02569d81a72dead398b6dcfad9c49e16ebc7041c 100644 (file)
 // 
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_Iterator.hxx"
 #include "SMDS_MeshElement.hxx"
 #include <set>
 
 
-class SMDS_IteratorOfElements:public SMDS_ElemIterator
+class SMDS_EXPORT SMDS_IteratorOfElements:public SMDS_ElemIterator
 {
   public:
 /////////////////////////////////////////////////////////////////////////////
index 130e05d444c75445d1a3a17307294e13d0811007..2cdf3749b9f46c8ec8b0cd08c993f7e4990ce695 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMDS_Mesh_HeaderFile
 #define _SMDS_Mesh_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_MeshEdge.hxx"
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_ElemIterator.hxx"
 #include <NCollection_Map.hxx>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 #include <boost/shared_ptr.hpp>
 #include <set>
 #include <list>
 
-class SMDS_WNT_EXPORT SMDS_Mesh:public SMDS_MeshObject{
+class SMDS_EXPORT SMDS_Mesh:public SMDS_MeshObject{
 public:
   
   SMDS_Mesh();
index 75ff74e743db52e668c9127325bf8b786e7a2a89..10a1f66d85b3159bb5a557e3df8d82098f390417 100644 (file)
 #ifndef _SMDS_MeshEdge_HeaderFile
 #define _SMDS_MeshEdge_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 #include <iostream>
 
-class SMDS_MeshEdge:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshEdge:public SMDS_MeshElement
 {
 
   public:
index 54f5067726fdcbe0629e1f374b25643ffcf9847f..71eb869a1e5aed143d9f4db1e97beca421e066db 100644 (file)
 
 #ifndef _SMDS_MeshElement_HeaderFile
 #define _SMDS_MeshElement_HeaderFile
+
+#include "SMESH_SMDS.hxx"
        
 #include "SMDSAbs_ElementType.hxx"
 #include "SMDS_MeshObject.hxx"
 #include "SMDS_ElemIterator.hxx"
 #include "SMDS_MeshElementIDFactory.hxx"
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 #include <vector>
 #include <iostream>
 
@@ -54,7 +44,7 @@ class SMDS_MeshFace;
 ///////////////////////////////////////////////////////////////////////////////
 /// Base class for elements
 ///////////////////////////////////////////////////////////////////////////////
-class SMDS_WNT_EXPORT SMDS_MeshElement:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshElement:public SMDS_MeshObject
 {
 public:
 
@@ -75,8 +65,8 @@ public:
 
   virtual bool IsMediumNode(const SMDS_MeshNode* node) const;
 
-  friend std::ostream & operator <<(std::ostream & OS, const SMDS_MeshElement *);
-  friend bool SMDS_MeshElementIDFactory::BindID(int ID,SMDS_MeshElement*elem);
+  friend SMDS_EXPORT std::ostream & operator <<(std::ostream & OS, const SMDS_MeshElement *);
+  friend SMDS_EXPORT bool SMDS_MeshElementIDFactory::BindID(int ID,SMDS_MeshElement*elem);
 
   // ===========================
   //  Access to nodes by index
index edab00727393fd79a34db94d658553b79c01b657..b78358f30060866f806050a92b9aa5e502528362 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMDS_MeshElementIDFactory_HeaderFile
 #define _SMDS_MeshElementIDFactory_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshIDFactory.hxx"
 #include "SMDS_ElemIterator.hxx"
 
@@ -36,7 +38,7 @@ class SMDS_MeshElement;
 
 typedef NCollection_DataMap<int, SMDS_MeshElement *> SMDS_IdElementMap;
 
-class SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
+class SMDS_EXPORT SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
 {
 public:
   SMDS_MeshElementIDFactory();
index 326a54bec0037067a869d363b5a956be04e855a2..dbc5698e8f64b385d8aa75c7b2c79d19acc6e80a 100644 (file)
 #ifndef _SMDS_MeshFace_HeaderFile
 #define _SMDS_MeshFace_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 
-class SMDS_MeshFace:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshFace:public SMDS_MeshElement
 {
   public:
        SMDSAbs_ElementType GetType() const;
index 90e6722afaa0bb2b5a4481a298ed6010019ae943..f23b601b7a48d1e4fdd9dfe369cfd9872aa62e28 100644 (file)
 #ifndef _SMDS_MeshGroup_HeaderFile
 #define _SMDS_MeshGroup_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include <set>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
 {
   public:
        SMDS_MeshGroup(const SMDS_Mesh * theMesh,
index fa37a28141bb7b48aba9bd9a7e40be827d8dcff2..8e57247dad9b3876094e99cb614bc1af5d98c9b3 100644 (file)
 #ifndef _SMDS_MeshIDFactory_HeaderFile
 #define _SMDS_MeshIDFactory_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshObject.hxx"
 #include <set>
 
 
-class SMDS_MeshIDFactory:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshIDFactory:public SMDS_MeshObject
 {
   public:
        virtual int GetFreeID();
index 884e1280db7960f569dba5ae58bf74cb80596200..86a032efdc3d5bbf33e8302b8b0ef4d8159ce74a 100644 (file)
 #ifndef _SMDS_MeshNode_HeaderFile
 #define _SMDS_MeshNode_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 #include "SMDS_Position.hxx"
 #include <NCollection_List.hxx>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshNode:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
 {
 
   public:
index b6c97ee3dfb002952c3eec012138406a5997d735..50af0db8f6796cf03e549472e8a4971158648b26 100644 (file)
 #ifndef _SMDS_MeshObject_HeaderFile
 #define _SMDS_MeshObject_HeaderFile
 
+#include "SMESH_SMDS.hxx"
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshObject
 {
  public:
   virtual ~SMDS_MeshObject() {}
index 3ad37801cb6b0a31745760d5df43634b0d9b67a4..33bc8c48b8e084749b3a5e04a8b07d747309dea7 100644 (file)
 #ifndef _SMDS_MeshVolume_HeaderFile
 #define _SMDS_MeshVolume_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 
-class SMDS_MeshVolume:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshVolume:public SMDS_MeshElement
 {
        
   public:
index 973fb433c73fa770fcb6fa59d759a0d146875ba5..13c1536b795c99621cfbe0bfd0ed15e4434726a2 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _SMDS_PolygonalFaceOfNodes_HeaderFile
 #define _SMDS_PolygonalFaceOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 //#include "SMDS_FaceOfNodes.hxx"
 #include "SMDS_MeshNode.hxx"
@@ -30,7 +32,7 @@
 #include <iostream>
 
 //class SMDS_PolygonalFaceOfNodes:public SMDS_FaceOfNodes
-class SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
 {
  public:
   SMDS_PolygonalFaceOfNodes (std::vector<const SMDS_MeshNode *> nodes);
index 27caf5db8098f3cdcb649878b0fae707928650a1..ddac4c65958c8f7e977b56f778ec3b18a472bf07 100644 (file)
 #ifndef _SMDS_PolyhedralVolumeOfNodes_HeaderFile
 #define _SMDS_PolyhedralVolumeOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_VolumeOfNodes.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-class SMDS_WNT_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
+class SMDS_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
 {
  public:
   SMDS_PolyhedralVolumeOfNodes (std::vector<const SMDS_MeshNode *> nodes,
index 18b84c6be8be4d99edbbaa27de048197bdf487f3..742bde4c3977baa31dae00d593451967cdf48317 100644 (file)
 #ifndef _SMDS_Position_HeaderFile
 #define _SMDS_Position_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_TypeOfPosition.hxx"
 #include <boost/shared_ptr.hpp>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 class SMDS_Position;
 typedef boost::shared_ptr<SMDS_Position> SMDS_PositionPtr;
 
-
-class SMDS_WNT_EXPORT SMDS_Position
+class SMDS_EXPORT SMDS_Position
 {
 
   public:
index 6c6099602be90e5c7358ac9ae5441a6e09796a6c..ab6e2dbf8b780170aa9be23176543657842ebf47 100644 (file)
 #ifndef _SMDS_QuadraticEdge_HeaderFile
 #define _SMDS_QuadraticEdge_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshEdge.hxx"
 #include <iostream>
 
-class SMDS_WNT_EXPORT SMDS_QuadraticEdge: public SMDS_MeshEdge
+class SMDS_EXPORT SMDS_QuadraticEdge: public SMDS_MeshEdge
 {
 
 public:
index d174e813e3022f0414500948a87a647574ccb7e1..9328f9844dcefbd5303f598cd63c593d15702c11 100644 (file)
 #ifndef _SMDS_QuadraticFaceOfNodes_HeaderFile
 #define _SMDS_QuadraticFaceOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 
-class SMDS_WNT_EXPORT SMDS_QuadraticFaceOfNodes:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_QuadraticFaceOfNodes:public SMDS_MeshFace
 {
 public:
   SMDS_QuadraticFaceOfNodes (const SMDS_MeshNode * n1,
index 23f4369d3ca6fd8d1af9c361060e03c216f49321..c03735fee19291810f2f81bef4e6cf058dc390d2 100644 (file)
 #ifndef _SMDS_QuadraticVolumeOfNodes_HeaderFile
 #define _SMDS_QuadraticVolumeOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshVolume.hxx"
 
-class SMDS_WNT_EXPORT SMDS_QuadraticVolumeOfNodes: public SMDS_MeshVolume
+class SMDS_EXPORT SMDS_QuadraticVolumeOfNodes: public SMDS_MeshVolume
 {
 public:
   // tetrahedron of 10 nodes
index 3ca394f45fe663c830ac98baa30ba0f87e2c1123..560cab0948af9adbb569e337f0b3b0445daff400 100644 (file)
 #ifndef _SMDS_SpacePosition_HeaderFile
 #define _SMDS_SpacePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_SpacePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_SpacePosition:public SMDS_Position
 {
 
   public:
index 6dfe3714b1fb35c70d0856574835c1ed9c1e950f..f06ba302c2fb693d56f8300c5f1226e00da168fa 100644 (file)
 #ifndef _SMDS_VertexPosition_HeaderFile
 #define _SMDS_VertexPosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_VertexPosition:public SMDS_Position
+class SMDS_EXPORT SMDS_VertexPosition:public SMDS_Position
 {
 
   public:      
index 9938443df766e597d41f99a4f08f7f5fc6711265..2bf783ab3c47c090dd1d6088131d9f1833bba0ab 100644 (file)
 #ifndef _SMDS_VolumeOfFaces_HeaderFile
 #define _SMDS_VolumeOfFaces_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshVolume.hxx"
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_Iterator.hxx"
 #include <iostream>
 
 
-class SMDS_VolumeOfFaces:public SMDS_MeshVolume
+class SMDS_EXPORT SMDS_VolumeOfFaces:public SMDS_MeshVolume
 {
        
   public:
index 83628bd938e0867b141293ed783266f3c20075bd..6c18c170f14b471798a8aae89dd21ffdd93a79ba 100644 (file)
 #ifndef _SMDS_VolumeOfNodes_HeaderFile
 #define _SMDS_VolumeOfNodes_HeaderFile
 
-#include "SMDS_MeshVolume.hxx"
+#include "SMESH_SMDS.hxx"
 
+#include "SMDS_MeshVolume.hxx"
 
-class SMDS_VolumeOfNodes:public SMDS_MeshVolume
+class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
 {
        
   public:
index 7ee1f81f206e0ebc18ee290fdab2c2241885fd0b..c55fff9ea97b6ac3ee0f4d3d49d0ccc47c118ebf 100644 (file)
@@ -1266,7 +1266,7 @@ bool SMDS_VolumeTool::IsFreeFace( int faceIndex )
   if ( IsFaceExternal( faceIndex ))
     intNormal = XYZ( -intNormal.x, -intNormal.y, -intNormal.z );
   XYZ p0 ( nodes[0] ), baryCenter;
-  for ( vNbIt = volNbShared.begin(); vNbIt != volNbShared.end(); vNbIt++ ) {
+  for ( vNbIt = volNbShared.begin(); vNbIt != volNbShared.end();vNbIt++ ) {
     int nbShared = (*vNbIt).second;
     if ( nbShared >= 3 ) {
       SMDS_VolumeTool volume( (*vNbIt).first );
@@ -1518,6 +1518,31 @@ int SMDS_VolumeTool::NbFaces( VolumeType type )
   }
 }
 
+//================================================================================
+/*!
+ * \brief Useful to know nb of corner nodes of a quadratic volume
+  * \param type - volume type
+  * \retval int - nb of corner nodes
+ */
+//================================================================================
+
+int SMDS_VolumeTool::NbCornerNodes(VolumeType type)
+{
+  switch ( type ) {
+  case TETRA     :
+  case QUAD_TETRA: return 4;
+  case PYRAM     :
+  case QUAD_PYRAM: return 5;
+  case PENTA     :
+  case QUAD_PENTA: return 6;
+  case HEXA      :
+  case QUAD_HEXA : return 8;
+  default:    return 0;
+  }
+  return 0;
+}
+  // 
+
 //=======================================================================
 //function : GetFaceNodesIndices
 //purpose  : Return the array of face nodes indices
index 4c0e1a911b90d1bed377ba1d36afe4b9f2f13232..cbff9a6ee1c17f1b2920497400eebb6b048f945e 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMDS_VolumeTool_HeaderFile
 #define SMDS_VolumeTool_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 class SMDS_MeshElement;
 class SMDS_MeshNode;
 class SMDS_PolyhedralVolumeOfNodes;
@@ -37,18 +39,6 @@ class SMDS_PolyhedralVolumeOfNodes;
 #include <vector>
 #include <set>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 // =========================================================================
 //
 // Class providing topological and other information about SMDS_MeshVolume:
@@ -57,7 +47,7 @@ class SMDS_PolyhedralVolumeOfNodes;
 //
 // =========================================================================
 
-class SMDS_WNT_EXPORT SMDS_VolumeTool
+class SMDS_EXPORT SMDS_VolumeTool
 {
  public:
 
@@ -193,7 +183,10 @@ class SMDS_WNT_EXPORT SMDS_VolumeTool
                          int        faceIndex );
   // Return number of nodes in the array of face nodes
 
- private:
+  static int NbCornerNodes(VolumeType type);
+  // Useful to know nb of corner nodes of a quadratic volume
+
+private:
 
   bool setFace( int faceIndex );
 
diff --git a/src/SMDS/SMESH_SMDS.hxx b/src/SMDS/SMESH_SMDS.hxx
new file mode 100755 (executable)
index 0000000..207cf72
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMDS.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMDS_HXX_
+#define _SMESH_SMDS_HXX_
+
+#ifdef WNT
+ #if defined SMDS_EXPORTS
+  #define SMDS_EXPORT __declspec( dllexport )
+ #else
+  #define SMDS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMDS_EXPORT
+#endif
+
+#endif
\ No newline at end of file
index f9154dca4409ceb17e651c4a5e1889ab07a2b3e8..b643a6d68355e9ee1dc6bbe5a18bb112a6588fa1 100644 (file)
@@ -38,6 +38,7 @@ EXPORT_HEADERS= \
        SMESH_Gen.hxx \
        SMESH_Mesh.hxx \
        SMESH_subMesh.hxx \
+       SMESH_subMeshEventListener.hxx \
        SMESH_Hypothesis.hxx \
        SMESH_HypoFilter.hxx \
        SMESH_Algo.hxx \
@@ -52,7 +53,8 @@ EXPORT_HEADERS= \
        SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx \
        SMESH_SequenceOfElemPtr.hxx \
        SMESH_SequenceOfNode.hxx \
-       SMESH_MesherHelper.hxx
+       SMESH_MesherHelper.hxx \
+       SMESH_SMESH.hxx
 
 EXPORT_PYSCRIPTS =
 
index a8524eb88c2dc14c1b6e1dbda5811a3f999af3ef..12241937930861b46a8c211d4258bf642bad1724 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_1D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index 4b433eef50b7182d2561f41baea9f9c14b748483..c7582b1b486d4a97bc731a3ec215c00b16ee92aa 100644 (file)
 #ifndef _SMESH_1D_ALGO_HXX_
 #define _SMESH_1D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 
-class SMESH_1D_Algo:
+class SMESH_EXPORT SMESH_1D_Algo:
   public SMESH_Algo
 {
 public:
index a2a18202a4ab57903116e98b2ea7a504f9ac1a08..84d0db4919d13a02a0ed2e0576807231b00a1166 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_2D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include <TopExp.hxx>
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index d16e34b3d7331f3eb2239cae7fb29abc839c7cc0..1156854e7f1dee1fdd328d60cfced24a4a9cf94e 100644 (file)
 #ifndef _SMESH_2D_ALGO_HXX_
 #define _SMESH_2D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 #include "SMESH_subMesh.hxx"
 #include "TopoDS_Wire.hxx"
 
-class SMESH_2D_Algo:
+class SMESH_EXPORT SMESH_2D_Algo:
   public SMESH_Algo
 {
 public:
index ccf4d9a20e22cfb49d1cb95fe3632185e5950be4..ed3004ff0e60b6a0ab43688a48eb3d9f5aa4e925 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_3D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index d17416bc0a58beee61c698f430015cd7580cf36d..2939c27b3fa82be15f0e852be29ce234eb3b17d0 100644 (file)
 #ifndef _SMESH_3D_ALGO_HXX_
 #define _SMESH_3D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 
-class SMESH_3D_Algo:
+class SMESH_EXPORT SMESH_3D_Algo:
   public SMESH_Algo
 {
 public:
index 45e0e234a4161383279730585dc1f98ef44b1af7..a4b2c18f7eff178365910e9fd22804b7e282d1cb 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
@@ -55,6 +54,8 @@ using namespace std;
 
 #include <algorithm>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
@@ -82,6 +83,15 @@ SMESH_Algo::~SMESH_Algo()
 {
 }
 
+//=============================================================================
+/*!
+ * Usually an algoritm has nothing to save
+ */
+//=============================================================================
+
+ostream & SMESH_Algo::SaveTo(ostream & save) { return save; }
+istream & SMESH_Algo::LoadFrom(istream & load) { return load; }
+
 //=============================================================================
 /*!
  *  
@@ -367,3 +377,17 @@ bool SMESH_Algo::InitCompatibleHypoFilter( SMESH_HypoFilter & theFilter,
   }
   return false;
 }
+
+//================================================================================
+/*!
+ * \brief Sets event listener to submeshes if necessary
+  * \param subMesh - submesh where algo is set
+ * 
+ * After being set, event listener is notified on each event of a submesh.
+ * By default non listener is set
+ */
+//================================================================================
+
+void SMESH_Algo::SetEventListener(SMESH_subMesh* /*subMesh*/)
+{
+}
index 218c5cad96a97c5633f08000433303c119f0eb55..97d1117e56d801da2532cc0a49a9a193f8dd572a 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_ALGO_HXX_
 #define _SMESH_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 
 #include <TopoDS_Shape.hxx>
@@ -47,55 +49,162 @@ class TopoDS_Face;
 class TopoDS_Shape;
 class SMESHDS_Mesh;
 class SMDS_MeshNode;
+class SMESH_subMesh;
 
-class SMESH_Algo:public SMESH_Hypothesis
+class SMESH_EXPORT SMESH_Algo:public SMESH_Hypothesis
 {
-  public:
-       SMESH_Algo(int hypId, int studyId, SMESH_Gen * gen);
-         virtual ~ SMESH_Algo();
-
-       const std::vector < std::string > &GetCompatibleHypothesis();
-       virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
-                                     const TopoDS_Shape& aShape,
-                                     SMESH_Hypothesis::Hypothesis_Status& aStatus) = 0;
+public:
+  /*!
+   * \brief Creates algorithm
+    * \param hypId - algorithm ID
+    * \param studyId - study ID
+    * \param gen - SMESH_Gen
+   */
+  SMESH_Algo(int hypId, int studyId, SMESH_Gen * gen);
 
-       virtual bool Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape) = 0;
+  /*!
+   * \brief Destructor
+   */
+  virtual ~ SMESH_Algo();
 
-       virtual const std::list <const SMESHDS_Hypothesis *> &
-               GetUsedHypothesis(SMESH_Mesh &         aMesh,
-                                  const TopoDS_Shape & aShape,
-                                  const bool           ignoreAuxiliary=true);
+  /*!
+   * \brief Saves nothing in a stream
+    * \param save - the stream
+    * \retval virtual std::ostream & - the stream
+   */
+  virtual std::ostream & SaveTo(std::ostream & save);
 
-       const list <const SMESHDS_Hypothesis *> &
-               GetAppliedHypothesis(SMESH_Mesh &         aMesh,
-                                     const TopoDS_Shape & aShape,
-                                     const bool           ignoreAuxiliary=true);
+  /*!
+   * \brief Loads nothing from a stream
+    * \param load - the stream
+    * \retval virtual std::ostream & - the stream
+   */
+  virtual std::istream & LoadFrom(std::istream & load);
 
-       static double EdgeLength(const TopoDS_Edge & E);
+  /*!
+   * \brief Returns all types of compatible hypotheses
+   */
+  const std::vector < std::string > & GetCompatibleHypothesis();
 
+  /*!
+   * \brief Check hypothesis definition to mesh a shape
+    * \param aMesh - the mesh
+    * \param aShape - the shape
+    * \param aStatus - check result
+    * \retval bool - true if hypothesis is well defined
+   */
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus) = 0;
+  /*!
+   * \brief Computes mesh on a shape
+    * \param aMesh - the mesh
+    * \param aShape - the shape
+    * \retval bool - is a success
+   */
+  virtual bool Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape) = 0;
 
   /*!
-   * \brief Make filter recognize only compatible hypotheses
-    * \param theFilter - the filter to initialize
-    * \param ignoreAuxiliary - make filter ignore compatible auxiliary hypotheses
-    * \retval bool - true if the algo has compatible hypotheses
+   * \brief Returns a list of compatible hypotheses used to mesh a shape
+    * \param aMesh - the mesh 
+    * \param aShape - the shape
+    * \param ignoreAuxiliary - do not include auxiliary hypotheses in the list
+    * \retval const std::list <const SMESHDS_Hypothesis*> - hypotheses list
+   * 
+   *  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.
+   */
+  virtual const std::list <const SMESHDS_Hypothesis *> &
+  GetUsedHypothesis(SMESH_Mesh &         aMesh,
+                    const TopoDS_Shape & aShape,
+                    const bool           ignoreAuxiliary=true);
+  /*!
+   * \brief Returns a list of compatible hypotheses assigned to a shape in a mesh
+    * \param aMesh - the mesh 
+    * \param aShape - the shape
+    * \param ignoreAuxiliary - do not include auxiliary hypotheses in the list
+    * \retval const std::list <const SMESHDS_Hypothesis*> - hypotheses list
+   * 
+   *  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 *> &
+  GetAppliedHypothesis(SMESH_Mesh &         aMesh,
+                       const TopoDS_Shape & aShape,
+                       const bool           ignoreAuxiliary=true);
+  /*!
+   * \brief Make the filter recognize only compatible hypotheses
+   * \param theFilter - the filter to initialize
+   * \param ignoreAuxiliary - make filter ignore compatible auxiliary hypotheses
+   * \retval bool - true if the algo has compatible hypotheses
    */
   bool InitCompatibleHypoFilter( SMESH_HypoFilter & theFilter,
                                  const bool         ignoreAuxiliary) const;
+  /*!
+   * \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
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh,
+                                   const TopoDS_Shape& theShape);
+
+
+public:
+  // ==================================================================
+  // Algo features influencing how Compute() is called:
+  // in what turn and with what input shape
+  // ==================================================================
+
+  // SMESH_Hypothesis::GetDim();
+  // 1 - dimention of target mesh
+
+  bool OnlyUnaryInput() const { return _onlyUnaryInput; }
+  // 2 - is collection of tesselatable shapes inacceptable as input;
+  // "collection" means a shape containing shapes of dim equal
+  // to GetDim().
+  // Algo which can process a collection shape should expect
+  // an input temporary shape that is neither MainShape nor
+  // its child.
+
+  bool NeedDescretBoundary() const { return _requireDescretBoundary; }
+  // 3 - is a Dim-1 mesh prerequisite
 
+public:
+  // ==================================================================
+  // Methods to track non hierarchical dependencies between submeshes 
+  // ==================================================================
+
+  /*!
+   * \brief Sets event listener to submeshes if necessary
+    * \param subMesh - submesh where algo is set
+   *
+   * This method is called when a submesh gets HYP_OK algo_state.
+   * After being set, event listener is notified on each event of a submesh.
+   * By default non listener is set
+   */
+  virtual void SetEventListener(SMESH_subMesh* subMesh);
+  
+public:
+  // ==================================================================
+  // Common algo utilities
+  // ==================================================================
   /*!
    * \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
+   * \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
    */
   static bool GetNodeParamOnEdge(const SMESHDS_Mesh*     theMesh,
                                  const TopoDS_Edge&      theEdge,
                                  std::vector< double > & theParams);
-
-  //static bool GetSegmentLengths();
-
   /*!
    * \brief Find out elements orientation on a geometrical face
    * \param theFace - The face correctly oriented in the shape being meshed
@@ -105,40 +214,20 @@ class SMESH_Algo:public SMESH_Hypothesis
    */
   static bool IsReversedSubMesh (const TopoDS_Face&  theFace,
                                  SMESHDS_Mesh*       theMeshDS);
-
   /*!
-   * \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
+   * \brief Compute length of an edge
+    * \param E - the edge
+    * \retval double - the length
    */
-  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
-
- public:
-        // algo features
-
-        // SMESH_Hypothesis::GetDim();
-        // 1 - dimention of target mesh
-
-        bool OnlyUnaryInput() const { return _onlyUnaryInput; }
-        // 2 - is collection of tesselatable shapes inacceptable as input;
-        // "collection" means a shape containing shapes of dim equal
-        // to GetDim().
-        // Algo which can process a collection shape should expect
-        // an input temporary shape that is neither MainShape nor
-        // its child.
-        
-        bool NeedDescretBoundary() const { return _requireDescretBoundary; }
-        // 3 - is a Dim-1 mesh prerequisite
-
- protected:
-        bool _onlyUnaryInput;
-        bool _requireDescretBoundary;
-        std::vector<std::string> _compatibleHypothesis;
-        std::list<const SMESHDS_Hypothesis *> _appliedHypList;
-        std::list<const SMESHDS_Hypothesis *> _usedHypList;
+  static double EdgeLength(const TopoDS_Edge & E);
+
+
+protected:
+  bool _onlyUnaryInput;
+  bool _requireDescretBoundary;
+  std::vector<std::string> _compatibleHypothesis;
+  std::list<const SMESHDS_Hypothesis *> _appliedHypList;
+  std::list<const SMESHDS_Hypothesis *> _usedHypList;
 
   // quadratic mesh creation required
   bool _quadraticMesh;
index 3a086833078bde24a5d663f8842d59ce382554dc..fa7fc282fdfb8710d4d1db3c546ea5141274c93c 100644 (file)
 
 #include "SMESH_Block.hxx"
 
+#include <BRepAdaptor_Curve.hxx>
+#include <BRepAdaptor_Curve2d.hxx>
+#include <BRepAdaptor_Surface.hxx>
 #include <BRepTools.hxx>
 #include <BRepTools_WireExplorer.hxx>
+#include <BRep_Builder.hxx>
 #include <BRep_Tool.hxx>
 #include <Extrema_ExtPC.hxx>
 #include <Extrema_POnCurv.hxx>
-#include <GeomAdaptor_Curve.hxx>
-#include <TopAbs_ShapeEnum.hxx>
+#include <Geom2d_Curve.hxx>
 #include <TopExp_Explorer.hxx>
-#include <TopLoc_Location.hxx>
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_ListOfShape.hxx>
 #include <TopoDS.hxx>
+#include <TopoDS_Compound.hxx>
 #include <TopoDS_Face.hxx>
 #include <TopoDS_Iterator.hxx>
 #include <TopoDS_Wire.hxx>
 
 using namespace std;
 
-#define SQRT_FUNC 1
+#define SQRT_FUNC 0
+
+//================================================================================
+/*!
+ * \brief Set edge data
+  * \param edgeID - block subshape ID
+  * \param curve - edge geometry
+  * \param isForward - is curve orientation coincides with edge orientation in the block
+ */
+//================================================================================
+
+void SMESH_Block::TEdge::Set( const int edgeID, Adaptor3d_Curve* curve, const bool isForward )
+{
+  myCoordInd = SMESH_Block::GetCoordIndOnEdge( edgeID );
+  if ( myC3d ) delete myC3d;
+  myC3d = curve;
+  myFirst = curve->FirstParameter();
+  myLast = curve->LastParameter();
+  if ( !isForward )
+    std::swap( myFirst, myLast );
+}
+
+//================================================================================
+/*!
+ * \brief Set coordinates of nodes at edge ends to work with mesh block
+  * \param edgeID - block subshape ID
+  * \param node1 - coordinates of node with lower ID
+  * \param node2 - coordinates of node with upper ID
+ */
+//================================================================================
+
+void SMESH_Block::TEdge::Set( const int edgeID, const gp_XYZ& node1, const gp_XYZ& node2 )
+{
+  myCoordInd = SMESH_Block::GetCoordIndOnEdge( edgeID );
+  myNodes[ 0 ] = node1;
+  myNodes[ 1 ] = node2;
+
+  if ( myC3d ) delete myC3d;
+  myC3d = 0;
+}
 
 //=======================================================================
 //function : SMESH_Block::TEdge::GetU
@@ -62,7 +104,7 @@ using namespace std;
 double SMESH_Block::TEdge::GetU( const gp_XYZ& theParams ) const
 {
   double u = theParams.Coord( myCoordInd );
-  if ( myC3d.IsNull() ) // if mesh block
+  if ( !myC3d ) // if mesh block
     return u;
   return ( 1 - u ) * myFirst + u * myLast;
 }
@@ -75,14 +117,95 @@ double SMESH_Block::TEdge::GetU( const gp_XYZ& theParams ) const
 gp_XYZ SMESH_Block::TEdge::Point( const gp_XYZ& theParams ) const
 {
   double u = GetU( theParams );
+  if ( myC3d ) return myC3d->Value( u ).XYZ();
+  // mesh block
+  return myNodes[0] * ( 1 - u ) + myNodes[1] * u;
+}
 
-  if ( myC3d.IsNull() ) // if mesh block
-    return myNodes[0] * ( 1 - u ) + myNodes[1] * u;
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
 
-  gp_XYZ p = myC3d->Value( u ).XYZ();
-  if ( myTrsf.Form() != gp_Identity )
-    myTrsf.Transforms( p );
-  return p;
+SMESH_Block::TEdge::~TEdge()
+{
+  if ( myC3d ) delete myC3d;
+}
+
+//================================================================================
+/*!
+ * \brief Set face data
+  * \param faceID - block subshape ID
+  * \param S - face surface geometry
+  * \param c2d - 4 pcurves in the order as returned by GetFaceEdgesIDs(faceID)
+  * \param isForward - orientation of pcurves comparing with block edge direction
+ */
+//================================================================================
+
+void SMESH_Block::TFace::Set( const int          faceID,
+                              Adaptor3d_Surface* S,
+                              Adaptor2d_Curve2d* c2D[4],
+                              const bool         isForward[4] )
+{
+  if ( myS ) delete myS;
+  myS = S;
+  // pcurves
+  vector< int > edgeIdVec;
+  GetFaceEdgesIDs( faceID, edgeIdVec );
+  for ( int iE = 0; iE < edgeIdVec.size(); iE++ ) // loop on 4 edges
+  {
+    myCoordInd[ iE ] = GetCoordIndOnEdge( edgeIdVec[ iE ] );
+    if ( myC2d[ iE ]) delete myC2d[ iE ];
+    myC2d[ iE ] = c2D[ iE ];
+    myFirst[ iE ] = myC2d[ iE ]->FirstParameter();
+    myLast [ iE ] = myC2d[ iE ]->LastParameter();
+    if ( !isForward[ iE ])
+      std::swap( myFirst[ iE ], myLast[ iE ] );
+  }
+  // 2d corners
+  myCorner[ 0 ] = myC2d[ 0 ]->Value( myFirst[0] ).XY();
+  myCorner[ 1 ] = myC2d[ 0 ]->Value( myLast[0] ).XY();
+  myCorner[ 2 ] = myC2d[ 1 ]->Value( myLast[1] ).XY();
+  myCorner[ 3 ] = myC2d[ 1 ]->Value( myFirst[1] ).XY();
+}
+
+//================================================================================
+/*!
+ * \brief Set face data to work with mesh block
+  * \param faceID - block subshape ID
+  * \param edgeU0 - filled data of edge u0 = GetFaceEdgesIDs(faceID)[ 0 ]
+  * \param edgeU1 - filled data of edge u1 = GetFaceEdgesIDs(faceID)[ 1 ]
+ */
+//================================================================================
+
+void SMESH_Block::TFace::Set( const int faceID, const TEdge& edgeU0, const TEdge& edgeU1 )
+{
+  vector< int > edgeIdVec;
+  GetFaceEdgesIDs( faceID, edgeIdVec );
+  myNodes[ 0 ] = edgeU0.NodeXYZ( 1 );
+  myNodes[ 1 ] = edgeU0.NodeXYZ( 0 );
+  myNodes[ 2 ] = edgeU1.NodeXYZ( 0 );
+  myNodes[ 3 ] = edgeU1.NodeXYZ( 1 );
+  myCoordInd[ 0 ] = GetCoordIndOnEdge( edgeIdVec[ 0 ] );
+  myCoordInd[ 1 ] = GetCoordIndOnEdge( edgeIdVec[ 1 ] );
+  myCoordInd[ 2 ] = GetCoordIndOnEdge( edgeIdVec[ 2 ] );
+  myCoordInd[ 3 ] = GetCoordIndOnEdge( edgeIdVec[ 3 ] );
+  if ( myS ) delete myS;
+  myS = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+SMESH_Block::TFace::~TFace()
+{
+  if ( myS ) delete myS;
+  for ( int i = 0 ; i < 4; ++i )
+    if ( myC2d[ i ]) delete myC2d[ i ];
 }
 
 //=======================================================================
@@ -144,7 +267,7 @@ gp_XY SMESH_Block::TFace::GetUV( const gp_XYZ& theParams ) const
 gp_XYZ SMESH_Block::TFace::Point( const gp_XYZ& theParams ) const
 {
   gp_XYZ p(0.,0.,0.);
-  if ( myS.IsNull() ) // if mesh block
+  if ( !myS ) // if mesh block
   {
     for ( int iE = 0; iE < 4; iE++ ) // loop on 4 edges
     {
@@ -168,8 +291,6 @@ gp_XYZ SMESH_Block::TFace::Point( const gp_XYZ& theParams ) const
   {
     gp_XY uv = GetUV( theParams );
     p = myS->Value( uv.X(), uv.Y() ).XYZ();
-    if ( myTrsf.Form() != gp_Identity )
-      myTrsf.Transforms( p );
   }
   return p;
 }
@@ -224,17 +345,20 @@ bool SMESH_Block::ShellPoint( const gp_XYZ& theParams, gp_XYZ& thePoint ) const
           k *= theParams.Coord( iCoef + 1 );
       }
     }
-    // point on a shape
-    gp_XYZ Ps;
-    if ( shapeID < ID_Ex00 ) // vertex
-      VertexPoint( shapeID, Ps );
-    else if ( shapeID < ID_Fxy0 ) { // edge
-      EdgePoint( shapeID, theParams, Ps );
-      k = -k;
-    } else // face
-      FacePoint( shapeID, theParams, Ps );
-
-    thePoint += k * Ps;
+    // add point on a shape
+    if ( fabs( k ) > DBL_MIN )
+    {
+      gp_XYZ Ps;
+      if ( shapeID < ID_Ex00 ) // vertex
+        VertexPoint( shapeID, Ps );
+      else if ( shapeID < ID_Fxy0 ) { // edge
+        EdgePoint( shapeID, theParams, Ps );
+        k = -k;
+      } else // face
+        FacePoint( shapeID, theParams, Ps );
+
+      thePoint += k * Ps;
+    }
   }
   return true;
 }
@@ -331,6 +455,8 @@ Standard_Boolean SMESH_Block::Derivatives(const math_Vector& XYZ,math_Matrix& Df
 //purpose  : 
 //=======================================================================
 
+//#define DEBUG_PARAM_COMPUTE
+
 Standard_Boolean SMESH_Block::Values(const math_Vector& theXYZ,
                                      math_Vector&       theFxyz,
                                      math_Matrix&       theDf) 
@@ -345,11 +471,13 @@ Standard_Boolean SMESH_Block::Values(const math_Vector& theXYZ,
     theDf( 1,3 ) = myValues[ 3 ];
     return true;
   }
-
+#ifdef DEBUG_PARAM_COMPUTE
+  cout << "PARAM GUESS: " << params.X() << " "<< params.Y() << " "<< params.X() << endl;
+#endif
   ShellPoint( params, P );
   //myNbIterations++; // how many time call ShellPoint()
 
-  gp_Vec dP( P - myPoint );
+  gp_Vec dP( myPoint, P );
   theFxyz(1) = SQRT_FUNC ? dP.SquareMagnitude() : dP.Magnitude();
   if ( theFxyz(1) < 1e-6 ) {
     myParam      = params;
@@ -363,36 +491,48 @@ Standard_Boolean SMESH_Block::Values(const math_Vector& theXYZ,
   if ( theFxyz(1) < myValues[0] ) // a better guess
   {
     // 3 partial derivatives
-    gp_Vec drv[ 3 ];
+    gp_Vec drv[ 3 ]; // where we move with a small step in each direction
     for ( int iP = 1; iP <= 3; iP++ ) {
+      if ( iP - 1 == myFaceIndex ) {
+        drv[ iP - 1 ] = gp_Vec(0,0,0);
+        continue;
+      }
       gp_XYZ Pi;
-      params.SetCoord( iP, theXYZ( iP ) + 0.001 );
+      bool onEdge = ( theXYZ( iP ) + 0.001 > 1. );
+      if ( onEdge )
+        params.SetCoord( iP, theXYZ( iP ) - 0.001 );
+      else
+        params.SetCoord( iP, theXYZ( iP ) + 0.001 );
       ShellPoint( params, Pi );
       params.SetCoord( iP, theXYZ( iP ) ); // restore params
       gp_Vec dPi ( P, Pi );
+      if ( onEdge ) dPi *= -1.;
       double mag = dPi.Magnitude();
       if ( mag > DBL_MIN )
         dPi /= mag;
       drv[ iP - 1 ] = dPi;
     }
     for ( int iP = 0; iP < 3; iP++ ) {
-      if ( iP == myFaceIndex )
-        theDf( 1, iP + 1 ) = myFaceParam;
-      else {
+      theDf( 1, iP + 1 ) = dP * drv[iP];
+        // Distance from P to plane passing through myPoint and defined
+        // by the 2 other derivative directions:
         // like IntAna_IntConicQuad::Perform (const gp_Lin& L, const gp_Pln& P)
         // where L is (P -> myPoint), P is defined by the 2 other derivative direction
-        int iPrev = ( iP ? iP - 1 : 2 );
-        int iNext = ( iP == 2 ? 0 : iP + 1 );
-        gp_Vec plnNorm = drv[ iPrev ].Crossed( drv [ iNext ] );
-        double Direc = plnNorm * drv[ iP ];
-        if ( Abs(Direc) <= DBL_MIN )
-          theDf( 1, iP + 1 ) = dP * drv[ iP ];
-        else {
-          double Dis = plnNorm * P - plnNorm * myPoint;
-          theDf( 1, iP + 1 ) = Dis/Direc;
-        }
-      }
+//         int iPrev = ( iP ? iP - 1 : 2 );
+//         int iNext = ( iP == 2 ? 0 : iP + 1 );
+//         gp_Vec plnNorm = drv[ iPrev ].Crossed( drv [ iNext ] );
+//         double Direc = plnNorm * drv[ iP ];
+//         if ( Abs(Direc) <= DBL_MIN )
+//           theDf( 1, iP + 1 ) = dP * drv[ iP ];
+//         else {
+//           double Dis = plnNorm * P - plnNorm * myPoint;
+//           theDf( 1, iP + 1 ) = Dis/Direc;
+//         }
     }
+#ifdef DEBUG_PARAM_COMPUTE
+    cout << "F = " << theFxyz(1) <<
+      " DRV: " << theDf(1,1) << " " << theDf(1,2) << " " << theDf(1,3)  << endl;
+#endif
     //myNbIterations +=3; // how many time call ShellPoint()
 
     // store better values
@@ -424,10 +564,9 @@ bool SMESH_Block::ComputeParameters(const gp_Pnt& thePoint,
     return true;
 
   if ( IsEdgeID( theShapeID )) {
-    TEdge& e = myEdge[ theShapeID - ID_Ex00 ];
-    GeomAdaptor_Curve curve( e.myC3d );
-    double f = Min( e.myFirst, e.myLast ), l = Max( e.myFirst, e.myLast );
-    Extrema_ExtPC anExtPC( thePoint, curve, f, l );
+    TEdge& e = myEdge[ theShapeID - ID_FirstE ];
+    Adaptor3d_Curve* curve = e.GetCurve();
+    Extrema_ExtPC anExtPC( thePoint, *curve, curve->FirstParameter(), curve->LastParameter() );
     int i, nb = anExtPC.IsDone() ? anExtPC.NbExt() : 0;
     for ( i = 1; i <= nb; i++ ) {
       if ( anExtPC.IsMin( i ))
@@ -469,7 +608,7 @@ bool SMESH_Block::ComputeParameters(const gp_Pnt& thePoint,
         double par = 0;
         if ( len2 > zero ) {
           par = v0P.Dot( v01 ) / len2;
-          if ( par < 0 || par > 1 ) {
+          if ( par < 0 || par > 1 ) { // projection falls out of line ends => needGrid
             needGrid = true;
             break;
           }
@@ -507,7 +646,7 @@ bool SMESH_Block::ComputeParameters(const gp_Pnt& thePoint,
     start( 3 ) = bestParam->Z();
   }
 
-  int myFaceIndex = -1;
+  myFaceIndex = -1;
   if ( isOnFace ) {
     // put a point on the face
     for ( int iCoord = 0; iCoord < 3; iCoord++ )
@@ -522,9 +661,14 @@ bool SMESH_Block::ComputeParameters(const gp_Pnt& thePoint,
   math_Vector tol  ( 1, 3, 1e-4 );
   math_FunctionSetRoot paramSearch( *this, tol );
 
+#ifdef DEBUG_PARAM_COMPUTE
+  cout << " #### POINT " <<thePoint.X()<<" "<<thePoint.Y()<<" "<<thePoint.Z()<<" ####"<< endl;
+  cout << " ** START ** " << start(1) << " " << start(2) << " " << start(3) << " " << endl;
+#endif
   int nbLoops = 0;
   while ( myValues[0] > 1e-1 && nbLoops++ < 10 ) {
-    paramSearch.Perform ( *this, start, low, up );
+    paramSearch.Perform ( *static_cast<math_FunctionSetWithDerivatives*>(this),
+                          start, low, up );
     if ( !paramSearch.IsDone() ) {
       //MESSAGE( " !paramSearch.IsDone() " );
     }
@@ -536,11 +680,18 @@ bool SMESH_Block::ComputeParameters(const gp_Pnt& thePoint,
     start( 3 ) = myParam.Z();
     //MESSAGE( "Distance: " << ( SQRT_FUNC ? sqrt(myValues[0]) : myValues[0] ));
   }
+#ifdef DEBUG_PARAM_COMPUTE
+  cout << "-------SOLUTION-------: " << endl
+       << myParam.X() << " " << myParam.Y() << " " << myParam.Z() << endl
+       << " ------ DIST :" << myValues[0] << endl;
+#endif
 //   MESSAGE( endl << myParam.X() << " " << myParam.Y() << " " << myParam.Z() << endl);
 //   mySumDist += myValues[0];
 //   MESSAGE( " TOTAL NB ITERATIONS: " << myNbIterations <<
 //             " DIST: " << ( SQRT_FUNC ? sqrt(mySumDist) : mySumDist ));
 
+  if ( myFaceIndex >= 0 )
+    myParam.SetCoord( myFaceIndex + 1, myFaceParam );
 
   theParams = myParam;
 
@@ -576,8 +727,8 @@ bool SMESH_Block::EdgeParameters(const int theEdgeID, const double theU, gp_XYZ&
     GetEdgeVertexIDs( theEdgeID, vertexVec );
     VertexParameters( vertexVec[0], theParams );
     TEdge& e = myEdge[ theEdgeID - ID_Ex00 ];
-    double param = ( theU - e.myFirst ) / ( e.myLast - e.myFirst );
-    theParams.SetCoord( e.myCoordInd, param );
+    double param = ( theU - e.EndParam(0) ) / ( e.EndParam(1) - e.EndParam(0) );
+    theParams.SetCoord( e.CoordInd(), param );
     return true;
   }
   return false;
@@ -685,16 +836,15 @@ int SMESH_Block::GetShapeIDByParams ( const gp_XYZ& theCoord )
   return id + 1; // shape ids start at 1
 }
 
-
 //=======================================================================
-//function : getOrderedEdges
+//function : GetOrderedEdges
 //purpose  : return nb wires and a list of oredered edges
 //=======================================================================
 
-static int getOrderedEdges (const TopoDS_Face&   theFace,
-                            const TopoDS_Vertex& theFirstVertex,
-                            list< TopoDS_Edge >& theEdges,
-                            list< int >  &       theNbVertexInWires)
+int SMESH_Block::GetOrderedEdges (const TopoDS_Face&   theFace,
+                                  TopoDS_Vertex        theFirstVertex,
+                                  list< TopoDS_Edge >& theEdges,
+                                  list< int >  &       theNbVertexInWires)
 {
   // put wires in a list, so that an outer wire comes first
   list<TopoDS_Wire> aWireList;
@@ -740,22 +890,60 @@ static int getOrderedEdges (const TopoDS_Face&   theFace,
           isFirst = ( p2.SquareDistance( pf ) < p2.SquareDistance( pl ));
           if ( isNext ? isFirst : !isFirst )
             edge.Reverse();
+          // to make a seam go first
+          if ( theFirstVertex.IsNull() )
+            theFirstVertex = TopExp::FirstVertex( edge, true );
         }
       }
       // rotate theEdges until it begins from theFirstVertex
-      if ( ! theFirstVertex.IsNull() )
-        while ( !theFirstVertex.IsSame( TopExp::FirstVertex( theEdges.front(), true )))
+      if ( ! theFirstVertex.IsNull() ) {
+        TopoDS_Vertex vv[2];
+        TopExp::Vertices( theEdges.front(), vv[0], vv[1], true );
+        // on closed face, make seam edge the first in the list
+        while ( !vv[0].IsSame( theFirstVertex ) || vv[0].IsSame( vv[1] ))
         {
           theEdges.splice(theEdges.end(), theEdges,
-                          theEdges.begin(), ++ theEdges.begin());
-          if ( iE++ > theNbVertexInWires.back() ) 
+                          theEdges.begin(), ++theEdges.begin());
+          TopExp::Vertices( theEdges.front(), vv[0], vv[1], true );
+          if ( iE++ > theNbVertexInWires.back() ) {
+#ifdef _DEBUG_
+            gp_Pnt p = BRep_Tool::Pnt( theFirstVertex );
+            cout << " : Warning : vertex "<< theFirstVertex.TShape().operator->()
+                 << " ( " << p.X() << " " << p.Y() << " " << p.Z() << " )" 
+                 << " not found in outer wire of face "<< theFace.TShape().operator->()
+                 << " with vertices: " <<  endl;
+            wExp.Init( *wlIt, theFace );
+            for ( int i = 0; wExp.More(); wExp.Next(), i++ )
+            {
+              TopoDS_Edge edge = wExp.Current();
+              edge = TopoDS::Edge( edge.Oriented( wExp.Orientation() ));
+              TopoDS_Vertex v = TopExp::FirstVertex( edge, true );
+              gp_Pnt p = BRep_Tool::Pnt( v );
+              cout << i << " " << v.TShape().operator->() << " "
+                   << p.X() << " " << p.Y() << " " << p.Z() << " " << endl;
+            }
+#endif
             break; // break infinite loop
+          }
         }
-    }
+      }
+    } // end outer wire
   }
 
   return aWireList.size();
 }
+//================================================================================
+/*!
+ * \brief Call it after geometry initialisation
+ */
+//================================================================================
+
+void SMESH_Block::init()
+{
+  myNbIterations = 0;
+  mySumDist = 0;
+  myGridComputed = false;
+}
 
 //=======================================================================
 //function : LoadMeshBlock
@@ -770,10 +958,7 @@ bool SMESH_Block::LoadMeshBlock(const SMDS_MeshVolume*        theVolume,
                                 vector<const SMDS_MeshNode*>& theOrderedNodes)
 {
   MESSAGE(" ::LoadMeshBlock()");
-
-  myNbIterations = 0;
-  mySumDist = 0;
-  myGridComputed = false;
+  init();
 
   SMDS_VolumeTool vTool;
   if (!vTool.Set( theVolume ) || vTool.NbNodes() != 8 ||
@@ -868,59 +1053,21 @@ bool SMESH_Block::LoadMeshBlock(const SMDS_MeshVolume*        theVolume,
   theOrderedNodes[ 7 ] = nn[ V111 ];
   
   // fill edges
-  myEdge[ ID_Ex00 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V000 - 1 ];
-  myEdge[ ID_Ex00 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V100 - 1 ];
-
-  myEdge[ ID_Ex10 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V010 - 1 ];
-  myEdge[ ID_Ex10 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V110 - 1 ];
-
-  myEdge[ ID_Ex01 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V001 - 1 ];
-  myEdge[ ID_Ex01 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V101 - 1 ];
-
-  myEdge[ ID_Ex11 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V011 - 1 ];
-  myEdge[ ID_Ex11 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V111 - 1 ];
-
-  myEdge[ ID_E0y0 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V000 - 1 ];
-  myEdge[ ID_E0y0 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V010 - 1 ];
-
-  myEdge[ ID_E1y0 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V100 - 1 ];
-  myEdge[ ID_E1y0 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V110 - 1 ];
-
-  myEdge[ ID_E0y1 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V001 - 1 ];
-  myEdge[ ID_E0y1 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V011 - 1 ];
-
-  myEdge[ ID_E1y1 - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V101 - 1 ];
-  myEdge[ ID_E1y1 - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V111 - 1 ];
-
-  myEdge[ ID_E00z - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V000 - 1 ];
-  myEdge[ ID_E00z - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V001 - 1 ];
-
-  myEdge[ ID_E10z - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V100 - 1 ];
-  myEdge[ ID_E10z - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V101 - 1 ];
-
-  myEdge[ ID_E01z - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V010 - 1 ];
-  myEdge[ ID_E01z - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V011 - 1 ];
-
-  myEdge[ ID_E11z - ID_Ex00 ].myNodes[ 0 ] = myPnt[ ID_V110 - 1 ];
-  myEdge[ ID_E11z - ID_Ex00 ].myNodes[ 1 ] = myPnt[ ID_V111 - 1 ];
-
-  for ( iE = ID_Ex00; iE <= ID_E11z; ++iE )
-    myEdge[ iE - ID_Ex00 ].myCoordInd = GetCoordIndOnEdge( iE );
+  vector< int > vertexVec;
+  for ( iE = 0; iE < NbEdges(); ++iE ) {
+    GetEdgeVertexIDs(( iE + ID_FirstE ), vertexVec );
+    myEdge[ iE ].Set(( iE + ID_FirstE ),
+                     myPnt[ vertexVec[0] - 1 ],
+                     myPnt[ vertexVec[1] - 1 ]);
+  }
 
-  // fill faces corners
+  // fill faces' corners
   for ( iF = ID_Fxy0; iF < ID_Shell; ++iF )
   {
-    TFace& tFace = myFace[ iF - ID_Fxy0 ];
+    TFace& tFace = myFace[ iF - ID_FirstF ];
     vector< int > edgeIdVec(4, -1);
     GetFaceEdgesIDs( iF, edgeIdVec );
-    tFace.myNodes[ 0 ] = myEdge[ edgeIdVec [ 0 ] - ID_Ex00 ].myNodes[ 1 ];
-    tFace.myNodes[ 1 ] = myEdge[ edgeIdVec [ 0 ] - ID_Ex00 ].myNodes[ 0 ];
-    tFace.myNodes[ 2 ] = myEdge[ edgeIdVec [ 1 ] - ID_Ex00 ].myNodes[ 0 ];
-    tFace.myNodes[ 3 ] = myEdge[ edgeIdVec [ 1 ] - ID_Ex00 ].myNodes[ 1 ];
-    tFace.myCoordInd[ 0 ] = GetCoordIndOnEdge( edgeIdVec[ 0 ] );
-    tFace.myCoordInd[ 1 ] = GetCoordIndOnEdge( edgeIdVec[ 1 ] );
-    tFace.myCoordInd[ 2 ] = GetCoordIndOnEdge( edgeIdVec[ 2 ] );
-    tFace.myCoordInd[ 3 ] = GetCoordIndOnEdge( edgeIdVec[ 3 ] );
+    tFace.Set( iF, myEdge[ edgeIdVec [ 0 ]], myEdge[ edgeIdVec [ 1 ]]);
   }
 
   return true;
@@ -928,7 +1075,8 @@ bool SMESH_Block::LoadMeshBlock(const SMDS_MeshVolume*        theVolume,
 
 //=======================================================================
 //function : LoadBlockShapes
-//purpose  : add sub-shapes of theBlock to theShapeIDMap so that they get
+//purpose  : Initialize block geometry with theShell,
+//           add sub-shapes of theBlock to theShapeIDMap so that they get
 //           IDs acoording to enum TShapeID
 //=======================================================================
 
@@ -938,11 +1086,22 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
                                   TopTools_IndexedMapOfOrientedShape& theShapeIDMap )
 {
   MESSAGE(" ::LoadBlockShapes()");
+  return ( FindBlockShapes( theShell, theVertex000, theVertex001, theShapeIDMap ) &&
+           LoadBlockShapes( theShapeIDMap ));
+}
 
-  myShell = theShell;
-  myNbIterations = 0;
-  mySumDist = 0;
-  myGridComputed = false;
+//=======================================================================
+//function : LoadBlockShapes
+//purpose  : add sub-shapes of theBlock to theShapeIDMap so that they get
+//           IDs acoording to enum TShapeID
+//=======================================================================
+
+bool SMESH_Block::FindBlockShapes(const TopoDS_Shell&         theShell,
+                                  const TopoDS_Vertex&        theVertex000,
+                                  const TopoDS_Vertex&        theVertex001,
+                                  TopTools_IndexedMapOfOrientedShape& theShapeIDMap )
+{
+  MESSAGE(" ::FindBlockShapes()");
 
   // 8 vertices
   TopoDS_Shape V000, V100, V010, V110, V001, V101, V011, V111;
@@ -958,7 +1117,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
   const int NB_FACES_BY_VERTEX = 6;
 
   TopTools_IndexedDataMapOfShapeListOfShape vfMap;
-  TopExp::MapShapesAndAncestors( myShell, TopAbs_VERTEX, TopAbs_FACE, vfMap );
+  TopExp::MapShapesAndAncestors( theShell, TopAbs_VERTEX, TopAbs_FACE, vfMap );
   if ( vfMap.Extent() != 8 ) {
     MESSAGE(" Wrong nb of vertices in the block: " << vfMap.Extent() );
     return false;
@@ -982,7 +1141,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
     }
     // find vertex 001 - the one on the most vertical edge passing through V000
     TopTools_IndexedDataMapOfShapeListOfShape veMap;
-    TopExp::MapShapesAndAncestors( myShell, TopAbs_VERTEX, TopAbs_EDGE, veMap );
+    TopExp::MapShapesAndAncestors( theShell, TopAbs_VERTEX, TopAbs_EDGE, veMap );
     gp_Vec dir001 = gp::DZ();
     gp_Pnt p000 = BRep_Tool::Pnt( TopoDS::Vertex( V000 ));
     double maxVal = -DBL_MAX;
@@ -1051,7 +1210,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
   // find bottom edges and veritices
   list< TopoDS_Edge > eList;
   list< int >         nbVertexInWires;
-  getOrderedEdges( TopoDS::Face( Fxy0 ), TopoDS::Vertex( V000 ), eList, nbVertexInWires );
+  GetOrderedEdges( TopoDS::Face( Fxy0 ), TopoDS::Vertex( V000 ), eList, nbVertexInWires );
   if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
     MESSAGE(" LoadBlockShapes() error ");
     return false;
@@ -1073,7 +1232,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
 
   // find top edges and veritices
   eList.clear();
-  getOrderedEdges( TopoDS::Face( Fxy1 ), TopoDS::Vertex( V001 ), eList, nbVertexInWires );
+  GetOrderedEdges( TopoDS::Face( Fxy1 ), TopoDS::Vertex( V001 ), eList, nbVertexInWires );
   if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
     MESSAGE(" LoadBlockShapes() error ");
     return false;
@@ -1097,7 +1256,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
     if ( V101.IsSame( exp.Current() ) || V100.IsSame( exp.Current() ))
       break; // V101 or V100 found
   if ( !exp.More() ) { // not found
-    TopoDS_Shape f = Fx0z; Fx0z = F0yz; F0yz = f;
+    std::swap( Fx0z, F0yz);
   }
 
   // find Fx1z and F1yz faces
@@ -1132,7 +1291,7 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
     if ( V010.IsSame( exp.Current() ) || V011.IsSame( exp.Current() ))
       break;
   if ( !exp.More() ) {
-    TopoDS_Shape f = Fx1z; Fx1z = F1yz; F1yz = f;
+    std::swap( Fx1z, F1yz);
   }
 
   // find vertical edges
@@ -1196,12 +1355,22 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
   theShapeIDMap.Add(F0yz);
   theShapeIDMap.Add(F1yz);
   
-  theShapeIDMap.Add(myShell);
+  theShapeIDMap.Add(theShell);
 
-  if ( theShapeIDMap.Extent() != 27 ) {
-    MESSAGE("LoadBlockShapes() " << theShapeIDMap.Extent() );
-    return false;
-  }
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Initialize block geometry with shapes from theShapeIDMap
+  * \param theShapeIDMap - map of block subshapes
+  * \retval bool - is a success
+ */
+//================================================================================
+
+bool SMESH_Block::LoadBlockShapes(const TopTools_IndexedMapOfOrientedShape& theShapeIDMap)
+{
+  init();
 
   // store shapes geometry
   for ( int shapeID = 1; shapeID < theShapeIDMap.Extent(); shapeID++ )
@@ -1211,59 +1380,24 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
     {
     case TopAbs_VERTEX: {
 
-      if ( shapeID > ID_V111 ) {
-        MESSAGE(" shapeID =" << shapeID );
-        return false;
-      }
-      myPnt[ shapeID - ID_V000 ] =
-        BRep_Tool::Pnt( TopoDS::Vertex( S )).XYZ();
+      if ( !IsVertexID( ID_V111 )) return false;
+      myPnt[ shapeID - ID_V000 ] = BRep_Tool::Pnt( TopoDS::Vertex( S )).XYZ();
       break;
     }
     case TopAbs_EDGE: {
 
+      if ( !IsEdgeID( shapeID )) return false;
       const TopoDS_Edge& edge = TopoDS::Edge( S );
-      if ( shapeID < ID_Ex00 || shapeID > ID_E11z || edge.IsNull() ) {
-        MESSAGE(" shapeID =" << shapeID );
-        return false;
-      }
-      TEdge& tEdge = myEdge[ shapeID - ID_Ex00 ];
-      tEdge.myCoordInd = GetCoordIndOnEdge( shapeID );
-      TopLoc_Location loc;
-      tEdge.myC3d = BRep_Tool::Curve( edge, loc, tEdge.myFirst, tEdge.myLast );
-      if ( !IsForwardEdge( edge, theShapeIDMap ))
-        Swap( tEdge.myFirst, tEdge.myLast );
-      tEdge.myTrsf = loc;
+      TEdge& tEdge = myEdge[ shapeID - ID_FirstE ];
+      tEdge.Set( shapeID,
+                 new BRepAdaptor_Curve( edge ),
+                 IsForwardEdge( edge, theShapeIDMap ));
       break;
     }
     case TopAbs_FACE: {
 
-      const TopoDS_Face& face = TopoDS::Face( S );
-      if ( shapeID < ID_Fxy0 || shapeID > ID_F1yz || face.IsNull() ) {
-        MESSAGE(" shapeID =" << shapeID );
+      if ( !LoadFace( TopoDS::Face( S ), shapeID, theShapeIDMap ))
         return false;
-      }
-      TFace& tFace = myFace[ shapeID - ID_Fxy0 ];
-      // pcurves
-      vector< int > edgeIdVec(4, -1);
-      GetFaceEdgesIDs( shapeID, edgeIdVec );
-      for ( int iE = 0; iE < 4; iE++ ) // loop on 4 edges
-      {
-        const TopoDS_Edge& edge = TopoDS::Edge( theShapeIDMap( edgeIdVec[ iE ]));
-        tFace.myCoordInd[ iE ] = GetCoordIndOnEdge( edgeIdVec[ iE ] );
-        tFace.myC2d[ iE ] =
-          BRep_Tool::CurveOnSurface( edge, face, tFace.myFirst[iE], tFace.myLast[iE] );
-        if ( !IsForwardEdge( edge, theShapeIDMap ))
-          Swap( tFace.myFirst[ iE ], tFace.myLast[ iE ] );
-      }
-      // 2d corners
-      tFace.myCorner[ 0 ] = tFace.myC2d[ 0 ]->Value( tFace.myFirst[0] ).XY();
-      tFace.myCorner[ 1 ] = tFace.myC2d[ 0 ]->Value( tFace.myLast[0] ).XY();
-      tFace.myCorner[ 2 ] = tFace.myC2d[ 1 ]->Value( tFace.myLast[1] ).XY();
-      tFace.myCorner[ 3 ] = tFace.myC2d[ 1 ]->Value( tFace.myFirst[1] ).XY();
-      // sufrace
-      TopLoc_Location loc;
-      tFace.myS = BRep_Tool::Surface( face, loc );
-      tFace.myTrsf = loc;
       break;
     }
     default: break;
@@ -1273,6 +1407,76 @@ bool SMESH_Block::LoadBlockShapes(const TopoDS_Shell&         theShell,
   return true;
 }
 
+//================================================================================
+/*!
+ * \brief Load face geometry
+  * \param theFace - face
+  * \param theFaceID - face in-block ID
+  * \param theShapeIDMap - map of block subshapes
+  * \retval bool - is a success
+ * 
+ * It is enough to compute params or coordinates on the face.
+ * Face subshapes must be loaded into theShapeIDMap before
+ */
+//================================================================================
+
+bool SMESH_Block::LoadFace(const TopoDS_Face& theFace,
+                           const int          theFaceID,
+                           const TopTools_IndexedMapOfOrientedShape& theShapeIDMap)
+{
+  if ( !IsFaceID( theFaceID ) ) return false;
+  // pcurves
+  Adaptor2d_Curve2d* c2d[4];
+  bool isForward[4];
+  vector< int > edgeIdVec;
+  GetFaceEdgesIDs( theFaceID, edgeIdVec );
+  for ( int iE = 0; iE < edgeIdVec.size(); iE++ ) // loop on 4 edges
+  {
+    if ( edgeIdVec[ iE ] > theShapeIDMap.Extent() )
+      return false;
+    const TopoDS_Edge& edge = TopoDS::Edge( theShapeIDMap( edgeIdVec[ iE ]));
+    c2d[ iE ] = new BRepAdaptor_Curve2d( edge, theFace );
+    isForward[ iE ] = IsForwardEdge( edge, theShapeIDMap );
+  }
+  TFace& tFace = myFace[ theFaceID - ID_FirstF ];
+  tFace.Set( theFaceID, new BRepAdaptor_Surface( theFace ), c2d, isForward );
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief/ Insert theShape into theShapeIDMap with theShapeID
+  * \param theShape - shape to insert
+  * \param theShapeID - shape in-block ID
+  * \param theShapeIDMap - map of block subshapes
+ */
+//================================================================================
+
+bool SMESH_Block::Insert(const TopoDS_Shape& theShape,
+                         const int           theShapeID,
+                         TopTools_IndexedMapOfOrientedShape& theShapeIDMap)
+{
+  if ( !theShape.IsNull() && theShapeID > 0 )
+  {
+    if ( theShapeIDMap.Contains( theShape ))
+      return ( theShapeIDMap.FindIndex( theShape ) == theShapeID );
+
+    if ( theShapeID <= theShapeIDMap.Extent() ) {
+        theShapeIDMap.Substitute( theShapeID, theShape );
+    }
+    else {
+      while ( theShapeIDMap.Extent() < theShapeID - 1 ) {
+        TopoDS_Compound comp;
+        BRep_Builder().MakeCompound( comp );
+        theShapeIDMap.Add( comp );
+      }
+      theShapeIDMap.Add( theShape );
+    }
+    return true;
+  }
+  return false;
+}
+
 //=======================================================================
 //function : GetFaceEdgesIDs
 //purpose  : return edges IDs in the order u0, u1, 0v, 1v
@@ -1385,6 +1589,7 @@ void SMESH_Block::GetEdgeVertexIDs (const int edgeID, vector< int >& vertexVec )
     vertexVec[ 1 ] = ID_V111;
     break;
   default:
+    vertexVec.resize(0);
     MESSAGE(" GetEdgeVertexIDs(), wrong edge ID: " << edgeID );
   }
 }
index 3a347a0f505966ac6664f3774ed7ac0371187e3c..fd9ff01e3ae46f0b567f4b24a3b862eb780894ef 100644 (file)
 #ifndef SMESH_Block_HeaderFile
 #define SMESH_Block_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <Geom2d_Curve.hxx>
 #include <Geom_Curve.hxx>
 #include <Geom_Surface.hxx>
 #include <TopExp.hxx>
 #include <TopTools_IndexedMapOfOrientedShape.hxx>
 #include <TopoDS_Edge.hxx>
+#include <TopoDS_Face.hxx>
 #include <TopoDS_Shell.hxx>
 #include <TopoDS_Vertex.hxx>
 #include <gp_Pnt.hxx>
 
 #include <ostream>
 #include <vector>
+#include <list>
 
 class SMDS_MeshVolume;
 class SMDS_MeshNode;
+class Adaptor3d_Surface;
+class Adaptor2d_Curve2d;
+class Adaptor3d_Curve;
 
 // =========================================================
 // class calculating coordinates of 3D points by normalized
 // parameters inside the block and vice versa
 // =========================================================
 
-class SMESH_Block: public math_FunctionSetWithDerivatives
+class SMESH_EXPORT SMESH_Block: public math_FunctionSetWithDerivatives
 {
  public:
-  enum TShapeID { // ids of the block sub-shapes
+  enum TShapeID {
+    // ----------------------------
+    // Ids of the block sub-shapes
+    // ----------------------------
     ID_NONE = 0,
 
     ID_V000 = 1, ID_V100, ID_V010, ID_V110, ID_V001, ID_V101, ID_V011, ID_V111,
@@ -68,9 +78,17 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
 
     ID_Shell
     };
+  enum { // to use TShapeID for indexing certain type subshapes
+
+    ID_FirstV = ID_V000, ID_FirstE = ID_Ex00, ID_FirstF = ID_Fxy0
 
+  };
 
- public: // methods about ids of the block sub-shapes
+
+ public:
+  // -------------------------------------------------
+  // Block topology in terms of block sub-shapes' ids
+  // -------------------------------------------------
 
   static int NbVertices()  { return  8; }
   static int NbEdges()     { return 12; }
@@ -124,7 +142,10 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
   // DEBUG: dump an id of a block sub-shape
 
 
- public: // initialization
+ public:
+  // ---------------
+  // Initialization
+  // ---------------
 
   SMESH_Block (): myNbIterations(0), mySumDist(0.) {}
 
@@ -132,49 +153,92 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
                        const TopoDS_Vertex&        theVertex000,
                        const TopoDS_Vertex&        theVertex001,
                        TopTools_IndexedMapOfOrientedShape& theShapeIDMap );
+  // Initialize block geometry with theShell,
   // add sub-shapes of theBlock to theShapeIDMap so that they get
   // IDs acoording to enum TShapeID
 
+  bool LoadBlockShapes(const TopTools_IndexedMapOfOrientedShape& theShapeIDMap);
+  // Initialize block geometry with shapes from theShapeIDMap
+
   bool LoadMeshBlock(const SMDS_MeshVolume*        theVolume,
                      const int                     theNode000Index,
                      const int                     theNode001Index,
                      vector<const SMDS_MeshNode*>& theOrderedNodes);
   // prepare to work with theVolume and
-  // return nodes in the order of TShapeID enum
-
+  // return nodes in theVolume corners in the order of TShapeID enum
+
+  bool LoadFace(const TopoDS_Face& theFace,
+                const int          theFaceID,
+                const TopTools_IndexedMapOfOrientedShape& theShapeIDMap);
+  // Load face geometry.
+  // It is enough to compute params or coordinates on the face.
+  // Face subshapes must be loaded into theShapeIDMap before
+
+  static bool Insert(const TopoDS_Shape& theShape,
+                     const int           theShapeID,
+                     TopTools_IndexedMapOfOrientedShape& theShapeIDMap);
+  // Insert theShape into theShapeIDMap with theShapeID,
+  // Not yet set shapes preceding theShapeID are filled with compounds
+  // Return true if theShape was successfully bound to theShapeID
+
+  static bool FindBlockShapes(const TopoDS_Shell&         theShell,
+                              const TopoDS_Vertex&        theVertex000,
+                              const TopoDS_Vertex&        theVertex001,
+                              TopTools_IndexedMapOfOrientedShape& theShapeIDMap );
+  // add sub-shapes of theBlock to theShapeIDMap so that they get
+  // IDs acoording to enum TShapeID
 
- public: // define coordinates by parameters
+public:
+  // ---------------------------------
+  // Define coordinates by parameters
+  // ---------------------------------
 
   bool VertexPoint( const int theVertexID, gp_XYZ& thePoint ) const {
     if ( !IsVertexID( theVertexID ))           return false;
-    thePoint = myPnt[ theVertexID - ID_V000 ]; return true;
+    thePoint = myPnt[ theVertexID - ID_FirstV ]; return true;
   }
   // return vertex coordinates, parameters are defined by theVertexID
 
   bool EdgePoint( const int theEdgeID, const gp_XYZ& theParams, gp_XYZ& thePoint ) const {
     if ( !IsEdgeID( theEdgeID ))                                 return false;
-    thePoint = myEdge[ theEdgeID - ID_Ex00 ].Point( theParams ); return true;
+    thePoint = myEdge[ theEdgeID - ID_FirstE ].Point( theParams ); return true;
   }
   // return coordinates of a point on edge
 
+  bool EdgeU( const int theEdgeID, const gp_XYZ& theParams, double& theU ) const {
+    if ( !IsEdgeID( theEdgeID ))                              return false;
+    theU = myEdge[ theEdgeID - ID_FirstE ].GetU( theParams ); return true;
+  }
+  // return parameter on edge by in-block parameters
+
   bool FacePoint( const int theFaceID, const gp_XYZ& theParams, gp_XYZ& thePoint ) const {
     if ( !IsFaceID ( theFaceID ))                                return false;
-    thePoint = myFace[ theFaceID - ID_Fxy0 ].Point( theParams ); return true;
+    thePoint = myFace[ theFaceID - ID_FirstF ].Point( theParams ); return true;
   }
   // return coordinates of a point on face
 
+  bool FaceUV( const int theFaceID, const gp_XYZ& theParams, gp_XY& theUV ) const {
+    if ( !IsFaceID ( theFaceID ))                               return false;
+    theUV = myFace[ theFaceID - ID_FirstF ].GetUV( theParams ); return true;
+  }
+  // return UV coordinates on a face by in-block parameters
+
   bool ShellPoint( const gp_XYZ& theParams, gp_XYZ& thePoint ) const;
   // return coordinates of a point in shell
 
   static bool ShellPoint(const gp_XYZ&         theParams,
                          const vector<gp_XYZ>& thePointOnShape,
                          gp_XYZ&               thePoint );
-  // computes coordinates of a point in shell by points on sub-shapes;
+  // computes coordinates of a point in shell by points on sub-shapes
+  // and point parameters.
   // thePointOnShape[ subShapeID ] must be a point on a subShape;
   // thePointOnShape.size() == ID_Shell, thePointOnShape[0] not used
 
 
- public: // define parameters by coordinates
+ public:
+  // ---------------------------------
+  // Define parameters by coordinates
+  // ---------------------------------
 
   bool ComputeParameters (const gp_Pnt& thePoint,
                           gp_XYZ&       theParams,
@@ -189,22 +253,40 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
   // return parameters of a point given by theU on edge
 
 
- public: // services
+ public:
+  // ---------------
+  // Block geomerty
+  // ---------------
 
-  static bool IsForwardEdge (const TopoDS_Edge &                 theEdge,
-                             TopTools_IndexedMapOfOrientedShape& theShapeIDMap) {
+  
+  
+ public:
+  // ---------
+  // Services
+  // ---------
+
+  static bool IsForwardEdge (const TopoDS_Edge &                       theEdge,
+                             const TopTools_IndexedMapOfOrientedShape& theShapeIDMap) {
     int v1ID = theShapeIDMap.FindIndex( TopExp::FirstVertex( theEdge ).Oriented( TopAbs_FORWARD ));
     int v2ID = theShapeIDMap.FindIndex( TopExp::LastVertex( theEdge ).Oriented( TopAbs_FORWARD ));
     return ( v1ID < v2ID );
   }
   // Return true if an in-block parameter increases along theEdge curve
 
-  static void Swap(double& a, double& b) { double tmp = a; a = b; b = tmp; }
-
+  static int GetOrderedEdges (const TopoDS_Face&        theFace,
+                              TopoDS_Vertex             theFirstVertex,
+                              std::list< TopoDS_Edge >& theEdges,
+                              std::list< int >  &       theNbVertexInWires);
+  // Return nb wires and a list of oredered edges.
+  // It is used to assign indices to subshapes.
+  // theFirstVertex may be NULL.
+  // Always try to set a seam edge first
 
  public:
-  // methods of math_FunctionSetWithDerivatives used internally
+  // -----------------------------------------------------------
+  // Methods of math_FunctionSetWithDerivatives used internally
   // to define parameters by coordinates
+  // -----------------------------------------------------------
   Standard_Integer NbVariables() const;
   Standard_Integer NbEquations() const;
   Standard_Boolean Value(const math_Vector& X,math_Vector& F) ;
@@ -212,41 +294,61 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
   Standard_Boolean Values(const math_Vector& X,math_Vector& F,math_Matrix& D) ;
   Standard_Integer GetStateNumber ();
 
- private:
+ protected:
+
+  /*!
+   * \brief Call it after geometry initialisation
+   */
+  void init();
 
-  struct TEdge {
+  // Note: to compute params of a point on a face, it is enough to set
+  // TFace, TEdge's and points for that face only
+
+  class SMESH_EXPORT TEdge {
     int                myCoordInd;
     double             myFirst;
     double             myLast;
-    Handle(Geom_Curve) myC3d;
-    gp_Trsf            myTrsf;
-    double GetU( const gp_XYZ& theParams ) const;
-    gp_XYZ Point( const gp_XYZ& theParams ) const;
+    Adaptor3d_Curve*   myC3d;
     // if mesh volume
     gp_XYZ             myNodes[2];
+  public:
+    void Set( const int edgeID, Adaptor3d_Curve* curve, const bool isForward );
+    void Set( const int edgeID, const gp_XYZ& node1, const gp_XYZ& node2 );
+    Adaptor3d_Curve* GetCurve() const { return myC3d; }
+    double EndParam(int i) const { return i ? myLast : myFirst; }
+    int CoordInd() const { return myCoordInd; }
+    const gp_XYZ& NodeXYZ(int i) const { return i ? myNodes[1] : myNodes[0]; }
+    gp_XYZ Point( const gp_XYZ& theParams ) const; // Return coord by params
+    double GetU( const gp_XYZ& theParams ) const;  // Return U by params
+    TEdge(): myC3d(0) {}
+    ~TEdge();
   };
 
-  struct TFace {
+  class SMESH_EXPORT TFace {
     // 4 edges in the order u0, u1, 0v, 1v
     int                  myCoordInd[ 4 ];
     double               myFirst   [ 4 ];
     double               myLast    [ 4 ];
-    Handle(Geom2d_Curve) myC2d     [ 4 ];
+    Adaptor2d_Curve2d*   myC2d     [ 4 ];
     // 4 corner points in the order 00, 10, 11, 01
     gp_XY                myCorner  [ 4 ];
     // surface
-    Handle(Geom_Surface) myS;
-    gp_Trsf              myTrsf;
+    Adaptor3d_Surface*   myS;
+    // if mesh volume
+    gp_XYZ               myNodes[4];
+  public:
+    void Set( const int faceID, Adaptor3d_Surface* S, // must be in GetFaceEdgesIDs() order:
+              Adaptor2d_Curve2d* c2d[4], const bool isForward[4] );
+    void Set( const int faceID, const TEdge& edgeU0, const TEdge& edgeU1 );
     gp_XY  GetUV( const gp_XYZ& theParams ) const;
     gp_XYZ Point( const gp_XYZ& theParams ) const;
     int GetUInd() const { return myCoordInd[ 0 ]; }
     int GetVInd() const { return myCoordInd[ 2 ]; }
     void GetCoefs( int i, const gp_XYZ& theParams, double& eCoef, double& vCoef ) const;
-    // if mesh volume
-    gp_XYZ               myNodes[4];
+    TFace(): myS(0) { myC2d[0]=myC2d[1]=myC2d[2]=myC2d[3]=0; }
+    ~TFace();
   };
 
-  TopoDS_Shell myShell;
   // geometry in the order as in TShapeID:
   // 8 vertices
   gp_XYZ myPnt[ 8 ];
@@ -264,10 +366,10 @@ class SMESH_Block: public math_FunctionSetWithDerivatives
 
   gp_XYZ   myPoint; // the given point
   gp_XYZ   myParam; // the best parameters guess
-  double   myValues[ 4 ]; // values computed at myParam
+  double   myValues[ 4 ]; // values computed at myParam: function value and 3 derivatives
 
   typedef pair<gp_XYZ,gp_XYZ> TxyzPair;
-  TxyzPair my3x3x3GridNodes[ 27 ];
+  TxyzPair my3x3x3GridNodes[ 27 ]; // to compute the first param guess
   bool     myGridComputed;
 };
 
index 16a847baa4a009befa9d49476a0c052474d7cf66..1fee866c64b70930d05fa673c6a255923cf4659f 100644 (file)
 #ifndef SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
 #define SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <SMESH_SequenceOfElemPtr.hxx>
 
 #include <NCollection_DefineDataMap.hxx>
 
+SMESH_EXPORT 
 inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
                                  const Standard_Integer theUpper)
 {
@@ -37,6 +40,7 @@ inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
   return HashCode(anElem,theUpper);
 }
 
+SMESH_EXPORT 
 inline Standard_Boolean IsEqual(SMDS_MeshElementPtr theOne,
                                 SMDS_MeshElementPtr theTwo)
 {
index 1febbb03a9c115e3def980976eb6cb06f5c914e6..9fa10ca3e8e66722e78f319d4593beb0e3404d59 100644 (file)
@@ -373,12 +373,21 @@ static bool checkMissing(SMESH_Gen*                aGen,
     bool IsGlobalHypothesis = aGen->IsGlobalHypothesis( algo, aMesh );
     if (!IsGlobalHypothesis || !globalChecked[ algo->GetDim() ])
     {
-      INFOS( "ERROR: " << (IsGlobalHypothesis ? "Global " : "Local ")
-            << "<" << algo->GetName() << "> misses some hypothesis");
+      SMESH_Gen::TAlgoStateErrorName errName = SMESH_Gen::MISSING_HYPO;
+      SMESH_Hypothesis::Hypothesis_Status status;
+      algo->CheckHypothesis( aMesh, aSubMesh->GetSubShape(), status );
+      if ( status == SMESH_Hypothesis::HYP_BAD_PARAMETER ) {
+        INFOS( "ERROR: hypothesis of " << (IsGlobalHypothesis ? "Global " : "Local ")
+               << "<" << algo->GetName() << "> has a bad parameter value");
+        errName = SMESH_Gen::BAD_PARAM_VALUE;
+      } else {
+        INFOS( "ERROR: " << (IsGlobalHypothesis ? "Global " : "Local ")
+               << "<" << algo->GetName() << "> misses some hypothesis");
+      }
       if (IsGlobalHypothesis)
         globalChecked[ algo->GetDim() ] = true;
       theErrors.push_back( SMESH_Gen::TAlgoStateError() );
-      theErrors.back().Set( SMESH_Gen::MISSING_HYPO, algo, IsGlobalHypothesis );
+      theErrors.back().Set( errName, algo, IsGlobalHypothesis );
     }
     ret = false;
     break;
@@ -613,7 +622,6 @@ bool SMESH_Gen::IsGlobalHypothesis(const SMESH_Hypothesis* theHyp, SMESH_Mesh& a
 
 SMESH_Algo *SMESH_Gen::GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape)
 {
-//  MESSAGE("SMESH_Gen::GetAlgo");
 
   SMESH_HypoFilter filter( SMESH_HypoFilter::IsAlgo() );
   filter.And( filter.IsApplicableTo( aShape ));
@@ -624,15 +632,6 @@ SMESH_Algo *SMESH_Gen::GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape)
   if ( algoList.empty() )
     return NULL;
 
-  // Now it is checked in SMESH_Mesh::GetHypotheses()
-//   if (algoList.size() > 1 ) { // check if there is one algo several times
-//     list <const SMESHDS_Hypothesis * >::iterator algo = algoList.begin();
-//     for ( ; algo != algoList.end(); ++algo )
-//       if ( (*algo) != algoList.front() &&
-//            (*algo)->GetName() != algoList.front()->GetName() )
-//         return NULL;
-//   }
-
   return const_cast<SMESH_Algo*> ( static_cast<const SMESH_Algo* >( algoList.front() ));
 }
 
index f2887c0443a22986355b7b6da4d7346c6b23e141..b7e8639d8c165a243e2bbbbf5477ec0de02b345f 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_GEN_HXX_
 #define _SMESH_GEN_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "Utils_SALOME_Exception.hxx"
 
 #include "SMESH_Hypothesis.hxx"
@@ -52,7 +54,7 @@ typedef struct studyContextStruct
          SMESHDS_Document * myDocument;
 } StudyContextStruct;
 
-class SMESH_Gen
+class SMESH_EXPORT  SMESH_Gen
 {
  public:
   SMESH_Gen();
@@ -69,7 +71,11 @@ class SMESH_Gen
   // if Compute() would fail because of some algo bad state
 
   
-  enum TAlgoStateErrorName { NONE=0, MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH };
+  enum TAlgoStateErrorName { NONE=0,
+                             MISSING_ALGO,
+                             MISSING_HYPO,
+                             NOT_CONFORM_MESH,
+                             BAD_PARAM_VALUE };
   struct TAlgoStateError
   {
     TAlgoStateErrorName _name;
index 72ee80a79c43b446cd3200388eb5664f3abf0956..1b13bc57859985b2efbf44f4820e7f935b151b3d 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _SMESH_Group_HeaderFile
 #define _SMESH_Group_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <SMDSAbs_ElementType.hxx>
 #include <string>
 #include <TopoDS_Shape.hxx>
@@ -36,7 +38,7 @@
 class SMESHDS_GroupBase;
 class SMESH_Mesh;
 
-class SMESH_Group
+class SMESH_EXPORT  SMESH_Group
 {
  public:
 
index a56d7d0f7e4c6a2b83a8310c16596e881f6744fd..ca883167ef71e953dcb919e0f22f89de0c86f0ee 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESH_HypoFilter_HeaderFile
 #define SMESH_HypoFilter_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 // ===========================
 // Filter of SMESH_Hypothesis
 // ===========================
@@ -40,7 +42,7 @@
 class SMESH_HypoFilter;
 class SMESH_Hypothesis;
 
-class SMESH_HypoPredicate {
+class SMESH_EXPORT SMESH_HypoPredicate {
  public:
   virtual bool IsOk(const SMESH_Hypothesis* aHyp,
                     const TopoDS_Shape&     aShape) const = 0;
@@ -51,7 +53,7 @@ class SMESH_HypoPredicate {
   friend class SMESH_HypoFilter;
 };
 
-class SMESH_HypoFilter: public SMESH_HypoPredicate
+class SMESH_EXPORT SMESH_HypoFilter: public SMESH_HypoPredicate
 {
  public:
   // Create and add predicates.
index cc179d31cdf03bf812855d84a6235978f9308d3c..36564d322c4f8a04a5017a2f175f00a4ee31c593 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-using namespace std;
 #include "SMESH_Hypothesis.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  * 
index 3a8c3d2e69c894a90427bc2dc859d9db69ce8f36..f4a4d18d27eec64d012d3ab0c7e5538ef77818c3 100644 (file)
 #ifndef _SMESH_HYPOTHESIS_HXX_
 #define _SMESH_HYPOTHESIS_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESHDS_Hypothesis.hxx"
 
 class SMESH_Gen;
 class TopoDS_Shape;
 class SMESH_Mesh;
 
-class SMESH_Hypothesis: public SMESHDS_Hypothesis
+class SMESH_EXPORT SMESH_Hypothesis: public SMESHDS_Hypothesis
 {
 public:
   enum Hypothesis_Status // in the order of severity
@@ -50,7 +52,8 @@ public:
     HYP_NOTCONFORM,   // not conform mesh is produced appling a hypothesis
     HYP_ALREADY_EXIST,// such hypothesis already exist
     HYP_BAD_DIM,      // bad dimension
-    HYP_BAD_SUBSHAPE  // shape is neither the main one, nor its subshape, nor a group
+    HYP_BAD_SUBSHAPE, // shape is neither the main one, nor its subshape, nor a group
+    HYP_BAD_GEOMETRY  // shape geometry mismatches algorithm's expectation
   };
   static bool IsStatusFatal(Hypothesis_Status theStatus)
   { return theStatus >= HYP_UNKNOWN_FATAL; }
index 952bb972d842338bc9ef99805a379484dd986ca7..678e995c969f67e706d36ad9ddfce8564eff137b 100644 (file)
 #ifndef SMESH_IndexedMapOfShape_HeaderFile
 #define SMESH_IndexedMapOfShape_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
+#include "SMESHDS_DataMapOfShape.hxx"
+
 #include <NCollection_DefineIndexedMap.hxx>
 
 #include <TopoDS_Shape.hxx>
 
-inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
-                                const TopoDS_Shape& S2)
-{
-  return S1.IsSame(S2);
-}
-
 ///  Class SMESH_IndexedMapOfShape
 
 DEFINE_BASECOLLECTION (SMESH_BaseCollectionShape, TopoDS_Shape)
index a56b7a82629198113822ba7002b24c507119dd6a..8181e062bd6c01c532cdbe1e5fb9bf605d835a38 100644 (file)
@@ -72,6 +72,7 @@ static int MYDEBUG = 0;
 static int MYDEBUG = 0;
 #endif
 
+#define cSMESH_Hyp(h) static_cast<const SMESH_Hypothesis*>(h)
 
 //=============================================================================
 /*!
@@ -359,21 +360,17 @@ SMESH_Hypothesis::Hypothesis_Status
 
   // shape 
 
-  int event;
-  if (anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO)
-    event = SMESH_subMesh::ADD_HYP;
-  else
-    event = SMESH_subMesh::ADD_ALGO;
+  bool isAlgo = ( !anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO );
+  int event = isAlgo ? SMESH_subMesh::ADD_ALGO : SMESH_subMesh::ADD_HYP;
+
   SMESH_Hypothesis::Hypothesis_Status ret = subMesh->AlgoStateEngine(event, anHyp);
 
   // subShapes
   if (!SMESH_Hypothesis::IsStatusFatal(ret) &&
-      !subMesh->IsApplicableHypotesis( anHyp )) // is added on father
+      anHyp->GetDim() <= SMESH_Gen::GetShapeDim(aSubShape)) // is added on father
   {
-    if (anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO)
-      event = SMESH_subMesh::ADD_FATHER_HYP;
-    else
-      event = SMESH_subMesh::ADD_FATHER_ALGO;
+    event = isAlgo ? SMESH_subMesh::ADD_FATHER_ALGO : SMESH_subMesh::ADD_FATHER_HYP;
+
     SMESH_Hypothesis::Hypothesis_Status ret2 =
       subMesh->SubMeshesAlgoStateEngine(event, anHyp);
     if (ret2 > ret)
@@ -444,14 +441,12 @@ SMESH_Hypothesis::Hypothesis_Status
   SMESH_Hypothesis *anHyp = sc->mapHypothesis[anHypId];
   int hypType = anHyp->GetType();
   if(MYDEBUG) SCRUTE(hypType);
-  int event;
   
   // shape 
   
-  if (anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO)
-    event = SMESH_subMesh::REMOVE_HYP;
-  else
-    event = SMESH_subMesh::REMOVE_ALGO;
+  bool isAlgo = ( !anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO );
+  int event = isAlgo ? SMESH_subMesh::REMOVE_ALGO : SMESH_subMesh::REMOVE_HYP;
+
   SMESH_Hypothesis::Hypothesis_Status ret = subMesh->AlgoStateEngine(event, anHyp);
 
   // there may appear concurrent hyps that were covered by the removed hyp
@@ -462,12 +457,10 @@ SMESH_Hypothesis::Hypothesis_Status
 
   // subShapes
   if (!SMESH_Hypothesis::IsStatusFatal(ret) &&
-      !subMesh->IsApplicableHypotesis( anHyp )) // is removed from father
+      anHyp->GetDim() <= SMESH_Gen::GetShapeDim(aSubShape)) // is removed from father
   {
-    if (anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO)
-      event = SMESH_subMesh::REMOVE_FATHER_HYP;
-    else
-      event = SMESH_subMesh::REMOVE_FATHER_ALGO;
+    event = isAlgo ? SMESH_subMesh::REMOVE_FATHER_ALGO : SMESH_subMesh::REMOVE_FATHER_HYP;
+
     SMESH_Hypothesis::Hypothesis_Status ret2 =
       subMesh->SubMeshesAlgoStateEngine(event, anHyp);
     if (ret2 > ret) // more severe
@@ -521,8 +514,13 @@ SMESH_Mesh::GetHypothesisList(const TopoDS_Shape & aSubShape) const
 }
 
 //=======================================================================
-//function : GetHypothesis
-//purpose  : 
+/*!
+ * \brief Return the hypothesis assigned to the shape
+  * \param aSubShape - the shape to check
+  * \param aFilter - the hypothesis filter
+  * \param andAncestors - flag to check hypos assigned to ancestors of the shape
+  * \retval SMESH_Hypothesis* - the first hypo passed through aFilter
+ */
 //=======================================================================
 
 const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const TopoDS_Shape &    aSubShape,
@@ -533,7 +531,7 @@ const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const TopoDS_Shape &    aSubS
     const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
     list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
     for ( ; hyp != hypList.end(); hyp++ ) {
-      const SMESH_Hypothesis * h = static_cast<const SMESH_Hypothesis*>( *hyp );
+      const SMESH_Hypothesis * h = cSMESH_Hyp( *hyp );
       if ( aFilter.IsOk( h, aSubShape))
         return h;
     }
@@ -546,7 +544,7 @@ const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const TopoDS_Shape &    aSubS
       const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(it.Value());
       list<const SMESHDS_Hypothesis*>::const_iterator hyp = hypList.begin();
       for ( ; hyp != hypList.end(); hyp++ ) {
-        const SMESH_Hypothesis * h = static_cast<const SMESH_Hypothesis*>( *hyp );
+        const SMESH_Hypothesis * h = cSMESH_Hyp( *hyp );
         if (aFilter.IsOk( h, it.Value() ))
           return h;
       }
@@ -555,11 +553,6 @@ const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const TopoDS_Shape &    aSubS
   return 0;
 }
 
-//=======================================================================
-//function : GetHypotheses
-//purpose  : 
-//=======================================================================
-
 //================================================================================
 /*!
  * \brief Return hypothesis assigned to the shape
@@ -579,21 +572,30 @@ int SMESH_Mesh::GetHypotheses(const TopoDS_Shape &                aSubShape,
   set<string> hypTypes; // to exclude same type hypos from the result list
   int nbHyps = 0;
 
+  // only one main hypothesis is allowed
+  bool mainHypFound = false;
+
   // fill in hypTypes
   list<const SMESHDS_Hypothesis*>::const_iterator hyp;
-  for ( hyp = aHypList.begin(); hyp != aHypList.end(); hyp++ )
+  for ( hyp = aHypList.begin(); hyp != aHypList.end(); hyp++ ) {
     if ( hypTypes.insert( (*hyp)->GetName() ).second )
       nbHyps++;
+    if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() )
+      mainHypFound = true;
+  }
 
   // get hypos from aSubShape
   {
     const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(aSubShape);
     for ( hyp = hypList.begin(); hyp != hypList.end(); hyp++ )
-      if ( aFilter.IsOk (static_cast<const SMESH_Hypothesis*>( *hyp ), aSubShape) &&
+      if ( aFilter.IsOk (cSMESH_Hyp( *hyp ), aSubShape) &&
+           ( cSMESH_Hyp(*hyp)->IsAuxiliary() || !mainHypFound ) &&
            hypTypes.insert( (*hyp)->GetName() ).second )
       {
         aHypList.push_back( *hyp );
         nbHyps++;
+        if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() )
+          mainHypFound = true;
       }
   }
 
@@ -608,10 +610,14 @@ int SMESH_Mesh::GetHypotheses(const TopoDS_Shape &                aSubShape,
         continue;
       const list<const SMESHDS_Hypothesis*>& hypList = _myMeshDS->GetHypothesis(it.Value());
       for ( hyp = hypList.begin(); hyp != hypList.end(); hyp++ )
-        if (aFilter.IsOk( static_cast<const SMESH_Hypothesis*>( *hyp ), it.Value() ) &&
-            hypTypes.insert( (*hyp)->GetName() ).second ) {
+        if (aFilter.IsOk( cSMESH_Hyp( *hyp ), it.Value() ) &&
+            ( cSMESH_Hyp(*hyp)->IsAuxiliary() || !mainHypFound ) &&
+            hypTypes.insert( (*hyp)->GetName() ).second )
+        {
           aHypList.push_back( *hyp );
           nbHyps++;
+          if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() )
+            mainHypFound = true;
         }
     }
   }
@@ -812,7 +818,7 @@ void SMESH_Mesh::NotifySubMeshesHypothesisModification(const SMESH_Hypothesis* t
 {
   Unexpect aCatch(SalomeException);
 
-  const SMESH_Hypothesis* hyp = static_cast<const SMESH_Hypothesis*>(theChangedHyp);
+  const SMESH_Hypothesis* hyp = cSMESH_Hyp(theChangedHyp);
 
   const SMESH_Algo *foundAlgo = 0;
   SMESH_HypoFilter algoKind( SMESH_HypoFilter::IsAlgo() );
index 0e6e1aabe9df80b3dbca2a3b406b96da9f04df68..35bd13d506d37437e38541e17558adc3e0d86581 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_MESH_HXX_
 #define _SMESH_MESH_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 //#include "SMESH_subMesh.hxx"
 
@@ -74,7 +76,7 @@ class SMESH_HypoFilter;
 //typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
 typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
 
-class SMESH_Mesh
+class SMESH_EXPORT SMESH_Mesh
 {
   SMESH_Mesh();
   SMESH_Mesh(const SMESH_Mesh&);
index c0a3b277175707f0459d8a81a2f6056725ea6833..3ace850f359b990791c4f94da9dd860d5f23f8d1 100644 (file)
@@ -73,7 +73,6 @@
 using namespace std;
 using namespace SMESH::Controls;
 
-typedef map<const SMDS_MeshNode*, const SMDS_MeshNode*>              TNodeNodeMap;
 typedef map<const SMDS_MeshElement*, list<const SMDS_MeshNode*> >    TElemOfNodeListMap;
 typedef map<const SMDS_MeshElement*, list<const SMDS_MeshElement*> > TElemOfElemListMap;
 typedef map<const SMDS_MeshNode*, list<const SMDS_MeshNode*> >       TNodeOfNodeListMap;
@@ -83,7 +82,7 @@ typedef TNodeOfNodeListMap::iterator                                 TNodeOfNode
 typedef map<const SMDS_MeshElement*, vector<TNodeOfNodeListMapItr> > TElemOfVecOfNnlmiMap;
 //typedef map<const SMDS_MeshElement*, vector<TNodeOfNodeVecMapItr> >  TElemOfVecOfMapNodesMap;
 
-typedef pair<const SMDS_MeshNode*, const SMDS_MeshNode*> NLink;
+typedef pair< const SMDS_MeshNode*, const SMDS_MeshNode* > NLink;
 
 //=======================================================================
 //function : SMESH_MeshEditor
@@ -874,7 +873,7 @@ bool SMESH_MeshEditor::QuadToTri (map<int,const SMDS_MeshElement*> &   theElems,
     }
     else {
 
-      // split qudratic quadrangle
+      // split quadratic quadrangle
 
       // get surface elem is on
       if ( aShapeId != helper.GetSubShapeID() ) {
@@ -945,7 +944,7 @@ bool SMESH_MeshEditor::QuadToTri (map<int,const SMDS_MeshElement*> &   theElems,
       }
       aMesh->ChangeElementNodes( elem, N, 6 );
 
-    } // qudratic case
+    } // quadratic case
 
     // care of a new element
 
@@ -2579,8 +2578,8 @@ void SMESH_MeshEditor::Smooth (map<int,const SMDS_MeshElement*> & theElems,
 //           iNotSame is where prevNodes and nextNodes are different
 //=======================================================================
 
-static bool isReverse(const SMDS_MeshNode* prevNodes[],
-                      const SMDS_MeshNode* nextNodes[],
+static bool isReverse(vector<const SMDS_MeshNode*> prevNodes,
+                      vector<const SMDS_MeshNode*> nextNodes,
                       const int            nbNodes,
                       const int            iNotSame)
 {
@@ -2617,12 +2616,18 @@ static void sweepElement(SMESHDS_Mesh*                         aMesh,
   // Loop on elem nodes:
   // find new nodes and detect same nodes indices
   int nbNodes = elem->NbNodes();
-  list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
-  const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ], *midlNod[ nbNodes ];
+  //list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
+  vector<list<const SMDS_MeshNode*>::const_iterator> itNN( nbNodes );
+  //const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ];
+  vector<const SMDS_MeshNode*> prevNod( nbNodes );
+  vector<const SMDS_MeshNode*> nextNod( nbNodes );
+  vector<const SMDS_MeshNode*> midlNod( nbNodes );
+
   int iNode, nbSame = 0, iNotSameNode = 0, iSameNode = 0;
   vector<int> sames(nbNodes);
 
-  bool issimple[nbNodes];
+  //bool issimple[nbNodes];
+  vector<bool> issimple(nbNodes);
 
   for ( iNode = 0; iNode < nbNodes; iNode++ ) {
     TNodeOfNodeListMapItr nnIt = newNodesItVec[ iNode ];
@@ -4274,7 +4279,8 @@ int SMESH_MeshEditor::SimplifyFace (const vector<const SMDS_MeshNode *> faceNode
   set<const SMDS_MeshNode*> nodeSet;
 
   // get simple seq of nodes
-  const SMDS_MeshNode* simpleNodes[ nbNodes ];
+  //const SMDS_MeshNode* simpleNodes[ nbNodes ];
+  vector<const SMDS_MeshNode*> simpleNodes( nbNodes );
   int iSimple = 0, nbUnique = 0;
 
   simpleNodes[iSimple++] = faceNodes[0];
@@ -4364,7 +4370,7 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
     list<const SMDS_MeshNode*>& nodes = *grIt;
     list<const SMDS_MeshNode*>::iterator nIt = nodes.begin();
     const SMDS_MeshNode* nToKeep = *nIt;
-    for ( ; nIt != nodes.end(); nIt++ ) {
+    for ( ++nIt; nIt != nodes.end(); nIt++ ) {
       const SMDS_MeshNode* nToRemove = *nIt;
       nodeNodeMap.insert( TNodeNodeMap::value_type( nToRemove, nToKeep ));
       if ( nToRemove != nToKeep ) {
@@ -4388,8 +4394,12 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
     int aShapeId = FindShape( elem );
 
     set<const SMDS_MeshNode*> nodeSet;
-    const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
-    int iUnique = 0, iCur = 0, nbRepl = 0, iRepl [ nbNodes ];
+    //const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
+    const SMDS_MeshNode** curNodes = new const SMDS_MeshNode*[ nbNodes ];
+    const SMDS_MeshNode** uniqueNodes = new const SMDS_MeshNode*[ nbNodes ];
+    
+    int iUnique = 0, iCur = 0, nbRepl = 0;
+    vector<int> iRepl( nbNodes );
 
     // get new seq of nodes
     SMDS_ElemIteratorPtr itN = elem->nodesIterator();
@@ -4873,13 +4883,14 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
       rmElemIds.push_back( elem->GetID() );
     }
 
+    delete curNodes;
+    delete uniqueNodes;
   } // loop on elements
 
   // Remove equal nodes and bad elements
 
   Remove( rmNodeIds, true );
   Remove( rmElemIds, false );
-
 }
 
 
@@ -4989,7 +5000,9 @@ const SMDS_MeshElement*
       continue;
     // get face nodes and find index of n1
     int i1, nbN = elem->NbNodes(), iNode = 0;
-    const SMDS_MeshNode* faceNodes[ nbN ], *n;
+    //const SMDS_MeshNode* faceNodes[ nbN ], *n;
+    vector<const SMDS_MeshNode*> faceNodes( nbN );
+    const SMDS_MeshNode* n;
     SMDS_ElemIteratorPtr nIt = elem->nodesIterator();
     while ( nIt->more() ) {
       faceNodes[ iNode ] = static_cast<const SMDS_MeshNode*>( nIt->next() );
@@ -5064,17 +5077,17 @@ static const SMDS_MeshElement* findAdjacentFace(const SMDS_MeshNode* n1,
 }
 
 //=======================================================================
-//function : findFreeBorder
+//function : FindFreeBorder
 //purpose  :
 //=======================================================================
 
 #define ControlFreeBorder SMESH::Controls::FreeEdges::IsFreeEdge
 
-static bool findFreeBorder (const SMDS_MeshNode*                theFirstNode,
-                            const SMDS_MeshNode*                theSecondNode,
-                            const SMDS_MeshNode*                theLastNode,
-                            list< const SMDS_MeshNode* > &      theNodes,
-                            list< const SMDS_MeshElement* > &   theFaces)
+bool SMESH_MeshEditor::FindFreeBorder (const SMDS_MeshNode*             theFirstNode,
+                                       const SMDS_MeshNode*             theSecondNode,
+                                       const SMDS_MeshNode*             theLastNode,
+                                       list< const SMDS_MeshNode* > &   theNodes,
+                                       list< const SMDS_MeshElement* >& theFaces)
 {
   if ( !theFirstNode || !theSecondNode )
     return false;
@@ -5106,7 +5119,9 @@ static bool findFreeBorder (const SMDS_MeshNode*                theFirstNode,
       if ( e == curElem || foundElems.insert( e ).second ) {
         // get nodes
         int iNode = 0, nbNodes = e->NbNodes();
-        const SMDS_MeshNode* nodes[nbNodes+1];
+        //const SMDS_MeshNode* nodes[nbNodes+1];
+        vector<const SMDS_MeshNode*> nodes(nbNodes+1);
+        
         if(e->IsQuadratic()) {
           const SMDS_QuadraticFaceOfNodes* F =
             static_cast<const SMDS_QuadraticFaceOfNodes*>(e);
@@ -5173,7 +5188,7 @@ static bool findFreeBorder (const SMDS_MeshNode*                theFirstNode,
         cNL = & contNodes[ contNodes[0].empty() ? 0 : 1 ];
         cFL = & contFaces[ contFaces[0].empty() ? 0 : 1 ];
         // find one more free border
-        if ( ! findFreeBorder( nIgnore, nStart, theLastNode, *cNL, *cFL )) {
+        if ( ! FindFreeBorder( nStart, *nStartIt, theLastNode, *cNL, *cFL )) {
           cNL->clear();
           cFL->clear();
         }
@@ -5217,7 +5232,7 @@ bool SMESH_MeshEditor::CheckFreeBorderNodes(const SMDS_MeshNode* theNode1,
 {
   list< const SMDS_MeshNode* > nodes;
   list< const SMDS_MeshElement* > faces;
-  return findFreeBorder( theNode1, theNode2, theNode3, nodes, faces);
+  return FindFreeBorder( theNode1, theNode2, theNode3, nodes, faces);
 }
 
 //=======================================================================
@@ -5253,7 +5268,7 @@ SMESH_MeshEditor::Sew_Error
 
   // Free border 1
   // --------------
-  if (!findFreeBorder(theBordFirstNode,theBordSecondNode,theBordLastNode,
+  if (!FindFreeBorder(theBordFirstNode,theBordSecondNode,theBordLastNode,
                       nSide[0], eSide[0])) {
     MESSAGE(" Free Border 1 not found " );
     aResult = SEW_BORDER1_NOT_FOUND;
@@ -5261,7 +5276,7 @@ SMESH_MeshEditor::Sew_Error
   if (theSideIsFreeBorder) {
     // Free border 2
     // --------------
-    if (!findFreeBorder(theSideFirstNode, theSideSecondNode, theSideThirdNode,
+    if (!FindFreeBorder(theSideFirstNode, theSideSecondNode, theSideThirdNode,
                         nSide[1], eSide[1])) {
       MESSAGE(" Free Border 2 not found " );
       aResult = ( aResult != SEW_OK ? SEW_BOTH_BORDERS_NOT_FOUND : SEW_BORDER2_NOT_FOUND );
@@ -5366,13 +5381,15 @@ SMESH_MeshEditor::Sew_Error
       checkedLinkIDs.clear();
       gp_XYZ prevXYZ( prevSideNode->X(), prevSideNode->Y(), prevSideNode->Z() );
 
-      SMDS_ElemIteratorPtr invElemIt
-        = prevSideNode->GetInverseElementIterator();
-      while ( invElemIt->more() ) { // loop on inverse elements on the Side 2
+      // loop on inverse elements of current node (prevSideNode) on the Side 2
+      SMDS_ElemIteratorPtr invElemIt = prevSideNode->GetInverseElementIterator();
+      while ( invElemIt->more() )
+      {
         const SMDS_MeshElement* elem = invElemIt->next();
-        // prepare data for a loop on links, of a face or a volume
+        // prepare data for a loop on links coming to prevSideNode, of a face or a volume
         int iPrevNode, iNode = 0, nbNodes = elem->NbNodes();
-        const SMDS_MeshNode* faceNodes[ nbNodes ];
+        //const SMDS_MeshNode* faceNodes[ nbNodes ];
+        const SMDS_MeshNode** faceNodes = new const SMDS_MeshNode*[ nbNodes ];
         bool isVolume = volume.Set( elem );
         const SMDS_MeshNode** nodes = isVolume ? volume.GetNodes() : faceNodes;
         if ( isVolume ) // --volume
@@ -5421,11 +5438,12 @@ SMESH_MeshEditor::Sew_Error
           long iLink = aLinkID_Gen.GetLinkID( prevSideNode, n );
           bool isJustChecked = !checkedLinkIDs.insert( iLink ).second;
           if (!isJustChecked &&
-              foundSideLinkIDs.find( iLink ) == foundSideLinkIDs.end() ) {
+              foundSideLinkIDs.find( iLink ) == foundSideLinkIDs.end() )
+          {
             // test a link geometrically
             gp_XYZ nextXYZ ( n->X(), n->Y(), n->Z() );
             bool linkIsBetter = false;
-            double dot, dist;
+            double dot = 0.0, dist = 0.0;
             if ( searchByDir ) { // choose most co-directed link
               dot = bordDir * ( nextXYZ - prevXYZ ).Normalized();
               linkIsBetter = ( dot > maxDot );
@@ -5443,6 +5461,7 @@ SMESH_MeshEditor::Sew_Error
             }
           }
         }
+        delete faceNodes;
       } // loop on inverse elements of prevSideNode
 
       if ( !sideNode ) {
@@ -5460,6 +5479,7 @@ SMESH_MeshEditor::Sew_Error
         // find the next border link to compare with
         gp_XYZ sidePos( sideNode->X(), sideNode->Y(), sideNode->Z() );
         searchByDir = ( bordDir * ( sidePos - bordPos ) <= 0 );
+        // move to next border node if sideNode is before forward border node (bordPos)
         while ( *nBordIt != theBordLastNode && !searchByDir ) {
           prevBordNode = *nBordIt;
           nBordIt++;
@@ -5504,7 +5524,10 @@ SMESH_MeshEditor::Sew_Error
     // insert new nodes into the border and the side to get equal nb of segments
 
     // get normalized parameters of nodes on the borders
-    double param[ 2 ][ maxNbNodes ];
+    //double param[ 2 ][ maxNbNodes ];
+    double* param[ 2 ];
+    param[0] = new double [ maxNbNodes ];
+    param[1] = new double [ maxNbNodes ];
     int iNode, iBord;
     for ( iBord = 0; iBord < 2; iBord++ ) { // loop on 2 borders
       list< const SMDS_MeshNode* >& nodes = nSide[ iBord ];
@@ -5665,6 +5688,8 @@ SMESH_MeshEditor::Sew_Error
       }
     }
 
+    delete param[0];
+    delete param[1];
   } // end: insert new nodes
 
   MergeNodes ( nodeGroupsToMerge );
@@ -5689,7 +5714,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement*     theFace,
   // find indices of 2 link nodes and of the rest nodes
   int iNode = 0, il1, il2, i3, i4;
   il1 = il2 = i3 = i4 = -1;
-  const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
+  //const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
+  vector<const SMDS_MeshNode*> nodes( theFace->NbNodes() );
 
   if(theFace->IsQuadratic()) {
     const SMDS_QuadraticFaceOfNodes* F =
@@ -5818,7 +5844,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement*     theFace,
 
     // put aNodesToInsert between theBetweenNode1 and theBetweenNode2
     int nbLinkNodes = 2 + aNodesToInsert.size();
-    const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
+    //const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
+    vector<const SMDS_MeshNode*> linkNodes( nbLinkNodes );
     linkNodes[ 0 ] = nodes[ il1 ];
     linkNodes[ nbLinkNodes - 1 ] = nodes[ il2 ];
     list<const SMDS_MeshNode*>::iterator nIt = aNodesToInsert.begin();
@@ -5985,7 +6012,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement*     theFace,
     }
     // create needed triangles using n1,n2,n3 and inserted nodes
     int nbn = 2 + aNodesToInsert.size();
-    const SMDS_MeshNode* aNodes[nbn];
+    //const SMDS_MeshNode* aNodes[nbn];
+    vector<const SMDS_MeshNode*> aNodes(nbn);
     aNodes[0] = nodes[n1];
     aNodes[nbn-1] = nodes[n2];
     list<const SMDS_MeshNode*>::iterator nIt = aNodesToInsert.begin();
@@ -6731,15 +6759,15 @@ SMESH_MeshEditor::Sew_Error
   set< long > linkIdSet; // links to process
   linkIdSet.insert( aLinkID_Gen.GetLinkID( theFirstNode1, theSecondNode1 ));
 
-  typedef pair< const SMDS_MeshNode*, const SMDS_MeshNode* > TPairOfNodes;
-  list< TPairOfNodes > linkList[2];
-  linkList[0].push_back( TPairOfNodes( theFirstNode1, theSecondNode1 ));
-  linkList[1].push_back( TPairOfNodes( theFirstNode2, theSecondNode2 ));
+  typedef pair< const SMDS_MeshNode*, const SMDS_MeshNode* > NLink;
+  list< NLink > linkList[2];
+  linkList[0].push_back( NLink( theFirstNode1, theSecondNode1 ));
+  linkList[1].push_back( NLink( theFirstNode2, theSecondNode2 ));
   // loop on links in linkList; find faces by links and append links
   // of the found faces to linkList
-  list< TPairOfNodes >::iterator linkIt[] = { linkList[0].begin(), linkList[1].begin() } ;
+  list< NLink >::iterator linkIt[] = { linkList[0].begin(), linkList[1].begin() } ;
   for ( ; linkIt[0] != linkList[0].end(); linkIt[0]++, linkIt[1]++ ) {
-    TPairOfNodes link[] = { *linkIt[0], *linkIt[1] };
+    NLink link[] = { *linkIt[0], *linkIt[1] };
     long linkID = aLinkID_Gen.GetLinkID( link[0].first, link[0].second );
     if ( linkIdSet.find( linkID ) == linkIdSet.end() )
       continue;
@@ -6946,8 +6974,8 @@ SMESH_MeshEditor::Sew_Error
           //const SMDS_MeshNode* n2 = nodes[ iNode + 1];
           const SMDS_MeshNode* n1 = fnodes1[ iNode ];
           const SMDS_MeshNode* n2 = fnodes1[ iNode + 1];
-          linkList[0].push_back ( TPairOfNodes( n1, n2 ));
-          linkList[1].push_back ( TPairOfNodes( nReplaceMap[n1], nReplaceMap[n2] ));
+          linkList[0].push_back ( NLink( n1, n2 ));
+          linkList[1].push_back ( NLink( nReplaceMap[n1], nReplaceMap[n2] ));
         }
       }
     } // 2 faces found
@@ -7010,3 +7038,187 @@ SMESH_MeshEditor::Sew_Error
 
   return aResult;
 }
+
+/*!
+ * \brief A sorted pair of nodes
+ */
+struct TLink: public NLink
+{
+  TLink(const SMDS_MeshNode* n1, const SMDS_MeshNode* n2 ):NLink( n1, n2 )
+  { if ( n1 < n2 ) std::swap( first, second ); }
+  TLink(const NLink& link ):NLink( link )
+  { if ( first < second ) std::swap( first, second ); }
+};
+
+//================================================================================
+  /*!
+   * \brief Find corresponding nodes in two sets of faces 
+    * \param theSide1 - first face set
+    * \param theSide2 - second first face
+    * \param theFirstNode1 - a boundary node of set 1
+    * \param theFirstNode2 - a node of set 2 corresponding to theFirstNode1
+    * \param theSecondNode1 - a boundary node of set 1 linked with theFirstNode1
+    * \param theSecondNode2 - a node of set 2 corresponding to theSecondNode1
+    * \param nReplaceMap - output map of corresponding nodes
+    * \retval bool  - is a success or not
+   */
+//================================================================================
+
+//#define DEBUG_MATCHING_NODES
+
+SMESH_MeshEditor::Sew_Error
+SMESH_MeshEditor::FindMatchingNodes(set<const SMDS_MeshElement*>& theSide1,
+                                    set<const SMDS_MeshElement*>& theSide2,
+                                    const SMDS_MeshNode*          theFirstNode1,
+                                    const SMDS_MeshNode*          theFirstNode2,
+                                    const SMDS_MeshNode*          theSecondNode1,
+                                    const SMDS_MeshNode*          theSecondNode2,
+                                    TNodeNodeMap &                nReplaceMap)
+{
+  set<const SMDS_MeshElement*> * faceSetPtr[] = { &theSide1, &theSide2 };
+
+  nReplaceMap.clear();
+  if ( theFirstNode1 != theFirstNode2 )
+    nReplaceMap.insert( make_pair( theFirstNode1, theFirstNode2 ));
+  if ( theSecondNode1 != theSecondNode2 )
+    nReplaceMap.insert( make_pair( theSecondNode1, theSecondNode2 ));
+
+  set< TLink > linkSet; // set of nodes where order of nodes is ignored
+  linkSet.insert( TLink( theFirstNode1, theSecondNode1 ));
+
+  list< NLink > linkList[2];
+  linkList[0].push_back( NLink( theFirstNode1, theSecondNode1 ));
+  linkList[1].push_back( NLink( theFirstNode2, theSecondNode2 ));
+
+  // loop on links in linkList; find faces by links and append links
+  // of the found faces to linkList
+  list< NLink >::iterator linkIt[] = { linkList[0].begin(), linkList[1].begin() } ;
+  for ( ; linkIt[0] != linkList[0].end(); linkIt[0]++, linkIt[1]++ ) {
+    NLink link[] = { *linkIt[0], *linkIt[1] };
+    if ( linkSet.find( link[0] ) == linkSet.end() )
+      continue;
+
+    // by links, find faces in the face sets,
+    // and find indices of link nodes in the found faces;
+    // in a face set, there is only one or no face sharing a link
+    // ---------------------------------------------------------------
+
+    const SMDS_MeshElement* face[] = { 0, 0 };
+    list<const SMDS_MeshNode*> notLinkNodes[2];
+    //bool reverse[] = { false, false }; // order of notLinkNodes
+    int nbNodes[2];
+    for ( int iSide = 0; iSide < 2; iSide++ ) // loop on 2 sides
+    {
+      const SMDS_MeshNode* n1 = link[iSide].first;
+      const SMDS_MeshNode* n2 = link[iSide].second;
+      set<const SMDS_MeshElement*> * faceSet = faceSetPtr[ iSide ];
+      set< const SMDS_MeshElement* > facesOfNode1;
+      for ( int iNode = 0; iNode < 2; iNode++ ) // loop on 2 nodes of a link
+      {
+        // during a loop of the first node, we find all faces around n1,
+        // during a loop of the second node, we find one face sharing both n1 and n2
+        const SMDS_MeshNode* n = iNode ? n1 : n2; // a node of a link
+        SMDS_ElemIteratorPtr fIt = n->GetInverseElementIterator();
+        while ( fIt->more() ) { // loop on faces sharing a node
+          const SMDS_MeshElement* f = fIt->next();
+          if (f->GetType() == SMDSAbs_Face &&
+              faceSet->find( f ) != faceSet->end() && // f is in face set
+              ! facesOfNode1.insert( f ).second ) // f encounters twice
+          {
+            if ( face[ iSide ] ) {
+              MESSAGE( "2 faces per link " );
+              return ( iSide ? SEW_BAD_SIDE2_NODES : SEW_BAD_SIDE1_NODES );
+            }
+            face[ iSide ] = f;
+            faceSet->erase( f );
+
+            // get not link nodes
+            int nbN = f->NbNodes();
+            if ( f->IsQuadratic() )
+              nbN /= 2;
+            nbNodes[ iSide ] = nbN;
+            list< const SMDS_MeshNode* > & nodes = notLinkNodes[ iSide ];
+            int i1 = f->GetNodeIndex( n1 );
+            int i2 = f->GetNodeIndex( n2 );
+            int iEnd = nbN, iBeg = -1, iDelta = 1;
+            bool reverse = ( Abs( i1 - i2 ) == 1 ? i1 > i2 : i2 > i1 );
+            if ( reverse ) {
+              std::swap( iEnd, iBeg ); iDelta = -1;
+            }
+            int i = i2;
+            while ( true ) {
+              i += iDelta;
+              if ( i == iEnd ) i = iBeg + iDelta;
+              if ( i == i1 ) break;
+              nodes.push_back ( f->GetNode( i ) );
+            }
+          }
+        }
+      }
+    }
+    // check similarity of elements of the sides
+    if (( face[0] && !face[1] ) || ( !face[0] && face[1] )) {
+      MESSAGE("Correspondent face not found on side " << ( face[0] ? 1 : 0 ));
+      if ( nReplaceMap.size() == 2 ) { // faces on input nodes not found
+        return ( face[0] ? SEW_BAD_SIDE2_NODES : SEW_BAD_SIDE1_NODES );
+      }
+      else {
+        return SEW_TOPO_DIFF_SETS_OF_ELEMENTS;
+      }
+    }
+
+    // set nodes to merge
+    // -------------------
+
+    if ( face[0] && face[1] )  {
+      if ( nbNodes[0] != nbNodes[1] ) {
+        MESSAGE("Diff nb of face nodes");
+        return SEW_TOPO_DIFF_SETS_OF_ELEMENTS;
+      }
+#ifdef DEBUG_MATCHING_NODES
+      cout << " Link 1: " << link[0].first->GetID() <<" "<< link[0].second->GetID()
+           << " F 1: " << face[0];
+      cout << "| Link 2: " << link[1].first->GetID() <<" "<< link[1].second->GetID()
+           << " F 2: " << face[1] << " | Bind: "<<endl ;
+#endif
+      int nbN = nbNodes[0];
+      {
+        list<const SMDS_MeshNode*>::iterator n1 = notLinkNodes[0].begin();
+        list<const SMDS_MeshNode*>::iterator n2 = notLinkNodes[1].begin();
+        for ( int i = 0 ; i < nbN - 2; ++i ) {
+#ifdef DEBUG_MATCHING_NODES
+          cout << (*n1)->GetID() << " to " << (*n2)->GetID() << endl;
+#endif
+          nReplaceMap.insert( make_pair( *(n1++), *(n2++) ));
+        }
+      }
+
+      // add other links of the face 1 to linkList
+      // -----------------------------------------
+
+      const SMDS_MeshElement* f0 = face[0];
+      const SMDS_MeshNode* n1 = f0->GetNode( nbN - 1 );
+      for ( int i = 0; i < nbN; i++ )
+      {
+        const SMDS_MeshNode* n2 = f0->GetNode( i );
+        pair< set< TLink >::iterator, bool > iter_isnew =
+          linkSet.insert( TLink( n1, n2 ));
+        if ( !iter_isnew.second ) { // already in a set: no need to process
+          linkSet.erase( iter_isnew.first );
+        }
+        else // new in set == encountered for the first time: add
+        {
+#ifdef DEBUG_MATCHING_NODES
+          cout << "Add link 1: " << n1->GetID() << " " << n2->GetID() << " ";
+          cout << " | link 2: " << nReplaceMap[n1]->GetID() << " " << nReplaceMap[n2]->GetID() << " " << endl;
+#endif
+          linkList[0].push_back ( NLink( n1, n2 ));
+          linkList[1].push_back ( NLink( nReplaceMap[n1], nReplaceMap[n2] ));
+        }
+        n1 = n2;
+      }
+    } // 2 faces found
+  } // loop on link lists
+
+  return SEW_OK;
+}
index 3c891d1a3fc3024ccad6f15e7e63dba8ddb07dab..d7a79328e9fc0b49b2f214bec1a60e9b5bfb86e6 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESH_MeshEditor_HeaderFile
 #define SMESH_MeshEditor_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Mesh.hxx"
 #include "SMESH_Controls.hxx"
 #include "SMESH_SequenceOfNode.hxx"
 #include "gp_Dir.hxx"
 #include "TColStd_HSequenceOfReal.hxx"
 #include "SMESH_MesherHelper.hxx"
+#include "SMDS_MeshElement.hxx"
 
 #include <list>
 #include <map>
 
 typedef map<const SMDS_MeshElement*,
             list<const SMDS_MeshElement*> > TElemOfElemListMap;
+typedef map<const SMDS_MeshNode*, const SMDS_MeshNode*> TNodeNodeMap;
 
-typedef map<const SMDS_MeshNode*, SMESHDS_SubMesh*> RemoveQuadNodeMap;
+typedef map<const SMDS_MeshNode*, SMESHDS_SubMesh*>           RemoveQuadNodeMap;
 typedef map<const SMDS_MeshNode*, SMESHDS_SubMesh*>::iterator ItRemoveQuadNodeMap;
 
-class SMDS_MeshElement;
 class SMDS_MeshFace;
 class SMDS_MeshNode;
 class gp_Ax1;
 class gp_Vec;
 class gp_Pnt;
 
-class SMESH_MeshEditor {
+class SMESH_EXPORT SMESH_MeshEditor {
 public:
 
   // define a set of elements sorted by ID, to be used to assure
@@ -64,6 +67,16 @@ public:
     { return e1->GetID() < e2->GetID(); }
   };
   typedef set< const SMDS_MeshElement*, TIDCompare > TIDSortedElemSet;
+
+  /*!
+   * \brief Insert element in a map of elements sorted by ID
+    * \param elem - element to insert
+    * \param elemMap - the map to fill in
+   */
+  static void Insert(const SMDS_MeshElement*                 elem,
+                     std::map<int,const SMDS_MeshElement*> & elemMap) {
+    elemMap.insert( make_pair( elem->GetID(), elem ));
+  }
   
 public:
 
@@ -282,6 +295,13 @@ public:
                                    const SMDS_MeshNode* theNode3 = 0);
   // Return true if the three nodes are on a free border
 
+  static bool FindFreeBorder (const SMDS_MeshNode*                  theFirstNode,
+                              const SMDS_MeshNode*                  theSecondNode,
+                              const SMDS_MeshNode*                  theLastNode,
+                              std::list< const SMDS_MeshNode* > &   theNodes,
+                              std::list< const SMDS_MeshElement* >& theFaces);
+  // Return nodes and faces of a free border if found 
+
   enum Sew_Error {
     SEW_OK,
     // for SewFreeBorder()
@@ -294,7 +314,8 @@ public:
     SEW_DIFF_NB_OF_ELEMENTS,
     SEW_TOPO_DIFF_SETS_OF_ELEMENTS,
     SEW_BAD_SIDE1_NODES,
-    SEW_BAD_SIDE2_NODES
+    SEW_BAD_SIDE2_NODES,
+    SEW_INTERNAL_ERROR
     };
     
 
@@ -392,6 +413,25 @@ public:
   // - not in avoidSet,
   // - in elemSet provided that !elemSet.empty()
 
+  /*!
+   * \brief Find corresponding nodes in two sets of faces 
+    * \param theSide1 - first face set
+    * \param theSide2 - second first face
+    * \param theFirstNode1 - a boundary node of set 1
+    * \param theFirstNode2 - a node of set 2 corresponding to theFirstNode1
+    * \param theSecondNode1 - a boundary node of set 1 linked with theFirstNode1
+    * \param theSecondNode2 - a node of set 2 corresponding to theSecondNode1
+    * \param nReplaceMap - output map of corresponding nodes
+    * \retval Sew_Error  - is a success or not
+   */
+  static Sew_Error FindMatchingNodes(set<const SMDS_MeshElement*>& theSide1,
+                                     set<const SMDS_MeshElement*>& theSide2,
+                                     const SMDS_MeshNode*          theFirstNode1,
+                                     const SMDS_MeshNode*          theFirstNode2,
+                                     const SMDS_MeshNode*          theSecondNode1,
+                                     const SMDS_MeshNode*          theSecondNode2,
+                                     TNodeNodeMap &                nReplaceMap);
+
   /*!
    * \brief Returns true if given node is medium
     * \param n - node to check
index fd0a0dcfb7153502837d4e67c6998fe79e7d5f3a..c3e420317ad626a35470b08c8dfd25b6d74c0384 100644 (file)
 #include <gp_Pnt2d.hxx>
 #include <ShapeAnalysis.hxx>
 
+#include <utilities.h>
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+
 //=======================================================================
 //function : CheckShape
 //purpose  : 
@@ -47,7 +51,7 @@
 
 bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh)
 {
-  SMESHDS_Mesh* meshDS = GetMesh()->GetMeshDS();
+  SMESHDS_Mesh* meshDS = GetMeshDS();
   // we can create quadratic elements only if all elements
   // created on subshapes of given shape are quadratic
   // also we have to fill myNLinkNodeMap
@@ -94,9 +98,8 @@ bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh)
   if(!myCreateQuadratic) {
     myNLinkNodeMap.clear();
   }
-  else {
-    SetSubShape( aSh );
-  }
+  SetSubShape( aSh );
+
   return myCreateQuadratic;
 }
 
@@ -126,7 +129,7 @@ void SMESH_MesherHelper::SetSubShape(const int aShID)
 
 void SMESH_MesherHelper::SetSubShape(const TopoDS_Shape& aSh)
 {
-  if ( !myShape.IsNull() && !aSh.IsNull() && myShape.IsSame( aSh ))
+  if ( myShape.IsSame( aSh ))
     return;
 
   myShape = aSh;
@@ -136,13 +139,13 @@ void SMESH_MesherHelper::SetSubShape(const TopoDS_Shape& aSh)
     myShapeID  = -1;
     return;
   }
-  SMESHDS_Mesh* meshDS = GetMesh()->GetMeshDS();
+  SMESHDS_Mesh* meshDS = GetMeshDS();
   myShapeID = meshDS->ShapeToIndex(aSh);
 
   // treatment of periodic faces
-  if ( aSh.ShapeType() == TopAbs_FACE )
+  for ( TopExp_Explorer eF( aSh, TopAbs_FACE ); eF.More(); eF.Next() )
   {
-    const TopoDS_Face& face = TopoDS::Face( aSh );
+    const TopoDS_Face& face = TopoDS::Face( eF.Current() );
     BRepAdaptor_Surface surface( face );
     if ( surface.IsUPeriodic() || surface.IsVPeriodic() )
     {
@@ -261,17 +264,19 @@ gp_Pnt2d SMESH_MesherHelper::GetUVOnSeam( const gp_Pnt2d& uv1, const gp_Pnt2d& u
 
 gp_XY SMESH_MesherHelper::GetNodeUV(const TopoDS_Face&   F,
                                     const SMDS_MeshNode* n,
-                                    const SMDS_MeshNode* n2)
+                                    const SMDS_MeshNode* n2) const
 {
-  gp_Pnt2d uv;
+  gp_Pnt2d uv( 1e100, 1e100 );
   const SMDS_PositionPtr Pos = n->GetPosition();
-  if(Pos->GetTypeOfPosition()==SMDS_TOP_FACE) {
+  if(Pos->GetTypeOfPosition()==SMDS_TOP_FACE)
+  {
     // node has position on face
     const SMDS_FacePosition* fpos =
       static_cast<const SMDS_FacePosition*>(n->GetPosition().get());
     uv = gp_Pnt2d(fpos->GetUParameter(),fpos->GetVParameter());
   }
-  else if(Pos->GetTypeOfPosition()==SMDS_TOP_EDGE) {
+  else if(Pos->GetTypeOfPosition()==SMDS_TOP_EDGE)
+  {
     // node has position on edge => it is needed to find
     // corresponding edge from face, get pcurve for this
     // edge and recieve value from this pcurve
@@ -288,10 +293,10 @@ gp_XY SMESH_MesherHelper::GetNodeUV(const TopoDS_Face&   F,
     if ( n2 && mySeamShapeIds.find( edgeID ) != mySeamShapeIds.end() )
       uv = GetUVOnSeam( uv, GetNodeUV( F, n2, 0 ));
   }
-  else if(Pos->GetTypeOfPosition()==SMDS_TOP_VERTEX) {
-    SMESHDS_Mesh * meshDS = GetMesh()->GetMeshDS();
+  else if(Pos->GetTypeOfPosition()==SMDS_TOP_VERTEX)
+  {
     int vertexID = n->GetPosition()->GetShapeId();
-    const TopoDS_Vertex& V = TopoDS::Vertex(meshDS->IndexToShape(vertexID));
+    const TopoDS_Vertex& V = TopoDS::Vertex(GetMeshDS()->IndexToShape(vertexID));
     uv = BRep_Tool::Parameters( V, F );
     if ( n2 && mySeamShapeIds.find( vertexID ) != mySeamShapeIds.end() )
       uv = GetUVOnSeam( uv, GetNodeUV( F, n2, 0 ));
@@ -350,7 +355,7 @@ const SMDS_MeshNode* SMESH_MesherHelper::GetMediumNode(const SMDS_MeshNode* n1,
   else {
     // create medium node
     SMDS_MeshNode* n12;
-    SMESHDS_Mesh* meshDS = GetMesh()->GetMeshDS();
+    SMESHDS_Mesh* meshDS = GetMeshDS();
     int faceID = -1, edgeID = -1;
     const SMDS_PositionPtr Pos1 = n1->GetPosition();
     const SMDS_PositionPtr Pos2 = n2->GetPosition();
@@ -606,14 +611,12 @@ SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
                              n12, n23, n31, n45, n56, n64, n14, n25, n36);
 }
 
-
-//=======================================================================
-//function : AddVolume
-//purpose  : 
 //=======================================================================
 /*!
  * Special function for creation quadratic volume
  */
+//=======================================================================
+
 SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
                                                const SMDS_MeshNode* n2,
                                                const SMDS_MeshNode* n3,
@@ -643,14 +646,54 @@ SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
     return meshDS->AddVolume(n1, n2, n3, n4, n12, n23, n31, n14, n24, n34);
 }
 
-
 //=======================================================================
-//function : AddVolume
-//purpose  : 
+/*!
+ * Special function for creation quadratic pyramid
+ */
+//=======================================================================
+
+SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
+                                               const SMDS_MeshNode* n2,
+                                               const SMDS_MeshNode* n3,
+                                               const SMDS_MeshNode* n4,
+                                               const SMDS_MeshNode* n5,
+                                               const int id, 
+                                              const bool force3d)
+{
+  if(!myCreateQuadratic) {
+    if(id)
+      return GetMeshDS()->AddVolumeWithID(n1, n2, n3, n4, n5, id);
+    else
+      return GetMeshDS()->AddVolume(n1, n2, n3, n4, n5);
+  }
+
+  const SMDS_MeshNode* n12 = GetMediumNode(n1,n2,force3d);
+  const SMDS_MeshNode* n23 = GetMediumNode(n2,n3,force3d);
+  const SMDS_MeshNode* n34 = GetMediumNode(n3,n4,force3d);
+  const SMDS_MeshNode* n41 = GetMediumNode(n4,n1,force3d);
+
+  const SMDS_MeshNode* n15 = GetMediumNode(n1,n5,force3d);
+  const SMDS_MeshNode* n25 = GetMediumNode(n2,n5,force3d);
+  const SMDS_MeshNode* n35 = GetMediumNode(n3,n5,force3d);
+  const SMDS_MeshNode* n45 = GetMediumNode(n4,n5,force3d);
+
+  if(id)
+    return GetMeshDS()->AddVolumeWithID ( n1,  n2,  n3,  n4,  n5,
+                                          n12, n23, n34, n41,
+                                          n15, n25, n35, n45,
+                                          id);
+  else
+    return GetMeshDS()->AddVolume( n1,  n2,  n3,  n4,  n5,
+                                   n12, n23, n34, n41,
+                                   n15, n25, n35, n45);
+}
+
 //=======================================================================
 /*!
- * Special function for creation quadratic volume
+ * Special function for creation of quadratic hexahedron
  */
+//=======================================================================
+
 SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
                                                const SMDS_MeshNode* n2,
                                                const SMDS_MeshNode* n3,
@@ -695,4 +738,264 @@ SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
                              n78, n85, n15, n26, n37, n48);
 }
 
+//=======================================================================
+  /*!
+   * \brief Load nodes bound to face into a map of node columns
+    * \param theParam2ColumnMap - map of node columns to fill
+    * \param theFace - the face on which nodes are searched for
+    * \param theBaseEdge - the edge nodes of which are columns' bases
+    * \param theMesh - the mesh containing nodes
+    * \retval bool - false if something is wrong
+   * 
+   * The key of the map is a normalized parameter of each
+   * base node on theBaseEdge.
+   * This method works in supposition that nodes on the face
+   * forms a rectangular grid and elements can be quardrangles or triangles
+   */
+//=======================================================================
+
+bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap,
+                                         const TopoDS_Face& theFace,
+                                         const TopoDS_Edge& theBaseEdge,
+                                         SMESHDS_Mesh*      theMesh)
+{
+  // get vertices of theBaseEdge
+  TopoDS_Vertex vfb, vlb, vft; // first and last, bottom and top vertices
+  TopoDS_Edge eFrw = TopoDS::Edge( theBaseEdge.Oriented( TopAbs_FORWARD ));
+  TopExp::Vertices( eFrw, vfb, vlb );
+
+  // find the other edges of theFace and orientation of e1
+  TopoDS_Edge e1, e2, eTop;
+  bool rev1, CumOri = false;
+  TopExp_Explorer exp( theFace, TopAbs_EDGE );
+  int nbEdges = 0;
+  for ( ; exp.More(); exp.Next() ) {
+    if ( ++nbEdges > 4 ) {
+      return false; // more than 4 edges in theFace
+    }
+    TopoDS_Edge e = TopoDS::Edge( exp.Current() );
+    if ( theBaseEdge.IsSame( e ))
+      continue;
+    TopoDS_Vertex vCommon;
+    if ( !TopExp::CommonVertex( theBaseEdge, e, vCommon ))
+      eTop = e;
+    else if ( vCommon.IsSame( vfb )) {
+      e1 = e;
+      vft = TopExp::LastVertex( e1, CumOri );
+      rev1 = vfb.IsSame( vft );
+      if ( rev1 )
+        vft = TopExp::FirstVertex( e1, CumOri );
+    }
+    else
+      e2 = e;
+  }
+  if ( nbEdges < 4 ) {
+    return false; // less than 4 edges in theFace
+  }
+  if ( e2.IsNull() && vfb.IsSame( vlb ))
+    e2 = e1;
+
+  // submeshes corresponding to shapes
+  SMESHDS_SubMesh* smFace = theMesh->MeshElements( theFace );
+  SMESHDS_SubMesh* smb = theMesh->MeshElements( theBaseEdge );
+  SMESHDS_SubMesh* smt = theMesh->MeshElements( eTop );
+  SMESHDS_SubMesh* sm1 = theMesh->MeshElements( e1 );
+  SMESHDS_SubMesh* sm2 = theMesh->MeshElements( e2 );
+  SMESHDS_SubMesh* smVfb = theMesh->MeshElements( vfb );
+  SMESHDS_SubMesh* smVlb = theMesh->MeshElements( vlb );
+  SMESHDS_SubMesh* smVft = theMesh->MeshElements( vft );
+  if (!smFace || !smb || !smt || !sm1 || !sm2 || !smVfb || !smVlb || !smVft ) {
+    RETURN_BAD_RESULT( "NULL submesh " <<smFace<<" "<<smb<<" "<<smt<<" "<<
+                       sm1<<" "<<sm2<<" "<<smVfb<<" "<<smVlb<<" "<<smVft);
+  }
+  if ( smb->NbNodes() != smt->NbNodes() || sm1->NbNodes() != sm2->NbNodes() ) {
+    RETURN_BAD_RESULT(" Diff nb of nodes on opposite edges" );
+  }
+  if (smVfb->NbNodes() != 1 || smVlb->NbNodes() != 1 || smVft->NbNodes() != 1) {
+    RETURN_BAD_RESULT("Empty submesh of vertex");
+  }
+  // define whether mesh is quadratic
+  bool isQuadraticMesh = false;
+  SMDS_ElemIteratorPtr eIt = smFace->GetElements();
+  if ( !eIt->more() ) {
+    RETURN_BAD_RESULT("No elements on the face");
+  }
+  const SMDS_MeshElement* e = eIt->next();
+  isQuadraticMesh = e->IsQuadratic();
+  
+  if ( sm1->NbNodes() * smb->NbNodes() != smFace->NbNodes() ) {
+    // check quadratic case
+    if ( isQuadraticMesh ) {
+      // what if there are quadrangles and triangles mixed?
+//       int n1 = sm1->NbNodes()/2;
+//       int n2 = smb->NbNodes()/2;
+//       int n3 = sm1->NbNodes() - n1;
+//       int n4 = smb->NbNodes() - n2;
+//       int nf = sm1->NbNodes()*smb->NbNodes() - n3*n4;
+//       if( nf != smFace->NbNodes() ) {
+//         MESSAGE( "Wrong nb face nodes: " <<
+//                 sm1->NbNodes()<<" "<<smb->NbNodes()<<" "<<smFace->NbNodes());
+//         return false;
+//       }
+    }
+    else {
+      RETURN_BAD_RESULT( "Wrong nb face nodes: " <<
+                         sm1->NbNodes()<<" "<<smb->NbNodes()<<" "<<smFace->NbNodes());
+    }
+  }
+  // IJ size
+  int vsize = sm1->NbNodes() + 2;
+  int hsize = smb->NbNodes() + 2;
+  if(isQuadraticMesh) {
+    vsize = vsize - sm1->NbNodes()/2 -1;
+    hsize = hsize - smb->NbNodes()/2 -1;
+  }
+
+  // load nodes from theBaseEdge
+
+  set<const SMDS_MeshNode*> loadedNodes;
+  const SMDS_MeshNode* nullNode = 0;
+
+  vector<const SMDS_MeshNode*> & nVecf = theParam2ColumnMap[ 0.];
+  nVecf.resize( vsize, nullNode );
+  loadedNodes.insert( nVecf[ 0 ] = smVfb->GetNodes()->next() );
+
+  vector<const SMDS_MeshNode*> & nVecl = theParam2ColumnMap[ 1.];
+  nVecl.resize( vsize, nullNode );
+  loadedNodes.insert( nVecl[ 0 ] = smVlb->GetNodes()->next() );
+
+  double f, l;
+  BRep_Tool::Range( eFrw, f, l );
+  double range = l - f;
+  SMDS_NodeIteratorPtr nIt = smb->GetNodes();
+  const SMDS_MeshNode* node;
+  while ( nIt->more() ) {
+    node = nIt->next();
+    if(IsMedium(node))
+      continue;
+    const SMDS_EdgePosition* pos =
+      dynamic_cast<const SMDS_EdgePosition*>( node->GetPosition().get() );
+    if ( !pos ) {
+      return false;
+    }
+    double u = ( pos->GetUParameter() - f ) / range;
+    vector<const SMDS_MeshNode*> & nVec = theParam2ColumnMap[ u ];
+    nVec.resize( vsize, nullNode );
+    loadedNodes.insert( nVec[ 0 ] = node );
+  }
+  if ( theParam2ColumnMap.size() != hsize ) {
+    RETURN_BAD_RESULT( "Wrong node positions on theBaseEdge" );
+  }
+
+  // load nodes from e1
+
+  map< double, const SMDS_MeshNode*> sortedNodes; // sort by param on edge
+  nIt = sm1->GetNodes();
+  while ( nIt->more() ) {
+    node = nIt->next();
+    if(IsMedium(node))
+      continue;
+    const SMDS_EdgePosition* pos =
+      dynamic_cast<const SMDS_EdgePosition*>( node->GetPosition().get() );
+    if ( !pos ) {
+      return false;
+    }
+    sortedNodes.insert( make_pair( pos->GetUParameter(), node ));
+  }
+  loadedNodes.insert( nVecf[ vsize - 1 ] = smVft->GetNodes()->next() );
+  map< double, const SMDS_MeshNode*>::iterator u_n = sortedNodes.begin();
+  int row  = rev1 ? vsize - 1 : 0;
+  int dRow = rev1 ? -1 : +1;
+  for ( ; u_n != sortedNodes.end(); u_n++ ) {
+    row += dRow;
+    loadedNodes.insert( nVecf[ row ] = u_n->second );
+  }
+
+  // try to load the rest nodes
+
+  // get all faces from theFace
+  map<int,const SMDS_MeshElement*> allFaces, foundFaces;
+  eIt = smFace->GetElements();
+  while ( eIt->more() ) {
+    const SMDS_MeshElement* e = eIt->next();
+    if ( e->GetType() == SMDSAbs_Face )
+      allFaces.insert( make_pair(e->GetID(),e) );
+  }
+  // Starting from 2 neighbour nodes on theBaseEdge, look for a face
+  // the nodes belong to, and between the nodes of the found face,
+  // look for a not loaded node considering this node to be the next
+  // in a column of the starting second node. Repeat, starting
+  // from nodes next to the previous starting nodes in their columns,
+  // and so on while a face can be found. Then go the the next pair
+  // of nodes on theBaseEdge.
+  TParam2ColumnMap::iterator par_nVec_1 = theParam2ColumnMap.begin();
+  TParam2ColumnMap::iterator par_nVec_2 = par_nVec_1;
+  // loop on columns
+  int col = 0;
+  for ( par_nVec_2++; par_nVec_2 != theParam2ColumnMap.end(); par_nVec_1++, par_nVec_2++ ) {
+    col++;
+    row = 0;
+    const SMDS_MeshNode* n1 = par_nVec_1->second[ row ];
+    const SMDS_MeshNode* n2 = par_nVec_2->second[ row ];
+    const SMDS_MeshElement* face = 0;
+    bool lastColOnClosedFace = ( nVecf[ row ] == n2 );
+    do {
+      // look for a face by 2 nodes
+      face = SMESH_MeshEditor::FindFaceInSet( n1, n2, allFaces, foundFaces );
+      if ( face ) {
+        int nbFaceNodes = face->NbNodes();
+        if ( face->IsQuadratic() )
+          nbFaceNodes /= 2;
+        if ( nbFaceNodes>4 ) {
+          RETURN_BAD_RESULT(" Too many nodes in a face: " << nbFaceNodes );
+        }
+        // look for a not loaded node of the <face>
+        bool found = false;
+        const SMDS_MeshNode* n3 = 0; // a node defferent from n1 and n2
+        for ( int i = 0; i < nbFaceNodes && !found; ++i ) {
+          node = face->GetNode( i );
+          found = loadedNodes.insert( node ).second;
+          if ( !found && node != n1 && node != n2 )
+            n3 = node;
+        }
+        if ( lastColOnClosedFace && row + 1 < vsize ) {
+          node = nVecf[ row + 1 ];
+          found = ( face->GetNodeIndex( node ) >= 0 );
+        }
+        if ( found ) {
+          if ( ++row > vsize - 1 ) {
+            RETURN_BAD_RESULT( "Too many nodes in column "<< col <<": "<< row+1);
+          }
+          par_nVec_2->second[ row ] = node;
+          foundFaces.insert( make_pair(face->GetID(),face) );
+          n2 = node;
+          if ( nbFaceNodes==4 ) {
+            n1 = par_nVec_1->second[ row ];
+          }
+        }
+        else if ( nbFaceNodes==3 && n3 == par_nVec_1->second[ row + 1 ] ) {
+          n1 = n3;
+        }
+        else  {
+          RETURN_BAD_RESULT( "Not quad mesh, column "<< col );
+        }
+      }
+    }
+    while ( face && n1 && n2 );
+
+    if ( row < vsize - 1 ) {
+      MESSAGE( "Too few nodes in column "<< col <<": "<< row+1);
+      MESSAGE( "Base node 1: "<< par_nVec_1->second[0]);
+      MESSAGE( "Base node 2: "<< par_nVec_2->second[0]);
+      if ( n1 ) { MESSAGE( "Current node 1: "<< n1); }
+      else      { MESSAGE( "Current node 1: NULL");  }
+      if ( n2 ) { MESSAGE( "Current node 2: "<< n2); }
+      else      { MESSAGE( "Current node 2: NULL");  }
+      MESSAGE( "first base node: "<< theParam2ColumnMap.begin()->second[0]);
+      MESSAGE( "last base node: "<< theParam2ColumnMap.rbegin()->second[0]);
+      return false;
+    }
+  } // loop on columns
 
+  return true;
+}
index 4ae2101ec968743f1cf3f4f73b49d8101192b8ae..ae366be6b0f317c2b2908541e5eecca609783e4d 100644 (file)
 // File:      SMESH_MesherHelper.hxx
 // Created:   15.02.06 14:48:09
 // Author:    Sergey KUUL
-// Copyright: Open CASCADE 2006
 
 
 #ifndef SMESH_MesherHelper_HeaderFile
 #define SMESH_MesherHelper_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <SMESH_Mesh.hxx>
 #include <TopoDS_Shape.hxx>
 #include <SMDS_MeshNode.hxx>
@@ -48,17 +49,63 @@ typedef map<NLink, const SMDS_MeshNode*>::iterator ItNLinkNode;
  * is called.
  */
 
-class SMESH_MesherHelper
+typedef std::vector<const SMDS_MeshNode* > TNodeColumn;
+typedef std::map< double, TNodeColumn > TParam2ColumnMap;
+
+class SMESH_EXPORT SMESH_MesherHelper
 {
- public:
+public:
+  // ---------- PUBLIC UTILITIES ----------
+  
+  /*!
+   * \brief Load nodes bound to face into a map of node columns
+    * \param theParam2ColumnMap - map of node columns to fill
+    * \param theFace - the face on which nodes are searched for
+    * \param theBaseEdge - the edge nodes of which are columns' bases
+    * \param theMesh - the mesh containing nodes
+    * \retval bool - false if something is wrong
+   * 
+   * The key of the map is a normalized parameter of each
+   * base node on theBaseEdge.
+   * This method works in supposition that nodes on the face
+   * forms a rectangular grid and elements can be quardrangles or triangles
+   */
+  static bool LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap,
+                              const TopoDS_Face& theFace,
+                              const TopoDS_Edge& theBaseEdge,
+                              SMESHDS_Mesh*      theMesh);
+  /*!
+   * \brief Return support shape of a node
+   * \param node - the node
+   * \param meshDS - mesh DS
+   * \retval TopoDS_Shape - found support shape
+   */
+  static const TopoDS_Shape& GetSubShapeByNode(const SMDS_MeshNode* node,
+                                               SMESHDS_Mesh*        meshDS)
+  { return meshDS->IndexToShape( node->GetPosition()->GetShapeId() ); }
+
+  /*!
+   * \brief Return a valid node index, fixing the given one if necessary
+    * \param ind - node index
+    * \param nbNodes - total nb of nodes
+    * \retval int - valid node index
+   */
+  static int WrapIndex(const int ind, const int nbNodes) {
+    if ( ind < 0 ) return nbNodes + ind % nbNodes;
+    if ( ind >= nbNodes ) return ind % nbNodes;
+    return ind;
+  }
+
+public:
   // ---------- PUBLIC METHODS ----------
 
   /// Empty constructor
   SMESH_MesherHelper(SMESH_Mesh& theMesh)
     { myMesh=(void *)&theMesh; myCreateQuadratic = false; myShapeID=-1;}
 
-  SMESH_Mesh* GetMesh() const
-    { return (SMESH_Mesh*)myMesh; }
+  SMESH_Mesh* GetMesh() const { return (SMESH_Mesh*)myMesh; }
+    
+  SMESHDS_Mesh* GetMeshDS() const { return GetMesh()->GetMeshDS(); }
     
   /// Copy constructor
   //Standard_EXPORT SMESH_MesherHelper (const SMESH_MesherHelper& theOther);
@@ -113,7 +160,7 @@ class SMESH_MesherHelper
    */
   gp_XY GetNodeUV(const TopoDS_Face&   F,
                   const SMDS_MeshNode* n,
-                  const SMDS_MeshNode* inFaceNode=0);
+                  const SMDS_MeshNode* inFaceNode=0) const;
 
   /*!
    * \brief Check if inFaceNode argument is necessary for call GetNodeUV(F,..)
@@ -181,6 +228,18 @@ class SMESH_MesherHelper
                              const int id = 0,
                             const bool force3d = true);
 
+
+  /**
+   * Special function for creation quadratic pyramid
+   */
+  SMDS_MeshVolume* AddVolume(const SMDS_MeshNode* n1,
+                             const SMDS_MeshNode* n2,
+                             const SMDS_MeshNode* n3,
+                             const SMDS_MeshNode* n4,
+                             const SMDS_MeshNode* n5,
+                             const int id = 0,
+                            const bool force3d = true);
+
   /**
    * Special function for creation quadratic pentahedron
    */
@@ -218,6 +277,12 @@ class SMESH_MesherHelper
   void SetKeyIsQuadratic(const bool theBuildQuadratic)
   { myCreateQuadratic = theBuildQuadratic; }
 
+  /*!
+   * \brief Return myCreateQuadratic flag
+    * \retval bool - myCreateQuadratic value
+   */
+  bool GetIsQuadratic() const { return myCreateQuadratic; }
+
   /*!
    * \brief Set shape to make elements on
     * \param subShape, subShapeID - shape or its ID (==SMESHDS_Mesh::ShapeToIndex(shape))
@@ -227,10 +292,50 @@ class SMESH_MesherHelper
 
   /*!
    * \brief Return shape or its ID, on which created elements are added
-    * \retval TopoDS_Shape, int - shape or its ID
+    * \retval int - shape index in SMESHDS
+    *
+    * Shape is set by calling either IsQuadraticSubMesh() or SetSubShape() 
+   */
+  int GetSubShapeID() const { return myShapeID; }
+  /*!
+   * \brief Return shape or its ID, on which created elements are added
+    * \retval TopoDS_Shape - shape
+    *
+    * Shape is set by calling either IsQuadraticSubMesh() or SetSubShape() 
+   */
+  TopoDS_Shape GetSubShape() const  { return myShape; }
+
+  /*!
+   * \brief Check if shape is a seam edge or it's vertex
+    * \param subShape - edge or vertex index in SMESHDS
+    * \retval bool - true if subShape is a seam shape
+    *
+    * It works only if IsQuadraticSubMesh() or SetSubShape() has been called
+   */
+  bool IsSeamShape(const int subShape) const
+  { return mySeamShapeIds.find( subShape ) != mySeamShapeIds.end(); }
+  /*!
+   * \brief Check if shape is a seam edge or it's vertex
+    * \param subShape - edge or vertex
+    * \retval bool - true if subShape is a seam shape
+    *
+    * It works only if IsQuadraticSubMesh() or SetSubShape() has been called
+   */
+  bool IsSeamShape(const TopoDS_Shape& subShape) const
+  { return IsSeamShape( GetMeshDS()->ShapeToIndex( subShape )); }
+
+  /*!
+   * \brief Check if the shape set through IsQuadraticSubMesh() or SetSubShape()
+   *        has a seam edge
+    * \retval bool - true if it has
+   */
+  bool HasSeam() const { return !mySeamShapeIds.empty(); }
+
+  /*!
+   * \brief Return index of periodic parametric direction of a closed face
+    * \retval int - 1 for U, 2 for V direction
    */
-  int          GetSubShapeID() { return myShapeID; }
-  TopoDS_Shape GetSubShape()   { return myShape; }
+  int GetPeriodicIndex() const { return myParIndex; }
 
  protected:
 
index 61b0fa841d9eeec6570bb5553fc6e14e0ee70cad..03bce5e4eba33e9c2bb38f63d8a48131214f786b 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "SMESH_Pattern.hxx"
 
+#include <BRepAdaptor_Curve.hxx>
 #include <BRepTools.hxx>
 #include <BRepTools_WireExplorer.hxx>
 #include <BRep_Tool.hxx>
@@ -74,6 +75,8 @@ using namespace std;
 
 typedef map< const SMDS_MeshElement*, int > TNodePointIDMap;
 
+#define smdsNode( elem ) static_cast<const SMDS_MeshNode*>( elem )
+
 //=======================================================================
 //function : SMESH_Pattern
 //purpose  : 
@@ -414,77 +417,6 @@ template<typename T> void sortBySize( list< list < T > > & theListOfList )
   }
 }
 
-//=======================================================================
-//function : getOrderedEdges
-//purpose  : return nb wires and a list of oredered edges
-//=======================================================================
-
-static int getOrderedEdges (const TopoDS_Face&   theFace,
-                            const TopoDS_Vertex& theFirstVertex,
-                            list< TopoDS_Edge >& theEdges,
-                            list< int >  &       theNbVertexInWires)
-{
-  // put wires in a list, so that an outer wire comes first
-  list<TopoDS_Wire> aWireList;
-  TopoDS_Wire anOuterWire = BRepTools::OuterWire( theFace );
-  aWireList.push_back( anOuterWire );
-  for ( TopoDS_Iterator wIt (theFace); wIt.More(); wIt.Next() )
-    if ( !anOuterWire.IsSame( wIt.Value() ))
-      aWireList.push_back( TopoDS::Wire( wIt.Value() ));
-
-  // loop on edges of wires
-  theNbVertexInWires.clear();
-  list<TopoDS_Wire>::iterator wlIt = aWireList.begin();
-  for ( ; wlIt != aWireList.end(); wlIt++ )
-  {
-    int iE;
-    BRepTools_WireExplorer wExp( *wlIt, theFace );
-    for ( iE = 0; wExp.More(); wExp.Next(), iE++ )
-    {
-      TopoDS_Edge edge = wExp.Current();
-      edge = TopoDS::Edge( edge.Oriented( wExp.Orientation() ));
-      theEdges.push_back( edge );
-    }
-    theNbVertexInWires.push_back( iE );
-    iE = 0;
-    if ( wlIt == aWireList.begin() && theEdges.size() > 1 ) { // the outer wire
-      // orient closed edges
-      list< TopoDS_Edge >::iterator eIt, eIt2;
-      for ( eIt = theEdges.begin(); eIt != theEdges.end(); eIt++ )
-      {
-        TopoDS_Edge& edge = *eIt;
-        if ( TopExp::FirstVertex( edge ).IsSame( TopExp::LastVertex( edge ) ))
-        {
-          eIt2 = eIt;
-          bool isNext = ( eIt2 == theEdges.begin() );
-          TopoDS_Edge edge2 = isNext ? *(++eIt2) : *(--eIt2);
-          double f1,l1,f2,l2;
-          Handle(Geom2d_Curve) c1 = BRep_Tool::CurveOnSurface( edge, theFace, f1,l1 );
-          Handle(Geom2d_Curve) c2 = BRep_Tool::CurveOnSurface( edge2, theFace, f2,l2 );
-          gp_Pnt2d pf = c1->Value( edge.Orientation() == TopAbs_FORWARD ? f1 : l1 );
-          gp_Pnt2d pl = c1->Value( edge.Orientation() == TopAbs_FORWARD ? l1 : f1 );
-          bool isFirst = ( edge2.Orientation() == TopAbs_FORWARD ? isNext : !isNext );
-          gp_Pnt2d p2 = c2->Value( isFirst ? f2 : l2 );
-          isFirst = ( p2.SquareDistance( pf ) < p2.SquareDistance( pl ));
-          if ( isNext ? isFirst : !isFirst )
-            edge.Reverse();
-        }
-      }
-      // rotate theEdges until it begins from theFirstVertex
-      if ( ! theFirstVertex.IsNull() )
-        while ( !theFirstVertex.IsSame( TopExp::FirstVertex( theEdges.front(), true )))
-        {
-          theEdges.splice(theEdges.end(), theEdges,
-                          theEdges.begin(), ++ theEdges.begin());
-          if ( iE++ > theNbVertexInWires.back() ) 
-            break; // break infinite loop
-        }
-    }
-  }
-
-  return aWireList.size();
-}
-
 //=======================================================================
 //function : project
 //purpose  : 
@@ -520,7 +452,7 @@ template <class TFaceIterator> bool areNodesBound( TFaceIterator & faceItr )
     SMDS_ElemIteratorPtr nIt = faceItr->next()->nodesIterator();
     while ( nIt->more() )
     {
-      const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nIt->next() );
+      const SMDS_MeshNode* node = smdsNode( nIt->next() );
       SMDS_PositionPtr pos = node->GetPosition();
       if ( !pos || !pos->GetShapeId() ) {
         return false;
@@ -573,6 +505,8 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
 
   SMESHDS_Mesh * aMeshDS = theMesh->GetMeshDS();
   SMESHDS_SubMesh * fSubMesh = aMeshDS->MeshElements( theFace );
+  SMESH_MesherHelper helper( *theMesh );
+  helper.SetSubShape( theFace );
 
   int nbNodes = ( !fSubMesh ? 0 : fSubMesh->NbNodes() );
   int nbElems = ( !fSubMesh ? 0 : fSubMesh->NbElements() );
@@ -585,18 +519,18 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
   TopoDS_Face face = TopoDS::Face( theFace.Oriented( TopAbs_FORWARD ));
 
   // check that face is not closed
+  bool isClosed = helper.HasSeam();
   TopoDS_Vertex bidon;
   list<TopoDS_Edge> eList;
-  getOrderedEdges( face, bidon, eList, myNbKeyPntInBoundary );
-  list<TopoDS_Edge>::iterator elIt = eList.begin();
-  for ( ; elIt != eList.end() ; elIt++ )
-    if ( BRep_Tool::IsClosed( *elIt , face ))
-      return setErrorCode( ERR_LOADF_CLOSED_FACE );
+  list<TopoDS_Edge>::iterator elIt;
+  SMESH_Block::GetOrderedEdges( face, bidon, eList, myNbKeyPntInBoundary );
 
   // check that requested or needed projection is possible
   bool isMainShape = theMesh->IsMainShape( face );
   bool needProject = !isMeshBoundToShape( aMeshDS, fSubMesh, isMainShape );
   bool canProject  = ( nbElems ? true : isMainShape );
+  if ( isClosed )
+    canProject = false; // so far
 
   if ( ( theProject || needProject ) && !canProject )
     return setErrorCode( ERR_LOADF_CANT_PROJECT );
@@ -608,6 +542,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
 
   int iPoint = 0;
   TNodePointIDMap nodePointIDMap;
+  TNodePointIDMap closeNodePointIDMap; // for nodes on seam edges
 
   if ( needProject )
   {
@@ -658,8 +593,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
     TNodePointIDMap::iterator nIdIt = nodePointIDMap.begin();
     for ( ; nIdIt != nodePointIDMap.end(); nIdIt++ )
     {
-      const SMDS_MeshNode* node = 
-        static_cast<const SMDS_MeshNode*>( (*nIdIt).first );
+      const SMDS_MeshNode* node = smdsNode( (*nIdIt).first );
       TPoint * p = & myPoints[ (*nIdIt).second ];
       p->myInitUV = project( node, projector );
       p->myInitXYZ.SetCoord( p->myInitUV.X(), p->myInitUV.Y(), 0 );
@@ -697,6 +631,8 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
     // vertices
     for ( elIt = eList.begin(); elIt != eList.end(); elIt++ ) {
       myShapeIDMap.Add( TopExp::FirstVertex( *elIt, true ));
+      if ( BRep_Tool::IsClosed( *elIt, theFace ) )
+        myShapeIDMap.Add( TopExp::LastVertex( *elIt, true ));
       SMESHDS_SubMesh * eSubMesh = aMeshDS->MeshElements( *elIt );
       if ( eSubMesh )
         nbNodes += eSubMesh->NbNodes() + 1;
@@ -721,20 +657,55 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
         C2d = BRep_Tool::CurveOnSurface( edge, face, f, l );
       bool isForward = ( edge.Orientation() == TopAbs_FORWARD );
 
+      TopoDS_Shape v1 = TopExp::FirstVertex( edge, true ); // always FORWARD
+      TopoDS_Shape v2 = TopExp::LastVertex( edge, true ); // always REVERSED
+      // to make adjacent edges share key-point, we make v2 FORWARD too
+      // (as we have different points for same shape with different orienation)
+      v2.Reverse();
+
+      // on closed face we must have REVERSED some of seam vertices
+      bool isSeam = helper.IsSeamShape( edge );
+      if ( isClosed ) {
+        if ( isSeam ) { // reverse on reversed SEAM edge
+          if ( !isForward ) {
+            v1.Reverse();
+            v2.Reverse();
+          }
+        }
+        else { // on CLOSED edge
+          for ( int is2 = 0; is2 < 2; ++is2 ) {
+            TopoDS_Shape & v = is2 ? v2 : v1;
+            if ( helper.IsSeamShape( v ) ) {
+              // reverse or not depending on orientation of adjacent seam
+              TopoDS_Edge seam;
+              list<TopoDS_Edge>::iterator eIt2 = elIt;
+              if ( is2 )
+                seam = ( ++eIt2 == eList.end() ? eList.front() : *eIt2 );
+              else
+                seam = ( eIt2 == eList.begin() ? eList.back() : *(--eIt2) );
+              if ( seam.Orientation() == TopAbs_REVERSED )
+                v.Reverse();
+            }
+          }
+        }
+      }
+
       // the forward key-point
-      TopoDS_Shape v = TopExp::FirstVertex( edge, true );
-      list< TPoint* > & vPoint = getShapePoints( v );
-      if ( vPoint.empty() )
+      list< TPoint* > * vPoint = & getShapePoints( v1 );
+      if ( vPoint->empty() )
       {
-        SMESHDS_SubMesh * vSubMesh = aMeshDS->MeshElements( v );
+        SMESHDS_SubMesh * vSubMesh = aMeshDS->MeshElements( v1 );
         if ( vSubMesh && vSubMesh->NbNodes() ) {
           myKeyPointIDs.push_back( iPoint );
           SMDS_NodeIteratorPtr nIt = vSubMesh->GetNodes();
           const SMDS_MeshNode* node = nIt->next();
-          nodePointIDMap.insert( make_pair( node, iPoint ));
+          if ( v1.Orientation() == TopAbs_REVERSED )
+            closeNodePointIDMap.insert( make_pair( node, iPoint ));
+          else
+            nodePointIDMap.insert( make_pair( node, iPoint ));
 
           TPoint* keyPoint = &myPoints[ iPoint++ ];
-          vPoint.push_back( keyPoint );
+          vPoint->push_back( keyPoint );
           if ( theProject )
             keyPoint->myInitUV = project( node, projector );
           else
@@ -742,8 +713,8 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
           keyPoint->myInitXYZ.SetCoord (keyPoint->myInitUV.X(), keyPoint->myInitUV.Y(), 0);
         }
       }
-      if ( !vPoint.empty() )
-        ePoints.push_back( vPoint.front() );
+      if ( !vPoint->empty() )
+        ePoints.push_back( vPoint->front() );
 
       // on-edge points
       SMESHDS_SubMesh * eSubMesh = aMeshDS->MeshElements( edge );
@@ -755,8 +726,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
         SMDS_NodeIteratorPtr nIt = eSubMesh->GetNodes();
         while ( nIt->more() )
         {
-          const SMDS_MeshNode* node = 
-            static_cast<const SMDS_MeshNode*>( nIt->next() );
+          const SMDS_MeshNode* node = smdsNode( nIt->next() );
           const SMDS_EdgePosition* epos =
             static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
           double u = epos->GetUParameter();
@@ -771,7 +741,10 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
           TPoint* p = & myPoints[ iPoint ];
           ePoints.push_back( p );
           const SMDS_MeshNode* node = isForward ? (*unIt).second : (*unRIt).second;
-          nodePointIDMap.insert ( make_pair( node, iPoint ));
+          if ( isSeam && !isForward )
+            closeNodePointIDMap.insert( make_pair( node, iPoint ));
+          else
+            nodePointIDMap.insert ( make_pair( node, iPoint ));
 
           if ( theProject )
             p->myInitUV = project( node, projector );
@@ -786,19 +759,21 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
         }
       }
       // the reverse key-point
-      v = TopExp::LastVertex( edge, true ).Reversed();
-      list< TPoint* > & vPoint2 = getShapePoints( v );
-      if ( vPoint2.empty() )
+      vPoint = & getShapePoints( v2 );
+      if ( vPoint->empty() )
       {
-        SMESHDS_SubMesh * vSubMesh = aMeshDS->MeshElements( v );
+        SMESHDS_SubMesh * vSubMesh = aMeshDS->MeshElements( v2 );
         if ( vSubMesh && vSubMesh->NbNodes() ) {
           myKeyPointIDs.push_back( iPoint );
           SMDS_NodeIteratorPtr nIt = vSubMesh->GetNodes();
           const SMDS_MeshNode* node = nIt->next();
-          nodePointIDMap.insert( make_pair( node, iPoint ));
+          if ( v2.Orientation() == TopAbs_REVERSED )
+            closeNodePointIDMap.insert( make_pair( node, iPoint ));
+          else
+            nodePointIDMap.insert( make_pair( node, iPoint ));
 
           TPoint* keyPoint = &myPoints[ iPoint++ ];
-          vPoint2.push_back( keyPoint );
+          vPoint->push_back( keyPoint );
           if ( theProject )
             keyPoint->myInitUV = project( node, projector );
           else
@@ -806,8 +781,8 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
           keyPoint->myInitXYZ.SetCoord( keyPoint->myInitUV.X(), keyPoint->myInitUV.Y(), 0 );
         }
       }
-      if ( !vPoint2.empty() )
-        ePoints.push_back( vPoint2.front() );
+      if ( !vPoint->empty() )
+        ePoints.push_back( vPoint->front() );
 
       // compute U of edge-points
       if ( theProject )
@@ -838,8 +813,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
       SMDS_NodeIteratorPtr nIt = fSubMesh->GetNodes();
       while ( nIt->more() )
       {
-        const SMDS_MeshNode* node = 
-          static_cast<const SMDS_MeshNode*>( nIt->next() );
+        const SMDS_MeshNode* node = smdsNode( nIt->next() );
         nodePointIDMap.insert( make_pair( node, iPoint ));
         TPoint* p = &myPoints[ iPoint++ ];
         fPoints.push_back( p );
@@ -854,12 +828,42 @@ bool SMESH_Pattern::Load (SMESH_Mesh*        theMesh,
       }
       // load elements
       SMDS_ElemIteratorPtr elemIt = fSubMesh->GetElements();
-      while ( elemIt->more() ) {
-        SMDS_ElemIteratorPtr nIt = elemIt->next()->nodesIterator();
+      while ( elemIt->more() )
+      {
+        const SMDS_MeshElement* elem = elemIt->next();
+        SMDS_ElemIteratorPtr nIt = elem->nodesIterator();
         myElemPointIDs.push_back( TElemDef() );
         TElemDef& elemPoints = myElemPointIDs.back();
+        // find point indices corresponding to element nodes
         while ( nIt->more() )
-          elemPoints.push_back( nodePointIDMap[ nIt->next() ]);
+        {
+          const SMDS_MeshNode* node = smdsNode( nIt->next() );
+          iPoint = nodePointIDMap[ node ]; // point index of interest
+          // for a node on a seam edge there are two points
+          TNodePointIDMap::iterator n_id = closeNodePointIDMap.end();
+          if ( helper.IsSeamShape( node->GetPosition()->GetShapeId() ))
+            n_id = closeNodePointIDMap.find( node );
+          if ( n_id != closeNodePointIDMap.end() )
+          {
+            TPoint & p1 = myPoints[ iPoint ];
+            TPoint & p2 = myPoints[ n_id->second ];
+            // Select point closest to the rest nodes of element in UV space
+            SMDS_ElemIteratorPtr nIt2 = elem->nodesIterator();
+            const SMDS_MeshNode* notSeamNode = 0;
+            // find node not on a seam edge
+            while ( nIt2->more() && !notSeamNode ) {
+              const SMDS_MeshNode* n = smdsNode( nIt2->next() );
+              if ( !helper.IsSeamShape( n->GetPosition()->GetShapeId() ))
+                notSeamNode = n;
+            }
+            gp_Pnt2d uv = helper.GetNodeUV( theFace, node, notSeamNode );
+            double dist1 = uv.SquareDistance( p1.myInitUV );
+            double dist2 = uv.SquareDistance( p2.myInitUV );
+            if ( dist2 < dist1 )
+              iPoint = n_id->second;
+          }
+          elemPoints.push_back( iPoint );
+        }
       }
     }
 
@@ -1380,6 +1384,7 @@ bool SMESH_Pattern::
   compUVByElasticIsolines(const list< list< TPoint* > >& theBndPoints,
                           const list< TPoint* >&         thePntToCompute)
 {
+  //return false;
 //cout << "============================== KEY POINTS =============================="<<endl;
 //   list< int >::iterator kpIt = myKeyPointIDs.begin();
 //   for ( ; kpIt != myKeyPointIDs.end(); kpIt++ ) {
@@ -1607,6 +1612,11 @@ bool SMESH_Pattern::
 //   " dir0: "<<bndNode2->myDir[0].X()<<" "<<bndNode2->myDir[0].Y() <<
 //     " dir1: "<<bndNode2->myDir[1].X()<<" "<<bndNode2->myDir[1].Y() << endl;
           }
+          else {
+            /// WHAT IN THIS CASE ????????????? MAY BE THIS, I AM NOT SURE :(
+            node->SetBoundaryNode( 0, iDir, 0 );
+            node->SetBoundaryNode( 0, iDir, 1 );
+          }
         }
         nIt++; nPrevIt++;
         if ( nNextIt != isoLine.end() ) nNextIt++;
@@ -1856,6 +1866,10 @@ bool SMESH_Pattern::
 //          dir = node->myDir[ 1 - iDir ].XY() * ( isEnd ? -1. : 1. );
         //cout << "__________"<<endl<< "NODE: "<<node->myInitUV.X()<<" "<<node->myInitUV.Y()<<endl;
           TIsoNode* bndNode = node->GetBoundaryNode( iDir, isEnd );
+          if ( !bndNode ) {
+            MESSAGE("Why we are here?");
+            continue;
+          }
           gp_XY tgt( bndNode->myDir[0].XY() + bndNode->myDir[1].XY() );
           dir.SetCoord( 1, tgt.Y() * ( reversed ? 1 : -1 ));
           dir.SetCoord( 2, tgt.X() * ( reversed ? -1 : 1 ));
@@ -1885,6 +1899,7 @@ bool SMESH_Pattern::
         nbComp++;
       }
     }
+    if ( !nbComp ) continue;
     newUV /= nbComp;
     node->myUV = newUV;
     //cout << "NODE: "<<node->myInitUV.X()<<" "<<node->myInitUV.Y()<<endl;
@@ -1941,12 +1956,16 @@ bool SMESH_Pattern::
 //         line[ iDir ].SetDirection( node->myDir[ iDir ] );
       }
       // define ratio
+      bool ok = true; // <- stupid fix TO AVOID PB OF NODES WITH NULL BND NODES
       double locR[2] = { 0, 0 };
       for ( iDir = 0; iDir < 2; iDir++ )
       {
         const int iCoord = 2 - iDir; // coord changing along an isoline
         TIsoNode* bndNode1 = node->GetBoundaryNode( iDir, 0 );
         TIsoNode* bndNode2 = node->GetBoundaryNode( iDir, 1 );
+        if ( !bndNode1 || !bndNode2 ) {
+          ok = false; break;
+        }
         double par1 = bndNode1->myInitUV.Coord( iCoord );
         double par2 = node->myInitUV.Coord( iCoord );
         double par3 = bndNode2->myInitUV.Coord( iCoord );
@@ -1957,7 +1976,7 @@ bool SMESH_Pattern::
       //locR[0] = locR[1] = 0.25;
       // intersect the 2 lines and move a node
       //IntAna2d_AnaIntersection inter( line[0], line[1] );
-      if ( /*inter.IsDone() && inter.NbPoints() ==*/ 1 )
+      if ( ok /*inter.IsDone() && inter.NbPoints() ==*/ )
       {
 //         double intR = 1 - locR[0] - locR[1];
 //         gp_XY newUV = inter.Point(1).Value().XY();
@@ -2281,7 +2300,7 @@ bool SMESH_Pattern::Apply (const TopoDS_Face&   theFace,
 
   list< TopoDS_Edge > eList;
   list< int >         nbVertexInWires;
-  int nbWires = getOrderedEdges( face, theVertexOnKeyPoint1, eList, nbVertexInWires);
+  int nbWires = SMESH_Block::GetOrderedEdges( face, theVertexOnKeyPoint1, eList, nbVertexInWires);
   if ( !theVertexOnKeyPoint1.IsSame( TopExp::FirstVertex( eList.front(), true )))
   {
     MESSAGE( " theVertexOnKeyPoint1 not found in the outer wire ");
@@ -2450,17 +2469,13 @@ bool SMESH_Pattern::Apply (const TopoDS_Face&   theFace,
   TopLoc_Location loc;
   for ( iE = nbVertices + 1, elIt = eList.begin(); elIt != eList.end(); elIt++ )
   {
-    double f,l;
-    Handle(Geom_Curve) C3d = BRep_Tool::Curve( *elIt, loc, f, l );
-    const gp_Trsf & aTrsf = loc.Transformation();
+    BRepAdaptor_Curve C3d( *elIt );
     list< TPoint* > & ePoints = getShapePoints( iE++ );
     pIt = ePoints.begin();
     for ( pIt++; pIt != ePoints.end(); pIt++ )
     {
       TPoint* point = *pIt;
-      point->myXYZ = C3d->Value( point->myU );
-      if ( !loc.IsIdentity() )
-        aTrsf.Transforms( point->myXYZ.ChangeCoord() );
+      point->myXYZ = C3d.Value( point->myU );
     }
   }
 
@@ -2541,7 +2556,7 @@ bool SMESH_Pattern::Apply (const SMDS_MeshFace* theFace,
   SMDS_ElemIteratorPtr noIt = theFace->nodesIterator();
   int iSub = 0;
   while ( noIt->more() ) {
-    const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( noIt->next() );
+    const SMDS_MeshNode* node = smdsNode( noIt->next() );
     nodes.push_back( node );
     if ( iSub++ == theNodeIndexOnKeyPoint1 )
       n = --nodes.end();
@@ -2927,7 +2942,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*         theMesh,
 
       // store a node and a point
     while ( nIt->more() ) {
-      const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nIt->next() );
+      const SMDS_MeshNode* node = smdsNode( nIt->next() );
       nodePointIDMap.insert( make_pair( node, iPoint ));
       if ( block.IsVertexID( shapeID ))
         myKeyPointIDs.push_back( iPoint );
@@ -2962,8 +2977,7 @@ bool SMESH_Pattern::Load (SMESH_Mesh*         theMesh,
       nIt = aSubMesh->GetNodes();
       for ( ; nIt->more(); pIt++ )
       {
-        const SMDS_MeshNode* node = 
-          static_cast<const SMDS_MeshNode*>( nIt->next() );
+        const SMDS_MeshNode* node = smdsNode( nIt->next() );
         const SMDS_EdgePosition* epos =
           static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
         double u = ( epos->GetUParameter() - f ) / ( l - f );
@@ -3291,7 +3305,7 @@ void SMESH_Pattern::
           int i = 0, nbNodes = face->NbNodes();
           vector<const SMDS_MeshNode*> nodes( nbNodes + 1 );
           while ( nIt->more() )
-            nodes[ i++ ] = static_cast<const SMDS_MeshNode*>( nIt->next() );
+            nodes[ i++ ] = smdsNode( nIt->next() );
           nodes[ i ] = nodes[ 0 ];
           for ( i = 0; i < nbNodes; ++i )
           {
@@ -3394,7 +3408,7 @@ void SMESH_Pattern::
       // loop on nodes of refinedElem
       SMDS_ElemIteratorPtr nIt = (*refinedElem)->nodesIterator();
       while ( nIt->more() ) {
-        const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nIt->next() );
+        const SMDS_MeshNode* node = smdsNode( nIt->next() );
         // loop on inverse elements of node
         SMDS_ElemIteratorPtr eIt = node->GetInverseElementIterator();
         while ( eIt->more() )
@@ -3580,7 +3594,7 @@ static bool clearSubMesh( SMESH_Mesh*         theMesh,
       SMDS_NodeIteratorPtr nIt = aSubMeshDS->GetNodes();
       removed = removed || nIt->more();
       while ( nIt->more() )
-        aMeshDS->RemoveNode( static_cast<const SMDS_MeshNode*>( nIt->next() ));
+        aMeshDS->RemoveNode( smdsNode( nIt->next() ));
     }
   }
   return removed;
@@ -3610,6 +3624,9 @@ void SMESH_Pattern::clearMesh(SMESH_Mesh* theMesh) const
 //function : MakeMesh
 //purpose  : Create nodes and elements in <theMesh> using nodes
 //           coordinates computed by either of Apply...() methods
+// WARNING : StdMeshers_Projection_... relies on MakeMesh() behavior: that
+//           it does not care of nodes and elements already existing on
+//           subshapes. DO NOT MERGE them or modify also StdMeshers_Projection_..
 //=======================================================================
 
 bool SMESH_Pattern::MakeMesh(SMESH_Mesh* theMesh,
@@ -3660,10 +3677,10 @@ bool SMESH_Pattern::MakeMesh(SMESH_Mesh* theMesh,
     for ( ; idPointIt != myShapeIDToPointsMap.end(); idPointIt++ )
     {
       TopoDS_Shape S;
-      SMESHDS_SubMesh * subMeshDS = 0;
+      //SMESHDS_SubMesh * subMeshDS = 0;
       if ( !myShapeIDMap.IsEmpty() ) {
         S = myShapeIDMap( idPointIt->first );
-        subMeshDS = aMeshDS->MeshElements( S );
+        //subMeshDS = aMeshDS->MeshElements( S );
       }
       list< TPoint* > & points = idPointIt->second;
       list< TPoint* >::iterator pIt = points.begin();
@@ -3678,26 +3695,18 @@ bool SMESH_Pattern::MakeMesh(SMESH_Mesh* theMesh,
                                                 point->myXYZ.Z());
         nodesVector [ pIndex ] = node;
 
-        if ( subMeshDS ) {
+        if ( true /*subMeshDS*/ ) {
+          // !!!!! do not merge new nodes with ones existing on submeshes (see method comment)
           switch ( S.ShapeType() ) {
           case TopAbs_VERTEX: {
-            aMeshDS->SetNodeOnVertex( node, TopoDS::Vertex( S ));
-            break;
+            aMeshDS->SetNodeOnVertex( node, TopoDS::Vertex( S )); break;
           }
           case TopAbs_EDGE: {
-            aMeshDS->SetNodeOnEdge( node, TopoDS::Edge( S ));
-            SMDS_EdgePosition* epos =
-              dynamic_cast<SMDS_EdgePosition *>(node->GetPosition().get());
-            epos->SetUParameter( point->myU );
-            break;
+            aMeshDS->SetNodeOnEdge( node, TopoDS::Edge( S ), point->myU ); break;
           }
           case TopAbs_FACE: {
-            aMeshDS->SetNodeOnFace( node, TopoDS::Face( S ));
-            SMDS_FacePosition* pos =
-              dynamic_cast<SMDS_FacePosition *>(node->GetPosition().get());
-            pos->SetUParameter( point->myUV.X() );
-            pos->SetVParameter( point->myUV.Y() );
-            break;
+            aMeshDS->SetNodeOnFace( node, TopoDS::Face( S ),
+                                    point->myUV.X(), point->myUV.Y() ); break;
           }
           default:
             aMeshDS->SetNodeInVolume( node, TopoDS::Shell( S ));
@@ -3824,6 +3833,16 @@ void SMESH_Pattern::createElements(SMESH_Mesh*                            theMes
         elem = aMeshDS->AddFace( nodes[0], nodes[1], nodes[2] ); break;
       case 4:
         elem = aMeshDS->AddFace( nodes[0], nodes[1], nodes[2], nodes[3] ); break;
+      case 6:
+        if ( !onMeshElements ) {// create a quadratic face
+          elem = aMeshDS->AddFace (nodes[0], nodes[1], nodes[2], nodes[3],
+                                   nodes[4], nodes[5] ); break;
+        } // else do not break but create a polygon
+      case 8:
+        if ( !onMeshElements ) {// create a quadratic face
+          elem = aMeshDS->AddFace (nodes[0], nodes[1], nodes[2], nodes[3],
+                                   nodes[4], nodes[5], nodes[6], nodes[7] ); break;
+        } // else do not break but create a polygon
       default:
         elem = aMeshDS->AddPolygonalFace( nodes );
       }
@@ -3860,8 +3879,7 @@ void SMESH_Pattern::createElements(SMESH_Mesh*                            theMes
         }
         SMDS_ElemIteratorPtr noIt = elem->nodesIterator();
         while ( noIt->more() ) {
-          SMDS_MeshNode* node = const_cast<SMDS_MeshNode*>
-            ( static_cast<const SMDS_MeshNode*>( noIt->next() ));
+          SMDS_MeshNode* node = const_cast<SMDS_MeshNode*>(smdsNode( noIt->next() ));
           if (!node->GetPosition()->GetShapeId() &&
               shellNodes.find( node ) == shellNodes.end() ) {
             if ( S.ShapeType() == TopAbs_FACE )
@@ -4330,7 +4348,7 @@ bool SMESH_Pattern::setShapeToMesh(const TopoDS_Shape& theShape)
   TopTools_IndexedMapOfShape vMap;
   TopExp::MapShapes( theShape, TopAbs_VERTEX, vMap );
   if ( vMap.Extent() + nbNodeOnSeamEdge != myKeyPointIDs.size() ) {
-    MESSAGE( myKeyPointIDs.size() << " != " << vMap.Extent() );
+    MESSAGE( myKeyPointIDs.size() + nbNodeOnSeamEdge << " != " << vMap.Extent() );
     return setErrorCode( ERR_APPL_BAD_NB_VERTICES );
   }
 
index 3a487277be660fbeed9535aa5efc495fb89a5f94..9699064ad5567b4cd7419a7af28fcf36d06d9530 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef SMESH_Pattern_HeaderFile
 #define SMESH_Pattern_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <vector>
 #include <list>
 #include <map>
@@ -53,7 +55,7 @@ class TopoDS_Edge;
 // of 6 faces.
 //
 
-class SMESH_Pattern {
+class SMESH_EXPORT SMESH_Pattern {
  public:
   
   SMESH_Pattern ();
@@ -66,7 +68,7 @@ class SMESH_Pattern {
 
   bool Load (SMESH_Mesh*        theMesh,
              const TopoDS_Face& theFace,
-             bool               theProject);
+             bool               theProject = false);
   // Create a pattern from the mesh built on <theFace>.
   // <theProject>==true makes override nodes positions
   // on <theFace> computed by mesher
@@ -135,8 +137,9 @@ class SMESH_Pattern {
   // Create nodes and elements in <theMesh> using nodes
   // coordinates computed by either of Apply...() methods
 
-
+  // ----------
   // Inquiries
+  // ----------
 
   enum ErrorCode {
     ERR_OK,
@@ -201,8 +204,18 @@ class SMESH_Pattern {
   void DumpPoints() const;
   // Debug
 
+  // -----------------------------
+  // Utilities for advanced usage
+  // -----------------------------
 
- private:
+  TopoDS_Shape GetSubShape( const int i ) const {
+    if ( i < 1 || i > myShapeIDMap.Extent() ) return TopoDS_Shape();
+    return myShapeIDMap( i );
+  }
+  // Return a shape from myShapeIDMap where shapes are indexed so that first go
+  // ordered vertices, then ordered edge, then faces and maybe a shell
+
+private:
   // private methods
 
   struct TPoint {
diff --git a/src/SMESH/SMESH_SMESH.hxx b/src/SMESH/SMESH_SMESH.hxx
new file mode 100755 (executable)
index 0000000..32433cd
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESH.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESH_HXX_
+#define _SMESH_SMESH_HXX_
+
+#ifdef WNT
+ #if defined SMESH_EXPORTS
+  #define SMESH_EXPORT __declspec( dllexport )
+ #else
+  #define SMESH_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESH_EXPORT
+#endif
+
+#endif
index d46d52ce3267cf39856e53850857f09a04f26361..64978e395f73d4217c401d8e3d144d6e2fd48d8a 100644 (file)
@@ -25,6 +25,8 @@
 #ifndef SMESH_SequenceOfElemPtr_HeaderFile
 #define SMESH_SequenceOfElemPtr_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <NCollection_DefineSequence.hxx>
 
 #include <SMDS_MeshElement.hxx>
index 8d8f7d5f5c369fe75f8e8f592283b4961ff7774b..d4edf9502a913d869777bd04df2997251a64e799 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef SMESH_SequenceOfNode_HeaderFile
 #define SMESH_SequenceOfNode_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <NCollection_DefineSequence.hxx>
 
 typedef const SMDS_MeshNode* SMDS_MeshNodePtr;
index 6413b8031826769596f8d8c2a5ac8f9ca9dd8853..7c290171fca60a2daee8f0edbf82a36b68806d7e 100644 (file)
@@ -26,8 +26,9 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_subMesh.hxx"
+
+#include "SMESH_subMeshEventListener.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
 #include "SMESH_Hypothesis.hxx"
@@ -468,7 +469,7 @@ bool SMESH_subMesh::CanAddHypothesis(const SMESH_Hypothesis* theHypothesis) cons
 
 //=======================================================================
 //function : IsApplicableHypotesis
-//purpose  : 
+//purpose  :
 //=======================================================================
 
 bool SMESH_subMesh::IsApplicableHypotesis(const SMESH_Hypothesis* theHypothesis,
@@ -480,11 +481,20 @@ bool SMESH_subMesh::IsApplicableHypotesis(const SMESH_Hypothesis* theHypothesis,
 
   // hypothesis
   switch ( theShapeType ) {
-  case TopAbs_EDGE: 
-  case TopAbs_FACE: 
-  case TopAbs_SHELL:
+  case TopAbs_EDGE:
+  case TopAbs_FACE:
   case TopAbs_SOLID:
     return SMESH_Gen::GetShapeDim( theShapeType ) == theHypothesis->GetDim();
+
+  case TopAbs_SHELL:
+    // Special case for algorithms, building 2D mesh on a whole shell.
+    // Before this fix there was a problem after restoring from study,
+    // because in that case algorithm is assigned before hypothesis
+    // (on shell in problem case) and hypothesis is checked on faces
+    // (because it is 2D), where we have NO_ALGO state.
+    // Now 2D hypothesis is also applicable to shells.
+    return (theHypothesis->GetDim() == 2 || theHypothesis->GetDim() == 3);
+
 //   case TopAbs_WIRE:
 //   case TopAbs_COMPSOLID:
 //   case TopAbs_COMPOUND:
@@ -523,8 +533,8 @@ SMESH_Hypothesis::Hypothesis_Status
       return SMESH_Hypothesis::HYP_OK;
   }
 
-  SMESH_Gen* gen =_father->GetGen();
-//  bool ret = false;
+  SMESH_Gen* gen   =_father->GetGen();
+  SMESH_Algo* algo = 0;
   int oldAlgoState = _algoState;
   bool modifiedHyp = false;  // if set to true, force event MODIF_ALGO_STATE
                              // in ComputeStateEngine
@@ -644,7 +654,7 @@ SMESH_Hypothesis::Hypothesis_Status
     } // Serve Propagation of 1D hypothesis
     else // event == REMOVE_ALGO
     {
-      SMESH_Algo* algo = dynamic_cast<SMESH_Algo*> (anHyp);
+      algo = dynamic_cast<SMESH_Algo*> (anHyp);
       if (!algo->NeedDescretBoundary())
       {
         // clean all mesh in the tree of the current submesh;
@@ -673,10 +683,14 @@ SMESH_Hypothesis::Hypothesis_Status
     case ADD_HYP:
       break;
     case ADD_ALGO: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if (algo->CheckHypothesis((*_father),_subShape, aux_ret))
         SetAlgoState(HYP_OK);
+      else if ( algo->IsStatusFatal( aux_ret )) {
+        _meshDS->RemoveHypothesis(_subShape, anHyp);
+        ret = aux_ret;
+      }
       else
         SetAlgoState(MISSING_HYP);
       break;
@@ -688,7 +702,7 @@ SMESH_Hypothesis::Hypothesis_Status
     case ADD_FATHER_HYP:
       break;
     case ADD_FATHER_ALGO: {    // Algo just added in father
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo == anHyp ) {
         if ( algo->CheckHypothesis((*_father),_subShape, aux_ret))
@@ -701,7 +715,7 @@ SMESH_Hypothesis::Hypothesis_Status
     case REMOVE_FATHER_HYP:
       break;
     case REMOVE_FATHER_ALGO: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if (algo)
       {
         if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))
@@ -723,7 +737,7 @@ SMESH_Hypothesis::Hypothesis_Status
     switch (event)
     {
     case ADD_HYP: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, ret ))
         SetAlgoState(HYP_OK);
@@ -737,10 +751,14 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case ADD_ALGO: {           //already existing algo : on father ?
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))// ignore hyp status
         SetAlgoState(HYP_OK);
+      else if ( algo->IsStatusFatal( aux_ret )) {
+        _meshDS->RemoveHypothesis(_subShape, anHyp);
+        ret = aux_ret;
+      }
       else
         SetAlgoState(MISSING_HYP);
       break;
@@ -748,7 +766,7 @@ SMESH_Hypothesis::Hypothesis_Status
     case REMOVE_HYP:
       break;
     case REMOVE_ALGO: {        // perhaps a father algo applies ?
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if (algo == NULL)  // no more algo applying on subShape...
       {
         SetAlgoState(NO_ALGO);
@@ -763,16 +781,16 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case ADD_FATHER_HYP: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))
         SetAlgoState(HYP_OK);
       else
         SetAlgoState(MISSING_HYP);
-    }
       break;
+    }
     case ADD_FATHER_ALGO: { // new father algo
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT( algo );
       if ( algo == anHyp ) {
         if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))
@@ -785,7 +803,7 @@ SMESH_Hypothesis::Hypothesis_Status
     case REMOVE_FATHER_HYP:    // nothing to do
       break;
     case REMOVE_FATHER_ALGO: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if (algo == NULL)  // no more applying algo on father
       {
         SetAlgoState(NO_ALGO);
@@ -811,7 +829,7 @@ SMESH_Hypothesis::Hypothesis_Status
     switch (event)
     {
     case ADD_HYP: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if (!algo->CheckHypothesis((*_father),_subShape, ret ))
       {
@@ -834,7 +852,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case ADD_ALGO: {           //already existing algo : on father ?
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret )) {
         // check if algo changes
         SMESH_HypoFilter f;
@@ -842,7 +860,7 @@ SMESH_Hypothesis::Hypothesis_Status
         f.And(    SMESH_HypoFilter::IsApplicableTo( _subShape ));
         f.AndNot( SMESH_HypoFilter::Is( algo ));
         const SMESH_Hypothesis * prevAlgo = _father->GetHypothesis( _subShape, f, true );
-        if (prevAlgo && 
+        if (prevAlgo &&
             string(algo->GetName()) != string(prevAlgo->GetName()) )
           modifiedHyp = true;
       }
@@ -851,7 +869,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case REMOVE_HYP: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))
         SetAlgoState(HYP_OK);
@@ -861,7 +879,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case REMOVE_ALGO: {         // perhaps a father algo applies ?
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if (algo == NULL)   // no more algo applying on subShape...
       {
         SetAlgoState(NO_ALGO);
@@ -879,7 +897,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case ADD_FATHER_HYP: {  // new father hypothesis ?
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret ))
       {
@@ -891,7 +909,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case ADD_FATHER_ALGO: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if ( algo == anHyp ) { // a new algo on father
         if ( algo->CheckHypothesis((*_father),_subShape, aux_ret )) {
           // check if algo changes
@@ -900,7 +918,7 @@ SMESH_Hypothesis::Hypothesis_Status
           f.And(    SMESH_HypoFilter::IsApplicableTo( _subShape ));
           f.AndNot( SMESH_HypoFilter::Is( algo ));
           const SMESH_Hypothesis* prevAlgo = _father->GetHypothesis( _subShape, f, true );
-          if (prevAlgo && 
+          if (prevAlgo &&
               string(algo->GetName()) != string(prevAlgo->GetName()) )
             modifiedHyp = true;
         }
@@ -910,7 +928,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case REMOVE_FATHER_HYP: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       ASSERT(algo);
       if ( algo->CheckHypothesis((*_father),_subShape, aux_ret )) {
         // is there the same local hyp or maybe a new father algo applied?
@@ -922,7 +940,7 @@ SMESH_Hypothesis::Hypothesis_Status
       break;
     }
     case REMOVE_FATHER_ALGO: {
-      SMESH_Algo* algo = gen->GetAlgo((*_father), _subShape);
+      algo = gen->GetAlgo((*_father), _subShape);
       if (algo == NULL)  // no more applying algo on father
       {
         SetAlgoState(NO_ALGO);
@@ -952,7 +970,16 @@ SMESH_Hypothesis::Hypothesis_Status
     break;
   }
 
-  if ((_algoState != oldAlgoState) || modifiedHyp)
+  if ( _algoState != oldAlgoState )
+  {
+    if (_algoState == HYP_OK )
+      algo->SetEventListener( this );
+    if ( oldAlgoState == HYP_OK )
+      DeleteOwnListeners();
+  }
+  NotifyListenersOnEvent( event, ALGO_EVENT, anHyp );
+
+  if (_algoState != oldAlgoState || modifiedHyp)
     ComputeStateEngine(MODIF_ALGO_STATE);
 
   return ret;
@@ -1178,6 +1205,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
   SMESH_Algo *algo = 0;
   bool ret = true;
   SMESH_Hypothesis::Hypothesis_Status hyp_status;
+  algo_state oldAlgoState = (algo_state) GetAlgoState();
 
   switch (_computeState)
   {
@@ -1192,10 +1220,16 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
       algo = gen->GetAlgo((*_father), _subShape);
       if (algo && !algo->NeedDescretBoundary())
         CleanDependsOn(); // clean sub-meshes with event CLEAN
-      if (event == MODIF_ALGO_STATE && _algoState == HYP_OK)
+      if (algo)
       {
-        _computeState = READY_TO_COMPUTE;
+        ret = algo->CheckHypothesis((*_father), _subShape, hyp_status);
+        if (ret)
+          _computeState = READY_TO_COMPUTE;
       }
+      if ( _computeState == READY_TO_COMPUTE )
+          SetAlgoState(HYP_OK);
+      else
+          SetAlgoState(MISSING_HYP);
       break;
     case COMPUTE:              // nothing to do
       break;
@@ -1230,14 +1264,16 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
       algo = gen->GetAlgo((*_father), _subShape);
       if (algo && !algo->NeedDescretBoundary())
         CleanDependsOn(); // clean sub-meshes with event CLEAN
-      if (event == MODIF_HYP)
-       break;            // nothing else to do when MODIF_HYP
       _computeState = NOT_READY;
       if (algo)
       {
         ret = algo->CheckHypothesis((*_father), _subShape, hyp_status);
-        if (ret)
+        if (ret) {
+          SetAlgoState(HYP_OK); // it might be KO if BAD_PARAM_VALUE
           _computeState = READY_TO_COMPUTE;
+        }
+        else
+          SetAlgoState(MISSING_HYP);
       }
       break;
     case COMPUTE:
@@ -1249,6 +1285,7 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         {
           MESSAGE("***** verify compute state *****");
           _computeState = NOT_READY;
+          SetAlgoState(MISSING_HYP);
           break;
         }
         // check submeshes needed
@@ -1281,6 +1318,8 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         if (!ret)
         {
           MESSAGE("problem in algo execution: failed to compute");
+          // release ALGO from responsibilty of partially built mesh
+          RemoveSubMeshElementsAndNodes();
           _computeState = FAILED_TO_COMPUTE;
           if (!algo->NeedDescretBoundary())
             UpdateSubMeshState( FAILED_TO_COMPUTE );
@@ -1316,6 +1355,8 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         ret = algo->CheckHypothesis((*_father), _subShape, hyp_status);
         if (ret)
           _computeState = READY_TO_COMPUTE;
+        else
+          SetAlgoState(MISSING_HYP);
       }
       break;
     case SUBMESH_COMPUTED:      // nothing to do
@@ -1362,6 +1403,8 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         ret = algo->CheckHypothesis((*_father), _subShape, hyp_status);
         if (ret)
           _computeState = READY_TO_COMPUTE;
+        else
+          SetAlgoState(MISSING_HYP);
       }
       break;
     case SUBMESH_COMPUTED:      // nothing to do
@@ -1447,6 +1490,15 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
     break;
   }
 
+  if ( _algoState != oldAlgoState || event == MODIF_HYP )
+  {
+    if ( oldAlgoState == HYP_OK )
+      DeleteOwnListeners();
+    if (_algoState == HYP_OK && algo )
+      algo->SetEventListener( this );
+  }
+  NotifyListenersOnEvent( event, COMPUTE_EVENT );
+
   //SCRUTE(_computeState);
   return ret;
 }
@@ -1615,11 +1667,9 @@ bool SMESH_subMesh::IsMeshComputed() const
       TopExp_Explorer exp( _subShape, (TopAbs_ShapeEnum) type );
       for ( ; exp.More(); exp.Next() )
       {
-        SMESHDS_SubMesh * subMeshDS = _meshDS->MeshElements( exp.Current() );
-        if ( subMeshDS != NULL &&
-            (subMeshDS->GetElements()->more() || subMeshDS->GetNodes()->more())) {
+        SMESHDS_SubMesh * smDS = _meshDS->MeshElements( exp.Current() );
+        if ( smDS && ( smDS->NbElements() || smDS->NbNodes()))
           return true;
-        }
       }
     }
     else
@@ -1742,3 +1792,150 @@ SMESH_Hypothesis::Hypothesis_Status
   }
   return SMESH_Hypothesis::HYP_OK;
 }
+
+//================================================================================
+/*!
+ * \brief Sets an event listener and its data to a submesh
+ * \param listener - the listener to store
+ * \param data - the listener data to store
+ * \param where - the submesh to store the listener and it's data
+ * \param deleteListener - if true then the listener will be deleted as
+ *        it is removed from where submesh
+ * 
+ * It remembers the submesh where it puts the listener in order to delete
+ * them when HYP_OK algo_state is lost
+ * After being set, event listener is notified on each event of where submesh.
+ */
+//================================================================================
+
+void SMESH_subMesh::SetEventListener(EventListener*     listener,
+                                     EventListenerData* data,
+                                     SMESH_subMesh*     where)
+{
+  if ( listener && where ) {
+    where->SetEventListener( listener, data );
+    myOwnListeners.push_back( make_pair( where, listener ));
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Sets an event listener and its data to a submesh
+ * \param listener - the listener to store
+ * \param data - the listener data to store
+ * 
+ * After being set, event listener is notified on each event of a submesh.
+ */
+//================================================================================
+
+void SMESH_subMesh::SetEventListener(EventListener* listener, EventListenerData* data)
+{
+  myEventListeners.insert( make_pair( listener, data ));
+}
+
+//================================================================================
+/*!
+ * \brief Return an event listener data
+ * \param listener - the listener whose data is
+ * \retval EventListenerData* - found data, maybe NULL
+ */
+//================================================================================
+
+EventListenerData* SMESH_subMesh::GetEventListenerData(EventListener* listener) const
+{
+  map< EventListener*, EventListenerData* >::const_iterator l_d =
+    myEventListeners.find( listener );
+  if ( l_d != myEventListeners.end() )
+    return l_d->second;
+  return 0;
+}
+
+//================================================================================
+/*!
+ * \brief Notify stored event listeners on the occured event
+ * \param event - algo_event or compute_event itself
+ * \param eventType - algo_event or compute_event
+ * \param subMesh - the submesh where the event occures
+ * \param data - listener data stored in the subMesh
+ * \param hyp - hypothesis, if eventType is algo_event
+ */
+//================================================================================
+
+void SMESH_subMesh::NotifyListenersOnEvent( const int         event,
+                                            const event_type  eventType,
+                                            SMESH_Hypothesis* hyp)
+{
+  map< EventListener*, EventListenerData* >::iterator l_d = myEventListeners.begin();
+  for ( ; l_d != myEventListeners.end(); ++l_d )
+    l_d->first->ProcessEvent( event, eventType, this, l_d->second, hyp );
+}
+
+//================================================================================
+/*!
+ * \brief Unregister the listener and delete listener's data
+ * \param listener - the event listener
+ */
+//================================================================================
+
+void SMESH_subMesh::DeleteEventListener(EventListener* listener)
+{
+  map< EventListener*, EventListenerData* >::iterator l_d =
+    myEventListeners.find( listener );
+  if ( l_d != myEventListeners.end() ) {
+    if ( l_d->first->IsDeletable() ) delete l_d->first;
+    if ( l_d->second->IsDeletable() ) delete l_d->second;
+    myEventListeners.erase( l_d );
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Delete event listeners depending on algo of this submesh
+ */
+//================================================================================
+
+void SMESH_subMesh::DeleteOwnListeners()
+{
+  list< pair< SMESH_subMesh*, EventListener* > >::iterator sm_l;
+  for ( sm_l = myOwnListeners.begin(); sm_l != myOwnListeners.end(); ++sm_l)
+    sm_l->first->DeleteEventListener( sm_l->second );
+  myOwnListeners.clear();
+}
+
+//================================================================================
+/*!
+ * \brief Do something on a certain event
+ * \param event - algo_event or compute_event itself
+ * \param eventType - algo_event or compute_event
+ * \param subMesh - the submesh where the event occures
+ * \param data - listener data stored in the subMesh
+ * \param hyp - hypothesis, if eventType is algo_event
+ * 
+ * The base implementation translates CLEAN event to the subMesh
+ * stored in listener data. Also it sends SUBMESH_COMPUTED event in case of
+ * successful COMPUTE event.
+ */
+//================================================================================
+
+void SMESH_subMeshEventListener::ProcessEvent(const int          event,
+                                              const int          eventType,
+                                              SMESH_subMesh*     subMesh,
+                                              EventListenerData* data,
+                                              SMESH_Hypothesis*  /*hyp*/)
+{
+  if ( data && !data->mySubMeshes.empty() &&
+       eventType == SMESH_subMesh::COMPUTE_EVENT)
+  {
+    ASSERT( data->mySubMeshes.front() != subMesh );
+    switch ( event ) {
+    case SMESH_subMesh::CLEAN:
+      data->mySubMeshes.front()->ComputeStateEngine( event );
+      break;
+    case SMESH_subMesh::COMPUTE:
+      if ( subMesh->GetComputeState() == SMESH_subMesh::COMPUTE_OK )
+        data->mySubMeshes.front()->ComputeStateEngine( SMESH_subMesh::SUBMESH_COMPUTED );
+      break;
+    default:;
+    }
+  }
+}
index e8f1175756eee4c27d297400648ec6d6aa7d35e9..8e09b5c6f46ffd4bf248142b763d530a6e235efa 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_SUBMESH_HXX_
 #define _SMESH_SUBMESH_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESHDS_Mesh.hxx"
 #include "SMESHDS_SubMesh.hxx"
 #include "SMESH_Hypothesis.hxx"
@@ -45,8 +47,13 @@ class SMESH_Mesh;
 class SMESH_Hypothesis;
 class SMESH_Algo;
 class SMESH_Gen;
+class SMESH_subMeshEventListener;
+class SMESH_subMeshEventListenerData;
+
+typedef SMESH_subMeshEventListener     EventListener;
+typedef SMESH_subMeshEventListenerData EventListenerData;
 
-class SMESH_subMesh
+class SMESH_EXPORT SMESH_subMesh
 {
  public:
   SMESH_subMesh(int Id, SMESH_Mesh * father, SMESHDS_Mesh * meshDS,
@@ -72,8 +79,6 @@ class SMESH_subMesh
 
   const TopoDS_Shape & GetSubShape() const;
 
-//  bool _vertexSet;                   // only for vertex subMesh, set to false for dim > 0
-
   enum compute_state
   {
     NOT_READY, READY_TO_COMPUTE,
@@ -96,6 +101,78 @@ class SMESH_subMesh
     CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED,
     MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE
     };
+  enum event_type
+  {
+    ALGO_EVENT, COMPUTE_EVENT
+  };
+
+  // ==================================================================
+  // Members to track non hierarchical dependencies between submeshes 
+  // ==================================================================
+
+  /*!
+   * \brief Sets an event listener and its data to a submesh
+    * \param listener - the listener to store
+    * \param data - the listener data to store
+    * \param where - the submesh to store the listener and it's data
+    * \param deleteListener - if true then the listener will be deleted as
+    *        it is removed from where submesh
+   * 
+   * It remembers the submesh where it puts the listener in order to delete
+   * them when HYP_OK algo_state is lost
+   * After being set, event listener is notified on each event of where submesh.
+   */
+  void SetEventListener(EventListener*     listener,
+                        EventListenerData* data,
+                        SMESH_subMesh*     where);
+
+  /*!
+   * \brief Return an event listener data
+    * \param listener - the listener whose data is
+    * \retval EventListenerData* - found data, maybe NULL
+   */
+  EventListenerData* GetEventListenerData(EventListener* listener) const;
+
+  /*!
+   * \brief Unregister the listener and delete it and it's data
+    * \param listener - the event listener to delete
+   */
+  void DeleteEventListener(EventListener* listener);
+
+protected:
+
+  //!< event listeners to notify
+  std::map< EventListener*, EventListenerData* >           myEventListeners;
+  //!< event listeners to delete when HYP_OK algo_state is lost
+  std::list< std::pair< SMESH_subMesh*, EventListener* > > myOwnListeners;
+
+  /*!
+   * \brief Sets an event listener and its data to a submesh
+    * \param listener - the listener to store
+    * \param data - the listener data to store
+   * 
+   * After being set, event listener is notified on each event of a submesh.
+   */
+  void SetEventListener(EventListener* listener, EventListenerData* data);
+
+  /*!
+   * \brief Notify stored event listeners on the occured event
+   * \param event - algo_event or compute_event itself
+   * \param eventType - algo_event or compute_event
+   * \param hyp - hypothesis, if eventType is algo_event
+   */
+  void NotifyListenersOnEvent( const int         event,
+                               const event_type  eventType,
+                               SMESH_Hypothesis* hyp = 0);
+
+  /*!
+   * \brief Delete event listeners depending on algo of this submesh
+   */
+  void DeleteOwnListeners();
+
+  // ==================================================================
+
+public:
 
   SMESH_Hypothesis::Hypothesis_Status
     AlgoStateEngine(int event, SMESH_Hypothesis * anHyp);
@@ -128,7 +205,11 @@ class SMESH_subMesh
   SMESH_Hypothesis::Hypothesis_Status CheckConcurentHypothesis (const int theHypType);
   // check if there are several applicable hypothesis on fathers
 
- protected:
+  bool IsMeshComputed() const;
+  // check if _subMeshDS contains mesh elements
+
+protected:
+  // ==================================================================
   void InsertDependence(const TopoDS_Shape aSubShape);
 
   bool SubMeshesComputed();
@@ -143,9 +224,6 @@ class SMESH_subMesh
   void CleanDependsOn();
   void SetAlgoState(int state);
 
-  bool IsMeshComputed() const;
-  // check if _subMeshDS contains mesh elements
-
   TopoDS_Shape GetCollection(SMESH_Gen * theGen, SMESH_Algo* theAlgo);
   // return a shape containing all sub-shapes of the MainShape that can be
   // meshed at once along with _subShape
diff --git a/src/SMESH/SMESH_subMeshEventListener.hxx b/src/SMESH/SMESH_subMeshEventListener.hxx
new file mode 100644 (file)
index 0000000..7f538c3
--- /dev/null
@@ -0,0 +1,106 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : SMESH_subMeshEventListener.hxx
+// Created   : Mon Nov 13 10:45:49 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#ifndef SMESH_subMeshEventListener_HeaderFile
+#define SMESH_subMeshEventListener_HeaderFile
+
+#include "SMESH_SMESH.hxx"
+
+#include <list>
+
+class  SMESH_subMesh;
+class  SMESH_Hypothesis;
+struct SMESH_subMeshEventListenerData;
+
+// ------------------------------------------------------------------
+/*!
+ * \brief A base for objects reacting on submesh events
+ */
+// ------------------------------------------------------------------
+
+class SMESH_EXPORT SMESH_subMeshEventListener {
+  bool myIsDeletable; //!< if true, it will be deleted by SMESH_subMesh
+public:
+  SMESH_subMeshEventListener(bool isDeletable):myIsDeletable(isDeletable) {}
+  bool IsDeletable() const { return myIsDeletable; }
+  /*!
+   * \brief Do something on a certain event
+   * \param event - algo_event or compute_event itself (of SMESH_subMesh)
+   * \param eventType - ALGO_EVENT or COMPUTE_EVENT (of SMESH_subMesh)
+   * \param subMesh - the submesh where the event occures
+   * \param data - listener data stored in the subMesh
+   * \param hyp - hypothesis, if eventType is algo_event
+   * 
+   * The base implementation translates CLEAN event to the subMesh stored
+   * in the listener data. Also it sends SUBMESH_COMPUTED event in case of
+   * successful COMPUTE event.
+   */
+  virtual void ProcessEvent(const int          event,
+                            const int          eventType,
+                            SMESH_subMesh*     subMesh,
+                            SMESH_subMeshEventListenerData* data,
+                            SMESH_Hypothesis*  hyp = 0);
+};
+
+// ------------------------------------------------------------------
+/*!
+ * \brief Data specific for EventListener and to be stored in a submesh
+ */
+// ------------------------------------------------------------------
+
+struct SMESH_subMeshEventListenerData
+{
+  bool myIsDeletable; //!< if true, it will be deleted by SMESH_subMesh
+  int myType;         //!< to recognize data type
+  std::list<SMESH_subMesh*> mySubMeshes; //!< generally: submeshes depending
+                                         // on the one storing this data
+public:
+  SMESH_subMeshEventListenerData(bool isDeletable):myIsDeletable(isDeletable) {}
+  bool IsDeletable() const { return myIsDeletable; }
+
+  /*!
+   * \brief Create a default listener data.
+   * \param dependentSM - subMesh to store
+   * \param type - data type
+   * \retval SMESH_subMeshEventListenerData* - a new listener data
+   *
+   * See SMESH_subMeshEventListener::ProcessEvent() to know how the default
+   * listener uses it (implementation is in SMESH_subMesh.cxx)
+   */
+  static SMESH_subMeshEventListenerData* MakeData(SMESH_subMesh* dependentSM,
+                                                  const int      type = 0)
+  {
+    SMESH_subMeshEventListenerData* data = new SMESH_subMeshEventListenerData(true);
+    data->mySubMeshes.push_back( dependentSM );
+    data->myType = type;
+    return data;
+  }
+};
+
+
+#endif
index bd52bc0428ce0c69386ac598d4806c0981aa6308..135b0fa85d350b3c653c1f3a553f5e03646e5447 100644 (file)
@@ -749,11 +749,11 @@ SMESH_Client::Update(bool theIsClear)
             int nbNodes = anIndexes[i++];
             // nodes
             //ASSERT( nbNodes < 9 );
-            const SMDS_MeshNode* aNodes[ nbNodes ];
+            vector<const SMDS_MeshNode*> aNodes( nbNodes );
             for ( int iNode = 0; iNode < nbNodes; iNode++ )
               aNodes[ iNode ] = FindNode( mySMDSMesh, anIndexes[i++] );
             // change
-            mySMDSMesh->ChangeElementNodes( elem, aNodes, nbNodes );
+            mySMDSMesh->ChangeElementNodes( elem, &aNodes[0], nbNodes );
           }
           break;
 
index cc17cf88c3d13e97775df0b15154ac2cfcb15629..298e8eff0cc29c675e20635e0c95dfacdc1af5f2 100644 (file)
 #include CORBA_SERVER_HEADER(SMESH_Gen)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 
-#if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS
-#define SMESHCLIENT_WNT_EXPORT __declspec( dllexport )
+#ifdef WNT
+# ifdef SMESHCLIENT_EXPORTS
+#  define SMESHCLIENT_EXPORT __declspec( dllexport )
+# else
+#  define SMESHCLIENT_EXPORT __declspec( dllimport )
+# endif
 #else
-#define SMESHCLIENT_WNT_EXPORT
+# define SMESHCLIENT_EXPORT
 #endif
 
 class SMESHDS_Mesh;
@@ -45,7 +49,7 @@ class SMDS_Mesh;
 //=====================================================================
 // SMESH_Client : class definition
 //=====================================================================
-class SMESHCLIENT_WNT_EXPORT SMESH_Client  
+class SMESHCLIENT_EXPORT SMESH_Client  
 {
 public:
   static 
index a182eaa83bb61109becc1e633834637d6d1cb740..c1584c8e5f41c19bec97aca795721360c7b90def 100644 (file)
@@ -67,7 +67,9 @@ EXPORT_HEADERS= \
        SMESHDS_SubMesh.hxx \
        SMESHDS_GroupBase.hxx \
        SMESHDS_Group.hxx \
-       SMESHDS_GroupOnGeom.hxx
+       SMESHDS_GroupOnGeom.hxx \
+       SMESH_SMESHDS.hxx \
+       SMESHDS_DataMapOfShape.hxx
 
 # additionnal information to compil and link file
 CPPFLAGS += $(OCC_INCLUDES) $(KERNEL_CXXFLAGS) $(BOOST_CPPFLAGS)
index 91d81d45235a92d7a9b18001687a06510e590eef..a48bc6fedca404f9daadcaf45cb86b76cd13b737 100644 (file)
 #ifndef _SMESHDS_Command_HeaderFile
 #define _SMESHDS_Command_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_CommandType.hxx"
 #include <list>
 #include <vector>
 
-class SMESHDS_Command
+class SMESHDS_EXPORT SMESHDS_Command
 {
 
   public:
diff --git a/src/SMESHDS/SMESHDS_DataMapOfShape.hxx b/src/SMESHDS/SMESHDS_DataMapOfShape.hxx
new file mode 100755 (executable)
index 0000000..27fd085
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2005  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.salome-platform.org/
+//
+// File:      SMESHDS_DataMapOfShape.hxx
+// Created:   20.09.05 09:51:12
+// Author:    Alexander BORODIN
+// Copyright: Open CASCADE 2006
+
+
+#ifndef SMESHDS_DataMapOfShape_HeaderFile
+#define SMESHDS_DataMapOfShape_HeaderFile
+
+#include <TopoDS_Shape.hxx>
+
+/*
+ * This method needed for instance NCollection_DataMap with TopoDS_Shape as key
+ */
+
+inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
+                                const TopoDS_Shape& S2)
+{
+  return S1.IsSame(S2);
+}
+
+
+
+#endif 
index 8a195db445fd444ca175c0a0e800ce75602e66e2..67894d3dd8b074b7052d616723a52c063f6ea9c5 100644 (file)
 #ifndef _SMESHDS_Document_HeaderFile
 #define _SMESHDS_Document_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_Mesh.hxx"
 #include "SMESHDS_Hypothesis.hxx"
 #include <map>
 
 
-class SMESHDS_Document
+class SMESHDS_EXPORT SMESHDS_Document
 {
   public:
        SMESHDS_Document(int UserID);
index c4ec5ec7851fd314c566e9b899fa30f778abca04..2d41756a53788cffcde24c0eebb86ee0628c57bd 100644 (file)
 #ifndef _SMESHDS_Group_HeaderFile
 #define _SMESHDS_Group_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include "SMESHDS_GroupBase.hxx"
 #include "SMDS_MeshGroup.hxx"
 
 class SMESHDS_Mesh;
 
-class SMESHDS_Group : public SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_Group : public SMESHDS_GroupBase
 {
  public:
 
@@ -51,9 +53,9 @@ class SMESHDS_Group : public SMESHDS_GroupBase
 
   virtual SMDS_ElemIteratorPtr GetElements();
 
-  bool SMESHDS_Group::Add (const int theID);
+  bool Add (const int theID);
 
-  bool SMESHDS_Group::Remove (const int theID);
+  bool Remove (const int theID);
 
   void Clear();
 
index 52b21e168e21262a413d0dc3fb1b07dfd90f2e2c..e374b723bdb5024fb167b22c2618da8877ae3309 100644 (file)
@@ -41,7 +41,7 @@ SMESHDS_GroupBase::SMESHDS_GroupBase (const int                 theID,
                                       const SMESHDS_Mesh*       theMesh,
                                       const SMDSAbs_ElementType theType):
        myID(theID), myMesh(theMesh), myType(theType), myStoreName(""),
-       myCurIndex(0), myCurID(-1)
+       myCurIndex(0), myCurID(-1), myColorGroup(0)
 {
 }
 
index d0095dec6e979566a3eae9c84b16941a33f591df..2bba90532d447926f044ce75910fbef630212b26 100644 (file)
 #ifndef _SMESHDS_GroupBase_HeaderFile
 #define _SMESHDS_GroupBase_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include "SMDSAbs_ElementType.hxx"
 #include "SMDS_MeshElement.hxx"
   
 class SMESHDS_Mesh;
 
-class SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_GroupBase
 {
  public:
 
index bbf2cd35aa6e478174a86d965be90ccbc4d0fbda..eaee815f8be7c5c87b1f04a0bc71419b6b9a1ef8 100644 (file)
 #ifndef _SMESHDS_GroupOnGeom_HeaderFile
 #define _SMESHDS_GroupOnGeom_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_GroupBase.hxx"
 #include <TopoDS_Shape.hxx>
   
 class SMESHDS_SubMesh;
 
-class SMESHDS_GroupOnGeom: public SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_GroupOnGeom: public SMESHDS_GroupBase
 {
  public:
 
index 51c5ef486a03484a160825e1a89673eb6f0f0882..904ee1ec9732da99b01a784ca5a87b3b89d9119b 100644 (file)
 #ifndef _SMESHDS_HYPOTHESIS_HXX_
 #define _SMESHDS_HYPOTHESIS_HXX_
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include <iostream>
 
-class SMESHDS_Hypothesis
+class SMESHDS_EXPORT SMESHDS_Hypothesis
 {
 public:
   SMESHDS_Hypothesis(int hypId);
index d8a1d5942edec2e52f8f4d7a50f5eb302c419f7c..36e185f8a94854228a98f33907a794cf86404c43 100644 (file)
 
 using namespace std;
 
+/*Standard_Boolean IsEqual( const TopoDS_Shape& S1, const TopoDS_Shape& S2 ) 
+  {
+    return S1.IsSame( S2 );
+  }*/
+
 //=======================================================================
 //function : Create
 //purpose  : 
@@ -70,7 +75,7 @@ void SMESHDS_Mesh::ShapeToMesh(const TopoDS_Shape & S)
   {
     // removal of a shape to mesh, delete ...
     // - hypotheses
-    myShapeToHypothesis.clear();
+    myShapeToHypothesis.Clear();
     // - shape indices in SMDS_Position of nodes
     map<int,SMESHDS_SubMesh*>::iterator i_sub = myShapeIndexToSubMesh.begin();
     for ( ; i_sub != myShapeIndexToSubMesh.end(); i_sub++ ) {
@@ -107,7 +112,14 @@ void SMESHDS_Mesh::ShapeToMesh(const TopoDS_Shape & S)
 bool SMESHDS_Mesh::AddHypothesis(const TopoDS_Shape & SS,
        const SMESHDS_Hypothesis * H)
 {
-       list<const SMESHDS_Hypothesis *>& alist=myShapeToHypothesis[SS];
+       //list<const SMESHDS_Hypothesis *>& alist=myShapeToHypothesis[SS];
+  
+  if ( !myShapeToHypothesis.IsBound( SS ) )
+    myShapeToHypothesis.Bind( SS, list<const SMESHDS_Hypothesis *>() );
+
+  list<const SMESHDS_Hypothesis *>& alist = myShapeToHypothesis.ChangeFind( SS );
+
+    
 
        //Check if the Hypothesis is still present
        list<const SMESHDS_Hypothesis*>::iterator ith=alist.begin();
@@ -127,7 +139,7 @@ bool SMESHDS_Mesh::AddHypothesis(const TopoDS_Shape & SS,
 bool SMESHDS_Mesh::RemoveHypothesis(const TopoDS_Shape & S,
        const SMESHDS_Hypothesis * H)
 {
-       ShapeToHypothesis::iterator its=myShapeToHypothesis.find(S);
+       /*ShapeToHypothesis::iterator its=myShapeToHypothesis.find(S);
        if(its!=myShapeToHypothesis.end())
        {
                list<const SMESHDS_Hypothesis*>::iterator ith=(*its).second.begin();
@@ -138,7 +150,19 @@ bool SMESHDS_Mesh::RemoveHypothesis(const TopoDS_Shape & S,
                                (*its).second.erase(ith);
                                return true;
                        }
-       }
+       }*/
+  if ( myShapeToHypothesis.IsBound( S ) )
+  {
+    list<const SMESHDS_Hypothesis *>& alist = myShapeToHypothesis.ChangeFind( S );
+    list<const SMESHDS_Hypothesis*>::iterator ith = alist.begin();
+
+               for (; ith != alist.end(); ith++)
+                       if (H == *ith)
+                       {
+                               alist.erase(ith);
+                               return true;
+                       }
+  }
        return false;
 }
 
@@ -1018,8 +1042,8 @@ list<int> SMESHDS_Mesh::SubMeshIndices()
 const list<const SMESHDS_Hypothesis*>& SMESHDS_Mesh::GetHypothesis(
        const TopoDS_Shape & S) const
 {
-       if (myShapeToHypothesis.find(S)!=myShapeToHypothesis.end())
-               return myShapeToHypothesis.find(S)->second;
+       if ( myShapeToHypothesis.IsBound(S) )
+               return myShapeToHypothesis.Find(S);
 
        static list<const SMESHDS_Hypothesis*> empty;
        return empty;
@@ -1060,7 +1084,7 @@ bool SMESHDS_Mesh::HasMeshElements(const TopoDS_Shape & S)
 //=======================================================================
 bool SMESHDS_Mesh::HasHypothesis(const TopoDS_Shape & S)
 {
-       return myShapeToHypothesis.find(S)!=myShapeToHypothesis.end();
+       return myShapeToHypothesis.IsBound(S);
 }
 
 //=======================================================================
index d2b2257ded0d6614a6514c98f7bb25fa47949700..967e21a67287b052df1a1bdee3a40138cd77b3d7 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMESHDS_Mesh_HeaderFile
 #define _SMESHDS_Mesh_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_MeshEdge.hxx"
 #include <TopoDS_Face.hxx>
 #include <TopoDS_Vertex.hxx>
 #include <TopoDS_Edge.hxx>
-#include <map>
-#ifdef WNT
-#include <hash_map>
-#endif
-
-//Not portable see http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_4 to know more.
-#ifdef __GNUC__
-  #if __GNUC__ < 3
-    #include <hash_map.h>
-    namespace gstd { using ::hash_map; }; // inherit globals
-  #elif __GNUC__ == 3
-    #include <ext/hash_map>
-    #if __GNUC_MINOR__ == 0
-      namespace gstd = std;               // GCC 3.0
-    #else
-      namespace gstd = ::__gnu_cxx;       // GCC 3.1 and later
-    #endif
-  #else                                   // GCC 4.0 and later
-    #include <ext/hash_map>
-    namespace gstd = ::__gnu_cxx;
-  #endif
-#else      // ...  there are other compilers, right?
-  namespace gstd = std;
-#endif
 
-#if defined WNT && defined WIN32 && defined SMESHDS_EXPORTS
-#define SMESHDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMESHDS_WNT_EXPORT
-#endif
+#include <NCollection_DataMap.hxx>
+#include <map>
+/*
+ * Using of native haah_map isn't portable and don't work on WIN32 platform.
+ * So this functionality implement on new NCollection_DataMap technology
+ */
+#include "SMESHDS_DataMapOfShape.hxx"
 
 class SMESHDS_GroupBase;
 
-class SMESHDS_WNT_EXPORT SMESHDS_Mesh:public SMDS_Mesh{
+class SMESHDS_EXPORT SMESHDS_Mesh:public SMDS_Mesh{
 public:
   SMESHDS_Mesh(int theMeshID, bool theIsEmbeddedMode);
   bool IsEmbeddedMode();
@@ -455,38 +435,23 @@ public:
   ~SMESHDS_Mesh();
   
 private:
-#ifndef WNT
-  struct HashTopoDS_Shape{
-    size_t operator()(const TopoDS_Shape& S) const {
-      return S.HashCode(2147483647);
+  void addNodeToSubmesh( const SMDS_MeshNode* aNode, int Index )
+  {
+    //Update or build submesh
+    map<int,SMESHDS_SubMesh*>::iterator it = myShapeIndexToSubMesh.find( Index );
+    if ( it == myShapeIndexToSubMesh.end() )
+      it = myShapeIndexToSubMesh.insert( make_pair(Index, new SMESHDS_SubMesh() )).first;
+    it->second->AddNode( aNode ); // add aNode to submesh
     }
-  };
-#else
-  typedef gstd::hash_compare< TopoDS_Shape, less<TopoDS_Shape> > HashTopoDS;
-
-  class HashTopoDS_Shape : public HashTopoDS {
-  public:
   
-    size_t operator()(const TopoDS_Shape& S) const {
+  /*int HashCode( const TopoDS_Shape& S, const Standard_Integer theUpper ) const
+  {
       return S.HashCode(2147483647);
-    }
-
-       bool operator()(const TopoDS_Shape& S1,const TopoDS_Shape& S2) const {
-               return S1==S2;
-       }
-  };
-
-
-
-#endif
+  }*/ 
 
   typedef std::list<const SMESHDS_Hypothesis*> THypList;
 
-#ifndef WNT
-  typedef gstd::hash_map<TopoDS_Shape,THypList,HashTopoDS_Shape> ShapeToHypothesis;
-#else
-  typedef gstd::hash_map<TopoDS_Shape,THypList,HashTopoDS_Shape> ShapeToHypothesis;
-#endif
+  typedef NCollection_DataMap< TopoDS_Shape, THypList > ShapeToHypothesis;
 
   ShapeToHypothesis          myShapeToHypothesis;
 
index 01108d3b8eecb75a8faa156d988e1d4c5c23a723..781fc9910f054b2e02131a4161c4f80f9a36df84 100644 (file)
 #ifndef _SMESHDS_Script_HeaderFile
 #define _SMESHDS_Script_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_Command.hxx"
 
 #include <list>
 #include <vector>
 
 
-class SMESHDS_Script
+class SMESHDS_EXPORT SMESHDS_Script
 {
   public:
        SMESHDS_Script(bool theIsEmbeddedMode);
index 36617577ea339a02fc623d3ddc0f89edaf80cba7..1231c490c03ca963b013da4596ba87b07b3d9f22 100644 (file)
 #ifndef _SMESHDS_SubMesh_HeaderFile
 #define _SMESHDS_SubMesh_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include <set>
 
-#if defined WNT && defined WIN32 && defined SMESHDS_EXPORTS
-#define SMESHDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMESHDS_WNT_EXPORT
-#endif
-
-class SMESHDS_WNT_EXPORT SMESHDS_SubMesh
+class SMESHDS_EXPORT SMESHDS_SubMesh
 {
  public:
 
diff --git a/src/SMESHDS/SMESH_SMESHDS.hxx b/src/SMESHDS/SMESH_SMESHDS.hxx
new file mode 100755 (executable)
index 0000000..fdef18d
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESHDS.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESHDS_HXX_
+#define _SMESH_SMESHDS_HXX_
+
+#ifdef WNT
+ #if defined SMESHDS_EXPORTS
+  #define SMESHDS_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHDS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHDS_EXPORT
+#endif
+
+#endif
\ No newline at end of file
index b5f62c9f7f02a1254012edf06b47a497c05ed018..a6197ab82491768579fcd683dc886087f20a5ac0 100644 (file)
 #ifndef _SMESH_LogicalFilter_HeaderFile
 #define _SMESH_LogicalFilter_HeaderFile
 
+#include "SMESH_Type.h"
+
 #include <SUIT_SelectionFilter.h>
 
 #include <qptrlist.h>
 
-class SMESH_LogicalFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_LogicalFilter : public SUIT_SelectionFilter
 {
  public:
   enum { LO_OR, LO_AND, LO_NOT, LO_UNDEFINED };
index 929401562be1628b5b463a4e8dc90124c87e85e4..61162a581681c69ff04e618e2371d289cfe132d0 100644 (file)
@@ -176,24 +176,26 @@ GEOM::GEOM_Object_ptr SMESH_NumberFilter::getGeom
     return anObj._retn();
 
   // Get geom object corresponding to the mesh
-  _PTR(ChildIterator) anIter = study->NewChildIterator(aSO);
-  for (; anIter->More(); anIter->Next()) {
-    _PTR(SObject) aSO = anIter->Value();
-    if (!aSO)
-      continue;
-    _PTR(SObject) aRefSO;
-    _PTR(SObject) anObj;
-    if (aSO->ReferencedObject(aRefSO))
-      anObj = aRefSO;
-
-    if (!anObj)
-      anObj = aSO;
-
-    anObject = _CAST(SObject,anObj)->GetObject();
-    GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
-
-    if (!aMeshShape->_is_nil())
-      return aMeshShape._retn();
+  if ( myKind == "SMESH" ) {
+    _PTR(ChildIterator) anIter = study->NewChildIterator(aSO);
+    for (; anIter->More(); anIter->Next()) {
+      _PTR(SObject) aSO = anIter->Value();
+      if (!aSO)
+        continue;
+      _PTR(SObject) aRefSO;
+      _PTR(SObject) anObj;
+      if (aSO->ReferencedObject(aRefSO))
+        anObj = aRefSO;
+
+      if (!anObj)
+        anObj = aSO;
+
+      anObject = _CAST(SObject,anObj)->GetObject();
+      GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
+
+      if (!aMeshShape->_is_nil())
+        return aMeshShape._retn();
+    }
   }
 
   return GEOM::GEOM_Object::_nil();
index c4d3d84180d5a1dfd849bf3f82c3a5eb143a4e6f..badf440063d35c36a3059183baa6fc92f438ed3b 100644 (file)
@@ -23,6 +23,8 @@
 #ifndef _SMESH_NumberFilter_HeaderFile
 #define _SMESH_NumberFilter_HeaderFile
 
+#include "SMESH_Type.h"
+
 #include "SUIT_SelectionFilter.h"
 
 #include <TopAbs_ShapeEnum.hxx>
@@ -31,6 +33,8 @@
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(GEOM_Gen)
 
+#include <string>
+
 class SUIT_DataOwner;
 
 /*!
@@ -45,7 +49,7 @@ class SUIT_DataOwner;
  *                * theMainObject   - Sub-shapes of this object is selected only
  *                * theIsClosedOnly - Closed shapes is selected if this parameter is true
  */
-class SMESH_NumberFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_NumberFilter : public SUIT_SelectionFilter
 {
  public:
   SMESH_NumberFilter (const char*            theKind,
@@ -77,7 +81,7 @@ class SMESH_NumberFilter : public SUIT_SelectionFilter
   GEOM::GEOM_Object_ptr getGeom (const SUIT_DataOwner*, const bool extractReference = true ) const;
 
  private:
-  char*                 myKind;
+  std::string           myKind;
   TopAbs_ShapeEnum      mySubShapeType;
   int                   myNumber;
   bool                  myIsClosedOnly;
index 03d63d19d93da32321bb7fbf4a016d1a3301339a..6b765a3fad649930bfb90aeedc44c6b4241acd45 100644 (file)
 #ifndef SMESH_TYPE_HEADER
 #define SMESH_TYPE_HEADER
 
+#ifdef WNT
+ #if defined SMESHFILTERSSELECTION_EXPORTS
+  #define SMESHFILTERSSELECTION_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHFILTERSSELECTION_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHFILTERSSELECTION_EXPORT
+#endif
+
 enum MeshObjectType {
   HYPOTHESIS,
   ALGORITHM,
index c31cc577bc854edfd1dbc4bf8906b3305513082d..da5ada02e64a0ac5cd9066642473527012792e8c 100644 (file)
@@ -28,7 +28,7 @@
 
 class SUIT_DataOwner;
 
-class SMESH_TypeFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_TypeFilter : public SUIT_SelectionFilter
 {
 public:
   SMESH_TypeFilter (MeshObjectType theType);
index 6871db10562cbb799b5ad17f8fc5e5fc2ac760f1..87a8ed0fbf62f7dd6ac0d625f3a5b68d4bf92a47 100644 (file)
@@ -42,7 +42,10 @@ EXPORT_HEADERS= SMESHGUI_Swig.hxx \
                SMESHGUI_Hypotheses.h \
                SMESHGUI_HypothesesUtils.h \
                SMESHGUI_SpinBox.h \
-               SMESHGUI_Selection.h 
+               SMESHGUI_Selection.h \
+               SMESHGUI_VTKUtils.h \
+               SMESH_SMESHGUI.hxx
+
 
 # .po files to transform in .qm
 PO_FILES = \
index 8fb5c12c2f0bce6b1c1146a0864a051fc63a5d81..e570b199dac05fba338acdf48bc0d7a0e45e49e6 100644 (file)
 
 using namespace std;
 
-namespace{
+//namespace{
   // Declarations
   //=============================================================
   void ImportMeshesFromFile(SMESH::SMESH_Gen_ptr theComponentMesh,
@@ -330,7 +330,7 @@ namespace{
             aFormat = aFilterMap[fd->selectedFilter()];
             is_ok = true;
             if ( !aFilename.isEmpty()
-                 && (aMesh->NbPolygons()>0 or aMesh->NbPolyhedrons()>0)
+                 && (aMesh->NbPolygons()>0 || aMesh->NbPolyhedrons()>0)
                  && aFormat==SMESH::MED_V2_1) {
               int aRet = SUIT_MessageBox::warn2(SMESHGUI::desktop(),
                                                 QObject::tr("SMESH_WRN_WARNING"),
@@ -352,21 +352,32 @@ namespace{
          if ( aFile.exists() )
            aFile.remove();
          SUIT_OverrideCursor wc;
-         switch ( theCommandID ) {
-         case 125:
-         case 122:
-           aMesh->ExportToMED( aFilename.latin1(), toCreateGroups, aFormat );
-           break;
-         case 124:
-         case 121:
-           aMesh->ExportDAT( aFilename.latin1() );
-           break;
-         case 126:
-         case 123:
-           aMesh->ExportUNV( aFilename.latin1() );
-           break;
-         default:
-           break;
+
+         try {
+           switch ( theCommandID ) {
+           case 125:
+           case 122:
+             aMesh->ExportToMED( aFilename.latin1(), toCreateGroups, aFormat );
+             break;
+           case 124:
+           case 121:
+             aMesh->ExportDAT( aFilename.latin1() );
+             break;
+           case 126:
+           case 123:
+             aMesh->ExportUNV( aFilename.latin1() );
+             break;
+           default:
+             break;
+           }
+         }
+         catch (const SALOME::SALOME_Exception& S_ex){
+           wc.suspend();
+           SUIT_MessageBox::warn1(SMESHGUI::desktop(),
+                                   QObject::tr("SMESH_WRN_WARNING"),
+                                   QObject::tr("SMESH_EXPORT_FAILED"),
+                                   QObject::tr("SMESH_BUT_OK"));
+           wc.resume();
          }
        }
       }
@@ -815,10 +826,10 @@ namespace{
 
     SMESHGUI::GetSMESHGUI()->updateObjBrowser();
   }
-}
+//}
 
 extern "C" {
-  Standard_EXPORT CAM_Module* createModule()
+  SMESHGUI_EXPORT CAM_Module* createModule()
   {
     return new SMESHGUI();
   }
@@ -1217,6 +1228,11 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
          }
        }
       }
+      
+      // PAL13338 -->
+      if ( ( theCommandID==301 || theCommandID==302 ) && !checkLock(aStudy) && !automaticUpdate() ) 
+       SMESH::UpdateView();
+      // PAL13338 <--
 
       if (anAction == SMESH::eErase) {
        SALOME_ListIO l1;
@@ -1224,6 +1240,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       }
       else
        aSel->setSelectedObjects( to_process );
+
       break;
     }
 
@@ -2155,12 +2172,14 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       LightApp_SelectionMgr* mgr = selectionMgr();
       SALOME_ListIO selected; mgr->selectedObjects( selected );
 
-      if (selected.Extent() == 1)      {
-       Handle(SALOME_InteractiveObject) anIObject = selected.First();
-       if(anIObject->hasEntry())
+      SALOME_ListIteratorOfListIO it(selected);
+      for(; it.More(); it.Next()) {
+        Handle(SALOME_InteractiveObject) anIObject = it.Value();
+       if(anIObject->hasEntry()) {
          if(SMESH_Actor *anActor = SMESH::FindActorByEntry(anIObject->getEntry())){
            anActor->SetPointsLabeled( !anActor->GetPointsLabeled() );
          }
+       }
       }
       break;
     }
@@ -2930,7 +2949,7 @@ QString SMESHGUI::engineIOR() const
 {
   CORBA::ORB_var anORB = getApp()->orb();
   CORBA::String_var anIOR = anORB->object_to_string(GetSMESHGen());
-  return anIOR.in();
+  return QString( anIOR.in() );
 }
 
 void SMESHGUI::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& /*title*/ )
@@ -3139,8 +3158,6 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
       sbW = aResourceMgr->doubleValue("SMESH", "scalar_bar_vertical_width", sbW);
       if(sbX1+sbW > aTol){
        aWarning = "Origin and Size Vertical: X+Width > 1\n";   
-       sbX1=0.01;
-       sbW=0.05;
        aResourceMgr->setValue("SMESH", "scalar_bar_vertical_x", sbX1);
        aResourceMgr->setValue("SMESH", "scalar_bar_vertical_width", sbW);
       }
@@ -3150,8 +3167,6 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
       sbH = aResourceMgr->doubleValue("SMESH", "scalar_bar_vertical_height",sbH);
       if(sbY1+sbH > aTol){
        aWarning = "Origin and Size Vertical: Y+Height > 1\n";
-       sbY1=0.01;
-       sbH=0.5;
        aResourceMgr->setValue("SMESH", "scalar_bar_vertical_y", sbY1);
        aResourceMgr->setValue("SMESH", "scalar_bar_vertical_height",sbH);
       }
@@ -3161,8 +3176,8 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
       sbW = aResourceMgr->doubleValue("SMESH", "scalar_bar_horizontal_width", sbW);
       if(sbX1+sbW > aTol){
        aWarning = "Origin and Size Horizontal: X+Width > 1\n";
-       sbX1=0.2;
-       sbW=0.6;
+       sbX1=0.01;
+       sbW=0.05;
        aResourceMgr->setValue("SMESH", "scalar_bar_horizontal_x", sbX1);
        aResourceMgr->setValue("SMESH", "scalar_bar_horizontal_width", sbW);
       }
@@ -3173,7 +3188,7 @@ void SMESHGUI::preferencesChanged( const QString& sect, const QString& name )
       if(sbY1+sbH > aTol){
        aWarning = "Origin and Size Horizontal: Y+Height > 1\n";
        sbY1=0.01;
-       sbH=0.12;
+       sbH=0.05;
        aResourceMgr->setValue("SMESH", "scalar_bar_horizontal_y", sbY1);
        aResourceMgr->setValue("SMESH", "scalar_bar_horizontal_height",sbH);
       }
@@ -3293,3 +3308,4 @@ LightApp_Displayer* SMESHGUI::displayer()
     myDisplayer = new SMESHGUI_Displayer( getApp() );
   return myDisplayer;
 }
+
index 72f756e46e2f012f92cb80adb358c3c261dd7a67..7dbab6471692f2b7aa0d41e0c56d6b1390c4d683 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_HeaderFile
 #define SMESHGUI_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 // SALOME Includes
 #include <SalomeApp_Module.h>
 #include <SALOME_InteractiveObject.hxx>
@@ -55,7 +57,7 @@ class SMESHGUI_FilterLibraryDlg;
 // class    : SMESHGUI
 // purpose  :
 //=================================================================================
-class SMESHGUI : public SalomeApp_Module
+class SMESHGUI_EXPORT SMESHGUI : public SalomeApp_Module
 {
   Q_OBJECT;
 
index 18dc86e26af5f5a29618106e0ba2bba645b8ddc0..3d51f663a9b17f5598bd3b05dfa44e08793d5939 100644 (file)
@@ -535,9 +535,15 @@ void SMESHGUI_AddMeshElementDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index f092954215dfe002f5a7f391cd594395ddba41a0..3f4722315e81fe2beebadc52e9f389825521b665 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_ADD_FACE_H
 #define DIALOGBOX_ADD_FACE_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMDSAbs_ElementType.hxx"
@@ -66,7 +68,7 @@ namespace SMESH{
 // class    : SMESHGUI_AddMeshElementDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_AddMeshElementDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_AddMeshElementDlg : public QDialog
 { 
     Q_OBJECT
 
index ca7d886e38ac8d1581517a974f7a68b3df618eaa..19ac2836e9ed111472c86f19c49780fe37d79906 100644 (file)
@@ -694,9 +694,15 @@ void SMESHGUI_AddQuadraticElementDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 6ec0c63bba281a0456635805bee1cc2394816e57..2558e65673324591fec712139853252fcde79d93 100644 (file)
@@ -443,9 +443,15 @@ void SMESHGUI_ClippingDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 2fe68185125e94a661644b5a779175ff78202692..a0f221bda5b333090b7abe82d1cb74925ecf1044 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_CLIPPING_H
 #define DIALOGBOX_CLIPPING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SMESHGUI_SpinBox.h>
 
 #include <vtkSmartPointer.h>
@@ -68,7 +70,7 @@ namespace SMESH {
 // class    : SMESHGUI_ClippingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ClippingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ClippingDlg : public QDialog
 {
     Q_OBJECT
 
diff --git a/src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.h b/src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.h
new file mode 100644 (file)
index 0000000..3219dd5
--- /dev/null
@@ -0,0 +1,96 @@
+//  SMESH SMESHGUI : GUI for SMESH component
+//
+//  Copyright (C) 2003  CEA
+// 
+//  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.salome-platform.org or email : webmaster.salome@opencascade.org
+//
+//
+//
+//  File   : SMESHGUI_CreateHypothesesDlg.h
+//  Author : Julia DOROVSKIKH
+//  Module : SMESH
+//  $Header$
+
+#ifndef DIALOGBOX_CREATE_HYPOTHESES_H
+#define DIALOGBOX_CREATE_HYPOTHESES_H
+
+#include "SMESH_SMESHGUI.hxx"
+
+// QT Includes
+#include <qvariant.h>
+#include <qdialog.h>
+#include <qstringlist.h>
+
+// IDL Headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(GEOM_Gen)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#include <map>
+#include <string>
+
+class QButtonGroup;
+class QGroupBox;
+class QPushButton;
+class QListView;
+class QListViewItem;
+class SMESHGUI;
+
+//=================================================================================
+// class    : SMESHGUI_CreateHypothesesDlg
+// purpose  :
+//=================================================================================
+class SMESHGUI_EXPORT SMESHGUI_CreateHypothesesDlg : public QDialog
+{
+    Q_OBJECT
+
+public:
+    SMESHGUI_CreateHypothesesDlg (SMESHGUI*,
+                                 const char* name = 0,
+                                 bool modal = FALSE,
+                                 bool isAlgo = FALSE);
+    ~SMESHGUI_CreateHypothesesDlg ();
+
+private:
+
+    void Init() ;
+    void closeEvent( QCloseEvent* e ) ;
+    void enterEvent ( QEvent * ) ;
+
+    void InitAlgoDefinition();
+
+    SMESHGUI*     mySMESHGUI;
+    bool          myIsAlgo;
+
+    QGroupBox*    GroupButtons;
+    QPushButton*  buttonCancel;
+    QPushButton*  buttonApply;
+
+    QGroupBox* GroupAlgorithms;
+    QListView* ListAlgoDefinition;
+
+private slots:
+
+    void ClickOnCancel();
+    void ClickOnApply();
+    void ActivateThisDialog() ;
+
+    void onSelectionChanged();
+    void onDoubleClicked(QListViewItem*);
+};
+
+#endif // DIALOGBOX_CREATE_HYPOTHESES_H
index 85579d9f125642872bde0da3ecedd4bc5ffcbed8..655415bddf41ac8211dee4ddf5c12489a63e73fc 100755 (executable)
-//  SMESH SMESHGUI : GUI for SMESH component\r
-//\r
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
-//\r
-//  This library is free software; you can redistribute it and/or\r
-//  modify it under the terms of the GNU Lesser General Public\r
-//  License as published by the Free Software Foundation; either\r
-//  version 2.1 of the License.\r
-//\r
-//  This library is distributed in the hope that it will be useful,\r
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
-//  Lesser General Public License for more details.\r
-//\r
-//  You should have received a copy of the GNU Lesser General Public\r
-//  License along with this library; if not, write to the Free Software\r
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
-//\r
+//  SMESH SMESHGUI : GUI for SMESH component
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//\r
-//\r
-//\r
-//  File   : SMESHGUI_CreatePatternDlg.cxx\r
-//  Author : Sergey LITONIN\r
-//  Module : SMESH\r
-\r
-#include "SMESHGUI_CreatePatternDlg.h"\r
-\r
-#include "SMESHGUI.h"\r
-#include "SMESHGUI_SpinBox.h"\r
-#include "SMESHGUI_PatternWidget.h"\r
-#include "SMESHGUI_Utils.h"\r
-#include "SMESHGUI_VTKUtils.h"\r
-#include "SMESHGUI_PatternUtils.h"\r
-#include "SMESHGUI_GEOMGenUtils.h"\r
-\r
-#include "SMESH_NumberFilter.hxx"\r
-\r
-#include "SUIT_ResourceMgr.h"\r
-#include "SUIT_Desktop.h"\r
-#include "SUIT_FileDlg.h"\r
-#include "SUIT_Session.h"\r
-#include "SUIT_MessageBox.h"\r
-\r
-#include "SalomeApp_Study.h"\r
-#include "LightApp_Application.h"\r
-#include "LightApp_DataOwner.h"\r
-#include "LightApp_SelectionMgr.h"\r
-#include "SalomeApp_Tools.h"\r
-\r
-#include "SALOMEDS_SObject.hxx"\r
-\r
-#include "SALOME_ListIO.hxx"\r
-#include "SVTK_ViewModel.h"\r
-#include "SVTK_ViewWindow.h"\r
-#include "SVTK_Selector.h"\r
-#include "SVTK_Selection.h"\r
-\r
-// OCCT Includes\r
-#include <TColStd_MapOfInteger.hxx>\r
-\r
-// QT Includes\r
-#include <qframe.h>\r
-#include <qlayout.h>\r
-#include <qlineedit.h>\r
-#include <qpushbutton.h>\r
-#include <qgroupbox.h>\r
-#include <qlabel.h>\r
-#include <qradiobutton.h>\r
-#include <qcheckbox.h>\r
-#include <qbuttongroup.h>\r
-#include <qmessagebox.h>\r
-#include <qapplication.h>\r
-\r
-#define SPACING 5\r
-#define MARGIN  10\r
-\r
-/*!\r
- *  Class       : SMESHGUI_CreatePatternDlg\r
- *  Description : Dialog to specify filters for VTK viewer\r
- */\r
-\r
-//=======================================================================\r
-// function : SMESHGUI_CreatePatternDlg()\r
-// purpose  : Constructor\r
-//=======================================================================\r
-SMESHGUI_CreatePatternDlg::SMESHGUI_CreatePatternDlg( SMESHGUI*   theModule,\r
-                                                      const int   theType,\r
-                                                      const char* theName)\r
-     : QDialog( SMESH::GetDesktop( theModule ), theName, false,\r
-                WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),\r
-     mySMESHGUI( theModule ),\r
-     mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )\r
-{\r
-  setCaption(tr("CAPTION"));\r
-\r
-  QVBoxLayout* aDlgLay = new QVBoxLayout (this, MARGIN, SPACING);\r
-\r
-  QFrame* aMainFrame = createMainFrame  (this);\r
-  QFrame* aBtnFrame  = createButtonFrame(this);\r
-\r
-  aDlgLay->addWidget(aMainFrame);\r
-  aDlgLay->addWidget(aBtnFrame);\r
-\r
-  aDlgLay->setStretchFactor(aMainFrame, 1);\r
-\r
-  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))\r
-    mySelector = aViewWindow->GetSelector();\r
-\r
-  myHelpFileName = "pattern_mapping.htm";\r
-\r
-  Init(theType);\r
-}\r
-\r
-//=======================================================================\r
-// function : createMainFrame()\r
-// purpose  : Create frame containing dialog's input fields\r
-//=======================================================================\r
-QFrame* SMESHGUI_CreatePatternDlg::createMainFrame (QWidget* theParent)\r
-{\r
-  QPixmap iconSlct     (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));\r
-  QPixmap icon2d       (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_2d")));\r
-  QPixmap icon3d       (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_3d")));\r
-  QPixmap iconSample2d (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_SAMPLE_2D")));\r
-\r
-  QGroupBox* aMainGrp = new QGroupBox(1, Qt::Horizontal, theParent);\r
-  aMainGrp->setFrameStyle(QFrame::NoFrame);\r
-  aMainGrp->setInsideMargin(0);\r
-\r
-  // Pattern type group\r
-\r
-  myTypeGrp = new QButtonGroup (1, Qt::Vertical, tr("PATTERN_TYPE"), aMainGrp);\r
-  mySwitch2d = new QRadioButton (myTypeGrp);\r
-  mySwitch3d = new QRadioButton (myTypeGrp);\r
-  mySwitch2d->setPixmap(icon2d);\r
-  mySwitch3d->setPixmap(icon3d);\r
-  myTypeGrp->insert(mySwitch2d, Type_2d);\r
-  myTypeGrp->insert(mySwitch3d, Type_3d);\r
-\r
-  QGroupBox* aPatternGrp = new QGroupBox(1, Qt::Horizontal, tr("PATTERN"), aMainGrp);\r
-\r
-  // Mesh and pattern name group\r
-\r
-  QGroupBox* aMeshGrp = new QGroupBox(1, Qt::Vertical, aPatternGrp);\r
-  aMeshGrp->setFrameStyle(QFrame::NoFrame);\r
-  aMeshGrp->setInsideMargin(0);\r
-\r
-  new QLabel(tr("MESH_OR_SUBMESH"), aMeshGrp);\r
-\r
-  QPushButton* aSelBtn = new QPushButton(aMeshGrp);\r
-  aSelBtn->setPixmap(iconSlct);\r
-  myMeshEdit = new QLineEdit(aMeshGrp);\r
-  myMeshEdit->setReadOnly(true);\r
-\r
-  QGroupBox* aPattGrp = new QGroupBox(1, Qt::Vertical, aPatternGrp);\r
-  aPattGrp->setFrameStyle(QFrame::NoFrame);\r
-  aPattGrp->setInsideMargin(0);\r
-\r
-  new QLabel(tr("PATTERN_NAME"), aPattGrp);\r
-  myName = new QLineEdit(aPattGrp);\r
-\r
-  // Picture 2d\r
-\r
-  myPicture2d = new SMESHGUI_PatternWidget(aPatternGrp),\r
-  myPicture2d->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));\r
-\r
-  // Project check box\r
-\r
-  myProjectChk = new QCheckBox(tr("PROJECT"), aPatternGrp);\r
-\r
-  // Connect signals and slots\r
-\r
-  connect(myTypeGrp,    SIGNAL(clicked(int) ), SLOT(onTypeChanged(int)));\r
-  connect(myProjectChk, SIGNAL(toggled(bool)), SLOT(onProject(bool)   ));\r
-  connect(aSelBtn,      SIGNAL(clicked()      ), SLOT(onSelBtnClicked()));\r
-\r
-  return aMainGrp;\r
-}\r
-\r
-//=======================================================================\r
-// function : createButtonFrame()\r
-// purpose  : Create frame containing buttons\r
-//=======================================================================\r
-QFrame* SMESHGUI_CreatePatternDlg::createButtonFrame (QWidget* theParent)\r
-{\r
-  QFrame* aFrame = new QFrame(theParent);\r
-  aFrame->setFrameStyle(QFrame::Box | QFrame::Sunken);\r
-\r
-  myOkBtn    = new QPushButton(tr("SMESH_BUT_OK"    ), aFrame);\r
-  mySaveBtn  = new QPushButton(tr("SAVE"            ), aFrame);\r
-  myCloseBtn = new QPushButton(tr("SMESH_BUT_CANCEL"), aFrame);\r
-  myHelpBtn = new QPushButton(tr("SMESH_BUT_HELP"), aFrame);\r
-\r
-  QSpacerItem* aSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);\r
-\r
-  QHBoxLayout* aLay = new QHBoxLayout(aFrame, MARGIN, SPACING);\r
-\r
-  aLay->addWidget(myOkBtn);\r
-  aLay->addWidget(mySaveBtn);\r
-  aLay->addItem(aSpacer);\r
-  aLay->addWidget(myCloseBtn);\r
-  aLay->addWidget(myHelpBtn);\r
-\r
-  connect(myOkBtn,    SIGNAL(clicked()), SLOT(onOk()));\r
-  connect(myCloseBtn, SIGNAL(clicked()), SLOT(onClose()));\r
-  connect(mySaveBtn, SIGNAL(clicked()), SLOT(onSave()));\r
-  connect(myHelpBtn, SIGNAL(clicked()), SLOT(onHelp()));\r
-\r
-  return aFrame;\r
-}\r
-\r
-//=======================================================================\r
-// function : ~SMESHGUI_CreatePatternDlg()\r
-// purpose  : Destructor\r
-//=======================================================================\r
-SMESHGUI_CreatePatternDlg::~SMESHGUI_CreatePatternDlg()\r
-{\r
-  // no need to delete child widgets, Qt does it all for us\r
-}\r
-\r
-//=======================================================================\r
-// function : onProject()\r
-// purpose  : SLOT. Called when state of "Project nodes on ther face"\r
-//            checkbox is changed\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onProject (bool)\r
-{\r
-  loadFromObject(false);\r
-  displayPreview();\r
-}\r
-\r
-//=======================================================================\r
-// function : Init()\r
-// purpose  : Init dialog fields, connect signals and slots, show dialog\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::Init( const int theType )\r
-{\r
-  myIsLoaded     = false;\r
-  myType         = -1;\r
-  myNbPoints     = -1;\r
-  mySubMesh      = SMESH::SMESH_subMesh::_nil();\r
-  myMesh         = SMESH::SMESH_Mesh::_nil();\r
-  myGeomObj      = GEOM::GEOM_Object::_nil();\r
-  myPattern      = SMESH::SMESH_Pattern::_nil();\r
-\r
-  erasePreview();\r
-\r
-  mySMESHGUI->SetActiveDialogBox((QDialog*)this);\r
-\r
-  // selection and SMESHGUI\r
-  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));\r
-  connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));\r
-  connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));\r
-\r
-  mySwitch2d->setEnabled(theType == Type_2d);\r
-  mySwitch3d->setEnabled(theType == Type_3d);\r
-\r
-  if (theType == Type_2d)\r
-    myProjectChk->show();\r
-  else\r
-    myProjectChk->hide();\r
-\r
-  myTypeGrp->setButton(theType);\r
-  onTypeChanged(theType);\r
-\r
-  myName->setText(getDefaultName());\r
-  myMeshEdit->setText("");\r
-\r
-  setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));\r
-  qApp->processEvents();\r
-  updateGeometry();\r
-  myPicture2d->updateGeometry();\r
-  adjustSize();\r
-  resize(minimumSize());\r
-\r
-  activateSelection();\r
-  onSelectionDone();\r
-\r
-  this->show();\r
-}\r
-\r
-//=======================================================================\r
-// function : SetMesh()\r
-// purpose  : Set mesh to dialog\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::SetMesh (SMESH::SMESH_Mesh_ptr thePtr)\r
-{\r
-  myMesh = SMESH::SMESH_Mesh::_duplicate(thePtr);\r
-  mySubMesh = SMESH::SMESH_subMesh::_nil();\r
-\r
-  bool isValidMesh = false;\r
-  if (!myMesh->_is_nil())\r
-  {\r
-    _PTR(SObject) aSobj = SMESH::FindSObject(myMesh.in());\r
-    //Handle(SALOME_InteractiveObject) anIObj =\r
-    //  new SALOME_InteractiveObject(aSobj->GetID().c_str(), "SMESH");\r
-    SUIT_DataOwnerPtr anIObj (new LightApp_DataOwner(aSobj->GetID().c_str()));\r
-\r
-    isValidMesh = mySelectionMgr->isOk(anIObj);\r
-  }\r
-\r
-  if (isValidMesh) {\r
-    _PTR(SObject) aSO = SMESH::FindSObject(myMesh.in());\r
-    myMeshEdit->setText(aSO->GetName().c_str());\r
-    myGeomObj = SMESH::GetGeom(aSO);\r
-  } else {\r
-    myMeshEdit->setText("");\r
-    myGeomObj = GEOM::GEOM_Object::_nil();\r
-  }\r
-\r
-  if (myType == Type_2d) {\r
-    loadFromObject(false);\r
-    displayPreview();\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : isValid()\r
-// purpose  : Verify validity of entry data\r
-//=======================================================================\r
-bool SMESHGUI_CreatePatternDlg::isValid()\r
-{\r
-  if (myGeomObj->_is_nil()) {\r
-    QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ),\r
-                             tr("SMESH_INSUFFICIENT_DATA"),\r
-                             tr("SMESHGUI_INVALID_PARAMETERS"),\r
-                             QMessageBox::Ok);\r
-    return false;\r
-  }\r
-  else\r
-    return true;\r
-}\r
-\r
-//=======================================================================\r
-// function : getDefaultName()\r
-// purpose  : Get default pattern name\r
-//=======================================================================\r
-QString SMESHGUI_CreatePatternDlg::getDefaultName() const\r
-{\r
-  return myType == Type_2d ? tr("DEFAULT_2D") : tr("DEFAULT_3D");\r
-}\r
-\r
-//=======================================================================\r
-// function : onSave()\r
-// purpose  : SLOT called when "Save" button pressed. Build pattern and\r
-//           save it to disk\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onSave()\r
-{\r
-  try {\r
-    if (!isValid())\r
-      return;\r
-\r
-    if (!myIsLoaded)\r
-      loadFromObject(true);\r
-\r
-    // Load pattern from object\r
-    if (!myIsLoaded)\r
-      return;\r
-\r
-    ///////////////////////////////////////////////////////\r
-    SUIT_FileDlg* aDlg = new SUIT_FileDlg (this, false);\r
-    aDlg->setCaption(tr("SAVE_PATTERN"));\r
-    aDlg->setMode(QFileDialog::AnyFile);\r
-    aDlg->setFilters(tr("PATTERN_FILT"));\r
-    if (myName->text() != "")\r
-      aDlg->setSelection(myName->text());\r
-\r
-    if (aDlg->exec() != Accepted)\r
-      return;\r
-\r
-    QString fName = aDlg->selectedFile();\r
-    if (fName.isEmpty())\r
-      return;\r
-\r
-    if (QFileInfo(fName).extension().isEmpty())\r
-      fName = autoExtension(fName);\r
-\r
-    fName = QDir::convertSeparators(fName);\r
-\r
-    QString aData (myPattern->GetString());\r
-    long aLen = aData.length();\r
-\r
-    QFile aFile (fName);\r
-    aFile.open(IO_WriteOnly);\r
-    long aWritten = aFile.writeBlock(aData, aLen);\r
-    aFile.close();\r
-\r
-    if (aWritten != aLen) {\r
-      QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ), tr("SMESH_ERROR"),\r
-                               tr("ERROR_OF_SAVING"), QMessageBox::Ok);\r
-    } else {\r
-      //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);\r
-      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))\r
-       aViewWindow->SetSelectionMode(ActorSelection);\r
-      disconnect(mySelectionMgr, 0, this, 0);\r
-      disconnect(mySMESHGUI, 0, this, 0);\r
-      mySMESHGUI->ResetState();\r
-      accept();\r
-      emit NewPattern();\r
-    }\r
-  } catch (const SALOME::SALOME_Exception& S_ex) {\r
-    SalomeApp_Tools::QtCatchCorbaException(S_ex);\r
-  } catch (...) {\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : GetPatternName()\r
-// purpose  : Get name of pattern\r
-//=======================================================================\r
-QString SMESHGUI_CreatePatternDlg::GetPatternName() const\r
-{\r
-  return myName->text();\r
-}\r
-\r
-//=======================================================================\r
-// function : GetPattern()\r
-// purpose  : Get result pattern\r
-//=======================================================================\r
-SMESH::SMESH_Pattern_ptr SMESHGUI_CreatePatternDlg::GetPattern()\r
-{\r
-  return myPattern.in();\r
-}\r
-\r
-//=======================================================================\r
-// function : onOk()\r
-// purpose  : SLOT called when "Ok" button pressed.\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onOk()\r
-{\r
-  try {\r
-    if (!isValid())\r
-      return;\r
-\r
-    if (!myIsLoaded)\r
-      loadFromObject(true);\r
-\r
-    // Load pattern from object\r
-    if (!myIsLoaded) {\r
-      return;\r
-    } else {\r
-      //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);\r
-      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))\r
-       aViewWindow->SetSelectionMode(ActorSelection);\r
-      disconnect(mySelectionMgr, 0, this, 0);\r
-      disconnect(mySMESHGUI, 0, this, 0);\r
-      mySMESHGUI->ResetState();\r
-      accept();\r
-      emit NewPattern();\r
-    }\r
-  } catch (const SALOME::SALOME_Exception& S_ex) {\r
-    SalomeApp_Tools::QtCatchCorbaException(S_ex);\r
-  } catch (...) {\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : onClose()\r
-// purpose  : SLOT called when "Close" button pressed. Close dialog\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onClose()\r
-{\r
-  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))\r
-    aViewWindow->SetSelectionMode(ActorSelection);\r
-  disconnect(mySelectionMgr, 0, this, 0);\r
-  disconnect(mySMESHGUI, 0, this, 0);\r
-  mySMESHGUI->ResetState();\r
-  reject();\r
-  emit Close();\r
-}\r
-\r
-//=================================================================================\r
-// function : onHelp()\r
-// purpose  :\r
-//=================================================================================\r
-void SMESHGUI_CreatePatternDlg::onHelp()\r
-{\r
-  LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());\r
-  if (app) \r
-    app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);\r
-  else {\r
-    SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),\r
-                          QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").\r
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),\r
-                          QObject::tr("BUT_OK"));\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : loadFromObject()\r
-// purpose  : Load pattern from geom object corresponding to the mesh/submesh\r
-//=======================================================================\r
-bool SMESHGUI_CreatePatternDlg::loadFromObject (const bool theMess)\r
-{\r
-  try {\r
-    myIsLoaded = false;\r
-\r
-    if (myPattern->_is_nil())\r
-      myPattern = SMESH::GetPattern();\r
-\r
-    if (myMesh->_is_nil() && mySubMesh->_is_nil() || myGeomObj->_is_nil())\r
-      return false;\r
-\r
-    SMESH::SMESH_Mesh_ptr aMesh = mySubMesh->_is_nil() ? myMesh.in() : mySubMesh->GetFather();\r
-\r
-    myIsLoaded = myType == Type_2d\r
-      ? myPattern->LoadFromFace(aMesh, myGeomObj, myProjectChk->isChecked())\r
-      : myPattern->LoadFrom3DBlock(aMesh, myGeomObj);\r
-\r
-    if (!myIsLoaded && theMess) {\r
-      QString aMess;\r
-      SMESH::SMESH_Pattern::ErrorCode aCode = myPattern->GetErrorCode();\r
-\r
-      if      (aCode == SMESH::SMESH_Pattern::ERR_LOAD_EMPTY_SUBMESH  ) aMess = tr("ERR_LOAD_EMPTY_SUBMESH");\r
-      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_NARROW_FACE   ) aMess = tr("ERR_LOADF_NARROW_FACE");\r
-      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_CLOSED_FACE   ) aMess = tr("ERR_LOADF_CLOSED_FACE");\r
-      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_CANT_PROJECT   ) aMess = tr("ERR_LOADF_CANT_PROJECT");\r
-      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADV_BAD_SHAPE     ) aMess = tr("ERR_LOADV_BAD_SHAPE");\r
-      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADV_COMPUTE_PARAMS) aMess = tr("ERR_LOADV_COMPUTE_PARAMS");\r
-      else                                                              aMess = tr("ERROR_OF_CREATION");\r
-\r
-      QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ),\r
-                               tr("SMESH_ERROR"), aMess, QMessageBox::Ok);\r
-    }\r
-  } catch (const SALOME::SALOME_Exception& S_ex) {\r
-    SalomeApp_Tools::QtCatchCorbaException(S_ex);\r
-  }\r
-\r
-  return myIsLoaded;\r
-}\r
-\r
-//=======================================================================\r
-// function : onSelectionDone()\r
-// purpose  : SLOT called when selection changed\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onSelectionDone()\r
-{\r
-  try {\r
-    SALOME_ListIO aList;\r
-    mySelectionMgr->selectedObjects(aList, SVTK_Viewer::Type());\r
-    if (aList.Extent() != 1)\r
-      return;\r
-\r
-    // Get mesh or sub-mesh from selection\r
-    Handle(SALOME_InteractiveObject) anIO = aList.First();\r
-    SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(anIO);\r
-    SMESH::SMESH_subMesh_var aSubMesh = SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(anIO);\r
-    if (aMesh->_is_nil() && aSubMesh->_is_nil())\r
-      return;\r
-\r
-    // Get geom object corresponding to the mesh\r
-    _PTR(SObject) aSO;\r
-    if (!aMesh->_is_nil())\r
-      aSO = SMESH::FindSObject(aMesh.in());\r
-    else\r
-      aSO = SMESH::FindSObject(aSubMesh.in());\r
-\r
-    GEOM::GEOM_Object_var aGeomObj = SMESH::GetGeom(aSO);\r
-    if (aGeomObj->_is_nil())\r
-      return;\r
-\r
-    myGeomObj = aGeomObj;\r
-\r
-    // init class fields\r
-    if (!aMesh->_is_nil()) {\r
-      myMesh = aMesh;\r
-      mySubMesh = SMESH::SMESH_subMesh::_nil();\r
-    } else {\r
-      mySubMesh = aSubMesh;\r
-      myMesh = SMESH::SMESH_Mesh::_nil();\r
-    }\r
-\r
-    QString aName;\r
-    SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aName);\r
-    myMeshEdit->setText(aName);\r
-\r
-    if (myType == Type_2d) {\r
-      loadFromObject(true);\r
-      displayPreview();\r
-    }\r
-  } catch (...) {\r
-    myMesh = SMESH::SMESH_Mesh::_nil();\r
-    mySubMesh = SMESH::SMESH_subMesh::_nil();\r
-    myGeomObj = GEOM::GEOM_Object::_nil();\r
-    erasePreview();\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : onDeactivate()\r
-// purpose  : SLOT called when dialog must be deativated\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onDeactivate()\r
-{\r
-  disconnect(mySelectionMgr, 0, this, 0);\r
-  setEnabled(false);\r
-}\r
-\r
-//=======================================================================\r
-// function : enterEvent()\r
-// purpose  : Event filter\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::enterEvent (QEvent*)\r
-{\r
-  // there is a stange problem that enterEvent() comes after onSave()\r
-  if ( isVisible () ) {\r
-    mySMESHGUI->EmitSignalDeactivateDialog();\r
-    setEnabled(true);\r
-    activateSelection();\r
-    connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));\r
-  }\r
-}\r
-\r
-//=================================================================================\r
-// function : closeEvent()\r
-// purpose  : Close dialog box\r
-//=================================================================================\r
-void SMESHGUI_CreatePatternDlg::closeEvent (QCloseEvent*)\r
-{\r
-  onClose();\r
-}\r
-\r
-//=======================================================================\r
-// function : onSelBtnClicked()\r
-// purpose  : SLOT. Called when -> button clicked.\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onSelBtnClicked()\r
-{\r
-  onSelectionDone();\r
-}\r
-\r
-//================================================================\r
-// function : autoExtension()\r
-// purpose  : Append extension to the file name\r
-//================================================================\r
-QString SMESHGUI_CreatePatternDlg::autoExtension (const QString& theFileName) const\r
-{\r
-  QString anExt = theFileName.section('.', -1);\r
-  return anExt != "smp" && anExt != "SMP" ? theFileName + ".smp" : theFileName;\r
-}\r
-\r
-//=======================================================================\r
-// function : displayPreview()\r
-// purpose  : Display preview\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::displayPreview()\r
-{\r
-  // Redisplay preview in dialog\r
-  try {\r
-    if (!myIsLoaded) {\r
-      erasePreview();\r
-    } else {\r
-      SMESH::point_array_var pnts = myPattern->GetPoints();\r
-      SMESH::long_array_var keyPoints = myPattern->GetKeyPoints();\r
-      SMESH::array_of_long_array_var elemPoints = myPattern->GetElementPoints(false);\r
-\r
-      if (pnts->length()       == 0 ||\r
-          keyPoints->length()  == 0 ||\r
-          elemPoints->length() == 0) {\r
-        myIsLoaded = false;\r
-        erasePreview();\r
-        return;\r
-      }\r
-\r
-      PointVector aPoints (pnts->length());\r
-      QValueVector<int> aKeyPoints (keyPoints->length());\r
-      ConnectivityVector anElemPoints (elemPoints->length());\r
-\r
-      for (int i = 0, n = pnts->length(); i < n; i++)\r
-        aPoints[ i ] = pnts[ i ];\r
-\r
-      for (int i2 = 0, n2 = keyPoints->length(); i2 < n2; i2++)\r
-        aKeyPoints[ i2 ] = keyPoints[ i2 ];\r
-\r
-      for (int i3 = 0, n3 = elemPoints->length(); i3 < n3; i3++) {\r
-        QValueVector<int> aVec (elemPoints[ i3 ].length());\r
-        for (int i4 = 0, n4 = elemPoints[ i3 ].length(); i4 < n4; i4++)\r
-          aVec[ i4 ] = elemPoints[ i3 ][ i4 ];\r
-\r
-        anElemPoints[ i3 ] = aVec;\r
-      }\r
-\r
-      myPicture2d->SetPoints(aPoints, aKeyPoints, anElemPoints);\r
-    }\r
-\r
-    return;\r
-\r
-  } catch (const SALOME::SALOME_Exception& S_ex) {\r
-    SalomeApp_Tools::QtCatchCorbaException(S_ex);\r
-  } catch (...) {\r
-  }\r
-  erasePreview();\r
-}\r
-\r
-//=======================================================================\r
-// function : erasePreview()\r
-// purpose  : Erase preview\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::erasePreview()\r
-{\r
-  // Erase preview in 2D viewer\r
-  myPicture2d->SetPoints(PointVector(), QValueVector<int>(), ConnectivityVector());\r
-}\r
-\r
-//=======================================================================\r
-// function : activateSelection()\r
-// purpose  : Activate selection in accordance with current pattern type\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::activateSelection()\r
-{\r
-  mySelectionMgr->clearFilters();\r
-  //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);\r
-  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))\r
-    aViewWindow->SetSelectionMode(ActorSelection);\r
-\r
-  if (myType == Type_2d) {\r
-    mySelectionMgr->installFilter(new SMESH_NumberFilter\r
-      ("SMESH", TopAbs_SHAPE, -1, TopAbs_FACE));\r
-  } else {\r
-    TColStd_MapOfInteger aTypes;\r
-    aTypes.Add(TopAbs_SHELL);\r
-    aTypes.Add(TopAbs_SOLID);\r
-    mySelectionMgr->installFilter(new SMESH_NumberFilter\r
-      ("SMESH", TopAbs_FACE, 6, aTypes, GEOM::GEOM_Object::_nil(), true));\r
-  }\r
-}\r
-\r
-//=======================================================================\r
-// function : onTypeChanged()\r
-// purpose  : SLOT. Called when pattern type changed.\r
-//            Change dialog's look and feel\r
-//=======================================================================\r
-void SMESHGUI_CreatePatternDlg::onTypeChanged (int theType)\r
-{\r
-  if (myType == theType)\r
-    return;\r
-\r
-  myType = theType;\r
-\r
-  if (theType == Type_2d)\r
-    myPicture2d->show();\r
-  else\r
-    myPicture2d->hide();\r
-}\r
+//
+//
+//
+//  File   : SMESHGUI_CreatePatternDlg.cxx
+//  Author : Sergey LITONIN
+//  Module : SMESH
+
+#include "SMESHGUI_CreatePatternDlg.h"
+
+#include "SMESHGUI.h"
+#include "SMESHGUI_SpinBox.h"
+#include "SMESHGUI_PatternWidget.h"
+#include "SMESHGUI_Utils.h"
+#include "SMESHGUI_VTKUtils.h"
+#include "SMESHGUI_PatternUtils.h"
+#include "SMESHGUI_GEOMGenUtils.h"
+
+#include "SMESH_NumberFilter.hxx"
+
+#include "SUIT_ResourceMgr.h"
+#include "SUIT_Desktop.h"
+#include "SUIT_FileDlg.h"
+#include "SUIT_Session.h"
+#include "SUIT_MessageBox.h"
+
+#include "SalomeApp_Study.h"
+#include "LightApp_Application.h"
+#include "LightApp_DataOwner.h"
+#include "LightApp_SelectionMgr.h"
+#include "SalomeApp_Tools.h"
+
+#include "SALOMEDS_SObject.hxx"
+
+#include "SALOME_ListIO.hxx"
+#include "SVTK_ViewModel.h"
+#include "SVTK_ViewWindow.h"
+#include "SVTK_Selector.h"
+#include "SVTK_Selection.h"
+
+// OCCT Includes
+#include <TColStd_MapOfInteger.hxx>
+
+// QT Includes
+#include <qframe.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qgroupbox.h>
+#include <qlabel.h>
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+#include <qbuttongroup.h>
+#include <qmessagebox.h>
+#include <qapplication.h>
+
+#define SPACING 5
+#define MARGIN  10
+
+/*!
+ *  Class       : SMESHGUI_CreatePatternDlg
+ *  Description : Dialog to specify filters for VTK viewer
+ */
+
+//=======================================================================
+// function : SMESHGUI_CreatePatternDlg()
+// purpose  : Constructor
+//=======================================================================
+SMESHGUI_CreatePatternDlg::SMESHGUI_CreatePatternDlg( SMESHGUI*   theModule,
+                                                      const int   theType,
+                                                      const char* theName)
+     : QDialog( SMESH::GetDesktop( theModule ), theName, false,
+                WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
+     mySMESHGUI( theModule ),
+     mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
+{
+  setCaption(tr("CAPTION"));
+
+  QVBoxLayout* aDlgLay = new QVBoxLayout (this, MARGIN, SPACING);
+
+  QFrame* aMainFrame = createMainFrame  (this);
+  QFrame* aBtnFrame  = createButtonFrame(this);
+
+  aDlgLay->addWidget(aMainFrame);
+  aDlgLay->addWidget(aBtnFrame);
+
+  aDlgLay->setStretchFactor(aMainFrame, 1);
+
+  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+    mySelector = aViewWindow->GetSelector();
+
+  myHelpFileName = "pattern_mapping.htm";
+
+  Init(theType);
+}
+
+//=======================================================================
+// function : createMainFrame()
+// purpose  : Create frame containing dialog's input fields
+//=======================================================================
+QFrame* SMESHGUI_CreatePatternDlg::createMainFrame (QWidget* theParent)
+{
+  QPixmap iconSlct     (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));
+  QPixmap icon2d       (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_2d")));
+  QPixmap icon3d       (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_3d")));
+  QPixmap iconSample2d (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_PATTERN_SAMPLE_2D")));
+
+  QGroupBox* aMainGrp = new QGroupBox(1, Qt::Horizontal, theParent);
+  aMainGrp->setFrameStyle(QFrame::NoFrame);
+  aMainGrp->setInsideMargin(0);
+
+  // Pattern type group
+
+  myTypeGrp = new QButtonGroup (1, Qt::Vertical, tr("PATTERN_TYPE"), aMainGrp);
+  mySwitch2d = new QRadioButton (myTypeGrp);
+  mySwitch3d = new QRadioButton (myTypeGrp);
+  mySwitch2d->setPixmap(icon2d);
+  mySwitch3d->setPixmap(icon3d);
+  myTypeGrp->insert(mySwitch2d, Type_2d);
+  myTypeGrp->insert(mySwitch3d, Type_3d);
+
+  QGroupBox* aPatternGrp = new QGroupBox(1, Qt::Horizontal, tr("PATTERN"), aMainGrp);
+
+  // Mesh and pattern name group
+
+  QGroupBox* aMeshGrp = new QGroupBox(1, Qt::Vertical, aPatternGrp);
+  aMeshGrp->setFrameStyle(QFrame::NoFrame);
+  aMeshGrp->setInsideMargin(0);
+
+  new QLabel(tr("MESH_OR_SUBMESH"), aMeshGrp);
+
+  QPushButton* aSelBtn = new QPushButton(aMeshGrp);
+  aSelBtn->setPixmap(iconSlct);
+  myMeshEdit = new QLineEdit(aMeshGrp);
+  myMeshEdit->setReadOnly(true);
+
+  QGroupBox* aPattGrp = new QGroupBox(1, Qt::Vertical, aPatternGrp);
+  aPattGrp->setFrameStyle(QFrame::NoFrame);
+  aPattGrp->setInsideMargin(0);
+
+  new QLabel(tr("PATTERN_NAME"), aPattGrp);
+  myName = new QLineEdit(aPattGrp);
+
+  // Picture 2d
+
+  myPicture2d = new SMESHGUI_PatternWidget(aPatternGrp),
+  myPicture2d->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
+
+  // Project check box
+
+  myProjectChk = new QCheckBox(tr("PROJECT"), aPatternGrp);
+
+  // Connect signals and slots
+
+  connect(myTypeGrp,    SIGNAL(clicked(int) ), SLOT(onTypeChanged(int)));
+  connect(myProjectChk, SIGNAL(toggled(bool)), SLOT(onProject(bool)   ));
+  connect(aSelBtn,      SIGNAL(clicked()      ), SLOT(onSelBtnClicked()));
+
+  return aMainGrp;
+}
+
+//=======================================================================
+// function : createButtonFrame()
+// purpose  : Create frame containing buttons
+//=======================================================================
+QFrame* SMESHGUI_CreatePatternDlg::createButtonFrame (QWidget* theParent)
+{
+  QFrame* aFrame = new QFrame(theParent);
+  aFrame->setFrameStyle(QFrame::Box | QFrame::Sunken);
+
+  myOkBtn    = new QPushButton(tr("SMESH_BUT_OK"    ), aFrame);
+  mySaveBtn  = new QPushButton(tr("SAVE"            ), aFrame);
+  myCloseBtn = new QPushButton(tr("SMESH_BUT_CANCEL"), aFrame);
+  myHelpBtn = new QPushButton(tr("SMESH_BUT_HELP"), aFrame);
+
+  QSpacerItem* aSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+  QHBoxLayout* aLay = new QHBoxLayout(aFrame, MARGIN, SPACING);
+
+  aLay->addWidget(myOkBtn);
+  aLay->addWidget(mySaveBtn);
+  aLay->addItem(aSpacer);
+  aLay->addWidget(myCloseBtn);
+  aLay->addWidget(myHelpBtn);
+
+  connect(myOkBtn,    SIGNAL(clicked()), SLOT(onOk()));
+  connect(myCloseBtn, SIGNAL(clicked()), SLOT(onClose()));
+  connect(mySaveBtn, SIGNAL(clicked()), SLOT(onSave()));
+  connect(myHelpBtn, SIGNAL(clicked()), SLOT(onHelp()));
+
+  return aFrame;
+}
+
+//=======================================================================
+// function : ~SMESHGUI_CreatePatternDlg()
+// purpose  : Destructor
+//=======================================================================
+SMESHGUI_CreatePatternDlg::~SMESHGUI_CreatePatternDlg()
+{
+  // no need to delete child widgets, Qt does it all for us
+}
+
+//=======================================================================
+// function : onProject()
+// purpose  : SLOT. Called when state of "Project nodes on ther face"
+//            checkbox is changed
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onProject (bool)
+{
+  loadFromObject(false);
+  displayPreview();
+}
+
+//=======================================================================
+// function : Init()
+// purpose  : Init dialog fields, connect signals and slots, show dialog
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::Init( const int theType )
+{
+  myIsLoaded     = false;
+  myType         = -1;
+  myNbPoints     = -1;
+  mySubMesh      = SMESH::SMESH_subMesh::_nil();
+  myMesh         = SMESH::SMESH_Mesh::_nil();
+  myGeomObj      = GEOM::GEOM_Object::_nil();
+  myPattern      = SMESH::SMESH_Pattern::_nil();
+
+  erasePreview();
+
+  mySMESHGUI->SetActiveDialogBox((QDialog*)this);
+
+  // selection and SMESHGUI
+  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));
+  connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate()));
+  connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose()));
+
+  mySwitch2d->setEnabled(theType == Type_2d);
+  mySwitch3d->setEnabled(theType == Type_3d);
+
+  if (theType == Type_2d)
+    myProjectChk->show();
+  else
+    myProjectChk->hide();
+
+  myTypeGrp->setButton(theType);
+  onTypeChanged(theType);
+
+  myName->setText(getDefaultName());
+  myMeshEdit->setText("");
+
+  setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
+  qApp->processEvents();
+  updateGeometry();
+  myPicture2d->updateGeometry();
+  adjustSize();
+  resize(minimumSize());
+
+  activateSelection();
+  onSelectionDone();
+
+  this->show();
+}
+
+//=======================================================================
+// function : SetMesh()
+// purpose  : Set mesh to dialog
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::SetMesh (SMESH::SMESH_Mesh_ptr thePtr)
+{
+  myMesh = SMESH::SMESH_Mesh::_duplicate(thePtr);
+  mySubMesh = SMESH::SMESH_subMesh::_nil();
+
+  bool isValidMesh = false;
+  if (!myMesh->_is_nil())
+  {
+    _PTR(SObject) aSobj = SMESH::FindSObject(myMesh.in());
+    //Handle(SALOME_InteractiveObject) anIObj =
+    //  new SALOME_InteractiveObject(aSobj->GetID().c_str(), "SMESH");
+    SUIT_DataOwnerPtr anIObj (new LightApp_DataOwner(aSobj->GetID().c_str()));
+
+    isValidMesh = mySelectionMgr->isOk(anIObj);
+  }
+
+  if (isValidMesh) {
+    _PTR(SObject) aSO = SMESH::FindSObject(myMesh.in());
+    myMeshEdit->setText(aSO->GetName().c_str());
+    myGeomObj = SMESH::GetGeom(aSO);
+  } else {
+    myMeshEdit->setText("");
+    myGeomObj = GEOM::GEOM_Object::_nil();
+  }
+
+  if (myType == Type_2d) {
+    loadFromObject(false);
+    displayPreview();
+  }
+}
+
+//=======================================================================
+// function : isValid()
+// purpose  : Verify validity of entry data
+//=======================================================================
+bool SMESHGUI_CreatePatternDlg::isValid()
+{
+  if (myGeomObj->_is_nil()) {
+    QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ),
+                             tr("SMESH_INSUFFICIENT_DATA"),
+                             tr("SMESHGUI_INVALID_PARAMETERS"),
+                             QMessageBox::Ok);
+    return false;
+  }
+  else
+    return true;
+}
+
+//=======================================================================
+// function : getDefaultName()
+// purpose  : Get default pattern name
+//=======================================================================
+QString SMESHGUI_CreatePatternDlg::getDefaultName() const
+{
+  return myType == Type_2d ? tr("DEFAULT_2D") : tr("DEFAULT_3D");
+}
+
+//=======================================================================
+// function : onSave()
+// purpose  : SLOT called when "Save" button pressed. Build pattern and
+//           save it to disk
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onSave()
+{
+  try {
+    if (!isValid())
+      return;
+
+    if (!myIsLoaded)
+      loadFromObject(true);
+
+    // Load pattern from object
+    if (!myIsLoaded)
+      return;
+
+    ///////////////////////////////////////////////////////
+    SUIT_FileDlg* aDlg = new SUIT_FileDlg (this, false);
+    aDlg->setCaption(tr("SAVE_PATTERN"));
+    aDlg->setMode(QFileDialog::AnyFile);
+    aDlg->setFilters(tr("PATTERN_FILT"));
+    if (myName->text() != "")
+      aDlg->setSelection(myName->text());
+
+    if (aDlg->exec() != Accepted)
+      return;
+
+    QString fName = aDlg->selectedFile();
+    if (fName.isEmpty())
+      return;
+
+    if (QFileInfo(fName).extension().isEmpty())
+      fName = autoExtension(fName);
+
+    fName = QDir::convertSeparators(fName);
+
+    QString aData (myPattern->GetString());
+    long aLen = aData.length();
+
+    QFile aFile (fName);
+    aFile.open(IO_WriteOnly);
+    long aWritten = aFile.writeBlock(aData, aLen);
+    aFile.close();
+
+    if (aWritten != aLen) {
+      QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ), tr("SMESH_ERROR"),
+                               tr("ERROR_OF_SAVING"), QMessageBox::Ok);
+    } else {
+      //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);
+      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+       aViewWindow->SetSelectionMode(ActorSelection);
+      disconnect(mySelectionMgr, 0, this, 0);
+      disconnect(mySMESHGUI, 0, this, 0);
+      mySMESHGUI->ResetState();
+      accept();
+      emit NewPattern();
+    }
+  } catch (const SALOME::SALOME_Exception& S_ex) {
+    SalomeApp_Tools::QtCatchCorbaException(S_ex);
+  } catch (...) {
+  }
+}
+
+//=======================================================================
+// function : GetPatternName()
+// purpose  : Get name of pattern
+//=======================================================================
+QString SMESHGUI_CreatePatternDlg::GetPatternName() const
+{
+  return myName->text();
+}
+
+//=======================================================================
+// function : GetPattern()
+// purpose  : Get result pattern
+//=======================================================================
+SMESH::SMESH_Pattern_ptr SMESHGUI_CreatePatternDlg::GetPattern()
+{
+  return myPattern.in();
+}
+
+//=======================================================================
+// function : onOk()
+// purpose  : SLOT called when "Ok" button pressed.
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onOk()
+{
+  try {
+    if (!isValid())
+      return;
+
+    if (!myIsLoaded)
+      loadFromObject(true);
+
+    // Load pattern from object
+    if (!myIsLoaded) {
+      return;
+    } else {
+      //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);
+      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+       aViewWindow->SetSelectionMode(ActorSelection);
+      disconnect(mySelectionMgr, 0, this, 0);
+      disconnect(mySMESHGUI, 0, this, 0);
+      mySMESHGUI->ResetState();
+      accept();
+      emit NewPattern();
+    }
+  } catch (const SALOME::SALOME_Exception& S_ex) {
+    SalomeApp_Tools::QtCatchCorbaException(S_ex);
+  } catch (...) {
+  }
+}
+
+//=======================================================================
+// function : onClose()
+// purpose  : SLOT called when "Close" button pressed. Close dialog
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onClose()
+{
+  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+    aViewWindow->SetSelectionMode(ActorSelection);
+  disconnect(mySelectionMgr, 0, this, 0);
+  disconnect(mySMESHGUI, 0, this, 0);
+  mySMESHGUI->ResetState();
+  reject();
+  emit Close();
+}
+
+//=================================================================================
+// function : onHelp()
+// purpose  :
+//=================================================================================
+void SMESHGUI_CreatePatternDlg::onHelp()
+{
+  LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
+  if (app) 
+    app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
+  else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
+    SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
+                          QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
+                          QObject::tr("BUT_OK"));
+  }
+}
+
+//=======================================================================
+// function : loadFromObject()
+// purpose  : Load pattern from geom object corresponding to the mesh/submesh
+//=======================================================================
+bool SMESHGUI_CreatePatternDlg::loadFromObject (const bool theMess)
+{
+  try {
+    myIsLoaded = false;
+
+    if (myPattern->_is_nil())
+      myPattern = SMESH::GetPattern();
+
+    if (myMesh->_is_nil() && mySubMesh->_is_nil() || myGeomObj->_is_nil())
+      return false;
+
+    SMESH::SMESH_Mesh_ptr aMesh = mySubMesh->_is_nil() ? myMesh.in() : mySubMesh->GetFather();
+
+    myIsLoaded = myType == Type_2d
+      ? myPattern->LoadFromFace(aMesh, myGeomObj, myProjectChk->isChecked())
+      : myPattern->LoadFrom3DBlock(aMesh, myGeomObj);
+
+    if (!myIsLoaded && theMess) {
+      QString aMess;
+      SMESH::SMESH_Pattern::ErrorCode aCode = myPattern->GetErrorCode();
+
+      if      (aCode == SMESH::SMESH_Pattern::ERR_LOAD_EMPTY_SUBMESH  ) aMess = tr("ERR_LOAD_EMPTY_SUBMESH");
+      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_NARROW_FACE   ) aMess = tr("ERR_LOADF_NARROW_FACE");
+      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_CLOSED_FACE   ) aMess = tr("ERR_LOADF_CLOSED_FACE");
+      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADF_CANT_PROJECT   ) aMess = tr("ERR_LOADF_CANT_PROJECT");
+      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADV_BAD_SHAPE     ) aMess = tr("ERR_LOADV_BAD_SHAPE");
+      else if (aCode == SMESH::SMESH_Pattern::ERR_LOADV_COMPUTE_PARAMS) aMess = tr("ERR_LOADV_COMPUTE_PARAMS");
+      else                                                              aMess = tr("ERROR_OF_CREATION");
+
+      QMessageBox::information(SMESH::GetDesktop( mySMESHGUI ),
+                               tr("SMESH_ERROR"), aMess, QMessageBox::Ok);
+    }
+  } catch (const SALOME::SALOME_Exception& S_ex) {
+    SalomeApp_Tools::QtCatchCorbaException(S_ex);
+  }
+
+  return myIsLoaded;
+}
+
+//=======================================================================
+// function : onSelectionDone()
+// purpose  : SLOT called when selection changed
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onSelectionDone()
+{
+  try {
+    SALOME_ListIO aList;
+    mySelectionMgr->selectedObjects(aList, SVTK_Viewer::Type());
+    if (aList.Extent() != 1)
+      return;
+
+    // Get mesh or sub-mesh from selection
+    Handle(SALOME_InteractiveObject) anIO = aList.First();
+    SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(anIO);
+    SMESH::SMESH_subMesh_var aSubMesh = SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(anIO);
+    if (aMesh->_is_nil() && aSubMesh->_is_nil())
+      return;
+
+    // Get geom object corresponding to the mesh
+    _PTR(SObject) aSO;
+    if (!aMesh->_is_nil())
+      aSO = SMESH::FindSObject(aMesh.in());
+    else
+      aSO = SMESH::FindSObject(aSubMesh.in());
+
+    GEOM::GEOM_Object_var aGeomObj = SMESH::GetGeom(aSO);
+    if (aGeomObj->_is_nil())
+      return;
+
+    myGeomObj = aGeomObj;
+
+    // init class fields
+    if (!aMesh->_is_nil()) {
+      myMesh = aMesh;
+      mySubMesh = SMESH::SMESH_subMesh::_nil();
+    } else {
+      mySubMesh = aSubMesh;
+      myMesh = SMESH::SMESH_Mesh::_nil();
+    }
+
+    QString aName;
+    SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aName);
+    myMeshEdit->setText(aName);
+
+    if (myType == Type_2d) {
+      loadFromObject(true);
+      displayPreview();
+    }
+  } catch (...) {
+    myMesh = SMESH::SMESH_Mesh::_nil();
+    mySubMesh = SMESH::SMESH_subMesh::_nil();
+    myGeomObj = GEOM::GEOM_Object::_nil();
+    erasePreview();
+  }
+}
+
+//=======================================================================
+// function : onDeactivate()
+// purpose  : SLOT called when dialog must be deativated
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onDeactivate()
+{
+  disconnect(mySelectionMgr, 0, this, 0);
+  setEnabled(false);
+}
+
+//=======================================================================
+// function : enterEvent()
+// purpose  : Event filter
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::enterEvent (QEvent*)
+{
+  // there is a stange problem that enterEvent() comes after onSave()
+  if ( isVisible () ) {
+    mySMESHGUI->EmitSignalDeactivateDialog();
+    setEnabled(true);
+    activateSelection();
+    connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));
+  }
+}
+
+//=================================================================================
+// function : closeEvent()
+// purpose  : Close dialog box
+//=================================================================================
+void SMESHGUI_CreatePatternDlg::closeEvent (QCloseEvent*)
+{
+  onClose();
+}
+
+//=======================================================================
+// function : onSelBtnClicked()
+// purpose  : SLOT. Called when -> button clicked.
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onSelBtnClicked()
+{
+  onSelectionDone();
+}
+
+//================================================================
+// function : autoExtension()
+// purpose  : Append extension to the file name
+//================================================================
+QString SMESHGUI_CreatePatternDlg::autoExtension (const QString& theFileName) const
+{
+  QString anExt = theFileName.section('.', -1);
+  return anExt != "smp" && anExt != "SMP" ? theFileName + ".smp" : theFileName;
+}
+
+//=======================================================================
+// function : displayPreview()
+// purpose  : Display preview
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::displayPreview()
+{
+  // Redisplay preview in dialog
+  try {
+    if (!myIsLoaded) {
+      erasePreview();
+    } else {
+      SMESH::point_array_var pnts = myPattern->GetPoints();
+      SMESH::long_array_var keyPoints = myPattern->GetKeyPoints();
+      SMESH::array_of_long_array_var elemPoints = myPattern->GetElementPoints(false);
+
+      if (pnts->length()       == 0 ||
+          keyPoints->length()  == 0 ||
+          elemPoints->length() == 0) {
+        myIsLoaded = false;
+        erasePreview();
+        return;
+      }
+
+      PointVector aPoints (pnts->length());
+      QValueVector<int> aKeyPoints (keyPoints->length());
+      ConnectivityVector anElemPoints (elemPoints->length());
+
+      for (int i = 0, n = pnts->length(); i < n; i++)
+        aPoints[ i ] = pnts[ i ];
+
+      for (int i2 = 0, n2 = keyPoints->length(); i2 < n2; i2++)
+        aKeyPoints[ i2 ] = keyPoints[ i2 ];
+
+      for (int i3 = 0, n3 = elemPoints->length(); i3 < n3; i3++) {
+        QValueVector<int> aVec (elemPoints[ i3 ].length());
+        for (int i4 = 0, n4 = elemPoints[ i3 ].length(); i4 < n4; i4++)
+          aVec[ i4 ] = elemPoints[ i3 ][ i4 ];
+
+        anElemPoints[ i3 ] = aVec;
+      }
+
+      myPicture2d->SetPoints(aPoints, aKeyPoints, anElemPoints);
+    }
+
+    return;
+
+  } catch (const SALOME::SALOME_Exception& S_ex) {
+    SalomeApp_Tools::QtCatchCorbaException(S_ex);
+  } catch (...) {
+  }
+  erasePreview();
+}
+
+//=======================================================================
+// function : erasePreview()
+// purpose  : Erase preview
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::erasePreview()
+{
+  // Erase preview in 2D viewer
+  myPicture2d->SetPoints(PointVector(), QValueVector<int>(), ConnectivityVector());
+}
+
+//=======================================================================
+// function : activateSelection()
+// purpose  : Activate selection in accordance with current pattern type
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::activateSelection()
+{
+  mySelectionMgr->clearFilters();
+  //SUIT_Application::getDesktop()->setSelectionModes(ActorSelection);
+  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+    aViewWindow->SetSelectionMode(ActorSelection);
+
+  if (myType == Type_2d) {
+    mySelectionMgr->installFilter(new SMESH_NumberFilter
+      ("SMESH", TopAbs_SHAPE, -1, TopAbs_FACE));
+  } else {
+    TColStd_MapOfInteger aTypes;
+    aTypes.Add(TopAbs_SHELL);
+    aTypes.Add(TopAbs_SOLID);
+    mySelectionMgr->installFilter(new SMESH_NumberFilter
+      ("SMESH", TopAbs_FACE, 6, aTypes, GEOM::GEOM_Object::_nil(), true));
+  }
+}
+
+//=======================================================================
+// function : onTypeChanged()
+// purpose  : SLOT. Called when pattern type changed.
+//            Change dialog's look and feel
+//=======================================================================
+void SMESHGUI_CreatePatternDlg::onTypeChanged (int theType)
+{
+  if (myType == theType)
+    return;
+
+  myType = theType;
+
+  if (theType == Type_2d)
+    myPicture2d->show();
+  else
+    myPicture2d->hide();
+}
 
 //=================================================================================
 // function : keyPressEvent()
index 314d96a0a70729f2b7625ec8c234297894ee0d8c..130ad7e0d9342b46e8328fed92c757a33b4e03d1 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_CreatePatternDlg_H
 #define SMESHGUI_CreatePatternDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 // IDL Headers
@@ -57,7 +59,7 @@ class SMESHGUI;
  *  Description : Dialog to specify filters for VTK viewer
  */
 
-class SMESHGUI_CreatePatternDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_CreatePatternDlg : public QDialog
 {
   Q_OBJECT
 
index 9d570cde430bcaa4a1000030d52026331520368e..c4600fcc4ad0fe169140e8cfaa849d35c6b4d52b 100644 (file)
@@ -581,9 +581,15 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 49859d92a95ca4411de77f65e8e974a27ecaf191..4cba1e9a02a5071a9580ca964644dc59ed1c7247 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_CREATEPOLYHEDRAL_H
 #define DIALOGBOX_CREATEPOLYHEDRAL_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -59,7 +61,7 @@ namespace SMESH{
 // class    : SMESHGUI_CreatePolyhedralVolumeDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_CreatePolyhedralVolumeDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_CreatePolyhedralVolumeDlg : public QDialog
 { 
     Q_OBJECT
 
index ecbf3234ee443567fdfe007e62aae72170b18610..f298ef6c29533ab6eaec9eb7f335218fbf002fa9 100644 (file)
@@ -259,9 +259,15 @@ void SMESHGUI_DeleteGroupDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 789c888ed438d28f05710645377b4e1e2a56ebaa..c972ce75de7565427724b1c625d6e6ff2fabc99d 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_DELETEGROUPDLG_H
 #define SMESHGUI_DELETEGROUPDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <qlist.h>
 
@@ -47,7 +49,7 @@ class LightApp_SelectionMgr;
  *  Description : Delete groups and their contents
  */
 
-class SMESHGUI_DeleteGroupDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_DeleteGroupDlg : public QDialog
 {
   Q_OBJECT
 
index 211860a5482fcc5b66e8163135b9f90d6eec72cf..676b601a4be08af8ab237e9b3ef182118e055be7 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESHGUI_DIALOG_H
 #define SMESHGUI_DIALOG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Dialog.h>
 
 class SUIT_Desktop;
@@ -39,7 +41,7 @@ class SUIT_ResourceMgr;
 // class    : SMESHGUI_Dialog
 // purpose  : Base dialog for all SMESHGUI dialogs
 //=================================================================================
-class SMESHGUI_Dialog : public LightApp_Dialog
+class SMESHGUI_EXPORT SMESHGUI_Dialog : public LightApp_Dialog
 {
   Q_OBJECT
   
index 815c5e1c43b7b51e7d91070de1ba7fb5f2a6fbdf..dc2df5f8bc70249ad6a52f9d77f1a664a0b61223 100644 (file)
 #ifndef SMESHGUI_DISPLAYER_HEADER
 #define SMESHGUI_DISPLAYER_HEADER
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Displayer.h>
 
 class SalomeApp_Application;
 class SalomeApp_Study;
 
-class SMESHGUI_Displayer : public LightApp_Displayer
+class SMESHGUI_EXPORT SMESHGUI_Displayer : public LightApp_Displayer
 {
 public:
   SMESHGUI_Displayer( SalomeApp_Application* );
diff --git a/src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h b/src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h
new file mode 100644 (file)
index 0000000..7385dcb
--- /dev/null
@@ -0,0 +1,153 @@
+//  SMESH SMESHGUI : GUI for SMESH component
+//
+//  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   : SMESHGUI_EditHypothesesDlg.h
+//  Author : Nicolas REJNERI
+//  Module : SMESH
+//  $Header$
+
+#ifndef DIALOGBOX_EDIT_HYPOTHESES_H
+#define DIALOGBOX_EDIT_HYPOTHESES_H
+
+#include "SMESH_SMESHGUI.hxx"
+
+//#include "SMESH_TypeFilter.hxx"
+#include "SUIT_SelectionFilter.h"
+#include "LightApp_SelectionMgr.h"
+
+// QT Includes
+#include <qdialog.h>
+
+// IDL Headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(GEOM_Gen)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#include <map>
+#include <string>
+
+class QGroupBox;
+class QLabel;
+class QLineEdit;
+class QPushButton;
+class QListBox;
+class QListBoxItem;
+class SMESHGUI;
+
+typedef map<std::string, int> MapIOR;
+
+//=================================================================================
+// class    : SMESHGUI_EditHypothesesDlg
+// purpose  :
+//=================================================================================
+class SMESHGUI_EXPORT SMESHGUI_EditHypothesesDlg : public QDialog
+{
+    Q_OBJECT
+
+public:
+    SMESHGUI_EditHypothesesDlg (SMESHGUI*,
+                               const char* name = 0,
+                               bool modal = FALSE,
+                               WFlags fl = 0);
+    ~SMESHGUI_EditHypothesesDlg();
+
+protected:
+    virtual void closeEvent (QCloseEvent*);
+    virtual void enterEvent (QEvent*);
+
+private:
+    void Init();
+
+    void InitHypDefinition();
+    void InitAlgoDefinition();
+    void InitHypAssignation();
+    void InitAlgoAssignation();
+
+    void InitGeom();
+
+    void UpdateControlState();
+
+    bool StoreMesh();
+    bool StoreSubMesh();
+
+    bool IsOld(QListBoxItem* hypItem);
+
+private:
+    SMESHGUI*                     mySMESHGUI;
+    LightApp_SelectionMgr*        mySelectionMgr;
+
+    GEOM::GEOM_Object_var         myGeomShape;
+    QLineEdit*                    myEditCurrentArgument; 
+
+    SMESH::SMESH_Mesh_var         myMesh;
+    SMESH::SMESH_subMesh_var      mySubMesh;
+
+    //Handle(SALOME_TypeFilter)     myGeomFilter;
+    //Handle(SMESH_TypeFilter)      myMeshOrSubMeshFilter;
+    SUIT_SelectionFilter*         myGeomFilter;
+    SUIT_SelectionFilter*         myMeshOrSubMeshFilter;
+
+    MapIOR                        myMapOldHypos, myMapOldAlgos;
+    int                           myNbModification;
+
+    bool                          myImportedMesh;
+
+    QGroupBox*    GroupButtons;
+    QPushButton*  buttonOk;
+    QPushButton*  buttonApply;
+    QPushButton*  buttonCancel;
+
+    QGroupBox*    GroupC1;
+    QLabel*       TextLabelC1A1;
+    QPushButton*  SelectButtonC1A1;
+    QLineEdit*    LineEditC1A1;
+    QLabel*       TextLabelC1A2;
+    QPushButton*  SelectButtonC1A2;
+    QLineEdit*    LineEditC1A2;
+
+    QGroupBox*    GroupHypotheses;
+    QLabel*       TextHypDefinition;
+    QListBox*     ListHypDefinition;
+    QLabel*       TextHypAssignation;
+    QListBox*     ListHypAssignation;
+
+    QGroupBox*    GroupAlgorithms;
+    QLabel*       TextAlgoDefinition;
+    QListBox*     ListAlgoDefinition;
+    QLabel*       TextAlgoAssignation;
+    QListBox*     ListAlgoAssignation;
+
+private slots:
+    void ClickOnOk();
+    bool ClickOnApply();
+    void ClickOnCancel();
+    void SetEditCurrentArgument();
+    void SelectionIntoArgument();
+    void DeactivateActiveDialog();
+    void ActivateThisDialog();
+
+    void removeItem(QListBoxItem*);
+    void addItem(QListBoxItem*);
+};
+
+#endif // DIALOGBOX_EDIT_HYPOTHESES_H
index 19b29d15ebc42b105ae8d3af26cb3bcea4cdfc18..d19484cf54ce567e210d11cb6bc86a1f764be95d 100644 (file)
@@ -262,9 +262,15 @@ void SMESHGUI_EditMeshDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 3c5b918eabf65d8cc757bf9abe34c2b4f2aacd7b..71a11b74342c28a6e46259c0bbd938e9879ec64b 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef DIALOGBOX_GETMESH_H
 #define DIALOGBOX_GETMESH_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -46,7 +48,7 @@ class SMESHGUI;
 // class    : SMESHGUI_EditMeshDlg
 // purpose  : 
 //=================================================================================
-class SMESHGUI_EditMeshDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_EditMeshDlg : public QDialog
 {
   Q_OBJECT;
 
index 22236aad80275fe24e3b47f93373583ced1ebf64..2ee720b872b1acd6b6ab5c6e8b150427c5e0fa01 100644 (file)
@@ -674,9 +674,15 @@ void SMESHGUI_ExtrusionAlongPathDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index f52f8cab5b4f8c0a7d3ad0d31226db77c7e199ca..d29f6f7f7a58fa73cdb8fd8a6d911590fb27a899 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_EXTRUSION_PATH_H
 #define DIALOGBOX_EXTRUSION_PATH_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -60,7 +62,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_ExtrusionAlongPathDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ExtrusionAlongPathDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ExtrusionAlongPathDlg : public QDialog
 {
   Q_OBJECT
 
index 50c439f30e67fa417e521300412a99917efc307a..5bf8c555822fcaf62072c39b0ac2394342084221 100644 (file)
@@ -458,9 +458,15 @@ void SMESHGUI_ExtrusionDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 841565f4488cd0b23d69f8de8f1b9e071be78edf..d1fe0f2b7e3c0d3a0983f635d2dabf0fe5d285ef 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_EXTRUSION_H
 #define DIALOGBOX_EXTRUSION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -59,7 +61,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_ExtrusionDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ExtrusionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ExtrusionDlg : public QDialog
 {
   Q_OBJECT
 
index c78cfe5eea39ab4eebcd5ab2b93513a9eef54928..4f912cdb8a78654f2311a5fdb394f9ff978e89dc 100755 (executable)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_Filter_HeaderFile
 #define SMESHGUI_Filter_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "VTKViewer_Filter.h"
 
 #include <SALOMEconfig.h>
index b4b23b38117bf8b261d692ee7906f53fe1d615fa..9fdc3f71996e087995d068a33c65490e6d332f07 100755 (executable)
@@ -963,7 +963,7 @@ void SMESHGUI_FilterTable::onRemoveBtn()
     if (aTable->isRowSelected(i))
     {
       aRows.resize(aRows.size() + 1);
-      aRows[ aRows.size() - 1 ] = i;
+      aRows[ (int)(aRows.size() - 1) ] = i;
       removeAdditionalWidget(aTable, i);
     }
   }
@@ -1958,9 +1958,15 @@ void SMESHGUI_FilterDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 5e9e33984b83b761de7c81bb7fde7a9fb21bcd1d..2cc71d94ae73bcf608e25ed31d37fe0d086ef102 100755 (executable)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_FilterDlg_H
 #define SMESHGUI_FilterDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <qframe.h>
 #include <qmap.h>
@@ -70,7 +72,7 @@ class SVTK_ViewWindow;
  *                  - Buttons for editing table
  */
 
-class SMESHGUI_FilterTable : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_FilterTable : public QFrame
 {
   Q_OBJECT
 
index 08447f424e7d075ac601797c2210bea245522ddb..f284afb394163e4f88e2939ff92c596761f7420b 100644 (file)
@@ -478,9 +478,15 @@ void SMESHGUI_FilterLibraryDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index fd078d35640220a95b6ec5634d6ba5d779ab149a..cbc8111de65c436992ef8f884e97d0b8235d8457 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_FilterLibraryDlg_H
 #define SMESHGUI_FilterLibraryDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <SMESHGUI_FilterDlg.h>
 
@@ -48,7 +50,7 @@ class QGroupBox;
   Description : Dialog to specify filters for VTK viewer
 */
 
-class SMESHGUI_FilterLibraryDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_FilterLibraryDlg : public QDialog
 { 
   Q_OBJECT
   
index aec43960c8fddf6c86af3a90bfeb8b0c5935f22f..22d65870e0caa5de3d4b22cfd8ae3c76ea8a9357 100644 (file)
 #ifndef SMESHGUI_FilterUtils_HeaderFile
 #define SMESHGUI_FilterUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Filter)
 
 
 namespace SMESH{
 
-  SMESH::FilterManager_var& GetFilterManager();
+  SMESHGUI_EXPORT SMESH::FilterManager_var& GetFilterManager();
 
 }
 
index 76ff62407abcc4cb036e2d6fa547fc58760a9891..9e0762d13356c2f4f8ce82e313d3fc7223a002f2 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_GEOMGenUtils_HeaderFile
 #define SMESHGUI_GEOMGenUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(GEOM_Gen)
 
@@ -29,11 +31,11 @@ class SALOMEDSClient_SObject;
 
 namespace SMESH
 {
-  GEOM::GEOM_Gen_var GetGEOMGen();
+  SMESHGUI_EXPORT GEOM::GEOM_Gen_var GetGEOMGen();
 
-  GEOM::GEOM_Object_var GetShapeOnMeshOrSubMesh (_PTR(SObject) theSObject);
+  SMESHGUI_EXPORT GEOM::GEOM_Object_var GetShapeOnMeshOrSubMesh (_PTR(SObject) theSObject);
 
-  GEOM::GEOM_Object_ptr GetGeom (_PTR(SObject) theSO);
+  SMESHGUI_EXPORT GEOM::GEOM_Object_ptr GetGeom (_PTR(SObject) theSO);
 }
 
 #endif
index 5c473f329130f60745b98633ed4008434385e730..c43cf1335367f078edb1c8a330a28aabda39e851 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "SMESHGUI_GroupDlg.h"
 #include "SMESHGUI_FilterDlg.h"
+#include "SMESHGUI_ShapeByMeshDlg.h"
 
 #include "SMESHGUI.h"
 #include "SMESHGUI_Utils.h"
@@ -39,7 +40,9 @@
 
 #include "SMESH_TypeFilter.hxx"
 #include "SMESH_Actor.h"
+
 #include "GEOMBase.h"
+#include "GEOM_SelectionFilter.h"
 
 #include "SUIT_Desktop.h"
 #include "SUIT_ResourceMgr.h"
@@ -47,6 +50,8 @@
 #include "SUIT_MessageBox.h"
 
 #include "SalomeApp_Tools.h"
+#include "SalomeApp_Application.h"
+#include "SalomeApp_Study.h"
 #include "LightApp_Application.h"
 #include "SALOMEDSClient_Study.hxx"
 #include "SALOME_ListIO.hxx"
 
 // QT Includes
 #include <qbuttongroup.h>
+#include <qcursor.h>
 #include <qgroupbox.h>
 #include <qhbox.h>
 #include <qlabel.h>
 #include <qlineedit.h>
 #include <qpushbutton.h>
+#include <qtoolbutton.h>
 #include <qradiobutton.h>
 #include <qcheckbox.h>
 #include <qlayout.h>
@@ -147,6 +154,11 @@ void SMESHGUI_GroupDlg::initDialog(bool create)
   myCreate = create;
   myCurrentLineEdit = 0;
 
+  myShapeByMeshOp = 0;
+  myGeomPopup = 0;
+  myGeomObjects = new GEOM::ListOfGO();
+  myGeomObjects->length(0);
+
   QPixmap image0 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));
 
   if (create) {
@@ -278,19 +290,19 @@ void SMESHGUI_GroupDlg::initDialog(bool create)
   /***************************************************************/
   QLabel* geomObject = new QLabel(wg2, "geometry object label");
   geomObject->setText(tr("SMESH_OBJECT_GEOM"));
-  myGeomGroupBtn = new QPushButton(wg2, "geometry group button");
-  myGeomGroupBtn->setText("");
-  myGeomGroupBtn->setPixmap(image0);
+  myGeomGroupBtn = new QToolButton(wg2, "geometry group button");
+  myGeomGroupBtn->setIconSet( QIconSet(image0) );
+  myGeomGroupBtn->setToggleButton(true);
   myGeomGroupLine = new QLineEdit(wg2, "geometry group line");
   myGeomGroupLine->setReadOnly(true); //VSR ???
   onSelectGeomGroup(false);
-
+  
   if (!create)
     {
       myGeomGroupBtn->setEnabled(false);
       myGeomGroupLine->setEnabled(false);
     }
-
+   
   /***************************************************************/
   QGridLayout* wg2Layout = new QGridLayout( wg2, 2, 3, 0, 6 );
   wg2Layout->addWidget(geomObject,     0, 0);
@@ -378,7 +390,7 @@ void SMESHGUI_GroupDlg::initDialog(bool create)
   connect(mySelectGroup, SIGNAL(toggled(bool)), this, SLOT(onSelectGroup(bool)));
   connect(mySubMeshBtn, SIGNAL(clicked()), this, SLOT(setCurrentSelection()));
   connect(myGroupBtn, SIGNAL(clicked()), this, SLOT(setCurrentSelection()));
-  connect(myGeomGroupBtn, SIGNAL(clicked()), this, SLOT(setCurrentSelection()));
+  connect(myGeomGroupBtn, SIGNAL(toggled(bool)), this, SLOT(onGeomSelectionButton(bool)));
   connect(mySelectColorGroup, SIGNAL(toggled(bool)), this, SLOT(onSelectColorGroup(bool)));
   connect(myColorSpinBox, SIGNAL(valueChanged(const QString&)), this, SLOT(onNbColorsChanged(const QString&)));
   
@@ -395,7 +407,9 @@ void SMESHGUI_GroupDlg::initDialog(bool create)
   myMeshFilter = new SMESH_TypeFilter(MESH);
   mySubMeshFilter = new SMESH_TypeFilter(SUBMESH);
   myGroupFilter = new SMESH_TypeFilter(GROUP);
-
+  SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>( mySMESHGUI->application()->activeStudy() );
+  myGeomFilter = new GEOM_SelectionFilter( aStudy, true );
+  
   connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(onDeactivate()));
   connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(onClose()));
   connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(onObjectSelectionChanged()));
@@ -482,13 +496,13 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup)
 
   if ( !myGroup->_is_nil() )
     {
-      myGrpTypeGroup->setButton(0);
-      onGrpTypeChanged(0);
-
       myActor = SMESH::FindActorByObject(myMesh);
       if ( !myActor )
        myActor = SMESH::FindActorByObject(myGroup);
       SMESH::SetPickable(myActor);
+
+      myGrpTypeGroup->setButton(0);
+      onGrpTypeChanged(0);
       
       myCurrentLineEdit = 0;
       myElements->clear();
@@ -512,13 +526,13 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup)
       
       if ( !myGroupOnGeom->_is_nil() )
        {
-         myGrpTypeGroup->setButton(1);
-         onGrpTypeChanged(1);
-
          myActor = SMESH::FindActorByObject(myMesh);
          if ( !myActor )
            myActor = SMESH::FindActorByObject(myGroup);
          SMESH::SetPickable(myActor);
+
+         myGrpTypeGroup->setButton(1);
+         onGrpTypeChanged(1);
          
          QString aShapeName("");
          _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
@@ -546,7 +560,7 @@ void SMESHGUI_GroupDlg::updateButtons()
   else if (myGrpTypeId == 1)
     {
       bool isEditMode = !CORBA::is_nil( myGroupOnGeom );
-      enable = !myName->text().stripWhiteSpace().isEmpty() && (!CORBA::is_nil( myGeomGroup ) || isEditMode);
+      enable = !myName->text().stripWhiteSpace().isEmpty() && (myGeomObjects->length() > 0 || isEditMode);
     }
   QPushButton* aBtn;
   aBtn = (QPushButton*) child("ok", "QPushButton");
@@ -609,19 +623,21 @@ void SMESHGUI_GroupDlg::setSelectionMode (int theMode)
   // PAL7314
   if (myMesh->_is_nil())
     return;
-
   if (mySelectionMode != theMode) {
     // [PAL10408] mySelectionMgr->clearSelected();
     mySelectionMgr->clearFilters();
-    SMESH::SetPointRepresentation(false);
+    if (myActor)
+      myActor->SetPointRepresentation(false);
+    else
+      SMESH::SetPointRepresentation(false);
     if (theMode < 4) {
       switch (theMode) {
       case 0:
         if (myActor)
-          myActor->SetPointRepresentation(true);
-        else
-          SMESH::SetPointRepresentation(true);
-       if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+         myActor->SetPointRepresentation(true);
+       else
+         SMESH::SetPointRepresentation(true);
+       if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
          aViewWindow->SetSelectionMode(NodeSelection);
        break;
       case 1:
@@ -643,11 +659,14 @@ void SMESHGUI_GroupDlg::setSelectionMode (int theMode)
        mySelectionMgr->installFilter(myGroupFilter);
       else if (theMode == 6)
        mySelectionMgr->installFilter(myMeshFilter);
+      else if (theMode == 7)
+       mySelectionMgr->installFilter(myGeomFilter);
+      
       if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode(ActorSelection);
     }
     mySelectionMode = theMode;
-  }
+  } 
 }
 
 //=================================================================================
@@ -742,7 +761,7 @@ bool SMESHGUI_GroupDlg::onApply()
     return true;
   } else if (myGrpTypeId == 1 &&
              !myName->text().stripWhiteSpace().isEmpty() &&
-             (!CORBA::is_nil(myGeomGroup) || !CORBA::is_nil(myGroupOnGeom)))
+             (myGeomObjects->length() > 0 || !CORBA::is_nil(myGroupOnGeom)))
   {
     if (myGroupOnGeom->_is_nil()) {
       SMESH::ElementType aType = SMESH::ALL;
@@ -757,7 +776,55 @@ bool SMESHGUI_GroupDlg::onApply()
       GEOM::GEOM_IGroupOperations_var aGroupOp =
        SMESH::GetGEOMGen()->GetIGroupOperations(aStudy->StudyId());
       
-      myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType, myName->text(),myGeomGroup);
+      if (myGeomObjects->length() == 1)
+       myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType, myName->text(),myGeomObjects[0]);
+      else
+       {
+         SMESH::SMESH_Gen_var aSMESHGen = SMESHGUI::GetSMESHGen();
+         if ( aSMESHGen->_is_nil() )
+           return false;
+
+         // create a geometry group
+         GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
+         _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+
+         if (geomGen->_is_nil() || !aStudy)
+           return false;
+
+         GEOM::GEOM_IGroupOperations_var op =
+           geomGen->GetIGroupOperations(aStudy->StudyId());
+         if (op->_is_nil())
+           return false;
+           
+         // check and add all selected GEOM objects: they must be
+         // a sub-shapes of the main GEOM and must be of one type
+         TopAbs_ShapeEnum aGroupType = TopAbs_SHAPE;
+         for ( int i =0; i < myGeomObjects->length(); i++)
+           {
+             TopAbs_ShapeEnum aSubShapeType = (TopAbs_ShapeEnum)myGeomObjects[i]->GetShapeType();
+             if (i == 0)
+               aGroupType = aSubShapeType;
+             else if (aSubShapeType != aGroupType)
+               {
+                 aGroupType = TopAbs_SHAPE;
+                 break;
+               }
+           }
+           
+         GEOM::GEOM_Object_var aMeshShape = myMesh->GetShapeToMesh();
+         GEOM::GEOM_Object_var aGroupVar = op->CreateGroup(aMeshShape, aGroupType);
+         op->UnionList(aGroupVar, myGeomObjects);
+
+         if (op->IsDone()) {
+           // publish the GEOM group in study
+           QString aNewGeomGroupName ("Auto_group_for_");
+           aNewGeomGroupName += myName->text();
+           SALOMEDS::SObject_var aNewGroupSO =
+             geomGen->AddInStudy(aSMESHGen->GetCurrentStudy(), aGroupVar, aNewGeomGroupName, aMeshShape);
+         }
+         
+         myGroupOnGeom = myMesh->CreateGroupFromGEOM(aType, myName->text(), aGroupVar);
+               }
       
       int aColorNumber = myColorSpinBox->value();
       myGroupOnGeom->SetColorNumber(aColorNumber);
@@ -834,7 +901,9 @@ void SMESHGUI_GroupDlg::onListSelectionChanged()
 void SMESHGUI_GroupDlg::onObjectSelectionChanged()
 {
   if ( myIsBusy || !isEnabled()) return;
-    myIsBusy = true;
+  if (myCurrentLineEdit == myGeomGroupLine && !myGeomGroupBtn->isOn()) return;
+
+  myIsBusy = true;
 
   SALOME_ListIO aList;
   mySelectionMgr->selectedObjects( aList );
@@ -855,6 +924,8 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged()
       myGeomGroupBtn->setEnabled(false);
       myGeomGroupLine->setEnabled(false);
       myGeomGroupLine->setText("");
+      if (myGeomGroupBtn->isOn())
+       myGeomGroupBtn->setOn(false);
       if (!myCreate)
         myName->setText("");
 
@@ -864,6 +935,7 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged()
         myGroup = SMESH::SMESH_Group::_nil();
        myGroupOnGeom = SMESH::SMESH_GroupOnGeom::_nil(); 
         myMesh = SMESH::SMESH_Mesh::_nil();
+       updateGeomPopup();
         myIsBusy = false;
         return;
       }
@@ -871,10 +943,11 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged()
 
       if (myCreate) {
         myMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IO);
+       updateGeomPopup();
         if (myMesh->_is_nil())
        {
          myIsBusy = false;
-          return;
+         return;
        }
         myGroup = SMESH::SMESH_Group::_nil();
 
@@ -913,86 +986,107 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged()
       if (!myCreate)
         return;
 
-      if (myTypeId == -1)
-        onTypeChanged(0);
-      else {
-        myElements->clear();
-        setSelectionMode(myTypeId);
-      }
+      if (myGrpTypeId == 0)
+       {
+         if (myTypeId == -1)
+           onTypeChanged(0);
+         else
+           {
+             myElements->clear();
+             setSelectionMode(myTypeId);
+           }
+       }
 
       myIsBusy = false;
       return;
 
     } else if (myCurrentLineEdit == myGeomGroupLine) {
-      if (aNbSel != 1) {
-        myGeomGroup = GEOM::GEOM_Object::_nil();
-        myIsBusy = false;
-        return;
-      }
+      
+      myGeomObjects = new GEOM::ListOfGO();
+      
+      // The mesh SObject
+      _PTR(SObject) aMeshSO = SMESH::FindSObject(myMesh);
+      
+      if (aNbSel == 0 || !aMeshSO)
+       {
+         myGeomObjects->length(0);
+         myIsBusy = false;
+         return;
+       }
+      
+      myGeomObjects->length(aNbSel);
 
-      Standard_Boolean testResult = Standard_False;
-      myGeomGroup = GEOMBase::ConvertIOinGEOMObject(aList.First(), testResult);
+      GEOM::GEOM_Object_var aGeomGroup;
+      Standard_Boolean testResult;
+      int i = 0;
+      
+      SALOME_ListIteratorOfListIO anIt (aList);
+      for (; anIt.More(); anIt.Next()) {
+       
+       testResult = Standard_False;
+       aGeomGroup = GEOMBase::ConvertIOinGEOMObject(anIt.Value(), testResult);
 
-      // Check if the object is a geometry group
-      if (!testResult || CORBA::is_nil(myGeomGroup)) {
-        myGeomGroup = GEOM::GEOM_Object::_nil();
-        myIsBusy = false;
-        return;
-      }
-      // Check if group constructed on the same shape as a mesh or on its child
-      _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
-      GEOM::GEOM_IGroupOperations_var anOp =
-        SMESH::GetGEOMGen()->GetIGroupOperations(aStudy->StudyId());
+       // Check if the object is a geometry group
+       if (!testResult || CORBA::is_nil(aGeomGroup))
+         continue;
+       
 
-      // The main shape of the group
-      GEOM::GEOM_Object_var aGroupMainShape;
-      if (myGeomGroup->GetType() == 37)
-        aGroupMainShape = anOp->GetMainShape(myGeomGroup);
-      else
-        aGroupMainShape = GEOM::GEOM_Object::_duplicate(myGeomGroup);
-      _PTR(SObject) aGroupMainShapeSO =
-        //aStudy->FindObjectIOR(aStudy->ConvertObjectToIOR(aGroupMainShape));
-        aStudy->FindObjectID(aGroupMainShape->GetStudyEntry());
+       // Check if group constructed on the same shape as a mesh or on its child
+       _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+       GEOM::GEOM_IGroupOperations_var anOp =
+         SMESH::GetGEOMGen()->GetIGroupOperations(aStudy->StudyId());
 
-      // The mesh SObject
-      _PTR(SObject) aMeshSO = SMESH::FindSObject(myMesh);
-      if (!aMeshSO) {
-        myGeomGroup = GEOM::GEOM_Object::_nil();
-        myIsBusy = false;
-        return;
-      }
-      _PTR(SObject) anObj, aRef;
-      bool isRefOrSubShape = false;
-      if (aMeshSO->FindSubObject(1, anObj) &&  anObj->ReferencedObject(aRef)) {
-        //if (strcmp(aRef->GetID(), aGroupMainShapeSO->GetID()) == 0) {
-        if (aRef->GetID() == aGroupMainShapeSO->GetID()) {
-          isRefOrSubShape = true;
-        } else {
-          _PTR(SObject) aFather = aGroupMainShapeSO->GetFather();
-          _PTR(SComponent) aComponent = aGroupMainShapeSO->GetFatherComponent();
-         //while (!isRefOrSubShape && strcmp(aFather->GetID(), aComponent->GetID()) != 0) {
-         while (!isRefOrSubShape && aFather->GetID() != aComponent->GetID()) {
-            //if (strcmp(aRef->GetID(), aFather->GetID()) == 0)
-            if (aRef->GetID() == aFather->GetID())
-              isRefOrSubShape = true;
-            else
-              aFather = aFather->GetFather();
-          }
+       // The main shape of the group
+       GEOM::GEOM_Object_var aGroupMainShape;
+       if (aGeomGroup->GetType() == 37)
+         aGroupMainShape = anOp->GetMainShape(aGeomGroup);
+       else
+         aGroupMainShape = GEOM::GEOM_Object::_duplicate(aGeomGroup);
+       _PTR(SObject) aGroupMainShapeSO =
+         //aStudy->FindObjectIOR(aStudy->ConvertObjectToIOR(aGroupMainShape));
+         aStudy->FindObjectID(aGroupMainShape->GetStudyEntry());
+       
+       _PTR(SObject) anObj, aRef;
+       bool isRefOrSubShape = false;
+       if (aMeshSO->FindSubObject(1, anObj) &&  anObj->ReferencedObject(aRef)) {
+         //if (strcmp(aRef->GetID(), aGroupMainShapeSO->GetID()) == 0) {
+         if (aRef->GetID() == aGroupMainShapeSO->GetID()) {
+           isRefOrSubShape = true;
+         } else {
+           _PTR(SObject) aFather = aGroupMainShapeSO->GetFather();
+           _PTR(SComponent) aComponent = aGroupMainShapeSO->GetFatherComponent();
+           //while (!isRefOrSubShape && strcmp(aFather->GetID(), aComponent->GetID()) != 0) {
+           while (!isRefOrSubShape && aFather->GetID() != aComponent->GetID()) {
+             //if (strcmp(aRef->GetID(), aFather->GetID()) == 0)
+             if (aRef->GetID() == aFather->GetID())
+               isRefOrSubShape = true;
+             else
+               aFather = aFather->GetFather();
+           }
+         }
        }
+       if (isRefOrSubShape)
+         myGeomObjects[i++] = aGeomGroup;
       }
-      if (!isRefOrSubShape) {
-        myGeomGroup = GEOM::GEOM_Object::_nil();
-        myIsBusy = false;
-        return;
-      }
+      
+      myGeomObjects->length(i);
+      if ( i == 0 )
+       {
+         myIsBusy = false;
+         return;
+       }
+      
+      aNbSel = i;
     }
 
     if(aNbSel >= 1) {
       if(aNbSel > 1) {
        if(myCurrentLineEdit == mySubMeshLine)
          aString = tr("SMESH_SUBMESH_SELECTED").arg(aNbSel);
-       else if(myCurrentLineEdit == myGroupLine || myCurrentLineEdit == myGeomGroupLine)
+       else if(myCurrentLineEdit == myGroupLine)
          aString = tr("SMESH_GROUP_SELECTED").arg(aNbSel);
+       else if(myCurrentLineEdit == myGeomGroupLine)
+         aString = tr("%1 Objects").arg(aNbSel);
       } else {
        aString = aList.First()->getName();
       }
@@ -1100,9 +1194,12 @@ void SMESHGUI_GroupDlg::onSelectGeomGroup(bool on)
       mySelectGroup->setChecked(false);
     }
     myCurrentLineEdit = myGeomGroupLine;
-    setSelectionMode(7);
+    updateGeomPopup();
+    setSelectionMode(8);
   }
   else {
+    myGeomGroupBtn->setOn(false);
+    myGeomObjects->length(0);
     myGeomGroupLine->setText("");
     myCurrentLineEdit = 0;
     if (myTypeId != -1)
@@ -1146,11 +1243,6 @@ void SMESHGUI_GroupDlg::setCurrentSelection()
     myCurrentLineEdit = myGroupLine;
     onObjectSelectionChanged();
   }
-  else if (send == myGeomGroupBtn) {
-    myCurrentLineEdit = myGeomGroupLine;
-    setSelectionMode(7);
-    onObjectSelectionChanged();
-  }
 }
 
 
@@ -1328,13 +1420,13 @@ void SMESHGUI_GroupDlg::onAdd()
     myIsBusy = false;
     onListSelectionChanged();
 
-  } else if (myCurrentLineEdit == myGeomGroupLine && !CORBA::is_nil(myGeomGroup)) {
+  } else if (myCurrentLineEdit == myGeomGroupLine && myGeomObjects->length() == 1) {
     _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
     GEOM::GEOM_IGroupOperations_var aGroupOp =
       SMESH::GetGEOMGen()->GetIGroupOperations(aStudy->StudyId());
 
     SMESH::ElementType aGroupType = SMESH::ALL;
-    switch(aGroupOp->GetType(myGeomGroup)) {
+    switch(aGroupOp->GetType(myGeomObjects[0])) {
     case 7: aGroupType = SMESH::NODE; break;
     case 6: aGroupType = SMESH::EDGE; break;
     case 4: aGroupType = SMESH::FACE; break;
@@ -1345,12 +1437,12 @@ void SMESHGUI_GroupDlg::onAdd()
     if (aGroupType == aType) {
       _PTR(SObject) aGroupSO =
         //aStudy->FindObjectIOR(aStudy->ConvertObjectToIOR(myGeomGroup));
-        aStudy->FindObjectID(myGeomGroup->GetStudyEntry());
+        aStudy->FindObjectID(myGeomObjects[0]->GetStudyEntry());
       // Construct filter
       SMESH::FilterManager_var aFilterMgr = SMESH::GetFilterManager();
       SMESH::Filter_var aFilter = aFilterMgr->CreateFilter();
       SMESH::BelongToGeom_var aBelongToGeom = aFilterMgr->CreateBelongToGeom();;
-      aBelongToGeom->SetGeom(myGeomGroup);
+      aBelongToGeom->SetGeom(myGeomObjects[0]);
       aBelongToGeom->SetShapeName(aGroupSO->GetName().c_str());
       aBelongToGeom->SetElementType(aType);
       aFilter->SetPredicate(aBelongToGeom);
@@ -1556,9 +1648,15 @@ void SMESHGUI_GroupDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
@@ -1596,7 +1694,7 @@ void SMESHGUI_GroupDlg::enterEvent (QEvent*)
 //=================================================================================
 void SMESHGUI_GroupDlg::hideEvent (QHideEvent*)
 {
-  if (!isMinimized())
+  if (!isMinimized() && !myIsBusy)
     onClose();
 }
 
@@ -1616,3 +1714,128 @@ void SMESHGUI_GroupDlg::keyPressEvent( QKeyEvent* e )
       onHelp();
     }
 }
+
+//================================================================================
+/*!
+ * \brief Enable showing of the popup when Geometry selection btn is clicked
+  * \param enable - true to enable
+ */
+//================================================================================
+
+enum { DIRECT_GEOM_INDEX = 0, GEOM_BY_MESH_INDEX };
+
+void SMESHGUI_GroupDlg::updateGeomPopup()
+{
+  bool enable = false;
+
+  if ( !myMesh->_is_nil() )
+    enable = myMesh->NbEdges() > 0;
+
+  if ( myGeomGroupBtn )
+  {
+    disconnect( myGeomGroupBtn, SIGNAL( toggled(bool) ), this, SLOT( onGeomSelectionButton(bool) ));
+    if ( enable ) {
+      if ( !myGeomPopup ) {
+        myGeomPopup = new QPopupMenu();
+        myGeomPopup->insertItem( tr("DIRECT_GEOM_SELECTION"), DIRECT_GEOM_INDEX );
+        myGeomPopup->insertItem( tr("GEOM_BY_MESH_ELEM_SELECTION"), GEOM_BY_MESH_INDEX );
+        connect( myGeomPopup, SIGNAL( activated( int ) ), SLOT( onGeomPopup( int ) ) );
+      }
+      connect( myGeomGroupBtn, SIGNAL( toggled(bool) ), this, SLOT( onGeomSelectionButton(bool) ));
+    }
+  }
+}
+
+
+//=================================================================================
+// function : onGeomSelectionButton()
+// purpose  :
+//=================================================================================
+void SMESHGUI_GroupDlg::onGeomSelectionButton(bool isBtnOn)
+{
+  if ( myGeomPopup && isBtnOn )
+    {
+      myCurrentLineEdit = myGeomGroupLine;
+      int id = myGeomPopup->exec( QCursor::pos() );
+      if (id == DIRECT_GEOM_INDEX || id == -1)
+       setSelectionMode(7);
+    }
+  else if (!isBtnOn)
+    {
+      myCurrentLineEdit = 0;
+      setSelectionMode(8);
+    }
+}
+
+//=================================================================================
+// function : onGeomPopup()
+// purpose  :
+//=================================================================================
+void SMESHGUI_GroupDlg::onGeomPopup( int index )
+{
+  if ( index == GEOM_BY_MESH_INDEX )
+    {
+      mySelectionMode = -1;
+      if ( !myShapeByMeshOp ) {
+       myShapeByMeshOp = new SMESHGUI_ShapeByMeshOp(true);
+       connect(myShapeByMeshOp, SIGNAL(committed(SUIT_Operation*)),
+               SLOT(onPublishShapeByMeshDlg(SUIT_Operation*)));
+       connect(myShapeByMeshOp, SIGNAL(aborted(SUIT_Operation*)),
+               SLOT(onCloseShapeByMeshDlg(SUIT_Operation*)));
+      }
+      // set mesh object to SMESHGUI_ShapeByMeshOp and start it
+      if ( !myMesh->_is_nil() ) {
+       myIsBusy = true;
+        hide(); // stop processing selection
+       myIsBusy = false;
+        myShapeByMeshOp->setModule( mySMESHGUI );
+        myShapeByMeshOp->setStudy( 0 ); // it's really necessary
+        myShapeByMeshOp->SetMesh( myMesh );
+        myShapeByMeshOp->start();
+      }
+    }
+}
+
+//================================================================================
+/*!
+ * \brief SLOT. Is called when Ok is pressed in SMESHGUI_ShapeByMeshDlg
+ */
+//================================================================================
+
+void SMESHGUI_GroupDlg::onPublishShapeByMeshDlg(SUIT_Operation* op)
+{
+  if ( myShapeByMeshOp == op ) {
+    mySMESHGUI->getApp()->updateObjectBrowser();
+    show();
+    // Select a found geometry object
+    GEOM::GEOM_Object_var aGeomVar = myShapeByMeshOp->GetShape();
+    if ( !aGeomVar->_is_nil() )
+    {
+      QString ID = aGeomVar->GetStudyEntry();
+      _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+      if ( _PTR(SObject) aGeomSO = aStudy->FindObjectID( ID.latin1() )) {
+       SALOME_ListIO anIOList;
+       Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject
+         ( aGeomSO->GetID().c_str(), "SMESH", aGeomSO->GetName().c_str() );
+       anIOList.Append( anIO );
+       mySelectionMgr->setSelectedObjects( anIOList, false );
+       onObjectSelectionChanged();
+      }
+    }
+  }
+}
+
+//================================================================================
+/*!
+ * \brief SLOT. Is called when Close is pressed in SMESHGUI_ShapeByMeshDlg
+ */
+//================================================================================
+
+void SMESHGUI_GroupDlg::onCloseShapeByMeshDlg(SUIT_Operation* op)
+{
+  if ( myShapeByMeshOp == op )
+    {
+      show();
+      setSelectionMode(7);
+    }
+}
index 303c382235f5b8e0e7ff2bc3679ccd3ee5a8bddc..be6f5ebdd8845bea1fdf6d208774f46b40f04d85 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef DIALOGBOX_GROUP_H
 #define DIALOGBOX_GROUP_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -45,13 +47,17 @@ class QLineEdit;
 class QButtonGroup;
 class QGroupBox;
 class QListBox;
+class QPopupMenu;
 class QPushButton;
+class QToolButton;
 class QCheckBox;
 class QWidgetStack;
 class QtxIntSpinBox;
 class SMESHGUI;
 class SMESH_Actor;
 class SMESHGUI_FilterDlg;
+class SMESHGUI_ShapeByMeshOp;
+class SUIT_Operation;
 class SVTK_Selector;
 class SVTK_ViewWindow;
 
@@ -59,7 +65,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_GroupDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_GroupDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_GroupDlg : public QDialog
 { 
     Q_OBJECT
 
@@ -107,6 +113,12 @@ private slots:
     void onNbColorsChanged(const QString& text);
     void onFilterAccepted();
 
+    void onGeomPopup( int );
+    void onGeomSelectionButton( bool );
+
+    void onPublishShapeByMeshDlg(SUIT_Operation*);
+    void onCloseShapeByMeshDlg(SUIT_Operation*);
+
 private:
     void initDialog(bool create);
     void init(SMESH::SMESH_Mesh_ptr theMesh);
@@ -117,6 +129,7 @@ private:
     void keyPressEvent(QKeyEvent*);
     void setSelectionMode(int theMode);
     void updateButtons();
+    void updateGeomPopup();
 
     SMESHGUI*                     mySMESHGUI;              /* Current SMESHGUI object */
     LightApp_SelectionMgr*        mySelectionMgr;          /* User shape selection */
@@ -150,14 +163,17 @@ private:
     QtxIntSpinBox*                myColorSpinBox;
 
     QCheckBox*                    mySelectGeomGroup;
-    QPushButton*                  myGeomGroupBtn;
+    QToolButton*                  myGeomGroupBtn;
     QLineEdit*                    myGeomGroupLine;
+    QPopupMenu*                   myGeomPopup;
+
+    SMESHGUI_ShapeByMeshOp*       myShapeByMeshOp;
 
     SMESH::SMESH_Mesh_var         myMesh;
     SMESH::SMESH_Group_var        myGroup;
     SMESH::SMESH_GroupOnGeom_var  myGroupOnGeom;
     QValueList<int>               myIdList;
-    GEOM::GEOM_Object_var         myGeomGroup;
+    GEOM::ListOfGO_var            myGeomObjects;
 
     int                           mySelectionMode;
     //Handle(SMESH_TypeFilter)      myMeshFilter;
@@ -166,6 +182,7 @@ private:
     SUIT_SelectionFilter*         myMeshFilter;
     SUIT_SelectionFilter*         mySubMeshFilter;
     SUIT_SelectionFilter*         myGroupFilter;
+    SUIT_SelectionFilter*         myGeomFilter;
 
     SMESHGUI_FilterDlg*           myFilterDlg;
 
index 52f6d0fc4a98fdbe69a36018b059508a3046733b..670d2f16ea109d1e5998834debd5f98074538301 100644 (file)
@@ -317,9 +317,15 @@ void SMESHGUI_GroupOpDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 5b22977ad91863ba0d484d472e36d67cc142d150..2dfce3bb5b067bee3aa9ef94fd1be7d265b932c4 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_GroupOpDlg_H
 #define SMESHGUI_GroupOpDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include <SALOMEconfig.h>
@@ -47,7 +49,7 @@ class SVTK_Selector;
   Description : Perform boolean operations on groups
 */
 
-class SMESHGUI_GroupOpDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_GroupOpDlg : public QDialog
 { 
   Q_OBJECT
     
index 207593d3f18b09b3bc4646198a77b0dcef079763..f6ceabef6b82fbdfac3587882822705e51004fd1 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_GroupUtils_HeaderFile
 #define SMESHGUI_GroupUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Group)
@@ -27,6 +29,7 @@
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH::SMESH_Group_var AddGroup(SMESH::SMESH_Mesh_ptr theMesh,
                                  SMESH::ElementType theType,
                                  const char* theGroupName);
index 6e90a709363baf58c15b77a09d672cf794cb0644..c58be37f57b8ed4eb0bc1df6acbd8b2158df64b7 100644 (file)
 #include <qpixmap.h>
 #include <qgroupbox.h>
 
+#include <qapplication.h>
+
 SMESHGUI_GenericHypothesisCreator::SMESHGUI_GenericHypothesisCreator( const QString& aHypType )
-: myHypType( aHypType ),
-  myIsCreate( false )
+  : myHypType( aHypType ), myIsCreate( false ), myDlg( 0 )
 {
 }
 
@@ -131,17 +132,22 @@ bool SMESHGUI_GenericHypothesisCreator::editHypothesis( SMESH::SMESH_Hypothesis_
   bool res = true;
   myHypo = SMESH::SMESH_Hypothesis::_duplicate( h );
 
+  SMESHGUI_HypothesisDlg* Dlg =
+    new SMESHGUI_HypothesisDlg( const_cast<SMESHGUI_GenericHypothesisCreator*>( this ), parent );
+  myDlg = Dlg;
   QFrame* fr = buildFrame();
   if( fr )
   {
-    SMESHGUI_HypothesisDlg* dlg = 
-      new SMESHGUI_HypothesisDlg( const_cast<SMESHGUI_GenericHypothesisCreator*>( this ), parent );
-    dlg->setCustomFrame( fr );
-    dlg->setCaption( caption() );
-    dlg->setHIcon( icon() );
-    dlg->setType( type() );
+    Dlg->setCustomFrame( fr );
+    Dlg->setCaption( caption() );
+    Dlg->setHIcon( icon() );
+    Dlg->setType( type() );
     retrieveParams();
-    res = dlg->exec()==QDialog::Accepted;
+    Dlg->show();
+    //connect(myDlg, SIGNAL( closed() ), this, SLOT( onDlgClosed() ));
+    qApp->enter_loop(); // make myDlg not modal
+//     res = myDlg->exec()==QDialog::Accepted;
+    res = myDlg->result();
     if( res ) {
       QString paramValues = storeParams();
       if ( !paramValues.isEmpty() ) {
@@ -149,14 +155,14 @@ bool SMESHGUI_GenericHypothesisCreator::editHypothesis( SMESH::SMESH_Hypothesis_
           SMESH::SetValue( SHyp, paramValues );
       }
     }
-    delete dlg;
   }
+  delete Dlg; myDlg = 0;
   changeWidgets().clear();
   myHypo = SMESH::SMESH_Hypothesis::_nil();
   myInitParamsHypo = SMESH::SMESH_Hypothesis::_nil();
   return res;
 }
-
+  
 QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
 {
   if( CORBA::is_nil( hypothesis() ) )
@@ -187,7 +193,7 @@ QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
     QLabel* lab = new QLabel( (*anIt).myName, GroupC1 );
     GroupC1Layout->addWidget( lab, i, 0 );
 
-    QWidget* w = getCustomWidget( *anIt, GroupC1 );
+    QWidget* w = getCustomWidget( *anIt, GroupC1, i );
     if ( !w ) 
       switch( (*anIt).myValue.type() )
       {
@@ -283,10 +289,13 @@ QString SMESHGUI_GenericHypothesisCreator::stdParamValues( const ListOfStdParams
 {
   QString valueStr = "";
   ListOfStdParams::const_iterator param = params.begin(), aLast = params.end();
+  uint len0 = 0;
   for( int i=0; param!=aLast; param++, i++ )
   {
-    if ( i > 0 )
+    if ( valueStr.length() > len0 ) {
       valueStr += "; ";
+      len0 = valueStr.length();
+    }
     switch( (*param).myValue.type() )
     {
     case QVariant::Int:
@@ -357,7 +366,8 @@ QString SMESHGUI_GenericHypothesisCreator::type() const
   return QString();
 }
 QWidget* SMESHGUI_GenericHypothesisCreator::getCustomWidget( const StdParam & /*param*/,
-                                                             QWidget*   /*parent*/) const
+                                                             QWidget*   /*parent*/,
+                                                             const int  /*index*/) const
 {
   return 0;
 }
@@ -366,11 +376,15 @@ bool SMESHGUI_GenericHypothesisCreator::getParamFromCustomWidget( StdParam& , QW
   return false;
 }
 
+void SMESHGUI_GenericHypothesisCreator::onReject()
+{
+}
+
 
 
 
 SMESHGUI_HypothesisDlg::SMESHGUI_HypothesisDlg( SMESHGUI_GenericHypothesisCreator* creator, QWidget* parent )
-: QtxDialog( parent, "", true, true ),
+: QtxDialog( parent, "", false, true ),
   myCreator( creator )
 {
   setMinimumSize( 300, height() );
@@ -414,7 +428,6 @@ SMESHGUI_HypothesisDlg::SMESHGUI_HypothesisDlg( SMESHGUI_GenericHypothesisCreato
     myHelpFileName = "";
 
   connect( this, SIGNAL( dlgHelp() ), this, SLOT( onHelp() ) );
-
 }
 
 SMESHGUI_HypothesisDlg::~SMESHGUI_HypothesisDlg()
@@ -432,8 +445,17 @@ void SMESHGUI_HypothesisDlg::setCustomFrame( QFrame* f )
 
 void SMESHGUI_HypothesisDlg::accept()
 {
-  if( !myCreator || myCreator->checkParams() )
-    QtxDialog::accept();
+  if ( myCreator && !myCreator->checkParams() )
+    return;
+  QtxDialog::accept();
+  qApp->exit_loop();
+}
+
+void SMESHGUI_HypothesisDlg::reject()
+{
+  if ( myCreator ) myCreator->onReject();
+  QtxDialog::reject();
+  qApp->exit_loop();
 }
 
 void SMESHGUI_HypothesisDlg::onHelp()
@@ -444,9 +466,15 @@ void SMESHGUI_HypothesisDlg::onHelp()
     app->onHelpContextModule(aSMESHGUI ? app->moduleName(aSMESHGUI->moduleName()) : QString(""), myHelpFileName);
   }
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 43ad6734c4137f77a01f2c51e8fb97df75eed6fb..c76e409e1a2963ff5c324349ad136c9244954329 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_Hypotheses_HeaderFile
 #define SMESHGUI_Hypotheses_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -40,7 +42,7 @@ class QPixmap;
 /*!
  * \brief Auxiliary class for creation of hypotheses
 */
-class SMESHGUI_GenericHypothesisCreator : public QObject
+class SMESHGUI_EXPORT SMESHGUI_GenericHypothesisCreator : public QObject
 {
   Q_OBJECT
 
@@ -51,7 +53,9 @@ public:
           void create( const bool isAlgo, QWidget* );
           void edit( SMESH::SMESH_Hypothesis_ptr, QWidget* );
           void create( SMESH::SMESH_Hypothesis_ptr, QWidget* );
+
   virtual bool checkParams() const = 0;
+  virtual void onReject();
 
   QString                     hypType() const;
   bool                        isCreation() const;
@@ -71,6 +75,7 @@ protected:
   SMESH::SMESH_Hypothesis_var initParamsHypothesis() const;
   const ListOfWidgets&        widgets() const;
   ListOfWidgets&              changeWidgets();
+  QtxDialog*                  dlg() const { return myDlg; }
 
   virtual QFrame*  buildFrame    () = 0;
           QFrame*  buildStdFrame ();
@@ -80,7 +85,7 @@ protected:
           bool     getStdParamFromDlg( ListOfStdParams& ) const;
   static  QString  stdParamValues( const ListOfStdParams& );
   virtual void     attuneStdWidget( QWidget*, const int ) const;
-  virtual QWidget* getCustomWidget( const StdParam &, QWidget* ) const;
+  virtual QWidget* getCustomWidget( const StdParam &, QWidget*, const int ) const;
   virtual bool     getParamFromCustomWidget( StdParam& , QWidget* ) const;
   virtual QString  caption() const;
   virtual QPixmap  icon() const;
@@ -97,6 +102,7 @@ private:
   QString                      myHypType;
   ListOfWidgets                myParamWidgets;
   bool                         myIsCreate;
+  QtxDialog*                   myDlg;
 };
 
 class SMESHGUI_HypothesisDlg : public QtxDialog
@@ -113,6 +119,7 @@ public:
 
 protected slots:
   virtual void accept();
+  virtual void reject();
   void onHelp(); 
 
 private:
index 9772724e688c36bb031a07942c405c0baa00f3d5..ebb1ca33341cb34caad8ffcff5f6acd561930ffd 100644 (file)
 #include <map>
 #include <string>
 
-#include <dlfcn.h>
+#ifdef WNT
+ #include <windows.h>
+#else
+ #include <dlfcn.h>
+#endif
+
+#ifdef WNT
+ #define LibHandle HMODULE
+ #define LoadLib( name ) LoadLibrary( name )
+ #define GetProc GetProcAddress
+ #define UnLoadLib( handle ) FreeLibrary( handle );
+#else
+ #define LibHandle void*
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY )
+ #define GetProc dlsym
+ #define UnLoadLib( handle ) dlclose( handle );
+#endif
 
 #ifdef _DEBUG_
 static int MYDEBUG = 0;
@@ -320,11 +336,18 @@ namespace SMESH{
       try {
        // load plugin library
        if(MYDEBUG) MESSAGE("Loading client meshers plugin library ...");
-       void* libHandle = dlopen (aClientLibName, RTLD_LAZY);
+       LibHandle libHandle = LoadLib( aClientLibName );
        if (!libHandle) {
          // report any error, if occured
-         const char* anError = dlerror();
-         if(MYDEBUG) MESSAGE(anError);
+    if ( MYDEBUG )
+    {
+#ifdef WIN32
+      const char* anError = "Can't load client meshers plugin library";
+#else
+           const char* anError = dlerror();      
+#endif
+      MESSAGE(anError);
+    }
        }
        else {
          // get method, returning hypothesis creator
@@ -332,10 +355,10 @@ namespace SMESH{
          typedef SMESHGUI_GenericHypothesisCreator* (*GetHypothesisCreator) \
            ( const QString& );
          GetHypothesisCreator procHandle =
-           (GetHypothesisCreator)dlsym(libHandle, "GetHypothesisCreator");
+           (GetHypothesisCreator)GetProc(libHandle, "GetHypothesisCreator");
          if (!procHandle) {
            if(MYDEBUG) MESSAGE("bad hypothesis client plugin library");
-           dlclose(libHandle);
+           UnLoadLib(libHandle);
          }
          else {
            // get hypothesis creator
@@ -594,6 +617,7 @@ namespace SMESH{
         CASE2MESSAGE( MISSING_ALGO );
         CASE2MESSAGE( MISSING_HYPO );
         CASE2MESSAGE( NOT_CONFORM_MESH );
+        CASE2MESSAGE( BAD_PARAM_VALUE );
       default: continue;
       }
       // apply args to message:
index b8ea3f846c12dcd8fb3fea4ce04548863f7a2e7d..f62b14da2d666bb533d81df9e1e33d2c18b82152 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_HypothesesUtils_HeaderFile
 #define SMESHGUI_HypothesesUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qstring.h>
 #include <qstringlist.h>
 
@@ -49,43 +51,56 @@ class algo_error_array;
 
 namespace SMESH{
 
+  SMESHGUI_EXPORT
   void InitAvailableHypotheses();
 
+  SMESHGUI_EXPORT
   QStringList GetAvailableHypotheses( const bool isAlgo, 
                                       const int theDim = -1, 
                                       const bool isAux = false);
-
+  SMESHGUI_EXPORT
   QStringList GetHypothesesSets();
 
+  SMESHGUI_EXPORT
   HypothesesSet* GetHypothesesSet(const QString theSetName);
 
+  SMESHGUI_EXPORT
   HypothesisData* GetHypothesisData(const char* aHypType);
 
+  SMESHGUI_EXPORT
   bool IsAvailableHypothesis(const HypothesisData* algoData,
                              const QString&        hypType,
                              bool&                 isOptional);
 
+  SMESHGUI_EXPORT
   bool IsCompatibleAlgorithm(const HypothesisData* algo1Data,
                              const HypothesisData* algo2Data);
 
+  SMESHGUI_EXPORT
   SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const char* aHypType);
 
+  SMESHGUI_EXPORT
   SMESH::SMESH_Hypothesis_ptr CreateHypothesis(const char* aHypType,
                                               const char* aHypName,
                                               const bool isAlgo = false);
 
+  SMESHGUI_EXPORT
   bool AddHypothesisOnMesh(SMESH::SMESH_Mesh_ptr aMesh, SMESH::SMESH_Hypothesis_ptr aHyp);
 
+  SMESHGUI_EXPORT
   bool AddHypothesisOnSubMesh(SMESH::SMESH_subMesh_ptr aSubMesh, SMESH::SMESH_Hypothesis_ptr aHyp);
 
+  SMESHGUI_EXPORT
   bool RemoveHypothesisOrAlgorithmOnMesh(const Handle(SALOME_InteractiveObject)& IObject);
 
+  SMESHGUI_EXPORT
   bool RemoveHypothesisOrAlgorithmOnMesh(_PTR(SObject) MorSM,
                                         SMESH::SMESH_Hypothesis_ptr anHyp);
 
   typedef std::vector<_PTR(SObject)> SObjectList;
   SObjectList GetMeshesUsingAlgoOrHypothesis(SMESH::SMESH_Hypothesis_ptr AlgoOrHyp ) ;
 
+  SMESHGUI_EXPORT
   QString GetMessageOnAlgoStateErrors(const algo_error_array& errors);
 }
 
index 32004bc4014b585b98b48050af637223c233f8ea..d5c5c8060e1a38cf4f2a08bfe0d00fe06d756baf 100644 (file)
 #ifndef SMESHGUI_IdValidator_HeaderFile
 #define SMESHGUI_IdValidator_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qvalidator.h>
 
 // validator for manual input of Ids
 
-class SMESHGUI_IdValidator: public QValidator
+class SMESHGUI_EXPORT SMESHGUI_IdValidator: public QValidator
 {
  public:
 
index c16fab197a7db50218c404c519d7b9ba83018eda..475f2161cf58776c9d4543ab1702d87fff9244d9 100644 (file)
@@ -385,9 +385,15 @@ void SMESHGUI_MergeNodesDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index eda961e8c0cc58341743cf5756b24b13281a0b53..174f87290035fe8dca56ee3215344826ed28e153 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_MERGENODES_H
 #define DIALOGBOX_MERGENODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -63,7 +65,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_MergeNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_MergeNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MergeNodesDlg : public QDialog
 { 
     Q_OBJECT
 
index 84ca7a2298e07cc903b44d9c72bbe77593f89f19..0429403a446da59039a5d9d42c75992156b86f88 100644 (file)
@@ -33,6 +33,8 @@
 #ifndef SMESHGUI_MeshDlg_H
 #define SMESHGUI_MeshDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Dialog.h"
 #include <qframe.h>
 #include <qstringlist.h>
@@ -51,7 +53,7 @@ class QPopupMenu;
  *
  *  This dialog is used for mech creation or editing. 
 */
-class SMESHGUI_MeshDlg : public SMESHGUI_Dialog
+class SMESHGUI_EXPORT SMESHGUI_MeshDlg : public SMESHGUI_Dialog
 { 
   Q_OBJECT       
       
@@ -98,7 +100,7 @@ private:
  * algorithms and hypotheses
 */ 
 
-class SMESHGUI_MeshTab : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_MeshTab : public QFrame
 {
   Q_OBJECT
       
index 713e016257acafb38953e8409aba45edf022a2d9..4bcb125b15ab199ee2df13c53cd41578b4e2bda6 100644 (file)
@@ -632,9 +632,15 @@ void SMESHGUI_MeshInfosDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 51bf242c596f8c987a3125a310c700a6f10e6357..d8925c5d8f6ca556d47391b4b7f951d0e0acbeb4 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_MESHINFOSDLG_H
 #define SMESHGUI_MESHINFOSDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -40,7 +42,7 @@ class QWidgetStack;
 class LightApp_SelectionMgr;
 class SMESHGUI;
 
-class SMESHGUI_MeshInfosDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MeshInfosDlg : public QDialog
 { 
     Q_OBJECT
 
index 111c5944f1f4a8faffc5453ffcc5c0f2292a787a..0e13c26e5196cfb172bb4452c2f612fececde5b1 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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 
+// 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 
+//
+// 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 
+// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
@@ -49,6 +49,7 @@
 #include "GeometryGUI.h"
 
 #include "SalomeApp_Tools.h"
+#include "SalomeApp_Application.h"
 #include "SALOMEDSClient_Study.hxx"
 #include "SALOMEDSClient_AttributeIOR.hxx"
 #include "SALOMEDSClient_AttributeName.hxx"
@@ -81,7 +82,7 @@ enum { GLOBAL_ALGO_TAG        =3,
        SUBMESH_ON_SHELL_TAG   =8,
        SUBMESH_ON_SOLID_TAG   =9,
        SUBMESH_ON_COMPOUND_TAG=10 };
-       
+
 //================================================================================
 /*!
  * \brief Constructor
@@ -212,7 +213,7 @@ void SMESHGUI_MeshOp::startOperation()
     connect( myDlg, SIGNAL( hypoSet( const QString& )), SLOT( onHypoSet( const QString& )));
     connect( myDlg, SIGNAL( geomSelectionByMesh( bool )), SLOT( onGeomSelectionByMesh( bool )));
 
-    if ( myToCreate ) 
+    if ( myToCreate )
       if ( myIsMesh ) myHelpFileName = "/files/constructing_meshes.htm";
       else myHelpFileName = "/files/constructing_submeshes.htm";
     else myHelpFileName = "files/reassigning_hypotheses_and_algorithms.htm";
@@ -294,42 +295,49 @@ bool SMESHGUI_MeshOp::isSubshapeOk() const
   if ( !myToCreate || myIsMesh ) // not submesh creation
     return false;
 
+  // mesh
   QString aMeshEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Mesh );
-  QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
   _PTR(SObject) pMesh = studyDS()->FindObjectID( aMeshEntry.latin1() );
-  _PTR(SObject) pGeom = studyDS()->FindObjectID( aGeomEntry.latin1() );
-  if ( pMesh && pGeom ) {
-    SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( pMesh );
-    if ( !mesh->_is_nil() ) {
-      GEOM::GEOM_Object_var mainGeom, subGeom;
-      mainGeom = mesh->GetShapeToMesh();
-      subGeom  = SMESH::SObjectToInterface<GEOM::GEOM_Object>( pGeom );
-      if ( !mainGeom->_is_nil() && !subGeom->_is_nil() ) {
-        TopoDS_Shape mainShape, subShape;
-        if ( GEOMBase::GetShape( mainGeom, mainShape ) &&
-             GEOMBase::GetShape( subGeom, subShape ) )
-        {
-          int index = GEOMBase::GetIndex( subShape, mainShape, 0 );
-          if ( index > 0 ) {
-            // 1 is index of mainShape itself
-            return index > 1; // it is a subshape
-          }
-          // is it a group?
-          GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
-          _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
-          if ( !geomGen->_is_nil() && aStudy ) {
-            GEOM::GEOM_IGroupOperations_var op =
-              geomGen->GetIGroupOperations( aStudy->StudyId() );
-            if ( ! op->_is_nil() ) {
-              GEOM::GEOM_Object_var mainObj = op->GetMainShape( subGeom );
-              if ( !mainObj->_is_nil() )
-                return ( string( mainObj->GetEntry() ) == string( mainGeom->GetEntry() ));
-            }
-          }
-        }
-      }
+  if (!pMesh) return false;
+
+  SMESH::SMESH_Mesh_var mesh = SMESH::SObjectToInterface<SMESH::SMESH_Mesh>( pMesh );
+  if (mesh->_is_nil()) return false;
+
+  // main shape of the mesh
+  GEOM::GEOM_Object_var mainGeom = mesh->GetShapeToMesh();
+  if (mainGeom->_is_nil()) return false;
+
+  // geometry
+  QStringList aGEOMs;
+  myDlg->selectedObject(SMESHGUI_MeshDlg::Geom, aGEOMs);
+
+  if (aGEOMs.count() > 0) {
+    GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
+    _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+    if (geomGen->_is_nil() || !aStudy) return false;
+
+    GEOM::GEOM_IGroupOperations_var op =
+        geomGen->GetIGroupOperations(aStudy->StudyId());
+    if (op->_is_nil()) return false;
+
+    // check all selected shapes
+    QStringList::const_iterator aSubShapesIter = aGEOMs.begin();
+    for (; aSubShapesIter != aGEOMs.end(); aSubShapesIter++) {
+      QString aSubGeomEntry = (*aSubShapesIter);
+      _PTR(SObject) pSubGeom = studyDS()->FindObjectID(aSubGeomEntry.latin1());
+      if (!pSubGeom) return false;
+
+      GEOM::GEOM_Object_var aSubGeomVar =
+        GEOM::GEOM_Object::_narrow(_CAST(SObject,pSubGeom)->GetObject());
+      if (aSubGeomVar->_is_nil()) return false;
+
+      GEOM::GEOM_Object_var mainObj = op->GetMainShape(aSubGeomVar);
+      if (mainObj->_is_nil() ||
+          string(mainObj->GetEntry()) != string(mainGeom->GetEntry())) return false;
     }
+    return true;
   }
+
   return false;
 }
 
@@ -379,7 +387,7 @@ _PTR(SObject) SMESHGUI_MeshOp::getSubmeshByGeom() const
           }
         }
       }
-    }     
+    }
   }
   return _PTR(SObject)();
 }
@@ -393,7 +401,7 @@ _PTR(SObject) SMESHGUI_MeshOp::getSubmeshByGeom() const
 //================================================================================
 void SMESHGUI_MeshOp::selectionDone()
 {
-  if ( !dlg()->isShown() )
+  if ( !dlg()->isShown() || !myDlg->isEnabled() )
     return;
 
   SMESHGUI_SelectionOp::selectionDone();
@@ -404,38 +412,57 @@ void SMESHGUI_MeshOp::selectionDone()
 
     int shapeDim = 3;
 
-    GEOM::GEOM_Object_var aGeomVar;
-    QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-    _PTR(SObject) pGeom = studyDS()->FindObjectID( aGeomEntry.latin1() );
-    if ( pGeom ) {
-      aGeomVar = GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
-    }
-    else {
+    QStringList aGEOMs;
+    myDlg->selectedObject(SMESHGUI_MeshDlg::Geom, aGEOMs);
+    GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
+
+    if (aGEOMs.count() > 0) {
+      // one or more GEOM shape selected
+      aSeq->length(aGEOMs.count());
+      QStringList::const_iterator aSubShapesIter = aGEOMs.begin();
+      int iSubSh = 0;
+      for (; aSubShapesIter != aGEOMs.end(); aSubShapesIter++, iSubSh++) {
+        QString aSubGeomEntry = (*aSubShapesIter);
+        _PTR(SObject) pSubGeom = studyDS()->FindObjectID(aSubGeomEntry.latin1());
+        GEOM::GEOM_Object_var aSubGeomVar =
+          GEOM::GEOM_Object::_narrow(_CAST(SObject,pSubGeom)->GetObject());
+        aSeq[iSubSh] = aSubGeomVar;
+      }
+    } else {
+      // get geometry by selected sub-mesh
       QString anObjEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Obj );
       _PTR(SObject) pObj = studyDS()->FindObjectID( anObjEntry.latin1() );
-      aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
+      GEOM::GEOM_Object_var aGeomVar = SMESH::GetShapeOnMeshOrSubMesh( pObj );
+      if (!aGeomVar->_is_nil()) {
+        aSeq->length(1);
+        aSeq[0] = aGeomVar;
+      }
     }
-    if ( !aGeomVar->_is_nil() ) {
+
+    if (aSeq->length() > 0) {
       shapeDim = 0;
-      switch ( aGeomVar->GetShapeType() ) {
-      case GEOM::SOLID:
-      case GEOM::SHELL:  shapeDim = 3; break;
-      case GEOM::FACE:   shapeDim = 2; break;
-      case GEOM::WIRE:   
-      case GEOM::EDGE:   shapeDim = 1; break;
-      case GEOM::VERTEX: shapeDim = 0; break;
-      default:
-        TopoDS_Shape aShape;
-        if ( GEOMBase::GetShape(aGeomVar, aShape)) {
-          TopExp_Explorer exp( aShape, TopAbs_SHELL );
-          if ( exp.More() )
-            shapeDim = 3;
-          else if ( exp.Init( aShape, TopAbs_FACE ), exp.More() )
-            shapeDim = 2;
-          else if ( exp.Init( aShape, TopAbs_EDGE ), exp.More() )
-            shapeDim = 1;
-          else
-            shapeDim = 0;
+      for (int iss = 0; iss < aSeq->length() && shapeDim < 3; iss++) {
+        GEOM::GEOM_Object_var aGeomVar = aSeq[iss];
+        switch ( aGeomVar->GetShapeType() ) {
+        case GEOM::SOLID:
+        case GEOM::SHELL:  shapeDim = 3; break;
+        case GEOM::FACE:   shapeDim = (shapeDim < 2) ? 2 : shapeDim; break;
+        case GEOM::WIRE:
+        case GEOM::EDGE:   shapeDim = (shapeDim < 1) ? 1 : shapeDim; break;
+        case GEOM::VERTEX: break;
+        default:
+          TopoDS_Shape aShape;
+          if ( GEOMBase::GetShape(aGeomVar, aShape)) {
+            TopExp_Explorer exp( aShape, TopAbs_SHELL );
+            if ( exp.More() )
+              shapeDim = 3;
+            else if ( exp.Init( aShape, TopAbs_FACE ), exp.More() )
+              shapeDim = (shapeDim < 2) ? 2 : shapeDim;
+            else if ( exp.Init( aShape, TopAbs_EDGE ), exp.More() )
+              shapeDim = (shapeDim < 1) ? 1 : shapeDim;
+            else
+              ;//shapeDim = 0;
+          }
         }
       }
     }
@@ -464,7 +491,7 @@ void SMESHGUI_MeshOp::selectionDone()
     {
       // if a submesh on the selected shape already exist, pass to submesh edition mode
       if ( _PTR(SObject) pSubmesh = getSubmeshByGeom() ) {
-        SMESH::SMESH_subMesh_var sm = 
+        SMESH::SMESH_subMesh_var sm =
           SMESH::SObjectToInterface<SMESH::SMESH_subMesh>( pSubmesh );
         bool editSubmesh = ( !sm->_is_nil() &&
                              SUIT_MessageBox::question2( myDlg, tr( "SMESH_WARNING" ),
@@ -586,7 +613,7 @@ bool SMESHGUI_MeshOp::isValid( QString& theMess ) const
       }
     }
   }
-    
+
   return true;
 }
 
@@ -756,7 +783,7 @@ SMESHGUI_MeshOp::getInitParamsHypothesis( const QString& aHypType,
   const int nbColonsInMeshEntry = 3;
   bool isSubMesh = myToCreate ?
     !myIsMesh :
-    myDlg->selectedObject( SMESHGUI_MeshDlg::Obj ).contains(':') > nbColonsInMeshEntry; 
+    myDlg->selectedObject( SMESHGUI_MeshDlg::Obj ).contains(':') > nbColonsInMeshEntry;
 
   if ( isSubMesh )
   {
@@ -797,7 +824,7 @@ SMESHGUI_MeshOp::getInitParamsHypothesis( const QString& aHypType,
 
 //================================================================================
 /*!
- * \Brief Returns tab dimention  
+ * \Brief Returns tab dimention
   * \param tab - the tab in the dlg
   * \param dlg - my dialogue
   * \retval int - dimention
@@ -852,6 +879,10 @@ void SMESHGUI_MeshOp::createHypothesis (const int theDim,
                                         const int theType,
                                         const QString& theTypeName)
 {
+  // During a hypothesis creation we might need to select some objects.
+  // Main dialog must not update it's own selected objects in this case.
+  dlg()->deactivateAll();
+
   HypothesisData* aData = SMESH::GetHypothesisData(theTypeName.latin1());
   if (!aData)
     return;
@@ -873,7 +904,9 @@ void SMESHGUI_MeshOp::createHypothesis (const int theDim,
       // with values used to mesh a subshape
       SMESH::SMESH_Hypothesis_var initParamHyp =
         getInitParamsHypothesis(theTypeName, aData->ServerLibName);
+      myDlg->setEnabled( false );
       aCreator->create(initParamHyp, myDlg);
+      myDlg->setEnabled( true );
     } else {
       SMESH::CreateHypothesis(theTypeName, aData->Label, false);
     }
@@ -916,13 +949,16 @@ void SMESHGUI_MeshOp::onEditHyp( const int theHypType, const int theIndex )
 
   char* aTypeName = aHyp->GetName();
   SMESHGUI_GenericHypothesisCreator* aCreator = SMESH::GetHypothesisCreator( aTypeName );
-  if ( aCreator )
+  if ( aCreator ) {
+    myDlg->setEnabled( false );
     aCreator->edit( aHyp.in(), dlg() );
+    myDlg->setEnabled( true );
+  }
 }
 
 //================================================================================
 /*!
- * \brief access to hypothesis data 
+ * \brief access to hypothesis data
   * \param theDim - hyp dimension
   * \param theHypType - hyp type (Algo,MainHyp or AddHyp)
   * \param theIndex - index in the list
@@ -1105,7 +1141,7 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
 
 //================================================================================
 /*!
- * \brief Creates and selects hypothesis of hypotheses set 
+ * \brief Creates and selects hypothesis of hypotheses set
  * \param theSetName - The name of hypotheses set
  */
 //================================================================================
@@ -1201,7 +1237,7 @@ bool SMESHGUI_MeshOp::createMesh( QString& theMess )
 
     for ( int aDim = SMESH::DIM_1D; aDim <= SMESH::DIM_3D; aDim++ ) {
       if ( !isAccessibleDim( aDim )) continue;
-        
+
       // assign hypotheses
       for ( int aHypType = MainHyp; aHypType <= AddHyp; aHypType++ ) {
         int aHypIndex = currentHyp( aDim, aHypType );
@@ -1243,17 +1279,80 @@ bool SMESHGUI_MeshOp::createSubMesh( QString& theMess )
   _PTR(SObject) pMesh = studyDS()->FindObjectID( aMeshEntry.latin1() );
   SMESH::SMESH_Mesh_var aMeshVar =
     SMESH::SMESH_Mesh::_narrow( _CAST( SObject,pMesh )->GetObject() );
+  if (aMeshVar->_is_nil())
+    return false;
+
+  // GEOM shape of the main mesh
+  GEOM::GEOM_Object_var mainGeom = aMeshVar->GetShapeToMesh();
+
+  // Name for the new sub-mesh
+  QString aName = myDlg->objectText(SMESHGUI_MeshDlg::Obj);
 
   // get geom object
-  QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
-  _PTR(SObject) pGeom = studyDS()->FindObjectID( aGeomEntry.latin1() );
-  GEOM::GEOM_Object_var aGeomVar =
-    GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
+  GEOM::GEOM_Object_var aGeomVar;
+  QStringList aGEOMs;
+  myDlg->selectedObject(SMESHGUI_MeshDlg::Geom, aGEOMs);
+  if (aGEOMs.count() == 1)
+  {
+    //QString aGeomEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom );
+    QString aGeomEntry = aGEOMs.first();
+    _PTR(SObject) pGeom = studyDS()->FindObjectID( aGeomEntry.latin1() );
+    aGeomVar = GEOM::GEOM_Object::_narrow( _CAST( SObject,pGeom )->GetObject() );
+  }
+  else if (aGEOMs.count() > 1)
+  {
+    // create a GEOM group
+    GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
+    _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+    if (!geomGen->_is_nil() && aStudy) {
+      GEOM::GEOM_IGroupOperations_var op =
+        geomGen->GetIGroupOperations(aStudy->StudyId());
+      if (!op->_is_nil()) {
+        // check and add all selected GEOM objects: they must be
+        // a sub-shapes of the main GEOM and must be of one type
+        int iSubSh = 0;
+        TopAbs_ShapeEnum aGroupType = TopAbs_SHAPE;
+        GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
+        aSeq->length(aGEOMs.count());
+        QStringList::const_iterator aSubShapesIter = aGEOMs.begin();
+        for (; aSubShapesIter != aGEOMs.end(); aSubShapesIter++, iSubSh++) {
+          QString aSubGeomEntry = (*aSubShapesIter);
+          _PTR(SObject) pSubGeom = studyDS()->FindObjectID(aSubGeomEntry.latin1());
+          GEOM::GEOM_Object_var aSubGeomVar =
+            GEOM::GEOM_Object::_narrow(_CAST(SObject,pSubGeom)->GetObject());
+          TopAbs_ShapeEnum aSubShapeType = (TopAbs_ShapeEnum)aSubGeomVar->GetShapeType();
+          if (iSubSh == 0) {
+            aGroupType = aSubShapeType;
+          } else {
+            if (aSubShapeType != aGroupType)
+              aGroupType = TopAbs_SHAPE;
+          }
+          aSeq[iSubSh] = aSubGeomVar;
+        }
+        // create a group
+        GEOM::GEOM_Object_var aGroupVar = op->CreateGroup(mainGeom, aGroupType);
+        op->UnionList(aGroupVar, aSeq);
+
+        if (op->IsDone()) {
+          aGeomVar = aGroupVar;
+
+          // publish the GEOM group in study
+          QString aNewGeomGroupName ("Auto_group_for_");
+          aNewGeomGroupName += aName;
+          SALOMEDS::SObject_var aNewGroupSO =
+            geomGen->AddInStudy(aSMESHGen->GetCurrentStudy(), aGeomVar, aNewGeomGroupName, mainGeom);
+        }
+      }
+    }
+  }
+  else {
+  }
+  if (aGeomVar->_is_nil())
+    return false;
 
   SUIT_OverrideCursor aWaitCursor;
 
   // create sub-mesh
-  QString aName = myDlg->objectText( SMESHGUI_MeshDlg::Obj );
   SMESH::SMESH_subMesh_var aSubMeshVar = aMeshVar->GetSubMesh( aGeomVar, aName.latin1() );
 
   for ( int aDim = SMESH::DIM_1D; aDim <= SMESH::DIM_3D; aDim++ )
@@ -1662,42 +1761,44 @@ bool SMESHGUI_MeshOp::editMeshOrSubMesh( QString& theMess )
     {
       int aNewHypIndex = currentHyp( dim, hypType );
       int anOldHypIndex = -1;
+
+      // remove old hypotheses
       if ( myObjHyps[ dim ][ hypType ].count() > 0 )
+      {
         anOldHypIndex = find( myObjHyps[ dim ][ hypType ].first(),
                               myExistingHyps[ dim ][ hypType ] );
-      if ( aNewHypIndex != anOldHypIndex )
-      {
-        // remove old hypotheses
-        if ( anOldHypIndex >= 0 ) {
-          SMESH::RemoveHypothesisOrAlgorithmOnMesh(
-            pObj, myExistingHyps[ dim ][ hypType ][ anOldHypIndex ] );
+        if ( aNewHypIndex != anOldHypIndex || // different hyps
+             anOldHypIndex == -1 )            // hyps of different algos
+        {
+          SMESH::RemoveHypothesisOrAlgorithmOnMesh
+            ( pObj, myObjHyps[ dim ][ hypType ].first() );
           myObjHyps[ dim ][ hypType ].clear();
         }
+      }
 
-        // assign new hypotheses
-        if ( aNewHypIndex != -1 )
+      // assign new hypotheses
+      if ( aNewHypIndex != anOldHypIndex && aNewHypIndex != -1 )
+      {
+        SMESH::SMESH_Mesh_var aMeshVar =
+          SMESH::SMESH_Mesh::_narrow( _CAST(SObject,pObj)->GetObject() );
+        bool isMesh = !aMeshVar->_is_nil();
+        if ( isMesh )
         {
-          SMESH::SMESH_Mesh_var aMeshVar =
-              SMESH::SMESH_Mesh::_narrow( _CAST(SObject,pObj)->GetObject() );
-          bool isMesh = !aMeshVar->_is_nil();
-          if ( isMesh )
-          {
-            SMESH::AddHypothesisOnMesh(
-              aMeshVar, myExistingHyps[ dim ][ hypType ][ aNewHypIndex ] );
-          }
-          else
-          {
-            SMESH::SMESH_subMesh_var aVar =
-              SMESH::SMESH_subMesh::_narrow( _CAST(SObject,pObj)->GetObject() );
-            if ( !aVar->_is_nil() )
-              SMESH::AddHypothesisOnSubMesh(
-                aVar, myExistingHyps[ dim ][ hypType ][ aNewHypIndex ] );
-          }
+          SMESH::AddHypothesisOnMesh
+            (aMeshVar, myExistingHyps[ dim ][ hypType ][ aNewHypIndex ] );
+        }
+        else
+        {
+          SMESH::SMESH_subMesh_var aVar =
+            SMESH::SMESH_subMesh::_narrow( _CAST(SObject,pObj)->GetObject() );
+          if ( !aVar->_is_nil() )
+            SMESH::AddHypothesisOnSubMesh
+              ( aVar, myExistingHyps[ dim ][ hypType ][ aNewHypIndex ] );
         }
-        // reread all hypotheses of mesh if necessary
-        QStringList anExisting;
-        existingHyps( dim, hypType, pObj, anExisting, myObjHyps[ dim ][ hypType ] );
       }
+      // reread all hypotheses of mesh if necessary
+      QStringList anExisting;
+      existingHyps( dim, hypType, pObj, anExisting, myObjHyps[ dim ][ hypType ] );
     }
   }
 
@@ -1763,6 +1864,7 @@ void SMESHGUI_MeshOp::onGeomSelectionByMesh( bool theByMesh )
 void SMESHGUI_MeshOp::onPublishShapeByMeshDlg(SUIT_Operation* op)
 {
   if ( myShapeByMeshOp == op ) {
+    SMESHGUI::GetSMESHGUI()->getApp()->updateObjectBrowser(); //MZN: 24.11.2006  IPAL13980 - Object Browser update added
     myDlg->show();
     // Select a found geometry object
     GEOM::GEOM_Object_var aGeomVar = myShapeByMeshOp->GetShape();
index cc7bae75ca889aca91d0d0d1aacb4efd691b93e6..3155a52cc61974adb80d3d9ddf4f5120a4a6f2c7 100644 (file)
@@ -32,6 +32,8 @@
 #ifndef SMESHGUI_MeshOp_H
 #define SMESHGUI_MeshOp_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_SelectionOp.h"
 #include <qstringlist.h>
 
@@ -48,7 +50,7 @@ class HypothesisData;
  *
  *  This operation is used for mech creation or editing. 
 */
-class SMESHGUI_MeshOp : public SMESHGUI_SelectionOp
+class SMESHGUI_EXPORT SMESHGUI_MeshOp : public SMESHGUI_SelectionOp
 { 
   Q_OBJECT
       
index 9184f68b509f4b231cec2ca5ca8de29da323b372..8d72e0ede6d90ce4d8a0b9c2402b36237de7e5b0 100755 (executable)
@@ -498,9 +498,15 @@ void SMESHGUI_MeshPatternDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 080be328c1913543e72a7013064abe219e076deb..d0eab7c595a18c31480e662fb44633964918ff26 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_MeshPatternDlg_H
 #define SMESHGUI_MeshPatternDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 // IDL Headers
@@ -60,7 +62,7 @@ class SMESHGUI;
   Description : Dialog to specify filters for VTK viewer
 */
 
-class SMESHGUI_MeshPatternDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MeshPatternDlg : public QDialog
 {
   Q_OBJECT
 
index 15a2b54722af0610e4f88785df4011c584d8cde6..81cdb67c1c67b0f8b3c180201c7675d14f16c00e 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_MeshUtils_HeaderFile
 #define SMESHGUI_MeshUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOME_InteractiveObject.hxx"
 
 #include "SALOMEconfig.h"
@@ -28,6 +30,7 @@
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH_Mesh_var GetMeshByIO(const Handle(SALOME_InteractiveObject)& theIO);
 
 }
index 4fc7e997b4e24a4010412b0f4eea9b7e4cf45fd7..46c575dd2b0962290f06507cdcf9115797d7c633 100644 (file)
@@ -349,9 +349,15 @@ void SMESHGUI_MoveNodesDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 67430a579ed480ca03365d9e6b3de0292b7933a6..ffb43e939f108ac22824b5d91d654f6297849007 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_MOVE_NODES_H
 #define DIALOGBOX_MOVE_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include <qdialog.h>
@@ -49,7 +51,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_MoveNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_MoveNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MoveNodesDlg : public QDialog
 { 
   Q_OBJECT
 
index cb631f0be18ba76edff732c1a7032a140460cab8..8ef34e62a727ce620eb283fb45a161f3a726b381 100755 (executable)
@@ -490,9 +490,15 @@ void SMESHGUI_MultiEditDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 8bcf3928adca0a413c8f703466f45352b3c838ad..4842e4c7b5215edc5dd688e3b0c859eaa9a5022d 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_MultiEditDlg_H
 #define SMESHGUI_MultiEditDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include "SUIT_SelectionFilter.h"
@@ -64,7 +66,7 @@ class QButtonGroup;
  *               union of two neighboring triangles
  */
 
-class SMESHGUI_MultiEditDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MultiEditDlg : public QDialog
 {
   Q_OBJECT
 
index 8a1a13e2352c4019e4d93ed298246f0cfaf69431..c76153065a1c4dcc7a00620dc9b52d49159d99a5 100644 (file)
@@ -153,7 +153,7 @@ namespace SMESH {
       aCellLocationsArray->SetNumberOfTuples(1);
 
       aCells->InitTraversal();
-      vtkIdType npts;
+      vtkIdType npts = 0;
       aCellLocationsArray->SetValue(0, aCells->GetTraversalLocation(npts));
 
       aGrid->SetCells(aCellTypesArray, aCellLocationsArray, aCells);
@@ -493,9 +493,15 @@ void SMESHGUI_NodesDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 5375da62e766c8d4fdea197c24f4507e8ea1e79b..13e62a793bca320cdf74c8a79e12c5a09b0ad0dc 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_NODES_H
 #define DIALOGBOX_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qvariant.h>
 #include <qdialog.h>
 
@@ -61,7 +63,7 @@ namespace SMESH{
 // class    : SMESHGUI_NodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_NodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_NodesDlg : public QDialog
 { 
     Q_OBJECT
 
index 8b62c6323ab0bda2eba9c175a2185a1eb13744d0..95c3c5ce12d1d604710fcd46fe1c800e89ba951e 100755 (executable)
@@ -187,9 +187,15 @@ void SMESHGUI_Operation::onHelp()
   if (app) 
     app->onHelpContextModule(getSMESHGUI() ? app->moduleName(getSMESHGUI()->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 398f1f8d0e200773177ddd9b6d3d10ede2fc53c6..4b3aeaf964206fef3db6e369c233dd1f90ce9fc7 100755 (executable)
@@ -26,6 +26,8 @@
 #ifndef SMESHGUI_Operation_H
 #define SMESHGUI_Operation_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Operation.h>
 #include <SALOMEDSClient.hxx>
 
@@ -36,7 +38,7 @@ class SMESHGUI;
   Description : Base class for all SMESH operations
 */
 
-class SMESHGUI_Operation : public LightApp_Operation
+class SMESHGUI_EXPORT SMESHGUI_Operation : public LightApp_Operation
 {
   Q_OBJECT
 
index 1dae6288ac8c686fa75a0d7daa0fe985d727b833..b466a4b4704fff38cded9ffa9e623bb6cc8c4fd4 100644 (file)
 #ifndef SMESHGUI_PatternUtils_HeaderFile
 #define SMESHGUI_PatternUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Pattern)
 
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH::SMESH_Pattern_var GetPattern();
 
 }
index 784a16260747cc97a2d7be1eb64aa798971211c4..69e66917bbd54bf958802310ba1734cd2da2bef1 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef WIDGET_PATTERN_H
 #define WIDGET_PATTERN_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qframe.h>
 #include <qvaluevector.h>
 
@@ -45,7 +47,7 @@ class QPoint;
 // class    : SMESHGUI_PatternWidget
 // purpose  :
 //=================================================================================
-class SMESHGUI_PatternWidget : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_PatternWidget : public QFrame
 { 
     Q_OBJECT
 
diff --git a/src/SMESHGUI/SMESHGUI_PrecisionDlg.h b/src/SMESHGUI/SMESHGUI_PrecisionDlg.h
new file mode 100755 (executable)
index 0000000..e033ec4
--- /dev/null
@@ -0,0 +1,99 @@
+//  SMESH SMESHGUI : GUI for SMESH component
+//
+//  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   : SMESHGUI_PrecisionDlg.h
+//  Author : Sergey LITONIN      
+//  Module : SMESH
+
+
+#ifndef SMESHGUI_PrecisionDlg_H
+#define SMESHGUI_PrecisionDlg_H
+
+#include "SMESH_SMESHGUI.hxx"
+
+#include <qdialog.h>
+
+class QSpinBox;
+class QPushButton;
+class QCheckBox;
+class QFrame;
+class SMESHGUI;
+
+/*
+  Class       : SMESHGUI_PrecisionDlg
+  Description : Dialog to specify precision of mesh quality controls
+*/
+
+class SMESHGUI_EXPORT SMESHGUI_PrecisionDlg : public QDialog
+{
+  Q_OBJECT
+
+public:
+                            SMESHGUI_PrecisionDlg( SMESHGUI* );
+
+  virtual                   ~SMESHGUI_PrecisionDlg();
+
+  void                      Init();
+
+private slots:
+
+  void                      onOk();
+  void                      onClose();
+  void                      onNotUse();
+
+private:
+
+  QFrame*                   createButtonFrame( QWidget* );
+  QFrame*                   createMainFrame( QWidget* );
+  void                      closeEvent( QCloseEvent* );
+private:
+  SMESHGUI*                 mySMESHGUI;
+  QSpinBox*                 mySpinBox;
+  QPushButton*              myOKBtn;
+  QPushButton*              myCancelBtn;
+  QCheckBox*                myNotUseChk;
+
+};
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
index 83d2dbaa61cca407bfc9b69d46908c8cf988bc01..850dde89a474cc9849abad6a3eab71e54036be07 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_COLORDLG_H
 #define SMESHGUI_PREFERENCES_COLORDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // SALOME Includes
 //#include "SUIT_Config.h"
 //#include "SUIT_Settings.h"
@@ -48,7 +50,7 @@ class QSpinBox;
 class QColor;
 class SMESHGUI;
 
-class SMESHGUI_Preferences_ColorDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_ColorDlg : public QDialog
 { 
     Q_OBJECT
 
index 1e4c8cbe263749151ace7309a395c48decf37ef6..78950f7cd58b0eb06e812601524efcc4e8b2e8ef 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_SCALARBARDLG_H
 #define SMESHGUI_PREFERENCES_SCALARBARDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 class QButtonGroup;
@@ -49,7 +51,7 @@ class LightApp_SelectionMgr;
 
 class SMESH_Actor;
 
-class SMESHGUI_Preferences_ScalarBarDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_ScalarBarDlg : public QDialog
 { 
   Q_OBJECT
 
index b3326bfa489c971a1334109d48e50fa569f9a005..96715d78278805e6ba3f6545e47c01c124bd6049 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_SELECTIONDLG_H
 #define SMESHGUI_PREFERENCES_SELECTIONDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 
 // QT Includes
 #include <qdialog.h>
@@ -40,7 +42,7 @@ class QSpinBox;
 class QColor;
 class SMESHGUI;
 
-class SMESHGUI_LineEdit : public QLineEdit
+class SMESHGUI_EXPORT SMESHGUI_LineEdit : public QLineEdit
 {
   Q_OBJECT
 
@@ -54,7 +56,7 @@ class SMESHGUI_LineEdit : public QLineEdit
     void focusOutEvent(QFocusEvent* e);
 };
 
-class SMESHGUI_DoubleValidator : public QDoubleValidator
+class SMESHGUI_EXPORT SMESHGUI_DoubleValidator : public QDoubleValidator
 {
   Q_OBJECT
 
@@ -68,7 +70,7 @@ class SMESHGUI_DoubleValidator : public QDoubleValidator
     void fixup(QString& text) const;
 };
 
-class SMESHGUI_Preferences_SelectionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_SelectionDlg : public QDialog
 { 
     Q_OBJECT
 
index 0df620a02f22ac02ec62b4c1b9db83a2c5df899c..a54ac738dac876fd5caf566c587929ac1c766ea2 100644 (file)
@@ -316,9 +316,15 @@ void SMESHGUI_RemoveElementsDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index e6a48a7beaed47ccd06c348cc109388f19763cbf..d4f2a90ed0d901e6c3ec244a7184abe02e7e3459 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REMOVE_ELEMENTS_H
 #define DIALOGBOX_REMOVE_ELEMENTS_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -58,7 +60,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_RemoveElementsDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RemoveElementsDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RemoveElementsDlg : public QDialog
 { 
     Q_OBJECT
 
index 8625125ddfc5c7ee05c84cd323aba4eba75bb586..c34fed723d1e8a3965c77855a47ea7f9532b138c 100644 (file)
@@ -315,9 +315,15 @@ void SMESHGUI_RemoveNodesDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 7f8c243e0e2fe7d6f5cfe3cbaecf78f3e092bfe4..add873a3a6fb1cdc03bea83fb4ec7a4598bfb706 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REMOVE_NODES_H
 #define DIALOGBOX_REMOVE_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -61,7 +63,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_RemoveNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RemoveNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RemoveNodesDlg : public QDialog
 {
     Q_OBJECT
 
index 9992b49fc63dced7c01574fabc20bf6babf8db56..cc8c5013cb8ce7f339feda54c15247b8eab5fb01 100644 (file)
@@ -320,9 +320,15 @@ void SMESHGUI_RenumberingDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index af4f836c26cd4879ba0206ce633990da32fac5e7..80338c6bc44a67ef2d082bd2d86fec2efa642020 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_RENUMBERING_H
 #define DIALOGBOX_RENUMBERING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -55,7 +57,7 @@ class SMESHGUI;
 // class    : SMESHGUI_RenumberingDlg
 // purpose  : If the unit == 0 nodes will be renumbered, if the unit == 1 the elements will.
 //=================================================================================
-class SMESHGUI_RenumberingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RenumberingDlg : public QDialog
 { 
     Q_OBJECT
 
index c5c546ade029f925ac81c50e899c4e747c004bd8..53af86b9c955402dcee705fd1741e02aefb7a370 100644 (file)
@@ -520,9 +520,15 @@ void SMESHGUI_RevolutionDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 49b391e3cb47f6b3780efc228209ca36aa887bd6..9db7f48590b79c50041e988369a3c6e008f17ace 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REVOLUTION_H
 #define DIALOGBOX_REVOLUTION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -62,7 +64,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_RevolutionDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RevolutionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RevolutionDlg : public QDialog
 { 
     Q_OBJECT
 
index 7daf9f5835861342563c0386d3c34832b6169a7f..50fc56bcebdd5364063de41e86e9ad3149cb6454 100644 (file)
@@ -472,9 +472,15 @@ void SMESHGUI_RotationDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 921202eadac293ee1bd0e2503653aa6e9a25b225..86075d763d352415bca06a1f230a8428d565fd64 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_ROTATION_H
 #define DIALOGBOX_ROTATION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -61,7 +63,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_RotationDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RotationDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RotationDlg : public QDialog
 { 
     Q_OBJECT
 
index 08d37c9790484368a0a0b309705d6df5e8613f9a..6dd5bc27179a984ee3db38cc63c928d63e9af3a2 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_SELECTION_HeaderFile
 #define SMESHGUI_SELECTION_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_Selection.h"
 #include "SALOMEDSClient_definitions.hxx"
 
@@ -37,7 +39,7 @@ class SALOMEDSClient_Study;
 class LightApp_DataOwner;
 class SMESH_Actor;
 
-class SMESHGUI_Selection : public LightApp_Selection
+class SMESHGUI_EXPORT SMESHGUI_Selection : public LightApp_Selection
 {
 public:
   SMESHGUI_Selection();
index c10ba7bb6d071af822363ae0267a34603896d7da..2165d14f77ac44142372f47fe591f91d87d602a7 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_SelectionOp_H
 #define SMESHGUI_SelectionOp_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SMESHGUI_Operation.h>
 #include <SMESHGUI_Dialog.h>
 #include <SVTK_Selection.h>
@@ -47,7 +49,7 @@ class SMESH_Actor;
   Description : Base operation for all operations using object selection in viewer or objectbrowser
                 through common widgets created by LightApp_Dialog::createObject
 */
-class SMESHGUI_SelectionOp : public SMESHGUI_Operation
+class SMESHGUI_EXPORT SMESHGUI_SelectionOp : public SMESHGUI_Operation
 { 
   Q_OBJECT
 
index 957a5c44997b58ddd6e311f77c0706223e3823a8..db218de9a1c8ba528986fb756f2f25293ca58901 100644 (file)
@@ -621,9 +621,15 @@ void SMESHGUI_SewingDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index f3ad4f8084525fb9c2fa21a71f379a6bb7eb57a2..4e96dd40d1dce495ed58ca24c3ee256550a9dbad 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SEWING_H
 #define DIALOGBOX_SEWING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -56,7 +58,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SewingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SewingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SewingDlg : public QDialog
 { 
     Q_OBJECT
 
index ba07781952344b6699b2d74f19b1cb30a9de3d95..bc0f7877965b48d3bb341789130d8dd9ac789729 100644 (file)
@@ -70,6 +70,7 @@
 #define SPACING 5
 #define MARGIN  10
 
+
 enum { EDGE = 0, FACE, VOLUME };
 
 /*!
@@ -114,7 +115,10 @@ QFrame* SMESHGUI_ShapeByMeshDlg::createMainFrame (QWidget* theParent)
   QLabel* anIdLabel = new QLabel( aMainGrp, "element id label");
   anIdLabel->setText( tr("ELEMENT_ID") );
   myElementId = new QLineEdit( aMainGrp, "element id");
-  myElementId->setValidator( new SMESHGUI_IdValidator( theParent, "id validator", 1 ));
+  if (!myIsMultipleAllowed)
+    myElementId->setValidator( new SMESHGUI_IdValidator( theParent, "id validator", 1 ));
+  else
+    myElementId->setValidator( new SMESHGUI_IdValidator( theParent, "id validator" ));
 
   // shape name
   QLabel* aNameLabel = new QLabel( aMainGrp, "geom name label");
@@ -148,12 +152,14 @@ SMESHGUI_ShapeByMeshDlg::~SMESHGUI_ShapeByMeshDlg()
  * Initialize operation
 */
 //================================================================================
-SMESHGUI_ShapeByMeshOp::SMESHGUI_ShapeByMeshOp()
+SMESHGUI_ShapeByMeshOp::SMESHGUI_ShapeByMeshOp(bool isMultipleAllowed):
+  myIsMultipleAllowed(isMultipleAllowed)
 {
   if ( GeometryGUI::GetGeomGen()->_is_nil() )// check that GEOM_Gen exists
     GeometryGUI::InitGeomGen();
 
   myDlg = new SMESHGUI_ShapeByMeshDlg;
+  myDlg->setMultipleAllowed(myIsMultipleAllowed);
 
   connect(myDlg->myElemTypeGroup, SIGNAL(clicked(int)), SLOT(onTypeChanged(int)));
   connect(myDlg->myElementId, SIGNAL(textChanged(const QString&)), SLOT(onElemIdChanged(const QString&)));
@@ -282,9 +288,85 @@ void SMESHGUI_ShapeByMeshOp::commitOperation()
 {
   SMESHGUI_SelectionOp::commitOperation();
   try {
-    int elemID = myDlg->myElementId->text().toInt();
-    myGeomObj = SMESHGUI::GetSMESHGen()->GetGeometryByMeshElement
-      ( myMesh.in(), elemID, myDlg->myGeomName->text().latin1());
+    QStringList aListId = QStringList::split( " ", myDlg->myElementId->text(), false);
+    if (aListId.count() == 1)
+      {
+       int elemID = (aListId.first()).toInt();
+       myGeomObj = SMESHGUI::GetSMESHGen()->GetGeometryByMeshElement
+         ( myMesh.in(), elemID, myDlg->myGeomName->text().latin1());
+      }
+    else
+      {
+       GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen();
+       _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+       
+       if (geomGen->_is_nil() || !aStudy)
+         return;
+       
+       GEOM::GEOM_IShapesOperations_var aShapesOp =
+         geomGen->GetIShapesOperations(aStudy->StudyId());
+       if (aShapesOp->_is_nil() )
+         return;
+       
+       TopAbs_ShapeEnum aGroupType = TopAbs_SHAPE;
+       
+       std::map<double, GEOM::GEOM_Object_var> aGeomObjectsMap;
+       GEOM::GEOM_Object_var aGeomObject;
+
+       GEOM::GEOM_Object_var aMeshShape = myMesh->GetShapeToMesh();
+       
+       for ( int i = 0; i < aListId.count(); i++ )
+         {
+           aGeomObject =
+             SMESHGUI::GetSMESHGen()->FindGeometryByMeshElement(myMesh.in(), aListId[i].toInt());
+
+           if (aGeomObject->_is_nil()) continue;
+           
+           double anId = aShapesOp->GetSubShapeIndex(aMeshShape, aGeomObject);
+           if (aShapesOp->IsDone() && aGeomObjectsMap.find(anId) == aGeomObjectsMap.end())
+             {
+               aGeomObjectsMap[anId] = aGeomObject;
+
+               TopAbs_ShapeEnum aSubShapeType = (TopAbs_ShapeEnum)aGeomObject->GetShapeType();
+               if (i == 0)
+                 aGroupType = aSubShapeType;
+               else if (aSubShapeType != aGroupType)
+                 aGroupType = TopAbs_SHAPE;
+             }
+         }
+       
+       int aNumberOfGO = aGeomObjectsMap.size();
+       if (aNumberOfGO == 1)
+         myGeomObj = (*aGeomObjectsMap.begin()).second;
+       else if (aNumberOfGO > 1)
+         {
+           GEOM::GEOM_IGroupOperations_var aGroupOp =
+             geomGen->GetIGroupOperations(aStudy->StudyId());
+           if(aGroupOp->_is_nil())
+             return;
+           
+           GEOM::ListOfGO_var aGeomObjects = new GEOM::ListOfGO();
+           aGeomObjects->length( aNumberOfGO );
+
+           int i = 0;
+           std::map<double, GEOM::GEOM_Object_var>::iterator anIter;
+           for (anIter = aGeomObjectsMap.begin(); anIter!=aGeomObjectsMap.end(); anIter++)
+             aGeomObjects[i++] = (*anIter).second;
+         
+           //create geometry group
+           myGeomObj = aGroupOp->CreateGroup(aMeshShape, aGroupType);
+           aGroupOp->UnionList(myGeomObj, aGeomObjects);
+
+           if (!aGroupOp->IsDone())
+             return;
+         }
+       
+       // publish the GEOM object in study
+       QString aNewGeomGroupName ( myDlg->myGeomName->text().latin1() );
+         
+       SALOMEDS::SObject_var aNewGroupSO =
+         geomGen->AddInStudy(SMESHGUI::GetSMESHGen()->GetCurrentStudy(), myGeomObj, aNewGeomGroupName, aMeshShape);
+      }
   }
   catch (const SALOME::SALOME_Exception& S_ex) {
     SalomeApp_Tools::QtCatchCorbaException(S_ex);
@@ -306,7 +388,7 @@ void SMESHGUI_ShapeByMeshOp::onSelectionDone()
   try {
     SALOME_ListIO aList;
     selectionMgr()->selectedObjects(aList, SVTK_Viewer::Type());
-    if (aList.Extent() != 1)
+    if (!myIsMultipleAllowed && aList.Extent() != 1)
       return;
 
     SMESH::SMESH_Mesh_var aMesh = SMESH::GetMeshByIO(aList.First());
@@ -316,7 +398,9 @@ void SMESHGUI_ShapeByMeshOp::onSelectionDone()
     QString aString;
     int nbElems = SMESH::GetNameOfSelectedElements(selector(),//myViewWindow->GetSelector(),
                                                    aList.First(), aString);
-    if ( nbElems == 1 ) {
+    if (nbElems > 0) {
+      if (!myIsMultipleAllowed && nbElems != 1 )
+       return;
       setElementID( aString );
       myDlg->setButtonEnabled( true, QtxDialog::OK );
     }
@@ -392,12 +476,16 @@ void SMESHGUI_ShapeByMeshOp::onElemIdChanged(const QString& theNewText)
               newIndices.Add( e->GetID() );
         }
 
-        if ( !newIndices.IsEmpty() && newIndices.Extent() == 1 )
-          if ( SVTK_Selector* s = selector() ) {
-            s->AddOrRemoveIndex( actor->getIO(), newIndices, false );
-            viewWindow()->highlight( actor->getIO(), true, true );
-            myDlg->setButtonEnabled( true, QtxDialog::OK );
-          }
+       if ( !newIndices.IsEmpty() )
+         {
+           if (!myIsMultipleAllowed && newIndices.Extent() != 1)
+             return;
+           if ( SVTK_Selector* s = selector() ) {
+             s->AddOrRemoveIndex( actor->getIO(), newIndices, false );
+             viewWindow()->highlight( actor->getIO(), true, true );
+             myDlg->setButtonEnabled( true, QtxDialog::OK );
+           }
+         }
       }
 }
 
index cb093ff02f6bb797225ff516c30382e66b467835..69d8dafc080ef8bd1725a96c9e032ccefe2955f8 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_ShapeByMeshDlg_H
 #define SMESHGUI_ShapeByMeshDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Dialog.h"
 #include "SMESHGUI_SelectionOp.h"
 
@@ -49,7 +51,7 @@ class SMESHGUI;
  *        by selecting mesh elements
  */
 
-class SMESHGUI_ShapeByMeshDlg : public SMESHGUI_Dialog
+class SMESHGUI_EXPORT SMESHGUI_ShapeByMeshDlg : public SMESHGUI_Dialog
 {
   Q_OBJECT
 
@@ -74,6 +76,10 @@ private:
   QLineEdit*               myElementId;
   QLineEdit*               myGeomName;
 
+private:
+  bool                     myIsMultipleAllowed;
+  void                     setMultipleAllowed(bool isAllowed) {myIsMultipleAllowed = isAllowed;};
+
 //   QPushButton*             myOkBtn;
 //   QPushButton*             myCloseBtn;
 
@@ -89,7 +95,7 @@ class SMESHGUI_ShapeByMeshOp: public SMESHGUI_SelectionOp
   Q_OBJECT
 
 public:
-  SMESHGUI_ShapeByMeshOp();
+  SMESHGUI_ShapeByMeshOp(bool isMultipleAllowed = false);
   virtual ~SMESHGUI_ShapeByMeshOp();
 
   virtual LightApp_Dialog*       dlg() const;  
@@ -144,6 +150,7 @@ private:
 
   bool                     myIsManualIdEnter;
   bool                     myHasSolids;
+  bool                     myIsMultipleAllowed;
 };
 
 #endif
index 2e83ac35c94a0012c8402be3be93238d6795cbb0..ce21c9c17fed51c2db959478a5e29bf7b6fc206a 100755 (executable)
@@ -283,9 +283,15 @@ void SMESHGUI_SingleEditDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 853b138cef636ef82513a7ae50373d6ebdf263c2..6fa5058ad44daa1fbf9329c77ef740f39289b25f 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_SingleEditDlg_H
 #define SMESHGUI_SingleEditDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include <SALOMEconfig.h>
@@ -49,7 +51,7 @@ class LightApp_SelectionMgr;
  *  Description : Base class for dialogs of diagonal inversion and 
  *                union of two neighboring triangles
  */
-class SMESHGUI_SingleEditDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SingleEditDlg : public QDialog
 { 
   Q_OBJECT
 
index 7ad48a6b02c6ddb800f3485438edc7f219754934..6f5dc5fdc8695501f9f6054c9e1d56fe35048b7d 100644 (file)
@@ -447,9 +447,15 @@ void SMESHGUI_SmoothingDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 4bf341efe411a4bfc3d612f8513370d9e3b34369..c201dfffe434f397106e3e0120ca8bfdf150c3a9 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SMOOTHING_H
 #define DIALOGBOX_SMOOTHING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -62,7 +64,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SmoothingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SmoothingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SmoothingDlg : public QDialog
 { 
     Q_OBJECT
 
index 576db92217d1a9c94d1c47e78e093a70fe39d49c..cc5c996893f5038f8c248f43cd78a4be5efc8124 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef  SMESH_SPINBOX_H
 #define  SMESH_SPINBOX_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <QtxDblSpinBox.h>
 
 // like in GEOM_SRC/src/DlgRef/DlgRef_SpinBox.h
@@ -39,7 +41,7 @@
 // class    : SMESHGUI_SpinBox
 // purpose  : Derivated from QtxDblSpinBox class 
 //=================================================================================
-class SMESHGUI_SpinBox : public QtxDblSpinBox
+class SMESHGUI_EXPORT SMESHGUI_SpinBox : public QtxDblSpinBox
 {
   Q_OBJECT
 
index 89155d209d9959b7b1eeb4c45954e4f5280cec86..5fffc787e1e9bae67bc2608a6316d8b0825765aa 100644 (file)
@@ -461,9 +461,15 @@ void SMESHGUI_StandardMeshInfosDlg::onHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 204fe01332ed4936e581ff4c850e6069b31968b8..586593d4df49143f12ba2a62175e1e1c7d55f022 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_STANDARDMESHINFOSDLG_H
 #define SMESHGUI_STANDARDMESHINFOSDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
 
@@ -44,7 +46,7 @@ class LightApp_SelectionMgr;
 class SMESHGUI;
 
 
-class SMESHGUI_StandardMeshInfosDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_StandardMeshInfosDlg : public QDialog
 { 
     Q_OBJECT
 
index ed71b6d4302eacac695a6fd65e4f43e4a2f1066a..c1912cab2ad4e4c9c0a5c93c4f57cb85c63c1b40 100644 (file)
 #include "SMESHGUI.h"
 #include "SMESHGUI_Utils.h"
 #include "SMESHGUI_GEOMGenUtils.h"
+#include "SMESHGUI_Displayer.h"
 
 // SALOME Includes
 #include "SUIT_ResourceMgr.h"
 #include "SUIT_Session.h"
+#include "SUIT_ViewModel.h"
+#include "VTKViewer_ViewModel.h"
 
 #include "SALOME_Event.hxx"
 #include "SALOME_NamingService.hxx"
@@ -584,6 +587,27 @@ SMESH_Swig::AddSubMeshOnShape(const char* theMeshEntry,
 void SMESH_Swig::CreateAndDisplayActor( const char* Mesh_Entry )
 {
   //  SMESH_Actor* Mesh = smeshGUI->ReadScript(aM);
+  class TEvent: public SALOME_Event
+  {
+  private:
+    const char* _entry;
+  public:
+    TEvent(const char* Mesh_Entry) {
+      _entry = Mesh_Entry;
+    }
+    virtual void Execute() {
+      //SMESH::UpdateView(SMESH::eDisplay, _entry);
+      SUIT_Session* aSession = SUIT_Session::session();
+      SUIT_Application* anApplication = aSession->activeApplication();
+      SalomeApp_Application* anApp = dynamic_cast<SalomeApp_Application*>(anApplication);
+      SUIT_ViewManager* vman = anApp->getViewManager(VTKViewer_Viewer::Type(),true);
+      SMESHGUI_Displayer* aDisp = new SMESHGUI_Displayer(anApp);
+      aDisp->Display(_entry,1);
+    }
+  };
+  
+  ProcessVoidEvent(new TEvent(Mesh_Entry));
+  
 }
 
 void
index 433f3c862d770c674c703186938f2ad2b86f1d56..3b7e69e73859b3623809b41dbe0e73d382bdb8db 100644 (file)
 #ifndef _SMESHGUI_SWIG_HXX_
 #define _SMESHGUI_SWIG_HXX_
 
+#include "SMESH_SMESHGUI.hxx"
+
 // IDL Headers
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SALOMEDS)
 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
 
-class SMESH_Swig
+class SMESHGUI_EXPORT SMESH_Swig
 {
 public:
   SMESH_Swig();
index 8172991a8ee96bccf6eebb985b5f7b37ecbed1b8..1a7c393fa91fc7b6c2f2ca4621261ddefb878c87 100644 (file)
@@ -74,4 +74,6 @@ class SMESH_Swig
   void SetName(const char* Entry, const char* Name);
 
   void SetMeshIcon(const char* Mesh_Entry, const bool isComputed);
+
+  void CreateAndDisplayActor( const char* Mesh_Entry );
 };
index 07aa3d4bc0fddd5f2a7ac8c2bd5c20fcbadd50c4..920fb06a9e3abd4d0ed93535d67a9f651089694e 100644 (file)
@@ -536,9 +536,15 @@ void SMESHGUI_SymmetryDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 07a54ffd200335adc85503a3512296d71e76b336..a4c00e3b644aee4fecac1d7319bec6364d6bf086 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SYMMETRY_H
 #define DIALOGBOX_SYMMETRY_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -60,7 +62,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SymmetryDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SymmetryDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SymmetryDlg : public QDialog
 { 
     Q_OBJECT
 
index 499f43ff56d558263d0450130d3435d86a6350a1..efaaa78fbff5ce17f982c540f2ddcda6230c1646 100644 (file)
@@ -498,9 +498,15 @@ void SMESHGUI_TranslationDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index 66330d4b78f1a99f200db8d58e7ec01176dd216e..a70f780aeec18443a5f96b8bf2e2a17ea7ed7c77 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_TRANSLATION_H
 #define DIALOGBOX_TRANSLATION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -59,7 +61,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_TranslationDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_TranslationDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_TranslationDlg : public QDialog
 { 
     Q_OBJECT
 
index 6dc08f4d2b4b15133a14c49e752f45022f18531a..d5c684d390c305b92cacd89fff6f5fd32e02cf45 100644 (file)
@@ -189,9 +189,15 @@ void SMESHGUI_TransparencyDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
index e7e8b5f5a96eefd9a8ea6cecfd4154d1910e81b5..0968e062b8b6a6fd76312555f54bb60c8fcfb074 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_TRANSPARENCYDLG_H
 #define DIALOGBOX_TRANSPARENCYDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -44,7 +46,7 @@ class SMESHGUI;
 // class    : SMESHGUI_TransparencyDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_TransparencyDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_TransparencyDlg : public QDialog
 { 
     Q_OBJECT
 
index 12704ef194c56c88b654e31c2ebbc465664a1488..d4c973f146edb80eb6f058b1ed5b16fe908f775d 100644 (file)
@@ -20,7 +20,9 @@
 #ifndef SMESHGUI_Utils_HeaderFile
 #define SMESHGUI_Utils_HeaderFile
 
-#include <CORBA.h>
+#include "SMESH_SMESHGUI.hxx"
+
+#include <omniORB4/CORBA.h>
 
 #include "SALOMEDSClient_definitions.hxx"
 #include "SALOME_InteractiveObject.hxx"
@@ -44,21 +46,27 @@ class LightApp_SelectionMgr;
 
 namespace SMESH {
 
+SMESHGUI_EXPORT
   SUIT_Desktop*
   GetDesktop(const CAM_Module* theModule);
 
+SMESHGUI_EXPORT
   LightApp_SelectionMgr*
   GetSelectionMgr(const SalomeApp_Module* theModule);
 
+SMESHGUI_EXPORT
   SalomeApp_Study*
   GetAppStudy(const CAM_Module* theModule);
 
+SMESHGUI_EXPORT
   SUIT_ResourceMgr*
   GetResourceMgr( const SalomeApp_Module* );
   
+SMESHGUI_EXPORT
   _PTR(Study)
   GetCStudy(const SalomeApp_Study* theStudy);
 
+SMESHGUI_EXPORT
   CORBA::Object_var DataOwnerToObject(const LightApp_DataOwnerPtr& theOwner);
 
   template<class TInterface> typename TInterface::_var_type
@@ -71,22 +79,31 @@ namespace SMESH {
     }
 
 
+SMESHGUI_EXPORT
   SUIT_Study* GetActiveStudy();
 
+SMESHGUI_EXPORT
   SUIT_ViewWindow* GetActiveWindow();
 
+SMESHGUI_EXPORT
   _PTR(Study) GetActiveStudyDocument();
 
+SMESHGUI_EXPORT
   _PTR(SObject) FindSObject(CORBA::Object_ptr theObject);
 
+SMESHGUI_EXPORT
   void SetName  (_PTR(SObject) theSObject, const char* theName);
+
+SMESHGUI_EXPORT
   void SetValue (_PTR(SObject) theSObject, const char* theValue);
   void setFileType (_PTR(SObject) theSObject, const char* theValue);
   void setFileName (_PTR(SObject) theSObject, const char* theValue);
 
+SMESHGUI_EXPORT
   CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject,
                                     _PTR(Study) theStudy);
 
+SMESHGUI_EXPORT
   CORBA::Object_var SObjectToObject(_PTR(SObject) theSObject);
 
   template<class TInterface> typename TInterface::_var_type
@@ -98,6 +115,7 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   CORBA::Object_var IObjectToObject(const Handle(SALOME_InteractiveObject)& theIO);
 
   template<class TInterface> typename TInterface::_var_type
@@ -109,6 +127,7 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   CORBA::Object_var IORToObject(const char* theIOR);
 
   template<class TInterface> typename TInterface::_var_type
@@ -120,10 +139,13 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedIObjects (LightApp_SelectionMgr*, QString& theName);
 
+SMESHGUI_EXPORT
   _PTR(SObject) GetMeshOrSubmesh (_PTR(SObject) theSObject);
 
+SMESHGUI_EXPORT
   void ModifiedMesh (_PTR(SObject) theSObject, bool theIsRight);
 
 //  void UpdateObjBrowser (bool);
index 4e5c883c1865644085f1591b9ab5b52fddb7bd2a..16eecc6966c619b774b44d4767a6d63af6624940 100644 (file)
@@ -336,6 +336,7 @@ namespace SMESH{
            case eDisplay:
            case eDisplayOnly:
              anActor->SetVisibility(true);
+             if (theAction == eDisplayOnly) aRenderer->ResetCameraClippingRange();
              break;
            case eErase:
              anActor->SetVisibility(false);
index db98b56749ad698ef7473e774fa04b42fe1d114e..74b383c71683079e89c5b74d55ee51c0d2cd7228 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_VTKUtils_HeaderFile
 #define SMESHGUI_VTKUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 class QString;
 class vtkRenderer;
 class TColStd_IndexedMapOfInteger;
@@ -40,7 +42,7 @@ class SVTK_Selector;
 class LightApp_SelectionMgr;
 class SMESHGUI;
 
-#include <CORBA.h>
+#include <omniORB4/CORBA.h>
 
 #include "SALOMEconfig.h"
 #include CORBA_CLIENT_HEADER(SALOMEDS)
@@ -58,121 +60,162 @@ namespace SMESH{
   //----------------------------------------------------------------------------
   typedef pair<int,string> TKeyOfVisualObj;
   
+SMESHGUI_EXPORT
   TVisualObjPtr GetVisualObj(int theStudyId, 
                             const char* theEntry);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetViewWindow(const SalomeApp_Module* theModule);
 
+SMESHGUI_EXPORT
   SUIT_ViewWindow* GetActiveWindow();
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* FindVtkViewWindow( SUIT_ViewManager*,
                                      SUIT_ViewWindow* );
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetVtkViewWindow( SUIT_ViewWindow* );
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetCurrentVtkView();
 
+SMESHGUI_EXPORT
   void RepaintViewWindow(SVTK_ViewWindow*);
+SMESHGUI_EXPORT
   void RenderViewWindow(SVTK_ViewWindow*);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByEntry (SUIT_ViewWindow*, const char* theEntry);
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByEntry (const char* theEntry);
 
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByObject (CORBA::Object_ptr theObject);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT  
   SMESH_Actor* CreateActor (_PTR(Study), const char*, int = false);
+SMESHGUI_EXPORT
   void DisplayActor (SUIT_ViewWindow*, SMESH_Actor* theActor);
+SMESHGUI_EXPORT
   void RemoveActor  (SUIT_ViewWindow*, SMESH_Actor* theActor);
 
   //----------------------------------------------------------------------------
   enum EDisplaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll};
+SMESHGUI_EXPORT
   void UpdateView (SUIT_ViewWindow*, 
                   EDisplaing theAction, 
                   const char* theEntry = "");
+SMESHGUI_EXPORT
   void UpdateView (EDisplaing theAction, 
                   const char* theEntry = "");
 
+SMESHGUI_EXPORT
   void UpdateView();
 
+SMESHGUI_EXPORT
   void Update(const Handle(SALOME_InteractiveObject)& theIO,
              bool theDisplay);
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   void FitAll();
 
+SMESHGUI_EXPORT
   void RepaintCurrentView();
 
+SMESHGUI_EXPORT
   vtkRenderer* GetCurrentRenderer();
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   void SetPointRepresentation(bool theIsVisible);
 
+SMESHGUI_EXPORT
   void SetPickable(SMESH_Actor* theActor = NULL);
 
+SMESHGUI_EXPORT
   void UpdateSelectionProp( SMESHGUI* );
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SVTK_Selector* 
     GetSelector(SUIT_ViewWindow* = GetActiveWindow());
 
+SMESHGUI_EXPORT
   void SetFilter (const Handle(VTKViewer_Filter)& theFilter,
                  SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   Handle(VTKViewer_Filter) 
     GetFilter (int theId, SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   bool IsFilterPresent (int theId, 
                        SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   void RemoveFilter (int theId, 
                     SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   void RemoveFilters (SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   bool IsValid (SALOME_Actor* theActor, int theCellId,
                SVTK_Selector* theSelector = GetSelector());
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes(SVTK_Selector* theSelector, 
                             const Handle(SALOME_InteractiveObject)& theIO, 
                             QString& theName);
   
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements(SVTK_Selector* theSelector, 
                                const Handle(SALOME_InteractiveObject)& theIO, 
                                QString& theName);
   
+SMESHGUI_EXPORT
   int GetEdgeNodes(SVTK_Selector* theSelector, 
                   const TVisualObjPtr& theVisualObj,
                   int& theId1, 
                   int& theId2);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes (LightApp_SelectionMgr*, 
                              const Handle(SALOME_InteractiveObject)& theIO, 
                              QString& theName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes (LightApp_SelectionMgr*, 
                              QString& aName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements (LightApp_SelectionMgr*, 
                                 const Handle(SALOME_InteractiveObject)& theIO, 
                                 QString& theName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements (LightApp_SelectionMgr*, 
                                 QString& aName);
 
+SMESHGUI_EXPORT
   int GetSelected (LightApp_SelectionMgr*, 
                   TColStd_IndexedMapOfInteger& theMap, 
                   const bool theIsElement = true );
 
+SMESHGUI_EXPORT
   int GetEdgeNodes (LightApp_SelectionMgr*, int& theId1, int& theId2);
 
+SMESHGUI_EXPORT
   void SetControlsPrecision (const long theVal);
 };
 
index e1e4d0dc79da6d6490e7af1afbe719e3cf29bd8e..2c6065cee7b7d1bfebd53d9bdedf179a7d378f03 100644 (file)
@@ -90,6 +90,21 @@ bool SMESHGUI_XmlHandler::startElement (const QString&, const QString&,
       myPluginName = atts.value("name");
       myServerLib  = atts.value("server-lib");
       myClientLib  = atts.value("gui-lib");
+/* It's Need to tranlate lib name for WIN32 or X platform
+ * (only client lib, because server lib translates in SMESH_Gen_i::createHypothesis
+ *  for normal work of *.py files )
+ */
+      if( !myClientLib.isEmpty() )
+      {
+#ifdef WNT
+      //myServerLib += ".dll";
+        myClientLib += ".dll";
+#else
+      //myServerLib = "lib" + myServerLib + ".so";
+        myClientLib = "lib" + myClientLib + ".so";
+#endif
+      }
+
 
       QString aResName = atts.value("resources");
       if (aResName != "")
index 79ad43b38fb6d0e1fd5f5e9924f9cdbeb368e0e1..b71f59e58016eef88c19949b3c6885d46269070c 100644 (file)
 #ifndef SMESHGUI_XmlHandler_HeaderFile
 #define SMESHGUI_XmlHandler_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Hypotheses.h"
 
 #include <qxml.h>
 #include <map>
 #include <list>
 
-class SMESHGUI_XmlHandler : public QXmlDefaultHandler
+class SMESHGUI_EXPORT SMESHGUI_XmlHandler : public QXmlDefaultHandler
 {
  public:
   SMESHGUI_XmlHandler();
diff --git a/src/SMESHGUI/SMESH_SMESHGUI.hxx b/src/SMESHGUI/SMESH_SMESHGUI.hxx
new file mode 100755 (executable)
index 0000000..29a4e6e
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESHGUI.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESHGUI_HXX_
+#define _SMESH_SMESHGUI_HXX_
+
+#ifdef WNT
+ #if defined SMESHGUI_EXPORTS
+  #define SMESHGUI_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHGUI_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHGUI_EXPORT
+#endif
+
+#endif
index b8e73b45b6e5cae0b231961085cbaf65f1393fcf..8aecfe085737dd88cd1699b2ddb558003f0735b9 100644 (file)
@@ -36,8 +36,8 @@ msgstr ""
 msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2002-05-28 10:46:48 AM CEST\n"
-"PO-Revision-Date: 2004-10-20 17:25+0400\n"
+"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
+"PO-Revision-Date: 2005-06-07 10:51+0400\n"
 "Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 
@@ -173,6 +173,10 @@ msgstr "No available data in selection"
 msgid "SMESH_POLYEDRE_CREATE_ERROR"
 msgstr "Polyedron creation error"
 
+#Export mesh
+msgid "SMESH_EXPORT_FAILED"
+msgstr "Mesh export failed.\nProbably, there is not enough space on disk."
+
 #-------------------------------------------------------------------------
 # MEN
 #-------------------------------------------------------------------------
@@ -1269,12 +1273,18 @@ msgstr "Hypothesis and submesh dimensions mismatch"
 msgid "SMESH_HYP_9"
 msgstr "Shape is neither the main one, nor its subshape, nor a valid group"
 
+msgid "SMESH_HYP_10"
+msgstr "Geomerty mismatches algorithm's expectation"
+
 msgid "MISSING_ALGO"
 msgstr "%3 %2D algorithm is missing"
 
 msgid "MISSING_HYPO"
 msgstr "%3 %2D algorithm \"%1\" misses %4D hypothesis"
 
+msgid "BAD_PARAM_VALUE"
+msgstr "Hypothesis of %3 %2D algorithm \"%1\" has a bad parameter value"
+
 msgid "NOT_CONFORM_MESH"
 msgstr "%3 %2D algorithm \"%1\" would produce not conform mesh: global \"Not Conform Mesh Allowed\" hypotesis is missing"
 
index 80b70ee216a2ef2121bed26d0f94a5f82341adde..3025f693b849f914932b6415a738c6021240e576 100644 (file)
 //  Module : SMESH
 //  $Header: 
 
-#ifndef _SMESH_SMESH_HXX_
-#define _SMESH_SMESH_HXX_
+#ifndef _SMESH_I_SMESH_HXX_
+#define _SMESH_I_SMESH_HXX_
+
+#ifdef WNT
+ #if defined SMESH_I_EXPORTS
+  #define SMESH_I_EXPORT __declspec( dllexport )
+ #else
+  #define SMESH_I_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESH_I_EXPORT
+#endif
 
 // Tags definition
 enum {
index 3c13663e64c2b514f8e65421f4aa00829628f38e..56cb13fa90343869c1dc67af6cd4a124e2a9f8b5 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_1D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_1D_Algo_i::SMESH_1D_Algo_i
index 86800d31516fa64b324375a0eeab3c7e2fcf13eb..14bc77ca5ac5a58068cad1e1e1e1db89ec9e8743 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_1D_ALGO_I_HXX_
 #define _SMESH_1D_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic 1D algorithm
 // ======================================================
-class SMESH_1D_Algo_i:
+class SMESH_I_EXPORT SMESH_1D_Algo_i:
   public virtual POA_SMESH::SMESH_1D_Algo,
   public virtual SMESH_Algo_i
 {
index 1fce7356f39af90c3b1ccfb6656acd13c84f74c9..8c10ffa17144fcdc6e82f8896c90cbd3a2818777 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_2D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_2D_Algo_i::SMESH_2D_Algo_i
index 839cb5faaa2d458abee28a8b653262945ce6cf10..b0e535bfac391d8c8871bcf7a20574ba001130a7 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_2D_ALGO_I_HXX_
 #define _SMESH_2D_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic 2D algorithm
 // ======================================================
-class SMESH_2D_Algo_i:
+class SMESH_I_EXPORT SMESH_2D_Algo_i:
   public virtual POA_SMESH::SMESH_2D_Algo,
   public virtual SMESH_Algo_i
 {
index 3171cbca2915be44565ecb033efd53ebebc48c7e..ccf63624030fd6a96767b3a0ce79b74a4c8c0c9a 100644 (file)
 
 #include "SMESH_2smeshpy.hxx"
 
-#include "SMESH_Gen_i.hxx"
 #include "utilities.h"
 #include "SMESH_PythonDump.hxx"
 #include "Resource_DataMapOfAsciiStringAsciiString.hxx"
 
+#include "SMESH_Gen_i.hxx"
+/* SALOME headers that include CORBA headers that include windows.h 
+ * that defines GetObject symbol as GetObjectA should stand before SALOME headers
+ * that declare methods named GetObject - to apply the same rules of GetObject renaming
+ * and thus to avoid mess with GetObject symbol on Windows */
+
 IMPLEMENT_STANDARD_HANDLE (_pyObject          ,Standard_Transient);
 IMPLEMENT_STANDARD_HANDLE (_pyCommand         ,Standard_Transient);
 IMPLEMENT_STANDARD_HANDLE (_pyGen             ,_pyObject);
@@ -54,6 +59,7 @@ IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis      ,_pyObject);
 IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm       ,_pyHypothesis);
 IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis);
 IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis);
+IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis);
 
 using namespace std;
 using SMESH::TPythonDump;
@@ -187,17 +193,10 @@ void _pyGen::AddCommand( const TCollection_AsciiString& theCommand)
     }
 
   // Add access to a wrapped mesh
-  for ( id_mesh = myMeshes.begin(); id_mesh != myMeshes.end(); ++id_mesh ) {
-    if ( aCommand->AddAccessorMethod( id_mesh->first, id_mesh->second->AccessorMethod() ))
-      break;
-  }
+  AddMeshAccessorMethod( aCommand );
 
   // Add access to a wrapped algorithm
-  for ( hyp = myHypos.begin(); hyp != myHypos.end(); ++hyp ) {
-    if ( (*hyp)->IsAlgo() &&
-         aCommand->AddAccessorMethod( (*hyp)->GetID(), (*hyp)->AccessorMethod() ))
-      break;
-  }
+  AddAlgoAccessorMethod( aCommand );
 
   // PAL12227. PythonDump was not updated at proper time; result is
   //     aCriteria.append(SMESH.Filter.Criterion(17,26,0,'L1',26,25,1e-07,SMESH.EDGE,-1))
@@ -296,6 +295,43 @@ void _pyGen::Flush()
     }
 }
 
+//================================================================================
+/*!
+ * \brief Add access method to mesh that is object or arg
+  * \param theCmd - command to add access method
+  * \retval bool - true if added
+ */
+//================================================================================
+
+bool _pyGen::AddMeshAccessorMethod( Handle(_pyCommand) theCmd ) const
+{
+  map< _pyID, Handle(_pyMesh) >::const_iterator id_mesh = myMeshes.begin();
+  for ( ; id_mesh != myMeshes.end(); ++id_mesh ) {
+    if ( theCmd->AddAccessorMethod( id_mesh->first, id_mesh->second->AccessorMethod() ))
+      return true;
+  }
+  return false;
+}
+
+//================================================================================
+/*!
+ * \brief Add access method to algo that is object or arg
+  * \param theCmd - command to add access method
+  * \retval bool - true if added
+ */
+//================================================================================
+
+bool _pyGen::AddAlgoAccessorMethod( Handle(_pyCommand) theCmd ) const
+{
+  list< Handle(_pyHypothesis) >::const_iterator hyp = myHypos.begin();
+  for ( ; hyp != myHypos.end(); ++hyp ) {
+    if ( (*hyp)->IsAlgo() &&
+         theCmd->AddAccessorMethod( (*hyp)->GetID(), (*hyp)->AccessorMethod() ))
+      return true;
+  }
+  return false;
+}
+
 //================================================================================
 /*!
  * \brief Find hypothesis by ID (entry)
@@ -706,127 +742,139 @@ Handle(_pyHypothesis) _pyHypothesis::NewHypothesis( const Handle(_pyCommand)& th
   Handle(_pyHypothesis) hyp, algo;
 
   // "theHypType"
-  const TCollection_AsciiString & hypTypeWithQuotes = theCreationCmd->GetArg( 1 );
-  if ( hypTypeWithQuotes.IsEmpty() )
+  const TCollection_AsciiString & hypTypeQuoted = theCreationCmd->GetArg( 1 );
+  if ( hypTypeQuoted.IsEmpty() )
     return hyp;
   // theHypType
   TCollection_AsciiString  hypType =
-    hypTypeWithQuotes.SubString( 2, hypTypeWithQuotes.Length() - 1 );
+    hypTypeQuoted.SubString( 2, hypTypeQuoted.Length() - 1 );
 
   algo = new _pyAlgorithm( theCreationCmd );
   hyp  = new _pyHypothesis( theCreationCmd );
 
   // 1D Regular_1D ----------
   if ( hypType == "Regular_1D" ) {
-    algo->myDim = 1;
-    algo->myCreationMethod = "Segment";
+    algo->SetDimMethodType( 1, "Segment");
   }
   else if ( hypType == "LocalLength" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "LocalLength";
-    hyp->myType = "Regular_1D";
-    hyp->myArgMethods.Append( "SetLength" );
+    hyp->SetDimMethodType( 1, "LocalLength", "Regular_1D");
+    hyp->AddArgMethod( "SetLength" );
   }
   else if ( hypType == "NumberOfSegments" ) {
     hyp = new _pyNumberOfSegmentsHyp( theCreationCmd );
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "NumberOfSegments";
-    hyp->myType = "Regular_1D";
-    hyp->myArgMethods.Append( "SetNumberOfSegments" );
-    hyp->myArgMethods.Append( "SetScaleFactor" );
+    hyp->SetDimMethodType( 1, "NumberOfSegments", "Regular_1D");
+    hyp->AddArgMethod( "SetNumberOfSegments" );
+    hyp->AddArgMethod( "SetScaleFactor" );
   }
   else if ( hypType == "Arithmetic1D" ) {
     hyp = new _pyComplexParamHypo( theCreationCmd );
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "Arithmetic1D";
-    hyp->myType = "Regular_1D";
+    hyp->SetDimMethodType( 1, "Arithmetic1D", "Regular_1D");
   }
   else if ( hypType == "StartEndLength" ) {
     hyp = new _pyComplexParamHypo( theCreationCmd );
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "StartEndLength";
-    hyp->myType = "Regular_1D";
+    hyp->SetDimMethodType( 1, "StartEndLength", "Regular_1D");
   }
   else if ( hypType == "Deflection1D" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "Deflection1D";
-    hyp->myArgMethods.Append( "SetDeflection" );
-    hyp->myType = "Regular_1D";
+    hyp->SetDimMethodType( 1, "Deflection1D", "Regular_1D");
+    hyp->AddArgMethod( "SetDeflection" );
   }
   else if ( hypType == "Propagation" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "Propagation";
-    hyp->myType = "Regular_1D";
+    hyp->SetDimMethodType( 1, "Propagation", "Regular_1D");
   }
   else if ( hypType == "QuadraticMesh" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "QuadraticMesh";
-    hyp->myType = "Regular_1D";
+    hyp->SetDimMethodType( 1, "QuadraticMesh", "Regular_1D");
   }
   else if ( hypType == "AutomaticLength" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "AutomaticLength";
-    hyp->myType = "Regular_1D";
-    hyp->myArgMethods.Append( "SetFineness");
+    hyp->SetDimMethodType( 1, "AutomaticLength", "Regular_1D");
+    hyp->AddArgMethod( "SetFineness");
   }
   // 1D Python_1D ----------
   else if ( hypType == "Python_1D" ) {
-    algo->myDim = 1;
-    algo->myCreationMethod = "Segment";
+    algo->SetDimMethodType( 1, "Segment");
     algo->myArgs.Append( "algo=smesh.PYTHON");
   }
   else if ( hypType == "PythonSplit1D" ) {
-    hyp->myDim = 1;
-    hyp->myCreationMethod = "PythonSplit1D";
-    hyp->myType = "Python_1D";
-    hyp->myArgMethods.Append( "SetNumberOfSegments");
-    hyp->myArgMethods.Append( "SetPythonLog10RatioFunction");
+    hyp->SetDimMethodType( 1, "PythonSplit1D", "Python_1D");
+    hyp->AddArgMethod( "SetNumberOfSegments");
+    hyp->AddArgMethod( "SetPythonLog10RatioFunction");
   }
   // 2D ----------
   else if ( hypType == "MEFISTO_2D" ) {
-    algo->myDim = 2;
-    algo->myCreationMethod = "Triangle";
+    algo->SetDimMethodType( 2, "Triangle");
   }
   else if ( hypType == "MaxElementArea" ) {
-    hyp->myDim = 2;
-    hyp->myCreationMethod = "MaxElementArea";
-    hyp->myType = "MEFISTO_2D";
-    hyp->myArgMethods.Append( "SetMaxElementArea");
+    hyp->SetDimMethodType( 2, "MaxElementArea", "MEFISTO_2D");
+    hyp->AddArgMethod( "SetMaxElementArea");
   }
   else if ( hypType == "LengthFromEdges" ) {
-    hyp->myDim = 2;
-    hyp->myCreationMethod = "LengthFromEdges";
-    hyp->myType = "MEFISTO_2D";
+    hyp->SetDimMethodType( 2, "LengthFromEdges", "MEFISTO_2D");
   }
   else if ( hypType == "Quadrangle_2D" ) {
-    algo->myDim = 2;
-    algo->myCreationMethod = "Quadrangle";
+    algo->SetDimMethodType( 2, "Quadrangle" );
   }
   else if ( hypType == "QuadranglePreference" ) {
-    hyp->myDim = 2;
-    hyp->myCreationMethod = "QuadranglePreference";
-    hyp->myType = "Quadrangle_2D";
+    hyp->SetDimMethodType( 2, "QuadranglePreference", "Quadrangle_2D");
   }
   // 3D ----------
   else if ( hypType == "NETGEN_3D") {
-    algo->myDim = 3;
-    algo->myCreationMethod = "Tetrahedron";
+    algo->SetDimMethodType( 3, "Tetrahedron" );
     algo->myArgs.Append( "algo=smesh.NETGEN" );
   }
   else if ( hypType == "MaxElementVolume") {
-    hyp->myDim = 3;
-    hyp->myCreationMethod = "MaxElementVolume";
-    hyp->myType = "NETGEN_3D";
-    hyp->myArgMethods.Append( "SetMaxElementVolume" );
+    hyp->SetDimMethodType( 3, "MaxElementVolume", "NETGEN_3D");
+    hyp->AddArgMethod( "SetMaxElementVolume" );
   }
   else if ( hypType == "GHS3D_3D" ) {
-    algo->myDim = 3;
-    algo->myCreationMethod = "Tetrahedron";
+    algo->SetDimMethodType( 3, "Tetrahedron");
     algo->myArgs.Append( "algo=smesh.GHS3D" );
   }
   else if ( hypType == "Hexa_3D" ) {
-    algo->myDim = 3;
-    algo->myCreationMethod = "Hexahedron";
+    algo->SetDimMethodType( 3, "Hexahedron");
+  }
+  // Repetitive ---------
+  else if ( hypType == "Projection_1D" ) {
+    algo->SetDimMethodType( 1, "Projection1D");
+  }
+  else if ( hypType == "ProjectionSource1D" ) {
+    hyp->SetDimMethodType( 1, "SourceEdge", "Projection_1D");
+    hyp->AddArgMethod( "SetSourceEdge");
+    hyp->AddArgMethod( "SetSourceMesh");
+    hyp->AddArgMethod( "SetVertexAssociation", 2 );
+  }
+  else if ( hypType == "Projection_2D" ) {
+    algo->SetDimMethodType( 2, "Projection2D");
+  }
+  else if ( hypType == "ProjectionSource2D" ) {
+    hyp->SetDimMethodType( 2, "SourceFace", "Projection_2D");
+    hyp->AddArgMethod( "SetSourceFace");
+    hyp->AddArgMethod( "SetSourceMesh");
+    hyp->AddArgMethod( "SetVertexAssociation", 4 );
+  }
+  else if ( hypType == "Projection_3D" ) {
+    algo->SetDimMethodType( 3, "Projection3D");
+  }
+  else if ( hypType == "ProjectionSource3D" ) {
+    hyp->SetDimMethodType( 3, "SourceShape3D", "Projection_3D");
+    hyp->AddArgMethod( "SetSource3DShape");
+    hyp->AddArgMethod( "SetSourceMesh");
+    hyp->AddArgMethod( "SetVertexAssociation", 4 );
+  }
+  else if ( hypType == "Prism_3D" ) {
+    algo->SetDimMethodType( 3, "Prism");
+  }
+  else if ( hypType == "RadialPrism_3D" ) {
+    algo->SetDimMethodType( 3, "Prism");
+  }
+  else if ( hypType == "NumberOfLayers" ) {
+    hyp->SetDimMethodType( 3, "NumberOfLayers", "RadialPrism_3D");
+    hyp->AddArgMethod( "SetNumberOfLayers" );
+  }
+  else if ( hypType == "LayerDistribution" ) {
+    hyp = new _pyLayerDistributionHypo( theCreationCmd );
+    hyp->SetDimMethodType( 3, "LayerDistribution", "RadialPrism_3D");
+//     hyp->AddArgMethod( "SetSource3DShape");
+//     hyp->AddArgMethod( "SetSourceMesh");
+//     hyp->AddArgMethod( "SetVertexAssociation", 4 );
   }
 
   if ( algo->GetDim() ) {
@@ -908,14 +956,17 @@ void _pyHypothesis::Process( const Handle(_pyCommand)& theCommand)
 {
   ASSERT( !myIsAlgo );
   // set args
+  int nbArgs = 0;
   for ( int i = 1; i <= myArgMethods.Length(); ++i ) {
     if ( myArgMethods( i ) == theCommand->GetMethod() ) {
-      while ( myArgs.Length() < )
+      while ( myArgs.Length() < nbArgs + myNbArgsByMethod( i ))
         myArgs.Append( "[]" );
-      myArgs( i ) = theCommand->GetArg( 1 ); // arg value
+      for ( int iArg = 1; iArg <= myNbArgsByMethod( i ); ++iArg )
+        myArgs( nbArgs + iArg ) = theCommand->GetArg( iArg ); // arg value
       myArgCommands.push_back( theCommand );
       return;
     }
+    nbArgs += myNbArgsByMethod( i );
   }
   myUnknownCommands.push_back( theCommand );
 }
@@ -929,10 +980,43 @@ void _pyHypothesis::Process( const Handle(_pyCommand)& theCommand)
 void _pyHypothesis::Flush()
 {
   if ( IsWrapped() ) {
-    // forget previous hypothesis modifications
-    myArgCommands.clear();
-    myUnknownCommands.clear();
   }
+  else {
+    list < Handle(_pyCommand) >::iterator cmd = myArgCommands.begin();
+    for ( ; cmd != myArgCommands.end(); ++cmd ) {
+      // Add access to a wrapped mesh
+      theGen->AddMeshAccessorMethod( *cmd );
+      // Add access to a wrapped algorithm
+      theGen->AddAlgoAccessorMethod( *cmd );
+    }
+    cmd = myUnknownCommands.begin();
+    for ( ; cmd != myUnknownCommands.end(); ++cmd ) {
+      // Add access to a wrapped mesh
+      theGen->AddMeshAccessorMethod( *cmd );
+      // Add access to a wrapped algorithm
+      theGen->AddAlgoAccessorMethod( *cmd );
+    }
+  }
+  // forget previous hypothesis modifications
+  myArgCommands.clear();
+  myUnknownCommands.clear();
+}
+
+//================================================================================
+/*!
+ * \brief clear creation, arg and unkown commands
+ */
+//================================================================================
+
+void _pyHypothesis::ClearAllCommands()
+{
+  GetCreationCmd()->Clear();
+  list<Handle(_pyCommand)>::iterator cmd = myArgCommands.begin();
+  for ( ; cmd != myArgCommands.end(); ++cmd )
+    ( *cmd )->Clear();
+  cmd = myUnknownCommands.begin();
+  for ( ; cmd != myUnknownCommands.end(); ++cmd )
+    ( *cmd )->Clear();
 }
 
 //================================================================================
@@ -955,6 +1039,127 @@ void _pyComplexParamHypo::Process( const Handle(_pyCommand)& theCommand)
   myArgCommands.push_back( theCommand );
 }
 
+//================================================================================
+/*!
+ * \brief Convert methods of 1D hypotheses to my own methods
+  * \param theCommand - The called hypothesis method
+ */
+//================================================================================
+
+void _pyLayerDistributionHypo::Process( const Handle(_pyCommand)& theCommand)
+{
+  if ( theCommand->GetMethod() != "SetLayerDistribution" )
+    return;
+
+  _pyID newName; // name for 1D hyp = "HypType" + "_Distribution"
+
+  const _pyID& hyp1dID = theCommand->GetArg( 1 );
+  Handle(_pyHypothesis) hyp1d = theGen->FindHyp( hyp1dID );
+  if ( hyp1d.IsNull() ) // apparently hypId changed at study restoration
+    hyp1d = my1dHyp;
+  else if ( !my1dHyp.IsNull() && hyp1dID != my1dHyp->GetID() ) {
+    // 1D hypo is already set, so distribution changes and the old
+    // 1D hypo is thrown away
+    my1dHyp->ClearAllCommands();
+  }
+  my1dHyp = hyp1d;
+  if ( my1dHyp.IsNull() )
+    return; // something wrong :(
+
+  // make a new name for 1D hyp = "HypType" + "_Distribution"
+  if ( my1dHyp->GetCreationCmd()->GetMethod() == "CreateHypothesis" ) {
+    // not yet converted creation cmd
+    TCollection_AsciiString hypTypeQuoted = my1dHyp->GetCreationCmd()->GetArg(1);
+    TCollection_AsciiString hypType = hypTypeQuoted.SubString( 2, hypTypeQuoted.Length() - 1 );
+    newName = hypType + "_Distribution";
+    my1dHyp->GetCreationCmd()->SetResultValue( newName );
+  }
+  else {
+    // already converted creation cmd
+    newName = my1dHyp->GetCreationCmd()->GetResultValue();
+  }
+
+  // as creation of 1D hyp was written later then it's edition,
+  // we need to find all it's edition calls and process them
+  list< Handle(_pyCommand) >& cmds = theGen->GetCommands();
+  list< Handle(_pyCommand) >::iterator cmdIt = cmds.begin();
+  for ( ; cmdIt != cmds.end(); ++cmdIt ) {
+    const _pyID& objID = (*cmdIt)->GetObject();
+    if ( objID == hyp1dID ) {
+      my1dHyp->Process( *cmdIt );
+      my1dHyp->GetCreationCmd()->AddDependantCmd( *cmdIt );
+      ( *cmdIt )->SetObject( newName );
+    }
+  }
+  if ( !myArgCommands.empty() )
+    myArgCommands.front()->Clear();
+  theCommand->SetArg( 1, newName );
+  myArgCommands.push_back( theCommand );
+  // copy hyp1d's creation method and args
+//   myCreationMethod = hyp1d->GetCreationMethod();
+//   myArgs           = hyp1d->GetArgs();
+//   // make them cleared at conversion
+//   myArgCommands = hyp1d->GetArgCommands();
+
+//   // to be cleared at convertion only
+//   myArgCommands.push_back( theCommand );
+}
+
+//================================================================================
+/*!
+ * \brief 
+  * \param theAdditionCmd - 
+  * \param theMesh - 
+  * \retval bool - 
+ */
+//================================================================================
+
+bool _pyLayerDistributionHypo::Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
+                                                  const _pyID&              theMesh)
+{
+  myIsWrapped = false;
+
+  if ( my1dHyp.IsNull() )
+    return false;
+
+  // set "SetLayerDistribution()" after addition cmd
+  theAdditionCmd->AddDependantCmd( myArgCommands.front() );
+
+  _pyID geom = theAdditionCmd->GetArg( 1 );
+
+  my1dHyp->SetMesh( theMesh );
+  if ( !my1dHyp->Addition2Creation( theAdditionCmd, theMesh ))
+    return false;
+
+  // clear "SetLayerDistribution()" cmd
+  myArgCommands.front()->Clear();
+
+  // Convert my creation => me = RadialPrismAlgo.Get3DHypothesis()
+
+  // find RadialPrism algo created on <geom> for theMesh
+  Handle(_pyHypothesis) algo = theGen->FindAlgo( geom, theMesh, this->GetType() );
+  if ( !algo.IsNull() ) {
+    GetCreationCmd()->SetObject( algo->GetID() );
+    GetCreationCmd()->SetMethod( "Get3DHypothesis" );
+    GetCreationCmd()->RemoveArgs();
+    theAdditionCmd->AddDependantCmd( GetCreationCmd() );
+    myIsWrapped = true;
+  }
+  return myIsWrapped;
+}
+
+//================================================================================
+/*!
+ * \brief 
+ */
+//================================================================================
+
+void _pyLayerDistributionHypo::Flush()
+{
+  //my1dHyp.Nullify();
+  //_pyHypothesis::Flush();
+}
+
 //================================================================================
 /*!
  * \brief additionally to Addition2Creation, clears SetDistrType() command
@@ -996,15 +1201,27 @@ bool _pyNumberOfSegmentsHyp::Addition2Creation( const Handle(_pyCommand)& theCmd
 
 void _pyNumberOfSegmentsHyp::Flush()
 {
-  const int nbCmdLists = 2;
-  list<Handle(_pyCommand)> * cmds[nbCmdLists] = { &myArgCommands, &myUnknownCommands };
-  for ( int i = 0; i < nbCmdLists; ++i ) {
+  // find number of the last SetDistrType() command
+  list<Handle(_pyCommand)>::reverse_iterator cmd = myUnknownCommands.rbegin();
+  int distrTypeNb = 0;
+  for ( ; !distrTypeNb && cmd != myUnknownCommands.rend(); ++cmd )
+    if ( (*cmd)->GetMethod() == "SetDistrType" )
+      distrTypeNb = (*cmd)->GetOrderNb();
+
+  // clear commands before the last SetDistrType()
+  list<Handle(_pyCommand)> * cmds[2] = { &myArgCommands, &myUnknownCommands };
+  for ( int i = 0; i < 2; ++i ) {
     set<TCollection_AsciiString> uniqueMethods;
     list<Handle(_pyCommand)> & cmdList = *cmds[i];
-    list<Handle(_pyCommand)>::reverse_iterator cmd = cmdList.rbegin();
-    for ( ; cmd != cmdList.rend(); ++cmd ) {
-      bool isNewInSet = uniqueMethods.insert( (*cmd)->GetMethod() ).second;
-      if ( ! isNewInSet )
+    for ( cmd = cmdList.rbegin(); cmd != cmdList.rend(); ++cmd )
+    {
+      bool clear = ( (*cmd)->GetOrderNb() < distrTypeNb );
+      const TCollection_AsciiString& method = (*cmd)->GetMethod();
+      if ( !clear || method == "SetNumberOfSegments" ) {
+        bool isNewInSet = uniqueMethods.insert( method ).second;
+        clear = !isNewInSet;
+      }
+      if ( clear )
         (*cmd)->Clear();
     }
     cmdList.clear();
index 5319af279e2773fbb0158dfe7c710addefc8cbd9..f5717cd2a386538862b3c5e4d42572d33de00829 100644 (file)
@@ -34,6 +34,7 @@
 #include <list>
 #include <map>
 
+// ===========================================================================================
 /*!
  * \brief Tool converting SMESH engine calls into commands defined in smesh.py
  *
@@ -49,6 +50,7 @@
  *
  * See comments to _pyHypothesis class to know how to assure convertion of a new hypothesis
  */
+// ===========================================================================================
 
 class Resource_DataMapOfAsciiStringAsciiString;
 
@@ -74,9 +76,11 @@ public:
   static char* GenName() { return "smesh.smesh"; }
 };
 
+// ===========================================================================================
 // =====================
 //    INTERNAL STUFF
 // =====================
+// ===========================================================================================
 
 class _pyCommand;
 class _pyObject;
@@ -154,9 +158,11 @@ public:
   DEFINE_STANDARD_RTTI (_pyCommand)
 };
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Root of all objects
  */
+// -------------------------------------------------------------------------------------
 
 class _pyObject: public Standard_Transient
 {
@@ -174,10 +180,12 @@ public:
   DEFINE_STANDARD_RTTI (_pyObject)
 };
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Class corresponding to SMESH_Gen. It holds info on existing
  *        meshes and hypotheses
  */
+// -------------------------------------------------------------------------------------
 class _pyGen: public _pyObject
 {
 public:
@@ -193,6 +201,8 @@ public:
   void SetCommandAfter( Handle(_pyCommand) theCmd, Handle(_pyCommand) theAfterCmd );
   std::list< Handle(_pyCommand) >& GetCommands() { return myCommands; }
   void SetAccessorMethod(const _pyID& theID, const char* theMethod );
+  bool AddMeshAccessorMethod( Handle(_pyCommand) theCmd ) const;
+  bool AddAlgoAccessorMethod( Handle(_pyCommand) theCmd ) const;
   const char* AccessorMethod() const { return SMESH_2smeshpy::GenName(); }
 private:
   std::map< _pyID, Handle(_pyMesh) > myMeshes;
@@ -205,9 +215,11 @@ private:
   DEFINE_STANDARD_RTTI (_pyGen)
 };
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Contains commands concerning mesh substructures
  */
+// -------------------------------------------------------------------------------------
 #define _pyMesh_ACCESS_METHOD "GetMesh()"
 class _pyMesh: public _pyObject
 {
@@ -229,6 +241,7 @@ private:
 };
 #undef _pyMesh_ACCESS_METHOD 
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Root class for hypothesis
  *
@@ -245,19 +258,29 @@ private:
  *    to derive a specific class from _pyHypothesis that would redefine Process(),
  *    see _pyComplexParamHypo for example
  */
+// -------------------------------------------------------------------------------------
 class _pyHypothesis: public _pyObject
 {
 protected:
   bool    myIsAlgo, /*myIsLocal, */myIsWrapped, myIsConverted;
-  int     myDim, myAdditionCmdNb;
+  int     myDim/*, myAdditionCmdNb*/;
   _pyID    myGeom, myMesh;
   TCollection_AsciiString       myCreationMethod, myType;
   TColStd_SequenceOfAsciiString myArgs;
   TColStd_SequenceOfAsciiString myArgMethods;
+  TColStd_SequenceOfInteger     myNbArgsByMethod;
   std::list<Handle(_pyCommand)>  myArgCommands;
   std::list<Handle(_pyCommand)>  myUnknownCommands;
 public:
   _pyHypothesis(const Handle(_pyCommand)& theCreationCmd);
+  void SetDimMethodType(const int dim, const char* creationMethod, const char* type=0)
+  { myDim = dim; myCreationMethod = (char*)creationMethod; if ( type ) myType = (char*)type; }
+  void AddArgMethod(const char* method, const int nbArgs = 1)
+  { myArgMethods.Append( (char*)method ); myNbArgsByMethod.Append( nbArgs ); }
+  const TColStd_SequenceOfAsciiString& GetArgs() const { return myArgs; }
+  const TCollection_AsciiString& GetCreationMethod() const { return myCreationMethod; }
+  const std::list<Handle(_pyCommand)>& GetArgCommands() const { return myArgCommands; }
+  void ClearAllCommands();
   virtual bool IsAlgo() const { return myIsAlgo; }
   bool IsWrapped() const { return myIsWrapped; }
   bool & IsConverted() { return myIsConverted; }
@@ -278,9 +301,11 @@ public:
   DEFINE_STANDARD_RTTI (_pyHypothesis)
 };
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Class for hypotheses having several parameters modified by one method
  */
+// -------------------------------------------------------------------------------------
 class _pyComplexParamHypo: public _pyHypothesis
 {
 public:
@@ -291,10 +316,32 @@ public:
 };
 DEFINE_STANDARD_HANDLE (_pyComplexParamHypo, _pyHypothesis);
 
+// -------------------------------------------------------------------------------------
+/*!
+ * \brief Class for LayerDistribution hypothesis conversion
+ */
+// -------------------------------------------------------------------------------------
+class _pyLayerDistributionHypo: public _pyHypothesis
+{
+  Handle(_pyHypothesis) my1dHyp;
+public:
+  _pyLayerDistributionHypo(const Handle(_pyCommand)& theCreationCmd):
+    _pyHypothesis(theCreationCmd) {}
+  void Process( const Handle(_pyCommand)& theCommand);
+  void Flush();
+  bool Addition2Creation( const Handle(_pyCommand)& theAdditionCmd,
+                          const _pyID&              theMesh);
+
+  DEFINE_STANDARD_RTTI (_pyLayerDistributionHypo)
+};
+DEFINE_STANDARD_HANDLE (_pyLayerDistributionHypo, _pyHypothesis);
+
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Class representing NumberOfSegments hypothesis
  */
+// -------------------------------------------------------------------------------------
 class _pyNumberOfSegmentsHyp: public _pyHypothesis
 {
 public:
@@ -307,9 +354,11 @@ public:
 };
 DEFINE_STANDARD_HANDLE (_pyNumberOfSegmentsHyp, _pyHypothesis);
 
+// -------------------------------------------------------------------------------------
 /*!
  * \brief Class representing smesh.Mesh_Algorithm
  */
+// -------------------------------------------------------------------------------------
 class _pyAlgorithm: public _pyHypothesis
 {
 public:
index a59ef15b7951f3def45d8f41c4bbc73dd357194b..6cd59106c88913e05b623c916b52515349c71611 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_3D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_3D_Algo_i::SMESH_3D_Algo_i
index 2fce5a766f12e2cf29f0c9faa4aaf72564d14594..30a708a1c02d099ca8ab56b2d5a19652117fd9db 100644 (file)
@@ -37,7 +37,7 @@
 // ======================================================
 // Generic 3D algorithm
 // ======================================================
-class SMESH_3D_Algo_i:
+class SMESH_I_EXPORT SMESH_3D_Algo_i:
   public virtual POA_SMESH::SMESH_3D_Algo,
   public virtual SMESH_Algo_i
 {
index a0e8b9aa0fe0dff8a93753ea1dd4acf0ba60066b..cfa8dc55548891716cd69b2630648a18001b5959 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_Algo_i.hxx"
 #include "SMESH_Algo.hxx"
 
@@ -35,6 +34,8 @@ using namespace std;
 #include <string>
 #include <vector>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_Algo_i::SMESH_Algo_i
index eee44fc09d8c5bab24795e1a34c121ca038311c4..2ee94ae9d43cf417041d0ff6926e899fd185012d 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_ALGO_I_HXX_
 #define _SMESH_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic algorithm
 // ======================================================
-class SMESH_Algo_i:
+class SMESH_I_EXPORT SMESH_Algo_i:
   public virtual POA_SMESH::SMESH_Algo,
   public virtual SMESH_Hypothesis_i
 {
index 917732d6209fd74536b54792f26b511631029ae9..e653aa172e1b01e9c4584a29fb66e362169698ae 100644 (file)
@@ -452,8 +452,9 @@ static char* getShapeNameByID ( const char* theID )
 Functor_i::Functor_i():
   SALOME::GenericObj_i( SMESH_Gen_i::GetPOA() )
 {
-  PortableServer::ObjectId_var anObjectId =
-    SMESH_Gen_i::GetPOA()->activate_object( this );
+  //Base class Salome_GenericObject do it inmplicitly by overriding PortableServer::POA_ptr _default_POA() method  
+  //PortableServer::ObjectId_var anObjectId =
+  //  SMESH_Gen_i::GetPOA()->activate_object( this );
 }
 
 Functor_i::~Functor_i()
@@ -1417,8 +1418,9 @@ FunctorType LogicalOR_i::GetFunctorType()
 FilterManager_i::FilterManager_i()
 : SALOME::GenericObj_i( SMESH_Gen_i::GetPOA() )
 {
-  PortableServer::ObjectId_var anObjectId =
-    SMESH_Gen_i::GetPOA()->activate_object( this );
+  //Base class Salome_GenericObject do it inmplicitly by overriding PortableServer::POA_ptr _default_POA() method
+  //PortableServer::ObjectId_var anObjectId =
+  //  SMESH_Gen_i::GetPOA()->activate_object( this );
 }
 
 
@@ -1784,7 +1786,8 @@ GetElementsId( Predicate_i* thePredicate,
                const SMDS_Mesh* theMesh,
                Controls::Filter::TIdSequence& theSequence )
 {
-  Controls::Filter::GetElementsId(theMesh,thePredicate->GetPredicate(),theSequence);
+  if (thePredicate)
+    Controls::Filter::GetElementsId(theMesh,thePredicate->GetPredicate(),theSequence);
 }
 
 void
@@ -1793,8 +1796,9 @@ GetElementsId( Predicate_i* thePredicate,
                SMESH_Mesh_ptr theMesh,
                Controls::Filter::TIdSequence& theSequence )
 {
-  if(const SMDS_Mesh* aMesh = MeshPtr2SMDSMesh(theMesh))
-    Controls::Filter::GetElementsId(aMesh,thePredicate->GetPredicate(),theSequence);
+  if (thePredicate) 
+    if(const SMDS_Mesh* aMesh = MeshPtr2SMDSMesh(theMesh))
+      Controls::Filter::GetElementsId(aMesh,thePredicate->GetPredicate(),theSequence);
 }
 
 SMESH::long_array*
@@ -1802,7 +1806,7 @@ Filter_i::
 GetElementsId( SMESH_Mesh_ptr theMesh )
 {
   SMESH::long_array_var anArray = new SMESH::long_array;
-  if(!CORBA::is_nil(theMesh)){
+  if(!CORBA::is_nil(theMesh) && myPredicate){
     Controls::Filter::TIdSequence aSequence;
     GetElementsId(myPredicate,theMesh,aSequence);
     long i = 0, iEnd = aSequence.size();
@@ -2073,11 +2077,12 @@ CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria
       case SMESH::FT_BelongToPlane:
       case SMESH::FT_BelongToCylinder:
         {
-          SMESH::BelongToSurface_ptr tmpPred;
+         SMESH::BelongToSurface_ptr tmpPred;
           if ( aCriterion == SMESH::FT_BelongToPlane )
             tmpPred = aFilterMgr->CreateBelongToPlane();
           else
             tmpPred = aFilterMgr->CreateBelongToCylinder();
+
           tmpPred->SetShape( aThresholdID, aThresholdStr, aTypeOfElem );
           tmpPred->SetTolerance( aTolerance );
           aPredicate = tmpPred;
index 51ad5893b88f02e1c2a843d732a9be4b11429bff..524ab3ca4fa2719e59818d7aa054f8d6f6103630 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _SMESH_FILTER_I_HXX_
 #define _SMESH_FILTER_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Filter)
 
@@ -50,7 +52,7 @@ namespace SMESH
       Description : Predicate for verifying whether entiy belong to
       specified geometrical support
     */
-    class BelongToGeom: public virtual Predicate
+    class SMESH_I_EXPORT BelongToGeom: public virtual Predicate
     {
     public:
       BelongToGeom();
@@ -78,7 +80,7 @@ namespace SMESH
       Description : Predicate for verifying whether entiy lying or partially lying on
       specified geometrical support
     */
-    class LyingOnGeom: public virtual Predicate
+    class SMESH_I_EXPORT LyingOnGeom: public virtual Predicate
     {
     public:
       LyingOnGeom();
@@ -115,7 +117,7 @@ namespace SMESH
     Class       : Functor_i
     Description : An abstact class for all functors 
   */
-  class Functor_i: public virtual POA_SMESH::Functor,
+  class SMESH_I_EXPORT Functor_i: public virtual POA_SMESH::Functor,
                   public virtual SALOME::GenericObj_i
   {
   public:
@@ -134,7 +136,7 @@ namespace SMESH
     Class       : NumericalFunctor_i
     Description : Base class for numerical functors 
   */
-  class NumericalFunctor_i: public virtual POA_SMESH::NumericalFunctor,
+  class SMESH_I_EXPORT NumericalFunctor_i: public virtual POA_SMESH::NumericalFunctor,
                            public virtual Functor_i
   {
   public:
@@ -152,7 +154,7 @@ namespace SMESH
     Class       : SMESH_MinimumAngleFunct
     Description : Functor for calculation of minimum angle
   */
-  class MinimumAngle_i: public virtual POA_SMESH::MinimumAngle,
+  class SMESH_I_EXPORT MinimumAngle_i: public virtual POA_SMESH::MinimumAngle,
                        public virtual NumericalFunctor_i
   {
   public:
@@ -165,7 +167,7 @@ namespace SMESH
     Class       : AspectRatio_i
     Description : Functor for calculating aspect ratio
   */
-  class AspectRatio_i: public virtual POA_SMESH::AspectRatio,
+  class SMESH_I_EXPORT AspectRatio_i: public virtual POA_SMESH::AspectRatio,
                       public virtual NumericalFunctor_i
   {
   public:
@@ -178,7 +180,7 @@ namespace SMESH
     Class       : AspectRatio3D_i
     Description : Functor for calculating aspect ratio for 3D
   */
-  class AspectRatio3D_i: public virtual POA_SMESH::AspectRatio3D,
+  class SMESH_I_EXPORT AspectRatio3D_i: public virtual POA_SMESH::AspectRatio3D,
                         public virtual NumericalFunctor_i
   {
   public:
@@ -191,7 +193,7 @@ namespace SMESH
     Class       : Warping_i
     Description : Functor for calculating warping
   */
-  class Warping_i: public virtual POA_SMESH::Warping,
+  class SMESH_I_EXPORT Warping_i: public virtual POA_SMESH::Warping,
                   public virtual NumericalFunctor_i
   {
   public:
@@ -204,7 +206,7 @@ namespace SMESH
     Class       : Taper_i
     Description : Functor for calculating taper
   */
-  class Taper_i: public virtual POA_SMESH::Taper,
+  class SMESH_I_EXPORT Taper_i: public virtual POA_SMESH::Taper,
                 public virtual NumericalFunctor_i
   {
   public:
@@ -217,7 +219,7 @@ namespace SMESH
     Class       : Skew_i
     Description : Functor for calculating skew in degrees
   */
-  class Skew_i: public virtual POA_SMESH::Skew,
+  class SMESH_I_EXPORT Skew_i: public virtual POA_SMESH::Skew,
                public virtual NumericalFunctor_i
   {
   public:
@@ -230,7 +232,7 @@ namespace SMESH
     Class       : Area_i
     Description : Functor for calculating area
   */
-  class Area_i: public virtual POA_SMESH::Area,
+  class SMESH_I_EXPORT Area_i: public virtual POA_SMESH::Area,
                public virtual NumericalFunctor_i
   {
   public:
@@ -243,7 +245,7 @@ namespace SMESH
     Class       : Volume3D_i
     Description : Functor for calculating volume of 3D element
   */
-  class Volume3D_i: public virtual POA_SMESH::Volume3D,
+  class SMESH_I_EXPORT Volume3D_i: public virtual POA_SMESH::Volume3D,
                     public virtual NumericalFunctor_i
   {
   public:
@@ -256,7 +258,7 @@ namespace SMESH
     Class       : Length_i
     Description : Functor for calculating length of edge
   */
-  class Length_i: public virtual POA_SMESH::Length,
+  class SMESH_I_EXPORT Length_i: public virtual POA_SMESH::Length,
                  public virtual NumericalFunctor_i
   {
   public:
@@ -268,7 +270,7 @@ namespace SMESH
     Class       : Length2D_i
     Description : Functor for calculating length of edge
   */
-  class Length2D_i: public virtual POA_SMESH::Length2D,
+  class SMESH_I_EXPORT Length2D_i: public virtual POA_SMESH::Length2D,
                    public virtual NumericalFunctor_i
   {
   public:
@@ -285,7 +287,7 @@ namespace SMESH
     Class       : MultiConnection_i
     Description : Functor for calculating number of faces conneted to the edge
   */
-  class MultiConnection_i: public virtual POA_SMESH::MultiConnection,
+  class SMESH_I_EXPORT MultiConnection_i: public virtual POA_SMESH::MultiConnection,
                           public virtual NumericalFunctor_i
   {
   public:
@@ -297,7 +299,7 @@ namespace SMESH
     Class       : MultiConnection2D_i
     Description : Functor for calculating number of faces conneted to the edge
   */
-  class MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
+  class SMESH_I_EXPORT MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
                             public virtual NumericalFunctor_i
   {
   public:
@@ -317,7 +319,7 @@ namespace SMESH
     Class       : Predicate_i
     Description : Base class for all predicates
   */
-  class Predicate_i: public virtual POA_SMESH::Predicate,
+  class SMESH_I_EXPORT Predicate_i: public virtual POA_SMESH::Predicate,
                     public virtual Functor_i
   {
   public:
@@ -334,7 +336,7 @@ namespace SMESH
     Description : Verify whether a mesh volume is incorrectly oriented from
     the point of view of MED convention
   */
-  class BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
+  class SMESH_I_EXPORT BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
                             public virtual Predicate_i
   {
   public:
@@ -346,7 +348,7 @@ namespace SMESH
     Class       : BelongToGeom_i
     Description : Predicate for selection on geometrical support
   */
-  class BelongToGeom_i: public virtual POA_SMESH::BelongToGeom,
+  class SMESH_I_EXPORT BelongToGeom_i: public virtual POA_SMESH::BelongToGeom,
                        public virtual Predicate_i
   {
   public:
@@ -374,7 +376,7 @@ namespace SMESH
     Class       : BelongToSurface_i
     Description : Verify whether mesh element lie in pointed Geom planar object
   */
-  class BelongToSurface_i: public virtual POA_SMESH::BelongToSurface,
+  class SMESH_I_EXPORT BelongToSurface_i: public virtual POA_SMESH::BelongToSurface,
                           public virtual Predicate_i
   {
   public:
@@ -390,7 +392,7 @@ namespace SMESH
 
     void                            SetTolerance( CORBA::Double );
     CORBA::Double                   GetTolerance();
-    
+
   protected:
     Controls::ElementsOnSurfacePtr  myElementsOnSurfacePtr;
     char*                           myShapeName;
@@ -402,7 +404,7 @@ namespace SMESH
     Class       : BelongToPlane_i
     Description : Verify whether mesh element lie in pointed Geom planar object
   */
-  class BelongToPlane_i: public virtual POA_SMESH::BelongToPlane,
+  class SMESH_I_EXPORT BelongToPlane_i: public virtual POA_SMESH::BelongToPlane,
                         public virtual BelongToSurface_i
   {
   public:
@@ -415,7 +417,7 @@ namespace SMESH
     Class       : BelongToCylinder_i
     Description : Verify whether mesh element lie in pointed Geom cylindrical object
   */
-  class BelongToCylinder_i: public virtual POA_SMESH::BelongToCylinder,
+  class SMESH_I_EXPORT BelongToCylinder_i: public virtual POA_SMESH::BelongToCylinder,
                            public virtual BelongToSurface_i
   {
   public:
@@ -423,12 +425,12 @@ namespace SMESH
     void                            SetCylinder( GEOM::GEOM_Object_ptr theGeom, ElementType theType );
     FunctorType                     GetFunctorType();
   };
-  
+
   /*
     Class       : LyingOnGeom_i
     Description : Predicate for selection on geometrical support(lying or partially lying)
   */
-  class LyingOnGeom_i: public virtual POA_SMESH::LyingOnGeom,
+  class SMESH_I_EXPORT LyingOnGeom_i: public virtual POA_SMESH::LyingOnGeom,
                       public virtual Predicate_i
   {
   public:
@@ -456,7 +458,7 @@ namespace SMESH
     Class       : FreeBorders_i
     Description : Predicate for free borders
   */
-  class FreeBorders_i: public virtual POA_SMESH::FreeBorders,
+  class SMESH_I_EXPORT FreeBorders_i: public virtual POA_SMESH::FreeBorders,
                       public virtual Predicate_i
   {
   public:
@@ -469,7 +471,7 @@ namespace SMESH
     Class       : FreeEdges_i
     Description : Predicate for free edges
   */
-  class FreeEdges_i: public virtual POA_SMESH::FreeEdges,
+  class SMESH_I_EXPORT FreeEdges_i: public virtual POA_SMESH::FreeEdges,
                     public virtual Predicate_i
   {
   public:
@@ -486,7 +488,7 @@ namespace SMESH
     Class       : RangeOfIds_i
     Description : Predicate for Range of Ids
   */
-  class RangeOfIds_i: public virtual POA_SMESH::RangeOfIds,
+  class SMESH_I_EXPORT RangeOfIds_i: public virtual POA_SMESH::RangeOfIds,
                      public virtual Predicate_i
   {
   public:
@@ -506,7 +508,7 @@ namespace SMESH
     Class       : Comparator_i
     Description : Base class for comparators
   */
-  class Comparator_i: public virtual POA_SMESH::Comparator,
+  class SMESH_I_EXPORT Comparator_i: public virtual POA_SMESH::Comparator,
                      public virtual Predicate_i
   {
   public:
@@ -531,7 +533,7 @@ namespace SMESH
     Class       : LessThan_i
     Description : Comparator "<"
   */
-  class LessThan_i: public virtual POA_SMESH::LessThan,
+  class SMESH_I_EXPORT LessThan_i: public virtual POA_SMESH::LessThan,
                    public virtual Comparator_i
   {
   public:
@@ -544,7 +546,7 @@ namespace SMESH
     Class       : MoreThan_i
     Description : Comparator ">"
   */
-  class MoreThan_i: public virtual POA_SMESH::MoreThan,
+  class SMESH_I_EXPORT MoreThan_i: public virtual POA_SMESH::MoreThan,
                    public virtual Comparator_i
   {
   public:
@@ -557,7 +559,7 @@ namespace SMESH
     Class       : EqualTo_i
     Description : Comparator "="
   */
-  class EqualTo_i: public virtual POA_SMESH::EqualTo,
+  class SMESH_I_EXPORT EqualTo_i: public virtual POA_SMESH::EqualTo,
                   public virtual Comparator_i
   {
   public:
@@ -575,7 +577,7 @@ namespace SMESH
     Class       : LogicalNOT_i
     Description : Logical NOT predicate
   */
-  class LogicalNOT_i: public virtual POA_SMESH::LogicalNOT,
+  class SMESH_I_EXPORT LogicalNOT_i: public virtual POA_SMESH::LogicalNOT,
                      public virtual Predicate_i
   {
   public:
@@ -596,7 +598,7 @@ namespace SMESH
     Class       : LogicalBinary_i
     Description : Base class for binary logical predicate
   */
-  class LogicalBinary_i: public virtual POA_SMESH::LogicalBinary,
+  class SMESH_I_EXPORT LogicalBinary_i: public virtual POA_SMESH::LogicalBinary,
                         public virtual Predicate_i
   {
   public:
@@ -622,7 +624,7 @@ namespace SMESH
     Class       : LogicalAND_i
     Description : Logical AND
   */
-  class LogicalAND_i: public virtual POA_SMESH::LogicalAND,
+  class SMESH_I_EXPORT LogicalAND_i: public virtual POA_SMESH::LogicalAND,
                      public virtual LogicalBinary_i
   {
   public:
@@ -635,7 +637,7 @@ namespace SMESH
     Class       : LogicalOR_i
     Description : Logical OR
   */
-  class LogicalOR_i: public virtual POA_SMESH::LogicalOR,
+  class SMESH_I_EXPORT LogicalOR_i: public virtual POA_SMESH::LogicalOR,
                     public virtual LogicalBinary_i
   {
   public:
@@ -647,7 +649,7 @@ namespace SMESH
   /*
     FILTER
   */
-  class Filter_i: public virtual POA_SMESH::Filter,
+  class SMESH_I_EXPORT Filter_i: public virtual POA_SMESH::Filter,
                  public virtual SALOME::GenericObj_i
   {
   public:
@@ -709,7 +711,7 @@ namespace SMESH
   /*
     FILTER LIBRARY
   */
-  class FilterLibrary_i: public virtual POA_SMESH::FilterLibrary,
+  class SMESH_I_EXPORT FilterLibrary_i: public virtual POA_SMESH::FilterLibrary,
                         public virtual SALOME::GenericObj_i
   {
   public:
@@ -747,7 +749,7 @@ namespace SMESH
     FILTER MANAGER
   */
   
-  class FilterManager_i: public virtual POA_SMESH::FilterManager,
+  class SMESH_I_EXPORT FilterManager_i: public virtual POA_SMESH::FilterManager,
                         public virtual SALOME::GenericObj_i
   {
   public:
index 9ba8783a347939833c969be77d27e4194e9bf338..31ad919b62b3db1ebe743aff629f06a2c5e8ecbb 100644 (file)
 #include "utilities.h"
 #include <fstream>
 #include <stdio.h>
-#include <dlfcn.h>
+
+#ifdef WNT
+ #include <windows.h>
+#else
+ #include <dlfcn.h>
+#endif
+
+#ifdef WNT
+ #define LibHandle HMODULE
+ #define LoadLib( name ) LoadLibrary( name )
+ #define GetProc GetProcAddress
+ #define UnLoadLib( handle ) FreeLibrary( handle );
+#else
+ #define LibHandle void*
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY )
+ #define GetProc dlsym
+ #define UnLoadLib( handle ) dlclose( handle );
+#endif
 
 #include <HDFOI.hxx>
 
@@ -102,7 +119,7 @@ using SMESH::TPythonDump;
 #define NUM_TMP_FILES 2
 
 #ifdef _DEBUG_
-static int MYDEBUG = 1;
+static int MYDEBUG = 0;
 #else
 static int MYDEBUG = 0;
 #endif
@@ -296,8 +313,51 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName
                                                           const char* theLibName)
      throw (SALOME::SALOME_Exception)
 {
+  /* It's Need to tranlate lib name for WIN32 or X platform */
+  char* aPlatformLibName = 0;
+  if ( theLibName && theLibName[0] != '\0'  )
+  {
+    int libNameLen = strlen(theLibName);
+    //check for old format "libXXXXXXX.so"
+    if( libNameLen > 7 && !strncmp( theLibName, "lib", 3 ) && !strcmp( theLibName+libNameLen-3, ".so" ) )
+      {
+       //the old format
+#ifdef WNT
+       aPlatformLibName = new char[libNameLen - 1];
+       aPlatformLibName[0] = '\0';
+       aPlatformLibName = strncat( aPlatformLibName, theLibName+3, libNameLen-6  );
+       aPlatformLibName = strcat( aPlatformLibName, ".dll" );
+  aPlatformLibName[libNameLen - 2] = '\0';
+#else
+       aPlatformLibName = new char[ libNameLen + 1];
+       aPlatformLibName[0] = '\0';
+       aPlatformLibName = strcat( aPlatformLibName, theLibName );
+  aPlatformLibName[libNameLen] = '\0';
+#endif
+
+      }
+    else
+      {
+       //try to use new format 
+#ifdef WNT
+       aPlatformLibName = new char[ libNameLen + 5 ];
+       aPlatformLibName[0] = '\0';
+       aPlatformLibName = strcat( aPlatformLibName, theLibName );
+       aPlatformLibName = strcat( aPlatformLibName, ".dll" );
+#else
+       aPlatformLibName = new char[ libNameLen + 7 ];
+       aPlatformLibName[0] = '\0';
+       aPlatformLibName = strcat( aPlatformLibName, "lib" );
+       aPlatformLibName = strcat( aPlatformLibName, theLibName );
+       aPlatformLibName = strcat( aPlatformLibName, ".so" );
+#endif
+      }
+  }
+  
+
+
   Unexpect aCatch(SALOME_SalomeException);
-  if(MYDEBUG) MESSAGE( "Create Hypothesis <" << theHypName << "> from " << theLibName);
+  if(MYDEBUG) MESSAGE( "Create Hypothesis <" << theHypName << "> from " << aPlatformLibName/*theLibName*/);
 
   // create a new hypothesis object servant
   SMESH_Hypothesis_i* myHypothesis_i = 0;
@@ -310,23 +370,27 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName
     {
       // load plugin library
       if(MYDEBUG) MESSAGE("Loading server meshers plugin library ...");
-      void* libHandle = dlopen (theLibName, RTLD_LAZY);
+      LibHandle libHandle = LoadLib( aPlatformLibName/*theLibName*/ );
       if (!libHandle)
       {
         // report any error, if occured
+#ifndef WNT
         const char* anError = dlerror();
         throw(SALOME_Exception(anError));
+#else
+        throw(SALOME_Exception(LOCALIZED( "Can't load server meshers plugin library" )));
+#endif
       }
 
       // get method, returning hypothesis creator
       if(MYDEBUG) MESSAGE("Find GetHypothesisCreator() method ...");
       typedef GenericHypothesisCreator_i* (*GetHypothesisCreator)(const char* theHypName);
       GetHypothesisCreator procHandle =
-        (GetHypothesisCreator)dlsym( libHandle, "GetHypothesisCreator" );
+        (GetHypothesisCreator)GetProc( libHandle, "GetHypothesisCreator" );
       if (!procHandle)
       {
         throw(SALOME_Exception(LOCALIZED("bad hypothesis plugin library")));
-        dlclose(libHandle);
+        UnLoadLib(libHandle);
       }
 
       // get hypothesis creator
@@ -345,22 +409,23 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName
     if(MYDEBUG) MESSAGE("Create Hypothesis " << theHypName);
     myHypothesis_i =
       myHypCreatorMap[string(theHypName)]->Create (myPoa, GetCurrentStudyID(), &myGen);
-    // _CS_gbo Explicit activation (no longer made in the constructor).
-    myHypothesis_i->Activate();
-    myHypothesis_i->SetLibName(theLibName); // for persistency assurance
+    myHypothesis_i->SetLibName(aPlatformLibName/*theLibName*/); // for persistency assurance
   }
   catch (SALOME_Exception& S_ex)
   {
     THROW_SALOME_CORBA_EXCEPTION(S_ex.what(), SALOME::BAD_PARAM);
   }
 
+  if ( aPlatformLibName )
+    delete[] aPlatformLibName;
+
   if (!myHypothesis_i)
     return hypothesis_i._retn();
 
   // activate the CORBA servant of hypothesis
   hypothesis_i = SMESH::SMESH_Hypothesis::_narrow( myHypothesis_i->_this() );
   int nextId = RegisterObject( hypothesis_i );
-  if(MYDEBUG) MESSAGE( "Add hypo to map with id = "<< nextId );
+  if(MYDEBUG) MESSAGE( "Add hypo to map with id = "<< nextId );  
 
   return hypothesis_i._retn();
 }
@@ -426,18 +491,23 @@ void SMESH_Gen_i::SetEmbeddedMode( CORBA::Boolean theMode )
   myIsEmbeddedMode = theMode;
 
   if ( !myIsEmbeddedMode ) {
-    bool raiseFPE;
+    //PAL10867: disable signals catching with "noexcepthandler" option
+    char* envNoCatchSignals = getenv("NOT_INTERCEPT_SIGNALS");
+    if (!envNoCatchSignals || !atoi(envNoCatchSignals))
+    {
+      bool raiseFPE;
 #ifdef _DEBUG_
-    raiseFPE = true;
-    char* envDisableFPE = getenv("DISABLE_FPE");
-    if (envDisableFPE && atoi(envDisableFPE))
-      raiseFPE = false;
+      raiseFPE = true;
+      char* envDisableFPE = getenv("DISABLE_FPE");
+      if (envDisableFPE && atoi(envDisableFPE))
+        raiseFPE = false;
 #else
-    raiseFPE = false;
+      raiseFPE = false;
 #endif
-    OSD::SetSignal( raiseFPE );
+      OSD::SetSignal( raiseFPE );
+    }
+    // else OSD::SetSignal() is called in GUI
   }
-  // else OSD::SetSignal() is called in GUI
 }
 
 //=============================================================================
@@ -929,6 +999,7 @@ SMESH::algo_error_array* SMESH_Gen_i::GetAlgoState( SMESH::SMESH_Mesh_ptr theMes
         case ::SMESH_Gen::MISSING_ALGO:     errName = SMESH::MISSING_ALGO; break;
         case ::SMESH_Gen::MISSING_HYPO:     errName = SMESH::MISSING_HYPO; break;
         case ::SMESH_Gen::NOT_CONFORM_MESH: errName = SMESH::NOT_CONFORM_MESH; break;
+        case ::SMESH_Gen::BAD_PARAM_VALUE:  errName = SMESH::BAD_PARAM_VALUE; break;
         default:
           THROW_SALOME_CORBA_EXCEPTION( "bad error name",SALOME::BAD_PARAM );
         }
@@ -1081,7 +1152,7 @@ CORBA::Boolean SMESH_Gen_i::Compute( SMESH::SMESH_Mesh_ptr theMesh,
   // Update Python script
   TPythonDump() << "isDone = " << this << ".Compute( "
                 << theMesh << ", " << theShapeObject << ")";
-  TPythonDump() << "if not isDone: print 'Mesh " << theMesh << " : computation failed'";
+  TPythonDump() << "if not isDone: print 'Mesh', " << theMesh << ", ': computation failed'";
 
   try {
     // get mesh servant
@@ -1095,6 +1166,10 @@ CORBA::Boolean SMESH_Gen_i::Compute( SMESH::SMESH_Mesh_ptr theMesh,
       return myGen.Compute( myLocMesh, myLocShape);
     }
   }
+  catch ( std::bad_alloc& exc ) {
+    THROW_SALOME_CORBA_EXCEPTION( "Memory allocation problem",
+                                  SALOME::INTERNAL_ERROR );
+  }
   catch ( SALOME_Exception& S_ex ) {
     INFOS( "Compute(): catch exception "<< S_ex.what() );
   }
@@ -1121,6 +1196,41 @@ SMESH_Gen_i::GetGeometryByMeshElement( SMESH::SMESH_Mesh_ptr  theMesh,
   throw ( SALOME::SALOME_Exception )
 {
   Unexpect aCatch(SALOME_SalomeException);
+  GEOM::GEOM_Object_var geom = FindGeometryByMeshElement(theMesh, theElementID);
+  if ( !geom->_is_nil() ) {
+    GEOM::GEOM_Object_var mainShape = theMesh->GetShapeToMesh();
+    GEOM::GEOM_Gen_var    geomGen   = GetGeomEngine();
+
+    // try to find the corresponding SObject
+    GeomObjectToShape( geom ); // geom client remembers the found shape
+    SALOMEDS::SObject_var SObj = ObjectToSObject( myCurrentStudy, geom.in() );
+    if ( SObj->_is_nil() )
+      // publish a new subshape
+      SObj = geomGen->AddInStudy( myCurrentStudy, geom, theGeomName, mainShape );
+    // return only published geometry
+    if ( !SObj->_is_nil() )
+      return geom._retn();
+  }
+  return GEOM::GEOM_Object::_nil();
+}
+
+
+//================================================================================
+/*!
+ * \brief Return geometrical object the given element is built on.
+ *  \param theMesh - the mesh the element is in
+ *  \param theElementID - the element ID
+ *  \retval GEOM::GEOM_Object_ptr - the found geom object
+ */
+//================================================================================
+
+GEOM::GEOM_Object_ptr
+SMESH_Gen_i::FindGeometryByMeshElement( SMESH::SMESH_Mesh_ptr  theMesh,
+                                   CORBA::Long            theElementID)
+  throw ( SALOME::SALOME_Exception )
+{
+  Unexpect aCatch(SALOME_SalomeException);
   if ( CORBA::is_nil( theMesh ) )
     THROW_SALOME_CORBA_EXCEPTION( "bad Mesh reference", SALOME::BAD_PARAM );
 
@@ -1145,17 +1255,8 @@ SMESH_Gen_i::GetGeometryByMeshElement( SMESH::SMESH_Mesh_ptr  theMesh,
           if ( !op->_is_nil() )
             geom = op->GetSubShape( mainShape, shapeID );
         }
-        if ( !geom->_is_nil() ) {
-          // try to find the corresponding SObject
-          GeomObjectToShape( geom ); // geom client remembers the found shape
-          SALOMEDS::SObject_var SObj = ObjectToSObject( myCurrentStudy, geom.in() );
-          if ( SObj->_is_nil() )
-            // publish a new subshape
-            SObj = geomGen->AddInStudy( myCurrentStudy, geom, theGeomName, mainShape );
-          // return only published geometry
-          if ( !SObj->_is_nil() )
-            return geom._retn();
-        }
+        if ( !geom->_is_nil() )
+         return geom._retn();
       }
   }
   return GEOM::GEOM_Object::_nil();
@@ -1174,21 +1275,21 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 {
   INFOS( "SMESH_Gen_i::Save" );
 
-//  ASSERT( theComponent->GetStudy()->StudyId() == myCurrentStudy->StudyId() )
+  //  ASSERT( theComponent->GetStudy()->StudyId() == myCurrentStudy->StudyId() )
   // san -- in case <myCurrentStudy> differs from theComponent's study,
   // use that of the component
   if ( myCurrentStudy->_is_nil() || 
-       theComponent->GetStudy()->StudyId() != myCurrentStudy->StudyId() )
+    theComponent->GetStudy()->StudyId() != myCurrentStudy->StudyId() )
     SetCurrentStudy( theComponent->GetStudy() );
 
   // Store study contents as a set of python commands
   SavePython(myCurrentStudy);
 
   StudyContext* myStudyContext = GetCurrentStudyContext();
-  
+
   // Declare a byte stream
   SALOMEDS::TMPFile_var aStreamFile;
-  
+
   // Obtain a temporary dir
   TCollection_AsciiString tmpDir =
     ( isMultiFile ) ? TCollection_AsciiString( ( char* )theURL ) : ( char* )SALOMEDS_Tool::GetTmpDir().c_str();
@@ -1221,7 +1322,12 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 
 
   //Remove the files if they exist: BugID: 11225
+#ifndef WNT /* unix functionality */
   TCollection_AsciiString cmd("rm -f \"");
+#else /* windows */
+  TCollection_AsciiString cmd("del /F \"");
+#endif
+
   cmd+=filename;
   cmd+="\" \"";
   cmd+=meshfile;
@@ -1252,45 +1358,57 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
       SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( gotBranch );
       for ( ; it->More(); it->Next() ) {
         SALOMEDS::SObject_var mySObject = it->Value();
-       CORBA::Object_var anObject = SObjectToObject( mySObject );
-       if ( !CORBA::is_nil( anObject ) ) {
+        CORBA::Object_var anObject = SObjectToObject( mySObject );
+        if ( !CORBA::is_nil( anObject ) ) {
           SMESH::SMESH_Hypothesis_var myHyp = SMESH::SMESH_Hypothesis::_narrow( anObject );
           if ( !myHyp->_is_nil() ) {
-           SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
-           if ( myImpl ) {
-             string hypname = string( myHyp->GetName() );
-             string libname = string( myHyp->GetLibName() );
-             int    id      = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-             string hypdata = string( myImpl->SaveTo() );
-
-             // for each hypothesis create HDF group basing on its id
-             char hypGrpName[30];
-             sprintf( hypGrpName, "Hypothesis %d", id );
-             aGroup = new HDFgroup( hypGrpName, aTopGroup );
-             aGroup->CreateOnDisk();
-             // --> type name of hypothesis
-             aSize[ 0 ] = hypname.length() + 1;
-             aDataset = new HDFdataset( "Name", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( hypname.c_str() ) );
-             aDataset->CloseOnDisk();
-             // --> server plugin library name of hypothesis
-             aSize[ 0 ] = libname.length() + 1;
-             aDataset = new HDFdataset( "LibName", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( libname.c_str() ) );
-             aDataset->CloseOnDisk();
-             // --> persistent data of hypothesis
-             aSize[ 0 ] = hypdata.length() + 1;
-             aDataset = new HDFdataset( "Data", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( hypdata.c_str() ) );
-             aDataset->CloseOnDisk();
-             // close hypothesis HDF group
-             aGroup->CloseOnDisk();
-           }
-         }
-       }
+            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
+            if ( myImpl ) {
+              string hypname = string( myHyp->GetName() );
+              string libname = string( myHyp->GetLibName() );
+              // BUG SWP13062
+              // Needs for save crossplatform libname, i.e. parth of name ( ".dll" for
+              // WNT and ".so" for X-system) must be deleted
+              int libname_len = libname.length();
+#ifdef WNT
+              if( libname_len > 4 )
+                libname.resize( libname_len - 4 );
+#else
+              if( libname_len > 3 )
+                libname.resize( libname_len - 3 );
+#endif
+              CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+              int    id      = myStudyContext->findId( string( objStr.in() ) );
+              string hypdata = string( myImpl->SaveTo() );
+
+              // for each hypothesis create HDF group basing on its id
+              char hypGrpName[30];
+              sprintf( hypGrpName, "Hypothesis %d", id );
+              aGroup = new HDFgroup( hypGrpName, aTopGroup );
+              aGroup->CreateOnDisk();
+              // --> type name of hypothesis
+              aSize[ 0 ] = hypname.length() + 1;
+              aDataset = new HDFdataset( "Name", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( hypname.c_str() ) );
+              aDataset->CloseOnDisk();
+              // --> server plugin library name of hypothesis
+              aSize[ 0 ] = libname.length() + 1;
+              aDataset = new HDFdataset( "LibName", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( libname.c_str() ) );
+              aDataset->CloseOnDisk();
+              // --> persistent data of hypothesis
+              aSize[ 0 ] = hypdata.length() + 1;
+              aDataset = new HDFdataset( "Data", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( hypdata.c_str() ) );
+              aDataset->CloseOnDisk();
+              // close hypothesis HDF group
+              aGroup->CloseOnDisk();
+            }
+          }
+        }
       }
       // close hypotheses root HDF group
       aTopGroup->CloseOnDisk();
@@ -1305,45 +1423,57 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
       SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( gotBranch );
       for ( ; it->More(); it->Next() ) {
         SALOMEDS::SObject_var mySObject = it->Value();
-       CORBA::Object_var anObject = SObjectToObject( mySObject );
-       if ( !CORBA::is_nil( anObject ) ) {
+        CORBA::Object_var anObject = SObjectToObject( mySObject );
+        if ( !CORBA::is_nil( anObject ) ) {
           SMESH::SMESH_Hypothesis_var myHyp = SMESH::SMESH_Hypothesis::_narrow( anObject );
           if ( !myHyp->_is_nil() ) {
-           SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
-           if ( myImpl ) {
-             string hypname = string( myHyp->GetName() );
-             string libname = string( myHyp->GetLibName() );
-             int    id      = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-             string hypdata = string( myImpl->SaveTo() );
-
-             // for each algorithm create HDF group basing on its id
-             char hypGrpName[30];
-             sprintf( hypGrpName, "Algorithm %d", id );
-             aGroup = new HDFgroup( hypGrpName, aTopGroup );
-             aGroup->CreateOnDisk();
-             // --> type name of algorithm
-             aSize[0] = hypname.length() + 1;
-             aDataset = new HDFdataset( "Name", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( hypname.c_str() ) );
-             aDataset->CloseOnDisk();
-             // --> server plugin library name of hypothesis
-             aSize[0] = libname.length() + 1;
-             aDataset = new HDFdataset( "LibName", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( libname.c_str() ) );
-             aDataset->CloseOnDisk();
-             // --> persistent data of algorithm
-             aSize[0] = hypdata.length() + 1;
-             aDataset = new HDFdataset( "Data", aGroup, HDF_STRING, aSize, 1 );
-             aDataset->CreateOnDisk();
-             aDataset->WriteOnDisk( ( char* )( hypdata.c_str() ) );
-             aDataset->CloseOnDisk();
-             // close algorithm HDF group
-             aGroup->CloseOnDisk();
-           }
-         }
-       }
+            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
+            if ( myImpl ) {
+              string hypname = string( myHyp->GetName() );
+              string libname = string( myHyp->GetLibName() );
+              // BUG SWP13062
+              // Needs for save crossplatform libname, i.e. parth of name ( ".dll" for
+              // WNT and ".so" for X-system) must be deleted
+              int libname_len = libname.length();
+#ifdef WNT
+              if( libname_len > 4 )
+                libname.resize( libname_len - 4 );
+#else
+              if( libname_len > 3 )
+                libname.resize( libname_len - 3 );
+#endif
+              CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+              int    id      = myStudyContext->findId( string( objStr.in() ) );
+              string hypdata = string( myImpl->SaveTo() );
+
+              // for each algorithm create HDF group basing on its id
+              char hypGrpName[30];
+              sprintf( hypGrpName, "Algorithm %d", id );
+              aGroup = new HDFgroup( hypGrpName, aTopGroup );
+              aGroup->CreateOnDisk();
+              // --> type name of algorithm
+              aSize[0] = hypname.length() + 1;
+              aDataset = new HDFdataset( "Name", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( hypname.c_str() ) );
+              aDataset->CloseOnDisk();
+              // --> server plugin library name of hypothesis
+              aSize[0] = libname.length() + 1;
+              aDataset = new HDFdataset( "LibName", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( libname.c_str() ) );
+              aDataset->CloseOnDisk();
+              // --> persistent data of algorithm
+              aSize[0] = hypdata.length() + 1;
+              aDataset = new HDFdataset( "Data", aGroup, HDF_STRING, aSize, 1 );
+              aDataset->CreateOnDisk();
+              aDataset->WriteOnDisk( ( char* )( hypdata.c_str() ) );
+              aDataset->CloseOnDisk();
+              // close algorithm HDF group
+              aGroup->CloseOnDisk();
+            }
+          }
+        }
       }
       // close algorithms root HDF group
       aTopGroup->CloseOnDisk();
@@ -1352,152 +1482,155 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
     else if ( gotBranch->Tag() > GetAlgorithmsRootTag() ) {
       CORBA::Object_var anObject = SObjectToObject( gotBranch );
       if ( !CORBA::is_nil( anObject ) ) {
-       SMESH::SMESH_Mesh_var myMesh = SMESH::SMESH_Mesh::_narrow( anObject ) ;
+        SMESH::SMESH_Mesh_var myMesh = SMESH::SMESH_Mesh::_narrow( anObject ) ;
         if ( !myMesh->_is_nil() ) {
-         SMESH_Mesh_i* myImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( myMesh ).in() );
-         if ( myImpl ) {
-           int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-           ::SMESH_Mesh& myLocMesh = myImpl->GetImpl();
-           SMESHDS_Mesh* mySMESHDSMesh = myLocMesh.GetMeshDS();
-
-           // for each mesh open the HDF group basing on its id
-           char meshGrpName[ 30 ];
-           sprintf( meshGrpName, "Mesh %d", id );
-           aTopGroup = new HDFgroup( meshGrpName, aFile );
-           aTopGroup->CreateOnDisk();
-
-           // --> put dataset to hdf file which is a flag that mesh has data
-           string strHasData = "0";
-           // check if the mesh is not empty
-           if ( mySMESHDSMesh->NbNodes() > 0 ) {
-             // write mesh data to med file
-             myWriter.SetMesh( mySMESHDSMesh );
-             myWriter.SetMeshId( id );
-             strHasData = "1";
-           }
-           aSize[ 0 ] = strHasData.length() + 1;
-           aDataset = new HDFdataset( "Has data", aTopGroup, HDF_STRING, aSize, 1 );
-           aDataset->CreateOnDisk();
-           aDataset->WriteOnDisk( ( char* )( strHasData.c_str() ) );
-           aDataset->CloseOnDisk();
-           
-           // write reference on a shape if exists
-           SALOMEDS::SObject_var myRef;
+          SMESH_Mesh_i* myImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( myMesh ).in() );
+          if ( myImpl ) {
+            CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+            int id = myStudyContext->findId( string( objStr.in() ) );
+            ::SMESH_Mesh& myLocMesh = myImpl->GetImpl();
+            SMESHDS_Mesh* mySMESHDSMesh = myLocMesh.GetMeshDS();
+
+            // for each mesh open the HDF group basing on its id
+            char meshGrpName[ 30 ];
+            sprintf( meshGrpName, "Mesh %d", id );
+            aTopGroup = new HDFgroup( meshGrpName, aFile );
+            aTopGroup->CreateOnDisk();
+
+            // --> put dataset to hdf file which is a flag that mesh has data
+            string strHasData = "0";
+            // check if the mesh is not empty
+            if ( mySMESHDSMesh->NbNodes() > 0 ) {
+              // write mesh data to med file
+              myWriter.SetMesh( mySMESHDSMesh );
+              myWriter.SetMeshId( id );
+              strHasData = "1";
+            }
+            aSize[ 0 ] = strHasData.length() + 1;
+            aDataset = new HDFdataset( "Has data", aTopGroup, HDF_STRING, aSize, 1 );
+            aDataset->CreateOnDisk();
+            aDataset->WriteOnDisk( ( char* )( strHasData.c_str() ) );
+            aDataset->CloseOnDisk();
+
+            // write reference on a shape if exists
+            SALOMEDS::SObject_var myRef;
             bool shapeRefFound = false;
-           bool found = gotBranch->FindSubObject( GetRefOnShapeTag(), myRef );
-           if ( found ) {
-             SALOMEDS::SObject_var myShape;
-             bool ok = myRef->ReferencedObject( myShape );
-             if ( ok ) {
+            bool found = gotBranch->FindSubObject( GetRefOnShapeTag(), myRef );
+            if ( found ) {
+              SALOMEDS::SObject_var myShape;
+              bool ok = myRef->ReferencedObject( myShape );
+              if ( ok ) {
                 shapeRefFound = (! CORBA::is_nil( myShape->GetObject() ));
-               string myRefOnObject = myShape->GetID();
-               if ( shapeRefFound && myRefOnObject.length() > 0 ) {
-                 aSize[ 0 ] = myRefOnObject.length() + 1;
-                 aDataset = new HDFdataset( "Ref on shape", aTopGroup, HDF_STRING, aSize, 1 );
-                 aDataset->CreateOnDisk();
-                 aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                 aDataset->CloseOnDisk();
-               }
-             }
-           }
+                string myRefOnObject = myShape->GetID();
+                if ( shapeRefFound && myRefOnObject.length() > 0 ) {
+                  aSize[ 0 ] = myRefOnObject.length() + 1;
+                  aDataset = new HDFdataset( "Ref on shape", aTopGroup, HDF_STRING, aSize, 1 );
+                  aDataset->CreateOnDisk();
+                  aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                  aDataset->CloseOnDisk();
+                }
+              }
+            }
 
-           // write applied hypotheses if exist
-           SALOMEDS::SObject_var myHypBranch;
-           found = gotBranch->FindSubObject( GetRefOnAppliedHypothesisTag(), myHypBranch );
-           if ( found && !shapeRefFound ) { // remove applied hyps
+            // write applied hypotheses if exist
+            SALOMEDS::SObject_var myHypBranch;
+            found = gotBranch->FindSubObject( GetRefOnAppliedHypothesisTag(), myHypBranch );
+            if ( found && !shapeRefFound ) { // remove applied hyps
               myCurrentStudy->NewBuilder()->RemoveObjectWithChildren( myHypBranch );
             }
-           if ( found && shapeRefFound ) {
-             aGroup = new HDFgroup( "Applied Hypotheses", aTopGroup );
-             aGroup->CreateOnDisk();
-
-             SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( myHypBranch );
-             int hypNb = 0;
-             for ( ; it->More(); it->Next() ) {
-               SALOMEDS::SObject_var mySObject = it->Value();
-               SALOMEDS::SObject_var myRefOnHyp;
-               bool ok = mySObject->ReferencedObject( myRefOnHyp );
-               if ( ok ) {
-                 // san - it is impossible to recover applied hypotheses
+            if ( found && shapeRefFound ) {
+              aGroup = new HDFgroup( "Applied Hypotheses", aTopGroup );
+              aGroup->CreateOnDisk();
+
+              SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( myHypBranch );
+              int hypNb = 0;
+              for ( ; it->More(); it->Next() ) {
+                SALOMEDS::SObject_var mySObject = it->Value();
+                SALOMEDS::SObject_var myRefOnHyp;
+                bool ok = mySObject->ReferencedObject( myRefOnHyp );
+                if ( ok ) {
+                  // san - it is impossible to recover applied hypotheses
                   //       using their entries within Load() method,
-                 // for there are no AttributeIORs in the study when Load() is working. 
-                 // Hence, it is better to store persistent IDs of hypotheses as references to them
-
-                 //string myRefOnObject = myRefOnHyp->GetID();
-                 CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
-                 int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-                 //if ( myRefOnObject.length() > 0 ) {
-                 //aSize[ 0 ] = myRefOnObject.length() + 1;
-                 char hypName[ 30 ], hypId[ 30 ];
-                 sprintf( hypName, "Hyp %d", ++hypNb );
-                 sprintf( hypId, "%d", id );
-                 aSize[ 0 ] = strlen( hypId ) + 1;
-                 aDataset = new HDFdataset( hypName, aGroup, HDF_STRING, aSize, 1 );
-                 aDataset->CreateOnDisk();
-                 //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                 aDataset->WriteOnDisk( hypId );
-                 aDataset->CloseOnDisk();
-                 //}
-               }
-             }
-             aGroup->CloseOnDisk();
-           }
+                  // for there are no AttributeIORs in the study when Load() is working. 
+                  // Hence, it is better to store persistent IDs of hypotheses as references to them
+
+                  //string myRefOnObject = myRefOnHyp->GetID();
+                  CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
+                  CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+                  int id = myStudyContext->findId( string( objStr.in() ) );
+                  //if ( myRefOnObject.length() > 0 ) {
+                  //aSize[ 0 ] = myRefOnObject.length() + 1;
+                  char hypName[ 30 ], hypId[ 30 ];
+                  sprintf( hypName, "Hyp %d", ++hypNb );
+                  sprintf( hypId, "%d", id );
+                  aSize[ 0 ] = strlen( hypId ) + 1;
+                  aDataset = new HDFdataset( hypName, aGroup, HDF_STRING, aSize, 1 );
+                  aDataset->CreateOnDisk();
+                  //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                  aDataset->WriteOnDisk( hypId );
+                  aDataset->CloseOnDisk();
+                  //}
+                }
+              }
+              aGroup->CloseOnDisk();
+            }
 
-           // write applied algorithms if exist
-           SALOMEDS::SObject_var myAlgoBranch;
-           found = gotBranch->FindSubObject( GetRefOnAppliedAlgorithmsTag(), myAlgoBranch );
-           if ( found && !shapeRefFound ) { // remove applied algos
+            // write applied algorithms if exist
+            SALOMEDS::SObject_var myAlgoBranch;
+            found = gotBranch->FindSubObject( GetRefOnAppliedAlgorithmsTag(), myAlgoBranch );
+            if ( found && !shapeRefFound ) { // remove applied algos
               myCurrentStudy->NewBuilder()->RemoveObjectWithChildren( myAlgoBranch );
             }
-           if ( found && shapeRefFound ) {
-             aGroup = new HDFgroup( "Applied Algorithms", aTopGroup );
-             aGroup->CreateOnDisk();
-
-             SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( myAlgoBranch );
-             int algoNb = 0;
-             for ( ; it->More(); it->Next() ) {
-               SALOMEDS::SObject_var mySObject = it->Value();
-               SALOMEDS::SObject_var myRefOnAlgo;
-               bool ok = mySObject->ReferencedObject( myRefOnAlgo );
-               if ( ok ) {
-                 // san - it is impossible to recover applied algorithms
+            if ( found && shapeRefFound ) {
+              aGroup = new HDFgroup( "Applied Algorithms", aTopGroup );
+              aGroup->CreateOnDisk();
+
+              SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( myAlgoBranch );
+              int algoNb = 0;
+              for ( ; it->More(); it->Next() ) {
+                SALOMEDS::SObject_var mySObject = it->Value();
+                SALOMEDS::SObject_var myRefOnAlgo;
+                bool ok = mySObject->ReferencedObject( myRefOnAlgo );
+                if ( ok ) {
+                  // san - it is impossible to recover applied algorithms
                   //       using their entries within Load() method,
-                 // for there are no AttributeIORs in the study when Load() is working. 
-                 // Hence, it is better to store persistent IDs of algorithms as references to them
-
-                 //string myRefOnObject = myRefOnAlgo->GetID();
-                 CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
-                 int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-                 //if ( myRefOnObject.length() > 0 ) {
-                 //aSize[ 0 ] = myRefOnObject.length() + 1;
-                 char algoName[ 30 ], algoId[ 30 ];
-                 sprintf( algoName, "Algo %d", ++algoNb );
-                 sprintf( algoId, "%d", id );
-                 aSize[ 0 ] = strlen( algoId ) + 1;
-                 aDataset = new HDFdataset( algoName, aGroup, HDF_STRING, aSize, 1 );
-                 aDataset->CreateOnDisk();
-                 //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                 aDataset->WriteOnDisk( algoId );
-                 aDataset->CloseOnDisk();
-                 //}
-               }
-             }
-             aGroup->CloseOnDisk();
-           }
+                  // for there are no AttributeIORs in the study when Load() is working. 
+                  // Hence, it is better to store persistent IDs of algorithms as references to them
+
+                  //string myRefOnObject = myRefOnAlgo->GetID();
+                  CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
+                  CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+                  int id = myStudyContext->findId( string( objStr.in() ) );
+                  //if ( myRefOnObject.length() > 0 ) {
+                  //aSize[ 0 ] = myRefOnObject.length() + 1;
+                  char algoName[ 30 ], algoId[ 30 ];
+                  sprintf( algoName, "Algo %d", ++algoNb );
+                  sprintf( algoId, "%d", id );
+                  aSize[ 0 ] = strlen( algoId ) + 1;
+                  aDataset = new HDFdataset( algoName, aGroup, HDF_STRING, aSize, 1 );
+                  aDataset->CreateOnDisk();
+                  //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                  aDataset->WriteOnDisk( algoId );
+                  aDataset->CloseOnDisk();
+                  //}
+                }
+              }
+              aGroup->CloseOnDisk();
+            }
 
-           // --> submesh objects sub-branches
+            // --> submesh objects sub-branches
 
-           for ( int i = GetSubMeshOnVertexTag(); i <= GetSubMeshOnCompoundTag(); i++ ) {
-             SALOMEDS::SObject_var mySubmeshBranch;
-             found = gotBranch->FindSubObject( i, mySubmeshBranch );
+            for ( int i = GetSubMeshOnVertexTag(); i <= GetSubMeshOnCompoundTag(); i++ ) {
+              SALOMEDS::SObject_var mySubmeshBranch;
+              found = gotBranch->FindSubObject( i, mySubmeshBranch );
 
               if ( found ) // check if there is shape reference in submeshes
               {
                 bool hasShapeRef = false;
-               SALOMEDS::ChildIterator_var itSM =
+                SALOMEDS::ChildIterator_var itSM =
                   myCurrentStudy->NewChildIterator( mySubmeshBranch );
-               for ( ; itSM->More(); itSM->Next() ) {
-                 SALOMEDS::SObject_var mySubRef, myShape, mySObject = itSM->Value();
+                for ( ; itSM->More(); itSM->Next() ) {
+                  SALOMEDS::SObject_var mySubRef, myShape, mySObject = itSM->Value();
                   if ( mySObject->FindSubObject( GetRefOnShapeTag(), mySubRef ))
                     mySubRef->ReferencedObject( myShape );
                   if ( !CORBA::is_nil( myShape ) && !CORBA::is_nil( myShape->GetObject() ))
@@ -1528,44 +1661,45 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                   found = false;
                 }
               }  // end check if there is shape reference in submeshes
-             if ( found ) {
-               char name_meshgroup[ 30 ];
-               if ( i == GetSubMeshOnVertexTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Vertex" );
-               else if ( i == GetSubMeshOnEdgeTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Edge" );
-               else if ( i == GetSubMeshOnWireTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Wire" );
-               else if ( i == GetSubMeshOnFaceTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Face" );
-               else if ( i == GetSubMeshOnShellTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Shell" );
-               else if ( i == GetSubMeshOnSolidTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Solid" );
-               else if ( i == GetSubMeshOnCompoundTag() )
-                 strcpy( name_meshgroup, "SubMeshes On Compound" );
-               
-               // for each type of submeshes create container HDF group
-               aGroup = new HDFgroup( name_meshgroup, aTopGroup );
-               aGroup->CreateOnDisk();
-           
-               // iterator for all submeshes of given type
-               SALOMEDS::ChildIterator_var itSM = myCurrentStudy->NewChildIterator( mySubmeshBranch );
-               for ( ; itSM->More(); itSM->Next() ) {
-                 SALOMEDS::SObject_var mySObject = itSM->Value();
-                 CORBA::Object_var anSubObject = SObjectToObject( mySObject );
-                 if ( !CORBA::is_nil( anSubObject ))
+              if ( found ) {
+                char name_meshgroup[ 30 ];
+                if ( i == GetSubMeshOnVertexTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Vertex" );
+                else if ( i == GetSubMeshOnEdgeTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Edge" );
+                else if ( i == GetSubMeshOnWireTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Wire" );
+                else if ( i == GetSubMeshOnFaceTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Face" );
+                else if ( i == GetSubMeshOnShellTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Shell" );
+                else if ( i == GetSubMeshOnSolidTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Solid" );
+                else if ( i == GetSubMeshOnCompoundTag() )
+                  strcpy( name_meshgroup, "SubMeshes On Compound" );
+
+                // for each type of submeshes create container HDF group
+                aGroup = new HDFgroup( name_meshgroup, aTopGroup );
+                aGroup->CreateOnDisk();
+
+                // iterator for all submeshes of given type
+                SALOMEDS::ChildIterator_var itSM = myCurrentStudy->NewChildIterator( mySubmeshBranch );
+                for ( ; itSM->More(); itSM->Next() ) {
+                  SALOMEDS::SObject_var mySObject = itSM->Value();
+                  CORBA::Object_var anSubObject = SObjectToObject( mySObject );
+                  if ( !CORBA::is_nil( anSubObject ))
                   {
-                   SMESH::SMESH_subMesh_var mySubMesh = SMESH::SMESH_subMesh::_narrow( anSubObject ) ;
-                   int subid = myStudyContext->findId( string( GetORB()->object_to_string( anSubObject ) ) );
-                     
-                   // for each mesh open the HDF group basing on its id
-                   char submeshGrpName[ 30 ];
-                   sprintf( submeshGrpName, "SubMesh %d", subid );
-                   aSubGroup = new HDFgroup( submeshGrpName, aGroup );
-                   aSubGroup->CreateOnDisk();
+                    SMESH::SMESH_subMesh_var mySubMesh = SMESH::SMESH_subMesh::_narrow( anSubObject ) ;
+                    CORBA::String_var objStr = GetORB()->object_to_string( anSubObject );
+                    int subid = myStudyContext->findId( string( objStr.in() ) );
+
+                    // for each mesh open the HDF group basing on its id
+                    char submeshGrpName[ 30 ];
+                    sprintf( submeshGrpName, "SubMesh %d", subid );
+                    aSubGroup = new HDFgroup( submeshGrpName, aGroup );
+                    aSubGroup->CreateOnDisk();
 
-                   // write reference on a shape, already checked if it exists
+                    // write reference on a shape, already checked if it exists
                     SALOMEDS::SObject_var mySubRef, myShape;
                     if ( mySObject->FindSubObject( GetRefOnShapeTag(), mySubRef ))
                       mySubRef->ReferencedObject( myShape );
@@ -1578,81 +1712,83 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                       aDataset->CloseOnDisk();
                     }
 
-                   // write applied hypotheses if exist
-                   SALOMEDS::SObject_var mySubHypBranch;
-                   found = mySObject->FindSubObject( GetRefOnAppliedHypothesisTag(), mySubHypBranch );
-                   if ( found ) {
-                     aSubSubGroup = new HDFgroup( "Applied Hypotheses", aSubGroup );
-                     aSubSubGroup->CreateOnDisk();
-
-                     SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( mySubHypBranch );
-                     int hypNb = 0;
-                     for ( ; it->More(); it->Next() ) {
-                       SALOMEDS::SObject_var mySubSObject = it->Value();
-                       SALOMEDS::SObject_var myRefOnHyp;
-                       bool ok = mySubSObject->ReferencedObject( myRefOnHyp );
-                       if ( ok ) {
-                         //string myRefOnObject = myRefOnHyp->GetID();
-                         CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
-                         int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-                         //if ( myRefOnObject.length() > 0 ) {
-                         //aSize[ 0 ] = myRefOnObject.length() + 1;
-                         char hypName[ 30 ], hypId[ 30 ];
-                         sprintf( hypName, "Hyp %d", ++hypNb );
-                         sprintf( hypId, "%d", id );
-                         aSize[ 0 ] = strlen( hypId ) + 1;
-                         aDataset = new HDFdataset( hypName, aSubSubGroup, HDF_STRING, aSize, 1 );
-                         aDataset->CreateOnDisk();
-                         //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                         aDataset->WriteOnDisk( hypId );
-                         aDataset->CloseOnDisk();
-                         //}
-                       }
-                     }
-                     aSubSubGroup->CloseOnDisk();
-                   }
-                   
-                   // write applied algorithms if exist
-                   SALOMEDS::SObject_var mySubAlgoBranch;
-                   found = mySObject->FindSubObject( GetRefOnAppliedAlgorithmsTag(), mySubAlgoBranch );
-                   if ( found ) {
-                     aSubSubGroup = new HDFgroup( "Applied Algorithms", aSubGroup );
-                     aSubSubGroup->CreateOnDisk();
-
-                     SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( mySubAlgoBranch );
-                     int algoNb = 0;
-                     for ( ; it->More(); it->Next() ) {
-                       SALOMEDS::SObject_var mySubSObject = it->Value();
-                       SALOMEDS::SObject_var myRefOnAlgo;
-                       bool ok = mySubSObject->ReferencedObject( myRefOnAlgo );
-                       if ( ok ) {
-                         //string myRefOnObject = myRefOnAlgo->GetID();
-                         CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
-                         int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
-                         //if ( myRefOnObject.length() > 0 ) {
-                         //aSize[ 0 ] = myRefOnObject.length() + 1;
-                         char algoName[ 30 ], algoId[ 30 ];
-                         sprintf( algoName, "Algo %d", ++algoNb );
-                         sprintf( algoId, "%d", id );
-                         aSize[ 0 ] = strlen( algoId ) + 1;
-                         aDataset = new HDFdataset( algoName, aSubSubGroup, HDF_STRING, aSize, 1 );
-                         aDataset->CreateOnDisk();
-                         //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                         aDataset->WriteOnDisk( algoId );
-                         aDataset->CloseOnDisk();
-                         //}
-                       }
-                     }
-                     aSubSubGroup->CloseOnDisk();
-                   }
-                   // close submesh HDF group
-                   aSubGroup->CloseOnDisk();
-                 }
-               }
-               // close container of submeshes by type HDF group
-               aGroup->CloseOnDisk();
-             }
-           }
+                    // write applied hypotheses if exist
+                    SALOMEDS::SObject_var mySubHypBranch;
+                    found = mySObject->FindSubObject( GetRefOnAppliedHypothesisTag(), mySubHypBranch );
+                    if ( found ) {
+                      aSubSubGroup = new HDFgroup( "Applied Hypotheses", aSubGroup );
+                      aSubSubGroup->CreateOnDisk();
+
+                      SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( mySubHypBranch );
+                      int hypNb = 0;
+                      for ( ; it->More(); it->Next() ) {
+                        SALOMEDS::SObject_var mySubSObject = it->Value();
+                        SALOMEDS::SObject_var myRefOnHyp;
+                        bool ok = mySubSObject->ReferencedObject( myRefOnHyp );
+                        if ( ok ) {
+                          //string myRefOnObject = myRefOnHyp->GetID();
+                          CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
+                          CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+                          int id = myStudyContext->findId( string( objStr.in() ) );
+                          //if ( myRefOnObject.length() > 0 ) {
+                          //aSize[ 0 ] = myRefOnObject.length() + 1;
+                          char hypName[ 30 ], hypId[ 30 ];
+                          sprintf( hypName, "Hyp %d", ++hypNb );
+                          sprintf( hypId, "%d", id );
+                          aSize[ 0 ] = strlen( hypId ) + 1;
+                          aDataset = new HDFdataset( hypName, aSubSubGroup, HDF_STRING, aSize, 1 );
+                          aDataset->CreateOnDisk();
+                          //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                          aDataset->WriteOnDisk( hypId );
+                          aDataset->CloseOnDisk();
+                          //}
+                        }
+                      }
+                      aSubSubGroup->CloseOnDisk();
+                    }
+
+                    // write applied algorithms if exist
+                    SALOMEDS::SObject_var mySubAlgoBranch;
+                    found = mySObject->FindSubObject( GetRefOnAppliedAlgorithmsTag(), mySubAlgoBranch );
+                    if ( found ) {
+                      aSubSubGroup = new HDFgroup( "Applied Algorithms", aSubGroup );
+                      aSubSubGroup->CreateOnDisk();
+
+                      SALOMEDS::ChildIterator_var it = myCurrentStudy->NewChildIterator( mySubAlgoBranch );
+                      int algoNb = 0;
+                      for ( ; it->More(); it->Next() ) {
+                        SALOMEDS::SObject_var mySubSObject = it->Value();
+                        SALOMEDS::SObject_var myRefOnAlgo;
+                        bool ok = mySubSObject->ReferencedObject( myRefOnAlgo );
+                        if ( ok ) {
+                          //string myRefOnObject = myRefOnAlgo->GetID();
+                          CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
+                          CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+                          int id = myStudyContext->findId( string( objStr.in() ) );
+                          //if ( myRefOnObject.length() > 0 ) {
+                          //aSize[ 0 ] = myRefOnObject.length() + 1;
+                          char algoName[ 30 ], algoId[ 30 ];
+                          sprintf( algoName, "Algo %d", ++algoNb );
+                          sprintf( algoId, "%d", id );
+                          aSize[ 0 ] = strlen( algoId ) + 1;
+                          aDataset = new HDFdataset( algoName, aSubSubGroup, HDF_STRING, aSize, 1 );
+                          aDataset->CreateOnDisk();
+                          //aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                          aDataset->WriteOnDisk( algoId );
+                          aDataset->CloseOnDisk();
+                          //}
+                        }
+                      }
+                      aSubSubGroup->CloseOnDisk();
+                    }
+                    // close submesh HDF group
+                    aSubGroup->CloseOnDisk();
+                  }
+                }
+                // close container of submeshes by type HDF group
+                aGroup->CloseOnDisk();
+              }
+            }
             // All sub-meshes will be stored in MED file
             // .. will NOT (PAL 12992)
             //if ( shapeRefFound )
@@ -1682,19 +1818,20 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                  CORBA::Object_var aSubObject = SObjectToObject( mySObject );
                  if ( !CORBA::is_nil( aSubObject ) ) {
                    SMESH_GroupBase_i* myGroupImpl =
-                      dynamic_cast<SMESH_GroupBase_i*>( GetServant( aSubObject ).in() );
+                     dynamic_cast<SMESH_GroupBase_i*>( GetServant( aSubObject ).in() );
                    if ( !myGroupImpl )
                      continue;
-
-                   int anId = myStudyContext->findId( string( GetORB()->object_to_string( aSubObject ) ) );
+                   
+                   CORBA::String_var objStr = GetORB()->object_to_string( aSubObject );
+                   int anId = myStudyContext->findId( string( objStr.in() ) );
                    
                    // For each group, create a dataset named "Group <group_persistent_id>"
-                    // and store the group's user name into it
+                   // and store the group's user name into it
                    char grpName[ 30 ];
                    sprintf( grpName, "Group %d", anId );
                    char* aUserName = myGroupImpl->GetName();
                    aSize[ 0 ] = strlen( aUserName ) + 1;
-
+                   
                    aDataset = new HDFdataset( grpName, aGroup, HDF_STRING, aSize, 1 );
                    aDataset->CreateOnDisk();
                    aDataset->WriteOnDisk( aUserName );
@@ -1702,263 +1839,263 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 
                    // Store the group contents into MED file
                    if ( myLocMesh.GetGroup( myGroupImpl->GetLocalID() ) ) {
-
+                     
                      if(MYDEBUG) MESSAGE( "VSR - SMESH_Gen_i::Save(): saving group with StoreName = "
-                              << grpName << " to MED file" );
+                                         << grpName << " to MED file" );
                      SMESHDS_GroupBase* aGrpBaseDS =
-                        myLocMesh.GetGroup( myGroupImpl->GetLocalID() )->GetGroupDS();
+                       myLocMesh.GetGroup( myGroupImpl->GetLocalID() )->GetGroupDS();
                      aGrpBaseDS->SetStoreName( grpName );
 
                      // Pass SMESHDS_Group to MED writer 
                      SMESHDS_Group* aGrpDS = dynamic_cast<SMESHDS_Group*>( aGrpBaseDS );
-                      if ( aGrpDS )
-                        myWriter.AddGroup( aGrpDS );
-
-                      // write reference on a shape if exists
-                      SMESHDS_GroupOnGeom* aGeomGrp =
-                        dynamic_cast<SMESHDS_GroupOnGeom*>( aGrpBaseDS );
-                      if ( aGeomGrp ) {
-                        SALOMEDS::SObject_var mySubRef, myShape;
-                        if (mySObject->FindSubObject( GetRefOnShapeTag(), mySubRef ) &&
-                            mySubRef->ReferencedObject( myShape ) &&
-                            !CORBA::is_nil( myShape->GetObject() ))
-                        {
-                          string myRefOnObject = myShape->GetID();
-                          if ( myRefOnObject.length() > 0 ) {
-                            char aRefName[ 30 ];
-                            sprintf( aRefName, "Ref on shape %d", anId);
-                            aSize[ 0 ] = myRefOnObject.length() + 1;
-                            aDataset = new HDFdataset(aRefName, aGroup, HDF_STRING, aSize, 1);
-                            aDataset->CreateOnDisk();
-                            aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
-                            aDataset->CloseOnDisk();
-                          }
-                        }
-                        else // shape ref is invalid:
-                        {
-                          // save a group on geometry as ordinary group
-                          myWriter.AddGroup( aGeomGrp );
-                        }
-                      }
+                     if ( aGrpDS )
+                       myWriter.AddGroup( aGrpDS );
+                     
+                     // write reference on a shape if exists
+                     SMESHDS_GroupOnGeom* aGeomGrp =
+                       dynamic_cast<SMESHDS_GroupOnGeom*>( aGrpBaseDS );
+                     if ( aGeomGrp ) {
+                       SALOMEDS::SObject_var mySubRef, myShape;
+                       if (mySObject->FindSubObject( GetRefOnShapeTag(), mySubRef ) &&
+                           mySubRef->ReferencedObject( myShape ) &&
+                           !CORBA::is_nil( myShape->GetObject() ))
+                       {
+                         string myRefOnObject = myShape->GetID();
+                         if ( myRefOnObject.length() > 0 ) {
+                           char aRefName[ 30 ];
+                           sprintf( aRefName, "Ref on shape %d", anId);
+                           aSize[ 0 ] = myRefOnObject.length() + 1;
+                           aDataset = new HDFdataset(aRefName, aGroup, HDF_STRING, aSize, 1);
+                           aDataset->CreateOnDisk();
+                           aDataset->WriteOnDisk( ( char* )( myRefOnObject.c_str() ) );
+                           aDataset->CloseOnDisk();
+                         }
+                       }
+                       else // shape ref is invalid:
+                       {
+                         // save a group on geometry as ordinary group
+                         myWriter.AddGroup( aGeomGrp );
+                       }
+                     }
                    }
                  }
                }
                aGroup->CloseOnDisk();
              }
            } // loop on groups 
-
+           
            if ( strcmp( strHasData.c_str(), "1" ) == 0 )
-            {
-              // Flush current mesh information into MED file
+           {
+             // Flush current mesh information into MED file
              myWriter.Perform();
-
-              // maybe a shape was deleted in the study
-              if ( !shapeRefFound && !mySMESHDSMesh->ShapeToMesh().IsNull() ) {
-                TopoDS_Shape nullShape;
-                myLocMesh.ShapeToMesh( nullShape ); // remove shape referring data
-              }
-
-              if ( !mySMESHDSMesh->SubMeshes().empty() )
-              {
-                // Store submeshes
-                // ----------------
-                aGroup = new HDFgroup( "Submeshes", aTopGroup );
-                aGroup->CreateOnDisk();
-
-                // each element belongs to one or none submesh,
-                // so for each node/element, we store a submesh ID
-
-                // Make maps of submesh IDs of elements sorted by element IDs
-                typedef int TElemID;
-                typedef int TSubMID;
-                map< TElemID, TSubMID > eId2smId, nId2smId;
-                map< TElemID, TSubMID >::iterator hint; // insertion to map is done before hint
-                const map<int,SMESHDS_SubMesh*>& aSubMeshes = mySMESHDSMesh->SubMeshes();
-                map<int,SMESHDS_SubMesh*>::const_iterator itSubM ( aSubMeshes.begin() );
-                SMDS_NodeIteratorPtr itNode;
-                SMDS_ElemIteratorPtr itElem;
-                for ( itSubM = aSubMeshes.begin(); itSubM != aSubMeshes.end() ; itSubM++ )
-                {
-                  TSubMID          aSubMeID = itSubM->first;
-                  SMESHDS_SubMesh* aSubMesh = itSubM->second;
-                  if ( aSubMesh->IsComplexSubmesh() )
-                    continue; // submesh containing other submeshs
-                  // nodes
-                  hint = nId2smId.begin(); // optimize insertion basing on increasing order of elem Ids in submesh
-                  for ( itNode = aSubMesh->GetNodes(); itNode->more(); ++hint)
-                    hint = nId2smId.insert( hint, make_pair( itNode->next()->GetID(), aSubMeID ));
+             
+             // maybe a shape was deleted in the study
+             if ( !shapeRefFound && !mySMESHDSMesh->ShapeToMesh().IsNull() ) {
+               TopoDS_Shape nullShape;
+               myLocMesh.ShapeToMesh( nullShape ); // remove shape referring data
+             }
+             
+             if ( !mySMESHDSMesh->SubMeshes().empty() )
+             {
+               // Store submeshes
+               // ----------------
+               aGroup = new HDFgroup( "Submeshes", aTopGroup );
+               aGroup->CreateOnDisk();
+               
+               // each element belongs to one or none submesh,
+               // so for each node/element, we store a submesh ID
+               
+               // Make maps of submesh IDs of elements sorted by element IDs
+               typedef int TElemID;
+               typedef int TSubMID;
+               map< TElemID, TSubMID > eId2smId, nId2smId;
+               map< TElemID, TSubMID >::iterator hint; // insertion to map is done before hint
+               const map<int,SMESHDS_SubMesh*>& aSubMeshes = mySMESHDSMesh->SubMeshes();
+               map<int,SMESHDS_SubMesh*>::const_iterator itSubM ( aSubMeshes.begin() );
+               SMDS_NodeIteratorPtr itNode;
+               SMDS_ElemIteratorPtr itElem;
+               for ( itSubM = aSubMeshes.begin(); itSubM != aSubMeshes.end() ; itSubM++ )
+               {
+                 TSubMID          aSubMeID = itSubM->first;
+                 SMESHDS_SubMesh* aSubMesh = itSubM->second;
+                 if ( aSubMesh->IsComplexSubmesh() )
+                   continue; // submesh containing other submeshs
+                 // nodes
+                 hint = nId2smId.begin(); // optimize insertion basing on increasing order of elem Ids in submesh
+                 for ( itNode = aSubMesh->GetNodes(); itNode->more(); ++hint)
+                   hint = nId2smId.insert( hint, make_pair( itNode->next()->GetID(), aSubMeID ));
                   // elements
-                  hint = eId2smId.begin();
-                  for ( itElem = aSubMesh->GetElements(); itElem->more(); ++hint)
-                    hint = eId2smId.insert( hint, make_pair( itElem->next()->GetID(), aSubMeID ));
-                }
-
-                // Care of elements that are not on submeshes
-                if ( mySMESHDSMesh->NbNodes() != nId2smId.size() ) {
-                  for ( itNode = mySMESHDSMesh->nodesIterator(); itNode->more(); )
-                    /*  --- stl_map.h says : */
-                    /*  A %map relies on unique keys and thus a %pair is only inserted if its */
-                    /*  first element (the key) is not already present in the %map.           */
-                    nId2smId.insert( make_pair( itNode->next()->GetID(), 0 ));
-                }
-                int nbElems = mySMESHDSMesh->NbEdges() + mySMESHDSMesh->NbFaces() + mySMESHDSMesh->NbVolumes();
-                if ( nbElems != eId2smId.size() ) {
-                  for ( itElem = mySMESHDSMesh->elementsIterator(); itElem->more(); )
-                    eId2smId.insert( make_pair( itElem->next()->GetID(), 0 ));
-                }
-
-                // Store submesh IDs
-                for ( int isNode = 0; isNode < 2; ++isNode )
-                {
-                  map< TElemID, TSubMID >& id2smId = isNode ? nId2smId : eId2smId;
-                  if ( id2smId.empty() ) continue;
-                  map< TElemID, TSubMID >::const_iterator id_smId = id2smId.begin();
-                  // make and fill array of submesh IDs
-                  int* smIDs = new int [ id2smId.size() ];
-                  for ( int i = 0; id_smId != id2smId.end(); ++id_smId, ++i )
-                    smIDs[ i ] = id_smId->second;
-                  // write HDF group
-                  aSize[ 0 ] = id2smId.size();
-                  string aDSName( isNode ? "Node Submeshes" : "Element Submeshes");
-                  aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_INT32, aSize, 1 );
-                  aDataset->CreateOnDisk();
-                  aDataset->WriteOnDisk( smIDs );
-                  aDataset->CloseOnDisk();
-                  //
-                  delete smIDs;
-                }
+                 hint = eId2smId.begin();
+                 for ( itElem = aSubMesh->GetElements(); itElem->more(); ++hint)
+                   hint = eId2smId.insert( hint, make_pair( itElem->next()->GetID(), aSubMeID ));
+               }
+               
+               // Care of elements that are not on submeshes
+               if ( mySMESHDSMesh->NbNodes() != nId2smId.size() ) {
+                 for ( itNode = mySMESHDSMesh->nodesIterator(); itNode->more(); )
+                   /*  --- stl_map.h says : */
+                   /*  A %map relies on unique keys and thus a %pair is only inserted if its */
+                   /*  first element (the key) is not already present in the %map.           */
+                   nId2smId.insert( make_pair( itNode->next()->GetID(), 0 ));
+               }
+               int nbElems = mySMESHDSMesh->NbEdges() + mySMESHDSMesh->NbFaces() + mySMESHDSMesh->NbVolumes();
+               if ( nbElems != eId2smId.size() ) {
+                 for ( itElem = mySMESHDSMesh->elementsIterator(); itElem->more(); )
+                   eId2smId.insert( make_pair( itElem->next()->GetID(), 0 ));
+               }
+               
+               // Store submesh IDs
+               for ( int isNode = 0; isNode < 2; ++isNode )
+               {
+                 map< TElemID, TSubMID >& id2smId = isNode ? nId2smId : eId2smId;
+                 if ( id2smId.empty() ) continue;
+                 map< TElemID, TSubMID >::const_iterator id_smId = id2smId.begin();
+                 // make and fill array of submesh IDs
+                 int* smIDs = new int [ id2smId.size() ];
+                 for ( int i = 0; id_smId != id2smId.end(); ++id_smId, ++i )
+                   smIDs[ i ] = id_smId->second;
+                 // write HDF group
+                 aSize[ 0 ] = id2smId.size();
+                 string aDSName( isNode ? "Node Submeshes" : "Element Submeshes");
+                 aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_INT32, aSize, 1 );
+                 aDataset->CreateOnDisk();
+                 aDataset->WriteOnDisk( smIDs );
+                 aDataset->CloseOnDisk();
+                 //
+                 delete smIDs;
+               }
                 
-                // Store node positions on sub-shapes (SMDS_Position):
-                // ----------------------------------------------------
-
-                aGroup = new HDFgroup( "Node Positions", aTopGroup );
-                aGroup->CreateOnDisk();
-
-                // in aGroup, create 5 datasets to contain:
-                // "Nodes on Edges" - ID of node on edge
-                // "Edge positions" - U parameter on node on edge
-                // "Nodes on Faces" - ID of node on face
-                // "Face U positions" - U parameter of node on face
-                // "Face V positions" - V parameter of node on face
-
-                // Find out nb of nodes on edges and faces
-                // Collect corresponing sub-meshes
-                int nbEdgeNodes = 0, nbFaceNodes = 0;
-                list<SMESHDS_SubMesh*> aEdgeSM, aFaceSM;
-                // loop on SMESHDS_SubMesh'es
-                for ( itSubM = aSubMeshes.begin(); itSubM != aSubMeshes.end() ; itSubM++ )
-                {
-                  SMESHDS_SubMesh* aSubMesh = (*itSubM).second;
-                  if ( aSubMesh->IsComplexSubmesh() )
-                    continue; // submesh containing other submeshs
-                  int nbNodes = aSubMesh->NbNodes();
-                  if ( nbNodes == 0 ) continue;
-
-                  int aShapeID = (*itSubM).first;
-                  int aShapeType = mySMESHDSMesh->IndexToShape( aShapeID ).ShapeType();
-                  // write only SMDS_FacePosition and SMDS_EdgePosition
-                  switch ( aShapeType ) {
-                  case TopAbs_FACE:
-                    nbFaceNodes += nbNodes;
-                    aFaceSM.push_back( aSubMesh );
-                    break;
-                  case TopAbs_EDGE:
-                    nbEdgeNodes += nbNodes;
-                    aEdgeSM.push_back( aSubMesh );
-                    break;
-                  default:
-                    continue;
-                  }
-                }
-                // Treat positions on edges or faces
-                for ( int onFace = 0; onFace < 2; onFace++ )
-                {
-                  // Create arrays to store in datasets
-                  int iNode = 0, nbNodes = ( onFace ? nbFaceNodes : nbEdgeNodes );
-                  if (!nbNodes) continue;
-                  int* aNodeIDs = new int [ nbNodes ];
-                  double* aUPos = new double [ nbNodes ];
-                  double* aVPos = ( onFace ? new double[ nbNodes ] : 0 );
-
-                  // Fill arrays
-                  // loop on sub-meshes
-                  list<SMESHDS_SubMesh*> * pListSM = ( onFace ? &aFaceSM : &aEdgeSM );
-                  list<SMESHDS_SubMesh*>::iterator itSM = pListSM->begin();
-                  for ( ; itSM != pListSM->end(); itSM++ )
-                  {
-                    SMESHDS_SubMesh* aSubMesh = (*itSM);
-
-                    SMDS_NodeIteratorPtr itNode = aSubMesh->GetNodes();
-                    // loop on nodes in aSubMesh
-                    while ( itNode->more() )
-                    {
-                      //node ID
-                      const SMDS_MeshNode* node = itNode->next();
-                      aNodeIDs [ iNode ] = node->GetID();
-
-                      // Position
-                      const SMDS_PositionPtr pos = node->GetPosition();
-                      if ( onFace ) { // on FACE
-                        const SMDS_FacePosition* fPos =
-                          dynamic_cast<const SMDS_FacePosition*>( pos.get() );
-                        if ( fPos ) {
-                          aUPos[ iNode ] = fPos->GetUParameter();
-                          aVPos[ iNode ] = fPos->GetVParameter();
-                          iNode++;
-                        }
-                        else
-                          nbNodes--;
-                      }
-                      else { // on EDGE
-                        const SMDS_EdgePosition* ePos =
-                          dynamic_cast<const SMDS_EdgePosition*>( pos.get() );
-                        if ( ePos ) {
-                          aUPos[ iNode ] = ePos->GetUParameter();
-                          iNode++;
-                        }
-                        else
-                          nbNodes--;
-                      }
-                    } // loop on nodes in aSubMesh
-                  } // loop on sub-meshes
-
-                  // Write datasets
-                  if ( nbNodes )
-                  {
-                    aSize[ 0 ] = nbNodes;
-                    // IDS
-                    string aDSName( onFace ? "Nodes on Faces" : "Nodes on Edges");
-                    aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_INT32, aSize, 1 );
-                    aDataset->CreateOnDisk();
-                    aDataset->WriteOnDisk( aNodeIDs );
-                    aDataset->CloseOnDisk();
-
-                    // U Positions
-                    aDSName = ( onFace ? "Face U positions" : "Edge positions");
-                    aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_FLOAT64, aSize, 1);
-                    aDataset->CreateOnDisk();
-                    aDataset->WriteOnDisk( aUPos );
-                    aDataset->CloseOnDisk();
-                    // V Positions
-                    if ( onFace ) {
-                      aDataset = new HDFdataset( "Face V positions", aGroup, HDF_FLOAT64, aSize, 1);
-                      aDataset->CreateOnDisk();
-                      aDataset->WriteOnDisk( aVPos );
-                      aDataset->CloseOnDisk();
-                    }
-                  }
-                  delete [] aNodeIDs;
-                  delete [] aUPos;
-                  if ( aVPos ) delete [] aVPos;
-
-                } // treat positions on edges or faces
-
-                // close "Node Positions" group
-                aGroup->CloseOnDisk(); 
-
-              } // if ( there are submeshes in SMESHDS_Mesh )
-            } // if ( hasData )
-
+               // Store node positions on sub-shapes (SMDS_Position):
+               // ----------------------------------------------------
+               
+               aGroup = new HDFgroup( "Node Positions", aTopGroup );
+               aGroup->CreateOnDisk();
+               
+               // in aGroup, create 5 datasets to contain:
+               // "Nodes on Edges" - ID of node on edge
+               // "Edge positions" - U parameter on node on edge
+               // "Nodes on Faces" - ID of node on face
+               // "Face U positions" - U parameter of node on face
+               // "Face V positions" - V parameter of node on face
+               
+               // Find out nb of nodes on edges and faces
+               // Collect corresponing sub-meshes
+               int nbEdgeNodes = 0, nbFaceNodes = 0;
+               list<SMESHDS_SubMesh*> aEdgeSM, aFaceSM;
+               // loop on SMESHDS_SubMesh'es
+               for ( itSubM = aSubMeshes.begin(); itSubM != aSubMeshes.end() ; itSubM++ )
+               {
+                 SMESHDS_SubMesh* aSubMesh = (*itSubM).second;
+                 if ( aSubMesh->IsComplexSubmesh() )
+                   continue; // submesh containing other submeshs
+                 int nbNodes = aSubMesh->NbNodes();
+                 if ( nbNodes == 0 ) continue;
+                 
+                 int aShapeID = (*itSubM).first;
+                 int aShapeType = mySMESHDSMesh->IndexToShape( aShapeID ).ShapeType();
+                 // write only SMDS_FacePosition and SMDS_EdgePosition
+                 switch ( aShapeType ) {
+                 case TopAbs_FACE:
+                   nbFaceNodes += nbNodes;
+                   aFaceSM.push_back( aSubMesh );
+                   break;
+                 case TopAbs_EDGE:
+                   nbEdgeNodes += nbNodes;
+                   aEdgeSM.push_back( aSubMesh );
+                   break;
+                 default:
+                   continue;
+                 }
+               }
+               // Treat positions on edges or faces
+               for ( int onFace = 0; onFace < 2; onFace++ )
+               {
+                 // Create arrays to store in datasets
+                 int iNode = 0, nbNodes = ( onFace ? nbFaceNodes : nbEdgeNodes );
+                 if (!nbNodes) continue;
+                 int* aNodeIDs = new int [ nbNodes ];
+                 double* aUPos = new double [ nbNodes ];
+                 double* aVPos = ( onFace ? new double[ nbNodes ] : 0 );
+                 
+                 // Fill arrays
+                 // loop on sub-meshes
+                 list<SMESHDS_SubMesh*> * pListSM = ( onFace ? &aFaceSM : &aEdgeSM );
+                 list<SMESHDS_SubMesh*>::iterator itSM = pListSM->begin();
+                 for ( ; itSM != pListSM->end(); itSM++ )
+                 {
+                   SMESHDS_SubMesh* aSubMesh = (*itSM);
+                   
+                   SMDS_NodeIteratorPtr itNode = aSubMesh->GetNodes();
+                   // loop on nodes in aSubMesh
+                   while ( itNode->more() )
+                   {
+                     //node ID
+                     const SMDS_MeshNode* node = itNode->next();
+                     aNodeIDs [ iNode ] = node->GetID();
+                     
+                     // Position
+                     const SMDS_PositionPtr pos = node->GetPosition();
+                     if ( onFace ) { // on FACE
+                       const SMDS_FacePosition* fPos =
+                         dynamic_cast<const SMDS_FacePosition*>( pos.get() );
+                       if ( fPos ) {
+                         aUPos[ iNode ] = fPos->GetUParameter();
+                         aVPos[ iNode ] = fPos->GetVParameter();
+                         iNode++;
+                       }
+                       else
+                         nbNodes--;
+                     }
+                     else { // on EDGE
+                       const SMDS_EdgePosition* ePos =
+                         dynamic_cast<const SMDS_EdgePosition*>( pos.get() );
+                       if ( ePos ) {
+                         aUPos[ iNode ] = ePos->GetUParameter();
+                         iNode++;
+                       }
+                       else
+                         nbNodes--;
+                     }
+                   } // loop on nodes in aSubMesh
+                 } // loop on sub-meshes
+                 
+                 // Write datasets
+                 if ( nbNodes )
+                 {
+                   aSize[ 0 ] = nbNodes;
+                   // IDS
+                   string aDSName( onFace ? "Nodes on Faces" : "Nodes on Edges");
+                   aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_INT32, aSize, 1 );
+                   aDataset->CreateOnDisk();
+                   aDataset->WriteOnDisk( aNodeIDs );
+                   aDataset->CloseOnDisk();
+               
+                   // U Positions
+                   aDSName = ( onFace ? "Face U positions" : "Edge positions");
+                   aDataset = new HDFdataset( (char*)aDSName.c_str(), aGroup, HDF_FLOAT64, aSize, 1);
+                   aDataset->CreateOnDisk();
+                   aDataset->WriteOnDisk( aUPos );
+                   aDataset->CloseOnDisk();
+                   // V Positions
+                   if ( onFace ) {
+                     aDataset = new HDFdataset( "Face V positions", aGroup, HDF_FLOAT64, aSize, 1);
+                     aDataset->CreateOnDisk();
+                     aDataset->WriteOnDisk( aVPos );
+                     aDataset->CloseOnDisk();
+                   }
+                 }
+                 delete [] aNodeIDs;
+                 delete [] aUPos;
+                 if ( aVPos ) delete [] aVPos;
+                 
+               } // treat positions on edges or faces
+               
+               // close "Node Positions" group
+               aGroup->CloseOnDisk(); 
+               
+             } // if ( there are submeshes in SMESHDS_Mesh )
+           } // if ( hasData )
+           
            // close mesh HDF group
            aTopGroup->CloseOnDisk();
          }
@@ -1966,7 +2103,7 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
       }
     }
   }
-
+  
   // close HDF file
   aFile->CloseOnDisk();
   delete aFile;
@@ -1986,7 +2123,7 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 /*!
  *  SMESH_Gen_i::SaveASCII
  *
- *  Save SMESH module's data in ASCII format (not implemented yet)
+ *  Save SMESH module's data in ASCII format
  */
 //=============================================================================
 
@@ -1995,7 +2132,19 @@ SALOMEDS::TMPFile* SMESH_Gen_i::SaveASCII( SALOMEDS::SComponent_ptr theComponent
                                           bool                     isMultiFile ) {
   if(MYDEBUG) MESSAGE( "SMESH_Gen_i::SaveASCII" );
   SALOMEDS::TMPFile_var aStreamFile = Save( theComponent, theURL, isMultiFile );
-  return aStreamFile._retn();
+
+  //after usual saving needs to encipher binary to text string
+  //Any binary symbol will be represent as "|xx" () hexadecimal format number
+  int size = aStreamFile.in().length();
+  _CORBA_Octet* buffer = new _CORBA_Octet[size*3+1];
+  for ( int i = 0; i < size; i++ )
+    sprintf( (char*)&(buffer[i*3]), "|%02x", (char*)(aStreamFile[i]) );
+
+  buffer[size * 3] = '\0';
+
+  SALOMEDS::TMPFile_var anAsciiStreamFile = new SALOMEDS::TMPFile(size*3, size*3, buffer, 1);
+  
+  return anAsciiStreamFile._retn();
 }
 
 //=============================================================================
@@ -2063,15 +2212,15 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
        theComponent->GetStudy()->StudyId() != myCurrentStudy->StudyId() )
     SetCurrentStudy( theComponent->GetStudy() );
 
-/*  if( !theComponent->_is_nil() )
-  {
-    //SALOMEDS::Study_var aStudy = SALOMEDS::Study::_narrow( theComponent->GetStudy() );
-    if( !myCurrentStudy->FindComponent( "GEOM" )->_is_nil() )
+  /*  if( !theComponent->_is_nil() )
+      {
+      //SALOMEDS::Study_var aStudy = SALOMEDS::Study::_narrow( theComponent->GetStudy() );
+      if( !myCurrentStudy->FindComponent( "GEOM" )->_is_nil() )
       loadGeomData( myCurrentStudy->FindComponent( "GEOM" ) );
-  }*/
+      }*/
 
   StudyContext* myStudyContext = GetCurrentStudyContext();
-  
+
   // Get temporary files location
   TCollection_AsciiString tmpDir =
     isMultiFile ? TCollection_AsciiString( ( char* )theURL ) : ( char* )SALOMEDS_Tool::GetTmpDir().c_str();
@@ -2110,6 +2259,19 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
   DriverMED_R_SMESHDS_Mesh myReader;
   myReader.SetFile( meshfile.ToCString() );
 
+  // For PAL13473 ("Repetitive mesh") implementation.
+  // New dependencies between SMESH objects are established:
+  // now hypotheses can refer to meshes, shapes and other hypotheses.
+  // To keep data consistent, the following order of data restoration
+  // imposed:
+  // 1. Create hypotheses
+  // 2. Create all meshes
+  // 3. Load hypotheses' data
+  // 4. All the rest
+
+  list< pair< SMESH_Hypothesis_i*, string > >    hypDataList;
+  list< pair< SMESH_Mesh_i*,       HDFgroup* > > meshGroupList;
+
   // get total number of top-level groups
   int aNbGroups = aFile->nInternalObjects(); 
   if ( aNbGroups > 0 ) {
@@ -2184,9 +2346,9 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
          // --> restore hypothesis from data
          if ( id > 0 && !hypname.empty()/* && !hypdata.empty()*/ ) { // VSR : persistent data can be empty
            if(MYDEBUG) MESSAGE("VSR - load hypothesis : id = " << id <<
-                    ", name = " << hypname.c_str() << ", persistent string = " << hypdata.c_str());
+                                ", name = " << hypname.c_str() << ", persistent string = " << hypdata.c_str());
             SMESH::SMESH_Hypothesis_var myHyp;
-           
+
            try { // protect persistence mechanism against exceptions
              myHyp = this->createHypothesis( hypname.c_str(), libname.c_str() );
            }
@@ -2196,7 +2358,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
 
            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
            if ( myImpl ) {
-             myImpl->LoadFrom( hypdata.c_str() );
+             // myImpl->LoadFrom( hypdata.c_str() );
+              hypDataList.push_back( make_pair( myImpl, hypdata ));
              string iorString = GetORB()->object_to_string( myHyp );
              int newId = myStudyContext->findId( iorString );
              myStudyContext->mapOldToNew( id, newId );
@@ -2278,23 +2441,24 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
          }
          // close algorithm HDF group
          aGroup->CloseOnDisk();
-         
+
          // --> restore algorithm from data
          if ( id > 0 && !hypname.empty()/* && !hypdata.empty()*/ ) { // VSR : persistent data can be empty
            if(MYDEBUG) MESSAGE("VSR - load algo : id = " << id <<
-                    ", name = " << hypname.c_str() << ", persistent string = " << hypdata.c_str());
+                                ", name = " << hypname.c_str() << ", persistent string = " << hypdata.c_str());
             SMESH::SMESH_Hypothesis_var myHyp;
-                   
+
            try { // protect persistence mechanism against exceptions
              myHyp = this->createHypothesis( hypname.c_str(), libname.c_str() );
            }
            catch (...) {
              INFOS( "Exception during hypothesis creation" );
            }
-           
+
            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
            if ( myImpl ) {
-             myImpl->LoadFrom( hypdata.c_str() );
+             //myImpl->LoadFrom( hypdata.c_str() );
+              hypDataList.push_back( make_pair( myImpl, hypdata ));
              string iorString = GetORB()->object_to_string( myHyp );
              int newId = myStudyContext->findId( iorString );
              myStudyContext->mapOldToNew( id, newId );
@@ -2320,8 +2484,6 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
        if ( id <= 0 )
          continue;
 
-       bool hasData = false;
-
        // open mesh HDF group
        aTopGroup = new HDFgroup( meshName, aFile ); 
        aTopGroup->OpenOnDisk();
@@ -2335,591 +2497,621 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
          SMESH_Mesh_i* myNewMeshImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( myNewMesh ).in() );
           if ( !myNewMeshImpl )
            continue;
+          meshGroupList.push_back( make_pair( myNewMeshImpl, aTopGroup ));
+
          string iorString = GetORB()->object_to_string( myNewMesh );
          int newId = myStudyContext->findId( iorString );
          myStudyContext->mapOldToNew( id, newId );
-         
-         ::SMESH_Mesh& myLocMesh = myNewMeshImpl->GetImpl();
-         SMESHDS_Mesh* mySMESHDSMesh = myLocMesh.GetMeshDS();
-
-         // try to find mesh data dataset
-         if ( aTopGroup->ExistInternalObject( "Has data" ) ) {
-           // load mesh "has data" flag
-           aDataset = new HDFdataset( "Has data", aTopGroup );
-           aDataset->OpenOnDisk();
-           size = aDataset->GetSize();
-           char* strHasData = new char[ size ];
-           aDataset->ReadFromDisk( strHasData );
-           aDataset->CloseOnDisk();
-           if ( strcmp( strHasData, "1") == 0 ) {
-             // read mesh data from MED file
-             myReader.SetMesh( mySMESHDSMesh );
-             myReader.SetMeshId( id );
-             myReader.Perform();
-             hasData = true;
-           }
-         }
 
-         // try to read and set reference to shape
-         GEOM::GEOM_Object_var aShapeObject;
-         if ( aTopGroup->ExistInternalObject( "Ref on shape" ) ) {
-           // load mesh "Ref on shape" - it's an entry to SObject
-           aDataset = new HDFdataset( "Ref on shape", aTopGroup );
-           aDataset->OpenOnDisk();
-           size = aDataset->GetSize();
-           char* refFromFile = new char[ size ];
-           aDataset->ReadFromDisk( refFromFile );
-           aDataset->CloseOnDisk();
-           if ( strlen( refFromFile ) > 0 ) {
-             SALOMEDS::SObject_var shapeSO = myCurrentStudy->FindObjectID( refFromFile );
-
-             // Make sure GEOM data are loaded first
-             //loadGeomData( shapeSO->GetFatherComponent() );
-
-             CORBA::Object_var shapeObject = SObjectToObject( shapeSO );
-             if ( !CORBA::is_nil( shapeObject ) ) {
-               aShapeObject = GEOM::GEOM_Object::_narrow( shapeObject );
-               if ( !aShapeObject->_is_nil() )
-                 myNewMeshImpl->SetShape( aShapeObject );
-             }
-           }
-         }
+          // try to read and set reference to shape
+          GEOM::GEOM_Object_var aShapeObject;
+          if ( aTopGroup->ExistInternalObject( "Ref on shape" ) ) {
+            // load mesh "Ref on shape" - it's an entry to SObject
+            aDataset = new HDFdataset( "Ref on shape", aTopGroup );
+            aDataset->OpenOnDisk();
+            size = aDataset->GetSize();
+            char* refFromFile = new char[ size ];
+            aDataset->ReadFromDisk( refFromFile );
+            aDataset->CloseOnDisk();
+            if ( strlen( refFromFile ) > 0 ) {
+              SALOMEDS::SObject_var shapeSO = myCurrentStudy->FindObjectID( refFromFile );
+
+              // Make sure GEOM data are loaded first
+              //loadGeomData( shapeSO->GetFatherComponent() );
+
+              CORBA::Object_var shapeObject = SObjectToObject( shapeSO );
+              if ( !CORBA::is_nil( shapeObject ) ) {
+                aShapeObject = GEOM::GEOM_Object::_narrow( shapeObject );
+                if ( !aShapeObject->_is_nil() )
+                  myNewMeshImpl->SetShape( aShapeObject );
+              }
+            }
+          }
 
-         // try to get applied algorithms
-         if ( aTopGroup->ExistInternalObject( "Applied Algorithms" ) ) {
-           aGroup = new HDFgroup( "Applied Algorithms", aTopGroup );
-           aGroup->OpenOnDisk();
-           // get number of applied algorithms
-           int aNbSubObjects = aGroup->nInternalObjects(); 
-           if(MYDEBUG) MESSAGE( "VSR - number of applied algos " << aNbSubObjects );
-           for ( int j = 0; j < aNbSubObjects; j++ ) {
-             char name_dataset[ HDF_NAME_MAX_LEN+1 ];
-             aGroup->InternalObjectIndentify( j, name_dataset );
-             // check if it is an algorithm
-             if ( string( name_dataset ).substr( 0, 4 ) == string( "Algo" ) ) {
-               aDataset = new HDFdataset( name_dataset, aGroup );
-               aDataset->OpenOnDisk();
-               size = aDataset->GetSize();
-               char* refFromFile = new char[ size ];
-               aDataset->ReadFromDisk( refFromFile );
-               aDataset->CloseOnDisk();
-
-               // san - it is impossible to recover applied algorithms using their entries within Load() method
-               
-               //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
-               //CORBA::Object_var hypObject = SObjectToObject( hypSO );
-               int id = atoi( refFromFile );
-               string anIOR = myStudyContext->getIORbyOldId( id );
-               if ( !anIOR.empty() ) {
-                 CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
-                 if ( !CORBA::is_nil( hypObject ) ) {
-                   SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
-                   if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
-                     myNewMeshImpl->addHypothesis( aShapeObject, anHyp );
-                 }
-               }
-             }
-           }
-           aGroup->CloseOnDisk();
-         }
+        }
+      }
+    }
 
-         // try to get applied hypotheses
-         if ( aTopGroup->ExistInternalObject( "Applied Hypotheses" ) ) {
-           aGroup = new HDFgroup( "Applied Hypotheses", aTopGroup );
-           aGroup->OpenOnDisk();
-           // get number of applied hypotheses
-           int aNbSubObjects = aGroup->nInternalObjects(); 
-           for ( int j = 0; j < aNbSubObjects; j++ ) {
-             char name_dataset[ HDF_NAME_MAX_LEN+1 ];
-             aGroup->InternalObjectIndentify( j, name_dataset );
-             // check if it is a hypothesis
-             if ( string( name_dataset ).substr( 0, 3 ) == string( "Hyp" ) ) {
-               aDataset = new HDFdataset( name_dataset, aGroup );
-               aDataset->OpenOnDisk();
-               size = aDataset->GetSize();
-               char* refFromFile = new char[ size ];
-               aDataset->ReadFromDisk( refFromFile );
-               aDataset->CloseOnDisk();
-
-               // san - it is impossible to recover applied hypotheses using their entries within Load() method
-               
-               //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
-               //CORBA::Object_var hypObject = SObjectToObject( hypSO );
-               int id = atoi( refFromFile );
-               string anIOR = myStudyContext->getIORbyOldId( id );
-               if ( !anIOR.empty() ) {
-                 CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
-                 if ( !CORBA::is_nil( hypObject ) ) {
-                   SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
-                   if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
-                     myNewMeshImpl->addHypothesis( aShapeObject, anHyp );
-                 }
-               }
-             }
-           }
-           aGroup->CloseOnDisk();
-         }
+    // As all object that can be referred by hypothesis are created,
+    // we can restore hypothesis data
 
-         // --> try to find submeshes containers for each type of submesh
-         for ( int j = GetSubMeshOnVertexTag(); j <= GetSubMeshOnCompoundTag(); j++ ) {
-           char name_meshgroup[ 30 ];
-           if ( j == GetSubMeshOnVertexTag() )
-             strcpy( name_meshgroup, "SubMeshes On Vertex" );
-           else if ( j == GetSubMeshOnEdgeTag() )
-             strcpy( name_meshgroup, "SubMeshes On Edge" );
-           else if ( j == GetSubMeshOnWireTag() )
-             strcpy( name_meshgroup, "SubMeshes On Wire" );
-           else if ( j == GetSubMeshOnFaceTag() )
-             strcpy( name_meshgroup, "SubMeshes On Face" );
-           else if ( j == GetSubMeshOnShellTag() )
-             strcpy( name_meshgroup, "SubMeshes On Shell" );
-           else if ( j == GetSubMeshOnSolidTag() )
-             strcpy( name_meshgroup, "SubMeshes On Solid" );
-           else if ( j == GetSubMeshOnCompoundTag() )
-             strcpy( name_meshgroup, "SubMeshes On Compound" );
-           
-           // try to get submeshes container HDF group
-           if ( aTopGroup->ExistInternalObject( name_meshgroup ) ) {
-             // open submeshes containers HDF group
-             aGroup = new HDFgroup( name_meshgroup, aTopGroup );
-             aGroup->OpenOnDisk();
-             
-             // get number of submeshes
-             int aNbSubMeshes = aGroup->nInternalObjects(); 
-             for ( int k = 0; k < aNbSubMeshes; k++ ) {
-               // identify submesh
-               char name_submeshgroup[ HDF_NAME_MAX_LEN+1 ];
-               aGroup->InternalObjectIndentify( k, name_submeshgroup );
-               if ( string( name_submeshgroup ).substr( 0, 7 ) == string( "SubMesh" )  ) {
-                 // --> get submesh id
-                 int subid = atoi( string( name_submeshgroup ).substr( 7 ).c_str() );
-                 if ( subid <= 0 )
-                   continue;
-                 // open submesh HDF group
-                 aSubGroup = new HDFgroup( name_submeshgroup, aGroup );
-                 aSubGroup->OpenOnDisk();
-                 
-                 // try to read and set reference to subshape
-                 GEOM::GEOM_Object_var aSubShapeObject;
-                 SMESH::SMESH_subMesh_var aSubMesh;
-
-                 if ( aSubGroup->ExistInternalObject( "Ref on shape" ) ) {
-                   // load submesh "Ref on shape" - it's an entry to SObject
-                   aDataset = new HDFdataset( "Ref on shape", aSubGroup );
-                   aDataset->OpenOnDisk();
-                   size = aDataset->GetSize();
-                   char* refFromFile = new char[ size ];
-                   aDataset->ReadFromDisk( refFromFile );
-                   aDataset->CloseOnDisk();
-                   if ( strlen( refFromFile ) > 0 ) {
-                     SALOMEDS::SObject_var subShapeSO = myCurrentStudy->FindObjectID( refFromFile );
-                     CORBA::Object_var subShapeObject = SObjectToObject( subShapeSO );
-                     if ( !CORBA::is_nil( subShapeObject ) ) {
-                       aSubShapeObject = GEOM::GEOM_Object::_narrow( subShapeObject );
-                       if ( !aSubShapeObject->_is_nil() )
-                         aSubMesh = SMESH::SMESH_subMesh::_duplicate
-                            ( myNewMeshImpl->createSubMesh( aSubShapeObject ) );
-                       if ( aSubMesh->_is_nil() )
-                         continue;
-                       string iorSubString = GetORB()->object_to_string( aSubMesh );
-                       int newSubId = myStudyContext->findId( iorSubString );
-                       myStudyContext->mapOldToNew( subid, newSubId );
-                     }
-                   }
-                 }
-                 
-                 if ( aSubMesh->_is_nil() )
-                   continue;
+    list< pair< SMESH_Hypothesis_i*, string > >::iterator hyp_data;
+    for ( hyp_data = hypDataList.begin(); hyp_data != hypDataList.end(); ++hyp_data )
+    {
+      SMESH_Hypothesis_i* hyp  = hyp_data->first;
+      string &            data = hyp_data->second;
+      hyp->LoadFrom( data.c_str() );
+    }
 
-                 // VSR: Get submesh data from MED convertor
-//               int anInternalSubmeshId = aSubMesh->GetId(); // this is not a persistent ID, it's an internal one computed from sub-shape
-//               if (myNewMeshImpl->_mapSubMesh.find(anInternalSubmeshId) != myNewMeshImpl->_mapSubMesh.end()) {
-//                 if(MYDEBUG) MESSAGE("VSR - SMESH_Gen_i::Load(): loading from MED file submesh with ID = " <<
-//                            subid << " for subshape # " << anInternalSubmeshId);
-//                 SMESHDS_SubMesh* aSubMeshDS =
-//                      myNewMeshImpl->_mapSubMesh[anInternalSubmeshId]->CreateSubMeshDS();
-//                 if ( !aSubMeshDS ) {
-//                   if(MYDEBUG) MESSAGE("VSR - SMESH_Gen_i::Load(): FAILED to create a submesh for subshape # " <<
-//                              anInternalSubmeshId << " in current mesh!");
-//                 }
-//                 else
-//                   myReader.GetSubMesh( aSubMeshDS, subid );
-//               }
-                   
-                 // try to get applied algorithms
-                 if ( aSubGroup->ExistInternalObject( "Applied Algorithms" ) ) {
-                   // open "applied algorithms" HDF group
-                   aSubSubGroup = new HDFgroup( "Applied Algorithms", aSubGroup );
-                   aSubSubGroup->OpenOnDisk();
-                   // get number of applied algorithms
-                   int aNbSubObjects = aSubSubGroup->nInternalObjects(); 
-                   for ( int l = 0; l < aNbSubObjects; l++ ) {
-                     char name_dataset[ HDF_NAME_MAX_LEN+1 ];
-                     aSubSubGroup->InternalObjectIndentify( l, name_dataset );
-                     // check if it is an algorithm
-                     if ( string( name_dataset ).substr( 0, 4 ) == string( "Algo" ) ) {
-                       aDataset = new HDFdataset( name_dataset, aSubSubGroup );
-                       aDataset->OpenOnDisk();
-                       size = aDataset->GetSize();
-                       char* refFromFile = new char[ size ];
-                       aDataset->ReadFromDisk( refFromFile );
-                       aDataset->CloseOnDisk();
-
-                       //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
-                       //CORBA::Object_var hypObject = SObjectToObject( hypSO );
-                       int id = atoi( refFromFile );
-                       string anIOR = myStudyContext->getIORbyOldId( id );
-                       if ( !anIOR.empty() ) {
-                         CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
-                         if ( !CORBA::is_nil( hypObject ) ) {
-                           SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
-                           if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
-                             myNewMeshImpl->addHypothesis( aSubShapeObject, anHyp );
-                         }
-                       }
-                     }
-                   }
-                   // close "applied algorithms" HDF group
-                   aSubSubGroup->CloseOnDisk();
-                 }
-                 
-                 // try to get applied hypotheses
-                 if ( aSubGroup->ExistInternalObject( "Applied Hypotheses" ) ) {
-                   // open "applied hypotheses" HDF group
-                   aSubSubGroup = new HDFgroup( "Applied Hypotheses", aSubGroup );
-                   aSubSubGroup->OpenOnDisk();
-                   // get number of applied hypotheses
-                   int aNbSubObjects = aSubSubGroup->nInternalObjects(); 
-                   for ( int l = 0; l < aNbSubObjects; l++ ) {
-                     char name_dataset[ HDF_NAME_MAX_LEN+1 ];
-                     aSubSubGroup->InternalObjectIndentify( l, name_dataset );
-                     // check if it is a hypothesis
-                     if ( string( name_dataset ).substr( 0, 3 ) == string( "Hyp" ) ) {
-                       aDataset = new HDFdataset( name_dataset, aSubSubGroup );
-                       aDataset->OpenOnDisk();
-                       size = aDataset->GetSize();
-                       char* refFromFile = new char[ size ];
-                       aDataset->ReadFromDisk( refFromFile );
-                       aDataset->CloseOnDisk();
-                       
-                       //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
-                       //CORBA::Object_var hypObject = SObjectToObject( hypSO );
-                       int id = atoi( refFromFile );
-                       string anIOR = myStudyContext->getIORbyOldId( id );
-                       if ( !anIOR.empty() ) {
-                         CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
-                         if ( !CORBA::is_nil( hypObject ) ) {
-                           SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
-                           if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
-                             myNewMeshImpl->addHypothesis( aSubShapeObject, anHyp );
-                         }
-                       }
-                     }
-                   }
-                   // close "applied hypotheses" HDF group
-                   aSubSubGroup->CloseOnDisk();
-                 }
+    // Restore the rest mesh data
 
-                 // close submesh HDF group
-                 aSubGroup->CloseOnDisk();
-               }
-             }
-             // close submeshes containers HDF group
-             aGroup->CloseOnDisk();
-           }
-         }
+    list< pair< SMESH_Mesh_i*, HDFgroup* > >::iterator meshi_group;
+    for ( meshi_group = meshGroupList.begin(); meshi_group != meshGroupList.end(); ++meshi_group )
+    {
+      aTopGroup                   = meshi_group->second;
+      SMESH_Mesh_i* myNewMeshImpl = meshi_group->first;
+      ::SMESH_Mesh& myLocMesh     = myNewMeshImpl->GetImpl();
+      SMESHDS_Mesh* mySMESHDSMesh = myLocMesh.GetMeshDS();
+
+      GEOM::GEOM_Object_var aShapeObject = myNewMeshImpl->GetShapeToMesh();
+      bool hasData = false;
+
+      // get mesh old id
+      string iorString = GetORB()->object_to_string( myNewMeshImpl->_this() );
+      int newId = myStudyContext->findId( iorString );
+      int id = myStudyContext->getOldId( newId );
+
+      // try to find mesh data dataset
+      if ( aTopGroup->ExistInternalObject( "Has data" ) ) {
+        // load mesh "has data" flag
+        aDataset = new HDFdataset( "Has data", aTopGroup );
+        aDataset->OpenOnDisk();
+        size = aDataset->GetSize();
+        char* strHasData = new char[ size ];
+        aDataset->ReadFromDisk( strHasData );
+        aDataset->CloseOnDisk();
+        if ( strcmp( strHasData, "1") == 0 ) {
+          // read mesh data from MED file
+          myReader.SetMesh( mySMESHDSMesh );
+          myReader.SetMeshId( id );
+          myReader.Perform();
+          hasData = true;
+        }
+      }
 
-         if(hasData) {
-            
-           // Read sub-meshes from MED
-            // -------------------------
-           if(MYDEBUG) MESSAGE("Create all sub-meshes");
-            bool submeshesInFamilies = ( ! aTopGroup->ExistInternalObject( "Submeshes" ));
-            if ( submeshesInFamilies )
-            {
-              // old way working before fix of PAL 12992
-              myReader.CreateAllSubMeshes();
+      // try to get applied algorithms
+      if ( aTopGroup->ExistInternalObject( "Applied Algorithms" ) ) {
+        aGroup = new HDFgroup( "Applied Algorithms", aTopGroup );
+        aGroup->OpenOnDisk();
+        // get number of applied algorithms
+        int aNbSubObjects = aGroup->nInternalObjects(); 
+        if(MYDEBUG) MESSAGE( "VSR - number of applied algos " << aNbSubObjects );
+        for ( int j = 0; j < aNbSubObjects; j++ ) {
+          char name_dataset[ HDF_NAME_MAX_LEN+1 ];
+          aGroup->InternalObjectIndentify( j, name_dataset );
+          // check if it is an algorithm
+          if ( string( name_dataset ).substr( 0, 4 ) == string( "Algo" ) ) {
+            aDataset = new HDFdataset( name_dataset, aGroup );
+            aDataset->OpenOnDisk();
+            size = aDataset->GetSize();
+            char* refFromFile = new char[ size ];
+            aDataset->ReadFromDisk( refFromFile );
+            aDataset->CloseOnDisk();
+
+            // san - it is impossible to recover applied algorithms using their entries within Load() method
+
+            //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
+            //CORBA::Object_var hypObject = SObjectToObject( hypSO );
+            int id = atoi( refFromFile );
+            string anIOR = myStudyContext->getIORbyOldId( id );
+            if ( !anIOR.empty() ) {
+              CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
+              if ( !CORBA::is_nil( hypObject ) ) {
+                SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
+                if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
+                  myNewMeshImpl->addHypothesis( aShapeObject, anHyp );
+              }
             }
-            else
-            {
-              // open a group
-              aGroup = new HDFgroup( "Submeshes", aTopGroup ); 
-              aGroup->OpenOnDisk();
-
-              int maxID = mySMESHDSMesh->MaxShapeIndex();
-              vector< SMESHDS_SubMesh * > subMeshes( maxID + 1, (SMESHDS_SubMesh*) 0 );
-              vector< TopAbs_ShapeEnum  > smType   ( maxID + 1, TopAbs_SHAPE ); 
-              
-              PositionCreator aPositionCreator;
-
-              SMDS_NodeIteratorPtr nIt = mySMESHDSMesh->nodesIterator();
-              SMDS_ElemIteratorPtr eIt = mySMESHDSMesh->elementsIterator();
-              for ( int isNode = 0; isNode < 2; ++isNode )
-              {
-                string aDSName( isNode ? "Node Submeshes" : "Element Submeshes");
-                if ( aGroup->ExistInternalObject( (char*) aDSName.c_str() ))
-                {
-                  aDataset = new HDFdataset( (char*) aDSName.c_str(), aGroup );
-                  aDataset->OpenOnDisk();
-                  // read submesh IDs for all elements sorted by ID
-                  int nbElems = aDataset->GetSize();
-                  int* smIDs = new int [ nbElems ];
-                  aDataset->ReadFromDisk( smIDs );
-                 aDataset->CloseOnDisk();
-
-                  // get elements sorted by ID
-                  ::SMESH_MeshEditor::TIDSortedElemSet elemSet;
-                  if ( isNode )
-                    while ( nIt->more() ) elemSet.insert( nIt->next() );
-                  else
-                    while ( eIt->more() ) elemSet.insert( eIt->next() );
-                  ASSERT( elemSet.size() == nbElems );
+          }
+        }
+        aGroup->CloseOnDisk();
+      }
 
-                  // add elements to submeshes
-                  ::SMESH_MeshEditor::TIDSortedElemSet::iterator iE = elemSet.begin();
-                  for ( int i = 0; i < nbElems; ++i, ++iE )
-                  {
-                    int smID = smIDs[ i ];
-                    if ( smID == 0 ) continue;
-                    ASSERT( smID <= maxID );
-                    const SMDS_MeshElement* elem = *iE;
-                    // get or create submesh
-                    SMESHDS_SubMesh* & sm = subMeshes[ smID ];
-                    if ( ! sm ) {
-                      sm = mySMESHDSMesh->NewSubMesh( smID );
-                      smType[ smID ] = mySMESHDSMesh->IndexToShape( smID ).ShapeType();
-                    }
-                    // add
-                    if ( isNode ) {
-                      SMDS_PositionPtr pos = aPositionCreator.MakePosition( smType[ smID ]);
-                      pos->SetShapeId( smID );
-                      SMDS_MeshNode* node = const_cast<SMDS_MeshNode*>( static_cast<const SMDS_MeshNode*>( elem ));
-                      node->SetPosition( pos );
-                      sm->AddNode( node );
-                    } else {
-                      sm->AddElement( elem );
-                    }
-                  }
-                  delete smIDs;
-                }
+      // try to get applied hypotheses
+      if ( aTopGroup->ExistInternalObject( "Applied Hypotheses" ) ) {
+        aGroup = new HDFgroup( "Applied Hypotheses", aTopGroup );
+        aGroup->OpenOnDisk();
+        // get number of applied hypotheses
+        int aNbSubObjects = aGroup->nInternalObjects(); 
+        for ( int j = 0; j < aNbSubObjects; j++ ) {
+          char name_dataset[ HDF_NAME_MAX_LEN+1 ];
+          aGroup->InternalObjectIndentify( j, name_dataset );
+          // check if it is a hypothesis
+          if ( string( name_dataset ).substr( 0, 3 ) == string( "Hyp" ) ) {
+            aDataset = new HDFdataset( name_dataset, aGroup );
+            aDataset->OpenOnDisk();
+            size = aDataset->GetSize();
+            char* refFromFile = new char[ size ];
+            aDataset->ReadFromDisk( refFromFile );
+            aDataset->CloseOnDisk();
+
+            // san - it is impossible to recover applied hypotheses using their entries within Load() method
+
+            //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
+            //CORBA::Object_var hypObject = SObjectToObject( hypSO );
+            int id = atoi( refFromFile );
+            string anIOR = myStudyContext->getIORbyOldId( id );
+            if ( !anIOR.empty() ) {
+              CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
+              if ( !CORBA::is_nil( hypObject ) ) {
+                SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
+                if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
+                  myNewMeshImpl->addHypothesis( aShapeObject, anHyp );
               }
-            } // end reading submeshes
-
-            // Read node positions on sub-shapes (SMDS_Position)
+            }
+          }
+        }
+        aGroup->CloseOnDisk();
+      }
 
-            if ( aTopGroup->ExistInternalObject( "Node Positions" ))
-            {
-              // There are 5 datasets to read:
-              // "Nodes on Edges" - ID of node on edge
-              // "Edge positions" - U parameter on node on edge
-              // "Nodes on Faces" - ID of node on face
-              // "Face U positions" - U parameter of node on face
-              // "Face V positions" - V parameter of node on face
-              char* aEid_DSName = "Nodes on Edges";
-              char* aEu_DSName  = "Edge positions";
-              char* aFu_DSName  = "Face U positions";
-              //char* aFid_DSName = "Nodes on Faces";
-              //char* aFv_DSName  = "Face V positions";
-
-              // data to retrieve
-              int nbEids = 0, nbFids = 0;
-              int *aEids = 0, *aFids  = 0;
-              double *aEpos = 0, *aFupos = 0, *aFvpos = 0;
-
-              // open a group
-              aGroup = new HDFgroup( "Node Positions", aTopGroup ); 
-              aGroup->OpenOnDisk();
-
-              // loop on 5 data sets
-              int aNbObjects = aGroup->nInternalObjects();
-              for ( int i = 0; i < aNbObjects; i++ )
-              {
-                // identify dataset
-                char aDSName[ HDF_NAME_MAX_LEN+1 ];
-                aGroup->InternalObjectIndentify( i, aDSName );
-                // read data
-                aDataset = new HDFdataset( aDSName, aGroup );
+      // --> try to find submeshes containers for each type of submesh
+      for ( int j = GetSubMeshOnVertexTag(); j <= GetSubMeshOnCompoundTag(); j++ ) {
+        char name_meshgroup[ 30 ];
+        if ( j == GetSubMeshOnVertexTag() )
+          strcpy( name_meshgroup, "SubMeshes On Vertex" );
+        else if ( j == GetSubMeshOnEdgeTag() )
+          strcpy( name_meshgroup, "SubMeshes On Edge" );
+        else if ( j == GetSubMeshOnWireTag() )
+          strcpy( name_meshgroup, "SubMeshes On Wire" );
+        else if ( j == GetSubMeshOnFaceTag() )
+          strcpy( name_meshgroup, "SubMeshes On Face" );
+        else if ( j == GetSubMeshOnShellTag() )
+          strcpy( name_meshgroup, "SubMeshes On Shell" );
+        else if ( j == GetSubMeshOnSolidTag() )
+          strcpy( name_meshgroup, "SubMeshes On Solid" );
+        else if ( j == GetSubMeshOnCompoundTag() )
+          strcpy( name_meshgroup, "SubMeshes On Compound" );
+
+        // try to get submeshes container HDF group
+        if ( aTopGroup->ExistInternalObject( name_meshgroup ) ) {
+          // open submeshes containers HDF group
+          aGroup = new HDFgroup( name_meshgroup, aTopGroup );
+          aGroup->OpenOnDisk();
+
+          // get number of submeshes
+          int aNbSubMeshes = aGroup->nInternalObjects(); 
+          for ( int k = 0; k < aNbSubMeshes; k++ ) {
+            // identify submesh
+            char name_submeshgroup[ HDF_NAME_MAX_LEN+1 ];
+            aGroup->InternalObjectIndentify( k, name_submeshgroup );
+            if ( string( name_submeshgroup ).substr( 0, 7 ) == string( "SubMesh" )  ) {
+              // --> get submesh id
+              int subid = atoi( string( name_submeshgroup ).substr( 7 ).c_str() );
+              if ( subid <= 0 )
+                continue;
+              // open submesh HDF group
+              aSubGroup = new HDFgroup( name_submeshgroup, aGroup );
+              aSubGroup->OpenOnDisk();
+
+              // try to read and set reference to subshape
+              GEOM::GEOM_Object_var aSubShapeObject;
+              SMESH::SMESH_subMesh_var aSubMesh;
+
+              if ( aSubGroup->ExistInternalObject( "Ref on shape" ) ) {
+                // load submesh "Ref on shape" - it's an entry to SObject
+                aDataset = new HDFdataset( "Ref on shape", aSubGroup );
                 aDataset->OpenOnDisk();
-                if ( aDataset->GetType() == HDF_FLOAT64 ) // Positions
-                {
-                  double* pos = new double [ aDataset->GetSize() ];
-                  aDataset->ReadFromDisk( pos );
-                  // which one?
-                  if ( strncmp( aDSName, aEu_DSName, strlen( aEu_DSName )) == 0 )
-                    aEpos = pos;
-                  else if ( strncmp( aDSName, aFu_DSName, strlen( aFu_DSName )) == 0 )
-                    aFupos = pos;
-                  else
-                    aFvpos = pos;
-                }
-                else // NODE IDS
-                {
-                 int aSize = aDataset->GetSize();
-
-                  // for reading files, created from 18.07.2005 till 10.10.2005
-                  if (aDataset->GetType() == HDF_STRING)
-                    aSize /= sizeof(int);
-
-                 int* ids = new int [aSize];
-                  aDataset->ReadFromDisk( ids );
-                  // on face or nodes?
-                  if ( strncmp( aDSName, aEid_DSName, strlen( aEid_DSName )) == 0 ) {
-                    aEids = ids;
-                    nbEids = aSize;
-                  }
-                  else {
-                    aFids = ids;
-                    nbFids = aSize;
-                  }
-                }
+                size = aDataset->GetSize();
+                char* refFromFile = new char[ size ];
+                aDataset->ReadFromDisk( refFromFile );
                 aDataset->CloseOnDisk();
-              } // loop on 5 datasets
-
-              // Set node positions on edges or faces
-              for ( int onFace = 0; onFace < 2; onFace++ )
-              {
-                int nbNodes = ( onFace ? nbFids : nbEids );
-                if ( nbNodes == 0 ) continue;
-                int* aNodeIDs = ( onFace ? aFids : aEids );
-                double* aUPos = ( onFace ? aFupos : aEpos );
-                double* aVPos = ( onFace ? aFvpos : 0 );
-                // loop on node IDs
-                for ( int iNode = 0; iNode < nbNodes; iNode++ )
-                {
-                  const SMDS_MeshNode* node = mySMESHDSMesh->FindNode( aNodeIDs[ iNode ]);
-                  ASSERT( node );
-                  SMDS_PositionPtr aPos = node->GetPosition();
-                  ASSERT( aPos )
-                  if ( onFace ) {
-                    ASSERT( aPos->GetTypeOfPosition() == SMDS_TOP_FACE );
-                    SMDS_FacePosition* fPos = const_cast<SMDS_FacePosition*>
-                      ( static_cast<const SMDS_FacePosition*>( aPos.get() ));
-                    fPos->SetUParameter( aUPos[ iNode ]);
-                    fPos->SetVParameter( aVPos[ iNode ]);
-                  }
-                  else {
-                    ASSERT( aPos->GetTypeOfPosition() == SMDS_TOP_EDGE );
-                    SMDS_EdgePosition* fPos = const_cast<SMDS_EdgePosition*>
-                      ( static_cast<const SMDS_EdgePosition*>( aPos.get() ));
-                    fPos->SetUParameter( aUPos[ iNode ]);
+                if ( strlen( refFromFile ) > 0 ) {
+                  SALOMEDS::SObject_var subShapeSO = myCurrentStudy->FindObjectID( refFromFile );
+                  CORBA::Object_var subShapeObject = SObjectToObject( subShapeSO );
+                  if ( !CORBA::is_nil( subShapeObject ) ) {
+                    aSubShapeObject = GEOM::GEOM_Object::_narrow( subShapeObject );
+                    if ( !aSubShapeObject->_is_nil() )
+                      aSubMesh = SMESH::SMESH_subMesh::_duplicate
+                        ( myNewMeshImpl->createSubMesh( aSubShapeObject ) );
+                    if ( aSubMesh->_is_nil() )
+                      continue;
+                    string iorSubString = GetORB()->object_to_string( aSubMesh );
+                    int newSubId = myStudyContext->findId( iorSubString );
+                    myStudyContext->mapOldToNew( subid, newSubId );
                   }
                 }
               }
-              if ( aEids ) delete [] aEids;
-              if ( aFids ) delete [] aFids;
-              if ( aEpos ) delete [] aEpos;
-              if ( aFupos ) delete [] aFupos;
-              if ( aFvpos ) delete [] aFvpos;
-              
-              aGroup->CloseOnDisk();
-
-            } // if ( aTopGroup->ExistInternalObject( "Node Positions" ) )
-         } // if ( hasData )
 
-          // Recompute State (as computed sub-meshes are restored from MED)
-         if ( !aShapeObject->_is_nil() ) {
-           MESSAGE("Compute State Engine ...");
-           TopoDS_Shape myLocShape = GeomObjectToShape( aShapeObject );
-           myNewMeshImpl->GetImpl().GetSubMesh(myLocShape)->ComputeStateEngine
-              (SMESH_subMesh::SUBMESH_RESTORED);
-           MESSAGE("Compute State Engine finished");
-         }
-
-         // try to get groups
-         for ( int ii = GetNodeGroupsTag(); ii <= GetVolumeGroupsTag(); ii++ ) {
-           char name_group[ 30 ];
-           if ( ii == GetNodeGroupsTag() )
-             strcpy( name_group, "Groups of Nodes" );
-           else if ( ii == GetEdgeGroupsTag() )
-             strcpy( name_group, "Groups of Edges" );
-           else if ( ii == GetFaceGroupsTag() )
-             strcpy( name_group, "Groups of Faces" );
-           else if ( ii == GetVolumeGroupsTag() )
-             strcpy( name_group, "Groups of Volumes" );
-
-           if ( aTopGroup->ExistInternalObject( name_group ) ) {
-             aGroup = new HDFgroup( name_group, aTopGroup );
-             aGroup->OpenOnDisk();
-             // get number of groups
-             int aNbSubObjects = aGroup->nInternalObjects(); 
-             for ( int j = 0; j < aNbSubObjects; j++ ) {
-               char name_dataset[ HDF_NAME_MAX_LEN+1 ];
-               aGroup->InternalObjectIndentify( j, name_dataset );
-               // check if it is an group
-               if ( string( name_dataset ).substr( 0, 5 ) == string( "Group" ) ) {
-                 // --> get group id
-                 int subid = atoi( string( name_dataset ).substr( 5 ).c_str() );
-                 if ( subid <= 0 )
-                   continue;
-                 aDataset = new HDFdataset( name_dataset, aGroup );
-                 aDataset->OpenOnDisk();
+              if ( aSubMesh->_is_nil() )
+                continue;
+
+              // VSR: Get submesh data from MED convertor
+              //                  int anInternalSubmeshId = aSubMesh->GetId(); // this is not a persistent ID, it's an internal one computed from sub-shape
+              //                  if (myNewMeshImpl->_mapSubMesh.find(anInternalSubmeshId) != myNewMeshImpl->_mapSubMesh.end()) {
+              //                    if(MYDEBUG) MESSAGE("VSR - SMESH_Gen_i::Load(): loading from MED file submesh with ID = " <<
+              //                            subid << " for subshape # " << anInternalSubmeshId);
+              //                    SMESHDS_SubMesh* aSubMeshDS =
+              //                      myNewMeshImpl->_mapSubMesh[anInternalSubmeshId]->CreateSubMeshDS();
+              //                    if ( !aSubMeshDS ) {
+              //                      if(MYDEBUG) MESSAGE("VSR - SMESH_Gen_i::Load(): FAILED to create a submesh for subshape # " <<
+              //                              anInternalSubmeshId << " in current mesh!");
+              //                    }
+              //                    else
+              //                      myReader.GetSubMesh( aSubMeshDS, subid );
+              //                  }
+
+              // try to get applied algorithms
+              if ( aSubGroup->ExistInternalObject( "Applied Algorithms" ) ) {
+                // open "applied algorithms" HDF group
+                aSubSubGroup = new HDFgroup( "Applied Algorithms", aSubGroup );
+                aSubSubGroup->OpenOnDisk();
+                // get number of applied algorithms
+                int aNbSubObjects = aSubSubGroup->nInternalObjects(); 
+                for ( int l = 0; l < aNbSubObjects; l++ ) {
+                  char name_dataset[ HDF_NAME_MAX_LEN+1 ];
+                  aSubSubGroup->InternalObjectIndentify( l, name_dataset );
+                  // check if it is an algorithm
+                  if ( string( name_dataset ).substr( 0, 4 ) == string( "Algo" ) ) {
+                    aDataset = new HDFdataset( name_dataset, aSubSubGroup );
+                    aDataset->OpenOnDisk();
+                    size = aDataset->GetSize();
+                    char* refFromFile = new char[ size ];
+                    aDataset->ReadFromDisk( refFromFile );
+                    aDataset->CloseOnDisk();
 
-                 // Retrieve actual group name
-                 size = aDataset->GetSize();
-                 char* nameFromFile = new char[ size ];
-                 aDataset->ReadFromDisk( nameFromFile );
-                 aDataset->CloseOnDisk();
+                    //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
+                    //CORBA::Object_var hypObject = SObjectToObject( hypSO );
+                    int id = atoi( refFromFile );
+                    string anIOR = myStudyContext->getIORbyOldId( id );
+                    if ( !anIOR.empty() ) {
+                      CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
+                      if ( !CORBA::is_nil( hypObject ) ) {
+                        SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
+                        if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
+                          myNewMeshImpl->addHypothesis( aSubShapeObject, anHyp );
+                      }
+                    }
+                  }
+                }
+                // close "applied algorithms" HDF group
+                aSubSubGroup->CloseOnDisk();
+              }
 
-                 // Try to find a shape reference
-                  TopoDS_Shape aShape;
-                  char aRefName[ 30 ];
-                  sprintf( aRefName, "Ref on shape %d", subid);
-                  if ( aGroup->ExistInternalObject( aRefName ) ) {
-                    // load mesh "Ref on shape" - it's an entry to SObject
-                    aDataset = new HDFdataset( aRefName, aGroup );
+              // try to get applied hypotheses
+              if ( aSubGroup->ExistInternalObject( "Applied Hypotheses" ) ) {
+                // open "applied hypotheses" HDF group
+                aSubSubGroup = new HDFgroup( "Applied Hypotheses", aSubGroup );
+                aSubSubGroup->OpenOnDisk();
+                // get number of applied hypotheses
+                int aNbSubObjects = aSubSubGroup->nInternalObjects(); 
+                for ( int l = 0; l < aNbSubObjects; l++ ) {
+                  char name_dataset[ HDF_NAME_MAX_LEN+1 ];
+                  aSubSubGroup->InternalObjectIndentify( l, name_dataset );
+                  // check if it is a hypothesis
+                  if ( string( name_dataset ).substr( 0, 3 ) == string( "Hyp" ) ) {
+                    aDataset = new HDFdataset( name_dataset, aSubSubGroup );
                     aDataset->OpenOnDisk();
                     size = aDataset->GetSize();
                     char* refFromFile = new char[ size ];
                     aDataset->ReadFromDisk( refFromFile );
                     aDataset->CloseOnDisk();
-                    if ( strlen( refFromFile ) > 0 ) {
-                      SALOMEDS::SObject_var shapeSO = myCurrentStudy->FindObjectID( refFromFile );
-                      CORBA::Object_var shapeObject = SObjectToObject( shapeSO );
-                      if ( !CORBA::is_nil( shapeObject ) ) {
-                        aShapeObject = GEOM::GEOM_Object::_narrow( shapeObject );
-                        if ( !aShapeObject->_is_nil() )
-                          aShape = GeomObjectToShape( aShapeObject );
+
+                    //SALOMEDS::SObject_var hypSO = myCurrentStudy->FindObjectID( refFromFile );
+                    //CORBA::Object_var hypObject = SObjectToObject( hypSO );
+                    int id = atoi( refFromFile );
+                    string anIOR = myStudyContext->getIORbyOldId( id );
+                    if ( !anIOR.empty() ) {
+                      CORBA::Object_var hypObject = GetORB()->string_to_object( anIOR.c_str() );
+                      if ( !CORBA::is_nil( hypObject ) ) {
+                        SMESH::SMESH_Hypothesis_var anHyp = SMESH::SMESH_Hypothesis::_narrow( hypObject );
+                        if ( !anHyp->_is_nil() && !aShapeObject->_is_nil() )
+                          myNewMeshImpl->addHypothesis( aSubShapeObject, anHyp );
                       }
                     }
                   }
-                 // Create group servant
-                  SMESH::ElementType type = (SMESH::ElementType)(ii - GetNodeGroupsTag() + 1);
-                 SMESH::SMESH_GroupBase_var aNewGroup = SMESH::SMESH_GroupBase::_duplicate
-                    ( myNewMeshImpl->createGroup( type, nameFromFile, aShape ) );
-                 // Obtain a SMESHDS_Group object 
-                 if ( aNewGroup->_is_nil() )
-                   continue;
-
-                 string iorSubString = GetORB()->object_to_string( aNewGroup );
-                 int newSubId = myStudyContext->findId( iorSubString );
-                 myStudyContext->mapOldToNew( subid, newSubId );
+                }
+                // close "applied hypotheses" HDF group
+                aSubSubGroup->CloseOnDisk();
+              }
 
-                 SMESH_GroupBase_i* aGroupImpl =
-                    dynamic_cast<SMESH_GroupBase_i*>( GetServant( aNewGroup ).in() );
-                 if ( !aGroupImpl )
-                   continue;
+              // close submesh HDF group
+              aSubGroup->CloseOnDisk();
+            }
+          }
+          // close submeshes containers HDF group
+          aGroup->CloseOnDisk();
+        }
+      }
 
-                 SMESH_Group* aLocalGroup  = myLocMesh.GetGroup( aGroupImpl->GetLocalID() );
-                 if ( !aLocalGroup )
-                   continue;
+      if(hasData) {
 
-                 SMESHDS_GroupBase* aGroupBaseDS = aLocalGroup->GetGroupDS();
-                 aGroupBaseDS->SetStoreName( name_dataset );
+        // Read sub-meshes from MED
+        // -------------------------
+        if(MYDEBUG) MESSAGE("Create all sub-meshes");
+        bool submeshesInFamilies = ( ! aTopGroup->ExistInternalObject( "Submeshes" ));
+        if ( submeshesInFamilies )
+        {
+          // old way working before fix of PAL 12992
+          myReader.CreateAllSubMeshes();
+        }
+        else
+        {
+          // open a group
+          aGroup = new HDFgroup( "Submeshes", aTopGroup ); 
+          aGroup->OpenOnDisk();
+
+          int maxID = mySMESHDSMesh->MaxShapeIndex();
+          vector< SMESHDS_SubMesh * > subMeshes( maxID + 1, (SMESHDS_SubMesh*) 0 );
+          vector< TopAbs_ShapeEnum  > smType   ( maxID + 1, TopAbs_SHAPE ); 
+
+          PositionCreator aPositionCreator;
+
+          SMDS_NodeIteratorPtr nIt = mySMESHDSMesh->nodesIterator();
+          SMDS_ElemIteratorPtr eIt = mySMESHDSMesh->elementsIterator();
+          for ( int isNode = 0; isNode < 2; ++isNode )
+          {
+            string aDSName( isNode ? "Node Submeshes" : "Element Submeshes");
+            if ( aGroup->ExistInternalObject( (char*) aDSName.c_str() ))
+            {
+              aDataset = new HDFdataset( (char*) aDSName.c_str(), aGroup );
+              aDataset->OpenOnDisk();
+              // read submesh IDs for all elements sorted by ID
+              int nbElems = aDataset->GetSize();
+              int* smIDs = new int [ nbElems ];
+              aDataset->ReadFromDisk( smIDs );
+              aDataset->CloseOnDisk();
+
+              // get elements sorted by ID
+              ::SMESH_MeshEditor::TIDSortedElemSet elemSet;
+              if ( isNode )
+                while ( nIt->more() ) elemSet.insert( nIt->next() );
+              else
+                while ( eIt->more() ) elemSet.insert( eIt->next() );
+              ASSERT( elemSet.size() == nbElems );
+
+              // add elements to submeshes
+              ::SMESH_MeshEditor::TIDSortedElemSet::iterator iE = elemSet.begin();
+              for ( int i = 0; i < nbElems; ++i, ++iE )
+              {
+                int smID = smIDs[ i ];
+                if ( smID == 0 ) continue;
+                ASSERT( smID <= maxID );
+                const SMDS_MeshElement* elem = *iE;
+                // get or create submesh
+                SMESHDS_SubMesh* & sm = subMeshes[ smID ];
+                if ( ! sm ) {
+                  sm = mySMESHDSMesh->NewSubMesh( smID );
+                  smType[ smID ] = mySMESHDSMesh->IndexToShape( smID ).ShapeType();
+                }
+                // add
+                if ( isNode ) {
+                  SMDS_PositionPtr pos = aPositionCreator.MakePosition( smType[ smID ]);
+                  pos->SetShapeId( smID );
+                  SMDS_MeshNode* node = const_cast<SMDS_MeshNode*>( static_cast<const SMDS_MeshNode*>( elem ));
+                  node->SetPosition( pos );
+                  sm->AddNode( node );
+                } else {
+                  sm->AddElement( elem );
+                }
+              }
+              delete smIDs;
+            }
+          }
+        } // end reading submeshes
+
+        // Read node positions on sub-shapes (SMDS_Position)
+
+        if ( aTopGroup->ExistInternalObject( "Node Positions" ))
+        {
+          // There are 5 datasets to read:
+          // "Nodes on Edges" - ID of node on edge
+          // "Edge positions" - U parameter on node on edge
+          // "Nodes on Faces" - ID of node on face
+          // "Face U positions" - U parameter of node on face
+          // "Face V positions" - V parameter of node on face
+          char* aEid_DSName = "Nodes on Edges";
+          char* aEu_DSName  = "Edge positions";
+          char* aFu_DSName  = "Face U positions";
+          //char* aFid_DSName = "Nodes on Faces";
+          //char* aFv_DSName  = "Face V positions";
+
+          // data to retrieve
+          int nbEids = 0, nbFids = 0;
+          int *aEids = 0, *aFids  = 0;
+          double *aEpos = 0, *aFupos = 0, *aFvpos = 0;
+
+          // open a group
+          aGroup = new HDFgroup( "Node Positions", aTopGroup ); 
+          aGroup->OpenOnDisk();
+
+          // loop on 5 data sets
+          int aNbObjects = aGroup->nInternalObjects();
+          for ( int i = 0; i < aNbObjects; i++ )
+          {
+            // identify dataset
+            char aDSName[ HDF_NAME_MAX_LEN+1 ];
+            aGroup->InternalObjectIndentify( i, aDSName );
+            // read data
+            aDataset = new HDFdataset( aDSName, aGroup );
+            aDataset->OpenOnDisk();
+            if ( aDataset->GetType() == HDF_FLOAT64 ) // Positions
+            {
+              double* pos = new double [ aDataset->GetSize() ];
+              aDataset->ReadFromDisk( pos );
+              // which one?
+              if ( strncmp( aDSName, aEu_DSName, strlen( aEu_DSName )) == 0 )
+                aEpos = pos;
+              else if ( strncmp( aDSName, aFu_DSName, strlen( aFu_DSName )) == 0 )
+                aFupos = pos;
+              else
+                aFvpos = pos;
+            }
+            else // NODE IDS
+            {
+              int aSize = aDataset->GetSize();
+
+              // for reading files, created from 18.07.2005 till 10.10.2005
+              if (aDataset->GetType() == HDF_STRING)
+                aSize /= sizeof(int);
+
+              int* ids = new int [aSize];
+              aDataset->ReadFromDisk( ids );
+              // on face or nodes?
+              if ( strncmp( aDSName, aEid_DSName, strlen( aEid_DSName )) == 0 ) {
+                aEids = ids;
+                nbEids = aSize;
+              }
+              else {
+                aFids = ids;
+                nbFids = aSize;
+              }
+            }
+            aDataset->CloseOnDisk();
+          } // loop on 5 datasets
+
+          // Set node positions on edges or faces
+          for ( int onFace = 0; onFace < 2; onFace++ )
+          {
+            int nbNodes = ( onFace ? nbFids : nbEids );
+            if ( nbNodes == 0 ) continue;
+            int* aNodeIDs = ( onFace ? aFids : aEids );
+            double* aUPos = ( onFace ? aFupos : aEpos );
+            double* aVPos = ( onFace ? aFvpos : 0 );
+            // loop on node IDs
+            for ( int iNode = 0; iNode < nbNodes; iNode++ )
+            {
+              const SMDS_MeshNode* node = mySMESHDSMesh->FindNode( aNodeIDs[ iNode ]);
+              ASSERT( node );
+              SMDS_PositionPtr aPos = node->GetPosition();
+              ASSERT( aPos )
+                if ( onFace ) {
+                  ASSERT( aPos->GetTypeOfPosition() == SMDS_TOP_FACE );
+                  SMDS_FacePosition* fPos = const_cast<SMDS_FacePosition*>
+                    ( static_cast<const SMDS_FacePosition*>( aPos.get() ));
+                  fPos->SetUParameter( aUPos[ iNode ]);
+                  fPos->SetVParameter( aVPos[ iNode ]);
+                }
+                else {
+                  ASSERT( aPos->GetTypeOfPosition() == SMDS_TOP_EDGE );
+                  SMDS_EdgePosition* fPos = const_cast<SMDS_EdgePosition*>
+                    ( static_cast<const SMDS_EdgePosition*>( aPos.get() ));
+                  fPos->SetUParameter( aUPos[ iNode ]);
+                }
+            }
+          }
+          if ( aEids ) delete [] aEids;
+          if ( aFids ) delete [] aFids;
+          if ( aEpos ) delete [] aEpos;
+          if ( aFupos ) delete [] aFupos;
+          if ( aFvpos ) delete [] aFvpos;
+
+          aGroup->CloseOnDisk();
+
+        } // if ( aTopGroup->ExistInternalObject( "Node Positions" ) )
+      } // if ( hasData )
+
+      // Recompute State (as computed sub-meshes are restored from MED)
+      if ( !aShapeObject->_is_nil() ) {
+        MESSAGE("Compute State Engine ...");
+        TopoDS_Shape myLocShape = GeomObjectToShape( aShapeObject );
+        myNewMeshImpl->GetImpl().GetSubMesh(myLocShape)->ComputeStateEngine
+          (SMESH_subMesh::SUBMESH_RESTORED);
+        MESSAGE("Compute State Engine finished");
+      }
 
-                 // Fill group with contents from MED file
-                  SMESHDS_Group* aGrp = dynamic_cast<SMESHDS_Group*>( aGroupBaseDS );
-                  if ( aGrp )
-                    myReader.GetGroup( aGrp );
-               }
-             }
-             aGroup->CloseOnDisk();
-           }
-         }
-       }
-       // close mesh group
-       aTopGroup->CloseOnDisk();       
+      // try to get groups
+      for ( int ii = GetNodeGroupsTag(); ii <= GetVolumeGroupsTag(); ii++ ) {
+        char name_group[ 30 ];
+        if ( ii == GetNodeGroupsTag() )
+          strcpy( name_group, "Groups of Nodes" );
+        else if ( ii == GetEdgeGroupsTag() )
+          strcpy( name_group, "Groups of Edges" );
+        else if ( ii == GetFaceGroupsTag() )
+          strcpy( name_group, "Groups of Faces" );
+        else if ( ii == GetVolumeGroupsTag() )
+          strcpy( name_group, "Groups of Volumes" );
+
+        if ( aTopGroup->ExistInternalObject( name_group ) ) {
+          aGroup = new HDFgroup( name_group, aTopGroup );
+          aGroup->OpenOnDisk();
+          // get number of groups
+          int aNbSubObjects = aGroup->nInternalObjects(); 
+          for ( int j = 0; j < aNbSubObjects; j++ ) {
+            char name_dataset[ HDF_NAME_MAX_LEN+1 ];
+            aGroup->InternalObjectIndentify( j, name_dataset );
+            // check if it is an group
+            if ( string( name_dataset ).substr( 0, 5 ) == string( "Group" ) ) {
+              // --> get group id
+              int subid = atoi( string( name_dataset ).substr( 5 ).c_str() );
+              if ( subid <= 0 )
+                continue;
+              aDataset = new HDFdataset( name_dataset, aGroup );
+              aDataset->OpenOnDisk();
+
+              // Retrieve actual group name
+              size = aDataset->GetSize();
+              char* nameFromFile = new char[ size ];
+              aDataset->ReadFromDisk( nameFromFile );
+              aDataset->CloseOnDisk();
+
+              // Try to find a shape reference
+              TopoDS_Shape aShape;
+              char aRefName[ 30 ];
+              sprintf( aRefName, "Ref on shape %d", subid);
+              if ( aGroup->ExistInternalObject( aRefName ) ) {
+                // load mesh "Ref on shape" - it's an entry to SObject
+                aDataset = new HDFdataset( aRefName, aGroup );
+                aDataset->OpenOnDisk();
+                size = aDataset->GetSize();
+                char* refFromFile = new char[ size ];
+                aDataset->ReadFromDisk( refFromFile );
+                aDataset->CloseOnDisk();
+                if ( strlen( refFromFile ) > 0 ) {
+                  SALOMEDS::SObject_var shapeSO = myCurrentStudy->FindObjectID( refFromFile );
+                  CORBA::Object_var shapeObject = SObjectToObject( shapeSO );
+                  if ( !CORBA::is_nil( shapeObject ) ) {
+                    aShapeObject = GEOM::GEOM_Object::_narrow( shapeObject );
+                    if ( !aShapeObject->_is_nil() )
+                      aShape = GeomObjectToShape( aShapeObject );
+                  }
+                }
+              }
+              // Create group servant
+              SMESH::ElementType type = (SMESH::ElementType)(ii - GetNodeGroupsTag() + 1);
+              SMESH::SMESH_GroupBase_var aNewGroup = SMESH::SMESH_GroupBase::_duplicate
+                ( myNewMeshImpl->createGroup( type, nameFromFile, aShape ) );
+              // Obtain a SMESHDS_Group object 
+              if ( aNewGroup->_is_nil() )
+                continue;
+
+              string iorSubString = GetORB()->object_to_string( aNewGroup );
+              int newSubId = myStudyContext->findId( iorSubString );
+              myStudyContext->mapOldToNew( subid, newSubId );
+
+              SMESH_GroupBase_i* aGroupImpl =
+                dynamic_cast<SMESH_GroupBase_i*>( GetServant( aNewGroup ).in() );
+              if ( !aGroupImpl )
+                continue;
+
+              SMESH_Group* aLocalGroup  = myLocMesh.GetGroup( aGroupImpl->GetLocalID() );
+              if ( !aLocalGroup )
+                continue;
+
+              SMESHDS_GroupBase* aGroupBaseDS = aLocalGroup->GetGroupDS();
+              aGroupBaseDS->SetStoreName( name_dataset );
+
+              // Fill group with contents from MED file
+              SMESHDS_Group* aGrp = dynamic_cast<SMESHDS_Group*>( aGroupBaseDS );
+              if ( aGrp )
+                myReader.GetGroup( aGrp );
+            }
+          }
+          aGroup->CloseOnDisk();
+        }
       }
     }
+    // close mesh group
+    aTopGroup->CloseOnDisk();   
   }
   // close HDF file
   aFile->CloseOnDisk();
@@ -2937,7 +3129,7 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
 /*!
  *  SMESH_Gen_i::LoadASCII
  *
- *  Load SMESH module's data in ASCII format (not implemented yet)
+ *  Load SMESH module's data in ASCII format
  */
 //=============================================================================
 
@@ -2946,7 +3138,29 @@ bool SMESH_Gen_i::LoadASCII( SALOMEDS::SComponent_ptr theComponent,
                             const char*              theURL,
                             bool                     isMultiFile ) {
   if(MYDEBUG) MESSAGE( "SMESH_Gen_i::LoadASCII" );
-  return Load( theComponent, theStream, theURL, isMultiFile );
+
+  //before call main ::Load method it's need for decipher text format to
+  //binary ( "|xx" => x' )
+  int size = theStream.length();
+  if ( int((size / 3 )*3) != size ) //error size of buffer
+    return false;
+
+  int real_size = int(size / 3);
+
+  _CORBA_Octet* buffer = new _CORBA_Octet[real_size];
+  char tmp[3];
+  tmp[2]='\0';
+  int c = -1;
+  for ( int i = 0; i < real_size; i++ )
+  {
+    memcpy( &(tmp[0]), &(theStream[i*3+1]), 2 );
+    sscanf( tmp, "%x", &c );
+    sprintf( (char*)&(buffer[i]), "%c", (char)c );
+  }
+
+  SALOMEDS::TMPFile_var aRealStreamFile = new SALOMEDS::TMPFile(real_size, real_size, buffer, 1);
+  
+  return Load( theComponent, *(aRealStreamFile._retn()), theURL, isMultiFile );
 }
 
 //=============================================================================
@@ -3042,15 +3256,33 @@ char* SMESH_Gen_i::LocalPersistentIDToIOR( SALOMEDS::SObject_ptr /*theSObject*/,
 //=======================================================================
 
 int SMESH_Gen_i::RegisterObject(CORBA::Object_ptr theObject)
+{
+  StudyContext* myStudyContext = GetCurrentStudyContext();
+  if ( myStudyContext && !CORBA::is_nil( theObject )) {
+    CORBA::String_var iorString = GetORB()->object_to_string( theObject );
+    return myStudyContext->addObject( string( iorString.in() ) );
+  }
+  return 0;
+}
+
+//================================================================================
+/*!
+ * \brief Return id of registered object
+  * \param theObject - the Object
+  * \retval int - Object id
+ */
+//================================================================================
+
+int SMESH_Gen_i::GetObjectId(CORBA::Object_ptr theObject)
 {
   StudyContext* myStudyContext = GetCurrentStudyContext();
   if ( myStudyContext && !CORBA::is_nil( theObject )) {
     string iorString = GetORB()->object_to_string( theObject );
-    return myStudyContext->addObject( iorString );
+    return myStudyContext->findId( iorString );
   }
   return 0;
 }
-      
+
 //=============================================================================
 /*! 
  *  SMESHEngine_factory
@@ -3060,7 +3292,7 @@ int SMESH_Gen_i::RegisterObject(CORBA::Object_ptr theObject)
 //=============================================================================
 
 extern "C"
-{
+{ SMESH_I_EXPORT
   PortableServer::ObjectId* SMESHEngine_factory( CORBA::ORB_ptr            orb,
                                                 PortableServer::POA_ptr   poa, 
                                                 PortableServer::ObjectId* contId,
index 86ee7f1b80832738204561b1c0cb739a3ce0b2ce..4a1088f965c6a7d8d09bda9a54d6a60a43f284ee 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_GEN_I_HXX_
 #define _SMESH_GEN_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Gen)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -58,7 +60,7 @@ class SALOME_LifeCycleCORBA;
 // ===========================================================
 // Study context - stores study-connected objects references
 // ==========================================================
-class StudyContext
+class SMESH_I_EXPORT StudyContext
 {
 public:
   // constructor
@@ -104,6 +106,15 @@ public:
   void mapOldToNew( const int oldId, const int newId ) {
     mapIdToId[ oldId ] = newId;
   }
+  // get old id by a new one
+  int getOldId( const int newId ) {
+    map<int, int>::iterator imap;
+    for ( imap = mapIdToId.begin(); imap != mapIdToId.end(); ++imap ) {
+      if ( imap->second == newId )
+        return imap->first;
+    }
+    return 0;
+  }
     
 private:
   // get next free object identifier
@@ -122,7 +133,7 @@ private:
 // ===========================================================
 // SMESH module's engine
 // ==========================================================
-class SMESH_Gen_i:
+class SMESH_I_EXPORT SMESH_Gen_i:
   public virtual POA_SMESH::SMESH_Gen,
   public virtual Engines_Component_i 
 {
@@ -229,12 +240,17 @@ public:
                                      const SMESH::object_array& theListOfSubShape )
     throw ( SALOME::SALOME_Exception );
 
-  // Return geometrical object the given element is built on
+  // Return geometrical object the given element is built on. Publish it in study.
   GEOM::GEOM_Object_ptr GetGeometryByMeshElement( SMESH::SMESH_Mesh_ptr  theMesh,
                                                   CORBA::Long            theElementID,
                                                   const char*            theGeomName)
     throw ( SALOME::SALOME_Exception );
 
+  // Return geometrical object the given element is built on. Don't publish it in study.
+  GEOM::GEOM_Object_ptr FindGeometryByMeshElement( SMESH::SMESH_Mesh_ptr  theMesh,
+                                                  CORBA::Long            theElementID)
+    throw ( SALOME::SALOME_Exception );
+
   // ****************************************************
   // Interface inherited methods (from SALOMEDS::Driver)
   // ****************************************************
@@ -394,6 +410,21 @@ public:
   // Register an object in a StudyContext; return object id
   int RegisterObject(CORBA::Object_ptr theObject);
 
+  // Return id of registered object
+  int GetObjectId(CORBA::Object_ptr theObject);
+
+  // Return an object that previously had an oldID
+  template<class TInterface> 
+  typename TInterface::_var_type GetObjectByOldId( const int oldID )
+  {
+    if ( StudyContext* myStudyContext = GetCurrentStudyContext() ) {
+      string ior = myStudyContext->getIORbyOldId( oldID );
+      if ( !ior.empty() )
+        return TInterface::_narrow(GetORB()->string_to_object( ior.c_str() ));
+    }
+    return TInterface::_nil();
+  }
+
   // Get current study ID
   int GetCurrentStudyID()
   { return myCurrentStudy->_is_nil() ? -1 : myCurrentStudy->StudyId(); }
index 2021f22e2df7a4c43c62934b4ee3757577eb3a6e..2ff4d88747cf9de337bd22c014ff4fdf9120cafc 100644 (file)
@@ -180,7 +180,10 @@ SALOMEDS::SObject_ptr SMESH_Gen_i::ObjectToSObject(SALOMEDS::Study_ptr theStudy,
 {
   SALOMEDS::SObject_var aSO;
   if ( !CORBA::is_nil( theStudy ) && !CORBA::is_nil( theObject ))
-    aSO = theStudy->FindObjectIOR( SMESH_Gen_i::GetORB()->object_to_string( theObject ) );
+  {
+    CORBA::String_var objStr = SMESH_Gen_i::GetORB()->object_to_string( theObject );
+    aSO = theStudy->FindObjectIOR( objStr.in() );
+  }
   return aSO._retn();
 }
 
@@ -253,8 +256,8 @@ static SALOMEDS::SObject_ptr publish(SALOMEDS::Study_ptr   theStudy,
   SALOMEDS::GenericAttribute_var anAttr;
   if ( !CORBA::is_nil( theIOR )) {
     anAttr = aStudyBuilder->FindOrCreateAttribute( SO, "AttributeIOR" );
-    SALOMEDS::AttributeIOR::_narrow(anAttr)->SetValue
-      ( SMESH_Gen_i::GetORB()->object_to_string( theIOR ) );
+    CORBA::String_var objStr = SMESH_Gen_i::GetORB()->object_to_string( theIOR );
+    SALOMEDS::AttributeIOR::_narrow(anAttr)->SetValue( objStr.in() );
   }
   if ( thePixMap ) {
     anAttr  = aStudyBuilder->FindOrCreateAttribute( SO, "AttributePixMap" );
index b02f3d896112035d90d4148a0f4e82e1b3783d68..e6b1813773257fa1161553ddc4f06afcb2fa9085 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESH_Group_i_HeaderFile
 #define SMESH_Group_i_HeaderFile
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Group)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -43,7 +45,7 @@ class SMESHDS_GroupBase;
 // ===========
 // Group Base
 // ===========
-class SMESH_GroupBase_i:
+class SMESH_I_EXPORT SMESH_GroupBase_i:
   public virtual POA_SMESH::SMESH_GroupBase,
   public virtual SALOME::GenericObj_i
 {
@@ -85,7 +87,7 @@ private:
 // Group
 // ======
 
-class SMESH_Group_i:
+class SMESH_I_EXPORT SMESH_Group_i:
   public virtual POA_SMESH::SMESH_Group,
   public SMESH_GroupBase_i
 {
@@ -105,7 +107,7 @@ class SMESH_Group_i:
 // Group linked to geometry
 // =========================
 
-class SMESH_GroupOnGeom_i:
+class SMESH_I_EXPORT SMESH_GroupOnGeom_i:
   public virtual POA_SMESH::SMESH_GroupOnGeom,
   public SMESH_GroupBase_i
 {
index 4f9a90d25a62c92fe1768878fb9667099dcc6141..fedc0772290249a70a320aa3298f59f6d6831f12 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include <iostream>
 #include <sstream>
 #include "SMESH_Hypothesis_i.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_Hypothesis_i::SMESH_Hypothesis_i
@@ -45,25 +46,10 @@ SMESH_Hypothesis_i::SMESH_Hypothesis_i( PortableServer::POA_ptr thePOA )
 {
   MESSAGE( "SMESH_Hypothesis_i::SMESH_Hypothesis_i / Début" );
   myBaseImpl = 0;
-  // _CS_gbo This instruction fails
-  // thePOA->activate_object( this );
-  // _CS_gbo I keep the POA reference to activate the object in the future.
-  myPOA = thePOA;
   
   MESSAGE( "SMESH_Hypothesis_i::SMESH_Hypothesis_i / Fin" );
 };
 
-//=============================================================================
-/*!
- *  SMESH_Hypothesis_i::Activate()
- *
- *  Activation of the object
- */
-//=============================================================================
-void SMESH_Hypothesis_i::Activate() {
-  myPOA->activate_object( this );
-}
-
 //=============================================================================
 /*!
  *  SMESH_Hypothesis_i::~SMESH_Hypothesis_i
index 344444af62deabc5b8882c3bda85ac880f277213..634e245c6c267436452ca2309d6d16047b8b05d3 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_HYPOTHESIS_I_HXX_
 #define _SMESH_HYPOTHESIS_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -40,7 +42,7 @@
 // ======================================================
 // Generic hypothesis
 // ======================================================
-class SMESH_Hypothesis_i:
+class SMESH_I_EXPORT SMESH_Hypothesis_i:
   public virtual POA_SMESH::SMESH_Hypothesis,
   public virtual SALOME::GenericObj_i
 {
@@ -67,25 +69,18 @@ public:
   // Get implementation
   ::SMESH_Hypothesis* GetImpl();
   
-  // _CS_gbo_ Activate the object using the POA
-  void Activate();
-
   // Persistence
   virtual char* SaveTo();
   virtual void  LoadFrom( const char* theStream );
   
 protected:
   ::SMESH_Hypothesis* myBaseImpl;    // base hypothesis implementation
-
-  // _CS_gbo_070505 To keep the reference and delayed the activation
-  // in the methode Activate().
-  PortableServer::POA_ptr myPOA;
 };
 
 // ======================================================
 // Generic hypothesis creator
 // ======================================================
-class GenericHypothesisCreator_i
+class SMESH_I_EXPORT GenericHypothesisCreator_i
 {
 public:
   // Create a hypothesis
index bb2fd8fab9b8611adab64334edff929cb906fd51..94b63e57534481bab81f45315e5a4628292cdcac 100644 (file)
 //  File   : SMESH_MEDFamily_i.cxx
 //  Module : SMESH
 
-using namespace std;
 #include "SMESH_MEDFamily_i.hxx"
 #include "utilities.h"
 #include "Utils_CorbaException.hxx"
 
+using namespace std;
+
 //=============================================================================
 /*!
  * Default constructor
index b2ea28e3200a8e1c49904a3c2af29ad056617f5b..4dd63f3a1f99d0cd599e4a4fa75ff423f7fb80ab 100644 (file)
 #ifndef SMESH_MED_FAMILY_I_HXX_
 #define SMESH_MED_FAMILY_I_HXX_
 
+#include "SMESH.hxx"
+
 #include "SMESH_MEDSupport_i.hxx"
 
 #include<string>
 
-class SMESH_MEDFamily_i:
+class SMESH_I_EXPORT SMESH_MEDFamily_i:
   public virtual POA_SALOME_MED::FAMILY,
   public virtual SMESH_MEDSupport_i
 {
index 05ffe67013732b830356bd4234fbe0fc15c2db1e..b7f15cf172f231e52a2d7f083170af5c59fc75c0 100644 (file)
@@ -863,8 +863,8 @@ void SMESH_MEDMesh_i::addInStudy(SALOMEDS::Study_ptr myStudy,
         * ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
         * ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
         * CORBA::ORB_var &orb = init(0,0);
-        * string iorStr = orb->object_to_string(myIor);
-        * //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.c_str());
+        * CORBA::String_var iorStr = orb->object_to_string(myIor);
+        * //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.in());
         * SALOMEDS::AttributeIOR_var aIOR = SALOMEDS::AttributeIOR::_narrow(
         * myBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"));
         * aIOR->SetValue(iorStr.c_str());
@@ -1137,9 +1137,15 @@ void SMESH_MEDMesh_i::createFamilies() throw(SALOME::SALOME_Exception)
                        SMESH_MEDFamily_i *famservant =
                                new SMESH_MEDFamily_i(famIdent, submesh_i,
                                famName, famDes, SALOME_MED::MED_NODE);
-                       SALOME_MED::FAMILY_ptr famille =
-                               SALOME_MED::FAMILY::_narrow(famservant->
-                               POA_SALOME_MED::FAMILY::_this());
+#ifdef WNT
+      SALOME_MED::FAMILY_ptr famille = SALOME_MED::FAMILY::_nil();
+      POA_SALOME_MED::FAMILY* servantbase = dynamic_cast<POA_SALOME_MED::FAMILY*>(famservant);
+      if ( servantbase )
+        famille = SALOME_MED::FAMILY::_narrow( servantbase->_this() );
+#else 
+               SALOME_MED::FAMILY_ptr famille = 
+        SALOME_MED::FAMILY::_narrow( famservant->POA_SALOME_MED::FAMILY::_this() );
+#endif
                        _families.push_back(famille);
                }
        }
index 3fd6e71035aaa6cb84c2cfac0e879c2d0d46930e..05fe0727d0ca8b20160a17cf2ffc538d9bd420c3 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _MED_SMESH_MESH_I_HXX_
 #define _MED_SMESH_MESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(MED)
 #include <string>
@@ -44,7 +46,7 @@
 
 class SMESH_Mesh_i;
 
-class SMESH_MEDMesh_i:
+class SMESH_I_EXPORT SMESH_MEDMesh_i:
   public virtual POA_SALOME_MED::MESH, 
   public virtual SALOME::GenericObj_i
 {
index 27d8cf0df96b73c177fb61ac77163701f8e8b65f..e9b45e00903772663bf998deb81057b8c44e6fed 100644 (file)
@@ -24,7 +24,6 @@
 //  File   : SMESH_MEDSupport_i.cxx
 //  Module : SMESH
 
-using namespace std;
 #include "SMESH_MEDSupport_i.hxx"
 #include "utilities.h"
 #include "Utils_CorbaException.hxx"
@@ -37,6 +36,8 @@ using namespace std;
 #include "SMESH_Mesh_i.hxx"
 #include "SMESH_subMesh_i.hxx"
 
+using namespace std;
+
 
 //=============================================================================
 /*!
@@ -325,6 +326,18 @@ SALOME_MED::long_array * SMESH_MEDSupport_i::getNumber(
 
 }
 
+//=============================================================================
+/*!
+ * CORBA: get Nodes from file
+ */
+//=============================================================================
+
+SALOME_MED::long_array * SMESH_MEDSupport_i::getNumberFromFile(
+       SALOME_MED::medGeometryElement geomElement) throw(SALOME::SALOME_Exception)
+{
+  return getNumber(geomElement);
+}
+
 //=============================================================================
 /*!
  * CORBA: Global Nodes Index (optionnaly designed by the user)
index 68fb7fe419051bbbb4e8d3891f7f6c22f204ebfa..3a1d164e2378cc39f0be170fd7ee595eb018067d 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _MED_SMESH_MEDSUPPORT_I_HXX_
 #define _MED_SMESH_MEDSUPPORT_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(MED)
 #include <string>
@@ -40,7 +42,7 @@
 #include "SALOME_GenericObj_i.hh"
 class SMESH_subMesh_i;
 
-class SMESH_MEDSupport_i:
+class SMESH_I_EXPORT SMESH_MEDSupport_i:
        public virtual POA_SALOME_MED::SUPPORT, public virtual SALOME::GenericObj_i
 {
   public:
@@ -66,6 +68,13 @@ class SMESH_MEDSupport_i:
        getNumber(SALOME_MED::medGeometryElement geomElement)
          throw(SALOME::SALOME_Exception);
 
+  /*!
+   * Same function as getNumber.
+   */
+       SALOME_MED::long_array *
+       getNumberFromFile(SALOME_MED::medGeometryElement geomElement)
+         throw(SALOME::SALOME_Exception);
+
        SALOME_MED::long_array * getNumberIndex()
          throw(SALOME::SALOME_Exception);
 
index 55fc2330dc48efb2f66ea72cad6967ad88b223e6..1a87b258f72822f2040d7ae62886c749e4a17dad 100644 (file)
@@ -37,6 +37,7 @@
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Filter_i.hxx"
 #include "SMESH_PythonDump.hxx"
+#include "CASCatch.hxx"
 
 #include "utilities.h"
 
@@ -1604,7 +1605,7 @@ void SMESH_MeshEditor_i::FindCoincidentNodes (CORBA::Double                  Tol
   for ( CORBA::Long i = 0; llIt != aListOfListOfNodes.end(); llIt++, i++ ) {
     list< const SMDS_MeshNode* >& aListOfNodes = *llIt;
     list< const SMDS_MeshNode* >::iterator lIt = aListOfNodes.begin();;
-    SMESH::long_array& aGroup = GroupsOfNodes[ i ];
+    SMESH::long_array& aGroup = (*GroupsOfNodes)[i];
     aGroup.length( aListOfNodes.size() );
     for ( int j = 0; lIt != aListOfNodes.end(); lIt++, j++ )
       aGroup[ j ] = (*lIt)->GetID();
@@ -1955,7 +1956,7 @@ CORBA::Boolean SMESH_MeshEditor_i::ChangeElemNodes(CORBA::Long ide,
 
   int nbn = newIDs.length();
   int i=0;
-  const SMDS_MeshNode* aNodes [nbn];
+  vector<const SMDS_MeshNode*> aNodes (nbn);
   int nbn1=-1;
   for(; i<nbn; i++) {
     const SMDS_MeshNode* aNode = GetMeshDS()->FindNode(newIDs[i]);
@@ -1971,7 +1972,7 @@ CORBA::Boolean SMESH_MeshEditor_i::ChangeElemNodes(CORBA::Long ide,
   TPythonDump() << "print 'ChangeElemNodes: ', isDone";
 #endif
 
-  return GetMeshDS()->ChangeElementNodes( elem, aNodes, nbn1+1 );
+  return GetMeshDS()->ChangeElementNodes( elem, &aNodes[0], nbn1+1 );
 }
   
 //================================================================================
index cd7538c62cedda59f8e53e4bdd704e8d7eefb5f4..6433d9162b2783c72026ebfe7f074376255f201d 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_MESHEDITOR_I_HXX_
 #define _SMESH_MESHEDIOTR_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 
@@ -36,7 +38,7 @@
 
 class SMESH_MeshEditor;
 
-class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
+class SMESH_I_EXPORT SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
 {
  public:
   SMESH_MeshEditor_i(SMESH_Mesh * theMesh);
index 367eda450af834afe338271f2f4eb1b58b9bf1f8..cdcb326bb773160a740761b52e38688de29eda33 100644 (file)
@@ -49,6 +49,7 @@
 //#include "SMDS_ElemIterator.hxx"
 #include "SMDS_VolumeTool.hxx"
 #include "SMESH_MesherHelper.hxx"
+#include "SMESH_MeshEditor.hxx"
 
 // OCCT Includes
 #include <OSD_Path.hxx>
@@ -94,7 +95,6 @@ SMESH_Mesh_i::SMESH_Mesh_i( PortableServer::POA_ptr thePOA,
   _gen_i = gen_i;
   _id = myIdGenerator++;
   _studyId = studyId;
-  thePOA->activate_object( this );
 }
 
 //=============================================================================
@@ -318,6 +318,8 @@ static SMESH::Hypothesis_Status ConvertHypothesisStatus
     res = SMESH::HYP_BAD_DIM; break;
   case SMESH_Hypothesis::HYP_BAD_SUBSHAPE:
     res = SMESH::HYP_BAD_SUBSHAPE; break;
+  case SMESH_Hypothesis::HYP_BAD_GEOMETRY:
+    res = SMESH::HYP_BAD_GEOMETRY; break;
   default:
     res = SMESH::HYP_UNKNOWN_FATAL;
   }
@@ -1857,9 +1859,7 @@ SMESH::long_array* SMESH_Mesh_i::GetNodeInverseElements(const CORBA::Long id)
 //=============================================================================
 /*!
  * If given element is node returns IDs of shape from position
- * else - return ID of result shape after ::FindShape()
- * from SMESH_MeshEditor
- * If there is not element for given ID - returns -1
+ * If there is not node for given ID - returns -1
  */
 //=============================================================================
 
@@ -1879,12 +1879,35 @@ CORBA::Long SMESH_Mesh_i::GetShapeID(const CORBA::Long id)
       return pos->GetShapeId();
   }
 
+  return -1;
+}
+
+
+//=============================================================================
+/*!
+ * For given element returns ID of result shape after 
+ * ::FindShape() from SMESH_MeshEditor
+ * If there is not element for given ID - returns -1
+ */
+//=============================================================================
+
+CORBA::Long SMESH_Mesh_i::GetShapeIDForElem(const CORBA::Long id)
+{
+  SMESHDS_Mesh* aSMESHDS_Mesh = _impl->GetMeshDS();
+  if ( aSMESHDS_Mesh == NULL )
+    return -1;
+
   // try to find element
   const SMDS_MeshElement* elem = aSMESHDS_Mesh->FindElement(id);
   if(!elem)
     return -1;
 
-  // need implementation???????????????????????????????????????????????
+  //SMESH::SMESH_MeshEditor_var aMeshEditor = SMESH_Mesh_i::GetMeshEditor();
+  ::SMESH_MeshEditor aMeshEditor(_impl);
+  int index = aMeshEditor.FindShape( elem );
+  if(index>0)
+    return index;
+
   return -1;
 }
 
@@ -1925,6 +1948,26 @@ CORBA::Long SMESH_Mesh_i::GetElemNode(const CORBA::Long id, const CORBA::Long in
   return elem->GetNode(index)->GetID();
 }
 
+//=============================================================================
+/*!
+ * Returns IDs of nodes of given element
+ */
+//=============================================================================
+
+SMESH::long_array* SMESH_Mesh_i::GetElemNodes(const CORBA::Long id)
+{
+  SMESH::long_array_var aResult = new SMESH::long_array();
+  if ( SMESHDS_Mesh* aSMESHDS_Mesh = _impl->GetMeshDS() )
+  {
+    if ( const SMDS_MeshElement* elem = aSMESHDS_Mesh->FindElement(id) )
+    {
+      aResult->length( elem->NbNodes() );
+      for ( int i = 0; i < elem->NbNodes(); ++i )
+        aResult[ i ] = elem->GetNode( i )->GetID();
+    }
+  }
+  return aResult._retn();
+}
 
 //=============================================================================
 /*!
index d7c37b1de10893d4326945f97f63579d86db5ec6..92e431e4f1afc3a983d9a0db1ef598e358850714 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_MESH_I_HXX_
 #define _SMESH_MESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Group)
@@ -48,7 +50,7 @@ class SMESH_GroupBase_i;
 
 #include <map>
 
-class SMESH_Mesh_i:
+class SMESH_I_EXPORT SMESH_Mesh_i:
   public virtual POA_SMESH::SMESH_Mesh,
   public virtual SALOME::GenericObj_i
 {
@@ -166,7 +168,7 @@ public:
     throw (SALOME::SALOME_Exception);
   void ExportUNV( const char* file )
     throw (SALOME::SALOME_Exception);
-  void ExportSTL( const char* file, const bool isascii )
+  void ExportSTL( const char* file, bool isascii )
     throw (SALOME::SALOME_Exception);
 
   SALOME_MED::MESH_ptr GetMEDMesh()
@@ -250,13 +252,13 @@ public:
   SMESH::long_array* GetNodesId()
     throw (SALOME::SALOME_Exception);
   
-  SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+  SMESH::ElementType GetElementType( CORBA::Long id, bool iselem )
     throw (SALOME::SALOME_Exception);
   
   /*!
    * Returns ID of elements for given submesh
    */
-  SMESH::long_array* GetSubMeshElementsId(const CORBA::Long ShapeID)
+  SMESH::long_array* GetSubMeshElementsId(CORBA::Long ShapeID)
     throw (SALOME::SALOME_Exception);
 
   /*!
@@ -264,13 +266,13 @@ public:
    * If param all==true - returns all nodes, else -
    * returns only nodes on shapes.
    */
-  SMESH::long_array* GetSubMeshNodesId(const CORBA::Long ShapeID, CORBA::Boolean all)
+  SMESH::long_array* GetSubMeshNodesId(CORBA::Long ShapeID, CORBA::Boolean all)
     throw (SALOME::SALOME_Exception);
   
   /*!
    * Returns type of elements for given submesh
    */
-  SMESH::ElementType GetSubMeshElementType(const CORBA::Long ShapeID)
+  SMESH::ElementType GetSubMeshElementType(CORBA::Long ShapeID)
     throw (SALOME::SALOME_Exception);
   
   char* Dump();
@@ -311,72 +313,82 @@ public:
    * Get XYZ coordinates of node as list of double
    * If there is not node for given ID - returns empty list
    */
-  SMESH::double_array* GetNodeXYZ(const CORBA::Long id);
+  SMESH::double_array* GetNodeXYZ(CORBA::Long id);
   
   /*!
    * For given node returns list of IDs of inverse elements
    * If there is not node for given ID - returns empty list
    */
-  SMESH::long_array* GetNodeInverseElements(const CORBA::Long id);
+  SMESH::long_array* GetNodeInverseElements(CORBA::Long id);
 
   /*!
    * If given element is node returns IDs of shape from position
-   * else - return ID of result shape after ::FindShape()
-   * from SMESH_MeshEditor
+   * If there is not node for given ID - returns -1
+   */
+  CORBA::Long GetShapeID(CORBA::Long id);
+
+  /*!
+   * For given element returns ID of result shape after 
+   * ::FindShape() from SMESH_MeshEditor
    * If there is not element for given ID - returns -1
    */
-  CORBA::Long GetShapeID(const CORBA::Long id);
+  CORBA::Long GetShapeIDForElem(CORBA::Long id);
 
   /*!
    * Returns number of nodes for given element
    * If there is not element for given ID - returns -1
    */
-  CORBA::Long GetElemNbNodes(const CORBA::Long id);
+  CORBA::Long GetElemNbNodes(CORBA::Long id);
+
+  /*!
+   * Returns IDs of nodes of given element
+   */
+  SMESH::long_array* GetElemNodes(CORBA::Long id);
 
   /*!
    * Returns ID of node by given index for given element
    * If there is not element for given ID - returns -1
    * If there is not node for given index - returns -2
    */
-  CORBA::Long GetElemNode(const CORBA::Long id, const CORBA::Long index);
+  CORBA::Long GetElemNode(CORBA::Long id, CORBA::Long index);
   
   /*!
    * Returns true if given node is medium node
    * in given quadratic element
    */
-  CORBA::Boolean IsMediumNode(const CORBA::Long ide, const CORBA::Long idn);
+  CORBA::Boolean IsMediumNode(CORBA::Long ide, CORBA::Long idn);
   
   /*!
    * Returns true if given node is medium node
    * in one of quadratic elements
    */
-  CORBA::Boolean IsMediumNodeOfAnyElem(const CORBA::Long idn,
+  CORBA::Boolean IsMediumNodeOfAnyElem(CORBA::Long idn,
                                        SMESH::ElementType theElemType);
   
   /*!
    * Returns number of edges for given element
    */
-  CORBA::Long ElemNbEdges(const CORBA::Long id);
+  CORBA::Long ElemNbEdges(CORBA::Long id);
   
   /*!
    * Returns number of faces for given element
    */
-  CORBA::Long ElemNbFaces(const CORBA::Long id);
+  CORBA::Long ElemNbFaces(CORBA::Long id);
   
   /*!
    * Returns true if given element is polygon
    */
-  CORBA::Boolean IsPoly(const CORBA::Long id);
+  CORBA::Boolean IsPoly(CORBA::Long id);
   
   /*!
    * Returns true if given element is quadratic
    */
-  CORBA::Boolean IsQuadratic(const CORBA::Long id);
+  CORBA::Boolean IsQuadratic(CORBA::Long id);
   
   /*!
    * Returns bary center for given element
    */
-  SMESH::double_array* BaryCenter(const CORBA::Long id);
+  SMESH::double_array* BaryCenter(CORBA::Long id);
 
 
   map<int, SMESH_subMesh_i*> _mapSubMesh_i; //NRI
index b1458636e57eef122687033e9f0a11e6db158be0..7a5a92cbfa1a495d8c1b8634d9100ea692ec1741 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESH_Pattern_I_HeaderFile
 #define SMESH_Pattern_I_HeaderFile
 
+#include "SMESH.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Pattern)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -41,7 +43,7 @@
 class SMESH_Gen_i;
 class SMESH_Mesh;
 
-class SMESH_Pattern_i:
+class SMESH_I_EXPORT SMESH_Pattern_i:
   public virtual POA_SMESH::SMESH_Pattern
 {
  public:
@@ -75,9 +77,14 @@ class SMESH_Pattern_i:
                                          CORBA::Long              theNode000Index,
                                          CORBA::Long              theNode001Index);
 
-  CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
+  //for omniORB conflict compilation
+  /*CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
                            const CORBA::Boolean  CreatePolygons,
-                           const CORBA::Boolean  CreatePolyedrs);
+                           const CORBA::Boolean  CreatePolyedrs);*/
+
+  CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
+                           CORBA::Boolean  CreatePolygons,
+                           CORBA::Boolean  CreatePolyedrs);
 
   SMESH::SMESH_Pattern::ErrorCode GetErrorCode();
 
index 3e9fd96d7bd9bdf3878893e5d657641ef22d2319..6e65a3d4149dbc15a4c23c669641f0e3efb55da6 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef _SMESH_PYTHONDUMP_HXX_
 #define _SMESH_PYTHONDUMP_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SALOMEDS)
@@ -37,7 +39,7 @@ namespace SMESH
   class Filter_i;
   class Functor_i;
 
-  class TPythonDump
+  class SMESH_I_EXPORT TPythonDump
   {
     std::ostringstream myStream;
     static size_t myCounter;
index c7b876c5c84006e594cca3f5be7f8ac069413b43..a073dfd7a0b2c70732abcad424ef84225e9ac116 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_subMesh_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Mesh_i.hxx"
@@ -40,6 +39,8 @@ using namespace std;
 #include <TopoDS.hxx>
 #include <TopoDS_Iterator.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
@@ -69,7 +70,6 @@ SMESH_subMesh_i::SMESH_subMesh_i( PortableServer::POA_ptr thePOA,
   _gen_i = gen_i;
   _mesh_i = mesh_i;
   _localId = localId;
-  thePOA->activate_object( this );
   // ****
 }
 //=============================================================================
index 3fca4373c7318e74aaf4db89d4e30b7045f4e0db..808b07cb68d21dad3197e91aebb8dbf8e3f0e47e 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_SUBMESH_I_HXX_
 #define _SMESH_SUBMESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
@@ -40,7 +42,7 @@
 class SMESH_Gen_i;
 class SMESH_Mesh_i;
 
-class SMESH_subMesh_i:
+class SMESH_I_EXPORT SMESH_subMesh_i:
   public virtual POA_SMESH::SMESH_subMesh,
   public virtual SALOME::GenericObj_i
 {
@@ -64,7 +66,10 @@ public:
   SMESH::long_array* GetElementsByType( SMESH::ElementType theElemType )
     throw (SALOME::SALOME_Exception);
   
-  SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+  //for omniORB conflict compilation
+  /*SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+    throw (SALOME::SALOME_Exception);*/
+  SMESH::ElementType GetElementType( CORBA::Long id, bool iselem )
     throw (SALOME::SALOME_Exception);
   
   SMESH::long_array* GetNodesId()
index f55e19c54f391f35178c665b09c4d05d50d34a5b..80ba78e729f7cd4a739d70c032388dc1d8b1238f 100644 (file)
@@ -66,6 +66,7 @@ EXPORT_PYSCRIPTS = libSMESH_Swig.py \
                    SMESH_test.py\
                    SMESH_test0.py\
                   SMESH_test1.py \
+                  SMESH_test1_AndDisplay.py \
                   SMESH_test2.py \
                   SMESH_test3.py \
                   SMESH_test4.py \
index 9e3b16a615e1267d1adba928f1021c54c7f26991..a3242150a5fc9b7603a3dd924719e148df402e17 100755 (executable)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-import geompy
 import salome
+import geompy
+import smesh
 
-import StdMeshers
 
 #-----------------------------GEOM----------------------------------------
 
@@ -51,72 +51,48 @@ Id_face1 = geompy.addToStudy(face1,"Face1")
 
 
 #-----------------------------SMESH-------------------------------------------
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-# -- Init --
-plane_mesh = salome.IDToObject( Id_face1)
-smesh.SetCurrentStudy(salome.myStudy)
-
-mesh = smesh.CreateMesh(plane_mesh)
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
-id_mesh = salome.ObjectToID(mesh)
-smeshgui.SetName( id_mesh, "Mesh_1")
 
+# -- Init mesh --
+plane_mesh = salome.IDToObject( Id_face1)
 
-print"---------------------Hypothesis"
+mesh = smesh.Mesh(plane_mesh, "Mesh_1")
 
+print"---------------------Hypothesis and Algorithms"
 
 #---------------- NumberOfSegments
+
 numberOfSegment = 9
 
-hypNbSeg = smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" )
-hypNbSeg.SetNumberOfSegments( numberOfSegment )
+algoWireDes = mesh.Segment()
+listHyp = algoWireDes.GetCompatibleHypothesis()
+print algoWireDes.GetName()
+algoWireDes.SetName("Ware descritisation")
 
+hypNbSeg = algoWireDes.NumberOfSegments(numberOfSegment)
 print hypNbSeg.GetName()
 print hypNbSeg.GetNumberOfSegments()
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "Nb. Segments")
+smesh.SetName(hypNbSeg, "Nb. Segments")
 
 
 #--------------------------Max. Element Area
 maxElementArea = 200
 
-hypArea200 = smesh.CreateHypothesis("MaxElementArea","libStdMeshersEngine.so")
-hypArea200.SetMaxElementArea( maxElementArea )
-print hypArea200.GetName()
-print hypArea200.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea200), "Max. Element Area")
-
-print"---------------------Algorithms"
-
-#----------------------------Wire discretisation
-algoWireDes = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" )
-listHyp = algoWireDes.GetCompatibleHypothesis()
-
-print algoWireDes.GetName()
-smeshgui.SetName(salome.ObjectToID(algoWireDes), "Ware descritisation")
-
-#----------------------------Triangle (Mefisto)
-algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" )
+algoMef = mesh.Triangle()
 listHyp = algoMef.GetCompatibleHypothesis()
-
 print algoMef.GetName()
+algoMef.SetName("Triangle (Mefisto)")
 
-#----------------------------Add hipothesis to the plane
-mesh.AddHypothesis( plane_mesh, hypNbSeg )     # nb segments
-mesh.AddHypothesis( plane_mesh, hypArea200 )   # max area
-
-mesh.AddHypothesis( plane_mesh, algoWireDes )  # Regular 1D/wire discretisation
-mesh.AddHypothesis( plane_mesh, algoMef )      # MEFISTO 2D
+hypArea200 = algoMef.MaxElementArea(maxElementArea)
+print hypArea200.GetName()
+print hypArea200.GetMaxElementArea()
+smesh.SetName(hypArea200, "Max. Element Area")
 
-smeshgui.SetName(salome.ObjectToID(algoMef), "Triangle (Mefisto)")
 
 print "---------------------Compute the mesh"
 
-smesh.Compute(mesh, plane_mesh)
+ret = mesh.Compute()
+print ret
 
 salome.sg.updateObjBrowser(1)
 
index 5af684bd5ef1dd6e94ed38d08b6782796ca57a94..8c6d456a443c45482f75f0d1c9fca13ebbf797e2 100755 (executable)
@@ -25,8 +25,8 @@
 
 import salome
 import geompy
-import SMESH
-import StdMeshers
+import smesh
+
 
 #----------------------------------GEOM
 
@@ -51,51 +51,25 @@ id_ellipse2 = geompy.addToStudy(ellipse2, "Ellips 2")
 
 
 #---------------------------------SMESH
-# get smesh engine
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
-
-# get SMESH GUI
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
-
-# create hypoteses
-hypNbSeg1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg1.SetNumberOfSegments(18)
-id_hypNbSeg1 = salome.ObjectToID(hypNbSeg1) 
-smeshgui.SetName(id_hypNbSeg1, "NumberOfSegments 1");
-
-hypNbSeg2 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg2.SetNumberOfSegments(34)
-id_hypNbSeg2 = salome.ObjectToID(hypNbSeg2) 
-smeshgui.SetName(id_hypNbSeg2, "NumberOfSegments 2");
-
-# create algorithmes
-algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-id_algoReg = salome.ObjectToID(algoReg)
-smeshgui.SetName(id_algoReg, "Regular_1D");
 
 # create the path mesh
-mesh1 = smesh.CreateMesh(ellipse1)
-id_mesh1 = salome.ObjectToID(mesh1)
-smeshgui.SetName(id_mesh1, "Path Mesh");
+mesh1 = smesh.Mesh(ellipse1, "Path Mesh")
 
-# set hypotheses and algos
-mesh1.AddHypothesis(ellipse1,algoReg)
-mesh1.AddHypothesis(ellipse1,hypNbSeg1)
+algoReg1 = mesh1.Segment()
+algoReg1.SetName("Regular_1D")
+hypNbSeg1 = algoReg1.NumberOfSegments(18)
+smesh.SetName(hypNbSeg1, "NumberOfSegments 1")
 
 # create the tool mesh
-mesh2 = smesh.CreateMesh(ellipse2)
-id_mesh2 = salome.ObjectToID(mesh2)
-smeshgui.SetName(id_mesh2, "Tool Mesh");
-
-# set hypotheses and algos
-mesh2.AddHypothesis(ellipse2,algoReg)
-mesh2.AddHypothesis(ellipse2,hypNbSeg2)
+mesh2 = smesh.Mesh(ellipse2, "Tool Mesh")
+algoReg2 = mesh2.Segment()
+algoReg2.SetName("Regular_1D")
+hypNbSeg2 = algoReg2.NumberOfSegments(34)
+smesh.SetName(hypNbSeg2, "NumberOfSegments 2")
 
 # compute meshes
-smesh.Compute(mesh1,ellipse1)
-smesh.Compute(mesh2,ellipse2)
+mesh1.Compute()
+mesh2.Compute()
 
 
 # ---- udate object browser
index 6d0993ba6e4d6c9d345bcdd6c6da62dd9dd7c42e..a79bb89512baf93703ca8c2b6afd19f09f78fbfa 100755 (executable)
 
 import salome
 import geompy
-import SMESH
-import StdMeshers
+import smesh
 
-# get smesh engine
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
 
 # create points to build two circles
 p1 = geompy.MakeVertex(0,  100,  0)
@@ -52,53 +48,39 @@ face = geompy.MakeFace(wire, 1)
 idcircle = geompy.addToStudy(circle, "Circle")
 idface   = geompy.addToStudy(face,   "Circular face")
 
-# get SMESH GUI
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
-# create hypoteses
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(12)
-idseg = salome.ObjectToID(hypNbSeg) 
-smeshgui.SetName(idseg, "NumberOfSegments_10");
 
-hypArea = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea.SetMaxElementArea(30)
-idarea = salome.ObjectToID(hypArea)
-smeshgui.SetName(idarea, "MaxElementArea_20");
+# init a Mesh with the circular face
+mesh1 = smesh.Mesh(face, "Mesh on circular face")
 
-# create algorithmes
-algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-idreg = salome.ObjectToID(algoReg)
-smeshgui.SetName(idreg, "Regular_1D");
+# set hypotheses and algos to the first mesh
+numberOfSegments1 = 12
+algoReg1 = mesh1.Segment()
+algoReg1.SetName("Regular_1D")
+hypNbSeg1 = algoReg1.NumberOfSegments(numberOfSegments1)
+smesh.SetName(hypNbSeg1, "NumberOfSegments_" + str(numberOfSegments1))
 
-algoMef = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-idmef = salome.ObjectToID(algoMef)
-smeshgui.SetName(idmef, "MEFISTO_2D");
+maxElementArea = 30
 
-# init a Mesh with the circular face
-mesh1 = smesh.CreateMesh(face)
-idmesh1 = salome.ObjectToID(mesh1)
-smeshgui.SetName(idmesh1, "Mesh on circular face");
+algoMef = mesh1.Triangle()
+algoMef.SetName("MEFISTO_2D")
+hypArea = algoMef.MaxElementArea(maxElementArea)
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
-# set hypotheses and algos
-mesh1.AddHypothesis(face,algoReg)
-mesh1.AddHypothesis(face,hypNbSeg)
-mesh1.AddHypothesis(face,algoMef)
-mesh1.AddHypothesis(face,hypArea)
 
 # init a Mesh with the second circle
-mesh2 = smesh.CreateMesh(circle)
-idmesh2 = salome.ObjectToID(mesh2)
-smeshgui.SetName(idmesh2, "Mesh on circular edge");
+mesh2 = smesh.Mesh(circle, "Mesh on circular edge")
+
+numberOfSegments2 = 12
+algoReg2 = mesh2.Segment()
+algoReg2.SetName("Regular_1D")
+hypNbSeg2 = algoReg2.NumberOfSegments(numberOfSegments2)
+smesh.SetName(hypNbSeg2, "NumberOfSegments_" + str(numberOfSegments2))
 
-# set hypotheses and algos
-mesh2.AddHypothesis(circle,algoReg)
-mesh2.AddHypothesis(circle,hypNbSeg)
 
 # compute meshes
-smesh.Compute(mesh1,face)
-smesh.Compute(mesh2,circle)
+mesh1.Compute()
+mesh2.Compute()
 
 # ---- udate object browser
 salome.sg.updateObjBrowser(1);
index 914cd7931d27b1b0a3c08b5df559e556dada2807..94a8bf9a42063731f33cd125a991408780ffb221 100644 (file)
@@ -18,7 +18,6 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 import smesh
-import SMESH
 import math
 
 def GetNewNodes(mesh,Elems,OldNodes):
@@ -51,45 +50,44 @@ def GetNewNodes(mesh,Elems,OldNodes):
             
     
 # create empty mesh
-mesh = smesh.smesh.CreateEmptyMesh()
+mesh = smesh.Mesh()
 
-ed = mesh.GetMeshEditor()
 tol = 0.001
 
 # create a cross from quadrangle faces
 # 1. create first edge and make extrusion along 0x
-n1 = ed.AddNode(55,-5,0)
-n2 = ed.AddNode(55,5,0)
-e1 = ed.AddEdge([n1,n2])
-dir1 = SMESH.DirStruct(SMESH.PointStruct(-10,0,0))
-ed.ExtrusionSweep([e1],dir1,11)
+n1 = mesh.AddNode(55,-5,0)
+n2 = mesh.AddNode(55,5,0)
+e1 = mesh.AddEdge([n1,n2])
+dir1 = smesh.DirStruct(smesh.PointStruct(-10,0,0))
+mesh.ExtrusionSweep([e1],dir1,11)
 # 2. create second edge and make extrusion along 0y
-n3 = ed.AddNode(-5,-55,0)
-n4 = ed.AddNode(5,-55,0)
-e2 = ed.AddEdge([n3,n4])
-dir2 = SMESH.DirStruct(SMESH.PointStruct(0,10,0))
-ed.ExtrusionSweep([e2],dir2,11)
+n3 = mesh.AddNode(-5,-55,0)
+n4 = mesh.AddNode(5,-55,0)
+e2 = mesh.AddEdge([n3,n4])
+dir2 = smesh.DirStruct(smesh.PointStruct(0,10,0))
+mesh.ExtrusionSweep([e2],dir2,11)
 
 # since result has coincident nodes and faces
 # we have to make merge
-nodes = ed.FindCoincidentNodes(0.001)
-ed.MergeNodes(nodes)
-ed.MergeEqualElements()
+nodes = mesh.FindCoincidentNodes(0.001)
+mesh.MergeNodes(nodes)
+mesh.MergeEqualElements()
 
 # make extrusion faces along 0z
-faces = mesh.GetElementsByType(SMESH.FACE)
+faces = mesh.GetElementsByType(smesh.FACE)
 nbf = len(faces)
 maxang = 2.0
 zstep = 5
 nbzsteps = 50
-dir3 = SMESH.DirStruct(SMESH.PointStruct(0,0,zstep))
+dir3 = smesh.DirStruct(smesh.PointStruct(0,0,zstep))
 newfaces = [] # list for keeping created top faces
               # during extrusion
 
 for i in range(0,nbzsteps):
-    ed.ExtrusionSweep(faces,dir3,1)
+    mesh.ExtrusionSweep(faces,dir3,1)
     # find top faces after each extrusion and keep them
-    res = ed.GetLastCreatedElems()
+    res = mesh.GetLastCreatedElems()
     nbr = len(res)
     nfaces = []
     for j in res:
@@ -115,23 +113,23 @@ for i in range(0,nbzsteps):
     pass
     
 # rotate faces from newfaces
-axisr1 = SMESH.AxisStruct(0,0,0,0,0,1)
+axisr1 = smesh.AxisStruct(0,0,0,0,0,1)
 for i in range(0,nbzsteps):
     ang = maxang*(1-math.cos((i+1)*math.pi/nbzsteps))
-    ed.Rotate(newfaces[i],axisr1,ang,0)
+    mesh.Rotate(newfaces[i],axisr1,ang,0)
 
 
 # create circles
 # create two edges and rotate them for creation
 # full circle
-n5 = ed.AddNode(65,0,0)
-n6 = ed.AddNode(67.5,0,0)
-n7 = ed.AddNode(70,0,0)
-e56 = ed.AddEdge([n5,n6])
-e67 = ed.AddEdge([n6,n7])
-axisr2 = SMESH.AxisStruct(65,0,0,0,1,0)
-ed.RotationSweep([e56,e67],axisr2, math.pi/6, 12, tol)
-res = ed.GetLastCreatedElems()
+n5 = mesh.AddNode(65,0,0)
+n6 = mesh.AddNode(67.5,0,0)
+n7 = mesh.AddNode(70,0,0)
+e56 = mesh.AddEdge([n5,n6])
+e67 = mesh.AddEdge([n6,n7])
+axisr2 = smesh.AxisStruct(65,0,0,0,1,0)
+mesh.RotationSweep([e56,e67],axisr2, math.pi/6, 12, tol)
+res = mesh.GetLastCreatedElems()
 faces1 = []
 for i in res:
     nbn = mesh.GetElemNbNodes(i)
@@ -141,14 +139,14 @@ nbf1 = len(faces1)
 
 # create other two edges and rotate them for creation
 # other full circle
-n8 = ed.AddNode(-65,0,0)
-n9 = ed.AddNode(-67.5,0,0)
-n10 = ed.AddNode(-70,0,0)
-e8 = ed.AddEdge([n8,n9])
-e9 = ed.AddEdge([n9,n10])
-axisr3 = SMESH.AxisStruct(-65,0,0,0,-1,0)
-ed.RotationSweep([e8,e9],axisr3, math.pi/6, 12, tol)
-res = ed.GetLastCreatedElems()
+n8 = mesh.AddNode(-65,0,0)
+n9 = mesh.AddNode(-67.5,0,0)
+n10 = mesh.AddNode(-70,0,0)
+e8 = mesh.AddEdge([n8,n9])
+e9 = mesh.AddEdge([n9,n10])
+axisr3 = smesh.AxisStruct(-65,0,0,0,-1,0)
+mesh.RotationSweep([e8,e9],axisr3, math.pi/6, 12, tol)
+res = mesh.GetLastCreatedElems()
 faces2 = []
 for i in res:
     nbn = mesh.GetElemNbNodes(i)
@@ -158,8 +156,8 @@ nbf2 = len(faces2)
 
 # there are coincident nodes after rotation
 # therefore we have to merge nodes
-nodes = ed.FindCoincidentNodes(0.001)
-ed.MergeNodes(nodes)
+nodes = mesh.FindCoincidentNodes(0.001)
+mesh.MergeNodes(nodes)
 
 nbcircs = 2
 nbrsteps = 24
@@ -172,8 +170,8 @@ newnodes = GetNewNodes(mesh,faces1,oldnodes)
 oldnodes = newnodes
 
 nodes = []
-ed.RotationSweep(faces1,axisr1, math.pi*2/nbrsteps, nbrs, tol)
-res = ed.GetLastCreatedElems()
+mesh.RotationSweep(faces1,axisr1, math.pi*2/nbrsteps, nbrs, tol)
+res = mesh.GetLastCreatedElems()
 
 for i in range(0,nbrs):
     volumes = []
@@ -181,7 +179,7 @@ for i in range(0,nbrs):
     newnodes = GetNewNodes(mesh,volumes,oldnodes)
     for j in newnodes:
         xyz = mesh.GetNodeXYZ(j)
-        ed.MoveNode(j,xyz[0],xyz[1],xyz[2]+dz*(i+1))
+        mesh.MoveNode(j,xyz[0],xyz[1],xyz[2]+dz*(i+1))
         pass
     oldnodes = newnodes
     pass
@@ -192,8 +190,8 @@ newnodes = GetNewNodes(mesh,faces2,oldnodes)
 oldnodes = newnodes
 
 nodes = []
-ed.RotationSweep(faces2,axisr1, math.pi*2/nbrsteps, nbrs, tol)
-res = ed.GetLastCreatedElems()
+mesh.RotationSweep(faces2,axisr1, math.pi*2/nbrsteps, nbrs, tol)
+res = mesh.GetLastCreatedElems()
 
 for i in range(0,nbrs):
     volumes = []
@@ -201,9 +199,9 @@ for i in range(0,nbrs):
     newnodes = GetNewNodes(mesh,volumes,oldnodes)
     for j in newnodes:
         xyz = mesh.GetNodeXYZ(j)
-        ed.MoveNode(j,xyz[0],xyz[1],xyz[2]+dz*(i+1))
+        mesh.MoveNode(j,xyz[0],xyz[1],xyz[2]+dz*(i+1))
         pass
     oldnodes = newnodes
     pass
 
-    
+smesh.salome.sg.updateObjBrowser(1)
index 482bd3b563656b793001f1247e228336b41a290f..83bcb6c6f4502b29cc867a5d6048e62650be810d 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-import SMESH
+
 from SMESH_test1 import *
 
-def CheckBelongToGeomFilter(theMeshGen, theMesh, theShape, theSubShape, theElemType):
+## Old style
+def CheckBelongToGeomFilterOld(theMeshGen, theMesh, theShape, theSubShape, theElemType):
     import geompy
     if theShape != theSubShape:
         aName = str(theSubShape)
@@ -38,10 +39,27 @@ def CheckBelongToGeomFilter(theMeshGen, theMesh, theShape, theSubShape, theElemT
     aFilter.SetPredicate(aBelongToGeom)
     return aFilter.GetElementsId(theMesh)
 
-anElemType = SMESH.ALL;
+## Current style
+def CheckBelongToGeomFilter(theMesh, theShape, theSubShape, theElemType):
+    import geompy
+    import smesh
+    if theShape != theSubShape:
+        aName = str(theSubShape)
+        geompy.addToStudyInFather(theShape,theSubShape,aName)
+
+    theMesh.Compute()
+    aFilter = smesh.GetFilter(theElemType, smesh.FT_BelongToGeom, theSubShape)
+    return aFilter.GetElementsId(theMesh.GetMesh())
+    
+
+anElemType = smesh.FACE;
 print "anElemType =", anElemType
-#anIds = CheckBelongToGeomFilter(smesh,mesh,box,subShapeList[1],SMESH.FACE)
-anIds = CheckBelongToGeomFilter(smesh,mesh,box,box,SMESH.FACE)
+#anIds = CheckBelongToGeomFilter(mesh,box,subShapeList[1],anElemType)
+anIds = CheckBelongToGeomFilter(mesh,box,box,anElemType)
+print "Number of ids = ", len(anIds)
 print "anIds = ", anIds
+## Check old version
+#anIds = CheckBelongToGeomFilterOld(smesh.smesh,mesh.GetMesh(),box,box,anElemType)
+#print "anIds = ", anIds
 
 salome.sg.updateObjBrowser(1);
index 0faad0ab08cdd9216841354ff6c85d29d92cf942..c387d4469bd6458e8db99fe83f597cc0102f559d 100644 (file)
 #  Module : SMESH
 
 from SMESH_test1 import *
-import SMESH
 
 # Compute the mesh created in SMESH_test1
 
-smesh.Compute(mesh, box)
+mesh.Compute()
 
 # Create geometry groups on plane:
 aGeomGroup1 = geompy.CreateGroup(face , geompy.ShapeType["FACE"])
@@ -43,7 +42,7 @@ geompy.AddObject(aGeomGroup2, 10)
 geompy.addToStudy(aGeomGroup1, "Group on Faces")
 geompy.addToStudy(aGeomGroup2, "Group on Edges")
 
-aSmeshGroup1 = mesh.CreateGroupFromGEOM(SMESH.FACE, "SMESHGroup1", aGeomGroup1)
-aSmeshGroup2 = mesh.CreateGroupFromGEOM(SMESH.EDGE, "SMESHGroup2", aGeomGroup2)
+aSmeshGroup1 = mesh.GroupOnGeom(aGeomGroup1, "SMESHGroup1", smesh.FACE)
+aSmeshGroup2 = mesh.GroupOnGeom(aGeomGroup2, "SMESHGroup2", smesh.EDGE)
 
 salome.sg.updateObjBrowser(1);
index 5364365e3ca53b4aad7e8885a28e2b3aba848798..0e2636149393e10387c9fc6492c116793471e5f9 100755 (executable)
 #  Project                  : PAL/SALOME
 #============================================================================== 
 from SMESH_test1 import *
-import SMESH
+
 
 # Compute the mesh created in SMESH_test1
 
-smesh.Compute(mesh, box)
+mesh.Compute()
 
 # Create geometry groups on plane:
 aGeomGroup1 = geompy.CreateGroup(face , geompy.ShapeType["FACE"])
@@ -45,11 +45,11 @@ geompy.AddObject(aGeomGroup2, 10)
 geompy.addToStudy(aGeomGroup1, "Group on Faces")
 geompy.addToStudy(aGeomGroup2, "Group on Edges")
 
-aSmeshGroup1 = mesh.CreateGroupFromGEOM(SMESH.FACE, "SMESHGroup1", aGeomGroup1)
-aSmeshGroup2 = mesh.CreateGroupFromGEOM(SMESH.EDGE, "SMESHGroup2", aGeomGroup2)
+aSmeshGroup1 = mesh.GroupOnGeom(aGeomGroup1, "SMESHGroup1", smesh.FACE)
+aSmeshGroup2 = mesh.GroupOnGeom(aGeomGroup2, "SMESHGroup2", smesh.EDGE)
 
 print "Create aGroupOnShell - a group linked to a shell"
-aGroupOnShell = mesh.CreateGroupFromGEOM(SMESH.EDGE, "GroupOnShell", shell)
+aGroupOnShell = mesh.GroupOnGeom(shell, "GroupOnShell", smesh.EDGE)
 print "aGroupOnShell type =", aGroupOnShell.GetType()
 print "aGroupOnShell size =", aGroupOnShell.Size()
 print "aGroupOnShell ids :", aGroupOnShell.GetListOfID()
@@ -65,7 +65,7 @@ print "aGroupOnShell ids :", aGroupOnShell.GetListOfID()
 print " "
 
 print "Re-compute mesh, contents of aGroupOnShell changes again:"
-smesh.Compute(mesh, box)
+mesh.Compute()
 print "aGroupOnShell size =", aGroupOnShell.Size()
 print "aGroupOnShell ids :", aGroupOnShell.GetListOfID()
 
index a3cf9298c0c77644fbdf0dd04155643bd2843ee4..6f930fa132cbbac6fb4cd989fbae644480d56310 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-from smesh import *
+import smesh
 
 def BuildGroupLyingOn(theMesh, theElemType, theName, theShape):
-    aFilterMgr = smesh.CreateFilterManager()
+    aFilterMgr = smesh.smesh.CreateFilterManager()
     aFilter = aFilterMgr.CreateFilter()
    
     aLyingOnGeom = aFilterMgr.CreateLyingOnGeom()
@@ -36,7 +36,12 @@ def BuildGroupLyingOn(theMesh, theElemType, theName, theShape):
 #Example
 from SMESH_test1 import *
 
-smesh.Compute(mesh, box)
-BuildGroupLyingOn(mesh, SMESH.FACE, "Group of faces lying on edge", edge )
+mesh.Compute()
+
+# First way
+BuildGroupLyingOn(mesh.GetMesh(), smesh.FACE, "Group of faces lying on edge #1", edge )
+
+# Second way
+mesh.MakeGroup("Group of faces lying on edge #2", smesh.FACE, smesh.FT_LyingOnGeom, edge)
 
 salome.sg.updateObjBrowser(1);
index 66bbe08bfb8d69fa21ca56670acfac77a705bf5d..f27bfcaf61f0c442db3071cc696d9c7ac74591be 100755 (executable)
 
 import geompy
 import salome
+import smesh
 import os
 import math
-import StdMeshers
-import SMESH
 
 #Sketcher_1 creation
 print "Sketcher creation..."
@@ -94,79 +93,43 @@ Cut_1 = geompy.MakeBoolean(Chamfer_2, theShapeForCut, 2)
 Cut_1_ID = geompy.addToStudy(Cut_1, "Cut_1")
 
 #Mesh creation
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
 
 # -- Init --
 shape_mesh = salome.IDToObject( Cut_1_ID )
-smesh.SetCurrentStudy(salome.myStudy)
-mesh = smesh.CreateMesh(shape_mesh)
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName( idmesh, "Nut" )
+
+mesh = smesh.Mesh(shape_mesh, "Nut")
 
 #HYPOTHESIS CREATION
 print "-------------------------- Average length"
 theAverageLength = 5
-hAvLength = smesh.CreateHypothesis( "LocalLength", "libStdMeshersEngine.so" )
-hAvLength.SetLength( theAverageLength )
+algoReg1D = mesh.Segment()
+hAvLength = algoReg1D.LocalLength(theAverageLength)
 print hAvLength.GetName()
 print hAvLength.GetId()
-smeshgui.SetName(salome.ObjectToID(hAvLength), "AverageLength_5")
+print hAvLength.GetLength()
+smesh.SetName(hAvLength, "AverageLength_"+str(theAverageLength))
 
 print "-------------------------- MaxElementArea"
 theMaxElementArea = 20
-hArea20 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hArea20.SetMaxElementArea( theMaxElementArea )
-print hArea20.GetName()
-print hArea20.GetId()
-print hArea20.GetMaxElementArea()
-smeshgui.SetName(salome.ObjectToID(hArea20), "MaxElementArea_20")
+algoMef = mesh.Triangle(smesh.MEFISTO)
+hArea = algoMef.MaxElementArea( theMaxElementArea )
+print hArea.GetName()
+print hArea.GetId()
+print hArea.GetMaxElementArea()
+smesh.SetName(hArea, "MaxElementArea_"+str(theMaxElementArea))
 
 print "-------------------------- MaxElementVolume"
 theMaxElementVolume = 150
-hVolume150 = smesh.CreateHypothesis( "MaxElementVolume", "libStdMeshersEngine.so" )
-hVolume150.SetMaxElementVolume( theMaxElementVolume )
-print hVolume150.GetName()
-print hVolume150.GetId()
-print hVolume150.GetMaxElementVolume()
-smeshgui.SetName(salome.ObjectToID(hVolume150), "MaxElementVolume_150")
-
-mesh.AddHypothesis(shape_mesh, hAvLength)
-mesh.AddHypothesis(shape_mesh, hArea20)
-mesh.AddHypothesis(shape_mesh, hVolume150)
-
-print "-------------------------- Regular_1D"
-
-algoReg1D = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" )
-listHyp = algoReg1D.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg1D.GetName()
-print algoReg1D.GetId()
-smeshgui.SetName(salome.ObjectToID(algoReg1D), "Wire discretisation")
-
-print "-------------------------- MEFISTO_2D"
-algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" )
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-smeshgui.SetName(salome.ObjectToID(algoMef), "Triangle (Mefisto)")
-
-print "-------------------------- NETGEN_3D"
-
-algoNg = smesh.CreateHypothesis( "NETGEN_3D", "libNETGENEngine.so" )
-print algoNg.GetName()
-print algoNg.GetId()
-smeshgui.SetName(salome.ObjectToID(algoNg), "Tetrahedron (NETGEN)")
-mesh.AddHypothesis(shape_mesh, algoReg1D)
-mesh.AddHypothesis(shape_mesh, algoMef)
-mesh.AddHypothesis(shape_mesh, algoNg)
+algoNg = mesh.Tetrahedron(smesh.NETGEN)
+hVolume = algoNg.MaxElementVolume( theMaxElementVolume )
+print hVolume.GetName()
+print hVolume.GetId()
+print hVolume.GetMaxElementVolume()
+smesh.SetName(hVolume, "MaxElementVolume_"+str(theMaxElementVolume))
+
 
 print "-------------------------- compute the mesh of the mechanic piece"
-smesh.Compute(mesh,shape_mesh)
+mesh.Compute()
 
 print "Information about the Nut:"
 print "Number of nodes       : ", mesh.NbNodes()
index 332ca934f5077b385dfb25256fd7956bc5803d0f..e0f284a96f45075eaad5bd9aff50a7c5c1471077 100644 (file)
 
 import salome
 import geompy
+import smesh
 from math import sqrt
 
-import StdMeshers
-import NETGENPlugin
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
 #---------------------------------------------------------------
 
@@ -78,7 +71,9 @@ colis_cc_multi = geompy.MultiRotate1D(colis_cc, vz, 4)
 
 # --
 
-alveole = geompy.MakePartition([colis_cc_multi, barier])
+Compound1 = geompy.MakeCompound([colis_cc_multi, barier])
+SubShape_theShape = geompy.SubShapeAll(Compound1,geompy.ShapeType["SOLID"])
+alveole = geompy.MakePartition(SubShape_theShape)
 
 print "Analysis of the geometry to mesh (right after the Partition) :"
 
@@ -125,82 +120,48 @@ print " check status ", status
 
 # ---- launch SMESH
 
+# ---- init a Mesh with the alveole
+shape_mesh = salome.IDToObject( idalveole )
+
+mesh = smesh.Mesh(shape_mesh, "MeshAlveole")
+
 print "-------------------------- create Hypothesis (In this case global hypothesis are used)"
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegments = 10
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
+regular1D = mesh.Segment()
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 0.1
 
-hypArea = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea.SetMaxElementArea(maxElementArea)
+mefisto2D = mesh.Triangle()
+hypArea = mefisto2D.MaxElementArea(maxElementArea)
 print hypArea.GetName()
 print hypArea.GetId()
 print hypArea.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_0.1")
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
 print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 0.5
 
-hypVolume = smesh.CreateHypothesis("MaxElementVolume", "libStdMeshersEngine.so")
-hypVolume.SetMaxElementVolume(maxElementVolume)
+netgen3D = mesh.Tetrahedron(smesh.NETGEN)
+hypVolume = netgen3D.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
-
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_0.5")
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-netgen3D = smesh.CreateHypothesis("NETGEN_3D", "libNETGENEngine.so")
-smeshgui.SetName(salome.ObjectToID(netgen3D), "NETGEN_3D")
-
-# ---- init a Mesh with the alveole
-shape_mesh = salome.IDToObject( idalveole )
-
-mesh = smesh.CreateMesh(shape_mesh)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshAlveole")
-
-# ---- add hypothesis to alveole
-
-print "-------------------------- add hypothesis to alveole"
-
-mesh.AddHypothesis(shape_mesh,regular1D)
-mesh.AddHypothesis(shape_mesh,hypNbSeg)
-
-mesh.AddHypothesis(shape_mesh,mefisto2D)
-mesh.AddHypothesis(shape_mesh,hypArea)
-
-mesh.AddHypothesis(shape_mesh,netgen3D)
-mesh.AddHypothesis(shape_mesh,hypVolume)
+smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 print "-------------------------- compute the mesh of alveole "
-ret = smesh.Compute(mesh,shape_mesh)
+ret = mesh.Compute()
 
 if ret != 0:
     log=mesh.GetLog(0) # no erase trace
index 0b8d46cc247ac8754c857008e6a2542c017594cb..3160b6cd59e7e8db2601297b08a0cf8fb477ab75 100644 (file)
 import salome
 import geompy
 import math
+import smesh
 
 import GEOM_Spanner
 
 isBlocksTest = 0 # False
 isMeshTest   = 1 # True
-hasGUI       = 1 # True
 
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
 
-GEOM_Spanner.MakeSpanner(salome, geompy, math, isBlocksTest, isMeshTest, smesh, hasGUI)
+GEOM_Spanner.MakeSpanner(geompy, math, isBlocksTest, isMeshTest, smesh)
 
 salome.sg.updateObjBrowser(1);
index d0f490ee9ffaf22be70618ee4ba30578e5b027a1..36af33e29e83b19a26a7dc056c3720cfe6f24755 100755 (executable)
 import salome
 from salome import sg
 import geompy
+import smesh
 
-import StdMeshers
 
 # ---- launch GEOM
 
 geom          = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM")
-meshgenerator = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
 
 ###geom.GetCurrentStudy(salome.myStudy._get_StudyId())
-meshgenerator.SetCurrentStudy(salome.myStudy)
 
 # Plate
 
 box    = geompy.MakeBox(0.,0.,0.,1.,1.,1.)
 boxId  = geompy.addToStudy(box,"box")
 
-# ---- launch SMESH
+# ---- SMESH
 
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
-# meshgenerator=smeshpy.smeshpy()
-
-
-# Hypothesis
-
-hypL1=meshgenerator.CreateHypothesis("LocalLength","libStdMeshersEngine.so")
-hypL1.SetLength(0.25)
-hypL1Id = salome.ObjectToID(hypL1) 
-smeshgui.SetName(hypL1Id, "LocalLength")
-
-# Algorithm
-
-alg1D=meshgenerator.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-alg1DId = salome.ObjectToID(alg1D) 
-smeshgui.SetName(alg1DId, "algo1D")
+# ---- init a Mesh
 
-alg2D=meshgenerator.CreateHypothesis("Quadrangle_2D", "libStdMeshersEngine.so")
-alg2DId = salome.ObjectToID(alg2D) 
-smeshgui.SetName(alg2DId, "algo2D")
+box_mesh=smesh.Mesh(box, "box_mesh")
 
-alg3D=meshgenerator.CreateHypothesis("Hexa_3D", "libStdMeshersEngine.so")
-alg3DId = salome.ObjectToID(alg3D) 
-smeshgui.SetName(alg3DId, "algo3D")
-# ---- init a Mesh
+# set Hypothesis and Algorithm
 
-box_mesh=meshgenerator.CreateMesh(box)
-box_meshId = salome.ObjectToID(box_mesh)
-smeshgui.SetName(box_meshId, "box_mesh")
+alg1D = box_mesh.Segment()
+alg1D.SetName("algo1D")
+hypL1 = alg1D.LocalLength(0.25)
+smesh.SetName(hypL1, "LocalLength")
+    
+alg2D = box_mesh.Quadrangle()
+alg2D.SetName("algo2D")
 
-# ---- set Hypothesis & Algorithm
+alg3D = box_mesh.Hexahedron()
+alg3D.SetName("algo3D")
 
-box_mesh.AddHypothesis(box,alg1D)
-box_mesh.AddHypothesis(box,alg2D)
-box_mesh.AddHypothesis(box,alg3D)
-box_mesh.AddHypothesis(box,hypL1)
+# compute mesh
 
-meshgenerator.Compute(box_mesh,box)
+box_mesh.Compute()
 
 sg.updateObjBrowser(1)
index 55a032e4ca13ec917f8a6a2d1ea1f9ace50594a6..e31d0228ace4998828ca6d6d13f7ccb79c2566c5 100644 (file)
 
 import salome
 import geompy
+import smesh
 
-import StdMeshers
-import NETGENPlugin
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId);
 
 # ---- define 2 boxes box1 and box2
 
@@ -79,90 +73,51 @@ print "number of Edges  in shell : ", len(subEdgeList)
 
 ### ---------------------------- SMESH --------------------------------------
 
-# ---- create Hypothesis
+# ---- init a Mesh with the shell
+
+mesh = smesh.Mesh(shell, "MeshBox2")
 
-print "-------------------------- create Hypothesis"
+
+# ---- set Hypothesis and Algorithm
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegments = 10
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-
+regular1D = mesh.Segment()
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 500
 
-hypArea = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea.SetMaxElementArea(maxElementArea)
-
+mefisto2D = mesh.Triangle()
+hypArea = mefisto2D.MaxElementArea(maxElementArea)
 print hypArea.GetName()
 print hypArea.GetId()
 print hypArea.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_500")
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
 print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 500
 
-hypVolume = smesh.CreateHypothesis("MaxElementVolume", "libStdMeshersEngine.so")
-hypVolume.SetMaxElementVolume(maxElementVolume)
-
+netgen3D = mesh.Tetrahedron(smesh.NETGEN)
+hypVolume = netgen3D.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
+smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_500")
-
-# ---- create Algorithms
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-netgen3D = smesh.CreateHypothesis("NETGEN_3D", "libNETGENEngine.so")
-smeshgui.SetName(salome.ObjectToID(netgen3D), "NETGEN_3D")
-
-# ---- init a Mesh with the shell
-
-mesh = smesh.CreateMesh(shell)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshBox2")
-
-# ---- add hypothesis to shell
-
-print "-------------------------- add hypothesis to shell"
-
-mesh.AddHypothesis(shell,regular1D)
-mesh.AddHypothesis(shell,hypNbSeg)
-
-mesh.AddHypothesis(shell,mefisto2D)
-mesh.AddHypothesis(shell,hypArea)
-
-mesh.AddHypothesis(shell,netgen3D)
-mesh.AddHypothesis(shell,hypVolume)
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute shell"
-ret = smesh.Compute(mesh,shell)
+ret = mesh.Compute()
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 64ea5361561417503330a966187bc0d2666d7350..20067045d317b768c16b1eed7f7a0b23f26b0f5b 100644 (file)
 
 import salome
 import geompy
+import smesh
 
-import StdMeshers
-import NETGENPlugin
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId);
 
 # ---- define 3 boxes box1, box2 and box3
 
@@ -90,90 +84,52 @@ print "number of Edges  in shell : ", len(subEdgeList)
 
 ### ---------------------------- SMESH --------------------------------------
 
-# ---- create Hypothesis
 
-print "-------------------------- create Hypothesis"
+# ---- init a Mesh with the shell
+
+mesh = smesh.Mesh(shell, "MeshBox3")
+
+
+# ---- set Hypothesis and Algorithm
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegments = 10
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-
+regular1D = mesh.Segment()
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 500
 
-hypArea = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea.SetMaxElementArea(maxElementArea)
-
+mefisto2D = mesh.Triangle()
+hypArea = mefisto2D.MaxElementArea(maxElementArea)
 print hypArea.GetName()
 print hypArea.GetId()
 print hypArea.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_500")
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
 print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 500
 
-hypVolume = smesh.CreateHypothesis("MaxElementVolume", "libStdMeshersEngine.so")
-hypVolume.SetMaxElementVolume(maxElementVolume)
-
+netgen3D = mesh.Tetrahedron(smesh.NETGEN)
+hypVolume = netgen3D.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
+smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_500")
-
-# ---- create Algorithms
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-netgen3D = smesh.CreateHypothesis("NETGEN_3D", "libNETGENEngine.so")
-smeshgui.SetName(salome.ObjectToID(netgen3D), "NETGEN_3D")
-
-# ---- init a Mesh with the shell
-
-mesh = smesh.CreateMesh(shell)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshBox3")
-
-# ---- add hypothesis to shell
-
-print "-------------------------- add hypothesis to shell"
-
-mesh.AddHypothesis(shell,regular1D)
-mesh.AddHypothesis(shell,hypNbSeg)
-
-mesh.AddHypothesis(shell,mefisto2D)
-mesh.AddHypothesis(shell,hypArea)
-
-mesh.AddHypothesis(shell,netgen3D)
-mesh.AddHypothesis(shell,hypVolume)
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute shell"
-ret = smesh.Compute(mesh,shell)
+ret = mesh.Compute()
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 7a5bc036460976dade4005e17d2910138094a3f9..e0354903f8e81af480f0ce884cc49de6ef26ee6f 100644 (file)
 
 import salome
 import geompy
+import smesh
 
-import StdMeshers
-import NETGENPlugin
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId);
 
 # ---- define a boxe
 
@@ -51,90 +45,48 @@ print "number of Edges  in box : ", len(subEdgeList)
 
 ### ---------------------------- SMESH --------------------------------------
 
-# ---- create Hypothesis
+# ---- init a Mesh with the boxe
 
-print "-------------------------- create Hypothesis"
+mesh = smesh.Mesh(box, "MeshBox")
 
-print "-------------------------- NumberOfSegments"
+# ---- set Hypothesis and Algorithm
 
+print "-------------------------- NumberOfSegments"
 numberOfSegments = 10
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-
+regular1D = mesh.Segment()
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 500
 
-hypArea = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea.SetMaxElementArea(maxElementArea)
-
+mefisto2D = mesh.Triangle()
+hypArea = mefisto2D.MaxElementArea(maxElementArea)
 print hypArea.GetName()
 print hypArea.GetId()
 print hypArea.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_500")
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
 print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 500
 
-hypVolume = smesh.CreateHypothesis("MaxElementVolume", "libStdMeshersEngine.so")
-hypVolume.SetMaxElementVolume(maxElementVolume)
-
+netgen3D = mesh.Tetrahedron(smesh.NETGEN)
+hypVolume = netgen3D.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
-
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_500")
-
-# ---- create Algorithms
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-netgen3D = smesh.CreateHypothesis("NETGEN_3D", "libNETGENEngine.so")
-smeshgui.SetName(salome.ObjectToID(netgen3D), "NETGEN_3D")
-
-# ---- init a Mesh with the boxe
-
-mesh = smesh.CreateMesh(box)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshBox")
-
-# ---- add hypothesis to the boxe
-
-print "-------------------------- add hypothesis to the box"
-
-mesh.AddHypothesis(box,regular1D)
-mesh.AddHypothesis(box,hypNbSeg)
-
-mesh.AddHypothesis(box,mefisto2D)
-mesh.AddHypothesis(box,hypArea)
-
-mesh.AddHypothesis(box,netgen3D)
-mesh.AddHypothesis(box,hypVolume)
+smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute the mesh of the boxe"
-ret = smesh.Compute(mesh,box)
+ret = mesh.Compute()
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 9266516c95522d320955fc73d4f89cf1334cfcfa..0654341721aecd92821acab2aa049ffe6df1175a 100644 (file)
 #  Module : SMESH
 
 
-import SMESH
+import smesh
 import SMESH_mechanic
 
-smesh  = SMESH_mechanic.smesh
+salome = smesh.salome
 mesh   = SMESH_mechanic.mesh
-salome = SMESH_mechanic.salome
 
 
-aFilterMgr = smesh.CreateFilterManager()
+# ---- Criterion : AREA > 100
 
-# Criterion : AREA > 100
-
-aFunctor = aFilterMgr.CreateArea()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 100 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Area > 100", smesh.FACE, smesh.FT_Area, smesh.FT_MoreThan, 100)
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Area > 100 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Area > 100" )
-aGroup.Add( anIds )
-
-
-# Criterion : Taper > 3e-15
-
-aFunctor = aFilterMgr.CreateTaper()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 3e-15 )
 
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
+# ----  Criterion : Taper > 3e-15
 
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Taper > 3e-15", smesh.FACE, smesh.FT_Taper, smesh.FT_MoreThan, 3e-15)
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Taper > 3e-15 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Taper > 3e-15" )
-aGroup.Add( anIds )
 
+# ----  Criterion : ASPECT RATIO > 1.3
 
-# Criterion : ASPECT RATIO > 1.3
-
-aFunctor = aFilterMgr.CreateAspectRatio()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 1.3 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Aspect Ratio > 1.3", smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 1.3)
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Aspect Ratio > 1.3 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Aspect Ratio > 1.3" )
-aGroup.Add( anIds )
 
+# ----  Criterion : MINIMUM ANGLE < 30
 
-# Criterion : MINIMUM ANGLE < 30
-
-aFunctor = aFilterMgr.CreateMinimumAngle()
-aPredicate = aFilterMgr.CreateLessThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 30 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Minimum Angle < 30", smesh.FACE, smesh.FT_MinimumAngle, smesh.FT_LessThan, 30)
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Minimum Angle < 30 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Minimum Angle < 30" )
-aGroup.Add( anIds )
-
-# Criterion : Warp > 2e-13
-
-aFunctor = aFilterMgr.CreateWarping()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 2e-13 )
 
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
+# ---- Criterion : Warp > 2e-13
 
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Warp > 2e-13", smesh.FACE, smesh.FT_Warping, smesh.FT_MoreThan, 2e-13 )
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Warp > 2e-13 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Warp > 2e-13" )
-aGroup.Add( anIds )
 
-# Criterion : Skew > 18
+# ---- Criterion : Skew > 18
 
-aFunctor = aFilterMgr.CreateSkew()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 18 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Skew > 18", smesh.FACE, smesh.FT_Skew, smesh.FT_MoreThan, 18 )
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Skew > 18 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.FACE, "Skew > 18" )
-aGroup.Add( anIds )
 
 # Criterion : Length > 10
 
-aFunctor = aFilterMgr.CreateLength()
-aPredicate = aFilterMgr.CreateMoreThan()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 10 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Length > 10", smesh.FACE, smesh.FT_Length, smesh.FT_MoreThan, 10 )
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Length > 10 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.EDGE, "Length > 10" )
-aGroup.Add( anIds )
 
 # Criterion : Borders at multi-connections = 2
 
-aFunctor = aFilterMgr.CreateMultiConnection()
-aPredicate = aFilterMgr.CreateEqualTo()
-aPredicate.SetNumFunctor( aFunctor )
-aPredicate.SetMargin( 2 )
-
-aFilter = aFilterMgr.CreateFilter()
-aFilter.SetPredicate( aPredicate )
-
-anIds = aFilter.GetElementsId( mesh )
+# create group
+aGroup = mesh.MakeGroup("Borders at multi-connections = 2", smesh.EDGE, smesh.FT_MultiConnection, smesh.FT_EqualTo, 2)
 
 # print result
+anIds = aGroup.GetIDs()
 print "Criterion: Borders at multi-connections = 2 Nb = ", len( anIds )
 #for i in range( len( anIds ) ):
   #print anIds[ i ]
 
-# create group
-aGroup = mesh.CreateGroup( SMESH.EDGE, "Borders at multi-connections = 2" )
-aGroup.Add( anIds )
-
 
 salome.sg.updateObjBrowser(1)
index 2ef0ba6c7d69ede6c604506b68b8576b76115b23..c985eb7035c1f6cefa74dee3fec6435493114ad7 100755 (executable)
 
 import salome
 import geompy
-
-import StdMeshers
-import NETGENPlugin
-
-geom  = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM")
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId);
+import smesh
 
 import math
 
+
 # -----------------------------------------------------------------------------
 
 ShapeTypeShell     = 3
@@ -130,86 +123,54 @@ for i in range(8):
 
 ### ---------------------------- SMESH --------------------------------------
 
-# ---- create Hypothesis
+# ---- init a Mesh with the volume
+
+mesh = smesh.Mesh(vol, "meshVolume")
 
-print "-------------------------- create Hypothesis"
+# ---- set Hypothesis and Algorithm to main shape
 
 print "-------------------------- NumberOfSegments the global one"
 
 numberOfSegments = 10
 
-hypNbSeg=smesh.CreateHypothesis("NumberOfSegments","libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-hypNbSegID = hypNbSeg.GetId()
+regular1D = mesh.Segment()
+regular1D.SetName("Wire Discretisation")
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
-print hypNbSegID
+print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
+smesh.SetName(hypNbSeg, "NumberOfSegments")
 
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments")
-
-print "-------------------------- NumberOfSegments in the Z direction"
-
-numberOfSegmentsZ = 40
-
-hypNbSegZ=smesh.CreateHypothesis("NumberOfSegments","libStdMeshersEngine.so")
-hypNbSegZ.SetNumberOfSegments(numberOfSegmentsZ)
-hypNbSegZID = hypNbSegZ.GetId()
-print hypNbSegZ.GetName()
-print hypNbSegZID
-print hypNbSegZ.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSegZ), "NumberOfSegmentsZ")
-
-# ---- create Algorithms
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D=smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
 
 print "-------------------------- Quadrangle_2D"
 
-quad2D=smesh.CreateHypothesis("Quadrangle_2D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(quad2D), "Quadrangle_2D")
+quad2D=mesh.Quadrangle()
+quad2D.SetName("Quadrangle_2D")
 
 print "-------------------------- Hexa_3D"
 
-hexa3D=smesh.CreateHypothesis("Hexa_3D", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(hexa3D), "Hexa_3D")
+hexa3D=mesh.Hexahedron()
+hexa3D.SetName("Hexa_3D")
 
-# ---- init a Mesh with the volume
 
-mesh = smesh.CreateMesh(vol)
-smeshgui.SetName(salome.ObjectToID(mesh), "meshVolume")
-
-# ---- add hypothesis to the volume
-
-print "-------------------------- add hypothesis to the volume"
+print "-------------------------- NumberOfSegments in the Z direction"
 
-ret=mesh.AddHypothesis(vol,regular1D)
-print ret
-ret=mesh.AddHypothesis(vol,hypNbSeg)
-print ret
-ret=mesh.AddHypothesis(vol,quad2D)
-print ret
-ret=mesh.AddHypothesis(vol,hexa3D)
-print ret
+numberOfSegmentsZ = 40
 
 for i in range(8):
     print "-------------------------- add hypothesis to edge in the Z directions", (i+1)
 
-    subMeshEdgeZ = mesh.GetSubMesh(edgeZ[i],"SubMeshEdgeZ_"+str(i+1))
-
-    retZ = mesh.AddHypothesis(edgeZ[i],hypNbSegZ)
-    print " add hyp Z ", retZ
+    algo = mesh.Segment(edgeZ[i])
+    hyp = algo.NumberOfSegments(numberOfSegmentsZ)
+    smesh.SetName(hyp, "NumberOfSegmentsZ")
+    smesh.SetName(algo.GetSubMesh(), "SubMeshEdgeZ_"+str(i+1))
+  
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute the mesh of the volume"
 
-ret=smesh.Compute(mesh,vol)
+ret=mesh.Compute()
 
 print ret
 if ret != 0:
index 6514f5054a0523ff5d0f41f43b7d0edc09d9126d..bc5ff8f86a1507aade308990c33e81341c7e4b05 100644 (file)
@@ -24,8 +24,7 @@
 #
 
 import SMESH_fixation
-
-import StdMeshers
+import smesh
 
 compshell = SMESH_fixation.compshell
 idcomp = SMESH_fixation.idcomp
@@ -45,65 +44,42 @@ status = geompy.CheckShape(compshell)
 print " check status ", status
 
 ### ---------------------------- SMESH --------------------------------------
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
 
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
+# ---- init a Mesh with the compshell
+shape_mesh = salome.IDToObject( idcomp  )
+
+mesh = smesh.Mesh(shape_mesh, "MeshCompShell")
+
 
-print "-------------------------- create Hypothesis"
+# ---- set Hypothesis and Algorithm
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegments = 5
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-
+regular1D = mesh.Segment()
+regular1D.SetName("Wire Discretisation")
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_5")
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
 print "-------------------------- Quadrangle_2D"
 
-quad2D = smesh.CreateHypothesis("Quadrangle_2D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(quad2D), "Quadrangle_2D")
+quad2D = mesh.Quadrangle()
+quad2D.SetName("Quadrangle_2D")
 
 print "-------------------------- Hexa_3D"
 
-hexa3D = smesh.CreateHypothesis("Hexa_3D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(hexa3D), "Hexa_3D")
-
-# ---- init a Mesh with the compshell
-shape_mesh = salome.IDToObject( idcomp  )
-
-mesh = smesh.CreateMesh(shape_mesh)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshCompShell")
-
-
-print "-------------------------- add hypothesis to compshell"
-
-mesh.AddHypothesis(shape_mesh,regular1D)
-mesh.AddHypothesis(shape_mesh,hypNbSeg)
+hexa3D = mesh.Hexahedron()
+hexa3D.SetName("Hexa_3D")
 
-mesh.AddHypothesis(shape_mesh,quad2D)
-mesh.AddHypothesis(shape_mesh,hexa3D)
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute compshell"
-ret = smesh.Compute(mesh, shape_mesh)
+ret = mesh.Compute()
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 31114905c7420471dd0d6c9f6c1d7b60789cbe7e..585f431d23d794018e51a4d2eef3bfccfe208d39 100644 (file)
@@ -23,8 +23,6 @@
 # The new Netgen algorithm is used that discretizes baoundaries itself
 #
 
-import StdMeshers
-import NETGENPlugin
 import SMESH_fixation
 import smesh
 
@@ -50,12 +48,11 @@ print " check status ", status
 print "-------------------------- create Mesh, algorithm, hypothesis"
 
 mesh = smesh.Mesh(compshell, "MeshcompShel");
-netgen = mesh.Netgen(1)
-hyp = netgen.Parameters()
-hyp.SetMaxSize( 50 )
-#hyp.SetSecondOrder( 0 )
-hyp.SetFineness( 3 )
-#hyp.SetOptimize( 1 )
+netgen = mesh.Tetrahedron(smesh.FULL_NETGEN)
+netgen.SetMaxSize( 50 )
+#netgen.SetSecondOrder( 0 )
+netgen.SetFineness( smesh.Fine )
+#netgen.SetOptimize( 1 )
 
 salome.sg.updateObjBrowser(1)
 
index 712c908e28472a078b512db04a5df7992b417265..2c794d90e3d6e87fc26187fbc124e0e65eafc507 100644 (file)
@@ -23,9 +23,8 @@
 # Hypothesis and algorithms for the mesh generation are global
 #
 
-import StdMeshers
-import NETGENPlugin
 import SMESH_fixation
+import smesh
 
 compshell = SMESH_fixation.compshell
 idcomp = SMESH_fixation.idcomp
@@ -45,94 +44,65 @@ status = geompy.CheckShape(compshell)
 print " check status ", status
 
 ### ---------------------------- SMESH --------------------------------------
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
 
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
+# ---- init a Mesh with the compshell
+
+mesh = smesh.Mesh(compshell, "MeshcompShell")
+
 
-print "-------------------------- create Hypothesis"
+# ---- set Hypothesis and Algorithm
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegments = 5
 
-hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg.SetNumberOfSegments(numberOfSegments)
-
+regular1D = mesh.Segment()
+regular1D.SetName("Wire Discretisation")
+hypNbSeg = regular1D.NumberOfSegments(numberOfSegments)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegments))
 
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_5")
-
-print "-------------------------- MaxElementArea"
+## print "-------------------------- MaxElementArea"
 
 ## maxElementArea = 80
 
-## hypArea=smesh.CreateHypothesis("MaxElementArea")
-## hypArea.SetMaxElementArea(maxElementArea)
+## mefisto2D = mesh.Triangle()
+## mefisto2D.SetName("MEFISTO_2D")
+## hypArea = mefisto2D.MaxElementArea(maxElementArea)
 ## print hypArea.GetName()
 ## print hypArea.GetId()
 ## print hypArea.GetMaxElementArea()
-## smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_160")
+## smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
+
+print "-------------------------- LengthFromEdges"
 
-hypLengthFromEdges = smesh.CreateHypothesis("LengthFromEdges", "libStdMeshersEngine.so")
-smeshgui.SetName(salome.ObjectToID(hypLengthFromEdges), "LengthFromEdges")
+mefisto2D = mesh.Triangle()
+mefisto2D.SetName("MEFISTO_2D")
+hypLengthFromEdges = mefisto2D.LengthFromEdges()
+print hypLengthFromEdges.GetName()
+print hypLengthFromEdges.GetId()
+smesh.SetName(hypLengthFromEdges, "LengthFromEdges")
 
 
 print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 1000
 
-hypVolume = smesh.CreateHypothesis("MaxElementVolume", "libStdMeshersEngine.so")
-hypVolume.SetMaxElementVolume(maxElementVolume)
-
+netgen3D = mesh.Tetrahedron(smesh.NETGEN)
+netgen3D.SetName("NETGEN_3D")
+hypVolume = netgen3D.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
+smesh.SetName(hypVolume, "MaxElementVolume_" + str(maxElementVolume))
 
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_1000")
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-netgen3D = smesh.CreateHypothesis("NETGEN_3D", "libNETGENEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(netgen3D), "NETGEN_3D")
-
-# ---- init a Mesh with the compshell
-
-mesh = smesh.CreateMesh(compshell)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshcompShel")
-
-print "-------------------------- add hypothesis to compshell"
-
-mesh.AddHypothesis(compshell,regular1D)
-mesh.AddHypothesis(compshell,hypNbSeg)
-
-mesh.AddHypothesis(compshell,mefisto2D)
-mesh.AddHypothesis(compshell,hypLengthFromEdges)
-
-mesh.AddHypothesis(compshell,netgen3D)
-mesh.AddHypothesis(compshell,hypVolume)
 
 salome.sg.updateObjBrowser(1)
 
 print "-------------------------- compute compshell"
-ret = smesh.Compute(mesh,compshell)
+ret = mesh.Compute(mesh)
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 9bcb944a415064f27d6a5003868e8892de144966..e56dd45fe402df5110c955998d69df39fd80d71c 100644 (file)
 import os
 import salome
 import geompy
-import StdMeshers
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
+import smesh
 
 
 # ---------------------------- GEOM --------------------------------------
@@ -61,64 +56,39 @@ print "number of Edges  in flight : ", len(subEdgeList)
 
 ### ---------------------------- SMESH --------------------------------------
 
-print "-------------------------- create Hypothesis"
+# ---- init a Mesh with the shell
+shape_mesh = salome.IDToObject( idShape )
+
+mesh = smesh.Mesh(shape_mesh, "MeshFlight")
+
+
+# ---- set Hypothesis and Algorithm
 
 print "-------------------------- LocalLength"
 
 lengthOfSegments = 0.3
 
-hypLength = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-hypLength.SetLength(lengthOfSegments)
-
+regular1D = mesh.Segment()
+hypLength = regular1D.LocalLength(lengthOfSegments)
 print hypLength.GetName()
 print hypLength.GetId()
 print hypLength.GetLength()
-
-smeshgui.SetName(salome.ObjectToID(hypLength), "LocalLength_0.3")
+smesh.SetName(hypLength, "LocalLength_" + str(lengthOfSegments))
 
 print "-------------------------- LengthFromEdges"
 
-hypLengthFromEdge = smesh.CreateHypothesis("LengthFromEdges", "libStdMeshersEngine.so")
-
+mefisto2D = mesh.Triangle()
+hypLengthFromEdge = mefisto2D.LengthFromEdges()
 print hypLengthFromEdge.GetName()
 print hypLengthFromEdge.GetId()
+smesh.SetName(hypLengthFromEdge,"LengthFromEdge")
 
-smeshgui.SetName(salome.ObjectToID(hypLengthFromEdge), "LengthFromEdge")
-
-print "-------------------------- create Algorithms"
-
-print "-------------------------- Regular_1D"
-
-regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation")
-
-print "-------------------------- MEFISTO_2D"
-
-mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-
-smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D")
-
-# ---- init a Mesh with the shell
-shape_mesh = salome.IDToObject( idShape )
-
-mesh = smesh.CreateMesh(shape_mesh)
-smeshgui.SetName(salome.ObjectToID(mesh), "MeshFlight")
-
-# ---- add hypothesis to flight
-
-print "-------------------------- add hypothesis to flight"
-
-mesh.AddHypothesis(shape_mesh,regular1D)
-mesh.AddHypothesis(shape_mesh,hypLength)
-mesh.AddHypothesis(shape_mesh,mefisto2D)
-mesh.AddHypothesis(shape_mesh,hypLengthFromEdge)
 
 salome.sg.updateObjBrowser(1)
 
 
 print "-------------------------- compute the skin flight"
-ret = smesh.Compute(mesh,shape_mesh)
+ret = mesh.Compute()
 print ret
 if ret != 0:
     log = mesh.GetLog(0) # no erase trace
index 373ba58e075f89a8ccdd6c75efa657c2eda16865..081910cfa2b80ea154b98f80de41dde0b1212d9c 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-import salome\r
-import geompy\r
-import SMESH\r
-import StdMeshers\r
-\r
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")\r
-smesh.SetCurrentStudy(salome.myStudy)\r
-\r
-# Create box without one plane\r
-\r
-box = geompy.MakeBox(0., 0., 0., 10., 20., 30.)\r
-subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])\r
-\r
-FaceList  = []\r
-for i in range( 5 ):\r
-  FaceList.append( subShapeList[ i ] )\r
-\r
-aComp = geompy.MakeCompound( FaceList )\r
-aBox = geompy.Sew( aComp, 1. )\r
-idbox = geompy.addToStudy( aBox, "box" )\r
-  \r
-aBox  = salome.IDToObject( idbox )\r
-\r
-# Create mesh\r
-\r
-hyp1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")\r
-hyp1.SetNumberOfSegments(5)\r
-hyp2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")\r
-hyp2.SetMaxElementArea(20)\r
-hyp3 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")\r
-hyp3.SetMaxElementArea(50)\r
-\r
-algo1 = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")\r
-algo2 = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")\r
-\r
-mesh = smesh.CreateMesh(aBox)\r
-mesh.AddHypothesis(aBox,hyp1)\r
-mesh.AddHypothesis(aBox,hyp2)\r
-mesh.AddHypothesis(aBox,algo1)\r
-mesh.AddHypothesis(aBox,algo2)\r
-\r
-smesh.Compute(mesh,aBox)\r
-\r
-smeshgui = salome.ImportComponentGUI("SMESH")\r
-smeshgui.Init(salome.myStudyId);\r
-smeshgui.SetName( salome.ObjectToID( mesh ), "Mesh_freebord" );\r
-\r
-# Criterion : Free edges\r
-aFilterMgr = smesh.CreateFilterManager()\r
-aPredicate = aFilterMgr.CreateFreeBorders()\r
-aFilter = aFilterMgr.CreateFilter()\r
-aFilter.SetPredicate( aPredicate )\r
-\r
-anIds = aFilter.GetElementsId( mesh )\r
-\r
-# print result\r
-print "Criterion: Free edges Nb = ", len( anIds )\r
-for i in range( len( anIds ) ):\r
-  print anIds[ i ]\r
-\r
-# create group\r
-aGroup = mesh.CreateGroup( SMESH.EDGE, "Free edges" )\r
-aGroup.Add( anIds )\r
-\r
-\r
-salome.sg.updateObjBrowser(1)\r
+import salome
+import geompy
+import smesh
+
+
+# Create box without one plane
+
+box = geompy.MakeBox(0., 0., 0., 10., 20., 30.)
+subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
+
+FaceList  = []
+for i in range( 5 ):
+  FaceList.append( subShapeList[ i ] )
+
+aComp = geompy.MakeCompound( FaceList )
+aBox = geompy.Sew( aComp, 1. )
+idbox = geompy.addToStudy( aBox, "box" )
+
+aBox  = salome.IDToObject( idbox )
+
+# Create mesh
+
+mesh = smesh.Mesh(aBox, "Mesh_freebord")
+
+algoReg = mesh.Segment()
+hypNbSeg = algoReg.NumberOfSegments(5)
+
+algoMef = mesh.Triangle()
+hypArea = algoMef.MaxElementArea(20)
+
+
+mesh.Compute()
+
+
+# Criterion : Free edges. Create group.
+
+aCriterion = smesh.GetCriterion(smesh.EDGE, smesh.FT_FreeEdges)
+
+aGroup = mesh.MakeGroupByCriterion("Free edges", aCriterion)
+
+anIds = aGroup.GetIDs()
+
+# print result
+print "Criterion: Free edges Nb = ", len( anIds )
+for i in range( len( anIds ) ):
+  print anIds[ i ]
+
+salome.sg.updateObjBrowser(1)
index 0a058a2a01cf356b5a9868bd83708f5902b8d850..cef7a6bc6e500e20bc918d8c7b8888ed770d3200 100755 (executable)
@@ -26,9 +26,8 @@
 #==============================================================================
 
 import salome
-from salome import sg
-
 import geompy
+import smesh
 
 import math
 
@@ -37,7 +36,6 @@ import math
 geom = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM")
 myBuilder = salome.myStudy.NewBuilder()
 gg = salome.ImportComponentGUI("GEOM")
-from salome import sg
 
 ShapeTypeCompSolid = 1
 ShapeTypeSolid     = 2
@@ -95,72 +93,67 @@ salome.sg.updateObjBrowser(1)
 
 print "-------------------------- mesh"
 
-import SMESH
-import StdMeshers
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
-
-# ---- create Hypothesis
-print "-------------------------- create Hypothesis"
-numberOfSegments = 4
-hypNbSegA=smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSegA.SetNumberOfSegments(numberOfSegments)
-numberOfSegments = 10
-hypNbSegB=smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSegB.SetNumberOfSegments(numberOfSegments)
-numberOfSegments = 15
-hypNbSegC=smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSegC.SetNumberOfSegments(numberOfSegments)
-
-# ---- create Algorithms
-print "-------------------------- create Algorithms"
-regular1D=smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-quad2D=smesh.CreateHypothesis("Quadrangle_2D", "libStdMeshersEngine.so")
-hexa3D=smesh.CreateHypothesis("Hexa_3D", "libStdMeshersEngine.so")
-
 # ---- init a Mesh with the geom shape
 shape_mesh = blob
-myMesh=smesh.CreateMesh(shape_mesh)
+mesh=smesh.Mesh(shape_mesh, "MeshBlob")
 
 # ---- add hypothesis and algorithms to mesh
 print "-------------------------- add hypothesis to mesh"
-myMesh.AddHypothesis(shape_mesh,regular1D)
-myMesh.AddHypothesis(shape_mesh,quad2D)
-myMesh.AddHypothesis(shape_mesh,hexa3D)
+algo1 = mesh.Segment()
+algo2 = mesh.Quadrangle()
+algo3 = mesh.Hexahedron()
+
+numberOfSegmentsA = 4
+
+algo = mesh.Segment(aretes[0])
+algo.NumberOfSegments(numberOfSegmentsA)
+algo = mesh.Segment(aretes[2])
+algo.NumberOfSegments(numberOfSegmentsA)
+algo = mesh.Segment(aretes[8])
+algo.NumberOfSegments(numberOfSegmentsA)
+algo = mesh.Segment(aretes[10])
+algo.NumberOfSegments(numberOfSegmentsA)
+
+
+numberOfSegmentsC = 15
 
-#myMesh.AddHypothesis(shape_mesh,hypNbSeg)
+algo = mesh.Segment(aretes[1])
+algo.NumberOfSegments(numberOfSegmentsC)
+algo = mesh.Segment(aretes[3])
+algo.NumberOfSegments(numberOfSegmentsC)
+algo = mesh.Segment(aretes[9])
+algo.NumberOfSegments(numberOfSegmentsC)
+algo = mesh.Segment(aretes[11])
+algo.NumberOfSegments(numberOfSegmentsC)
 
-myMesh.AddHypothesis(aretes[0],hypNbSegA)
-myMesh.AddHypothesis(aretes[2],hypNbSegA)
-myMesh.AddHypothesis(aretes[8],hypNbSegA)
-myMesh.AddHypothesis(aretes[10],hypNbSegA)
 
-myMesh.AddHypothesis(aretes[1],hypNbSegC)
-myMesh.AddHypothesis(aretes[3],hypNbSegC)
-myMesh.AddHypothesis(aretes[9],hypNbSegC)
-myMesh.AddHypothesis(aretes[11],hypNbSegC)
+numberOfSegmentsB = 10
+algo = mesh.Segment(aretes[4])
+algo.NumberOfSegments(numberOfSegmentsB)
+algo = mesh.Segment(aretes[5])
+algo.NumberOfSegments(numberOfSegmentsB)
+algo = mesh.Segment(aretes[6])
+algo.NumberOfSegments(numberOfSegmentsB)
+algo = mesh.Segment(aretes[7])
+algo.NumberOfSegments(numberOfSegmentsB)
 
-myMesh.AddHypothesis(aretes[4],hypNbSegB)
-myMesh.AddHypothesis(aretes[5],hypNbSegB)
-myMesh.AddHypothesis(aretes[6],hypNbSegB)
-myMesh.AddHypothesis(aretes[7],hypNbSegB)
 
 # ---- compute mesh
 
 print "-------------------------- compute mesh"
-ret=smesh.Compute(myMesh, shape_mesh)
+ret=mesh.Compute()
 print ret
 if ret != 0:
-    #log=myMesh.GetLog(0) # no erase trace
+    #log=mesh.GetLog(0) # no erase trace
     #for linelog in log:
     #    print linelog
     print "Information about the Mesh:"
-    print "Number of nodes       : ", myMesh.NbNodes()
-    print "Number of edges       : ", myMesh.NbEdges()
-    print "Number of faces       : ", myMesh.NbFaces()
-    print "Number of quadrangles : ", myMesh.NbQuadrangles()
-    print "Number of volumes     : ", myMesh.NbVolumes()
-    print "Number of hexahedrons : ", myMesh.NbHexas()
+    print "Number of nodes       : ", mesh.NbNodes()
+    print "Number of edges       : ", mesh.NbEdges()
+    print "Number of faces       : ", mesh.NbFaces()
+    print "Number of quadrangles : ", mesh.NbQuadrangles()
+    print "Number of volumes     : ", mesh.NbVolumes()
+    print "Number of hexahedrons : ", mesh.NbHexas()
 else:
     print "problem when Computing the mesh"
 
index 6170b51ff874394ab15d674285f427e500cd3a90..4891f56520c8e67cd48c0db3ab1d2c97cb52321a 100644 (file)
@@ -28,6 +28,7 @@
 
 import salome
 import geompy
+import smesh
 
 import StdMeshers
 
@@ -120,130 +121,55 @@ Id_SubFace4 = geompy.addToStudyInFather( mechanic, sub_face4, name )
 
 # ---------------------------- SMESH --------------------------------------
 
-# ---- launch SMESH, init a Mesh with shape 'mechanic'
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
 # -- Init --
 shape_mesh = salome.IDToObject( Id_mechanic )
-smesh.SetCurrentStudy(salome.myStudy)
-
-mesh = smesh.CreateMesh(shape_mesh)
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName( idmesh, "Mesh_mechanic" )
+mesh = smesh.Mesh(shape_mesh, "Mesh_mechanic")
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegment = 10
 
-hypNbSeg = smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" )
-hypNbSeg.SetNumberOfSegments( numberOfSegment )
+algo = mesh.Segment()
+hypNbSeg = algo.NumberOfSegments(numberOfSegment)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
-
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
+smesh.SetName(hypNbSeg, "NumberOfSegments_10")
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 25
 
-hypArea25 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hypArea25.SetMaxElementArea( maxElementArea )
+algo = mesh.Triangle()
+hypArea25 = algo.MaxElementArea(maxElementArea)
 print hypArea25.GetName()
 print hypArea25.GetId()
 print hypArea25.GetMaxElementArea()
+smesh.SetName(hypArea25, "MaxElementArea_25")
 
-smeshgui.SetName(salome.ObjectToID(hypArea25), "MaxElementArea_25")
-
-print "-------------------------- MaxElementArea"
-
-maxElementArea = 35
-
-hypArea35 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hypArea35.SetMaxElementArea( maxElementArea )
-print hypArea35.GetName()
-print hypArea35.GetId()
-print hypArea35.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea35), "MaxElementArea_35")
-
-print "-------------------------- Regular_1D"
-
-algoReg1D = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" )
-listHyp = algoReg1D.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg1D.GetName()
-print algoReg1D.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoReg1D), "Regular_1D")
-
-print "-------------------------- MEFISTO_2D"
-
-algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" )
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoMef), "MEFISTO_2D")
-
-print "-------------------------- SMESH_Quadrangle_2D"
-
-algoQuad = smesh.CreateHypothesis( "Quadrangle_2D", "libStdMeshersEngine.so" )
-listHyp = algoQuad.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoQuad.GetName()
-print algoQuad.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoQuad), "SMESH_Quadrangle_2D")
-
-print "-------------------------- add hypothesis to main shape"
-
-mesh.AddHypothesis( shape_mesh, hypNbSeg )   # nb segments
-mesh.AddHypothesis( shape_mesh, hypArea25 )  # max area
-
-mesh.AddHypothesis( shape_mesh, algoReg1D )  # Regular 1D/wire discretisation
-mesh.AddHypothesis( shape_mesh, algoMef )    # MEFISTO 2D
-
-print "-------------------------- add hypothesis and algorithm to sub face 1"
-
-submesh = mesh.GetSubMesh(sub_face1, "SubMeshFace1")
-
-mesh.AddHypothesis( sub_face1, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face1, hypArea35 )  # max area
-
-print "-------------------------- add hypothesis and algorithm to sub face 2"
-
-submesh = mesh.GetSubMesh(sub_face2, "SubMeshFace2")
-
-mesh.AddHypothesis( sub_face2, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face2, hypArea35 )  # max area
-
-print "-------------------------- add hypothesis and algorith to sub face 3"
-
-submesh = mesh.GetSubMesh(sub_face3, "SubMeshFace3")
+# Create submesh on sub_face1 - sub_face4
+# ---------------------------------------
 
-mesh.AddHypothesis( sub_face3, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face3, hypArea35 )  # max area
+# Set 2D algorithm to submesh on sub_face1
+algo = mesh.Quadrangle(sub_face1)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace1")
 
-print "-------------------------- add hypothesis and algorith to sub face 4"
+# Set 2D algorithm to submesh on sub_face2
+algo = mesh.Quadrangle(sub_face2)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace2")
 
-submesh = mesh.GetSubMesh(sub_face4, "SubMeshFace4")
+# Set 2D algorithm to submesh on sub_face3
+algo = mesh.Quadrangle(sub_face3)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace3")
 
-mesh.AddHypothesis( sub_face4, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face4, hypArea35 )  # max area
+# Set 2D algorithm to submesh on sub_face4
+algo = mesh.Quadrangle(sub_face4)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace4")
 
 print "-------------------------- compute the mesh of the mechanic piece"
 
-smesh.Compute(mesh, shape_mesh)
+mesh.Compute()
 
 print "Information about the Mesh_mechanic:"
 print "Number of nodes       : ", mesh.NbNodes()
index 0eed6bbd614cb84dc7007cfc4580e3446378f09f..0eb159d59cae8b06a7af8bd948c6d4344f8ea6dc 100644 (file)
 
 import salome
 import geompy
-
-import StdMeshers
-
-import SMESH
+import smesh
 
 # ---------------------------- GEOM --------------------------------------
 
@@ -122,130 +119,62 @@ Id_SubFace4 = geompy.addToStudyInFather( mechanic, sub_face4, name )
 
 # ---------------------------- SMESH --------------------------------------
 
-# ---- launch SMESH, init a Mesh with shape 'mechanic'
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-
 # -- Init --
 shape_mesh = salome.IDToObject( Id_mechanic )
-smesh.SetCurrentStudy(salome.myStudy)
 
-mesh = smesh.CreateMesh(shape_mesh)
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
-
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName( idmesh, "Mesh_mechanic" )
+mesh = smesh.Mesh(shape_mesh, "Mesh_mechanic")
 
 print "-------------------------- NumberOfSegments"
 
 numberOfSegment = 10
 
-hypNbSeg = smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" )
-hypNbSeg.SetNumberOfSegments( numberOfSegment )
+algo = mesh.Segment()
+hypNbSeg = algo.NumberOfSegments(numberOfSegment)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegment))
 
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
 
 print "-------------------------- MaxElementArea"
 
 maxElementArea = 25
 
-hypArea25 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hypArea25.SetMaxElementArea( maxElementArea )
+algo = mesh.Triangle()
+hypArea25 = algo.MaxElementArea(maxElementArea)
 print hypArea25.GetName()
 print hypArea25.GetId()
 print hypArea25.GetMaxElementArea()
+smesh.SetName(hypArea25, "MaxElementArea_" + str(maxElementArea))
 
-smeshgui.SetName(salome.ObjectToID(hypArea25), "MaxElementArea_25")
-
-print "-------------------------- MaxElementArea"
-
-maxElementArea = 35
-
-hypArea35 = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hypArea35.SetMaxElementArea( maxElementArea )
-print hypArea35.GetName()
-print hypArea35.GetId()
-print hypArea35.GetMaxElementArea()
-
-smeshgui.SetName(salome.ObjectToID(hypArea35), "MaxElementArea_35")
-
-print "-------------------------- Regular_1D"
-
-algoReg1D = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" )
-listHyp = algoReg1D.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg1D.GetName()
-print algoReg1D.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoReg1D), "Regular_1D")
-
-print "-------------------------- MEFISTO_2D"
 
-algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" )
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
+# Create submesh on sub_face1 - sub_face4
+# ---------------------------------------
 
-smeshgui.SetName(salome.ObjectToID(algoMef), "MEFISTO_2D")
+# Set 2D algorithm to submesh on sub_face1
+algo = mesh.Quadrangle(sub_face1)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace1")
+submesh1 = algo.GetSubMesh()
 
-print "-------------------------- SMESH_Quadrangle_2D"
+# Set 2D algorithm to submesh on sub_face2
+algo = mesh.Quadrangle(sub_face2)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace2")
+submesh2 = algo.GetSubMesh()
 
-algoQuad = smesh.CreateHypothesis( "Quadrangle_2D", "libStdMeshersEngine.so" )
-listHyp = algoQuad.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoQuad.GetName()
-print algoQuad.GetId()
+# Set 2D algorithm to submesh on sub_face3
+algo = mesh.Quadrangle(sub_face3)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace3")
+submesh3 = algo.GetSubMesh()
 
-smeshgui.SetName(salome.ObjectToID(algoQuad), "SMESH_Quadrangle_2D")
+# Set 2D algorithm to submesh on sub_face4
+algo = mesh.Quadrangle(sub_face4)
+smesh.SetName(algo.GetSubMesh(), "SubMeshFace4")
+submesh4 = algo.GetSubMesh()
 
-print "-------------------------- add hypothesis to main shape"
-
-mesh.AddHypothesis( shape_mesh, hypNbSeg )   # nb segments
-mesh.AddHypothesis( shape_mesh, hypArea25 )  # max area
-
-mesh.AddHypothesis( shape_mesh, algoReg1D )  # Regular 1D/wire discretisation
-mesh.AddHypothesis( shape_mesh, algoMef )    # MEFISTO 2D
-
-print "-------------------------- add hypothesis and algorithm to sub face 1"
-
-submesh = mesh.GetSubMesh(sub_face1, "SubMeshFace1")
-
-mesh.AddHypothesis( sub_face1, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face1, hypArea35 )  # max area
-
-print "-------------------------- add hypothesis and algorithm to sub face 2"
-
-submesh = mesh.GetSubMesh(sub_face2, "SubMeshFace2")
-
-mesh.AddHypothesis( sub_face2, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face2, hypArea35 )  # max area
-
-print "-------------------------- add hypothesis and algorith to sub face 3"
-
-submesh = mesh.GetSubMesh(sub_face3, "SubMeshFace3")
-
-mesh.AddHypothesis( sub_face3, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face3, hypArea35 )  # max area
-
-print "-------------------------- add hypothesis and algorith to sub face 4"
-
-submesh = mesh.GetSubMesh(sub_face4, "SubMeshFace4")
-
-mesh.AddHypothesis( sub_face4, algoQuad )   # Quadrangle 2D
-mesh.AddHypothesis( sub_face4, hypArea35 )  # max area
 
 print "-------------------------- compute the mesh of the mechanic piece"
 
-smesh.Compute(mesh, shape_mesh)
+mesh.Compute()
 
 print "Information about the Mesh_mechanic:"
 print "Number of nodes       : ", mesh.NbNodes()
@@ -257,52 +186,45 @@ print "Number of volumes     : ", mesh.NbVolumes()
 print "Number of tetrahedrons: ", mesh.NbTetras()
 
 
-MeshEditor = mesh.GetMeshEditor()
-
 #1 cutting of quadrangles of the 'SubMeshFace2' submesh
-submesh = mesh.GetSubMesh(sub_face2, "SubMeshFace2")
-MeshEditor.SplitQuadObject(submesh, 1)
+mesh.SplitQuadObject(submesh2, 1)
 
 #2 cutting of triangles of the group
 FacesTriToQuad = [2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422]
-GroupTriToQuad = mesh.CreateGroup(SMESH.FACE,"Group of faces (quad)")
-GroupTriToQuad.Add(FacesTriToQuad)
-MeshEditor.TriToQuadObject(GroupTriToQuad, None , 1.57)
+GroupTriToQuad = mesh.MakeGroupByIds("Group of faces (quad)", smesh.FACE, FacesTriToQuad)
+mesh.TriToQuadObject(GroupTriToQuad, None , 1.57)
 
 #3 extrusion of the group
-point = SMESH.PointStruct(0, 0, 5)
-vector = SMESH.DirStruct(point) 
-MeshEditor.ExtrusionSweepObject(GroupTriToQuad, vector, 5)
+point = smesh.PointStruct(0, 0, 5)
+vector = smesh.DirStruct(point) 
+mesh.ExtrusionSweepObject(GroupTriToQuad, vector, 5)
 
 #4 mirror object
-MeshEditor.MirrorObject(mesh, SMESH.AxisStruct(0, 0, 0, 0, 0, 0), SMESH.SMESH_MeshEditor.POINT, 0) 
+mesh.Mirror([], smesh.AxisStruct(0, 0, 0, 0, 0, 0), smesh.POINT, 0) 
 
 #5 mesh translation
-point = SMESH.PointStruct(10, 10, 10)
-vector = SMESH.DirStruct(point) 
-MeshEditor.TranslateObject(mesh, vector, 0)
+point = smesh.PointStruct(10, 10, 10)
+vector = smesh.DirStruct(point) 
+mesh.Translate([], vector, 0)
 
 #6 mesh rotation
-axisXYZ = SMESH.AxisStruct(0, 0, 0, 10, 10, 10)
+axisXYZ = smesh.AxisStruct(0, 0, 0, 10, 10, 10)
 angle180 =  180*3.141/180
-MeshEditor.RotateObject(mesh, axisXYZ, angle180, 0)
+mesh.Rotate([], axisXYZ, angle180, 0)
 
 #7 group smoothing
 FacesSmooth = [864, 933, 941, 950, 1005, 1013]
-GroupSmooth = mesh.CreateGroup(SMESH.FACE,"Group of faces (smooth)")
-GroupSmooth.Add(FacesSmooth)
-MeshEditor.SmoothObject(GroupSmooth, [], 20, 2, SMESH.SMESH_MeshEditor.CENTROIDAL_SMOOTH)
+GroupSmooth = mesh.MakeGroupByIds("Group of faces (smooth)", smesh.FACE, FacesSmooth)
+mesh.SmoothObject(GroupSmooth, [], 20, 2, smesh.CENTROIDAL_SMOOTH)
 
 #8 rotation sweep object
 FacesRotate = [492, 493, 502, 503]
-GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group of faces (rotate)")
-GroupRotate.Add(FacesRotate)
+GroupRotate = mesh.MakeGroupByIds("Group of faces (rotate)", smesh.FACE, FacesRotate)
 angle45 =  45*3.141/180
-axisXYZ = SMESH.AxisStruct(-38.3128, -73.3658, -133.321, -13.3402, -13.3265, 6.66632)
-MeshEditor.RotationSweepObject(GroupRotate, axisXYZ, angle45, 4, 1e-5)
+axisXYZ = smesh.AxisStruct(-38.3128, -73.3658, -133.321, -13.3402, -13.3265, 6.66632)
+mesh.RotationSweepObject(GroupRotate, axisXYZ, angle45, 4, 1e-5)
 
-#9 reorientation of the whole mesh
-submesh = mesh.GetSubMesh(sub_face1, "SubMeshFace1")
-MeshEditor.ReorientObject(submesh)
+#9 reorientation of the submesh1
+mesh.ReorientObject(submesh1)
 
 salome.sg.updateObjBrowser(1)
index b3a0ea2a72b43d88da40a3c11f8687fa5e049ad5..4b9f7089741edade97c18a4b60e6e24372ddb2ea 100644 (file)
@@ -28,8 +28,6 @@ import geompy
 
 geom  = geompy.geom
 
-import StdMeshers
-import NETGENPlugin
 import smesh
 
 # ---------------------------- GEOM --------------------------------------
@@ -109,13 +107,12 @@ print "number of Edges in mechanic : ",len(subEdgeList)
 print "-------------------------- create Mesh, algorithm, hypothesis"
 
 mesh = smesh.Mesh(mechanic, "Mesh_mechanic");
-netgen = mesh.Netgen(0)
-hyp = netgen.Parameters()
-hyp.SetMaxSize( 50 )
-#hyp.SetSecondOrder( 0 )
-hyp.SetFineness( 3 )
-hyp.SetQuadAllowed( 1 )
-#hyp.SetOptimize( 1 )
+netgen = mesh.Triangle(smesh.NETGEN)
+netgen.SetMaxSize( 50 )
+#netgen.SetSecondOrder( 0 )
+netgen.SetFineness( smesh.Fine )
+netgen.SetQuadAllowed( 1 )
+#netgen.SetOptimize( 1 )
 
 salome.sg.updateObjBrowser(1)
 
@@ -124,13 +121,13 @@ ret = mesh.Compute()
 print ret
 if ret != 0:
     print "Information about the MeshcompShel:"
-    print "Number of nodes        : ", mesh.GetMesh().NbNodes()
-    print "Number of edges        : ", mesh.GetMesh().NbEdges()
-    print "Number of faces        : ", mesh.GetMesh().NbFaces()
-    print "Number of triangles    : ", mesh.GetMesh().NbTriangles()
-    print "Number of quadrangles  : ", mesh.GetMesh().NbQuadrangles()
-    print "Number of volumes      : ", mesh.GetMesh().NbVolumes()
-    print "Number of tetrahedrons : ", mesh.GetMesh().NbTetras()
+    print "Number of nodes        : ", mesh.NbNodes()
+    print "Number of edges        : ", mesh.NbEdges()
+    print "Number of faces        : ", mesh.NbFaces()
+    print "Number of triangles    : ", mesh.NbTriangles()
+    print "Number of quadrangles  : ", mesh.NbQuadrangles()
+    print "Number of volumes      : ", mesh.NbVolumes()
+    print "Number of tetrahedrons : ", mesh.NbTetras()
     
 else:
     print "problem when computing the mesh"
index f5f56d4bc51e58ecff82d26d48ff73958cf576d7..d4c4dd92e2cb79d02052d59ec58d34a9b92295ec 100644 (file)
 
 import salome
 import geompy
+import smesh
 
 geom  = geompy.geom
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
-
-import StdMeshers
-import NETGENPlugin
 
 # ---------------------------- GEOM --------------------------------------
 
@@ -111,94 +104,44 @@ print "number of Edges in mechanic : ",len(subEdgeList)
 
 ### ---------------------------- SMESH --------------------------------------
 
-print "-------------------------- NumberOfSegments"
+shape_mesh = salome.IDToObject( Id_mechanic  )
+
+mesh = smesh.Mesh(shape_mesh, "Mesh_mechanic_tetra")
+
+print "-------------------------- add hypothesis to main mechanic"
 
 numberOfSegment = 10
 
-hypNbSeg = smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" )
-hypNbSeg.SetNumberOfSegments( numberOfSegment )
+algo1 = mesh.Segment()
+hypNbSeg = algo1.NumberOfSegments(numberOfSegment)
 print hypNbSeg.GetName()
 print hypNbSeg.GetId()
 print hypNbSeg.GetNumberOfSegments()
+smesh.SetName(hypNbSeg, "NumberOfSegments_" + str(numberOfSegment))
 
-smeshgui.SetName(salome.ObjectToID(hypNbSeg), "NumberOfSegments_10")
-
-print "-------------------------- MaxElementArea"
 
 maxElementArea = 20
 
-hypArea = smesh.CreateHypothesis( "MaxElementArea", "libStdMeshersEngine.so" )
-hypArea.SetMaxElementArea( maxElementArea )
+algo2 = mesh.Triangle(smesh.MEFISTO)
+hypArea = algo2.MaxElementArea(maxElementArea)
 print hypArea.GetName()
 print hypArea.GetId()
 print hypArea.GetMaxElementArea()
+smesh.SetName(hypArea, "MaxElementArea_" + str(maxElementArea))
 
-smeshgui.SetName(salome.ObjectToID(hypArea), "MaxElementArea_20")
-
-print "-------------------------- MaxElementVolume"
 
 maxElementVolume = 20
 
-hypVolume = smesh.CreateHypothesis( "MaxElementVolume", "libStdMeshersEngine.so" )
-hypVolume.SetMaxElementVolume( maxElementVolume )
+algo3 = mesh.Tetrahedron(smesh.NETGEN)
+hypVolume = algo3.MaxElementVolume(maxElementVolume)
 print hypVolume.GetName()
 print hypVolume.GetId()
 print hypVolume.GetMaxElementVolume()
+smesh.SetName(hypVolume, "maxElementVolume_" + str(maxElementVolume))
 
-smeshgui.SetName(salome.ObjectToID(hypVolume), "MaxElementVolume_20")
-
-print "-------------------------- Regular_1D"
-
-algoReg1D = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" )
-listHyp =algoReg1D.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg1D.GetName()
-print algoReg1D.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoReg1D), "Regular_1D")
-
-print "-------------------------- MEFISTO_2D"
-
-algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" )
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoMef), "MEFISTO_2D")
-
-print "-------------------------- NETGEN_3D"
-
-algoNg = smesh.CreateHypothesis( "NETGEN_3D", "libNETGENEngine.so" )
-listHyp = algoNg.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoNg.GetName()
-print algoNg.GetId()
-
-smeshgui.SetName(salome.ObjectToID(algoNg), "NETGEN_3D")
-
-print "-------------------------- add hypothesis to main mechanic"
-
-shape_mesh = salome.IDToObject( Id_mechanic  )
-
-mesh = smesh.CreateMesh(shape_mesh)
-
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName( idmesh, "Mesh_mechanic_tetra" )
-
-mesh.AddHypothesis( shape_mesh, hypNbSeg )   # nb segments
-mesh.AddHypothesis( shape_mesh, hypArea )    # max area
-mesh.AddHypothesis( shape_mesh, hypVolume )  # max volume
-
-mesh.AddHypothesis( shape_mesh, algoReg1D )  # Regular 1D/wire discretisation
-mesh.AddHypothesis( shape_mesh, algoMef )    # MEFISTO 2D
-mesh.AddHypothesis( shape_mesh, algoNg )     # NETGEN 3D
 
 print "-------------------------- compute the mesh of the mechanic piece"
-smesh.Compute(mesh,shape_mesh)
+mesh.Compute()
 
 print "Information about the Mesh_mechanic_tetra:"
 print "Number of nodes       : ", mesh.NbNodes()
index 2e3a8c534934f6b57bb99e365c34df9807df31a4..bf71f6d56722e79a76cae80dae4131edff58960f 100644 (file)
 
 import salome
 import geompy
+import smesh
 
 import StdMeshers
 
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
 
 # ---- define a box
 print "Define box"
@@ -60,124 +59,53 @@ smeshgui = salome.ImportComponentGUI("SMESH")
 smeshgui.Init(salome.myStudyId)
 
 
-print "-------------------------- create Hypothesis"
-
-print "-------------------------- LocalLength"
-hypLen1 = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-hypLen1.SetLength(100)
-print hypLen1.GetName()
-print hypLen1.GetId()
-print hypLen1.GetLength()
-
-idlength = salome.ObjectToID(hypLen1)
-smeshgui.SetName(idlength, "Local_Length_100");
-
-hypNbSeg = []
-print "-------------------------- NumberOfSegments"
-hypNbSeg1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg1.SetDistrType(0)
-hypNbSeg1.SetNumberOfSegments(7)
-print hypNbSeg1.GetName()
-print hypNbSeg1.GetId()
-print hypNbSeg1.GetNumberOfSegments()
-idseg1 = salome.ObjectToID(hypNbSeg1)
-smeshgui.SetName(idseg1, "NumberOfSegmentsReg");
-hypNbSeg.append(hypNbSeg1)
-
-hypNbSeg2 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg2.SetDistrType(1)
-hypNbSeg2.SetNumberOfSegments(7)
-hypNbSeg2.SetScaleFactor(2)
-print hypNbSeg2.GetName()
-print hypNbSeg2.GetId()
-print hypNbSeg2.GetNumberOfSegments()
-idseg2 = salome.ObjectToID(hypNbSeg2)
-smeshgui.SetName(idseg2, "NumberOfSegmentsScale");
-hypNbSeg.append(hypNbSeg2)
-
-hypNbSeg3 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg3.SetDistrType(2)
-hypNbSeg3.SetNumberOfSegments(7)
-hypNbSeg3.SetTableFunction( [0, 0.1, 0.5, 1.0, 1.0, 0.1] )
-hypNbSeg3.SetConversionMode(0)
-print hypNbSeg3.GetName()
-print hypNbSeg3.GetId()
-print hypNbSeg3.GetNumberOfSegments()
-idseg3 = salome.ObjectToID(hypNbSeg3)
-smeshgui.SetName(idseg3, "NumberOfSegmentsTable");
-hypNbSeg.append(hypNbSeg3)
-
-hypNbSeg4 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg4.SetDistrType(3)
-hypNbSeg4.SetNumberOfSegments(10)
-hypNbSeg4.SetExpressionFunction("sin(3*t)")
-hypNbSeg4.SetConversionMode(1)
-print hypNbSeg4.GetName()
-print hypNbSeg4.GetId()
-print hypNbSeg4.GetNumberOfSegments()
-idseg4 = salome.ObjectToID(hypNbSeg4)
-smeshgui.SetName(idseg4, "NumberOfSegmentsExpr");
-hypNbSeg.append(hypNbSeg4)
-
-print "-------------------------- MaxElementArea"
-hypArea1 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea1.SetMaxElementArea(2500)
-print hypArea1.GetName()
-print hypArea1.GetId()
-print hypArea1.GetMaxElementArea()
-
-idarea1 = salome.ObjectToID(hypArea1)
-smeshgui.SetName(idarea1, "MaxElementArea_2500");
-
-print "-------------------------- MaxElementArea"
-hypArea2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea2.SetMaxElementArea(500)
-print hypArea2.GetName()
-print hypArea2.GetId()
-print hypArea2.GetMaxElementArea()
-
-idarea2 = salome.ObjectToID(hypArea2)
-smeshgui.SetName(idarea2, "MaxElementArea_500");
-
-print "-------------------------- Regular_1D"
-algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-listHyp = algoReg.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg.GetName()
-print algoReg.GetId()
-
-idreg = salome.ObjectToID(algoReg)
-smeshgui.SetName(idreg, "Regular_1D");
-
-print "-------------------------- MEFISTO_2D"
-algoMef = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-
-idmef = salome.ObjectToID(algoMef)
-smeshgui.SetName(idmef, "MEFISTO_2D");
-
-salome.sg.updateObjBrowser(1);
-
-# ---- Init a Mesh with the box
+# ---- Creating meshes
 
 box = salome.IDToObject(idbox)
-names = [ "MeshBoxReg", "MeshBoxScale", "MeshBoxTable", "MeshBoxExpr" ];
-j = 0
-for i in range(4):
-  mesh = smesh.CreateMesh(box)
-  idmesh = salome.ObjectToID(mesh)
-  smeshgui.SetName(idmesh, names[j]);
-  print "-------------------------- add hypothesis to box"
-  mesh.AddHypothesis(box,algoReg)
-  mesh.AddHypothesis(box,hypNbSeg[j])
-  mesh.AddHypothesis(box,algoMef)
-  mesh.AddHypothesis(box,hypArea1)
-  j=j+1
+names = [ "MeshBoxReg", "MeshBoxScale", "MeshBoxTable", "MeshBoxExpr" ]
+
+
+print "-------------------------- Create ", names[0], " mesh"
+mesh = smesh.Mesh(box, names[0])
+algo = mesh.Segment()
+hyp = algo.NumberOfSegments(7)
+hyp.SetDistrType(0)
+smesh.SetName(hyp, "NumberOfSegmentsReg")
+algo = mesh.Triangle()
+algo.MaxElementArea(2500)
+
+print "-------------------------- Create ", names[1], " mesh"
+mesh = smesh.Mesh(box, names[1])
+algo = mesh.Segment()
+hyp = algo.NumberOfSegments(7)
+hyp.SetDistrType(1)
+hyp.SetScaleFactor(2)
+smesh.SetName(hyp, "NumberOfSegmentsScale")
+algo = mesh.Triangle()
+algo.MaxElementArea(2500)
+
+print "-------------------------- Create ", names[2], " mesh"
+mesh = smesh.Mesh(box,names[2])
+algo = mesh.Segment()
+hyp = algo.NumberOfSegments(7)
+hyp.SetDistrType(2)
+hyp.SetTableFunction( [0, 0.1, 0.5, 1.0, 1.0, 0.1] )
+hyp.SetConversionMode(0)
+smesh.SetName(hyp, "NumberOfSegmentsTable")
+algo = mesh.Triangle()
+algo.MaxElementArea(2500)
+
+print "-------------------------- Create ", names[3], " mesh"
+mesh = smesh.Mesh(box, names[3])
+algo = mesh.Segment()
+hyp = algo.NumberOfSegments(10)
+hyp.SetDistrType(3)
+hyp.SetExpressionFunction("sin(3*t)")
+hyp.SetConversionMode(1)
+smesh.SetName(hyp, "NumberOfSegmentsExpr")
+algo = mesh.Triangle()
+algo.MaxElementArea(2500)
+
 
 salome.sg.updateObjBrowser(1);
 
index 1424181d1fcddeec5272bf2938ccbf943d818f13..23f0654012765d1b0b2743ffe55da77a1fe07bbd 100644 (file)
 
 import salome
 import geompy
-import smeshpy
-
-import SMESH
-import StdMeshers
+import smesh
 
 # ---- define a box
 
@@ -57,94 +54,46 @@ edge = edgeList[0];
 name = geompy.SubShapeName(edge, face)
 ide = geompy.addToStudyInFather(face, edge, name)
 
-# ---- launch SMESH, init a Mesh with the box
-
-gen = smeshpy.smeshpy()
-mesh = gen.CreateMesh(idb)
-
-print "-------------------------- create Hypothesis"
-
-print "-------------------------- LocalLength"
-
-hypo1 = gen.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-print hypo1.GetName()
-print hypo1.GetId()
-print hypo1.GetLength()
-hypo1.SetLength(100)
-print hypo1.GetLength()
-
-print "-------------------------- bidon"
+# ---- SMESH
 
-hyp3 = gen.CreateHypothesis("bidon", "")
-
-print "-------------------------- NumberOfSegments"
-
-hypo3 = gen.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypo3.SetNumberOfSegments(7)
-print hypo3.GetName()
-print hypo3.GetNumberOfSegments()
-print hypo3.GetId()
-
-print "-------------------------- MaxElementArea"
+box = salome.IDToObject(idb)
+mesh = smesh.Mesh(box, "Meshbox")
 
-hypo4 = gen.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypo4.SetMaxElementArea(5000)
-print hypo4.GetName()
-print hypo4.GetMaxElementArea()
-print hypo4.GetId()
+print "-------------------------- add hypothesis to box"
 
-print "-------------------------- Regular_1D"
+algo_1 = mesh.Segment(box)
+hyp = algo_1.LocalLength(100)
+print hyp.GetName()
+print hyp.GetId()
+print hyp.GetLength()
 
-algo_1 = gen.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-print algo_1.GetName()
-print algo_1.GetId()
-listHyp = algo_1.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algo_1.GetId()
+algo_2 = mesh.Triangle(smesh.MEFISTO, box)
+hyp = algo_2.MaxElementArea(5000)
+print hyp.GetName()
+print hyp.GetId()
+print hyp.GetMaxElementArea()
 
-print "-------------------------- MEFISTO_2D"
+smesh.SetName(algo_2.GetSubMesh(), "SubMeshBox")
 
-algo_2 = gen.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-print algo_2.GetName()
-print algo_2.GetId()
-listHyp = algo_2.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algo_2.GetId()
 
 print "-------------------------- add hypothesis to edge"
 
 edge = salome.IDToObject(ide)
-submesh = mesh.GetSubMesh(edge, "SubMeshEdge")
-ret = mesh.AddHypothesis(edge,algo_1)
-print ret
-ret = mesh.AddHypothesis(edge,hypo1)
-print ret
 
-##print "-------------------------- compute edge"
-##ret=gen.Compute(mesh,ide)
-##print ret
-##log=mesh.GetLog(1);
-##for a in log:
-##    print a
+algo_3 = mesh.Segment(edge)
+hyp = algo_3.LocalLength(100)
+print hyp.GetName()
+print hyp.GetId()
+print hyp.GetLength()
 
-print "-------------------------- add hypothesis to box"
+smesh.SetName(algo_3.GetSubMesh(), "SubMeshEdge")
 
-box = salome.IDToObject(idb)
-submesh = mesh.GetSubMesh(box, "SubMeshBox")
-ret = mesh.AddHypothesis(box,algo_1)
-print ret
-ret = mesh.AddHypothesis(box,hypo1)
-print ret
-ret = mesh.AddHypothesis(box,algo_2)
-print ret
-ret = mesh.AddHypothesis(box,hypo4)
-print ret
 
 print "-------------------------- compute face"
 
-ret = gen.Compute(mesh,idf)
+face = salome.IDToObject(idf)
+
+ret = mesh.Compute(face)
 print ret
 log = mesh.GetLog(0) # 0 - GetLog without ClearLog after, else if 1 - ClearLog after
 for a in log:
@@ -183,18 +132,3 @@ for a in log:
             i3 = a.indexes[ii]
             ii = ii+1
             print "AddTriangle %i - %i %i %i" % (ind, i1, i2, i3)
-
-##print "-------------------------- compute box"
-##ret=gen.Compute(mesh,idb)
-##print ret
-##log=mesh.GetLog(1);
-##print log
-
-##shell=salome.IDToObject(ids)
-##submesh=mesh.GetElementsOnShape(shell)
-##ret=mesh.AddHypothesis(shell,algo_1)
-##print ret
-##ret=mesh.AddHypothesis(shell,hypo1)
-##print ret
-##ret=gen.Compute(mesh,ids)
-##print ret
index 64794e6235bc7c4012f04a760869a88c2ee95092..7a81b0dfdf8fe20f374becc8aa76a59400153b52 100644 (file)
@@ -26,7 +26,6 @@ import salome
 import geompy
 from geompy import geom
 
-import SMESH
 
 myBuilder = salome.myStudy.NewBuilder()
 
index 1943a96115551d878cacc4da96c1b803f3d058f3..786160b3e31d863613b3a99be9d6e2759830765f 100644 (file)
 
 import salome
 import geompy
+import smesh
 
-import StdMeshers
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
 
 # ---- define a box
 
@@ -59,99 +56,51 @@ name = geompy.SubShapeName(edge, face)
 print name
 idedge = geompy.addToStudyInFather(face, edge, name)
 
-# ---- launch SMESH
-
-smeshgui = salome.ImportComponentGUI("SMESH")
-smeshgui.Init(salome.myStudyId)
 
-print "-------------------------- create Hypothesis"
+# ---- SMESH
 
-print "-------------------------- LocalLength"
-hypLen1 = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-hypLen1.SetLength(100)
-print hypLen1.GetName()
-print hypLen1.GetId()
-print hypLen1.GetLength()
+# ---- Init a Mesh with the box
 
-idlength = salome.ObjectToID(hypLen1) 
-smeshgui.SetName(idlength, "Local_Length_100");
+mesh = smesh.Mesh(box, "Meshbox")
 
-print "-------------------------- NumberOfSegments"
-hypNbSeg1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hypNbSeg1.SetNumberOfSegments(7)
+print "-------------------------- add hypothesis to box"
+algoReg1 = mesh.Segment()
+hypNbSeg1 = algoReg1.NumberOfSegments(7)
 print hypNbSeg1.GetName()
 print hypNbSeg1.GetId()
 print hypNbSeg1.GetNumberOfSegments()
+smesh.SetName(hypNbSeg1, "NumberOfSegments_7")
 
-idseg = salome.ObjectToID(hypNbSeg1) 
-smeshgui.SetName(idseg, "NumberOfSegments_7");
-
-print "-------------------------- MaxElementArea"
-hypArea1 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea1.SetMaxElementArea(2500)
+algoMef1 = mesh.Triangle()
+hypArea1 = algoMef1.MaxElementArea(2500)
 print hypArea1.GetName()
 print hypArea1.GetId()
 print hypArea1.GetMaxElementArea()
-
-idarea1 = salome.ObjectToID(hypArea1)
-smeshgui.SetName(idarea1, "MaxElementArea_2500");
-
-print "-------------------------- MaxElementArea"
-hypArea2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hypArea2.SetMaxElementArea(500)
-print hypArea2.GetName()
-print hypArea2.GetId()
-print hypArea2.GetMaxElementArea()
-
-idarea2 = salome.ObjectToID(hypArea2)
-smeshgui.SetName(idarea2, "MaxElementArea_500");
-
-print "-------------------------- Regular_1D"
-algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-listHyp = algoReg.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoReg.GetName()
-print algoReg.GetId()
-
-idreg = salome.ObjectToID(algoReg)
-smeshgui.SetName(idreg, "Regular_1D");
-
-print "-------------------------- MEFISTO_2D"
-algoMef = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-listHyp = algoMef.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-print algoMef.GetName()
-print algoMef.GetId()
-
-idmef = salome.ObjectToID(algoMef)
-smeshgui.SetName(idmef, "MEFISTO_2D");
-
-# ---- Init a Mesh with the box
-
-box = salome.IDToObject(idbox)
-mesh = smesh.CreateMesh(box)
-idmesh = salome.ObjectToID(mesh)
-smeshgui.SetName(idmesh, "Meshbox");
-
-print "-------------------------- add hypothesis to box"
-mesh.AddHypothesis(box,algoReg)
-mesh.AddHypothesis(box,hypNbSeg1)
-mesh.AddHypothesis(box,algoMef)
-mesh.AddHypothesis(box,hypArea1)
+smesh.SetName(hypArea1, "MaxElementArea_2500")
 
 # ---- add hypothesis to edge
-
 print "-------------------------- add hypothesis to edge"
 edge = salome.IDToObject(idedge)
-submesh = mesh.GetSubMesh(edge, "SubMeshEdge")
-mesh.AddHypothesis(edge, algoReg)
-mesh.AddHypothesis(edge, hypLen1)
 
+algoReg2 = mesh.Segment(edge)
+hypLen1 = algoReg2.LocalLength(100)
+smesh.SetName(algoReg2.GetSubMesh(), "SubMeshEdge")
+print hypLen1.GetName()
+print hypLen1.GetId()
+print hypLen1.GetLength()
+smesh.SetName(hypLen1, "Local_Length_100")
+
+# ---- add hypothesis to face
 print "-------------------------- add hypothesis to face"
 face = salome.IDToObject(idface)
-submesh = mesh.GetSubMesh(face, "SubMeshFace")
-mesh.AddHypothesis(face, hypArea2)
+
+algoMef2 = mesh.Triangle(face)
+hypArea2 = algoMef2.MaxElementArea(500)
+smesh.SetName(algoMef2.GetSubMesh(), "SubMeshFace")
+print hypArea2.GetName()
+print hypArea2.GetId()
+print hypArea2.GetMaxElementArea()
+smesh.SetName(hypArea2, "MaxElementArea_500")
+
 
 salome.sg.updateObjBrowser(1);
diff --git a/src/SMESH_SWIG/SMESH_test1_AndDisplay.py b/src/SMESH_SWIG/SMESH_test1_AndDisplay.py
new file mode 100644 (file)
index 0000000..e1a5e01
--- /dev/null
@@ -0,0 +1,111 @@
+#  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+#
+#
+#  File   : SMESH_test1.py
+#  Module : SMESH
+
+import salome
+import geompy
+import smesh
+
+
+# ---- define a box
+
+box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
+idbox = geompy.addToStudy(box, "box")
+
+# ---- add first face of box in study
+
+subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
+face = subShapeList[0]
+name = geompy.SubShapeName(face, box)
+print name
+idface = geompy.addToStudyInFather(box, face, name)
+
+# ---- add shell from box  in study
+
+subShellList = geompy.SubShapeAll(box, geompy.ShapeType["SHELL"])
+shell = subShellList[0]
+name = geompy.SubShapeName(shell, box)
+print name
+idshell = geompy.addToStudyInFather(box, shell, name)
+
+# ---- add first edge of face in study
+
+edgeList = geompy.SubShapeAll(face, geompy.ShapeType["EDGE"])
+edge = edgeList[0]
+name = geompy.SubShapeName(edge, face)
+print name
+idedge = geompy.addToStudyInFather(face, edge, name)
+
+
+# ---- SMESH
+
+# ---- Init a Mesh with the box
+
+mesh = smesh.Mesh(box, "Meshbox")
+
+print "-------------------------- add hypothesis to box"
+algoReg1 = mesh.Segment()
+hypNbSeg1 = algoReg1.NumberOfSegments(7)
+print hypNbSeg1.GetName()
+print hypNbSeg1.GetId()
+print hypNbSeg1.GetNumberOfSegments()
+smesh.SetName(hypNbSeg1, "NumberOfSegments_7")
+
+algoMef1 = mesh.Triangle()
+hypArea1 = algoMef1.MaxElementArea(2500)
+print hypArea1.GetName()
+print hypArea1.GetId()
+print hypArea1.GetMaxElementArea()
+smesh.SetName(hypArea1, "MaxElementArea_2500")
+
+# ---- add hypothesis to edge
+print "-------------------------- add hypothesis to edge"
+edge = salome.IDToObject(idedge)
+
+algoReg2 = mesh.Segment(edge)
+hypLen1 = algoReg2.LocalLength(100)
+smesh.SetName(algoReg2.GetSubMesh(), "SubMeshEdge")
+print hypLen1.GetName()
+print hypLen1.GetId()
+print hypLen1.GetLength()
+smesh.SetName(hypLen1, "Local_Length_100")
+
+# ---- add hypothesis to face
+print "-------------------------- add hypothesis to face"
+face = salome.IDToObject(idface)
+
+algoMef2 = mesh.Triangle(face)
+hypArea2 = algoMef2.MaxElementArea(500)
+smesh.SetName(algoMef2.GetSubMesh(), "SubMeshFace")
+print hypArea2.GetName()
+print hypArea2.GetId()
+print hypArea2.GetMaxElementArea()
+smesh.SetName(hypArea2, "MaxElementArea_500")
+
+mesh.Compute()
+
+salome.sg.updateObjBrowser(1);
+
+sg = salome.ImportComponentGUI('SMESH')
+if type(sg) != type(salome.salome_ComponentGUI):
+    sg.CreateAndDisplayActor('0:1:2:3')
index 622f84a77e13033991d04c02d3e70f37cc1be124..5203c3255a011603f8502b13c6af7d61ce88b093 100644 (file)
@@ -27,39 +27,10 @@ from SMESH_test1 import *
 # ---- compute box
 
 print "-------------------------- compute box"
-ret = smesh.Compute(mesh,box)
+ret = mesh.Compute()
 print ret
 log = mesh.GetLog(0); # no erase trace
 for linelog in log:
     print linelog
 
-salome.sg.updateObjBrowser(1);
-
-# ---- compute edge
-
-##print "-------------------------- compute edge"
-##ret=gen.Compute(mesh,idedge)
-##print ret
-##log=mesh.GetLog(1);
-##for a in log:
-##    print a
-
-# ---- add hypothesis to face
-
-# ---- compute face
-
-#print "-------------------------- compute face"
-#ret=gen.Compute(mesh,idface)
-#print ret
-#log=mesh.GetLog(1);
-#for a in log:
-#    print a
-
-##shell=salome.IDToObject(ids)
-##submesh=mesh.GetElementsOnShape(shell)
-##ret=mesh.AddHypothesis(shell,algoReg)
-##print ret
-##ret=mesh.AddHypothesis(shell,hypLen1)
-##print ret
-##ret=gen.Compute(mesh,ids)
-##print ret
+salome.sg.updateObjBrowser(1)
index d69f455af4a8493c7ce02b13c00c50e7bfe867f4..18cf85332f34ac56799af8c9df173a1a09ac7988 100755 (executable)
 #
 import salome
 import geompy
-import SMESH
-import StdMeshers
+import smesh
 
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
+
+# ---- GEOM
 
 box   = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
 idbox = geompy.addToStudy(box, "box")
@@ -36,35 +35,34 @@ idface = geompy.addToStudyInFather(box, face, name)
 box  = salome.IDToObject(idbox)
 face = salome.IDToObject(idface)
 
-hyp1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-hyp1.SetNumberOfSegments(10)
-hyp2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hyp2.SetMaxElementArea(10)
-hyp3 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-hyp3.SetMaxElementArea(100)
+# ---- SMESH
+
+mesh = smesh.Mesh(box, "Meshbox")
+
+# Set 1D algorithm/hypotheses to mesh
+algo1 = mesh.Segment()
+algo1.NumberOfSegments(10)
 
-algo1 = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-algo2 = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
+# Set 2D algorithm/hypotheses to mesh
+algo2 = mesh.Triangle(smesh.MEFISTO)
+algo2.MaxElementArea(10)
 
-mesh = smesh.CreateMesh(box)
-mesh.AddHypothesis(box,hyp1)
-mesh.AddHypothesis(box,hyp2)
-mesh.AddHypothesis(box,algo1)
-mesh.AddHypothesis(box,algo2)
+# Create submesh on face
+algo3 = mesh.Segment(face)
+algo3.NumberOfSegments(10)
+algo4 = mesh.Triangle(smesh.MEFISTO, face)
+algo4.MaxElementArea(100)
+submesh = algo4.GetSubMesh()
+smesh.SetName(submesh, "SubMeshFace")
 
-submesh = mesh.GetSubMesh(face, "SubMeshFace")
-mesh.AddHypothesis(face,hyp1)
-mesh.AddHypothesis(face,hyp3)
-mesh.AddHypothesis(face,algo1)
-mesh.AddHypothesis(face,algo2)
 
-smesh.Compute(mesh,box)
+mesh.Compute()
 
-faces = submesh.GetElementsByType(SMESH.FACE)
+faces = submesh.GetElementsByType(smesh.FACE)
 if len(faces) > 1:
     print len(faces), len(faces)/2
-    group1 = mesh.CreateGroup(SMESH.FACE,"Group of faces")
-    group2 = mesh.CreateGroup(SMESH.FACE,"Another group of faces")
+    group1 = mesh.CreateEmptyGroup(smesh.FACE,"Group of faces")
+    group2 = mesh.CreateEmptyGroup(smesh.FACE,"Another group of faces")
     group1.Add(faces[:int(len(faces)/2)])
     group2.Add(faces[int(len(faces)/2):])
 
index 74a28c6ba4b27583eef86a91e06173c8652caa87..b71a2a58a8543a72de14bd8dab65ad96a01defe1 100644 (file)
 #
 #
 #
-#  File   : SMESH_test1.py
+#  File   : SMESH_test5.py
 #  Module : SMESH
 
 import salome
-import SMESH
+import smesh
 import SALOMEDS
 import CORBA
 import os
@@ -43,26 +43,21 @@ def ConvertMED2UNV(thePath,theFile) :
 
     for iMesh in range(len(aMeshes)) :
         aMesh = aMeshes[iMesh]
-        anSObj = salome.ObjectToSObject(aMesh)
-        print anSObj.GetName(),
+        print aMesh.GetName(),
         aFileName = anInitFileName
         aFileName = os.path.basename(aFileName)
-        SetSObjName(anSObj,aFileName)
-        print anSObj.GetName()
+        aMesh.SetName(aFileName)
+        print aMesh.GetName()
 
         aOutPath = '/tmp/'
         aFileName = aOutPath + theFile + "." + str(iMesh) + ".unv"
         aMesh.ExportUNV(aFileName)
         aMesh = smesh.CreateMeshesFromUNV(aFileName)
-        anSObj = salome.ObjectToSObject(aMesh)
-        print anSObj.GetName(),
+        print aMesh.GetName(),
         os.remove(aFileName)
         aFileName = os.path.basename(aFileName)
-        SetSObjName(anSObj,aFileName)
-        print anSObj.GetName()
-
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
+        aMesh.SetName(aFileName)
+        print aMesh.GetName()
 
 aPath = os.getenv('DATA_DIR') + '/MedFiles/'
 aListDir = os.listdir(aPath)
index 58ca97b8cadd3ddd2e6c3ef3b07577e873635af4..71a58db8a11eb8ee63c39b787d6490edbd33fa5a 100644 (file)
@@ -49,44 +49,44 @@ def CreateMesh (theFileName, area, len = None, nbseg = None):
 
 
     # ---- SMESH
+    print "-------------------------- create mesh"
+    mesh = smesh.Mesh(shape_mesh)
       
     print "-------------------------- create Hypothesis"
     if (len is not None):
         print "-------------------------- LocalLength"
-        hypLength1 = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so")
-        hypLength1.SetLength(len)
+        algoReg = mesh.Segment()
+        hypLength1 = algoReg.LocalLength(len)
         print "Hypothesis type : ", hypLength1.GetName()
         print "Hypothesis ID   : ", hypLength1.GetId()
         print "Hypothesis Value: ", hypLength1.GetLength()
     
     if (nbseg is not None):   
         print "-------------------------- NumberOfSegments"
-        hypNbSeg1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")
-        hypNbSeg1.SetNumberOfSegments(nbseg)
+        algoReg = mesh.Segment()
+        hypNbSeg1 = algoReg.NumberOfSegments(nbseg)
         print "Hypothesis type : ", hypNbSeg1.GetName()
         print "Hypothesis ID   : ", hypNbSeg1.GetId()
         print "Hypothesis Value: ", hypNbSeg1.GetNumberOfSegments()
 
     if (area == "LengthFromEdges"):
         print "-------------------------- LengthFromEdges"
-        hypLengthFromEdges = smesh.CreateHypothesis("LengthFromEdges", "libStdMeshersEngine.so")
-        hypLengthFromEdges.SetMode(1)
+        algoMef = mesh.Triangle()
+        hypLengthFromEdges = algoMef.LengthFromEdges(1)
         print "Hypothesis type     : ", hypLengthFromEdges.GetName()
         print "Hypothesis ID       : ", hypLengthFromEdges.GetId()
         print "LengthFromEdges Mode: ", hypLengthFromEdges.GetMode()
        
     else:
         print "-------------------------- MaxElementArea"
-        hypArea1 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")
-        hypArea1.SetMaxElementArea(area)
+        algoMef = mesh.Triangle()
+        hypArea1 = algoMef.MaxElementArea(area)
         print "Hypothesis type : ", hypArea1.GetName()
         print "Hypothesis ID   : ", hypArea1.GetId()
         print "Hypothesis Value: ", hypArea1.GetMaxElementArea()
               
     
     print "-------------------------- Regular_1D"
-    algoReg = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")
-   
     listHyp = algoReg.GetCompatibleHypothesis()
     for hyp in listHyp:
         print hyp
@@ -95,8 +95,6 @@ def CreateMesh (theFileName, area, len = None, nbseg = None):
     print "Algo ID  : ", algoReg.GetId()
    
     print "-------------------------- MEFISTO_2D"
-    algoMef = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")
-    
     listHyp = algoMef.GetCompatibleHypothesis()
     for hyp in listHyp:
         print hyp
@@ -107,38 +105,8 @@ def CreateMesh (theFileName, area, len = None, nbseg = None):
 
     # ---- add hypothesis to shape
 
-    print "-------------------------- add hypothesis to shape"
-    mesh = smesh.CreateMesh(shape_mesh) 
-
-    ret = mesh.AddHypothesis(shape_mesh, algoReg)
-    print "Add Regular_1D algo .... ", 
-    print ret
-    
-    if (nbseg is not None):
-        ret = mesh.AddHypothesis(shape_mesh, hypNbSeg1)
-        print "Add Number Of Segements algo .... ", 
-        print ret
-
-    if (len is not None):
-        ret = mesh.AddHypothesis(shape_mesh,hypLength1)
-        print "Add  Local Length algo .... ", 
-        print ret
-
-    ret = mesh.AddHypothesis(shape_mesh, algoMef)
-    print "Add MEFISTO_2D algo....", 
-    print ret
-    
-    if (area == "LengthFromEdges"):
-        ret = mesh.AddHypothesis( shape_mesh, hypLengthFromEdges)    # length from edge 
-        print "Add Length From Edges algo .... ",
-        print ret
-    else:
-        ret = mesh.AddHypothesis(shape_mesh, hypArea1)
-        print "Add Max Triangle Area algo .... ", 
-        print ret
-    
     print "-------------------------- compute mesh"
-    ret = smesh.Compute(mesh,shape_mesh)
+    ret = mesh.Compute()
     print  "Compute Mesh .... ", 
     print ret
     log = mesh.GetLog(0); # no erase trace
index 02357b0f4d601a6449bbaa6eebbf5dfcdd4feb39..ec5f5d3980ce2082a7bc23da15bdf32f6f7aadbb 100644 (file)
@@ -23,6 +23,7 @@
 from geompy import *
 
 import smesh
+import geompy
 
 # Geometrie
 # =========
@@ -59,13 +60,30 @@ blocs = [boite]
 
 sphere_troue = MakeCut(sphere_pleine, boite)
 
-sphere_outils = []
-sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0,  1), plan_trim))
-sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim))
-sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1,  0), plan_trim))
-sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1,  0), plan_trim))
+#sphere_outils = []
+#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0,  1), plan_trim))
+#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim))
+#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1,  0), plan_trim))
+#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1,  0), plan_trim))
 
-sphere_decoupee = MakePartition([sphere_troue], sphere_outils, [], [], ShapeType["SOLID"])
+f1 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0,  1), plan_trim)
+f2 = MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1,  0), plan_trim)
+f3 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1,  0), plan_trim)
+f4 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim)
+
+
+#sphere_decoupee = MakePartition(solids, sphere_outils, [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(sphere_troue,geompy.ShapeType["SOLID"])
+sphere_decoupee = MakePartition(solids, [f1], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"])
+sphere_decoupee = MakePartition(solids, [f2], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"])
+sphere_decoupee = MakePartition(solids, [f3], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"])
+sphere_decoupee = MakePartition(solids, [f4], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"])
+
+sphere_partie = geompy.MakeCompound(solids)
 
 sphere_partie   = GetBlockNearPoint(sphere_decoupee, MakeVertex(-sphere_rayon, 0, 0))
 sphere_bloc     = RemoveExtraEdges(sphere_partie)
@@ -90,7 +108,21 @@ blocs.append(MakeMirrorByPoint(sphere_bloc, sphere_centre))
 
 cube_plein   = MakeBox(-cube_cote, -cube_cote, -cube_cote,  +cube_cote, +cube_cote, +cube_cote)
 cube_trou    = MakeCut(cube_plein, sphere_pleine)
-cube_decoupe = MakePartition([cube_trou], sphere_outils, [], [], ShapeType["SOLID"])
+#cube_decoupe = MakePartition([cube_trou], sphere_outils, [], [], ShapeType["SOLID"])
+
+solids = geompy.SubShapeAll(cube_trou,geompy.ShapeType["SOLID"])
+cube_decoupe = MakePartition(solids, [f1], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"])
+cube_decoupe = MakePartition(solids, [f2], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"])
+cube_decoupe = MakePartition(solids, [f3], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"])
+cube_decoupe = MakePartition(solids, [f4], [], [], ShapeType["SOLID"])
+solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"])
+
+cube_decoupe = geompy.MakeCompound(solids)
+
+
 cube_partie  = GetBlockNearPoint(cube_decoupe, MakeVertex(-cube_cote, 0, 0))
 cube_bloc    = RemoveExtraEdges(cube_partie)
 
index 82d0750e5a50b38dc407788a3055f43af67eacf4..a0b09b3da14af178dd5133b07398f8a46f2edd3a 100644 (file)
 
 import salome
 import geompy
-import StdMeshers
+
 import SMESH
+from   SMESH import *
 
+import StdMeshers
 
+# import NETGENPlugin module if possible
+noNETGENPlugin = 0
+try:
+    import NETGENPlugin
+except ImportError:
+    noNETGENPlugin = 1
+    pass
+    
+# Types of algo
 REGULAR = 1
 PYTHON  = 2
 
-NETGEN  = 3
-GHS3D   = 4
+MEFISTO = 3
+NETGEN  = 4
+GHS3D   = 5
+FULL_NETGEN = 6
 
-smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
-smesh.SetCurrentStudy(salome.myStudy)
+# MirrorType enumeration
+POINT = SMESH_MeshEditor.POINT
+AXIS =  SMESH_MeshEditor.AXIS 
+PLANE = SMESH_MeshEditor.PLANE
+
+# Smooth_Method enumeration
+LAPLACIAN_SMOOTH = SMESH_MeshEditor.LAPLACIAN_SMOOTH
+CENTROIDAL_SMOOTH = SMESH_MeshEditor.CENTROIDAL_SMOOTH
+
+# Fineness enumeration(for NETGEN)
+VeryCoarse = 0
+Coarse = 1
+Moderate = 2
+Fine = 3
+VeryFine = 4
+Custom = 5
 
 
 NO_NAME = "NoName"
 
+
+smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")
+smesh.SetCurrentStudy(salome.myStudy)
+
+# Global functions
+
+## Gets object name
 def GetName(obj):
     ior  = salome.orb.object_to_string(obj)
     sobj = salome.myStudy.FindObjectIOR(ior)
@@ -53,13 +87,264 @@ def GetName(obj):
         attr = sobj.FindAttribute("AttributeName")[1]
         return attr.Value()
 
+## Sets name to object
 def SetName(obj, name):
     ior  = salome.orb.object_to_string(obj)
     sobj = salome.myStudy.FindObjectIOR(ior)
     if not sobj is None:
         attr = sobj.FindAttribute("AttributeName")[1]
         attr.SetValue(name)
+        
+## Returns long value from enumeration
+#  Uses for SMESH.FunctorType enumeration
+def EnumToLong(theItem):
+    return theItem._v
+
+## Get PointStruct from vertex
+#  @param theVertex is GEOM object(vertex)
+#  @return SMESH.PointStruct
+def GetPointStruct(theVertex):
+    [x, y, z] = geompy.PointCoordinates(theVertex)
+    return PointStruct(x,y,z)
+
+## Get DirStruct from vector
+#  @param theVector is GEOM object(vector)
+#  @return SMESH.DirStruct
+def GetDirStruct(theVector):
+    vertices = geompy.SubShapeAll( theVector, geompy.ShapeType["VERTEX"] )
+    if(len(vertices) != 2):
+        print "Error: vector object is incorrect."
+        return None
+    p1 = geompy.PointCoordinates(vertices[0])
+    p2 = geompy.PointCoordinates(vertices[1])
+    pnt = PointStruct(p2[0]-p1[0], p2[1]-p1[1], p2[2]-p1[2])
+    dir = DirStruct(pnt)
+    return dir
+
+## Get AxisStruct from object
+#  @param theObj is GEOM object(line or plane)
+#  @return SMESH.AxisStruct
+def GetAxisStruct(theObj):
+    edges = geompy.SubShapeAll( theObj, geompy.ShapeType["EDGE"] )
+    if len(edges) > 1:
+        vertex1, vertex2 = geompy.SubShapeAll( edges[0], geompy.ShapeType["VERTEX"] )
+        vertex3, vertex4 = geompy.SubShapeAll( edges[1], geompy.ShapeType["VERTEX"] )
+        vertex1 = geompy.PointCoordinates(vertex1)
+        vertex2 = geompy.PointCoordinates(vertex2)
+        vertex3 = geompy.PointCoordinates(vertex3)
+        vertex4 = geompy.PointCoordinates(vertex4)
+        v1 = [vertex2[0]-vertex1[0], vertex2[1]-vertex1[1], vertex2[2]-vertex1[2]]
+        v2 = [vertex4[0]-vertex3[0], vertex4[1]-vertex3[1], vertex4[2]-vertex3[2]]
+        normal = [ v1[1]*v2[2]-v2[1]*v1[2], v1[2]*v2[0]-v2[2]*v1[0], v1[0]*v2[1]-v2[0]*v1[1] ]
+        axis = AxisStruct(vertex1[0], vertex1[1], vertex1[2], normal[0], normal[1], normal[2])
+        return axis
+    elif len(edges) == 1:
+        vertex1, vertex2 = geompy.SubShapeAll( edges[0], geompy.ShapeType["VERTEX"] )
+        p1 = geompy.PointCoordinates( vertex1 )
+        p2 = geompy.PointCoordinates( vertex2 )
+        axis = AxisStruct(p1[0], p1[1], p1[2], p2[0]-p1[0], p2[1]-p1[1], p2[2]-p1[2])
+        return axis
+    return None
+
+# From SMESH_Gen interface:
+# ------------------------
+
+## Set the current mode
+def SetEmbeddedMode( theMode ):
+    smesh.SetEmbeddedMode(theMode)
+
+## Get the current mode
+def IsEmbeddedMode():
+    return smesh.IsEmbeddedMode()
+
+## Set the current study
+def SetCurrentStudy( theStudy ):
+    smesh.SetCurrentStudy(theStudy)
+
+## Get the current study
+def GetCurrentStudy():
+    return smesh.GetCurrentStudy()
+
+## Create Mesh object importing data from given UNV file
+#  @return an instance of Mesh class
+def CreateMeshesFromUNV( theFileName ):
+    aSmeshMesh = smesh.CreateMeshesFromUNV(theFileName)
+    aMesh = Mesh(aSmeshMesh)
+    return aMesh
+
+## Create Mesh object(s) importing data from given MED file
+#  @return a list of Mesh class instances
+def CreateMeshesFromMED( theFileName ):
+    aSmeshMeshes, aStatus = smesh.CreateMeshesFromMED(theFileName)
+    aMeshes = []
+    for iMesh in range(len(aSmeshMeshes)) :
+        aMesh = Mesh(aSmeshMeshes[iMesh])
+        aMeshes.append(aMesh)
+    return aMeshes, aStatus
+
+## Create Mesh object importing data from given STL file
+#  @return an instance of Mesh class
+def CreateMeshesFromSTL( theFileName ):
+    aSmeshMesh = smesh.CreateMeshesFromSTL(theFileName)
+    aMesh = Mesh(aSmeshMesh)
+    return aMesh
+
+## From SMESH_Gen interface
+def GetSubShapesId( theMainObject, theListOfSubObjects ):
+    return smesh.GetSubShapesId(theMainObject, theListOfSubObjects)
+
+## From SMESH_Gen interface. Creates pattern
+def GetPattern():
+    return smesh.GetPattern()
+
+
+
+# Filtering. Auxiliary functions:
+# ------------------------------
+
+## Creates an empty criterion
+#  @return SMESH.Filter.Criterion
+def GetEmptyCriterion():
+    Type = EnumToLong(FT_Undefined)
+    Compare = EnumToLong(FT_Undefined)
+    Threshold = 0
+    ThresholdStr = ""
+    ThresholdID = ""
+    UnaryOp = EnumToLong(FT_Undefined)
+    BinaryOp = EnumToLong(FT_Undefined)
+    Tolerance = 1e-07
+    TypeOfElement = ALL
+    Precision = -1 ##@1e-07
+    return Filter.Criterion(Type, Compare, Threshold, ThresholdStr, ThresholdID,
+                            UnaryOp, BinaryOp, Tolerance, TypeOfElement, Precision)
+      
+## Creates a criterion by given parameters
+#  @param elementType is the type of elements(NODE, EDGE, FACE, VOLUME)
+#  @param CritType is type of criterion( FT_Taper, FT_Area, FT_RangeOfIds, FT_LyingOnGeom etc. )
+#  @param Compare belong to {FT_LessThan, FT_MoreThan, FT_EqualTo}
+#  @param Treshold is threshold value (range of ids as string, shape, numeric)
+#  @param UnaryOp is FT_LogicalNOT or FT_Undefined
+#  @param BinaryOp is binary logical operation FT_LogicalAND, FT_LogicalOR or
+#                  FT_Undefined(must be for the last criterion in criteria)
+#  @return SMESH.Filter.Criterion
+def GetCriterion(elementType,
+                 CritType,
+                 Compare = FT_EqualTo,
+                 Treshold="",
+                 UnaryOp=FT_Undefined,
+                 BinaryOp=FT_Undefined):
+    aCriterion = GetEmptyCriterion()
+    aCriterion.TypeOfElement = elementType
+    aCriterion.Type = EnumToLong(CritType)
+        
+    aTreshold = Treshold
+        
+    if Compare in [FT_LessThan, FT_MoreThan, FT_EqualTo]:
+        aCriterion.Compare = EnumToLong(Compare)
+    else:
+        aCriterion.Compare = EnumToLong(FT_EqualTo)
+        aTreshold = Compare
+
+    if CritType in [FT_BelongToGeom,     FT_BelongToPlane,
+                    FT_BelongToCylinder, FT_LyingOnGeom]:
+        # Check treshold
+        if isinstance(aTreshold, geompy.GEOM._objref_GEOM_Object):
+            aCriterion.ThresholdStr = GetName(aTreshold)
+            aCriterion.ThresholdID = salome.ObjectToID(aTreshold)
+        else:
+            print "Error: Treshold should be a shape."
+            return None
+    elif CritType == FT_RangeOfIds:
+        # Check treshold
+        if isinstance(aTreshold, str):
+            aCriterion.ThresholdStr = aTreshold
+        else:
+            print "Error: Treshold should be a string."
+            return None
+    elif CritType in [FT_FreeBorders, FT_FreeEdges, FT_BadOrientedVolume]:
+        # Here we don't need treshold
+        if aTreshold ==  FT_LogicalNOT:
+            aCriterion.UnaryOp = EnumToLong(FT_LogicalNOT)
+        elif aTreshold in [FT_LogicalAND, FT_LogicalOR]:
+            aCriterion.BinaryOp = aTreshold
+    else:
+        # Check treshold
+        try:
+            aTreshold = float(aTreshold)
+            aCriterion.Threshold = aTreshold
+        except:
+            print "Error: Treshold should be a number."
+            return None
+
+    if Treshold ==  FT_LogicalNOT or UnaryOp ==  FT_LogicalNOT:
+        aCriterion.UnaryOp = EnumToLong(FT_LogicalNOT)
+
+    if Treshold in [FT_LogicalAND, FT_LogicalOR]:
+        aCriterion.BinaryOp = EnumToLong(Treshold)
+
+    if UnaryOp in [FT_LogicalAND, FT_LogicalOR]:
+        aCriterion.BinaryOp = EnumToLong(UnaryOp)
+
+    if BinaryOp in [FT_LogicalAND, FT_LogicalOR]:
+        aCriterion.BinaryOp = EnumToLong(BinaryOp)
+
+    return aCriterion
+
+## Creates filter by given parameters of criterion
+#  @param elementType is the type of elements in the group
+#  @param CritType is type of criterion( FT_Taper, FT_Area, FT_RangeOfIds, FT_LyingOnGeom etc. )
+#  @param Compare belong to {FT_LessThan, FT_MoreThan, FT_EqualTo}
+#  @param Treshold is threshold value (range of id ids as string, shape, numeric)
+#  @param UnaryOp is FT_LogicalNOT or FT_Undefined
+#  @return SMESH_Filter
+def GetFilter(elementType,
+              CritType=FT_Undefined,
+              Compare=FT_EqualTo,
+              Treshold="",
+              UnaryOp=FT_Undefined):
+    aCriterion = GetCriterion(elementType, CritType, Compare, Treshold, UnaryOp, FT_Undefined)
+    aFilterMgr = smesh.CreateFilterManager()
+    aFilter = aFilterMgr.CreateFilter()
+    aCriteria = []
+    aCriteria.append(aCriterion)
+    aFilter.SetCriteria(aCriteria)
+    return aFilter
+
+## Creates numerical functor by its type
+#  @param theCrierion is FT_...; functor type
+#  @return SMESH_NumericalFunctor
+def GetFunctor(theCriterion):
+    aFilterMgr = smesh.CreateFilterManager()
+    if theCriterion == FT_AspectRatio:
+        return aFilterMgr.CreateAspectRatio()
+    elif theCriterion == FT_AspectRatio3D:
+        return aFilterMgr.CreateAspectRatio3D()
+    elif theCriterion == FT_Warping:
+        return aFilterMgr.CreateWarping()
+    elif theCriterion == FT_MinimumAngle:
+        return aFilterMgr.CreateMinimumAngle()
+    elif theCriterion == FT_Taper:
+        return aFilterMgr.CreateTaper()
+    elif theCriterion == FT_Skew:
+        return aFilterMgr.CreateSkew()
+    elif theCriterion == FT_Area:
+        return aFilterMgr.CreateArea()
+    elif theCriterion == FT_Volume3D:
+        return aFilterMgr.CreateVolume3D()
+    elif theCriterion == FT_MultiConnection:
+        return aFilterMgr.CreateMultiConnection()
+    elif theCriterion == FT_MultiConnection2D:
+        return aFilterMgr.CreateMultiConnection2D()
+    elif theCriterion == FT_Length:
+        return aFilterMgr.CreateLength()
+    elif theCriterion == FT_Length2D:
+        return aFilterMgr.CreateLength2D()
+    else:
+        print "Error: given parameter is not numerucal functor type."
+
 
+    
+    
 ## Mother class to define algorithm, recommended to don't use directly.
 #
 #  More details.
@@ -72,10 +357,8 @@ class Mesh_Algorithm:
     subm = 0
     algo = 0
 
-    ## If the algorithm is global, return 0
-    #  \fn else return the submesh associated to this algorithm.
-    #
-    #  More details.
+    ## If the algorithm is global, return 0; \n
+    #  else return the submesh associated to this algorithm.
     def GetSubMesh(self):
         return self.subm
 
@@ -83,36 +366,57 @@ class Mesh_Algorithm:
     def GetAlgorithm(self):
         return self.algo
 
+    ## Get list of hypothesis that can be used with this algorithm
+    def GetCompatibleHypothesis(self):
+        list = []
+        if self.algo:
+            list = self.algo.GetCompatibleHypothesis()
+        return list
+
+    ## Get name of algo
+    def GetName(self):
+        GetName(self.algo)
+
+    ## Set name to algo
+    def SetName(self, name):
+        SetName(self.algo, name)
+
+    ## Get id of algo
+    def GetId(self):
+        return self.algo.GetId()
+    
     ## Private method. Print error message if a hypothesis was not assigned.
     def TreatHypoStatus(self, status, hypName, geomName, isAlgo):
         if isAlgo:
             hypType = "algorithm"
         else:
             hypType = "hypothesis"
-        if status == SMESH.HYP_UNKNOWN_FATAL :
+        if status == HYP_UNKNOWN_FATAL :
             reason = "for unknown reason"
-        elif status == SMESH.HYP_INCOMPATIBLE :
+        elif status == HYP_INCOMPATIBLE :
             reason = "this hypothesis mismatches algorithm"
-        elif status == SMESH.HYP_NOTCONFORM :
+        elif status == HYP_NOTCONFORM :
             reason = "not conform mesh would be built"
-        elif status == SMESH.HYP_ALREADY_EXIST :
+        elif status == HYP_ALREADY_EXIST :
             reason = hypType + " of the same dimension already assigned to this shape"
-        elif status == SMESH.HYP_BAD_DIM :
+        elif status == HYP_BAD_DIM :
             reason = hypType + " mismatches shape"
-        elif status == SMESH.HYP_CONCURENT :
+        elif status == HYP_CONCURENT :
             reason = "there are concurrent hypotheses on sub-shapes"
-        elif status == SMESH.HYP_BAD_SUBSHAPE :
+        elif status == HYP_BAD_SUBSHAPE :
             reason = "shape is neither the main one, nor its subshape, nor a valid group"
+        elif status == HYP_BAD_GEOMETRY:
+            reason = "geometry mismatches algorithm's expectation"
         else:
             return
         hypName = '"' + hypName + '"'
         geomName= '"' + geomName+ '"'
-        if status < SMESH.HYP_UNKNOWN_FATAL:
+        if status < HYP_UNKNOWN_FATAL:
             print hypName, "was assigned to",    geomName,"but", reason
         else:
             print hypName, "was not assigned to",geomName,":", reason
         pass
-
+        
     ## Private method.
     def Create(self, mesh, geom, hypo, so="libStdMeshersEngine.so"):
         if geom is None:
@@ -134,7 +438,7 @@ class Mesh_Algorithm:
         SetName(self.algo, name + "/" + hypo)
         status = mesh.mesh.AddHypothesis(self.geom, self.algo)
         self.TreatHypoStatus( status, hypo, name, 1 )
-
+        
     ## Private method
     def Hypothesis(self, hyp, args=[], so="libStdMeshersEngine.so"):
         hypo = smesh.CreateHypothesis(hyp, so)
@@ -152,6 +456,7 @@ class Mesh_Algorithm:
         self.TreatHypoStatus( status, hyp, name, 0 )
         return hypo
 
+
 # Public class: Mesh_Segment
 # --------------------------
 
@@ -163,14 +468,14 @@ class Mesh_Segment(Mesh_Algorithm):
     ## Private constructor.
     def __init__(self, mesh, geom=0):
         self.Create(mesh, geom, "Regular_1D")
-
+        
     ## Define "LocalLength" hypothesis to cut an edge in several segments with the same length
     #  @param l for the length of segments that cut an edge
     def LocalLength(self, l):
         hyp = self.Hypothesis("LocalLength", [l])
         hyp.SetLength(l)
         return hyp
-
+        
     ## Define "NumberOfSegments" hypothesis to cut an edge in several fixed number of segments
     #  @param n for the number of segments that cut an edge
     #  @param s for the scale factor (optional)
@@ -183,7 +488,7 @@ class Mesh_Segment(Mesh_Algorithm):
             hyp.SetScaleFactor(s)
         hyp.SetNumberOfSegments(n)
         return hyp
-
+        
     ## Define "Arithmetic1D" hypothesis to cut an edge in several segments with arithmetic length increasing
     #  @param start for the length of the first segment
     #  @param end   for the length of the last  segment
@@ -192,7 +497,7 @@ class Mesh_Segment(Mesh_Algorithm):
         hyp.SetLength(start, 1)
         hyp.SetLength(end  , 0)
         return hyp
-
+        
     ## Define "StartEndLength" hypothesis to cut an edge in several segments with geometric length increasing
     #  @param start for the length of the first segment
     #  @param end   for the length of the last  segment
@@ -201,14 +506,14 @@ class Mesh_Segment(Mesh_Algorithm):
         hyp.SetLength(start, 1)
         hyp.SetLength(end  , 0)
         return hyp
-
+        
     ## Define "Deflection1D" hypothesis
     #  @param d for the deflection
     def Deflection1D(self, d):
         hyp = self.Hypothesis("Deflection1D", [d])
         hyp.SetDeflection(d)
         return hyp
-
+        
     ## Define "Propagation" hypothesis that propagate all other hypothesis on all others edges that are in
     #  the opposite side in the case of quadrangular faces
     def Propagation(self):
@@ -243,7 +548,7 @@ class Mesh_Segment_Python(Mesh_Segment):
     def __init__(self, mesh, geom=0):
         import Python1dPlugin
         self.Create(mesh, geom, "Python_1D", "libPython1dEngine.so")
-
+    
     ## Define "PythonSplit1D" hypothesis based on the Erwan Adam patch, awaiting equivalent SALOME functionality
     #  @param n for the number of segments that cut an edge
     #  @param func for the python function that calculate the length of all segments
@@ -252,7 +557,7 @@ class Mesh_Segment_Python(Mesh_Segment):
         hyp.SetNumberOfSegments(n)
         hyp.SetPythonLog10RatioFunction(func)
         return hyp
-
+        
 # Public class: Mesh_Triangle
 # ---------------------------
 
@@ -261,21 +566,99 @@ class Mesh_Segment_Python(Mesh_Segment):
 #  More details.
 class Mesh_Triangle(Mesh_Algorithm):
 
+    algoType = 0
+    params = 0
+   
     ## Private constructor.
-    def __init__(self, mesh, geom=0):
-        self.Create(mesh, geom, "MEFISTO_2D")
+    def __init__(self, mesh, algoType, geom=0):
+        if algoType == MEFISTO:
+            self.Create(mesh, geom, "MEFISTO_2D")
+        elif algoType == NETGEN:
+            if noNETGENPlugin:
+                print "Warning: NETGENPlugin module has not been imported."
+            self.Create(mesh, geom, "NETGEN_2D", "libNETGENEngine.so")
+        self.algoType = algoType
 
     ## Define "MaxElementArea" hypothesis to give the maximun area of each triangles
     #  @param area for the maximum area of each triangles
     def MaxElementArea(self, area):
-        hyp = self.Hypothesis("MaxElementArea", [area])
-        hyp.SetMaxElementArea(area)
-        return hyp
-
+        if self.algoType == MEFISTO:
+            hyp = self.Hypothesis("MaxElementArea", [area])
+            hyp.SetMaxElementArea(area)
+            return hyp
+        elif self.algoType == NETGEN:
+            print "Netgen 1D-2D algo doesn't support this hypothesis"
+            return None
+            
     ## Define "LengthFromEdges" hypothesis to build triangles based on the length of the edges taken from the wire
     def LengthFromEdges(self):
-        return self.Hypothesis("LengthFromEdges")
-
+        if self.algoType == MEFISTO:
+            hyp = self.Hypothesis("LengthFromEdges")
+            return hyp
+        elif self.algoType == NETGEN:
+            print "Netgen 1D-2D algo doesn't support this hypothesis"
+            return None
+        
+    ## Define "Netgen 2D Parameters" hypothesis
+    def Parameters(self):
+        if self.algoType == NETGEN:
+            self.params = self.Hypothesis("NETGEN_Parameters_2D", [], "libNETGENEngine.so")
+            return self.params
+        elif self.algoType == MEFISTO:
+            print "Mefisto algo doesn't support this hypothesis"
+            return None
+
+    ## Set MaxSize
+    def SetMaxSize(self, theSize):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetMaxSize(theSize)
+        
+    ## Set SecondOrder flag
+    def SetSecondOrder(seld, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetSecondOrder(theVal)
+
+    ## Set Optimize flag
+    def SetOptimize(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetOptimize(theVal)
+
+    ## Set Fineness
+    #  @param theFineness is:
+    #  VeryCoarse, Coarse, Moderate, Fine, VeryFine or Custom
+    def SetFineness(self, theFineness):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetFineness(theFineness)
+        
+    ## Set GrowthRate  
+    def SetGrowthRate(self, theRate):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetGrowthRate(theRate)
+
+    ## Set NbSegPerEdge
+    def SetNbSegPerEdge(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetNbSegPerEdge(theVal)
+
+    ## Set NbSegPerRadius
+    def SetNbSegPerRadius(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetNbSegPerRadius(theVal)
+
+    ## Set QuadAllowed flag
+    def SetQuadAllowed(self, toAllow):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetQuadAllowed(toAllow)
+        
+    
 # Public class: Mesh_Quadrangle
 # -----------------------------
 
@@ -287,14 +670,14 @@ class Mesh_Quadrangle(Mesh_Algorithm):
     ## Private constructor.
     def __init__(self, mesh, geom=0):
         self.Create(mesh, geom, "Quadrangle_2D")
-
+    
     ## Define "QuadranglePreference" hypothesis, forcing construction
     #  of quadrangles if the number of nodes on opposite edges is not the same
     #  in the case where the global number of nodes on edges is even
     def QuadranglePreference(self):
         hyp = self.Hypothesis("QuadranglePreference")
         return hyp
-
+    
 # Public class: Mesh_Tetrahedron
 # ------------------------------
 
@@ -303,13 +686,21 @@ class Mesh_Quadrangle(Mesh_Algorithm):
 #  More details.
 class Mesh_Tetrahedron(Mesh_Algorithm):
 
+    params = 0
+    algoType = 0
+
     ## Private constructor.
-    def __init__(self, mesh, algo, geom=0):
-        if algo == NETGEN:
+    def __init__(self, mesh, algoType, geom=0):
+        if algoType == NETGEN:
             self.Create(mesh, geom, "NETGEN_3D", "libNETGENEngine.so")
-        elif algo == GHS3D:
+        elif algoType == GHS3D:
             import GHS3DPlugin
             self.Create(mesh, geom, "GHS3D_3D" , "libGHS3DEngine.so")
+        elif algoType == FULL_NETGEN:
+            if noNETGENPlugin:
+                print "Warning: NETGENPlugin module has not been imported."
+            self.Create(mesh, geom, "NETGEN_2D3D", "libNETGENEngine.so")
+        self.algoType = algoType
 
     ## Define "MaxElementVolume" hypothesis to give the maximun volume of each tetrahedral
     #  @param vol for the maximum volume of each tetrahedral
@@ -318,6 +709,59 @@ class Mesh_Tetrahedron(Mesh_Algorithm):
         hyp.SetMaxElementVolume(vol)
         return hyp
 
+    ## Define "Netgen 3D Parameters" hypothesis
+    def Parameters(self):
+        if (self.algoType == FULL_NETGEN):
+            self.params = self.Hypothesis("NETGEN_Parameters", [], "libNETGENEngine.so")
+            return self.params
+        else:
+            print "Algo doesn't support this hypothesis"
+            return None 
+            
+    ## Set MaxSize
+    def SetMaxSize(self, theSize):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetMaxSize(theSize)
+        
+    ## Set SecondOrder flag
+    def SetSecondOrder(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetSecondOrder(theVal)
+
+    ## Set Optimize flag
+    def SetOptimize(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetOptimize(theVal)
+
+    ## Set Fineness
+    #  @param theFineness is:
+    #  VeryCoarse, Coarse, Moderate, Fine, VeryFine or Custom
+    def SetFineness(self, theFineness):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetFineness(theFineness)
+        
+    ## Set GrowthRate  
+    def SetGrowthRate(self, theRate):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetGrowthRate(theRate)
+
+    ## Set NbSegPerEdge
+    def SetNbSegPerEdge(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetNbSegPerEdge(theVal)
+
+    ## Set NbSegPerRadius
+    def SetNbSegPerRadius(self, theVal):
+        if self.params == 0:
+            self.Parameters()
+        self.params.SetNbSegPerRadius(theVal)
+
 # Public class: Mesh_Hexahedron
 # ------------------------------
 
@@ -330,12 +774,15 @@ class Mesh_Hexahedron(Mesh_Algorithm):
     def __init__(self, mesh, geom=0):
         self.Create(mesh, geom, "Hexa_3D")
 
+# Deprecated, only for compatibility!
 # Public class: Mesh_Netgen
 # ------------------------------
 
 ## Class to define a NETGEN-based 2D or 3D algorithm
 #  that need no discrete boundary (i.e. independent)
 #
+#  This class is deprecated, only for compatibility!
+#
 #  More details.
 class Mesh_Netgen(Mesh_Algorithm):
 
@@ -343,6 +790,9 @@ class Mesh_Netgen(Mesh_Algorithm):
 
     ## Private constructor.
     def __init__(self, mesh, is3D, geom=0):
+        if noNETGENPlugin:
+            print "Warning: NETGENPlugin module has not been imported."
+            
         self.is3D = is3D
         if is3D:
             self.Create(mesh, geom, "NETGEN_2D3D", "libNETGENEngine.so")
@@ -357,39 +807,305 @@ class Mesh_Netgen(Mesh_Algorithm):
             hyp = self.Hypothesis("NETGEN_Parameters_2D", [], "libNETGENEngine.so")
         return hyp
 
+# Public class: Mesh_Projection1D
+# ------------------------------
+
+## Class to define a projection 1D algorithm
+#
+#  More details.
+class Mesh_Projection1D(Mesh_Algorithm):
+
+    ## Private constructor.
+    def __init__(self, mesh, geom=0):
+        self.Create(mesh, geom, "Projection_1D")
+
+    ## Define "Source Edge" hypothesis, specifying a meshed edge to
+    #  take a mesh pattern from, and optionally association of vertices
+    #  between the source edge and a target one (where a hipothesis is assigned to)
+    #  @param edge to take nodes distribution from
+    #  @param mesh to take nodes distribution from (optional)
+    #  @param srcV is vertex of \a edge to associate with \a tgtV (optional)
+    #  @param tgtV is vertex of \a the edge where the algorithm is assigned,
+    #  to associate with \a srcV (optional)
+    def SourceEdge(self, edge, mesh=None, srcV=None, tgtV=None):
+        hyp = self.Hypothesis("ProjectionSource1D")
+        hyp.SetSourceEdge( edge )
+        if not mesh is None and isinstance(mesh, Mesh):
+            mesh = mesh.GetMesh()
+        hyp.SetSourceMesh( mesh )
+        hyp.SetVertexAssociation( srcV, tgtV )
+        return hyp
+
+
+# Public class: Mesh_Projection2D
+# ------------------------------
+
+## Class to define a projection 2D algorithm
+#
+#  More details.
+class Mesh_Projection2D(Mesh_Algorithm):
+
+    ## Private constructor.
+    def __init__(self, mesh, geom=0):
+        self.Create(mesh, geom, "Projection_2D")
+
+    ## Define "Source Face" hypothesis, specifying a meshed face to
+    #  take a mesh pattern from, and optionally association of vertices
+    #  between the source face and a target one (where a hipothesis is assigned to)
+    #  @param face to take mesh pattern from
+    #  @param mesh to take mesh pattern from (optional)
+    #  @param srcV1 is vertex of \a face to associate with \a tgtV1 (optional)
+    #  @param tgtV1 is vertex of \a the face where the algorithm is assigned,
+    #  to associate with \a srcV1 (optional)
+    #  @param srcV2 is vertex of \a face to associate with \a tgtV1 (optional)
+    #  @param tgtV2 is vertex of \a the face where the algorithm is assigned,
+    #  to associate with \a srcV2 (optional)
+    #
+    #  Note: association vertices must belong to one edge of a face
+    def SourceFace(self, face, mesh=None, srcV1=None, tgtV1=None, srcV2=None, tgtV2=None):
+        hyp = self.Hypothesis("ProjectionSource2D")
+        hyp.SetSourceFace( face )
+        if not mesh is None and isinstance(mesh, Mesh):
+            mesh = mesh.GetMesh()
+        hyp.SetSourceMesh( mesh )
+        hyp.SetVertexAssociation( srcV1, srcV2, tgtV1, tgtV2 )
+        return hyp
+
+# Public class: Mesh_Projection3D
+# ------------------------------
+
+## Class to define a projection 3D algorithm
+#
+#  More details.
+class Mesh_Projection3D(Mesh_Algorithm):
+
+    ## Private constructor.
+    def __init__(self, mesh, geom=0):
+        self.Create(mesh, geom, "Projection_3D")
+
+    ## Define "Source Shape 3D" hypothesis, specifying a meshed solid to
+    #  take a mesh pattern from, and optionally association of vertices
+    #  between the source solid and a target one (where a hipothesis is assigned to)
+    #  @param solid to take mesh pattern from
+    #  @param mesh to take mesh pattern from (optional)
+    #  @param srcV1 is vertex of \a solid to associate with \a tgtV1 (optional)
+    #  @param tgtV1 is vertex of \a the solid where the algorithm is assigned,
+    #  to associate with \a srcV1 (optional)
+    #  @param srcV2 is vertex of \a solid to associate with \a tgtV1 (optional)
+    #  @param tgtV2 is vertex of \a the solid where the algorithm is assigned,
+    #  to associate with \a srcV2 (optional)
+    #
+    #  Note: association vertices must belong to one edge of a solid
+    def SourceShape3D(self, solid, mesh=0, srcV1=0, tgtV1=0, srcV2=0, tgtV2=0):
+        hyp = self.Hypothesis("ProjectionSource3D")
+        hyp.SetSource3DShape( solid )
+        if not mesh is None and isinstance(mesh, Mesh):
+            mesh = mesh.GetMesh()
+        hyp.SetSourceMesh( mesh )
+        hyp.SetVertexAssociation( srcV1, srcV2, tgtV1, tgtV2 )
+        return hyp
+
+
+# Public class: Mesh_Prism
+# ------------------------
+
+## Class to define a Prism 3D algorithm
+#
+#  More details.
+class Mesh_Prism3D(Mesh_Algorithm):
+
+    ## Private constructor.
+    def __init__(self, mesh, geom=0):
+        self.Create(mesh, geom, "Prism_3D")
+
+# Public class: Mesh_RadialPrism
+# -------------------------------
+
+## Class to define a Radial Prism 3D algorithm
+#
+#  More details.
+class Mesh_RadialPrism3D(Mesh_Algorithm):
+
+    ## Private constructor.
+    def __init__(self, mesh, geom=0):
+        self.Create(mesh, geom, "RadialPrism_3D")
+        self.distribHyp = self.Hypothesis( "LayerDistribution" )
+        self.nbLayers = None
+
+    ## Return 3D hypothesis holding the 1D one
+    def Get3DHypothesis(self):
+        return self.distribHyp
+
+    ## Private method creating 1D hypothes and storing it in the LayerDistribution
+    #  hypothes. Returns the created hypothes
+    def OwnHypothesis(self, hypType, args=[], so="libStdMeshersEngine.so"):
+        if not self.nbLayers is None:
+            self.mesh.GetMesh().RemoveHypothesis( self.geom, self.nbLayers )
+            self.mesh.GetMesh().AddHypothesis( self.geom, self.distribHyp )
+        study = GetCurrentStudy() # prevent publishing of own 1D hypothesis
+        hyp = smesh.CreateHypothesis(hypType, so)
+        SetCurrentStudy( study ) # anable publishing
+        self.distribHyp.SetLayerDistribution( hyp )
+        return hyp
+
+    ## Define "NumberOfLayers" hypothesis, specifying a number of layers of
+    #  prisms to build between the inner and outer shells
+    def NumberOfLayers(self, n ):
+        self.mesh.GetMesh().RemoveHypothesis( self.geom, self.distribHyp )
+        self.nbLayers = self.Hypothesis("NumberOfLayers")
+        self.nbLayers.SetNumberOfLayers( n )
+        return self.nbLayers
+
+    ## Define "LocalLength" hypothesis, specifying segment length
+    #  to build between the inner and outer shells
+    #  @param l for the length of segments
+    def LocalLength(self, l):
+        hyp = self.OwnHypothesis("LocalLength", [l])
+        hyp.SetLength(l)
+        return hyp
+        
+    ## Define "NumberOfSegments" hypothesis, specifying a number of layers of
+    #  prisms to build between the inner and outer shells
+    #  @param n for the number of segments
+    #  @param s for the scale factor (optional)
+    def NumberOfSegments(self, n, s=[]):
+        if s == []:
+            hyp = self.OwnHypothesis("NumberOfSegments", [n])
+        else:
+            hyp = self.OwnHypothesis("NumberOfSegments", [n,s])
+            hyp.SetDistrType( 1 )
+            hyp.SetScaleFactor(s)
+        hyp.SetNumberOfSegments(n)
+        return hyp
+        
+    ## Define "Arithmetic1D" hypothesis, specifying distribution of segments
+    #  to build between the inner and outer shells as arithmetic length increasing
+    #  @param start for the length of the first segment
+    #  @param end   for the length of the last  segment
+    def Arithmetic1D(self, start, end):
+        hyp = self.OwnHypothesis("Arithmetic1D", [start, end])
+        hyp.SetLength(start, 1)
+        hyp.SetLength(end  , 0)
+        return hyp
+        
+    ## Define "StartEndLength" hypothesis, specifying distribution of segments
+    #  to build between the inner and outer shells as geometric length increasing
+    #  @param start for the length of the first segment
+    #  @param end   for the length of the last  segment
+    def StartEndLength(self, start, end):
+        hyp = self.OwnHypothesis("StartEndLength", [start, end])
+        hyp.SetLength(start, 1)
+        hyp.SetLength(end  , 0)
+        return hyp
+        
+    ## Define "AutomaticLength" hypothesis, specifying number of segments
+    #  to build between the inner and outer shells
+    #  @param fineness for the fineness [0-1]
+    def AutomaticLength(self, fineness=0):
+        hyp = self.OwnHypothesis("AutomaticLength")
+        hyp.SetFineness( fineness )
+        return hyp
+
+
 # Public class: Mesh
 # ==================
 
 ## Class to define a mesh
 #
+#  The class contains mesh shape, SMESH_Mesh, SMESH_MeshEditor
 #  More details.
 class Mesh:
 
     geom = 0
     mesh = 0
+    editor = 0
 
     ## Constructor
     #
-    #  Creates mesh on the shape \a geom,
+    #  Creates mesh on the shape \a geom(or the empty mesh if geom equal to 0),
     #  sets GUI name of this mesh to \a name.
-    #  @param geom Shape to be meshed
+    #  @param obj Shape to be meshed or SMESH_Mesh object
     #  @param name Study name of the mesh
-    def __init__(self, geom, name=0):
-        self.geom = geom
-        self.mesh = smesh.CreateMesh(geom)
-        if name == 0:
-            SetName(self.mesh, GetName(geom))
+    def __init__(self, obj=0, name=0):
+        if obj is None:
+            obj = 0
+        if obj != 0:
+            if isinstance(obj, geompy.GEOM._objref_GEOM_Object):
+                self.geom = obj
+                self.mesh = smesh.CreateMesh(self.geom)
+            elif isinstance(obj, SMESH._objref_SMESH_Mesh):
+                self.SetMesh(obj)
         else:
+            self.mesh = smesh.CreateEmptyMesh()
+        if name != 0:
             SetName(self.mesh, name)
+        elif obj != 0:
+            SetName(self.mesh, GetName(obj))
+
+        self.editor = self.mesh.GetMeshEditor()
 
+    ## Method that inits the Mesh object from SMESH_Mesh interface
+    #  @param theMesh is SMESH_Mesh object
+    def SetMesh(self, theMesh):
+        self.mesh = theMesh
+        self.geom = self.mesh.GetShapeToMesh()
+            
     ## Method that returns the mesh
+    #  @return SMESH_Mesh object
     def GetMesh(self):
         return self.mesh
 
+    ## Get mesh name
+    def GetName(self):
+        name = GetName(self.GetMesh())
+        return name
+
+    ## Set name to mesh
+    def SetName(self, name):
+        SetName(self.GetMesh(), name)
+    
+    ## Get the subMesh object associated to a subShape. The subMesh object
+    #  gives access to nodes and elements IDs.
+    #  \n SubMesh will be used instead of SubShape in a next idl version to
+    #  adress a specific subMesh...
+    def GetSubMesh(self, theSubObject, name):
+        submesh = self.mesh.GetSubMesh(theSubObject, name)
+        return submesh
+        
     ## Method that returns the shape associated to the mesh
+    #  @return GEOM_Object
     def GetShape(self):
         return self.geom
 
+    ## Method that associates given shape to the mesh(entails the mesh recreation)
+    #  @param geom shape to be meshed(GEOM_Object)
+    def SetShape(self, geom):
+        self.mesh = smesh.CreateMesh(geom)  
+                
+    ## Return true if hypotheses are defined well
+    #  @param theMesh is an instance of Mesh class
+    #  @param theSubObject subshape of a mesh shape
+    def IsReadyToCompute(self, theSubObject):
+        return smesh.IsReadyToCompute(self.mesh, theSubObject)
+
+    ## Return errors of hypotheses definintion
+    #  error list is empty if everything is OK
+    #  @param theMesh is an instance of Mesh class
+    #  @param theSubObject subshape of a mesh shape
+    #  @return a list of errors
+    def GetAlgoState(self, theSubObject):
+        return smesh.GetAlgoState(self.mesh, theSubObject)
+    
+    ## Return geometrical object the given element is built on.
+    #  The returned geometrical object, if not nil, is either found in the 
+    #  study or is published by this method with the given name
+    #  @param theMesh is an instance of Mesh class
+    #  @param theElementID an id of the mesh element
+    #  @param theGeomName user defined name of geometrical object
+    #  @return GEOM::GEOM_Object instance
+    def GetGeometryByMeshElement(self, theElementID, theGeomName):
+        return smesh.GetGeometryByMeshElement( self.mesh, theElementID, theGeomName )
+        
     ## Returns mesh dimension depending on shape one
     def MeshDimension(self):
         shells = geompy.SubShapeAllIDs( self.geom, geompy.ShapeType["SHELL"] )
@@ -402,11 +1118,11 @@ class Mesh:
         else:
             return 0;
         pass
-
+        
     ## Creates a segment discretization 1D algorithm.
     #  If the optional \a algo parameter is not sets, this algorithm is REGULAR.
     #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  \n Otherwise, this algorithm define a submesh based on \a geom subshape.
     #  @param algo values are smesh.REGULAR or smesh.PYTHON for discretization via python function
     #  @param geom If defined, subshape to be meshed
     def Segment(self, algo=REGULAR, geom=0):
@@ -420,17 +1136,23 @@ class Mesh:
             return Mesh_Segment_Python(self, geom)
         else:
             return Mesh_Segment(self, geom)
-
+        
     ## Creates a triangle 2D algorithm for faces.
     #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  \n Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param algo values are: smesh.MEFISTO or smesh.NETGEN
     #  @param geom If defined, subshape to be meshed
-    def Triangle(self, geom=0):
-        return Mesh_Triangle(self, geom)
-
+    def Triangle(self, algo=MEFISTO, geom=0):
+        ## if Triangle(geom) is called by mistake
+        if ( isinstance( algo, geompy.GEOM._objref_GEOM_Object)):
+            geom = algo
+            algo = MEFISTO
+        
+        return Mesh_Triangle(self, algo, geom)
+        
     ## Creates a quadrangle 2D algorithm for faces.
     #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  \n Otherwise, this algorithm define a submesh based on \a geom subshape.
     #  @param geom If defined, subshape to be meshed
     def Quadrangle(self, geom=0):
         return Mesh_Quadrangle(self, geom)
@@ -438,37 +1160,73 @@ class Mesh:
     ## Creates a tetrahedron 3D algorithm for solids.
     #  The parameter \a algo permits to choice the algorithm: NETGEN or GHS3D
     #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
-    #  @param algo values are: smesh.NETGEN, smesh.GHS3D
+    #  \n Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param algo values are: smesh.NETGEN, smesh.GHS3D, smesh.FULL_NETGEN
     #  @param geom If defined, subshape to be meshed
-    def Tetrahedron(self, algo, geom=0):
+    def Tetrahedron(self, algo=NETGEN, geom=0):
         ## if Tetrahedron(geom) is called by mistake
         if ( isinstance( algo, geompy.GEOM._objref_GEOM_Object)):
             algo, geom = geom, algo
             pass
         return Mesh_Tetrahedron(self, algo, geom)
-
+        
     ## Creates a hexahedron 3D algorithm for solids.
     #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  \n Otherwise, this algorithm define a submesh based on \a geom subshape.
     #  @param geom If defined, subshape to be meshed
     def Hexahedron(self, geom=0):
         return Mesh_Hexahedron(self, geom)
 
-    ## Creates a NETGEN-based 2D or 3D independent algorithm (i.e. needs no
-    #  discrete boundary).
-    #  If the optional \a geom parameter is not sets, this algorithm is global.
-    #  Otherwise, this algorithm defines a submesh based on \a geom subshape.
-    #  @param is3D If 0 then algorithm is 2D, otherwise 3D
-    #  @param geom If defined, subshape to be meshed
+    ## Deprecated, only for compatibility!
     def Netgen(self, is3D, geom=0):
         return Mesh_Netgen(self, is3D, geom)
 
+    ## Creates a projection 1D algorithm for edges.
+    #  If the optional \a geom parameter is not sets, this algorithm is global.
+    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param geom If defined, subshape to be meshed
+    def Projection1D(self, geom=0):
+        return Mesh_Projection1D(self, geom)
+
+    ## Creates a projection 2D algorithm for faces.
+    #  If the optional \a geom parameter is not sets, this algorithm is global.
+    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param geom If defined, subshape to be meshed
+    def Projection2D(self, geom=0):
+        return Mesh_Projection2D(self, geom)
+
+    ## Creates a projection 3D algorithm for solids.
+    #  If the optional \a geom parameter is not sets, this algorithm is global.
+    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param geom If defined, subshape to be meshed
+    def Projection3D(self, geom=0):
+        return Mesh_Projection3D(self, geom)
+
+    ## Creates a Prism 3D or RadialPrism 3D algorithm for solids.
+    #  If the optional \a geom parameter is not sets, this algorithm is global.
+    #  Otherwise, this algorithm define a submesh based on \a geom subshape.
+    #  @param geom If defined, subshape to be meshed
+    def Prism(self, geom=0):
+        shape = geom
+        if shape==0:
+            shape = self.geom
+        nbSolids = len( geompy.SubShapeAll( shape, geompy.ShapeType["SOLID"] ))
+        nbShells = len( geompy.SubShapeAll( shape, geompy.ShapeType["SHELL"] ))
+        if nbSolids == 0 or nbSolids == nbShells:
+            return Mesh_Prism3D(self, geom)
+        return Mesh_RadialPrism3D(self, geom)
+
     ## Compute the mesh and return the status of the computation
-    def Compute(self):
-        ok = smesh.Compute(self.mesh, self.geom)
+    def Compute(self, geom=0):
+        if geom == 0 or not isinstance(geom, geompy.GEOM._objref_GEOM_Object):
+            if self.geom == 0:
+                print "Compute impossible: mesh is not constructed on geom shape."
+                return 0
+            else:
+                geom = self.geom
+        ok = smesh.Compute(self.mesh, geom)
         if not ok:
-            errors = smesh.GetAlgoState( self.mesh, self.geom )
+            errors = smesh.GetAlgoState( self.mesh, geom )
             allReasons = ""
             for err in errors:
                 if err.isGlobalAlgo:
@@ -477,13 +1235,20 @@ class Mesh:
                     glob = " local "
                     pass
                 dim = str(err.algoDim)
-                if err.name == SMESH.MISSING_ALGO:
+                if err.name == MISSING_ALGO:
                     reason = glob + dim + "D algorithm is missing"
-                elif err.name == SMESH.MISSING_HYPO:
+                elif err.name == MISSING_HYPO:
                     name = '"' + err.algoName + '"'
                     reason = glob + dim + "D algorithm " + name + " misses " + dim + "D hypothesis"
-                else:
+                elif err.name == NOT_CONFORM_MESH:
                     reason = "Global \"Not Conform mesh allowed\" hypothesis is missing"
+                elif err.name == BAD_PARAM_VALUE:
+                    name = '"' + err.algoName + '"'
+                    reason = "Hypothesis of" + glob + dim + "D algorithm " + name +\
+                             " has a bad parameter value"
+                else:
+                    reason = "For unknown reason."+\
+                             " Revise Mesh.Compute() implementation in smesh.py!"
                     pass
                 if allReasons != "":
                     allReasons += "\n"
@@ -504,7 +1269,7 @@ class Mesh:
         return ok
 
     ## Compute tetrahedral mesh using AutomaticLength + MEFISTO + NETGEN
-    #  The parameter \a fineness [0.-1.] defines mesh fineness
+    #  The parameter \a fineness [0,-1] defines mesh fineness
     def AutomaticTetrahedralization(self, fineness=0):
         dim = self.MeshDimension()
         # assign hypotheses
@@ -517,9 +1282,9 @@ class Mesh:
             self.Tetrahedron(NETGEN)
             pass
         return self.Compute()
-
+        
     ## Compute hexahedral mesh using AutomaticLength + Quadrangle + Hexahedron
-    #  The parameter \a fineness [0.-1.] defines mesh fineness
+    #  The parameter \a fineness [0,-1] defines mesh fineness
     def AutomaticHexahedralization(self, fineness=0):
         dim = self.MeshDimension()
         # assign hypotheses
@@ -532,7 +1297,12 @@ class Mesh:
             self.Hexahedron()            
             pass
         return self.Compute()
-
+    
+    ## Get the list of hypothesis added on a geom
+    #  @param geom is subhape of mesh geometry
+    def GetHypothesisList(self, geom):
+        return self.mesh.GetHypothesisList( geom )
+                
     ## Removes all global hypotheses
     def RemoveGlobalHypotheses(self):
         current_hyps = self.mesh.GetHypothesisList( self.geom )
@@ -540,71 +1310,949 @@ class Mesh:
             self.mesh.RemoveHypothesis( self.geom, hyp )
             pass
         pass
-
+        
     ## Create a mesh group based on geometric object \a grp
-    #  and give a \a name, if this parameter is not defined
-    #  the name is the same as the geometric group name
+    #  and give a \a name, \n if this parameter is not defined
+    #  the name is the same as the geometric group name \n
+    #  Note: Works like GroupOnGeom(). 
     #  @param grp  is a geometric group, a vertex, an edge, a face or a solid
     #  @param name is the name of the mesh group
+    #  @return SMESH_GroupOnGeom
     def Group(self, grp, name=""):
-        if name == "":
-            name = grp.GetName()
-
-        type = []
-        tgeo = str(grp.GetShapeType())
-        if tgeo == "VERTEX":
-            type = SMESH.NODE
-        elif tgeo == "EDGE":
-            type = SMESH.EDGE
-        elif tgeo == "FACE":
-            type = SMESH.FACE
-        elif tgeo == "SOLID":
-            type = SMESH.VOLUME
-        elif tgeo == "SHELL":
-            type = SMESH.VOLUME
-        elif tgeo == "COMPOUND":
-            if len( geompy.GetObjectIDs( grp )) == 0:
-                print "Mesh.Group: empty geometric group", GetName( grp )
-                return 0
-            tgeo = geompy.GetType(grp)
-            if tgeo == geompy.ShapeType["VERTEX"]:
-                type = SMESH.NODE
-            elif tgeo == geompy.ShapeType["EDGE"]:
-                type = SMESH.EDGE
-            elif tgeo == geompy.ShapeType["FACE"]:
-                type = SMESH.FACE
-            elif tgeo == geompy.ShapeType["SOLID"]:
-                type = SMESH.VOLUME
-
-        if type == []:
-            print "Mesh.Group: bad first argument: expected a group, a vertex, an edge, a face or a solid"
-            return 0
-        else:
-            return self.mesh.CreateGroupFromGEOM(type, name, grp)
-
-    ## Export the mesh in a file with the MED format and choice the \a version of MED format
+        return self.GroupOnGeom(grp, name)
+       
+    ## Deprecated, only for compatibility! Please, use ExportMED() method instead.
+    #  Export the mesh in a file with the MED format and choice the \a version of MED format
     #  @param f is the file name
     #  @param version values are SMESH.MED_V2_1, SMESH.MED_V2_2
     def ExportToMED(self, f, version, opt=0):
         self.mesh.ExportToMED(f, opt, version)
-
+        
     ## Export the mesh in a file with the MED format
     #  @param f is the file name
-    def ExportMED(self, f, opt=0):
-        self.mesh.ExportMED(f, opt)
-
+    #  @param auto_groups boolean parameter for creating/not creating
+    #  the groups Group_On_All_Nodes, Group_On_All_Faces, ... ;
+    #  the typical use is auto_groups=false.
+    #  @param version MED format version(MED_V2_1 or MED_V2_2)
+    def ExportMED(self, f, auto_groups=0, version=MED_V2_2):
+        self.mesh.ExportToMED(f, auto_groups, version)
+        
     ## Export the mesh in a file with the DAT format
     #  @param f is the file name
     def ExportDAT(self, f):
         self.mesh.ExportDAT(f)
-
+        
     ## Export the mesh in a file with the UNV format
     #  @param f is the file name
     def ExportUNV(self, f):
         self.mesh.ExportUNV(f)
-
+        
     ## Export the mesh in a file with the STL format
     #  @param f is the file name
     #  @param ascii defined the kind of file contents
     def ExportSTL(self, f, ascii=1):
         self.mesh.ExportSTL(f, ascii)
+   
+        
+    # Operations with groups:
+    # ----------------------
+
+    ## Creates an empty mesh group
+    #  @param elementType is the type of elements in the group
+    #  @param name is the name of the mesh group
+    #  @return SMESH_Group
+    def CreateEmptyGroup(self, elementType, name):
+        return self.mesh.CreateGroup(elementType, name)
+    
+    ## Creates a mesh group based on geometric object \a grp
+    #  and give a \a name, \n if this parameter is not defined
+    #  the name is the same as the geometric group name
+    #  @param grp  is a geometric group, a vertex, an edge, a face or a solid
+    #  @param name is the name of the mesh group
+    #  @return SMESH_GroupOnGeom
+    def GroupOnGeom(self, grp, name="", type=None):
+        if name == "":
+            name = grp.GetName()
+
+        if type == None:
+            tgeo = str(grp.GetShapeType())
+            if tgeo == "VERTEX":
+                type = NODE
+            elif tgeo == "EDGE":
+                type = EDGE
+            elif tgeo == "FACE":
+                type = FACE
+            elif tgeo == "SOLID":
+                type = VOLUME
+            elif tgeo == "SHELL":
+                type = VOLUME
+            elif tgeo == "COMPOUND":
+                if len( geompy.GetObjectIDs( grp )) == 0:
+                    print "Mesh.Group: empty geometric group", GetName( grp )
+                    return 0
+                tgeo = geompy.GetType(grp)
+                if tgeo == geompy.ShapeType["VERTEX"]:
+                    type = NODE
+                elif tgeo == geompy.ShapeType["EDGE"]:
+                    type = EDGE
+                elif tgeo == geompy.ShapeType["FACE"]:
+                    type = FACE
+                elif tgeo == geompy.ShapeType["SOLID"]:
+                    type = VOLUME
+
+        if type == None:
+            print "Mesh.Group: bad first argument: expected a group, a vertex, an edge, a face or a solid"
+            return 0
+        else:
+            return self.mesh.CreateGroupFromGEOM(type, name, grp)
+
+    ## Create a mesh group by the given ids of elements
+    #  @param groupName is the name of the mesh group
+    #  @param elementType is the type of elements in the group
+    #  @param elemIDs is the list of ids
+    #  @return SMESH_Group
+    def MakeGroupByIds(self, groupName, elementType, elemIDs):
+        group = self.mesh.CreateGroup(elementType, groupName)
+        group.Add(elemIDs)
+        return group
+    
+    ## Create a mesh group by the given conditions
+    #  @param groupName is the name of the mesh group
+    #  @param elementType is the type of elements in the group
+    #  @param CritType is type of criterion( FT_Taper, FT_Area, FT_RangeOfIds, FT_LyingOnGeom etc. )
+    #  @param Compare belong to {FT_LessThan, FT_MoreThan, FT_EqualTo}
+    #  @param Treshold is threshold value (range of id ids as string, shape, numeric)
+    #  @param UnaryOp is FT_LogicalNOT or FT_Undefined
+    #  @return SMESH_Group
+    def MakeGroup(self,
+                  groupName,
+                  elementType,
+                  CritType=FT_Undefined,
+                  Compare=FT_EqualTo,
+                  Treshold="",
+                  UnaryOp=FT_Undefined):
+        aCriterion = GetCriterion(elementType, CritType, Compare, Treshold, UnaryOp, FT_Undefined)
+        group = self.MakeGroupByCriterion(groupName, aCriterion)
+        return group
+
+    ## Create a mesh group by the given criterion
+    #  @param groupName is the name of the mesh group
+    #  @param Criterion is the instance of Criterion class
+    #  @return SMESH_Group
+    def MakeGroupByCriterion(self, groupName, Criterion):
+        aFilterMgr = smesh.CreateFilterManager()
+        aFilter = aFilterMgr.CreateFilter()
+        aCriteria = []
+        aCriteria.append(Criterion)
+        aFilter.SetCriteria(aCriteria)
+        group = self.MakeGroupByFilter(groupName, aFilter)
+        return group
+    
+    ## Create a mesh group by the given criteria(list of criterions)
+    #  @param groupName is the name of the mesh group
+    #  @param Criteria is the list of criterions
+    #  @return SMESH_Group
+    def MakeGroupByCriteria(self, groupName, theCriteria):
+        aFilterMgr = smesh.CreateFilterManager()
+        aFilter = aFilterMgr.CreateFilter()
+        aFilter.SetCriteria(theCriteria)
+        group = self.MakeGroupByFilter(groupName, aFilter)
+        return group
+    
+    ## Create a mesh group by the given filter
+    #  @param groupName is the name of the mesh group
+    #  @param Criterion is the instance of Filter class
+    #  @return SMESH_Group
+    def MakeGroupByFilter(self, groupName, theFilter):
+        anIds = theFilter.GetElementsId(self.mesh)
+        anElemType = theFilter.GetElementType()
+        group = self.MakeGroupByIds(groupName, anElemType, anIds)
+        return group
+
+    ## Pass mesh elements through the given filter and return ids
+    #  @param theFilter is SMESH_Filter
+    #  @return list of ids
+    def GetIdsFromFilter(self, theFilter):
+        return theFilter.GetElementsId(self.mesh)
+
+    ## Verify whether 2D mesh element has free edges(edges connected to one face only)\n
+    #  Returns list of special structures(borders).
+    #  @return list of SMESH.FreeEdges.Border structure: edge id and two its nodes ids.
+    def GetFreeBorders(self):
+        aFilterMgr = smesh.CreateFilterManager()
+        aPredicate = aFilterMgr.CreateFreeEdges()
+        aPredicate.SetMesh(self.mesh)
+        aBorders = aPredicate.GetBorders()
+        return aBorders
+                
+    ## Remove a group
+    def RemoveGroup(self, group):
+        self.mesh.RemoveGroup(group)
+
+    ## Remove group with its contents
+    def RemoveGroupWithContents(self, group):
+        self.mesh.RemoveGroupWithContents(group)
+        
+    ## Get the list of groups existing in the mesh
+    def GetGroups(self):
+        return self.mesh.GetGroups()
+
+    ## Get the list of names of groups existing in the mesh
+    def GetGroupNames(self):
+        groups = self.GetGroups()
+        names = []
+        for group in groups:
+            names.append(group.GetName())
+        return names
+
+    ## Union of two groups
+    #  New group is created. All mesh elements that are
+    #  present in initial groups are added to the new one
+    def UnionGroups(self, group1, group2, name):
+        return self.mesh.UnionGroups(group1, group2, name)
+
+    ## Intersection of two groups
+    #  New group is created. All mesh elements that are
+    #  present in both initial groups are added to the new one.
+    def IntersectGroups(self, group1, group2, name):
+        return self.mesh.IntersectGroups(group1, group2, name)
+    
+    ## Cut of two groups
+    #  New group is created. All mesh elements that are present in
+    #  main group but do not present in tool group are added to the new one
+    def CutGroups(self, mainGroup, toolGroup, name):
+        return self.mesh.CutGroups(mainGroup, toolGroup, name)
+         
+    
+    # Get some info about mesh:
+    # ------------------------
+
+    ## Get the log of nodes and elements added or removed since previous
+    #  clear of the log.
+    #  @param clearAfterGet log is emptied after Get (safe if concurrents access)
+    #  @return list of log_block structures:
+    #                                        commandType
+    #                                        number
+    #                                        coords
+    #                                        indexes
+    def GetLog(self, clearAfterGet):
+        return self.mesh.GetLog(clearAfterGet)
+
+    ## Clear the log of nodes and elements added or removed since previous
+    #  clear. Must be used immediately after GetLog if clearAfterGet is false.
+    def ClearLog(self):
+        self.mesh.ClearLog()
+
+    ## Get the internal Id
+    def GetId(self):
+        return self.mesh.GetId()
+
+    ## Get the study Id
+    def GetStudyId(self):
+        return self.mesh.GetStudyId()
+
+    ## Check group names for duplications.
+    #  Consider maximum group name length stored in MED file.
+    def HasDuplicatedGroupNamesMED(self):
+        return self.mesh.GetStudyId()
+        
+    ## Obtain instance of SMESH_MeshEditor
+    def GetMeshEditor(self):
+        return self.mesh.GetMeshEditor()
+
+    ## Get MED Mesh
+    def GetMEDMesh(self):
+        return self.mesh.GetMEDMesh()
+    
+    
+    # Get informations about mesh contents:
+    # ------------------------------------
+
+    ## Returns number of nodes in mesh
+    def NbNodes(self):
+        return self.mesh.NbNodes()
+
+    ## Returns number of elements in mesh
+    def NbElements(self):
+        return self.mesh.NbElements()
+
+    ## Returns number of edges in mesh
+    def NbEdges(self):
+        return self.mesh.NbEdges()
+
+    ## Returns number of edges with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbEdgesOfOrder(self, elementOrder):
+        return self.mesh.NbEdgesOfOrder(elementOrder)
+    
+    ## Returns number of faces in mesh
+    def NbFaces(self):
+        return self.mesh.NbFaces()
+
+    ## Returns number of faces with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbFacesOfOrder(self, elementOrder):
+        return self.mesh.NbFacesOfOrder(elementOrder)
+
+    ## Returns number of triangles in mesh
+    def NbTriangles(self):
+        return self.mesh.NbTriangles()
+
+    ## Returns number of triangles with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbTrianglesOfOrder(self, elementOrder):
+        return self.mesh.NbTrianglesOfOrder(elementOrder)
+
+    ## Returns number of quadrangles in mesh
+    def NbQuadrangles(self):
+        return self.mesh.NbQuadrangles()
+
+    ## Returns number of quadrangles with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbQuadranglesOfOrder(self, elementOrder):
+        return self.mesh.NbQuadranglesOfOrder(elementOrder)
+
+    ## Returns number of polygons in mesh
+    def NbPolygons(self):
+        return self.mesh.NbPolygons()
+
+    ## Returns number of volumes in mesh
+    def NbVolumes(self):
+        return self.mesh.NbVolumes()
+
+    ## Returns number of volumes with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbVolumesOfOrder(self, elementOrder):
+        return self.mesh.NbVolumesOfOrder(elementOrder)
+
+    ## Returns number of tetrahedrons in mesh
+    def NbTetras(self):
+        return self.mesh.NbTetras()
+
+    ## Returns number of tetrahedrons with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbTetrasOfOrder(self, elementOrder):
+        return self.mesh.NbTetrasOfOrder(elementOrder)
+
+    ## Returns number of hexahedrons in mesh
+    def NbHexas(self):
+        return self.mesh.NbHexas()
+
+    ## Returns number of hexahedrons with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbHexasOfOrder(self, elementOrder):
+        return self.mesh.NbHexasOfOrder(elementOrder)
+
+    ## Returns number of pyramids in mesh
+    def NbPyramids(self):
+        return self.mesh.NbPyramids()
+
+    ## Returns number of pyramids with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbPyramidsOfOrder(self, elementOrder):
+        return self.mesh.NbPyramidsOfOrder(elementOrder)
+
+    ## Returns number of prisms in mesh
+    def NbPrisms(self):
+        return self.mesh.NbPrisms()
+
+    ## Returns number of prisms with given order in mesh
+    #  @param elementOrder is order of elements:
+    #  ORDER_ANY, ORDER_LINEAR or ORDER_QUADRATIC
+    def NbPrismsOfOrder(self, elementOrder):
+        return self.mesh.NbPrismsOfOrder(elementOrder)
+
+    ## Returns number of polyhedrons in mesh
+    def NbPolyhedrons(self):
+        return self.mesh.NbPolyhedrons()
+
+    ## Returns number of submeshes in mesh
+    def NbSubMesh(self):
+        return self.mesh.NbSubMesh()
+
+    ## Returns list of mesh elements ids
+    def GetElementsId(self):
+        return self.mesh.GetElementsId()
+
+    ## Returns list of ids of mesh elements with given type
+    #  @param elementType is required type of elements
+    def GetElementsByType(self, elementType):
+        return self.mesh.GetElementsByType(elementType)
+
+    ## Returns list of mesh nodes ids
+    def GetNodesId(self):
+        return self.mesh.GetNodesId()
+    
+    # Get informations about mesh elements:
+    # ------------------------------------
+    
+    ## Returns type of mesh element
+    def GetElementType(self, id, iselem):
+        return self.mesh.GetElementType(id, iselem)
+
+    ## Returns list of submesh elements ids
+    #  @param shapeID is geom object(subshape) IOR
+    def GetSubMeshElementsId(self, shapeID):
+        return self.mesh.GetSubMeshElementsId(shapeID)
+
+    ## Returns list of submesh nodes ids
+    #  @param shapeID is geom object(subshape) IOR
+    def GetSubMeshNodesId(self, shapeID, all):
+        return self.mesh.GetSubMeshNodesId(shapeID, all)
+    
+    ## Returns list of ids of submesh elements with given type
+    #  @param shapeID is geom object(subshape) IOR
+    def GetSubMeshElementType(self, shapeID):
+        return self.mesh.GetSubMeshElementType(shapeID)
+      
+    ## Get mesh description
+    def Dump(self):
+        return self.mesh.Dump()
+
+    
+    # Get information about nodes and elements of mesh by its ids:
+    # -----------------------------------------------------------
+
+    ## Get XYZ coordinates of node as list of double
+    #  \n If there is not node for given ID - returns empty list
+    def GetNodeXYZ(self, id):
+        return self.mesh.GetNodeXYZ(id)
+
+    ## For given node returns list of IDs of inverse elements
+    #  \n If there is not node for given ID - returns empty list
+    def GetNodeInverseElements(self, id):
+        return self.mesh.GetNodeInverseElements(id)
+
+    ## If given element is node returns IDs of shape from position
+    #  \n If there is not node for given ID - returns -1
+    def GetShapeID(self, id):
+        return self.mesh.GetShapeID(id)
+
+    ## For given element returns ID of result shape after 
+    #  FindShape() from SMESH_MeshEditor
+    #  \n If there is not element for given ID - returns -1
+    def GetShapeIDForElem(id):
+        return self.mesh.GetShapeIDForElem(id)
+    
+    ## Returns number of nodes for given element
+    #  \n If there is not element for given ID - returns -1
+    def GetElemNbNodes(self, id):
+        return self.mesh.GetElemNbNodes(id)
+
+    ## Returns ID of node by given index for given element
+    #  \n If there is not element for given ID - returns -1
+    #  \n If there is not node for given index - returns -2
+    def GetElemNode(self, id, index):
+        return self.mesh.GetElemNode(id, index)
+
+    ## Returns true if given node is medium node
+    #  in given quadratic element
+    def IsMediumNode(self, elementID, nodeID):
+        return self.mesh.IsMediumNode(elementID, nodeID)
+    
+    ## Returns true if given node is medium node
+    #  in one of quadratic elements
+    def IsMediumNodeOfAnyElem(self, nodeID, elementType):
+        return self.mesh.IsMediumNodeOfAnyElem(nodeID, elementType)
+
+    ## Returns number of edges for given element
+    def ElemNbEdges(self, id):
+        return self.mesh.ElemNbEdges(id)
+        
+    ## Returns number of faces for given element
+    def ElemNbFaces(self, id):
+        return self.mesh.ElemNbFaces(id)
+
+    ## Returns true if given element is polygon
+    def IsPoly(self, id):
+        return self.mesh.IsPoly(id)
+
+    ## Returns true if given element is quadratic
+    def IsQuadratic(self, id):
+        return self.mesh.IsQuadratic(id)
+
+    ## Returns XYZ coordinates of bary center for given element
+    #  as list of double
+    #  \n If there is not element for given ID - returns empty list
+    def BaryCenter(self, id):
+        return self.mesh.BaryCenter(id)
+    
+    
+    # Mesh edition (SMESH_MeshEditor functionality):
+    # ---------------------------------------------
+
+    ## Removes elements from mesh by ids
+    #  @param IDsOfElements is list of ids of elements to remove
+    def RemoveElements(self, IDsOfElements):
+        return self.editor.RemoveElements(IDsOfElements)
+
+    ## Removes nodes from mesh by ids
+    #  @param IDsOfNodes is list of ids of nodes to remove
+    def RemoveNodes(self, IDsOfNodes):
+        return self.editor.RemoveNodes(IDsOfNodes)
+
+    ## Add node to mesh by coordinates
+    def AddNode(self, x, y, z):
+        return self.editor.AddNode( x, y, z)
+
+    
+    ## Create edge both similar and quadratic (this is determed
+    #  by number of given nodes).
+    #  @param IdsOfNodes List of node IDs for creation of element.
+    #  Needed order of nodes in this list corresponds to description
+    #  of MED. \n This description is located by the following link:
+    #  http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+    def AddEdge(self, IDsOfNodes):
+        return self.editor.AddEdge(IDsOfNodes)
+
+    ## Create face both similar and quadratic (this is determed
+    #  by number of given nodes).
+    #  @param IdsOfNodes List of node IDs for creation of element.
+    #  Needed order of nodes in this list corresponds to description
+    #  of MED. \n This description is located by the following link:
+    #  http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+    def AddFace(self, IDsOfNodes):
+        return self.editor.AddFace(IDsOfNodes)
+    
+    ## Add polygonal face to mesh by list of nodes ids
+    def AddPolygonalFace(self, IdsOfNodes):
+        return self.editor.AddPolygonalFace(IdsOfNodes)
+    
+    ## Create volume both similar and quadratic (this is determed
+    #  by number of given nodes).
+    #  @param IdsOfNodes List of node IDs for creation of element.
+    #  Needed order of nodes in this list corresponds to description
+    #  of MED. \n This description is located by the following link:
+    #  http://www.salome-platform.org/salome2/web_med_internet/logiciels/medV2.2.2_doc_html/html/modele_de_donnees.html#3.
+    def AddVolume(self, IDsOfNodes):
+        return self.editor.AddVolume(IDsOfNodes)
+
+    ## Create volume of many faces, giving nodes for each face.
+    #  @param IdsOfNodes List of node IDs for volume creation face by face.
+    #  @param Quantities List of integer values, Quantities[i]
+    #         gives quantity of nodes in face number i.
+    def AddPolyhedralVolume (self, IdsOfNodes, Quantities):
+        return self.editor.AddPolyhedralVolume(IdsOfNodes, Quantities)
+
+    ## Create volume of many faces, giving IDs of existing faces.
+    #  @param IdsOfFaces List of face IDs for volume creation.
+    #
+    #  Note:  The created volume will refer only to nodes
+    #         of the given faces, not to the faces itself.
+    def AddPolyhedralVolumeByFaces (self, IdsOfFaces):
+        return self.editor.AddPolyhedralVolumeByFaces(IdsOfFaces)
+    
+    ## Move node with given id
+    #  @param NodeID id of the node
+    #  @param x displacing along the X axis
+    #  @param y displacing along the Y axis
+    #  @param z displacing along the Z axis
+    def MoveNode(self, NodeID, x, y, z):
+        return self.editor.MoveNode(NodeID, x, y, z)
+
+    ## Replace two neighbour triangles sharing Node1-Node2 link
+    #  with ones built on the same 4 nodes but having other common link.
+    #  @param NodeID1 first node id
+    #  @param NodeID2 second node id
+    #  @return false if proper faces not found
+    def InverseDiag(self, NodeID1, NodeID2):
+        return self.editor.InverseDiag(NodeID1, NodeID2)
+
+    ## Replace two neighbour triangles sharing Node1-Node2 link
+    #  with a quadrangle built on the same 4 nodes.
+    #  @param NodeID1 first node id
+    #  @param NodeID2 second node id
+    #  @return false if proper faces not found
+    def DeleteDiag(self, NodeID1, NodeID2):
+        return self.editor.DeleteDiag(NodeID1, NodeID2)
+
+    ## Reorient elements by ids
+    #  @param IDsOfElements if undefined reorient all mesh elements
+    def Reorient(self, IDsOfElements=None):
+        if IDsOfElements == None:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.Reorient(IDsOfElements)
+
+    ## Reorient all elements of the object
+    #  @param theObject is mesh, submesh or group
+    def ReorientObject(self, theObject):
+        return self.editor.ReorientObject(theObject)
+
+    ## Fuse neighbour triangles into quadrangles.
+    #  @param IDsOfElements The triangles to be fused,
+    #  @param theCriterion     is FT_...; used to choose a neighbour to fuse with.
+    #  @param MaxAngle      is a max angle between element normals at which fusion
+    #                       is still performed; theMaxAngle is mesured in radians.
+    #  @return TRUE in case of success, FALSE otherwise.
+    def TriToQuad(self, IDsOfElements, theCriterion, MaxAngle):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.TriToQuad(IDsOfElements, GetFunctor(theCriterion), MaxAngle)
+
+    ## Fuse neighbour triangles of the object into quadrangles
+    #  @param theObject is mesh, submesh or group
+    #  @param theCriterion is FT_...; used to choose a neighbour to fuse with.
+    #  @param MaxAngle  is a max angle between element normals at which fusion
+    #                   is still performed; theMaxAngle is mesured in radians.
+    #  @return TRUE in case of success, FALSE otherwise.
+    def TriToQuadObject (self, theObject, theCriterion, MaxAngle):
+        return self.editor.TriToQuadObject(theObject, GetFunctor(theCriterion), MaxAngle)
+
+    ## Split quadrangles into triangles.
+    #  @param IDsOfElements the faces to be splitted.
+    #  @param theCriterion  is FT_...; used to choose a diagonal for splitting.
+    #  @param @return TRUE in case of success, FALSE otherwise.
+    def QuadToTri (self, IDsOfElements, theCriterion):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.QuadToTri(IDsOfElements, GetFunctor(theCriterion))
+
+    ## Split quadrangles into triangles.
+    #  @param theObject object to taking list of elements from, is mesh, submesh or group
+    #  @param theCriterion  is FT_...; used to choose a diagonal for splitting.
+    def QuadToTriObject (self, theObject, theCriterion):
+        return self.editor.QuadToTriObject(theObject, GetFunctor(theCriterion))
+
+    ## Split quadrangles into triangles.
+    #  @param theElems  The faces to be splitted
+    #  @param the13Diag is used to choose a diagonal for splitting.
+    #  @return TRUE in case of success, FALSE otherwise.
+    def SplitQuad (self, IDsOfElements, Diag13):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.SplitQuad(IDsOfElements, Diag13)
+
+    ## Split quadrangles into triangles.
+    #  @param theObject is object to taking list of elements from, is mesh, submesh or group
+    def SplitQuadObject (self, theObject, Diag13):
+        return self.editor.SplitQuadObject(theObject, Diag13)
+
+    ## Find better splitting of the given quadrangle.
+    #  @param IDOfQuad  ID of the quadrangle to be splitted.
+    #  @param theCriterion is FT_...; a criterion to choose a diagonal for splitting.
+    #  @return 1 if 1-3 diagonal is better, 2 if 2-4
+    #          diagonal is better, 0 if error occurs.
+    def BestSplit (self, IDOfQuad, theCriterion):
+        return self.editor.BestSplit(IDOfQuad, GetFunctor(theCriterion))
+    
+    ## Smooth elements
+    #  @param IDsOfElements list if ids of elements to smooth
+    #  @param IDsOfFixedNodes list of ids of fixed nodes.
+    #  Note that nodes built on edges and boundary nodes are always fixed.
+    #  @param MaxNbOfIterations maximum number of iterations
+    #  @param MaxAspectRatio varies in range [1.0, inf]
+    #  @param Method is Laplacian(LAPLACIAN_SMOOTH) or Centroidal(CENTROIDAL_SMOOTH)
+    def Smooth(self, IDsOfElements, IDsOfFixedNodes,
+               MaxNbOfIterations, MaxAspectRatio, Method):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.Smooth(IDsOfElements, IDsOfFixedNodes,
+                                  MaxNbOfIterations, MaxAspectRatio, Method)
+    
+    ## Smooth elements belong to given object
+    #  @param theObject object to smooth
+    #  @param IDsOfFixedNodes list of ids of fixed nodes.
+    #  Note that nodes built on edges and boundary nodes are always fixed.
+    #  @param MaxNbOfIterations maximum number of iterations
+    #  @param MaxAspectRatio varies in range [1.0, inf]
+    #  @param Method is Laplacian(LAPLACIAN_SMOOTH) or Centroidal(CENTROIDAL_SMOOTH)
+    def SmoothObject(self, theObject, IDsOfFixedNodes, 
+                     MaxNbOfIterations, MaxxAspectRatio, Method):
+        return self.editor.SmoothObject(theObject, IDsOfFixedNodes, 
+                                        MaxNbOfIterations, MaxxAspectRatio, Method)
+
+    ## Parametric smooth the given elements
+    #  @param IDsOfElements list if ids of elements to smooth
+    #  @param IDsOfFixedNodes list of ids of fixed nodes.
+    #  Note that nodes built on edges and boundary nodes are always fixed.
+    #  @param MaxNbOfIterations maximum number of iterations
+    #  @param MaxAspectRatio varies in range [1.0, inf]
+    #  @param Method is Laplacian(LAPLACIAN_SMOOTH) or Centroidal(CENTROIDAL_SMOOTH)
+    def SmoothParametric(IDsOfElements, IDsOfFixedNodes,
+                         MaxNbOfIterations, MaxAspectRatio, Method):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        return self.editor.SmoothParametric(IDsOfElements, IDsOfFixedNodes,
+                                            MaxNbOfIterations, MaxAspectRatio, Method)
+    
+    ## Parametric smooth elements belong to given object
+    #  @param theObject object to smooth
+    #  @param IDsOfFixedNodes list of ids of fixed nodes.
+    #  Note that nodes built on edges and boundary nodes are always fixed.
+    #  @param MaxNbOfIterations maximum number of iterations
+    #  @param MaxAspectRatio varies in range [1.0, inf]
+    #  @param Method is Laplacian(LAPLACIAN_SMOOTH) or Centroidal(CENTROIDAL_SMOOTH)
+    def SmoothParametricObject(self, theObject, IDsOfFixedNodes,
+                               MaxNbOfIterations, MaxAspectRatio, Method):
+        return self.editor.SmoothParametricObject(theObject, IDsOfFixedNodes,
+                                                  MaxNbOfIterations, MaxAspectRatio, Method)
+
+    ## Converts all mesh to quadratic one, deletes old elements, replacing 
+    #  them with quadratic ones with the same id.
+    def ConvertToQuadratic(self, theForce3d):
+        self.editor.ConvertToQuadratic(theForce3d)
+
+    ## Converts all mesh from quadratic to ordinary ones,
+    #  deletes old quadratic elements, \n replacing 
+    #  them with ordinary mesh elements with the same id.
+    def ConvertFromQuadratic(self):
+        return self.editor.ConvertFromQuadratic()
+
+    ## Renumber mesh nodes
+    def RenumberNodes(self):
+        self.editor.RenumberNodes()
+
+    ## Renumber mesh elements
+    def RenumberElements(self):
+        self.editor.RenumberElements()
+
+    ## Generate new elements by rotation of the elements around the axis
+    #  @param IDsOfElements list of ids of elements to sweep
+    #  @param Axix axis of rotation, AxisStruct or line(geom object)
+    #  @param AngleInRadians angle of Rotation
+    #  @param NbOfSteps number of steps
+    #  @param Tolerance tolerance
+    def RotationSweep(self, IDsOfElements, Axix, AngleInRadians, NbOfSteps, Tolerance):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( Axix, geompy.GEOM._objref_GEOM_Object)):
+            Axix = GetAxisStruct(Axix)
+        self.editor.RotationSweep(IDsOfElements, Axix, AngleInRadians, NbOfSteps, Tolerance)
+
+    ## Generate new elements by rotation of the elements of object around the axis
+    #  @param theObject object wich elements should be sweeped
+    #  @param Axix axis of rotation, AxisStruct or line(geom object)
+    #  @param AngleInRadians angle of Rotation
+    #  @param NbOfSteps number of steps
+    #  @param Tolerance tolerance
+    def RotationSweepObject(self, theObject, Axix, AngleInRadians, NbOfSteps, Tolerance):
+        if ( isinstance( Axix, geompy.GEOM._objref_GEOM_Object)):
+            Axix = GetAxisStruct(Axix)
+        self.editor.RotationSweepObject(theObject, Axix, AngleInRadians, NbOfSteps, Tolerance)
+
+    ## Generate new elements by extrusion of the elements with given ids
+    #  @param IDsOfElements list of elements ids for extrusion
+    #  @param StepVector vector, defining the direction and value of extrusion 
+    #  @param NbOfSteps the number of steps
+    def ExtrusionSweep(self, IDsOfElements, StepVector, NbOfSteps):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( StepVector, geompy.GEOM._objref_GEOM_Object)):
+            StepVector = GetDirStruct(StepVector)
+        self.editor.ExtrusionSweep(IDsOfElements, StepVector, NbOfSteps)
+
+    ## Generate new elements by extrusion of the elements with given ids
+    #  @param IDsOfElements is ids of elements
+    #  @param StepVector vector, defining the direction and value of extrusion 
+    #  @param NbOfSteps the number of steps
+    #  @param ExtrFlags set flags for performing extrusion
+    #  @param SewTolerance uses for comparing locations of nodes if flag
+    #         EXTRUSION_FLAG_SEW is set
+    def AdvancedExtrusion(self, IDsOfElements, StepVector, NbOfSteps, ExtrFlags, SewTolerance):
+        if ( isinstance( StepVector, geompy.GEOM._objref_GEOM_Object)):
+            StepVector = GetDirStruct(StepVector)
+        self.editor.AdvancedExtrusion(IDsOfElements, StepVector, NbOfSteps, ExtrFlags, SewTolerance)
+
+    ## Generate new elements by extrusion of the elements belong to object
+    #  @param theObject object wich elements should be processed
+    #  @param StepVector vector, defining the direction and value of extrusion 
+    #  @param NbOfSteps the number of steps
+    def ExtrusionSweepObject(self, theObject, StepVector, NbOfSteps):
+        if ( isinstance( StepVector, geompy.GEOM._objref_GEOM_Object)):
+            StepVector = GetDirStruct(StepVector)
+        self.editor.ExtrusionSweepObject(theObject, StepVector, NbOfSteps)
+
+    ## Generate new elements by extrusion of the elements belong to object
+    #  @param theObject object wich elements should be processed
+    #  @param StepVector vector, defining the direction and value of extrusion 
+    #  @param NbOfSteps the number of steps
+    def ExtrusionSweepObject1D(self, theObject, StepVector, NbOfSteps):
+        if ( isinstance( StepVector, geompy.GEOM._objref_GEOM_Object)):
+            StepVector = GetDirStruct(StepVector)
+        self.editor.ExtrusionSweepObject1D(theObject, StepVector, NbOfSteps)
+    
+    ## Generate new elements by extrusion of the elements belong to object
+    #  @param theObject object wich elements should be processed
+    #  @param StepVector vector, defining the direction and value of extrusion 
+    #  @param NbOfSteps the number of steps    
+    def ExtrusionSweepObject2D(self, theObject, StepVector, NbOfSteps):
+        if ( isinstance( StepVector, geompy.GEOM._objref_GEOM_Object)):
+            StepVector = GetDirStruct(StepVector)
+        self.editor.ExtrusionSweepObject2D(theObject, StepVector, NbOfSteps)
+
+    ## Generate new elements by extrusion of the given elements
+    #  A path of extrusion must be a meshed edge.
+    #  @param IDsOfElements is ids of elements
+    #  @param PathMesh mesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion
+    #  @param PathShape is shape(edge); as the mesh can be complex, the edge is used to define the sub-mesh for the path
+    #  @param NodeStart the first or the last node on the edge. It is used to define the direction of extrusion
+    #  @param HasAngles allows the shape to be rotated around the path to get the resulting mesh in a helical fashion
+    #  @param Angles list of angles
+    #  @param HasRefPoint allows to use base point 
+    #  @param RefPoint point around which the shape is rotated(the mass center of the shape by default).
+    #         User can specify any point as the Base Point and the shape will be rotated with respect to this point.
+    def ExtrusionAlongPath(self, IDsOfElements, PathMesh, PathShape, NodeStart,
+                           HasAngles, Angles, HasRefPoint, RefPoint):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( RefPoint, geompy.GEOM._objref_GEOM_Object)):
+            RefPoint = GetPointStruct(RefPoint) 
+        return self.editor.ExtrusionAlongPath(IDsOfElements, PathMesh.GetMesh(), PathShape, NodeStart,
+                                              HasAngles, Angles, HasRefPoint, RefPoint)
+
+    ## Generate new elements by extrusion of the elements belong to object
+    #  A path of extrusion must be a meshed edge.
+    #  @param IDsOfElements is ids of elements
+    #  @param PathMesh mesh containing a 1D sub-mesh on the edge, along which proceeds the extrusion
+    #  @param PathShape is shape(edge); as the mesh can be complex, the edge is used to define the sub-mesh for the path
+    #  @param NodeStart the first or the last node on the edge. It is used to define the direction of extrusion
+    #  @param HasAngles allows the shape to be rotated around the path to get the resulting mesh in a helical fashion
+    #  @param Angles list of angles
+    #  @param HasRefPoint allows to use base point 
+    #  @param RefPoint point around which the shape is rotated(the mass center of the shape by default).
+    #         User can specify any point as the Base Point and the shape will be rotated with respect to this point.
+    def ExtrusionAlongPathObject(self, theObject, PathMesh, PathShape, NodeStart,
+                                 HasAngles, Angles, HasRefPoint, RefPoint):
+        if ( isinstance( RefPoint, geompy.GEOM._objref_GEOM_Object)):
+            RefPoint = GetPointStruct(RefPoint) 
+        return self.editor.ExtrusionAlongPathObject(theObject, PathMesh.GetMesh(), PathShape, NodeStart,
+                                                    HasAngles, Angles, HasRefPoint, RefPoint)
+    
+    ## Symmetrical copy of mesh elements
+    #  @param IDsOfElements list of elements ids
+    #  @param Mirror is AxisStruct or geom object(point, line, plane)
+    #  @param theMirrorType is  POINT, AXIS or PLANE
+    #  If the Mirror is geom object this parameter is unnecessary
+    #  @param Copy allows to copy element(Copy is 1) or to replace with its mirroring(Copy is 0)
+    def Mirror(self, IDsOfElements, Mirror, theMirrorType, Copy=0):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( Mirror, geompy.GEOM._objref_GEOM_Object)):
+            Mirror = GetAxisStruct(Mirror)
+        self.editor.Mirror(IDsOfElements, Mirror, theMirrorType, Copy)
+
+    ## Symmetrical copy of object
+    #  @param theObject mesh, submesh or group
+    #  @param Mirror is AxisStruct or geom object(point, line, plane)
+    #  @param theMirrorType is  POINT, AXIS or PLANE
+    #  If the Mirror is geom object this parameter is unnecessary
+    #  @param Copy allows to copy element(Copy is 1) or to replace with its mirroring(Copy is 0)
+    def MirrorObject (self, theObject, Mirror, theMirrorType, Copy=0):
+        if ( isinstance( Mirror, geompy.GEOM._objref_GEOM_Object)):
+            Mirror = GetAxisStruct(Mirror)
+        self.editor.MirrorObject(theObject, Mirror, theMirrorType, Copy)
+
+    ## Translates the elements
+    #  @param IDsOfElements list of elements ids
+    #  @param Vector direction of translation(DirStruct or vector)
+    #  @param Copy allows to copy the translated elements
+    def Translate(self, IDsOfElements, Vector, Copy):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( Vector, geompy.GEOM._objref_GEOM_Object)):
+            Vector = GetDirStruct(Vector)
+        self.editor.Translate(IDsOfElements, Vector, Copy)
+
+    ## Translates the object
+    #  @param theObject object to translate(mesh, submesh, or group)
+    #  @param Vector direction of translation(DirStruct or geom vector)
+    #  @param Copy allows to copy the translated elements
+    def TranslateObject(self, theObject, Vector, Copy):
+        if ( isinstance( Vector, geompy.GEOM._objref_GEOM_Object)):
+            Vector = GetDirStruct(Vector)
+        self.editor.TranslateObject(theObject, Vector, Copy)
+
+    ## Rotates the elements
+    #  @param IDsOfElements list of elements ids
+    #  @param Axis axis of rotation(AxisStruct or geom line)
+    #  @param AngleInRadians angle of rotation(in radians)
+    #  @param Copy allows to copy the rotated elements   
+    def Rotate (self, IDsOfElements, Axis, AngleInRadians, Copy):
+        if IDsOfElements == []:
+            IDsOfElements = self.GetElementsId()
+        if ( isinstance( Axis, geompy.GEOM._objref_GEOM_Object)):
+            Axis = GetAxisStruct(Axis)
+        self.editor.Rotate(IDsOfElements, Axis, AngleInRadians, Copy)
+
+    ## Rotates the object
+    #  @param theObject object to rotate(mesh, submesh, or group)
+    #  @param Axis axis of rotation(AxisStruct or geom line)
+    #  @param AngleInRadians angle of rotation(in radians)
+    #  @param Copy allows to copy the rotated elements
+    def RotateObject (self, theObject, Axis, AngleInRadians, Copy):
+        self.editor.RotateObject(theObject, Axis, AngleInRadians, Copy)
+
+    ## Find group of nodes close to each other within Tolerance.
+    #  @param Tolerance tolerance value
+    #  @param list of group of nodes
+    def FindCoincidentNodes (self, Tolerance):
+        return self.editor.FindCoincidentNodes(Tolerance)
+
+    ## Merge nodes
+    #  @param list of group of nodes
+    def MergeNodes (self, GroupsOfNodes):
+        self.editor.MergeNodes(GroupsOfNodes)
+
+    ## Remove all but one of elements built on the same nodes.
+    def MergeEqualElements(self):
+        self.editor.MergeEqualElements()
+        
+    ## Sew free borders
+    def SewFreeBorders (self, FirstNodeID1, SecondNodeID1, LastNodeID1,
+                        FirstNodeID2, SecondNodeID2, LastNodeID2,
+                        CreatePolygons, CreatePolyedrs):
+        return self.editor.SewFreeBorders(FirstNodeID1, SecondNodeID1, LastNodeID1,
+                                          FirstNodeID2, SecondNodeID2, LastNodeID2,
+                                          CreatePolygons, CreatePolyedrs)
+
+    ## Sew conform free borders
+    def SewConformFreeBorders (self, FirstNodeID1, SecondNodeID1, LastNodeID1,
+                               FirstNodeID2, SecondNodeID2):
+        return self.editor.SewConformFreeBorders(FirstNodeID1, SecondNodeID1, LastNodeID1,
+                                                 FirstNodeID2, SecondNodeID2)
+    
+    ## Sew border to side
+    def SewBorderToSide (self, FirstNodeIDOnFreeBorder, SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,
+                         FirstNodeIDOnSide, LastNodeIDOnSide, CreatePolygons, CreatePolyedrs):
+        return self.editor.SewBorderToSide(FirstNodeIDOnFreeBorder, SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,
+                                           FirstNodeIDOnSide, LastNodeIDOnSide, CreatePolygons, CreatePolyedrs)
+
+    ## Sew two sides of a mesh. Nodes belonging to Side1 are
+    #  merged with nodes of elements of Side2.
+    #  Number of elements in theSide1 and in theSide2 must be
+    #  equal and they should have similar node connectivity.
+    #  The nodes to merge should belong to sides borders and
+    #  the first node should be linked to the second.
+    def SewSideElements (self, IDsOfSide1Elements, IDsOfSide2Elements,
+                         NodeID1OfSide1ToMerge, NodeID1OfSide2ToMerge,
+                         NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge):
+        return self.editor.SewSideElements(IDsOfSide1Elements, IDsOfSide2Elements,
+                                           NodeID1OfSide1ToMerge, NodeID1OfSide2ToMerge,
+                                           NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge)
+
+    ## Set new nodes for given element.
+    #  @param ide the element id
+    #  @param newIDs nodes ids
+    #  @return If number of nodes is not corresponded to type of element - returns false
+    def ChangeElemNodes(self, ide, newIDs):
+        return self.editor.ChangeElemNodes(ide, newIDs)
+    
+    ## If during last operation of MeshEditor some nodes were
+    #  created this method returns list of it's IDs, \n
+    #  if new nodes not created - returns empty list
+    def GetLastCreatedNodes(self):
+        return self.editor.GetLastCreatedNodes()
+
+    ## If during last operation of MeshEditor some elements were
+    #  created this method returns list of it's IDs, \n
+    #  if new elements not creared - returns empty list
+    def GetLastCreatedElems(self):
+        return self.editor.GetLastCreatedElems()
index b2a3fa7ffa09e058efda73214d40e980a9589044..87f327472915d870fd56b7df05094e77545b839a 100644 (file)
@@ -51,7 +51,19 @@ EXPORT_HEADERS = \
        StdMeshers_AutomaticLength.hxx \
        StdMeshers_Distribution.hxx \
        StdMeshers_QuadranglePreference.hxx \
-       StdMeshers_QuadraticMesh.hxx
+       StdMeshers_QuadraticMesh.hxx \
+       StdMeshers_NumberOfLayers.hxx \
+       StdMeshers_Prism_3D.hxx \
+       StdMeshers_ProjectionSource1D.hxx \
+       StdMeshers_ProjectionSource2D.hxx \
+       StdMeshers_ProjectionSource3D.hxx \
+       StdMeshers_Projection_1D.hxx \
+       StdMeshers_Projection_2D.hxx \
+       StdMeshers_Projection_3D.hxx \
+       StdMeshers_RadialPrism_3D.hxx  \
+       StdMeshers_ProjectionUtils.hxx \
+       StdMeshers_LayerDistribution.hxx \
+       SMESH_StdMeshers.hxx
 
 EXPORT_PYSCRIPTS =
 
@@ -78,7 +90,18 @@ LIB_SRC = \
        StdMeshers_AutomaticLength.cxx \
        StdMeshers_Distribution.cxx \
        StdMeshers_QuadranglePreference.cxx \
-       StdMeshers_QuadraticMesh.cxx
+       StdMeshers_QuadraticMesh.cxx \
+       StdMeshers_NumberOfLayers.cxx \
+       StdMeshers_Prism_3D.cxx \
+       StdMeshers_ProjectionSource1D.cxx \
+       StdMeshers_ProjectionSource2D.cxx \
+       StdMeshers_ProjectionSource3D.cxx \
+       StdMeshers_Projection_1D.cxx \
+       StdMeshers_Projection_2D.cxx \
+       StdMeshers_Projection_3D.cxx \
+       StdMeshers_RadialPrism_3D.cxx \
+       StdMeshers_ProjectionUtils.cxx \
+       StdMeshers_LayerDistribution.cxx
 
 LIB_SERVER_IDL = 
 
diff --git a/src/StdMeshers/SMESH_StdMeshers.hxx b/src/StdMeshers/SMESH_StdMeshers.hxx
new file mode 100755 (executable)
index 0000000..669ca67
--- /dev/null
@@ -0,0 +1,41 @@
+//  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_StdMeshers.hxx
+//  Author : Alexander BORODIN
+//  Module : SMESH
+//  $Header: 
+
+#ifndef _SMESH_StdMeshers_HXX_
+#define _SMESH_StdMeshers_HXX_
+
+#ifdef WNT
+ #if defined STDMESHERS_EXPORTS
+  #define STDMESHERS_EXPORT __declspec( dllexport )
+ #else
+  #define STDMESHERS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define STDMESHERS_EXPORT
+#endif
+
+#endif
+
index aa132d9fec8a8bee6cb2204f7d15ec96dfab0923..09b7edd15f02ce0c28874bd3c033afe66935270a 100644 (file)
 #ifndef _SMESH_ARITHMETIC1D_HXX_
 #define _SMESH_ARITHMETIC1D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_Arithmetic1D:
+class STDMESHERS_EXPORT StdMeshers_Arithmetic1D:
   public SMESH_Hypothesis
 {
 public:
index c1049345b37b7fcd63c41d6fd61e26ff601985d5..a9194dce78d041aeb4d3bef936f9b19ff6a930cf 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_AutomaticLength_HXX_
 #define _SMESH_AutomaticLength_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
@@ -45,7 +47,7 @@ class TopoDS_TShape;
  * S = S0 * f(L/Lmin) where f(x) = 1 + (2/Pi * 7 * atan(x/5) )
  */
 
-class StdMeshers_AutomaticLength:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_AutomaticLength:public SMESH_Hypothesis
 {
 public:
   StdMeshers_AutomaticLength(int hypId, int studyId, SMESH_Gen * gen);
index 9e0e69171f09d2d52926501a6a10a72fb14f45a3..de3d52778050e031e42bc7f5690273eb45d0524d 100644 (file)
@@ -25,8 +25,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-
 #include "StdMeshers_Deflection1D.hxx"
 #include "utilities.h"
 
@@ -44,6 +42,8 @@ using namespace std;
 #include <gp_Lin.hxx>
 #include <gp_Pnt.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index d1418ad5ad3a2edf786922f43efd4d1196781532..f321c83d5a62e9a29b8bc0218656697f37cdfe2f 100644 (file)
 #ifndef _StdMeshers_Deflection1D_HXX_
 #define _StdMeshers_Deflection1D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_Deflection1D:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_Deflection1D:public SMESH_Hypothesis
 {
  public:
   StdMeshers_Deflection1D(int hypId, int studyId, SMESH_Gen * gen);
index 989fcf3ced6cd7b4ed6db6c4cfdf0c4e5caebef1..6cfb7559784da6f7d36561980c09c3a634ecea29 100644 (file)
@@ -62,7 +62,7 @@ bool Function::value( const double, double& f ) const
 #else
     CASCatch_TRY {
 #endif
-      f = pow( 10, f );
+      f = pow( 10., f );
 #ifdef NO_CAS_CATCH
     } catch(Standard_Failure) {
 #else
@@ -213,7 +213,7 @@ FunctionExpr::~FunctionExpr()
 {
 }
 
-Standard_Boolean FunctionExpr::Value( Standard_Real T, Standard_Real& F )
+Standard_Boolean FunctionExpr::Value( const Standard_Real T, Standard_Real& F )
 {
   double f;
   Standard_Boolean res = value( T, f );
index 3f9cfd574d970b6454fcb737cac93bff58579096..2dafda44ba83c375cfa82b056a38c0df4c14ce92 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _STD_MESHERS_DISTRIBUTION_HXX_
 #define _STD_MESHERS_DISTRIBUTION_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include <vector>
 #include <math_Function.hxx>
 #include <ExprIntrp_GenExp.hxx>
@@ -36,7 +38,7 @@
 #include <TColStd_Array1OfReal.hxx>
 
 
-class Function 
+class STDMESHERS_EXPORT Function 
 {
 public:
   Function( const int );
@@ -48,7 +50,7 @@ private:
   int myConv;
 };
 
-class FunctionIntegral : public Function
+class STDMESHERS_EXPORT FunctionIntegral : public Function
 {
 public:
   FunctionIntegral( const Function*, const double );
@@ -61,7 +63,7 @@ private:
   double    myStart;
 };
 
-class FunctionTable : public Function
+class STDMESHERS_EXPORT FunctionTable : public Function
 {
 public:
   FunctionTable( const std::vector<double>&, const int );
@@ -84,12 +86,12 @@ private:
   std::vector<double>  myData;
 };
 
-class FunctionExpr : public Function, public math_Function
+class STDMESHERS_EXPORT FunctionExpr : public Function, public math_Function
 {
 public:
   FunctionExpr( const char*, const int );
   virtual ~FunctionExpr();
-  virtual Standard_Boolean Value( Standard_Real, Standard_Real& );
+  virtual Standard_Boolean Value( const Standard_Real, Standard_Real& );
   virtual bool   value( const double, double& ) const;
   virtual double integral( const double, const double ) const;
 
@@ -99,14 +101,17 @@ private:
   TColStd_Array1OfReal        myValues;
 };
 
+STDMESHERS_EXPORT
 bool buildDistribution( const Function& f,
                        const double start, const double end,
                        const int nbSeg,
                        vector<double>& data,
                        const double eps );
 
+STDMESHERS_EXPORT
 bool buildDistribution( const TCollection_AsciiString& f, const int conv, const double start, const double end,
                        const int nbSeg, vector<double>& data, const double eps );
+STDMESHERS_EXPORT
 bool buildDistribution( const std::vector<double>& f, const int conv, const double start, const double end,
                        const int nbSeg, vector<double>& data, const double eps );
 
index 1a2e15e1ea0e59b484bd65b848fdcd2e8bc37199..ccb6c4a5a38e37c1222921d7afb3cc68e0da00ad 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Hexa_3D.hxx"
 #include "StdMeshers_Quadrangle_2D.hxx"
 #include "SMESH_Gen.hxx"
@@ -61,6 +60,8 @@ using namespace std;
 //modified by NIZNHY-PKV Wed Nov 17 15:31:58 2004 f
 #include "StdMeshers_Penta_3D.hxx"
 
+using namespace std;
+
 static bool ComputePentahedralMesh(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape);
 //modified by NIZNHY-PKV Wed Nov 17 15:32:00 2004 t
 
index 98a727b091989c1bc20f815e12f2924390526464..4fa9311c73472f1dd2294a5d652745fc3e453fc4 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_HEXA_3D_HXX_
 #define _SMESH_HEXA_3D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_3D_Algo.hxx"
 #include "SMESH_Mesh.hxx"
 #include "StdMeshers_Quadrangle_2D.hxx"
@@ -59,7 +61,7 @@ typedef struct conv2dstruct
   int jc;
 } Conv2DStruct;
 
-class StdMeshers_Hexa_3D:
+class STDMESHERS_EXPORT StdMeshers_Hexa_3D:
   public SMESH_3D_Algo
 {
 public:
diff --git a/src/StdMeshers/StdMeshers_LayerDistribution.cxx b/src/StdMeshers/StdMeshers_LayerDistribution.cxx
new file mode 100644 (file)
index 0000000..42d99c8
--- /dev/null
@@ -0,0 +1,148 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_LayerDistribution.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_LayerDistribution.hxx"
+
+#include "utilities.h"
+
+using namespace std;
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution::StdMeshers_LayerDistribution
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_LayerDistribution::StdMeshers_LayerDistribution(int hypId, int studyId,
+                                                           SMESH_Gen * gen)
+  : SMESH_Hypothesis(hypId, studyId, gen)
+{
+  _name = "LayerDistribution"; // used by RadialPrism_3D
+  _param_algo_dim = 3; // 3D
+  myHyp = 0;
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution::~StdMeshers_LayerDistribution
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_LayerDistribution::~StdMeshers_LayerDistribution()
+{
+  MESSAGE( "StdMeshers_LayerDistribution::~StdMeshers_LayerDistribution" );
+}
+
+//=============================================================================
+  /*!
+   * \brief Sets  1D hypothesis specifying distribution of layers
+    * \param hyp1D - 1D hypothesis
+   */
+//=============================================================================
+
+void StdMeshers_LayerDistribution::SetLayerDistribution(SMESH_Hypothesis* hyp1D)
+  throw ( SALOME_Exception )
+{
+  if ( myHyp != hyp1D ) {
+    if ( myHyp && hyp1D->GetDim() != 1 )
+      throw SALOME_Exception(LOCALIZED("1D hypothesis is expected"));
+    myHyp = hyp1D;
+  }
+  std::ostringstream os;
+  if ( myHyp )
+    myHyp->SaveTo( os );
+
+  if ( mySavedHyp != os.str() )
+    NotifySubMeshesHypothesisModification();
+
+  mySavedHyp = os.str();
+}
+
+//=============================================================================
+/*!
+ *  Servant saves and loads my hypothesis
+ */
+//=============================================================================
+
+ostream & StdMeshers_LayerDistribution::SaveTo(ostream & save)
+{
+  return save;
+}
+
+//=============================================================================
+/*!
+ *   Servant saves and loads my hypothesis
+ */
+//=============================================================================
+
+istream & StdMeshers_LayerDistribution::LoadFrom(istream & load)
+{
+  return load;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & operator <<(ostream & save, StdMeshers_LayerDistribution & hyp)
+{
+  return hyp.SaveTo( save );
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & operator >>(istream & load, StdMeshers_LayerDistribution & hyp)
+{
+  return hyp.LoadFrom( load );
+}
+
+//================================================================================
+/*!
+ * \brief Initialize start and end length 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
+ */
+//================================================================================
+
+bool StdMeshers_LayerDistribution::SetParametersByMesh(const SMESH_Mesh*   ,
+                                                       const TopoDS_Shape& )
+{
+  return false;
+}
diff --git a/src/StdMeshers/StdMeshers_LayerDistribution.hxx b/src/StdMeshers/StdMeshers_LayerDistribution.hxx
new file mode 100644 (file)
index 0000000..93c16c8
--- /dev/null
@@ -0,0 +1,93 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_LayerDistribution.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_LayerDistribution_HXX_
+#define _SMESH_LayerDistribution_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_Hypothesis.hxx"
+#include "Utils_SALOME_Exception.hxx"
+
+#include <string>
+
+class SMESH_Gen;
+
+// =========================================================
+// =========================================================
+/*!
+ * This hypothesis is used by "Radial prism" algorithm.
+ * It specifies 1D hypothesis defining distribution of segments between the internal 
+ * and the external surfaces.
+ */
+// =========================================================
+// =========================================================
+
+class STDMESHERS_EXPORT StdMeshers_LayerDistribution:  public SMESH_Hypothesis
+{
+public:
+  // Constructor
+  StdMeshers_LayerDistribution( int hypId, int studyId, SMESH_Gen * gen );
+  // Destructor
+  virtual ~StdMeshers_LayerDistribution();
+
+  /*!
+   * \brief Sets  1D hypothesis specifying distribution of layers
+    * \param hyp1D - 1D hypothesis
+   */
+  void SetLayerDistribution(SMESH_Hypothesis* hyp1D)
+    throw ( SALOME_Exception );
+
+  /*!
+   * \brief Returns 1D hypothesis specifying distribution of layers
+    * \retval SMESH::SMESH_Hypothesis_ptr - 1D hypothesis
+   */
+  SMESH_Hypothesis* GetLayerDistribution() const { return myHyp; }
+
+  virtual std::ostream & SaveTo(std::ostream & save);
+  virtual std::istream & LoadFrom(std::istream & load);
+  friend std::ostream & operator <<(std::ostream & save, StdMeshers_LayerDistribution & hyp);
+  friend std::istream & operator >>(std::istream & load, StdMeshers_LayerDistribution & hyp);
+
+  /*!
+   * \brief Initialize parameters 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
+    *
+    * Implementation does noting
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
+
+protected:
+  SMESH_Hypothesis* myHyp;
+  std::string       mySavedHyp;
+};
+
+#endif
+
index 27f5b8bc0bff2b9b771e7de23f3c5c7afe67055e..7fa99ee5ed19326777c93a46903b5505900f4def 100644 (file)
 #ifndef _SMESH_LENGTHFROMEDGES_HXX_
 #define _SMESH_LENGTHFROMEDGES_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_LengthFromEdges:
+class STDMESHERS_EXPORT StdMeshers_LengthFromEdges:
   public SMESH_Hypothesis
 {
 public:
index c283be121afb1a413ef65710b18231212cafc560..79a85df7fdec11580a7d71ccf5cfe5379b1b869c 100644 (file)
 #ifndef _SMESH_LOCALLENGTH_HXX_
 #define _SMESH_LOCALLENGTH_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_LocalLength:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_LocalLength:public SMESH_Hypothesis
 {
  public:
   StdMeshers_LocalLength(int hypId, int studyId, SMESH_Gen * gen);
index ca7405ba22c0673f41e258e715648256ff5f4a89..49ac4365d5089d7ba3a16bbd1b076dd664d9b233 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_MEFISTO_2D.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
index 5b27addcc4987d4df1110fb8880ef2df1346e0b0..f9601490fd308cd54f528abc7a512662a054ab92 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _StdMeshers_MEFISTO_2D_HXX_
 #define _StdMeshers_MEFISTO_2D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_2D_Algo.hxx"
 #include <TopoDS_Wire.hxx>
 
@@ -47,7 +49,7 @@ class SMDS_MeshNode;
 #include <map>
 #include "Rn.h"
 
-class StdMeshers_MEFISTO_2D:
+class STDMESHERS_EXPORT StdMeshers_MEFISTO_2D:
   public SMESH_2D_Algo
 {
 public:
index 303ce22d00f81a03b7711d907b83d23fba0b89bf..e8e33aa1aecc13e5fa7f5c2630cb4941df9ea4aa 100644 (file)
 #ifndef _SMESH_MAXELEMENTAREA_HXX_
 #define _SMESH_MAXELEMENTAREA_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_MaxElementArea:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_MaxElementArea:public SMESH_Hypothesis
 {
 public:
   StdMeshers_MaxElementArea(int hypId, int studyId, SMESH_Gen * gen);
index c2e64b426fb57ff7c995c969ebdf7696ba432a68..42b8b469e73ea14d8badf9c65e8680cea55ae2f2 100644 (file)
@@ -27,8 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-
 #include "StdMeshers_MaxElementVolume.hxx"
 
 #include "SMDS_MeshElement.hxx"
@@ -42,6 +40,8 @@ using namespace std;
 #include <TopExp_Explorer.hxx>
 #include <TopTools_IndexedMapOfShape.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index e8545d9ffa05579e4a847b840433b058676644af..16dc5a6043d4da2908190b9187d5a344f8631d07 100644 (file)
 #ifndef _SMESH_MAXELEMENTVOLUME_HXX_
 #define _SMESH_MAXELEMENTVOLUME_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_MaxElementVolume:
+class STDMESHERS_EXPORT StdMeshers_MaxElementVolume:
   public SMESH_Hypothesis
 {
 public:
index 3e509cbd9da6978aa2e32f78d917b11253ff1ebe..7e0bd11cba2a99bdf275618dfd96ceb70c230f7d 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_NotConformAllowed.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index 33da8ddd626b3853e67def86a07215ed3c771808..5cbbb4265ac6cde7f221af8f95dc6882768cb52b 100644 (file)
 #ifndef _StdMeshers_NotConformAllowed_HXX_
 #define _StdMeshers_NotConformAllowed_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_NotConformAllowed:
+class STDMESHERS_EXPORT StdMeshers_NotConformAllowed:
   public SMESH_Hypothesis
 {
 public:
diff --git a/src/StdMeshers/StdMeshers_NumberOfLayers.cxx b/src/StdMeshers/StdMeshers_NumberOfLayers.cxx
new file mode 100644 (file)
index 0000000..c1bab0f
--- /dev/null
@@ -0,0 +1,162 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_NumberOfLayers.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_NumberOfLayers.hxx"
+
+
+#include "utilities.h"
+
+using namespace std;
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers::StdMeshers_NumberOfLayers
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_NumberOfLayers::StdMeshers_NumberOfLayers(int hypId, int studyId,
+                                                     SMESH_Gen * gen)
+  : SMESH_Hypothesis(hypId, studyId, gen)
+{
+  _name = "NumberOfLayers"; // used by RadialPrism_3D
+  _param_algo_dim = 3; // 3D
+  _nbLayers = 1;
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers::~StdMeshers_NumberOfLayers
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_NumberOfLayers::~StdMeshers_NumberOfLayers()
+{
+  MESSAGE( "StdMeshers_NumberOfLayers::~StdMeshers_NumberOfLayers" );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers::SetNumberOfLayers
+ *
+ *  Sets <number of segments> parameter value
+ */
+//=============================================================================
+
+void StdMeshers_NumberOfLayers::SetNumberOfLayers(int numberOfLayers)
+  throw ( SALOME_Exception )
+{
+  if ( _nbLayers != numberOfLayers ) {
+    if ( numberOfLayers <= 0 )
+      throw SALOME_Exception(LOCALIZED("numberOfLayers must be positive"));
+    _nbLayers = numberOfLayers;
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers::GetNumberOfLayers
+ *
+ *  Returns <number of layers> parameter value
+ */
+//=============================================================================
+
+int StdMeshers_NumberOfLayers::GetNumberOfLayers() const
+{
+  return _nbLayers;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & StdMeshers_NumberOfLayers::SaveTo(ostream & save)
+{
+  save << _nbLayers;
+  return save;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & StdMeshers_NumberOfLayers::LoadFrom(istream & load)
+{
+  bool isOK = true;
+  isOK = (load >> _nbLayers);
+  if (!isOK)
+    load.clear(ios::badbit | load.rdstate());
+  return load;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & operator <<(ostream & save, StdMeshers_NumberOfLayers & hyp)
+{
+  return hyp.SaveTo( save );
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & operator >>(istream & load, StdMeshers_NumberOfLayers & hyp)
+{
+  return hyp.LoadFrom( load );
+}
+
+//================================================================================
+/*!
+ * \brief Initialize start and end length 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
+ */
+//================================================================================
+
+bool StdMeshers_NumberOfLayers::SetParametersByMesh(const SMESH_Mesh*   ,
+                                                    const TopoDS_Shape& )
+{
+  return false;
+}
diff --git a/src/StdMeshers/StdMeshers_NumberOfLayers.hxx b/src/StdMeshers/StdMeshers_NumberOfLayers.hxx
new file mode 100644 (file)
index 0000000..c0b5a6b
--- /dev/null
@@ -0,0 +1,83 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_NumberOfLayers.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_NumberOfLayers_HXX_
+#define _SMESH_NumberOfLayers_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_Hypothesis.hxx"
+#include "Utils_SALOME_Exception.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+// =========================================================
+/*!
+ * This hypothesis is used by "Radial prism" algorithm.
+ * It specifies number of segments between the internal 
+ * and the external surfaces.
+ */
+// =========================================================
+// =========================================================
+
+class STDMESHERS_EXPORT StdMeshers_NumberOfLayers:  public SMESH_Hypothesis
+{
+public:
+  // Constructor
+  StdMeshers_NumberOfLayers( int hypId, int studyId, SMESH_Gen * gen );
+  // Destructor
+  virtual ~StdMeshers_NumberOfLayers();
+
+  // Sets <number of segments> parameter value
+  void SetNumberOfLayers(int numberOfLayers) throw ( SALOME_Exception );
+
+  // Returns <number of layers> parameter value
+  int GetNumberOfLayers() const;
+
+  virtual std::ostream & SaveTo(std::ostream & save);
+  virtual std::istream & LoadFrom(std::istream & load);
+  friend std::ostream & operator <<(std::ostream & save, StdMeshers_NumberOfLayers & hyp);
+  friend std::istream & operator >>(std::istream & load, StdMeshers_NumberOfLayers & hyp);
+
+  /*!
+   * \brief Initialize parameters 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
+    *
+    * Implementation does noting
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
+
+protected:
+  int _nbLayers;
+};
+
+#endif
+
index 05faf2ed3de365204698fc2881df772b943334e9..b967dc933b1f83de8ae218febaef966b4f9ca55e 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_NUMBEROFSEGMENTS_HXX_
 #define _SMESH_NUMBEROFSEGMENTS_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 #include <vector>
@@ -40,7 +42,7 @@
  * It provides parameters for subdivision an edge by various
  * distribution types, considering the given number of resulting segments
  */
-class StdMeshers_NumberOfSegments:
+class STDMESHERS_EXPORT StdMeshers_NumberOfSegments:
   public SMESH_Hypothesis
 {
 public:
index ec275531750d4ec12d681aad088e52810c4fd6bf..353afb8712348ab35ea5f3478c432c1f50090666 100644 (file)
 #include "SMDS_VolumeTool.hxx"
 #include "SMESHDS_SubMesh.hxx"
 #include "SMESH_Mesh.hxx"
-#include "SMESH_subMesh.hxx"
 #include "SMESH_MeshEditor.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMESH_subMeshEventListener.hxx"
 
+#include <BRepTools.hxx>
+#include <BRepTools_WireExplorer.hxx>
 #include <BRep_Tool.hxx>
 #include <TopAbs_ShapeEnum.hxx>
 #include <TopExp.hxx>
@@ -46,6 +49,7 @@
 #include <TopTools_IndexedMapOfShape.hxx>
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_ListOfShape.hxx>
+#include <TopTools_MapOfShape.hxx>
 #include <TopoDS.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Shell.hxx>
@@ -63,6 +67,8 @@ using namespace std;
 typedef map < int, int, less<int> >::iterator   \
   StdMeshers_IteratorOfDataMapOfIntegerInteger;
 
+enum { NB_WALL_FACES = 4 };
+
 //=======================================================================
 //function : StdMeshers_Penta_3D
 //purpose  : 
@@ -264,81 +270,17 @@ void StdMeshers_Penta_3D::MakeNodes()
       ++j;
     }
   }
-  /*
-  //DEB
-  {
-    int iShapeSupportID, iBaseNodeID;
-    //
-    //printf("\n\n*** Base Face\n");
-    i=0;
-    for (j=0; j<myJSize; ++j) {
-      ij=i*myJSize+j;
-      const StdMeshers_TNode& aTNode=myTNodes[ij];
-      iShapeSupportID=aTNode.ShapeSupportID();
-      iBaseNodeID=aTNode.BaseNodeID();
-      const gp_XYZ& aXYZ=aTNode.NormCoord();
-      printf("*** j:%d bID#%d iSS:%d { %lf %lf %lf }\n",
-            j,  iBaseNodeID, iShapeSupportID, aXYZ.X(),  aXYZ.Y(), aXYZ.Z());
-    }
-  }
-  */
-  //DEB
-  //return; //zz
-  //
-  // 3. Finding of Z-layers
-//   vector<double> aZL(myISize);
-//   vector<double>::iterator aItZL1, aItZL2 ;
-//   //
-//   const TopoDS_Shape& aE00z=myBlock.Shape(SMESH_Block::ID_E00z);
-//   SMDS_NodeIteratorPtr aItaE00z =
-//     pMesh->GetSubMeshContaining(aE00z)->GetSubMeshDS()->GetNodes();
-//   //
-//   aZL[0]=0.;
-//   i=1;
-//   while (aItaE00z->more()) {
-//     const SMDS_MeshNode* aNode=aItaE00z->next();
-//     const SMDS_EdgePosition* epos =
-//       static_cast<const SMDS_EdgePosition*>(aNode->GetPosition().get());
-//     myBlock.ComputeParameters( epos->GetUParameter(), aE00z, aCoords );
-//     iErr=myBlock.ErrorStatus();
-//     if (iErr) {
-//       MESSAGE("StdMeshers_Penta_3D::MakeNodes()," <<
-//               "SMESHBlock: ComputeParameters operation failed");
-//       myErrorStatus=101; // SMESHBlock: ComputeParameters operation failed
-//       return;
-//     }
-//     aZL[i]=aCoords.Z();
-//     ++i;
-//   }
-//   aZL[i]=1.;
-//   //
-//   aItZL1=aZL.begin();
-//   aItZL2=aZL.end();
-//   //
-//   // Sorting the layers
-//   sort(aItZL1, aItZL2);
-  //DEB
-  /*
-  printf("** \n\n Layers begin\n");
-  for(i=0, aItZL=aItZL1; aItZL!=aItZL2; ++aItZL, ++i) {
-    printf(" #%d : %lf\n", i, *aItZL);
-  } 
-  printf("** Layers end\n");
-  */
-  //DEB
-  //
-  //
 
   // 3.1 Fill maps of wall nodes
-  SMESH_Block::TShapeID wallFaceID[4] = {
+  SMESH_Block::TShapeID wallFaceID[ NB_WALL_FACES ] = {
     SMESH_Block::ID_Fx0z, SMESH_Block::ID_Fx1z,
     SMESH_Block::ID_F0yz, SMESH_Block::ID_F1yz
     };
-  SMESH_Block::TShapeID baseEdgeID[4] = {
+  SMESH_Block::TShapeID baseEdgeID[ NB_WALL_FACES ] = {
     SMESH_Block::ID_Ex00, SMESH_Block::ID_Ex10,
     SMESH_Block::ID_E0y0, SMESH_Block::ID_E1y0
     };
-  for ( i = 0; i < 4; ++i ) {
+  for ( i = 0; i < NB_WALL_FACES ; ++i ) {
     int fIndex = SMESH_Block::ShapeIndex( wallFaceID[ i ]);
     bool ok = LoadIJNodes (myWallNodesMaps[ fIndex ],
                            TopoDS::Face( myBlock.Shape( wallFaceID[ i ] )),
@@ -352,9 +294,9 @@ void StdMeshers_Penta_3D::MakeNodes()
   }
 
   // 3.2 find node columns for vertical edges and edge IDs
-  vector<const SMDS_MeshNode*> * verticEdgeNodes[ 4 ];
-  SMESH_Block::TShapeID          verticEdgeID   [ 4 ];
-  for ( i = 0; i < 4; ++i ) { // 4 first base nodes are nodes on vertices
+  vector<const SMDS_MeshNode*> * verticEdgeNodes[ NB_WALL_FACES ];
+  SMESH_Block::TShapeID          verticEdgeID   [ NB_WALL_FACES ];
+  for ( i = 0; i < NB_WALL_FACES ; ++i ) { // 4 first base nodes are nodes on vertices
     // edge ID
     SMESH_Block::TShapeID eID, vID = aSIDs[ i ];
     ShapeSupportID(false, vID, eID);
@@ -362,7 +304,7 @@ void StdMeshers_Penta_3D::MakeNodes()
     // column nodes
     StdMeshers_TNode& aTNode = myTNodes[ i ];
     verticEdgeNodes[ i ] = 0;
-    for ( j = 0; j < 4; ++j ) { // loop on 4 wall faces
+    for ( j = 0; j < NB_WALL_FACES ; ++j ) { // loop on 4 wall faces
       int fIndex = SMESH_Block::ShapeIndex( wallFaceID[ j ]);
       StdMeshers_IJNodeMap & ijNodes= myWallNodesMaps[ fIndex ];
       if ( ijNodes.begin()->second[0] == aTNode.Node() )
@@ -416,20 +358,20 @@ void StdMeshers_Penta_3D::MakeNodes()
   N = itn->next();
   gp_XY UV111 = myTool->GetNodeUV(TopFace,N);
 
-  for (j=0; j<myJSize; ++j) {
+  for (j=0; j<myJSize; ++j) { // loop on all nodes of the base face (ID_Fxy0)
     // base node info
     const StdMeshers_TNode& aBN = myTNodes[j];
     aBNSSID = (SMESH_Block::TShapeID)aBN.ShapeSupportID();
     iBNID = aBN.BaseNodeID();
     const gp_XYZ& aBNXYZ = aBN.NormCoord();
-    bool createNode = ( aBNSSID == SMESH_Block::ID_Fxy0 );
+    bool createNode = ( aBNSSID == SMESH_Block::ID_Fxy0 ); // if base node is inside a bottom face
     //
     // set XYZ on horizontal edges and get node columns of faces:
     // 2 columns for each face, between which a base node is located
     vector<const SMDS_MeshNode*>* nColumns[8];
-    double ratio[4]; // base node position between columns [0.-1.]
+    double ratio[ NB_WALL_FACES ]; // base node position between columns [0.-1.]
     if ( createNode ) {
-      for ( k = 0; k < 4; ++k ) {
+      for ( k = 0; k < NB_WALL_FACES ; ++k ) {
         ratio[ k ] = SetHorizEdgeXYZ (aBNXYZ, wallFaceID[ k ],
                                       nColumns[k*2], nColumns[k*2+1]);
       }
@@ -441,27 +383,31 @@ void StdMeshers_Penta_3D::MakeNodes()
     myShapeXYZ[ SMESH_Block::ID_Fxy1 ].SetCoord( 0., 0., 0. );
     //
     // first create or find a top node, then the rest ones in a column
-    for (i=myISize-1; i>0; --i) {
+    for (i=myISize-1; i>0; --i) // vertical loop, from top to bottom
+    {
       bIsUpperLayer = (i==(myISize-1));
       gp_XY UV_Ex01, UV_Ex11, UV_E0y1, UV_E1y1;
-      if ( createNode ) {
+      if ( createNode ) // a base node is inside a top face
+      {
         // set XYZ on vertical edges and faces
-        for ( k = 0; k < 4; ++k ) {
+        for ( k = 0; k < NB_WALL_FACES ; ++k ) {
+          // XYZ on a vertical edge 
           const SMDS_MeshNode* n = (*verticEdgeNodes[ k ]) [ i ];
           myShapeXYZ[ verticEdgeID[ k ] ].SetCoord( n->X(), n->Y(), n->Z() );
-          //
+          // XYZ on a face (part 1 from one column)
           n = (*nColumns[k*2]) [ i ];
+          gp_XYZ xyz( n->X(), n->Y(), n->Z() );
+          myShapeXYZ[ wallFaceID[ k ]] = ( 1. - ratio[ k ]) * xyz;
           gp_XY tmp1;
-          if( i==myISize-1 ) {
+          if( bIsUpperLayer ) {
             tmp1 = myTool->GetNodeUV(TopFace,n);
             tmp1 = ( 1. - ratio[ k ]) * tmp1;
           }
-          gp_XYZ xyz( n->X(), n->Y(), n->Z() );
-          myShapeXYZ[ wallFaceID[ k ]] = ( 1. - ratio[ k ]) * xyz;
+          // XYZ on a face (part 2 from other column)
           n = (*nColumns[k*2+1]) [ i ];
           xyz.SetCoord( n->X(), n->Y(), n->Z() );
           myShapeXYZ[ wallFaceID[ k ]] += ratio[ k ] * xyz;
-          if( i==myISize-1 ) {
+          if( bIsUpperLayer ) {
             gp_XY tmp2 = myTool->GetNodeUV(TopFace,n);
             tmp1 +=  ratio[ k ] * tmp2;
             if( k==0 )
@@ -662,12 +608,15 @@ double StdMeshers_Penta_3D::SetHorizEdgeXYZ(const gp_XYZ&                  aBase
                                             vector<const SMDS_MeshNode*>*& aCol2)
 {
   // find base and top edges of the face
+  enum { BASE = 0, TOP };
   vector< int > edgeVec; // 0-base, 1-top
   SMESH_Block::GetFaceEdgesIDs( aFaceID, edgeVec );
   //
-  int coord = SMESH_Block::GetCoordIndOnEdge( edgeVec[ 0 ] );
+  int coord = SMESH_Block::GetCoordIndOnEdge( edgeVec[ BASE ] );
+  bool isForward = myBlock.IsForwadEdge( edgeVec[ BASE ] );
+
   double param = aBaseNodeParams.Coord( coord );
-  if ( !myBlock.IsForwadEdge( edgeVec[ 0 ] ))
+  if ( !isForward)
     param = 1. - param;
   //
   // look for columns around param
@@ -686,19 +635,34 @@ double StdMeshers_Penta_3D::SetHorizEdgeXYZ(const gp_XYZ&                  aBase
   aCol1 = & par_nVec_1->second;
   aCol2 = & par_nVec_2->second;
 
-  // base edge
-  const SMDS_MeshNode* n1 = aCol1->front();
-  const SMDS_MeshNode* n2 = aCol2->front();
-  gp_XYZ xyz1( n1->X(), n1->Y(), n1->Z() ), xyz2( n2->X(), n2->Y(), n2->Z() );
-  myShapeXYZ[ edgeVec[ 0 ] ] = ( 1. - r ) * xyz1 + r * xyz2;
-
   // top edge
-  n1 = aCol1->back();
-  n2 = aCol2->back();
-  xyz1.SetCoord( n1->X(), n1->Y(), n1->Z() );
-  xyz2.SetCoord( n2->X(), n2->Y(), n2->Z() );
-  myShapeXYZ[ edgeVec[ 1 ] ] = ( 1. - r ) * xyz1 + r * xyz2;
+  if (1) {
+    // this variant is better for cases with curved edges and
+    // different nodes distribution on top and base edges
+    const SMDS_MeshNode* n1 = aCol1->back();
+    const SMDS_MeshNode* n2 = aCol2->back();
+    gp_XYZ xyz1( n1->X(), n1->Y(), n1->Z() );
+    gp_XYZ xyz2( n2->X(), n2->Y(), n2->Z() );
+    myShapeXYZ[ edgeVec[ 1 ] ] = ( 1. - r ) * xyz1 + r * xyz2;
+  }
+  else {
+    // this variant is better for other cases
+//   SMESH_MesherHelper helper( *GetMesh() );
+//   const TopoDS_Edge & edge = TopoDS::Edge( myBlock.Shape( edgeVec[ TOP ]));
+//   double u1 = helper.GetNodeU( edge, n1 );
+//   double u2 = helper.GetNodeU( edge, n2 );
+//   double u = ( 1. - r ) * u1 + r * u2;
+//   gp_XYZ topNodeParams;
+//   myBlock.Block().EdgeParameters( edgeVec[ TOP ], u, topNodeParams );
+//   myBlock.Block().EdgePoint( edgeVec[ TOP ],
+//                              topNodeParams,
+//                              myShapeXYZ[ edgeVec[ TOP ]]);
+  }
 
+  // base edge
+  myBlock.Block().EdgePoint( edgeVec[ BASE ],
+                             aBaseNodeParams,
+                             myShapeXYZ[ edgeVec[ BASE ]]);
   return r;
 }
 
@@ -862,10 +826,13 @@ void StdMeshers_Penta_3D::MakeMeshOnFxy1()
     TopoDS::Face(myBlock.Shape(SMESH_Block::ID_Fxy0));
   const TopoDS_Face& aFxy1=
     TopoDS::Face(myBlock.Shape(SMESH_Block::ID_Fxy1));
+  SMESH_MesherHelper faceHelper( *GetMesh() );
+  faceHelper.IsQuadraticSubMesh(aFxy1);
   //
   SMESH_Mesh* pMesh = GetMesh();
   SMESHDS_Mesh * meshDS = pMesh->GetMeshDS();
   //
+  SMESH_subMesh *aSubMesh1 = pMesh->GetSubMeshContaining(aFxy1);
   SMESH_subMesh *aSubMesh0 = pMesh->GetSubMeshContaining(aFxy0);
   SMESHDS_SubMesh *aSM0 = aSubMesh0->GetSubMeshDS();
   //
@@ -889,9 +856,6 @@ void StdMeshers_Penta_3D::MakeMeshOnFxy1()
     aNbNodes = pE0->NbNodes();
     if(myCreateQuadratic)
       aNbNodes = aNbNodes/2;
-//     if (aNbNodes!=3) {
-//       continue;
-//     }
     if ( aNodes1.size() < aNbNodes )
       aNodes1.resize( aNbNodes );
     //
@@ -919,18 +883,26 @@ void StdMeshers_Penta_3D::MakeMeshOnFxy1()
     SMDS_MeshFace * face = 0;
     switch ( aNbNodes ) {
     case 3:
-      //face = meshDS->AddFace(aNodes1[0], aNodes1[1], aNodes1[2]);
-      face = myTool->AddFace(aNodes1[0], aNodes1[1], aNodes1[2]);
+      face = faceHelper.AddFace(aNodes1[0], aNodes1[1], aNodes1[2]);
       break;
     case 4:
-      //face = meshDS->AddFace(aNodes1[0], aNodes1[1], aNodes1[2], aNodes1[3]);
-      face = myTool->AddFace(aNodes1[0], aNodes1[1], aNodes1[2], aNodes1[3]);
+      face = faceHelper.AddFace(aNodes1[0], aNodes1[1], aNodes1[2], aNodes1[3]);
       break;
     default:
       continue;
     }
     meshDS->SetMeshElementOnShape(face, aFxy1);
   }
+
+  // update compute state of top face submesh
+  aSubMesh1->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
+
+  // assure that mesh on the top face will be cleaned when it is cleaned
+  // on the bottom face
+  SMESH_subMesh* volSM = pMesh->GetSubMesh( myTool->GetSubShape() );
+  volSM->SetEventListener( new SMESH_subMeshEventListener(true),
+                           SMESH_subMeshEventListenerData::MakeData( aSubMesh1 ),
+                           aSubMesh0 ); // translate CLEAN event of aSubMesh0 to aSubMesh1
 }
 
 //=======================================================================
@@ -1307,7 +1279,7 @@ void StdMeshers_Penta_3D::MakeBlock()
   //
   // 1.1 Base vertex V000
   iNbE = aME.Extent();
-  if (iNbE!=4){
+  if (iNbE!= NB_WALL_FACES ){
     MESSAGE("StdMeshers_Penta_3D::MakeBlock() ");
     myErrorStatus=7; // too few edges are in base face aFTr 
     return;
@@ -1448,7 +1420,7 @@ bool StdMeshers_Penta_3D::LoadIJNodes(StdMeshers_IJNodeMap & theIJNodes,
   TopExp_Explorer exp( theFace, TopAbs_EDGE );
   int nbEdges = 0;
   for ( ; exp.More(); exp.Next() ) {
-    if ( ++nbEdges > 4 ) {
+    if ( ++nbEdges > NB_WALL_FACES ) {
       return false; // more than 4 edges in theFace
     }
     TopoDS_Edge e = TopoDS::Edge( exp.Current() );
@@ -1467,7 +1439,7 @@ bool StdMeshers_Penta_3D::LoadIJNodes(StdMeshers_IJNodeMap & theIJNodes,
     else
       e2 = e;
   }
-  if ( nbEdges < 4 ) {
+  if ( nbEdges < NB_WALL_FACES ) {
     return false; // less than 4 edges in theFace
   }
 
index df5aaae0f33928bb26142cc44d8584ec8085668a..18787686c434217f5ed50d29bed1d8aeb382f77f 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef StdMeshers_Penta_3D_HeaderFile
 #define StdMeshers_Penta_3D_HeaderFile
 
+#include "SMESH_StdMeshers.hxx"
+
 #include <map>
 
 ////////////////////////////////////////////////////////////////////////
@@ -47,7 +49,7 @@
 
 typedef std::map< double, std::vector<const SMDS_MeshNode*> > StdMeshers_IJNodeMap;
 
-class StdMeshers_SMESHBlock {
+class STDMESHERS_EXPORT StdMeshers_SMESHBlock {
  
 public:
   //
@@ -105,7 +107,7 @@ protected:
 ////////////////////////////////////////////////////////////////////////
 #include "SMDS_MeshNode.hxx"
 
-class StdMeshers_TNode {
+class STDMESHERS_EXPORT StdMeshers_TNode {
 
 public:
   
@@ -163,7 +165,7 @@ private:
 #include "SMESH_Mesh.hxx"
 #include <TopoDS_Shape.hxx>
 //
-class StdMeshers_Penta_3D {
+class STDMESHERS_EXPORT StdMeshers_Penta_3D {
 //
   public: // methods
     StdMeshers_Penta_3D();
diff --git a/src/StdMeshers/StdMeshers_Prism_3D.cxx b/src/StdMeshers/StdMeshers_Prism_3D.cxx
new file mode 100644 (file)
index 0000000..db1e082
--- /dev/null
@@ -0,0 +1,1785 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_Prism_3D.cxx
+// Module    : SMESH
+// Created   : Fri Oct 20 11:37:07 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_Prism_3D.hxx"
+
+#include "StdMeshers_ProjectionUtils.hxx"
+#include "SMESH_MeshEditor.hxx"
+#include "SMDS_VolumeTool.hxx"
+#include "SMDS_VolumeOfNodes.hxx"
+#include "SMDS_EdgePosition.hxx"
+
+#include "utilities.h"
+
+#include <BRepAdaptor_Curve.hxx>
+#include <BRepAdaptor_Curve2d.hxx>
+#include <BRep_Builder.hxx>
+#include <BRep_Tool.hxx>
+#include <Geom2dAdaptor_Curve.hxx>
+#include <Geom2d_Line.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+
+using namespace std;
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+#define gpXYZ(n) gp_XYZ(n->X(),n->Y(),n->Z())
+#define SHOWYXZ(msg, xyz) // {\
+// gp_Pnt p (xyz); \
+// cout << msg << " ("<< p.X() << "; " <<p.Y() << "; " <<p.Z() << ") " <<endl;\
+// }
+
+typedef StdMeshers_ProjectionUtils TAssocTool;
+
+enum { ID_BOT_FACE = SMESH_Block::ID_Fxy0,
+       ID_TOP_FACE = SMESH_Block::ID_Fxy1,
+       BOTTOM_EDGE = 0, TOP_EDGE, V0_EDGE, V1_EDGE, // edge IDs in face
+       NB_WALL_FACES = 4 }; //
+
+namespace {
+
+  //================================================================================
+  /*!
+   * \brief Return iterator pointing to node column for the given parameter
+   * \param columnsMap - node column map
+   * \param parameter - parameter
+   * \retval TParam2ColumnMap::iterator - result
+   *
+   * it returns closest left column
+   */
+  //================================================================================
+
+  TParam2ColumnIt getColumn( const TParam2ColumnMap* columnsMap,
+                             const double            parameter )
+  {
+    TParam2ColumnIt u_col = columnsMap->upper_bound( parameter );
+    if ( u_col != columnsMap->begin() )
+      --u_col;
+    return u_col; // return left column
+  }
+
+  //================================================================================
+  /*!
+   * \brief Return nodes around given parameter and a ratio
+   * \param column - node column
+   * \param param - parameter
+   * \param node1 - lower node
+   * \param node2 - upper node
+   * \retval double - ratio
+   */
+  //================================================================================
+
+  double getRAndNodes( const TNodeColumn*     column,
+                       const double           param,
+                       const SMDS_MeshNode* & node1,
+                       const SMDS_MeshNode* & node2)
+  {
+    if ( param == 1.0 || column->size() == 1) {
+      node1 = node2 = column->back();
+      return 0;
+    }
+
+    int i = int( param * ( column->size() - 1 ));
+    double u0 = double( i )/ double( column->size() - 1 );
+    double r = ( param - u0 ) * ( column->size() - 1 );
+
+    node1 = (*column)[ i ];
+    node2 = (*column)[ i + 1];
+    return r;
+  }
+
+  //================================================================================
+  /*!
+   * \brief Compute boundary parameters of face parts
+    * \param nbParts - nb of parts to split columns into
+    * \param columnsMap - node columns of the face to split
+    * \param params - computed parameters
+   */
+  //================================================================================
+
+  void splitParams( const int               nbParts,
+                    const TParam2ColumnMap* columnsMap,
+                    vector< double > &      params)
+  {
+    params.clear();
+    params.reserve( nbParts + 1 );
+    TParam2ColumnIt last_par_col = --columnsMap->end();
+    double par = columnsMap->begin()->first; // 0.
+    double parLast = last_par_col->first;
+    params.push_back( par );
+    for ( int i = 0; i < nbParts - 1; ++ i )
+    {
+      double partSize = ( parLast - par ) / double ( nbParts - i );
+      TParam2ColumnIt par_col = getColumn( columnsMap, par + partSize );
+      if ( par_col->first == par ) {
+        ++par_col;
+        if ( par_col == last_par_col ) {
+          while ( i < nbParts - 1 )
+            params.push_back( par + partSize * i++ );
+          break;
+        }
+      }
+      par = par_col->first;
+      params.push_back( par );
+    }
+    params.push_back( parLast ); // 1.
+  }
+}
+
+//=======================================================================
+//function : StdMeshers_Prism_3D
+//purpose  : 
+//=======================================================================
+
+StdMeshers_Prism_3D::StdMeshers_Prism_3D(int hypId, int studyId, SMESH_Gen* gen)
+  :SMESH_3D_Algo(hypId, studyId, gen)
+{
+  _name = "Prism_3D";
+  _shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID);      // 1 bit per shape type
+  myProjectTriangles = false;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshers_Prism_3D::~StdMeshers_Prism_3D()
+{}
+
+//=======================================================================
+//function : CheckHypothesis
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Prism_3D::CheckHypothesis(SMESH_Mesh&                          aMesh,
+                                          const TopoDS_Shape&                  aShape,
+                                          SMESH_Hypothesis::Hypothesis_Status& aStatus)
+{
+  // Check shape geometry
+
+  aStatus = SMESH_Hypothesis::HYP_BAD_GEOMETRY;
+
+  // find not quadrangle faces
+  list< TopoDS_Shape > notQuadFaces;
+  int nbEdge, nbWire, nbFace = 0;
+  TopExp_Explorer exp( aShape, TopAbs_FACE );
+  for ( ; exp.More(); exp.Next() ) {
+    ++nbFace;
+    const TopoDS_Shape& face = exp.Current();
+    nbEdge = TAssocTool::Count( face, TopAbs_EDGE, 0 );
+    nbWire = TAssocTool::Count( face, TopAbs_WIRE, 0 );
+    if (  nbEdge!= 4 || nbWire!= 1 ) {
+      if ( !notQuadFaces.empty() ) {
+        if ( TAssocTool::Count( notQuadFaces.back(), TopAbs_EDGE, 0 ) != nbEdge ||
+             TAssocTool::Count( notQuadFaces.back(), TopAbs_WIRE, 0 ) != nbWire )
+          RETURN_BAD_RESULT("Different not quad faces");
+      }
+      notQuadFaces.push_back( face );
+    }
+  }
+  if ( !notQuadFaces.empty() )
+  {
+    if ( notQuadFaces.size() != 2 )
+      RETURN_BAD_RESULT("Bad nb not quad faces: " << notQuadFaces.size());
+
+    // check total nb faces
+    nbEdge = TAssocTool::Count( notQuadFaces.back(), TopAbs_EDGE, 0 );
+    if ( nbFace != nbEdge + 2 )
+      RETURN_BAD_RESULT("Bad nb of faces: " << nbFace << " but must be " << nbEdge + 2);
+  }
+
+  // no hypothesis
+  aStatus = SMESH_Hypothesis::HYP_OK;
+  return true;
+}
+
+//=======================================================================
+//function : Compute
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Prism_3D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape& theShape)
+{
+  myHelper = new SMESH_MesherHelper( theMesh );
+  // to delete helper at exit from Compute()
+  std::auto_ptr<SMESH_MesherHelper> helperDeleter( myHelper );
+
+  myHelper->IsQuadraticSubMesh( theShape );
+
+  // Analyse mesh and geomerty to find block subshapes and submeshes
+  if ( !myBlock.Init( myHelper, theShape ))
+    return false;
+
+  SMESHDS_Mesh* meshDS = theMesh.GetMeshDS();
+
+  int volumeID = meshDS->ShapeToIndex( theShape );
+
+
+  // To compute coordinates of a node inside a block, it is necessary to know
+  // 1. normalized parameters of the node by which
+  // 2. coordinates of node projections on all block sub-shapes are computed
+
+  // So we fill projections on vertices at once as they are same for all nodes
+  myShapeXYZ.resize( myBlock.NbSubShapes() );
+  for ( int iV = SMESH_Block::ID_FirstV; iV < SMESH_Block::ID_FirstE; ++iV ) {
+    myBlock.VertexPoint( iV, myShapeXYZ[ iV ]);
+    SHOWYXZ("V point " <<iV << " ", myShapeXYZ[ iV ]);
+  }
+
+  // Projections on the top and bottom faces are taken from nodes existing
+  // on these faces; find correspondence between bottom and top nodes
+  myBotToColumnMap.clear();
+  if ( !assocOrProjBottom2Top() ) // it also fill myBotToColumnMap
+    return false;
+
+
+  // Create nodes inside the block
+
+  // loop on nodes inside the bottom face
+  TNode2ColumnMap::iterator bot_column = myBotToColumnMap.begin();
+  for ( ; bot_column != myBotToColumnMap.end(); ++bot_column )
+  {
+    const TNode& tBotNode = bot_column->first; // bottom TNode
+    if ( tBotNode.GetPositionType() != SMDS_TOP_FACE )
+      continue; // node is not inside face 
+
+    // column nodes; middle part of the column are zero pointers
+    TNodeColumn& column = bot_column->second;
+
+    // bottom node parameters and coords
+    gp_XYZ botParams          = tBotNode.GetParams();
+    myShapeXYZ[ ID_BOT_FACE ] = tBotNode.GetCoords();
+
+    // compute top node parameters
+    gp_XYZ topParams;
+    myShapeXYZ[ ID_TOP_FACE ] = gpXYZ( column.back() );
+    gp_Pnt topCoords = myShapeXYZ[ ID_TOP_FACE ];
+    if ( !myBlock.ComputeParameters( topCoords, topParams, ID_TOP_FACE ))
+      RETURN_BAD_RESULT("ComputeParameters() on the top face failed");
+
+    // vertical loop
+    TNodeColumn::iterator columnNodes = column.begin();
+    for ( int z = 0; columnNodes != column.end(); ++columnNodes, ++z)
+    {
+      const SMDS_MeshNode* & node = *columnNodes;
+      if ( node ) continue; // skip bottom or top node
+
+      // params of a node to create
+      double rz = (double) z / (double) ( column.size() - 1 );
+      gp_XYZ params = botParams * ( 1 - rz ) + topParams * rz;
+
+      // set coords on all faces and nodes
+      const int nbSideFaces = 4;
+      int sideFaceIDs[nbSideFaces] = { SMESH_Block::ID_Fx0z,
+                                       SMESH_Block::ID_Fx1z,
+                                       SMESH_Block::ID_F0yz,
+                                       SMESH_Block::ID_F1yz };
+      for ( int iF = 0; iF < nbSideFaces; ++iF )
+        if ( !setFaceAndEdgesXYZ( sideFaceIDs[ iF ], params, z ))
+          return false;
+
+      // compute coords for a new node
+      gp_XYZ coords;
+      if ( !SMESH_Block::ShellPoint( params, myShapeXYZ, coords ))
+        RETURN_BAD_RESULT("SMESH_Block::ShellPoint() failed");
+
+      // create a node
+      node = meshDS->AddNode( coords.X(), coords.Y(), coords.Z() );
+      meshDS->SetNodeInVolume( node, volumeID );
+    }
+  } // loop on bottom nodes
+
+
+  // Create volumes
+
+  SMESHDS_SubMesh* smDS = myBlock.SubMeshDS( ID_BOT_FACE );
+  if ( !smDS ) RETURN_BAD_RESULT("Null submesh");
+
+  // loop on bottom mesh faces
+  SMDS_ElemIteratorPtr faceIt = smDS->GetElements();
+  while ( faceIt->more() )
+  {
+    const SMDS_MeshElement* face = faceIt->next();
+    if ( !face || face->GetType() != SMDSAbs_Face )
+      continue;
+    int nbNodes = face->NbNodes();
+    if ( face->IsQuadratic() )
+      nbNodes /= 2;
+
+    // find node columns for each node
+    vector< const TNodeColumn* > columns( nbNodes );
+    for ( int i = 0; i < nbNodes; ++i )
+    {
+      const SMDS_MeshNode* n = face->GetNode( i );
+      if ( n->GetPosition()->GetTypeOfPosition() == SMDS_TOP_FACE ) {
+        bot_column = myBotToColumnMap.find( n );
+        if ( bot_column == myBotToColumnMap.end() )
+          RETURN_BAD_RESULT(" node column for a node not found");
+        columns[ i ] = & bot_column->second;
+      }
+      else {
+        columns[ i ] = myBlock.GetNodeColumn( n );
+        if ( !columns[ i ] )
+          RETURN_BAD_RESULT(" node column not found for a node " << n->GetID() );
+      }
+    }
+    // create prisms
+    AddPrisms( columns, myHelper );
+
+  } // loop on bottom mesh faces
+        
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Create prisms
+ * \param columns - columns of nodes generated from nodes of a mesh face
+ * \param helper - helper initialized by mesh and shape to add prisms to
+ */
+//================================================================================
+
+void StdMeshers_Prism_3D::AddPrisms( vector<const TNodeColumn*> & columns,
+                                     SMESH_MesherHelper*          helper)
+{
+  SMESHDS_Mesh * meshDS = helper->GetMeshDS();
+  int shapeID = helper->GetSubShapeID();
+
+  int nbNodes = columns.size();
+
+  // vertical loop on columns
+  for ( int z = 1; z < columns[0]->size(); ++z)
+  {
+    SMDS_MeshElement* vol = 0;
+    SMDS_VolumeTool vTool;
+    switch ( nbNodes ) {
+
+    case 3: {
+      const SMDS_MeshNode* botNodes[3] = { (*columns[0])[z-1],
+                                           (*columns[1])[z-1],
+                                           (*columns[2])[z-1] };
+      const SMDS_MeshNode* topNodes[3] = { (*columns[0])[z],
+                                           (*columns[1])[z],
+                                           (*columns[2])[z] };
+      // assure good orientation
+      SMDS_VolumeOfNodes tmpVol ( botNodes[0], botNodes[1], botNodes[2],
+                                  topNodes[0], topNodes[1], topNodes[2]);
+      vTool.Set( &tmpVol );
+      if ( vTool.IsForward() )
+        vol = helper->AddVolume( botNodes[0], botNodes[1], botNodes[2],
+                                 topNodes[0], topNodes[1], topNodes[2]);
+      else
+        vol = helper->AddVolume( topNodes[0], topNodes[1], topNodes[2],
+                                 botNodes[0], botNodes[1], botNodes[2]);
+      break;
+      }
+    case 4: {
+      const SMDS_MeshNode* botNodes[4] = { (*columns[0])[z-1], (*columns[1])[z-1],
+                                           (*columns[2])[z-1], (*columns[3])[z-1] };
+      const SMDS_MeshNode* topNodes[4] = { (*columns[0])[z], (*columns[1])[z],
+                                           (*columns[2])[z], (*columns[3])[z] };
+      // assure good orientation
+      SMDS_VolumeOfNodes tmpVol ( botNodes[0], botNodes[1], botNodes[2], botNodes[3],
+                                  topNodes[0], topNodes[1], topNodes[2], topNodes[3]);
+      vTool.Set( &tmpVol );
+      if ( vTool.IsForward() )
+        vol = helper->AddVolume( botNodes[0], botNodes[1], botNodes[2], botNodes[3],
+                                 topNodes[0], topNodes[1], topNodes[2], topNodes[3]);
+      else
+        vol = helper->AddVolume( topNodes[0], topNodes[1], topNodes[2], topNodes[3],
+                                 botNodes[0], botNodes[1], botNodes[2], botNodes[3]);
+      break;
+      }
+    default:
+      // polyhedron
+      vector<const SMDS_MeshNode*> nodes( 2*nbNodes + 4*nbNodes);
+      vector<int> quantities( 2 + nbNodes, 4 );
+      quantities[0] = quantities[1] = nbNodes;
+      columns.resize( nbNodes + 1 );
+      columns[ nbNodes ] = columns[ 0 ];
+      for ( int i = 0; i < nbNodes; ++i ) {
+        nodes[ i         ] = (*columns[ i ])[z-1]; // bottom
+        nodes[ i+nbNodes ] = (*columns[ i ])[z  ]; // top
+        // side
+        int di = 2*nbNodes + 4*i - 1;
+        nodes[ di   ] = (*columns[i  ])[z-1];
+        nodes[ di+1 ] = (*columns[i+1])[z-1];
+        nodes[ di+2 ] = (*columns[i+1])[z  ];
+        nodes[ di+3 ] = (*columns[i  ])[z  ];
+      }
+      vol = meshDS->AddPolyhedralVolume( nodes, quantities );
+    }
+    if ( vol && shapeID > 0 )
+      meshDS->SetMeshElementOnShape( vol, shapeID );
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Find correspondence between bottom and top nodes
+ *  If elements on the bottom and top faces are topologically different,
+ *  and projection is possible and allowed, perform the projection
+ *  \retval bool - is a success or not
+ */
+//================================================================================
+
+bool StdMeshers_Prism_3D::assocOrProjBottom2Top()
+{
+  SMESH_subMesh * botSM = myBlock.SubMesh( ID_BOT_FACE );
+  SMESH_subMesh * topSM = myBlock.SubMesh( ID_TOP_FACE );
+
+  SMESHDS_SubMesh * botSMDS = botSM->GetSubMeshDS();
+  SMESHDS_SubMesh * topSMDS = topSM->GetSubMeshDS();
+
+  if ( !botSMDS || botSMDS->NbElements() == 0 )
+    RETURN_BAD_RESULT("Empty horiz submesh");
+
+  bool needProject = false;
+  if ( !topSMDS || 
+       botSMDS->NbElements() != topSMDS->NbElements() ||
+       botSMDS->NbNodes()    != topSMDS->NbNodes())
+  {
+    if ( myBlock.HasNotQuadElemOnTop() )
+      RETURN_BAD_RESULT("Different triangles on 2 sides");
+    needProject = true;
+  }
+
+  if ( 0/*needProject && !myProjectTriangles*/ )
+    RETURN_BAD_RESULT("Need to project but not allowed");
+
+  if ( needProject )
+  {
+    return projectBottomToTop();
+  }
+
+  TopoDS_Face botFace = TopoDS::Face( myBlock.Shape( ID_BOT_FACE ));
+  TopoDS_Face topFace = TopoDS::Face( myBlock.Shape( ID_TOP_FACE ));
+  // associate top and bottom faces
+  TAssocTool::TShapeShapeMap shape2ShapeMap;
+  if ( !TAssocTool::FindSubShapeAssociation( botFace, myBlock.Mesh(),
+                                             topFace, myBlock.Mesh(),
+                                             shape2ShapeMap) )
+    RETURN_BAD_RESULT("FindSubShapeAssociation failed");
+
+  // Find matching nodes of in and out faces
+  TNodeNodeMap n2nMap;
+  if ( ! TAssocTool::FindMatchingNodesOnFaces( botFace, myBlock.Mesh(),
+                                               topFace, myBlock.Mesh(),
+                                               shape2ShapeMap, n2nMap ))
+    RETURN_BAD_RESULT("Different mesh on top and bottom faces");
+
+  // Fill myBotToColumnMap
+
+  int zSize = myBlock.VerticalSize();
+  TNodeNodeMap::iterator bN_tN = n2nMap.begin();
+  for ( ; bN_tN != n2nMap.end(); ++bN_tN )
+  {
+    const SMDS_MeshNode* botNode = bN_tN->first;
+    const SMDS_MeshNode* topNode = bN_tN->second;
+    if ( botNode->GetPosition()->GetTypeOfPosition() != SMDS_TOP_FACE )
+      continue; // wall columns are contained in myBlock
+    // compute bottom node params
+    TNode bN( botNode );
+    if ( !myBlock.ComputeParameters( bN.GetCoords(), bN.ChangeParams(), ID_BOT_FACE ))
+      RETURN_BAD_RESULT("ComputeParameters() on the bottom face failed");
+    // create node column
+    TNode2ColumnMap::iterator bN_col = 
+      myBotToColumnMap.insert( make_pair ( bN, TNodeColumn() )).first;
+    TNodeColumn & column = bN_col->second;
+    column.resize( zSize );
+    column.front() = botNode;
+    column.back()  = topNode;
+  }
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Remove quadrangles from the top face and
+ * create triangles there by projection from the bottom
+ * \retval bool - a success or not
+ */
+//================================================================================
+
+bool StdMeshers_Prism_3D::projectBottomToTop()
+{
+  SMESH_subMesh * botSM = myBlock.SubMesh( ID_BOT_FACE );
+  SMESH_subMesh * topSM = myBlock.SubMesh( ID_TOP_FACE );
+
+  SMESHDS_SubMesh * botSMDS = botSM->GetSubMeshDS();
+  SMESHDS_SubMesh * topSMDS = topSM->GetSubMeshDS();
+
+  if ( topSMDS )
+    topSM->ComputeStateEngine( SMESH_subMesh::CLEAN );
+
+  SMESHDS_Mesh* meshDS = myBlock.MeshDS();
+  int shapeID = myHelper->GetSubShapeID();
+  int topFaceID = meshDS->ShapeToIndex( topSM->GetSubShape() );
+
+  // Fill myBotToColumnMap
+
+  int zSize = myBlock.VerticalSize();
+  SMDS_NodeIteratorPtr nIt = botSMDS->GetNodes();
+  while ( nIt->more() )
+  {
+    const SMDS_MeshNode* botNode = nIt->next();
+    if ( botNode->GetPosition()->GetTypeOfPosition() != SMDS_TOP_FACE )
+      continue; // strange
+    // compute bottom node params
+    TNode bN( botNode );
+    if ( !myBlock.ComputeParameters( bN.GetCoords(), bN.ChangeParams(), ID_BOT_FACE ))
+      RETURN_BAD_RESULT("ComputeParameters() on the bottom face failed");
+    // compute top node coords
+    gp_XYZ topXYZ; gp_XY topUV;
+    if ( !myBlock.FacePoint( ID_TOP_FACE, bN.GetParams(), topXYZ ) ||
+         !myBlock.FaceUV   ( ID_TOP_FACE, bN.GetParams(), topUV ))
+      RETURN_BAD_RESULT("SMESH_Block::FacePoint() on the top face failed");
+    SMDS_MeshNode * topNode = meshDS->AddNode( topXYZ.X(),topXYZ.Y(),topXYZ.Z() );
+    meshDS->SetNodeOnFace( topNode, topFaceID, topUV.X(), topUV.Y() );
+    // create node column
+    TNode2ColumnMap::iterator bN_col = 
+      myBotToColumnMap.insert( make_pair ( bN, TNodeColumn() )).first;
+    TNodeColumn & column = bN_col->second;
+    column.resize( zSize );
+    column.front() = botNode;
+    column.back()  = topNode;
+  }
+
+  // Create top faces
+
+  // loop on bottom mesh faces
+  SMDS_ElemIteratorPtr faceIt = botSMDS->GetElements();
+  while ( faceIt->more() )
+  {
+    const SMDS_MeshElement* face = faceIt->next();
+    if ( !face || face->GetType() != SMDSAbs_Face )
+      continue;
+    int nbNodes = face->NbNodes();
+    if ( face->IsQuadratic() )
+      nbNodes /= 2;
+
+    // find top node in columns for each bottom node
+    vector< const SMDS_MeshNode* > nodes( nbNodes );
+    for ( int i = 0; i < nbNodes; ++i )
+    {
+      const SMDS_MeshNode* n = face->GetNode( nbNodes - i - 1 );
+      if ( n->GetPosition()->GetTypeOfPosition() == SMDS_TOP_FACE ) {
+        TNode2ColumnMap::iterator bot_column = myBotToColumnMap.find( n );
+        if ( bot_column == myBotToColumnMap.end() )
+          RETURN_BAD_RESULT(" node column for a node not found");
+        nodes[ i ] = bot_column->second.back();
+      }
+      else {
+        const TNodeColumn* column = myBlock.GetNodeColumn( n );
+        if ( !column )
+          RETURN_BAD_RESULT(" node column not found for a node " << n->GetID() );
+        nodes[ i ] = column->back();
+      }
+    }
+    // create a face, with reversed orientation
+    SMDS_MeshElement* newFace = 0;
+    switch ( nbNodes ) {
+
+    case 3: {
+      newFace = myHelper->AddFace(nodes[0], nodes[1], nodes[2]);
+      break;
+      }
+    case 4: {
+      newFace = myHelper->AddFace( nodes[0], nodes[1], nodes[2], nodes[3] );
+      break;
+      }
+    default:
+      newFace = meshDS->AddPolygonalFace( nodes );
+    }
+    if ( newFace && shapeID > 0 )
+      meshDS->SetMeshElementOnShape( newFace, shapeID );
+  }
+
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Set projection coordinates of a node to a face and it's subshapes
+ * \param faceID - the face given by in-block ID
+ * \param params - node normalized parameters
+ * \retval bool - is a success
+ */
+//================================================================================
+
+bool StdMeshers_Prism_3D::setFaceAndEdgesXYZ( const int faceID, const gp_XYZ& params, int z )
+{
+  // find base and top edges of the face
+  enum { BASE = 0, TOP, LEFT, RIGHT };
+  vector< int > edgeVec; // 0-base, 1-top
+  SMESH_Block::GetFaceEdgesIDs( faceID, edgeVec );
+
+  myBlock.EdgePoint( edgeVec[ BASE ], params, myShapeXYZ[ edgeVec[ BASE ]]);
+  myBlock.EdgePoint( edgeVec[ TOP ], params, myShapeXYZ[ edgeVec[ TOP ]]);
+
+  SHOWYXZ("\nparams ", params);
+  SHOWYXZ("TOP is "<<edgeVec[ TOP], myShapeXYZ[ edgeVec[ TOP]]);
+  SHOWYXZ("BASE is "<<edgeVec[ BASE], myShapeXYZ[ edgeVec[ BASE]]);
+
+  if ( faceID == SMESH_Block::ID_Fx0z || faceID == SMESH_Block::ID_Fx1z )
+  {
+    myBlock.EdgePoint( edgeVec[ LEFT ], params, myShapeXYZ[ edgeVec[ LEFT ]]);
+    myBlock.EdgePoint( edgeVec[ RIGHT ], params, myShapeXYZ[ edgeVec[ RIGHT ]]);
+
+    SHOWYXZ("VER "<<edgeVec[ LEFT], myShapeXYZ[ edgeVec[ LEFT]]);
+    SHOWYXZ("VER "<<edgeVec[ RIGHT], myShapeXYZ[ edgeVec[ RIGHT]]);
+  }
+  myBlock.FacePoint( faceID, params, myShapeXYZ[ faceID ]);
+  SHOWYXZ("FacePoint "<<faceID, myShapeXYZ[ faceID]);
+
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Constructor. Initialization is needed
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::StdMeshers_PrismAsBlock()
+{
+  mySide = 0;
+}
+
+StdMeshers_PrismAsBlock::~StdMeshers_PrismAsBlock()
+{
+  if ( mySide ) {
+    delete mySide; mySide = 0;
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Initialization.
+ * \param helper - helper loaded with mesh and 3D shape
+ * \param shape3D - a closed shell or solid
+ * \retval bool - false if a mesh or a shape are KO
+ */
+//================================================================================
+
+bool StdMeshers_PrismAsBlock::Init(SMESH_MesherHelper* helper,
+                                   const TopoDS_Shape& shape3D)
+{
+  if ( mySide ) {
+    delete mySide; mySide = 0;
+  }
+  vector< TSideFace* > sideFaces( NB_WALL_FACES, 0 );
+  vector< pair< double, double> > params ( NB_WALL_FACES );
+  mySide = new TSideFace( sideFaces, params );
+
+  myHelper = helper;
+  SMESHDS_Mesh* meshDS = myHelper->GetMesh()->GetMeshDS();
+
+  SMESH_Block::init();
+  myShapeIDMap.Clear();
+  myShapeIndex2ColumnMap.clear();
+  
+  int wallFaceIds[ NB_WALL_FACES ] = { // to walk around a block
+    SMESH_Block::ID_Fx0z, SMESH_Block::ID_F1yz,
+    SMESH_Block::ID_Fx1z, SMESH_Block::ID_F0yz
+  };
+
+  // -------------------------------------------------------------
+  // Look for top and bottom faces: not quadrangle ones or meshed
+  // with not quadrangle elements
+  // -------------------------------------------------------------
+
+  list< SMESH_subMesh* > notQuadGeomSubMesh;
+  list< SMESH_subMesh* > notQuadElemSubMesh;
+  int nbFaces = 0;
+  //
+  SMESH_subMesh* mainSubMesh = myHelper->GetMesh()->GetSubMeshContaining( shape3D );
+  if ( !mainSubMesh ) RETURN_BAD_RESULT("Null submesh of shape3D");
+  //
+  const map< int, SMESH_subMesh * >& subSM = mainSubMesh->DependsOn();
+  map< int, SMESH_subMesh * >::const_iterator i_subSM = subSM.begin();
+  for ( ; i_subSM != subSM.end(); ++i_subSM )
+  {
+    SMESH_subMesh* sm = i_subSM->second;
+    const TopoDS_Shape& face = sm->GetSubShape();
+    if ( face.ShapeType() != TopAbs_FACE )
+      continue;
+    nbFaces++;
+
+    // is quadrangle face?
+    if ( TAssocTool::Count( face, TopAbs_EDGE, 0 ) != 4 ||
+         TAssocTool::Count( face, TopAbs_WIRE, 0 ) != 1 )
+      notQuadGeomSubMesh.push_back( sm );
+
+    // count not quadrangle mesh elements
+    if ( SMESHDS_SubMesh* smDS = sm->GetSubMeshDS() ) {
+      SMDS_ElemIteratorPtr eIt = smDS->GetElements();
+      bool hasNotQuad = false;
+      while ( eIt->more() && !hasNotQuad ) {
+        const SMDS_MeshElement* elem = eIt->next();
+        if ( elem->GetType() == SMDSAbs_Face ) {
+          int nbNodes = elem->NbNodes();
+          if ( elem->IsQuadratic() )
+            nbNodes /= 2;
+          hasNotQuad = ( nbNodes != 4 );
+        }
+      }
+      if ( hasNotQuad )
+        notQuadElemSubMesh.push_back( sm );
+    }
+    else {
+      RETURN_BAD_RESULT("not meshed face");
+    }
+  }
+
+  // ----------------------------------------------------------------------
+  // Analyse faces mesh and topology: choose the bottom submesh.
+  // If there are not quadrangle geom faces, they are top and bottom ones.
+  // Not quadrangle geom faces must be only on top and bottom.
+  // ----------------------------------------------------------------------
+
+  SMESH_subMesh * botSM = 0;
+  SMESH_subMesh * topSM = 0;
+
+  int nbNotQuad       = notQuadGeomSubMesh.size();
+  int nbNotQuadMeshed = notQuadElemSubMesh.size();
+  bool hasNotQuad = ( nbNotQuad || nbNotQuadMeshed );
+
+  // detect bad cases
+  if ( nbNotQuad > 0 && nbNotQuad != 2 )
+    RETURN_BAD_RESULT("Wrong shape geometry");
+  if ( nbNotQuadMeshed > 2 )
+    RETURN_BAD_RESULT("More then 2 faces meshed with not quadrangle elements");
+
+  // get found submeshes
+  if ( hasNotQuad )
+  {
+    if ( nbNotQuadMeshed > 0 ) botSM = notQuadElemSubMesh.front();
+    else                       botSM = notQuadGeomSubMesh.front();
+    if ( nbNotQuadMeshed > 1 ) topSM = notQuadElemSubMesh.back();
+    else if ( nbNotQuad  > 1 ) topSM = notQuadGeomSubMesh.back();
+  }
+  // detect other bad cases
+  if ( nbNotQuad == 2 && nbNotQuadMeshed > 0 ) {
+    bool ok = false;
+    if ( nbNotQuadMeshed == 1 )
+      ok = ( find( notQuadGeomSubMesh.begin(),
+                   notQuadGeomSubMesh.end(), botSM ) != notQuadGeomSubMesh.end() );
+    else
+      ok = ( notQuadGeomSubMesh == notQuadElemSubMesh );
+    if ( !ok )
+      RETURN_BAD_RESULT("Side face meshed with not quadrangle elements");
+  }
+
+  myNotQuadOnTop = ( nbNotQuadMeshed > 1 );
+    
+  // ----------------------------------------------------------
+
+  if ( nbNotQuad == 0 ) // Standard block of 6 quadrangle faces ?
+  {
+    // SMESH_Block will perform geometry analysis, we need just to find 2
+    // connected vertices on top and bottom
+
+    TopoDS_Vertex Vbot, Vtop;
+    if ( nbNotQuadMeshed > 0 ) // Look for vertices
+    {
+      TopTools_IndexedMapOfShape edgeMap;
+      TopExp::MapShapes( botSM->GetSubShape(), TopAbs_EDGE, edgeMap );
+      // vertex 1 is any vertex of the bottom face
+      Vbot = TopExp::FirstVertex( TopoDS::Edge( edgeMap( 1 )));
+      // vertex 2 is end vertex of edge sharing Vbot and not belonging to the bottom face
+      TopTools_ListIteratorOfListOfShape ancestIt = Mesh()->GetAncestors( Vbot );
+      for ( ; Vtop.IsNull() && ancestIt.More(); ancestIt.Next() )
+      {
+        const TopoDS_Shape & ancestor = ancestIt.Value();
+        if ( ancestor.ShapeType() == TopAbs_EDGE && !edgeMap.FindIndex( ancestor ))
+        {
+          Vtop = TopExp::LastVertex( TopoDS::Edge( ancestor ));
+          if ( Vbot.IsSame ( Vtop ))
+            Vtop = TopExp::FirstVertex( TopoDS::Edge( ancestor ));
+        }
+      }
+    }
+    // get shell from shape3D
+    TopoDS_Shell shell;
+    TopExp_Explorer exp( shape3D, TopAbs_SHELL );
+    int nbShell = 0;
+    for ( ; exp.More(); exp.Next(), ++nbShell )
+      shell = TopoDS::Shell( exp.Current() );
+//     if ( nbShell != 1 )
+//       RETURN_BAD_RESULT("There must be 1 shell in the block");
+
+    // Load geometry in SMESH_Block
+    if ( !SMESH_Block::FindBlockShapes( shell, Vbot, Vtop, myShapeIDMap )) {
+      if ( !hasNotQuad )
+        RETURN_BAD_RESULT("Can not detect top and bottom");
+    }
+    else {
+      if ( !botSM ) botSM = Mesh()->GetSubMeshContaining( myShapeIDMap( ID_BOT_FACE ));
+      if ( !topSM ) topSM = Mesh()->GetSubMeshContaining( myShapeIDMap( ID_TOP_FACE ));
+    }
+
+  } // end  Standard block of 6 quadrangle faces
+  // --------------------------------------------------------
+
+  // Here the top and bottom faces are found
+  if ( nbNotQuadMeshed == 2 ) // roughly check correspondence of horiz meshes
+  {
+//     SMESHDS_SubMesh* topSMDS = topSM->GetSubMeshDS();
+//     SMESHDS_SubMesh* botSMDS = botSM->GetSubMeshDS();
+//     if ( topSMDS->NbNodes() != botSMDS->NbNodes() ||
+//          topSMDS->NbElements() != botSMDS->NbElements() )
+//       RETURN_BAD_RESULT("Top mesh doesn't correspond to bottom one");
+  }
+
+  // ---------------------------------------------------------
+  // If there are not quadrangle geom faces, we emulate
+  // a block of 6 quadrangle faces.
+  // Load SMESH_Block with faces and edges geometry
+  // ---------------------------------------------------------
+
+  
+  // find vertex 000 - the one with smallest coordinates (for easy DEBUG :-)
+  TopoDS_Vertex V000;
+  double minVal = DBL_MAX, minX, val;
+  for ( TopExp_Explorer exp( botSM->GetSubShape(), TopAbs_VERTEX );
+        exp.More(); exp.Next() )
+  {
+    const TopoDS_Vertex& v = TopoDS::Vertex( exp.Current() );
+    gp_Pnt P = BRep_Tool::Pnt( v );
+    val = P.X() + P.Y() + P.Z();
+    if ( val < minVal || ( val == minVal && P.X() < minX )) {
+      V000 = v;
+      minVal = val;
+      minX = P.X();
+    }
+  }
+
+  // Get ordered bottom edges
+  list< TopoDS_Edge > orderedEdges;
+  list< int >         nbVertexInWires;
+  SMESH_Block::GetOrderedEdges( TopoDS::Face( botSM->GetSubShape().Reversed() ),
+                                V000, orderedEdges, nbVertexInWires );
+//   if ( nbVertexInWires.size() != 1 )
+//     RETURN_BAD_RESULT("Wrong prism geometry");
+
+  // Get Wall faces corresponding to the ordered bottom edges
+  list< TopoDS_Face > wallFaces;
+  if ( !GetWallFaces( Mesh(), shape3D, botSM->GetSubShape(), orderedEdges, wallFaces))
+    RETURN_BAD_RESULT("GetWallFaces() failed");
+
+  // Find columns of wall nodes and calculate edges' lengths
+  // --------------------------------------------------------
+
+  myParam2ColumnMaps.clear();
+  myParam2ColumnMaps.resize( orderedEdges.size() ); // total nb edges
+
+  int iE, nbEdges = nbVertexInWires.front(); // nb outer edges
+  vector< double > edgeLength( nbEdges );
+  map< double, int > len2edgeMap;
+
+  list< TopoDS_Edge >::iterator edgeIt = orderedEdges.begin();
+  list< TopoDS_Face >::iterator faceIt = wallFaces.begin();
+  for ( iE = 0; iE < nbEdges; ++edgeIt, ++faceIt )
+  {
+    TParam2ColumnMap & faceColumns = myParam2ColumnMaps[ iE ];
+    if ( !myHelper->LoadNodeColumns( faceColumns, *faceIt, *edgeIt, meshDS ))
+      RETURN_BAD_RESULT("SMESH_MesherHelper::LoadNodeColumns() failed");
+
+    SHOWYXZ("\np1 F "<<iE, gpXYZ(faceColumns.begin()->second.front() ));
+    SHOWYXZ("p2 F "<<iE, gpXYZ(faceColumns.rbegin()->second.front() ));
+    SHOWYXZ("V First "<<iE, BRep_Tool::Pnt( TopExp::FirstVertex(*edgeIt,true )));
+
+    edgeLength[ iE ] = SMESH_Algo::EdgeLength( *edgeIt );
+
+    if ( nbEdges < NB_WALL_FACES ) // fill map used to split faces
+    {
+      SMESHDS_SubMesh* smDS = meshDS->MeshElements( *edgeIt);
+      if ( !smDS )
+        RETURN_BAD_RESULT("Null submesh on a bottom edge");
+      // assure length uniqueness
+      edgeLength[ iE ] *= smDS->NbNodes() + edgeLength[ iE ] / ( 1000 + iE );
+      len2edgeMap[ edgeLength[ iE ]] = iE;
+    }
+    ++iE;
+  }
+  // Load columns of internal edges (forming holes)
+  // and fill map ShapeIndex to TParam2ColumnMap for them
+  for ( ; edgeIt != orderedEdges.end() ; ++edgeIt, ++faceIt )
+  {
+    TParam2ColumnMap & faceColumns = myParam2ColumnMaps[ iE ];
+    if ( !myHelper->LoadNodeColumns( faceColumns, *faceIt, *edgeIt, meshDS ))
+      RETURN_BAD_RESULT("SMESH_MesherHelper::LoadNodeColumns() failed");
+    // edge columns
+    int id = MeshDS()->ShapeToIndex( *edgeIt );
+    bool isForward = true; // meaningless for intenal wires
+    myShapeIndex2ColumnMap[ id ] = make_pair( & faceColumns, isForward );
+    // columns for vertices
+    // 1
+    const SMDS_MeshNode* n0 = faceColumns.begin()->second.front();
+    id = n0->GetPosition()->GetShapeId();
+    myShapeIndex2ColumnMap[ id ] = make_pair( & faceColumns, isForward );
+    // 2
+    const SMDS_MeshNode* n1 = faceColumns.rbegin()->second.front();
+    id = n1->GetPosition()->GetShapeId();
+    myShapeIndex2ColumnMap[ id ] = make_pair( & faceColumns, isForward );
+//     SHOWYXZ("\np1 F "<<iE, gpXYZ(faceColumns.begin()->second.front() ));
+//     SHOWYXZ("p2 F "<<iE, gpXYZ(faceColumns.rbegin()->second.front() ));
+//     SHOWYXZ("V First "<<iE, BRep_Tool::Pnt( TopExp::FirstVertex(*edgeIt,true )));
+    ++iE;
+  }
+
+  // Create 4 wall faces of a block
+  // -------------------------------
+
+  if ( nbEdges <= NB_WALL_FACES ) // ************* Split faces if necessary
+  {
+    map< int, int > iE2nbSplit;
+    if ( nbEdges != NB_WALL_FACES ) // define how to split
+    {
+      if ( len2edgeMap.size() != nbEdges )
+        RETURN_BAD_RESULT("Uniqueness of edge lengths not assured");
+      map< double, int >::reverse_iterator maxLen_i = len2edgeMap.rbegin();
+      map< double, int >::reverse_iterator midLen_i = ++len2edgeMap.rbegin();
+      double maxLen = maxLen_i->first;
+      double midLen = ( len2edgeMap.size() == 1 ) ? 0 : midLen_i->first;
+      switch ( nbEdges ) {
+      case 1: // 0-th edge is split into 4 parts
+        iE2nbSplit.insert( make_pair( 0, 4 )); break;
+      case 2: // either the longest edge is split into 3 parts, or both edges into halves
+        if ( maxLen / 3 > midLen / 2 ) {
+          iE2nbSplit.insert( make_pair( maxLen_i->second, 3 ));
+        }
+        else {
+          iE2nbSplit.insert( make_pair( maxLen_i->second, 2 ));
+          iE2nbSplit.insert( make_pair( midLen_i->second, 2 ));
+        }
+        break;
+      case 3:
+        // split longest into halves
+        iE2nbSplit.insert( make_pair( maxLen_i->second, 2 ));
+      }
+    }
+    // Create TSideFace's
+    faceIt = wallFaces.begin();
+    edgeIt = orderedEdges.begin();
+    int iSide = 0;
+    for ( iE = 0; iE < nbEdges; ++edgeIt, ++faceIt )
+    {
+     // split?
+      map< int, int >::iterator i_nb = iE2nbSplit.find( iE );
+      if ( i_nb != iE2nbSplit.end() ) {
+        // split!
+        int nbSplit = i_nb->second;
+        vector< double > params;
+        splitParams( nbSplit, &myParam2ColumnMaps[ iE ], params );
+        bool isForward = ( edgeIt->Orientation() == TopAbs_FORWARD );
+        for ( int i = 0; i < nbSplit; ++i ) {
+          double f = ( isForward ? params[ i ] : params[ nbSplit - i-1 ]);
+          double l = ( isForward ? params[ i+1 ] : params[ nbSplit - i ]);
+          TSideFace* comp = new TSideFace( myHelper, wallFaceIds[ iSide ],
+                                           *faceIt, *edgeIt,
+                                           &myParam2ColumnMaps[ iE ], f, l );
+          mySide->SetComponent( iSide++, comp );
+        }
+      }
+      else {
+        TSideFace* comp = new TSideFace( myHelper, wallFaceIds[ iSide ],
+                                         *faceIt, *edgeIt,
+                                         &myParam2ColumnMaps[ iE ]);
+        mySide->SetComponent( iSide++, comp );
+      }
+      ++iE;
+    }
+  }
+  else { // **************************** Unite faces
+
+    // unite first faces
+    int nbExraFaces = nbEdges - 3;
+    int iSide = 0, iE;
+    double u0 = 0, sumLen = 0;
+    for ( iE = 0; iE < nbExraFaces; ++iE )
+      sumLen += edgeLength[ iE ];
+
+    vector< TSideFace* > components( nbExraFaces );
+    vector< pair< double, double> > params( nbExraFaces );
+    faceIt = wallFaces.begin();
+    edgeIt = orderedEdges.begin();
+    for ( iE = 0; iE < nbExraFaces; ++edgeIt, ++faceIt )
+    {
+      components[ iE ] = new TSideFace( myHelper, wallFaceIds[ iSide ],
+                                        *faceIt, *edgeIt,
+                                        &myParam2ColumnMaps[ iE ]);
+      double u1 = u0 + edgeLength[ iE ] / sumLen;
+      params[ iE ] = make_pair( u0 , u1 );
+      u0 = u1;
+      ++iE;
+    }
+    mySide->SetComponent( iSide++, new TSideFace( components, params ));
+
+    // fill the rest faces
+    for ( ; iE < nbEdges; ++faceIt, ++edgeIt )
+    {
+      TSideFace* comp = new TSideFace( myHelper, wallFaceIds[ iSide ],
+                                       *faceIt, *edgeIt,
+                                       &myParam2ColumnMaps[ iE ]);
+      mySide->SetComponent( iSide++, comp );
+      ++iE;
+    }
+  }
+
+
+  // Fill geometry fields of SMESH_Block
+  // ------------------------------------
+
+  TopoDS_Face botF = TopoDS::Face( botSM->GetSubShape() );
+  TopoDS_Face topF = TopoDS::Face( topSM->GetSubShape() );
+
+  vector< int > botEdgeIdVec;
+  SMESH_Block::GetFaceEdgesIDs( ID_BOT_FACE, botEdgeIdVec );
+
+  bool isForward[NB_WALL_FACES] = { true, true, true, true };
+  Adaptor2d_Curve2d* botPcurves[NB_WALL_FACES];
+  Adaptor2d_Curve2d* topPcurves[NB_WALL_FACES];
+
+  for ( int iF = 0; iF < NB_WALL_FACES; ++iF )
+  {
+    TSideFace * sideFace = mySide->GetComponent( iF );
+    if ( !sideFace )
+      RETURN_BAD_RESULT("NULL TSideFace");
+    int fID = sideFace->FaceID();
+
+    // fill myShapeIDMap
+    if ( sideFace->InsertSubShapes( myShapeIDMap ) != 8 &&
+         !sideFace->IsComplex())
+      MESSAGE( ": Warning : InsertSubShapes() < 8 on side " << iF );
+
+    // side faces geometry
+    Adaptor2d_Curve2d* pcurves[NB_WALL_FACES];
+    if ( !sideFace->GetPCurves( pcurves ))
+      RETURN_BAD_RESULT("TSideFace::GetPCurves() failed");
+
+    SMESH_Block::TFace& tFace = myFace[ fID - ID_FirstF ];
+    tFace.Set( fID, sideFace->Surface(), pcurves, isForward );
+
+    SHOWYXZ( endl<<"F "<< iF << " id " << fID << " FRW " << sideFace->IsForward(), );
+    // edges 3D geometry
+    vector< int > edgeIdVec;
+    SMESH_Block::GetFaceEdgesIDs( fID, edgeIdVec );
+    for ( int isMax = 0; isMax < 2; ++isMax ) {
+      {
+        int eID = edgeIdVec[ isMax ];
+        SMESH_Block::TEdge& tEdge = myEdge[ eID - ID_FirstE ];
+        tEdge.Set( eID, sideFace->HorizCurve(isMax), true);
+        SHOWYXZ(eID<<" HOR"<<isMax<<"(0)", sideFace->HorizCurve(isMax)->Value(0));
+        SHOWYXZ(eID<<" HOR"<<isMax<<"(1)", sideFace->HorizCurve(isMax)->Value(1));
+      }
+      {
+        int eID = edgeIdVec[ isMax+2 ];
+        SMESH_Block::TEdge& tEdge = myEdge[ eID - ID_FirstE  ];
+        tEdge.Set( eID, sideFace->VertiCurve(isMax), true);
+        SHOWYXZ(eID<<" VER"<<isMax<<"(0)", sideFace->VertiCurve(isMax)->Value(0));
+        SHOWYXZ(eID<<" VER"<<isMax<<"(1)", sideFace->VertiCurve(isMax)->Value(1));
+
+        // corner points
+        vector< int > vertexIdVec;
+        SMESH_Block::GetEdgeVertexIDs( eID, vertexIdVec );
+        myPnt[ vertexIdVec[0] - ID_FirstV ] = tEdge.GetCurve()->Value(0).XYZ();
+        myPnt[ vertexIdVec[1] - ID_FirstV ] = tEdge.GetCurve()->Value(1).XYZ();
+      }
+    }
+    // pcurves on horizontal faces
+    for ( iE = 0; iE < NB_WALL_FACES; ++iE ) {
+      if ( edgeIdVec[ BOTTOM_EDGE ] == botEdgeIdVec[ iE ] ) {
+        botPcurves[ iE ] = sideFace->HorizPCurve( false, botF );
+        topPcurves[ iE ] = sideFace->HorizPCurve( true,  topF );
+        break;
+      }
+    }
+  }
+  // horizontal faces geometry
+  {
+    SMESH_Block::TFace& tFace = myFace[ ID_BOT_FACE - ID_FirstF ];
+    tFace.Set( ID_BOT_FACE, new BRepAdaptor_Surface( botF ), botPcurves, isForward );
+    SMESH_Block::Insert( botF, ID_BOT_FACE, myShapeIDMap );
+  }
+  {
+    SMESH_Block::TFace& tFace = myFace[ ID_TOP_FACE - ID_FirstF ];
+    tFace.Set( ID_TOP_FACE, new BRepAdaptor_Surface( topF ), topPcurves, isForward );
+    SMESH_Block::Insert( topF, ID_TOP_FACE, myShapeIDMap );
+  }
+
+  // Fill map ShapeIndex to TParam2ColumnMap
+  // ----------------------------------------
+
+  list< TSideFace* > fList;
+  list< TSideFace* >::iterator fListIt;
+  fList.push_back( mySide );
+  for ( fListIt = fList.begin(); fListIt != fList.end(); ++fListIt)
+  {
+    int nb = (*fListIt)->NbComponents();
+    for ( int i = 0; i < nb; ++i ) {
+      if ( TSideFace* comp = (*fListIt)->GetComponent( i ))
+        fList.push_back( comp );
+    }
+    if ( TParam2ColumnMap* cols = (*fListIt)->GetColumns()) {
+      // columns for a base edge
+      int id = MeshDS()->ShapeToIndex( (*fListIt)->BaseEdge() );
+      bool isForward = (*fListIt)->IsForward();
+      myShapeIndex2ColumnMap[ id ] = make_pair( cols, isForward );
+
+      // columns for vertices
+      const SMDS_MeshNode* n0 = cols->begin()->second.front();
+      id = n0->GetPosition()->GetShapeId();
+      myShapeIndex2ColumnMap[ id ] = make_pair( cols, isForward );
+
+      const SMDS_MeshNode* n1 = cols->rbegin()->second.front();
+      id = n1->GetPosition()->GetShapeId();
+      myShapeIndex2ColumnMap[ id ] = make_pair( cols, !isForward );
+    }
+  }
+
+//   gp_XYZ testPar(0.25, 0.25, 0), testCoord;
+//   if ( !FacePoint( ID_BOT_FACE, testPar, testCoord ))
+//     RETURN_BAD_RESULT("TEST FacePoint() FAILED");
+//   SHOWYXZ("IN TEST PARAM" , testPar);
+//   SHOWYXZ("OUT TEST CORD" , testCoord);
+//   if ( !ComputeParameters( testCoord, testPar , ID_BOT_FACE))
+//     RETURN_BAD_RESULT("TEST ComputeParameters() FAILED");
+//   SHOWYXZ("OUT TEST PARAM" , testPar);
+
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Return pointer to column of nodes
+ * \param node - bottom node from which the returned column goes up
+ * \retval const TNodeColumn* - the found column
+ */
+//================================================================================
+
+const TNodeColumn* StdMeshers_PrismAsBlock::GetNodeColumn(const SMDS_MeshNode* node) const
+{
+  int sID = node->GetPosition()->GetShapeId();
+
+  map<int, pair< TParam2ColumnMap*, bool > >::const_iterator col_frw =
+    myShapeIndex2ColumnMap.find( sID );
+  if ( col_frw != myShapeIndex2ColumnMap.end() ) {
+    const TParam2ColumnMap* cols = col_frw->second.first;
+    TParam2ColumnIt u_col = cols->begin();
+    for ( ; u_col != cols->end(); ++u_col )
+      if ( u_col->second[ 0 ] == node )
+        return & u_col->second;
+  }
+  return 0;
+}
+
+//================================================================================
+/*!
+ * \brief Check curve orientation of a bootom edge
+  * \param meshDS - mesh DS
+  * \param columnsMap - node columns map of side face
+  * \param bottomEdge - the bootom edge
+  * \param sideFaceID - side face in-block ID
+  * \retval bool - true if orientation coinside with in-block froward orientation
+ */
+//================================================================================
+
+bool StdMeshers_PrismAsBlock::IsForwardEdge(SMESHDS_Mesh*           meshDS,
+                                            const TParam2ColumnMap& columnsMap,
+                                            const TopoDS_Edge &     bottomEdge,
+                                            const int               sideFaceID)
+{
+  bool isForward = false;
+  if ( TAssocTool::IsClosedEdge( bottomEdge ))
+  {
+    isForward = ( bottomEdge.Orientation() == TopAbs_FORWARD );
+  }
+  else
+  {
+    const TNodeColumn& firstCol = columnsMap.begin()->second;
+    const SMDS_MeshNode* bottomNode = firstCol[0];
+    TopoDS_Shape firstVertex = SMESH_MesherHelper::GetSubShapeByNode( bottomNode, meshDS );
+    isForward = ( firstVertex.IsSame( TopExp::FirstVertex( bottomEdge, true )));
+  }
+  // on 2 of 4 sides first vertex is end
+  if ( sideFaceID == ID_Fx1z || sideFaceID == ID_F0yz )
+    isForward = !isForward;
+  return isForward;
+}
+
+//================================================================================
+  /*!
+   * \brief Find wall faces by bottom edges
+    * \param mesh - the mesh
+    * \param mainShape - the prism
+    * \param bottomFace - the bottom face
+    * \param bottomEdges - edges bounding the bottom face
+    * \param wallFaces - faces list to fill in
+   */
+//================================================================================
+
+bool StdMeshers_PrismAsBlock::GetWallFaces( SMESH_Mesh*                     mesh,
+                                            const TopoDS_Shape &            mainShape,
+                                            const TopoDS_Shape &            bottomFace,
+                                            const std::list< TopoDS_Edge >& bottomEdges,
+                                            std::list< TopoDS_Face >&       wallFaces)
+{
+  wallFaces.clear();
+
+  TopTools_IndexedMapOfShape faceMap;
+  TopExp::MapShapes( mainShape, TopAbs_FACE, faceMap );
+
+  list< TopoDS_Edge >::const_iterator edge = bottomEdges.begin();
+  for ( ; edge != bottomEdges.end(); ++edge )
+  {
+    TopTools_ListIteratorOfListOfShape ancestIt = mesh->GetAncestors( *edge );
+    for ( ; ancestIt.More(); ancestIt.Next() )
+    {
+      const TopoDS_Shape& ancestor = ancestIt.Value();
+      if ( ancestor.ShapeType() == TopAbs_FACE && // face
+           !bottomFace.IsSame( ancestor ) &&      // not bottom
+           faceMap.FindIndex( ancestor ))         // belongs to the prism
+      {
+        wallFaces.push_back( TopoDS::Face( ancestor ));
+        break;
+      }
+    }
+  }
+  return ( wallFaces.size() == bottomEdges.size() );
+}
+
+//================================================================================
+/*!
+ * \brief Constructor
+  * \param faceID - in-block ID
+  * \param face - geom face
+  * \param columnsMap - map of node columns
+  * \param first - first normalized param
+  * \param last - last normalized param
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TSideFace::TSideFace(SMESH_MesherHelper* helper,
+                                              const int           faceID,
+                                              const TopoDS_Face&  face,
+                                              const TopoDS_Edge&  baseEdge,
+                                              TParam2ColumnMap*   columnsMap,
+                                              const double        first,
+                                              const double        last):
+  myID( faceID ),
+  myParamToColumnMap( columnsMap ),
+  myBaseEdge( baseEdge ),
+  myHelper( helper )
+{
+  mySurface.Initialize( face );
+  myParams.resize( 1 );
+  myParams[ 0 ] = make_pair( first, last );
+  myIsForward = StdMeshers_PrismAsBlock::IsForwardEdge( myHelper->GetMeshDS(),
+                                                        *myParamToColumnMap,
+                                                        myBaseEdge, myID );
+}
+
+//================================================================================
+/*!
+ * \brief Constructor of complex side face
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TSideFace::
+TSideFace(const vector< TSideFace* >&             components,
+          const vector< pair< double, double> > & params)
+  :myID( components[0] ? components[0]->myID : 0 ),
+   myParamToColumnMap( 0 ),
+   myParams( params ),
+   myIsForward( true ),
+   myComponents( components ),
+   myHelper( components[0] ? components[0]->myHelper : 0 )
+{}
+//================================================================================
+/*!
+ * \brief Copy constructor
+  * \param other - other side
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TSideFace::TSideFace( const TSideFace& other )
+{
+  myID               = other.myID;
+  mySurface          = other.mySurface;
+  myBaseEdge         = other.myBaseEdge;
+  myParams           = other.myParams;
+  myIsForward        = other.myIsForward;
+  myHelper           = other.myHelper;
+  myParamToColumnMap = other.myParamToColumnMap;
+
+  myComponents.resize( other.myComponents.size());
+  for (int i = 0 ; i < myComponents.size(); ++i )
+    myComponents[ i ] = new TSideFace( *other.myComponents[ i ]);
+}
+
+//================================================================================
+/*!
+ * \brief Deletes myComponents
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TSideFace::~TSideFace()
+{
+  for (int i = 0 ; i < myComponents.size(); ++i )
+    if ( myComponents[ i ] )
+      delete myComponents[ i ];
+}
+
+//================================================================================
+/*!
+ * \brief Return geometry of the vertical curve
+  * \param isMax - true means curve located closer to (1,1,1) block point
+  * \retval Adaptor3d_Curve* - curve adaptor
+ */
+//================================================================================
+
+Adaptor3d_Curve* StdMeshers_PrismAsBlock::TSideFace::VertiCurve(const bool isMax) const
+{
+  if ( !myComponents.empty() ) {
+    if ( isMax )
+      return myComponents.back()->VertiCurve(isMax);
+    else
+      return myComponents.front()->VertiCurve(isMax);
+  }
+  double f = myParams[0].first, l = myParams[0].second;
+  if ( !myIsForward ) std::swap( f, l );
+  return new TVerticalEdgeAdaptor( myParamToColumnMap, isMax ? l : f );
+}
+
+//================================================================================
+/*!
+ * \brief Return geometry of the top or bottom curve
+  * \param isTop - 
+  * \retval Adaptor3d_Curve* - 
+ */
+//================================================================================
+
+Adaptor3d_Curve* StdMeshers_PrismAsBlock::TSideFace::HorizCurve(const bool isTop) const
+{
+  return new THorizontalEdgeAdaptor( this, isTop );
+}
+
+//================================================================================
+/*!
+ * \brief Return pcurves
+  * \param pcurv - array of 4 pcurves
+  * \retval bool - is a success
+ */
+//================================================================================
+
+bool StdMeshers_PrismAsBlock::TSideFace::GetPCurves(Adaptor2d_Curve2d* pcurv[4]) const
+{
+  int iEdge[ 4 ] = { BOTTOM_EDGE, TOP_EDGE, V0_EDGE, V1_EDGE };
+
+  for ( int i = 0 ; i < 4 ; ++i ) {
+    Handle(Geom2d_Line) line;
+    switch ( iEdge[ i ] ) {
+    case TOP_EDGE:
+      line = new Geom2d_Line( gp_Pnt2d( 0, 1 ), gp::DX2d() ); break;
+    case BOTTOM_EDGE:
+      line = new Geom2d_Line( gp::Origin2d(), gp::DX2d() ); break;
+    case V0_EDGE:
+      line = new Geom2d_Line( gp::Origin2d(), gp::DY2d() ); break;
+    case V1_EDGE:
+      line = new Geom2d_Line( gp_Pnt2d( 1, 0 ), gp::DY2d() ); break;
+    }
+    pcurv[ i ] = new Geom2dAdaptor_Curve( line, 0, 1 );
+  }
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Returns geometry of pcurve on a horizontal face
+  * \param isTop - is top or bottom face
+  * \param horFace - a horizontal face
+  * \retval Adaptor2d_Curve2d* - curve adaptor
+ */
+//================================================================================
+
+Adaptor2d_Curve2d*
+StdMeshers_PrismAsBlock::TSideFace::HorizPCurve(const bool         isTop,
+                                                const TopoDS_Face& horFace) const
+{
+  return new TPCurveOnHorFaceAdaptor( this, isTop, horFace );
+}
+
+//================================================================================
+/*!
+ * \brief Return a component corresponding to parameter
+  * \param U - parameter along a horizontal size
+  * \param localU - parameter along a horizontal size of a component
+  * \retval TSideFace* - found component
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TSideFace*
+StdMeshers_PrismAsBlock::TSideFace::GetComponent(const double U,double & localU) const
+{
+  localU = U;
+  if ( myComponents.empty() )
+    return const_cast<TSideFace*>( this );
+
+  int i;
+  for ( i = 0; i < myComponents.size(); ++i )
+    if ( U < myParams[ i ].second )
+      break;
+  if ( i >= myComponents.size() )
+    i = myComponents.size() - 1;
+
+  double f = myParams[ i ].first, l = myParams[ i ].second;
+  localU = ( U - f ) / ( l - f );
+  return myComponents[ i ];
+}
+
+//================================================================================
+/*!
+ * \brief Find node columns for a parameter
+  * \param U - parameter along a horizontal edge
+  * \param col1 - the 1st found column
+  * \param col2 - the 2nd found column
+  * \retval r - normalized position of U between the found columns
+ */
+//================================================================================
+
+double StdMeshers_PrismAsBlock::TSideFace::GetColumns(const double      U,
+                                                      TParam2ColumnIt & col1,
+                                                      TParam2ColumnIt & col2) const
+{
+  double u = U, r = 0;
+  if ( !myComponents.empty() ) {
+    TSideFace * comp = GetComponent(U,u);
+    return comp->GetColumns( u, col1, col2 );
+  }
+
+  if ( !myIsForward )
+    u = 1 - u;
+  double f = myParams[0].first, l = myParams[0].second;
+  u = f + u * ( l - f );
+
+  col1 = col2 = getColumn( myParamToColumnMap, u );
+  if ( ++col2 == myParamToColumnMap->end() ) {
+    --col2;
+    r = 0.5;
+  }
+  else {
+//     if ( !myIsForward )
+//       std::swap( col1, col2 );
+    double uf = col1->first;
+    double ul = col2->first;
+    r = ( u - uf ) / ( ul - uf );
+  }
+  return r;
+}
+
+//================================================================================
+/*!
+ * \brief Return coordinates by normalized params
+  * \param U - horizontal param
+  * \param V - vertical param
+  * \retval gp_Pnt - result point
+ */
+//================================================================================
+
+gp_Pnt StdMeshers_PrismAsBlock::TSideFace::Value(const Standard_Real U,
+                                                 const Standard_Real V) const
+{
+  double u;
+  if ( !myComponents.empty() ) {
+    TSideFace * comp = GetComponent(U,u);
+    return comp->Value( u, V );
+  }
+
+  TParam2ColumnIt u_col1, u_col2;
+  double vR, hR = GetColumns( U, u_col1, u_col2 );
+
+  const SMDS_MeshNode* n1 = 0;
+  const SMDS_MeshNode* n2 = 0;
+  const SMDS_MeshNode* n3 = 0;
+  const SMDS_MeshNode* n4 = 0;
+  gp_XYZ pnt;
+
+  vR = getRAndNodes( & u_col1->second, V, n1, n2 );
+  vR = getRAndNodes( & u_col2->second, V, n3, n4 );
+  
+  gp_XY uv1 = myHelper->GetNodeUV( mySurface.Face(), n1, n4);
+  gp_XY uv2 = myHelper->GetNodeUV( mySurface.Face(), n2, n3);
+  gp_XY uv12 = uv1 * ( 1 - vR ) + uv2 * vR;
+
+  gp_XY uv3 = myHelper->GetNodeUV( mySurface.Face(), n3, n2);
+  gp_XY uv4 = myHelper->GetNodeUV( mySurface.Face(), n4, n1);
+  gp_XY uv34 = uv3 * ( 1 - vR ) + uv4 * vR;
+
+  gp_XY uv = uv12 * ( 1 - hR ) + uv34 * hR;
+  
+  return mySurface.Value( uv.X(), uv.Y() );
+}
+
+
+//================================================================================
+/*!
+ * \brief Return boundary edge
+  * \param edge - edge index
+  * \retval TopoDS_Edge - found edge
+ */
+//================================================================================
+
+TopoDS_Edge StdMeshers_PrismAsBlock::TSideFace::GetEdge(const int iEdge) const
+{
+  if ( !myComponents.empty() ) {
+    switch ( iEdge ) {
+    case V0_EDGE : return myComponents.front()->GetEdge( iEdge );
+    case V1_EDGE : return myComponents.back() ->GetEdge( iEdge );
+    default: return TopoDS_Edge();
+    }
+  }
+  TopoDS_Shape edge;
+  const SMDS_MeshNode* node = 0;
+  SMESHDS_Mesh * meshDS = myHelper->GetMesh()->GetMeshDS();
+  TNodeColumn* column;
+
+  switch ( iEdge ) {
+  case TOP_EDGE:
+  case BOTTOM_EDGE:
+    column = & (( ++myParamToColumnMap->begin())->second );
+    node = ( iEdge == TOP_EDGE ) ? column->back() : column->front();
+    edge = myHelper->GetSubShapeByNode ( node, meshDS );
+    if ( edge.ShapeType() == TopAbs_VERTEX ) {
+      column = & ( myParamToColumnMap->begin()->second );
+      node = ( iEdge == TOP_EDGE ) ? column->back() : column->front();
+    }
+    break;
+  case V0_EDGE:
+  case V1_EDGE: {
+    bool back = ( iEdge == V1_EDGE );
+    if ( !myIsForward ) back = !back;
+    if ( back )
+      column = & ( myParamToColumnMap->rbegin()->second );
+    else
+      column = & ( myParamToColumnMap->begin()->second );
+    if ( column->size() > 0 )
+      edge = myHelper->GetSubShapeByNode( (*column)[ 1 ], meshDS );
+    if ( edge.IsNull() || edge.ShapeType() == TopAbs_VERTEX )
+      node = column->front();
+    break;
+  }
+  default:;
+  }
+  if ( !edge.IsNull() || edge.ShapeType() == TopAbs_EDGE )
+    return TopoDS::Edge( edge );
+
+  // find edge by 2 vertices
+  TopoDS_Shape V1 = edge;
+  TopoDS_Shape V2 = myHelper->GetSubShapeByNode( node, meshDS );
+  if ( V2.ShapeType() == TopAbs_VERTEX && !V2.IsSame( V1 ))
+  {
+    TopTools_ListIteratorOfListOfShape ancestIt =
+      myHelper->GetMesh()->GetAncestors( V1 );
+    for ( ; ancestIt.More(); ancestIt.Next() )
+    {
+      const TopoDS_Shape & ancestor = ancestIt.Value();
+      if ( ancestor.ShapeType() == TopAbs_EDGE )
+        for ( TopExp_Explorer e( ancestor, TopAbs_VERTEX ); e.More(); e.Next() )
+          if ( V2.IsSame( e.Current() ))
+            return TopoDS::Edge( ancestor );
+    }
+  }
+  return TopoDS_Edge();
+}
+
+//================================================================================
+/*!
+ * \brief Fill block subshapes
+  * \param shapeMap - map to fill in
+  * \retval int - nb inserted subshapes
+ */
+//================================================================================
+
+int StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes(TBlockShapes& shapeMap) const
+{
+  int nbInserted = 0;
+
+  // Insert edges
+  vector< int > edgeIdVec;
+  SMESH_Block::GetFaceEdgesIDs( myID, edgeIdVec );
+
+  for ( int i = BOTTOM_EDGE; i <=V1_EDGE ; ++i ) {
+    TopoDS_Edge e = GetEdge( i );
+    if ( !e.IsNull() ) {
+      nbInserted += SMESH_Block::Insert( e, edgeIdVec[ i ], shapeMap);
+    }
+  }
+
+  // Insert corner vertices
+
+  TParam2ColumnIt col1, col2 ;
+  vector< int > vertIdVec;
+
+  // from V0 column
+  SMESH_Block::GetEdgeVertexIDs( edgeIdVec[ V0_EDGE ], vertIdVec);
+  GetColumns(0, col1, col2 );
+  const SMDS_MeshNode* node0 = col1->second.front();
+  const SMDS_MeshNode* node1 = col1->second.back();
+  TopoDS_Shape v0 = myHelper->GetSubShapeByNode( node0, myHelper->GetMeshDS());
+  TopoDS_Shape v1 = myHelper->GetSubShapeByNode( node1, myHelper->GetMeshDS());
+  if ( v0.ShapeType() == TopAbs_VERTEX ) {
+    nbInserted += SMESH_Block::Insert( v0, vertIdVec[ 0 ], shapeMap);
+  }
+  if ( v1.ShapeType() == TopAbs_VERTEX ) {
+    nbInserted += SMESH_Block::Insert( v1, vertIdVec[ 1 ], shapeMap);
+  }
+  
+  // from V1 column
+  SMESH_Block::GetEdgeVertexIDs( edgeIdVec[ V1_EDGE ], vertIdVec);
+  GetColumns(1, col1, col2 );
+  node0 = col2->second.front();
+  node1 = col2->second.back();
+  v0 = myHelper->GetSubShapeByNode( node0, myHelper->GetMeshDS());
+  v1 = myHelper->GetSubShapeByNode( node1, myHelper->GetMeshDS());
+  if ( v0.ShapeType() == TopAbs_VERTEX ) {
+    nbInserted += SMESH_Block::Insert( v0, vertIdVec[ 0 ], shapeMap);
+  }
+  if ( v1.ShapeType() == TopAbs_VERTEX ) {
+    nbInserted += SMESH_Block::Insert( v1, vertIdVec[ 1 ], shapeMap);
+  }
+
+//   TopoDS_Vertex V0, V1, Vcom;
+//   TopExp::Vertices( myBaseEdge, V0, V1, true );
+//   if ( !myIsForward ) std::swap( V0, V1 );
+
+//   // bottom vertex IDs
+//   SMESH_Block::GetEdgeVertexIDs( edgeIdVec[ _u0 ], vertIdVec);
+//   SMESH_Block::Insert( V0, vertIdVec[ 0 ], shapeMap);
+//   SMESH_Block::Insert( V1, vertIdVec[ 1 ], shapeMap);
+
+//   TopoDS_Edge sideEdge = GetEdge( V0_EDGE );
+//   if ( sideEdge.IsNull() || !TopExp::CommonVertex( botEdge, sideEdge, Vcom ))
+//     return false;
+
+//   // insert one side edge
+//   int edgeID;
+//   if ( Vcom.IsSame( V0 )) edgeID = edgeIdVec[ _v0 ];
+//   else                    edgeID = edgeIdVec[ _v1 ];
+//   SMESH_Block::Insert( sideEdge, edgeID, shapeMap);
+
+//   // top vertex of the side edge
+//   SMESH_Block::GetEdgeVertexIDs( edgeID, vertIdVec);
+//   TopoDS_Vertex Vtop = TopExp::FirstVertex( sideEdge );
+//   if ( Vcom.IsSame( Vtop ))
+//     Vtop = TopExp::LastVertex( sideEdge );
+//   SMESH_Block::Insert( Vtop, vertIdVec[ 1 ], shapeMap);
+
+//   // other side edge
+//   sideEdge = GetEdge( V1_EDGE );
+//   if ( sideEdge.IsNull() )
+//     return false;
+//   if ( edgeID = edgeIdVec[ _v1 ]) edgeID = edgeIdVec[ _v0 ];
+//   else                            edgeID = edgeIdVec[ _v1 ];
+//   SMESH_Block::Insert( sideEdge, edgeID, shapeMap);
+  
+//   // top edge
+//   TopoDS_Edge topEdge = GetEdge( TOP_EDGE );
+//   SMESH_Block::Insert( topEdge, edgeIdVec[ _u1 ], shapeMap);
+
+//   // top vertex of the other side edge
+//   if ( !TopExp::CommonVertex( topEdge, sideEdge, Vcom ))
+//     return false;
+//   SMESH_Block::GetEdgeVertexIDs( edgeID, vertIdVec );
+//   SMESH_Block::Insert( Vcom, vertIdVec[ 1 ], shapeMap);
+
+  return nbInserted;
+}
+
+//================================================================================
+/*!
+ * \brief Creates TVerticalEdgeAdaptor 
+  * \param columnsMap - node column map
+  * \param parameter - normalized parameter
+ */
+//================================================================================
+
+StdMeshers_PrismAsBlock::TVerticalEdgeAdaptor::
+TVerticalEdgeAdaptor( const TParam2ColumnMap* columnsMap, const double parameter)
+{
+  myNodeColumn = & getColumn( columnsMap, parameter )->second;
+}
+
+//================================================================================
+/*!
+ * \brief Return coordinates for the given normalized parameter
+  * \param U - normalized parameter
+  * \retval gp_Pnt - coordinates
+ */
+//================================================================================
+
+gp_Pnt StdMeshers_PrismAsBlock::TVerticalEdgeAdaptor::Value(const Standard_Real U) const
+{
+  const SMDS_MeshNode* n1;
+  const SMDS_MeshNode* n2;
+  double r = getRAndNodes( myNodeColumn, U, n1, n2 );
+  return gpXYZ(n1) * ( 1 - r ) + gpXYZ(n2) * r;
+}
+
+//================================================================================
+/*!
+ * \brief Return coordinates for the given normalized parameter
+  * \param U - normalized parameter
+  * \retval gp_Pnt - coordinates
+ */
+//================================================================================
+
+gp_Pnt StdMeshers_PrismAsBlock::THorizontalEdgeAdaptor::Value(const Standard_Real U) const
+{
+  return mySide->TSideFace::Value( U, myV );
+}
+
+//================================================================================
+/*!
+ * \brief Return UV on pcurve for the given normalized parameter
+  * \param U - normalized parameter
+  * \retval gp_Pnt - coordinates
+ */
+//================================================================================
+
+gp_Pnt2d StdMeshers_PrismAsBlock::TPCurveOnHorFaceAdaptor::Value(const Standard_Real U) const
+{
+  TParam2ColumnIt u_col1, u_col2;
+  double r = mySide->GetColumns( U, u_col1, u_col2 );
+  gp_XY uv1 = mySide->GetNodeUV( myFace, u_col1->second[ myZ ]);
+  gp_XY uv2 = mySide->GetNodeUV( myFace, u_col2->second[ myZ ]);
+  return uv1 * ( 1 - r ) + uv2 * r;
+}
diff --git a/src/StdMeshers/StdMeshers_Prism_3D.hxx b/src/StdMeshers/StdMeshers_Prism_3D.hxx
new file mode 100644 (file)
index 0000000..82fe08f
--- /dev/null
@@ -0,0 +1,426 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Prism_3D.hxx
+//  Module : SMESH
+
+#ifndef _SMESH_Prism_3D_HXX_
+#define _SMESH_Prism_3D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_3D_Algo.hxx"
+#include "SMDS_TypeOfPosition.hxx"
+#include "SMDS_MeshNode.hxx"
+#include "SMESH_Block.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESHDS_Mesh.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMESH_MesherHelper.hxx"
+
+#include <vector>
+
+#include <Adaptor3d_Curve.hxx>
+#include <Adaptor3d_Surface.hxx>
+#include <Adaptor2d_Curve2d.hxx>
+#include <BRepAdaptor_Surface.hxx>
+#include <TopTools_IndexedMapOfOrientedShape.hxx>
+#include <gp_XYZ.hxx>
+
+
+class SMESHDS_SubMesh;
+class TopoDS_Edge;
+class TopoDS_Faces;
+struct TNode;
+
+//typedef std::map<const SMDS_MeshNode*, const SMDS_MeshNode*> TNodeNodeMap;
+typedef std::vector<const SMDS_MeshNode* > TNodeColumn;
+
+// map of bottom nodes to the column of nodes above them
+// (the column includes the bottom nodes)
+typedef std::map< TNode, TNodeColumn > TNode2ColumnMap;
+typedef std::map< double, TNodeColumn > TParam2ColumnMap;
+typedef std::map< double, TNodeColumn >::const_iterator TParam2ColumnIt;
+
+typedef TopTools_IndexedMapOfOrientedShape TBlockShapes;
+
+// ===============================================
+/*!
+ * \brief Structure containing node relative data
+ */
+// ===============================================
+
+struct TNode
+{
+  const SMDS_MeshNode* myNode;
+  gp_XYZ               myParams;
+
+  gp_XYZ GetCoords() const { return gp_XYZ( myNode->X(), myNode->Y(), myNode->Z() ); }
+  gp_XYZ GetParams() const { return myParams; }
+  gp_XYZ& ChangeParams() { return myParams; }
+  SMDS_TypeOfPosition GetPositionType() const
+  { return myNode ? myNode->GetPosition()->GetTypeOfPosition() : SMDS_TOP_UNSPEC; }
+
+  TNode(const SMDS_MeshNode* node = 0): myNode(node) {}
+  bool operator < (const TNode& other) const { return myNode < other.myNode; }
+};
+
+// ===============================================================
+/*!
+ * \brief Tool analyzing and giving access to a prism geometry 
+ *  treating it like a block, i.e. the four side faces are
+ *  emulated by division/uniting of missing/excess faces.
+ *  It also manage associations between block subshapes and a mesh.
+ */
+// ===============================================================
+
+class STDMESHERS_EXPORT StdMeshers_PrismAsBlock: public SMESH_Block
+{
+public:
+  /*!
+   * \brief Constructor. Initialization is needed
+   */
+  StdMeshers_PrismAsBlock();
+
+  ~StdMeshers_PrismAsBlock();
+
+  /*!
+   * \brief Initialization.
+    * \param helper - helper loaded with mesh and 3D shape
+    * \param shape3D - a closed shell or solid
+    * \retval bool - false if a mesh or a shape are KO
+    *
+    * Analyse shape geometry and mesh.
+    * If there are triangles on one of faces, it becomes 'bottom'
+   */
+  bool Init(SMESH_MesherHelper* helper, const TopoDS_Shape& shape3D);
+
+  /*!
+   * \brief Return number of nodes on every vertical edge
+    * \retval int - number of nodes including end nodes
+   */
+  int VerticalSize() const { return myParam2ColumnMaps[0].begin()->second.size(); }
+
+  bool HasNotQuadElemOnTop() const { return myNotQuadOnTop; }
+
+  /*!
+   * \brief Return pointer to column of nodes
+    * \param node - bottom node from which the returned column goes up
+    * \retval const TNodeColumn* - the found column
+   */
+  const TNodeColumn* GetNodeColumn(const SMDS_MeshNode* node) const;
+
+  /*!
+   * \brief Return TParam2ColumnMap for a base edge
+    * \param baseEdgeID - base edge SMESHDS Index
+    * \param isReverse - columns in-block orientation
+    * \retval const TParam2ColumnMap& - map
+   */
+  const TParam2ColumnMap& GetParam2ColumnMap(const int baseEdgeID,
+                                             bool &    isReverse)
+  {
+    std::pair< TParam2ColumnMap*, bool > & col_frw =
+      myShapeIndex2ColumnMap[ baseEdgeID ];
+    isReverse = !col_frw.second;
+    return * col_frw.first;
+  }
+  
+  /*!
+   * \brief Return pointer to mesh
+    * \retval SMESH_Mesh - mesh
+   */
+  SMESH_Mesh* Mesh() const { return myHelper->GetMesh(); }
+
+  /*!
+   * \brief Return pointer to mesh DS
+    * \retval SMESHDS_Mesh - mesh DS
+   */
+  SMESHDS_Mesh* MeshDS() const { return Mesh()->GetMeshDS(); }
+
+  /*!
+   * \brief Return submesh of a shape
+    * \param shapeID - shape given by in-block index
+    * \retval SMESH_subMesh* - found submesh
+   */
+  SMESH_subMesh* SubMesh(const int shapeID) const
+  { return Mesh()->GetSubMesh( Shape( shapeID )); }
+
+  /*!
+   * \brief Return submesh DS of a shape
+    * \param shapeID - shape given by in-block index
+    * \retval SMESHDS_SubMesh* - found submesh DS
+   */
+  SMESHDS_SubMesh* SubMeshDS(const int shapeID) const
+  { return SubMesh(shapeID)->GetSubMeshDS(); }
+
+  /*!
+   * \brief Return a in-block shape
+    * \param shapeID - shape given by in-block index
+    * \retval SMESHDS_SubMesh* - found submesh
+   */
+  const TopoDS_Shape& Shape(const int shapeID) const
+  { return myShapeIDMap( shapeID ); }
+
+  /*!
+   * \brief Return in-block ID of a shape
+    * \param shape - block subshape
+    * \retval int - ID or zero if the shape has no ID
+   */
+  int ShapeID(const TopoDS_Shape& shape) const
+  { return myShapeIDMap.FindIndex( shape ); }
+
+  /*!
+   * \brief Check curve orientation of a bootom edge
+   *  \param meshDS - mesh DS
+   *  \param columnsMap - node columns map of side face
+   *  \param bottomEdge - the bootom edge
+   *  \param sideFaceID - side face in-block ID
+   *  \retval bool - true if orienation coinside with in-block froward orienation
+   */
+  static bool IsForwardEdge(SMESHDS_Mesh*           meshDS,
+                            const TParam2ColumnMap& columnsMap,
+                            const TopoDS_Edge &     bottomEdge,
+                            const int               sideFaceID);
+  /*!
+   * \brief Find wall faces by bottom edges
+    * \param mesh - the mesh
+    * \param mainShape - the prism
+    * \param bottomFace - the bottom face
+    * \param bottomEdges - edges bounding the bottom face
+    * \param wallFaces - faces list to fill in
+   */
+  static bool GetWallFaces( SMESH_Mesh*                     mesh,
+                            const TopoDS_Shape &            mainShape,
+                            const TopoDS_Shape &            bottomFace,
+                            const std::list< TopoDS_Edge >& bottomEdges,
+                            std::list< TopoDS_Face >&       wallFaces);
+
+private:
+
+  // --------------------------------------------------------------------
+  /*!
+   * \brief Class representing a part of a geom face or
+   * a union of seleral faces. Or just an ordinary geom face
+   *
+   * It's parametrization is within [0,1] range.
+   * It redefines Adaptor3d_Surface::Value(U,V) where U and V are within [0,1]
+   */
+  // --------------------------------------------------------------------
+  class TSideFace: public Adaptor3d_Surface
+  {
+    int                             myID; //!< in-block ID
+    // map used to find out real UV by it's normalized UV
+    TParam2ColumnMap*               myParamToColumnMap;
+    BRepAdaptor_Surface             mySurface;
+    TopoDS_Edge                     myBaseEdge;
+    // first and last normalized params and orientaion for each component or it-self
+    vector< pair< double, double> > myParams;
+    bool                            myIsForward;
+    vector< TSideFace* >            myComponents;
+    SMESH_MesherHelper *            myHelper;
+  public:
+    TSideFace( SMESH_MesherHelper* helper,
+               const int           faceID,
+               const TopoDS_Face&  face,
+               const TopoDS_Edge&  baseEdge,
+               TParam2ColumnMap*   columnsMap,
+               const double        first = 0.0,
+               const double        last = 1.0);
+    TSideFace( const std::vector< TSideFace* >&             components,
+               const std::vector< pair< double, double> > & params);
+    TSideFace( const TSideFace& other );
+    ~TSideFace();
+    bool IsComplex() const
+    { return ( NbComponents() > 0 || myParams[0].first != 0. || myParams[0].second != 1. ); }
+    int FaceID() const { return myID; }
+    TParam2ColumnMap* GetColumns() const { return myParamToColumnMap; }
+    gp_XY GetNodeUV(const TopoDS_Face& F, const SMDS_MeshNode* n) const
+    { return myHelper->GetNodeUV( F, n ); }
+    const TopoDS_Edge & BaseEdge() const { return myBaseEdge; }
+    int ColumnHeight() const {
+      if ( NbComponents() ) return GetComponent(0)->GetColumns()->begin()->second.size();
+      else                  return GetColumns()->begin()->second.size(); }
+    double GetColumns(const double U, TParam2ColumnIt & col1, TParam2ColumnIt& col2 ) const;
+    int NbComponents() const { return myComponents.size(); }
+    TSideFace* GetComponent(const int i) const { return myComponents.at( i ); }
+    void SetComponent(const int i, TSideFace* c)
+    { if ( myComponents[i] ) delete myComponents[i]; myComponents[i]=c; }
+    TSideFace* GetComponent(const double U, double& localU) const;
+    bool IsForward() const { return myIsForward; }
+    // boundary geometry for a face
+    Adaptor3d_Surface* Surface() const { return new TSideFace( *this ); }
+    bool GetPCurves(Adaptor2d_Curve2d* pcurv[4]) const;
+    Adaptor2d_Curve2d* HorizPCurve(const bool isTop, const TopoDS_Face& horFace) const;
+    Adaptor3d_Curve* HorizCurve(const bool isTop) const;
+    Adaptor3d_Curve* VertiCurve(const bool isMax) const;
+    TopoDS_Edge GetEdge( const int edge ) const;
+    int InsertSubShapes( TBlockShapes& shapeMap ) const;
+    // redefine Adaptor methods
+    gp_Pnt Value(const Standard_Real U,const Standard_Real V) const;
+  };
+
+  // --------------------------------------------------------------------
+  /*!
+   * \brief Class emulating geometry of a vertical edge
+   */
+  // --------------------------------------------------------------------
+  class STDMESHERS_EXPORT TVerticalEdgeAdaptor: public Adaptor3d_Curve
+  {
+    const TNodeColumn* myNodeColumn;
+  public:
+    TVerticalEdgeAdaptor( const TParam2ColumnMap* columnsMap, const double parameter );
+    gp_Pnt Value(const Standard_Real U) const;
+    Standard_Real FirstParameter() const { return 0; }
+    Standard_Real LastParameter() const { return 1; }
+  };
+
+  // --------------------------------------------------------------------
+  /*!
+   * \brief Class emulating geometry of a hirizontal edge
+   */
+  // --------------------------------------------------------------------
+  class STDMESHERS_EXPORT THorizontalEdgeAdaptor: public Adaptor3d_Curve
+  {
+    const TSideFace* mySide;
+    double           myV;
+  public:
+    THorizontalEdgeAdaptor( const TSideFace* sideFace, const bool isTop)
+      :mySide(sideFace), myV( isTop ? 1.0 : 0.0 ) {}
+    gp_Pnt Value(const Standard_Real U) const;
+    Standard_Real FirstParameter() const { return 0; }
+    Standard_Real LastParameter() const { return 1; }
+  };
+
+  // --------------------------------------------------------------------
+  /*!
+   * \brief Class emulating pcurve on a hirizontal face
+   */
+  // --------------------------------------------------------------------
+  class STDMESHERS_EXPORT TPCurveOnHorFaceAdaptor: public Adaptor2d_Curve2d
+  {
+    const TSideFace*  mySide;
+    int               myZ;
+    TopoDS_Face       myFace;
+  public:
+    TPCurveOnHorFaceAdaptor( const TSideFace*   sideFace,
+                             const bool         isTop,
+                             const TopoDS_Face& horFace)
+      : mySide(sideFace), myFace(horFace), myZ(isTop ? mySide->ColumnHeight() - 1 : 0 ) {}
+    gp_Pnt2d Value(const Standard_Real U) const;
+    Standard_Real FirstParameter() const { return 0; }
+    Standard_Real LastParameter() const { return 1; }
+  };
+  // --------------------------------------------------------------------
+
+  bool myNotQuadOnTop;
+  SMESH_MesherHelper* myHelper;
+  TBlockShapes myShapeIDMap;
+
+  // container of 4 side faces
+  TSideFace*                 mySide; 
+  // node columns for each base edge
+  vector< TParam2ColumnMap > myParam2ColumnMaps;
+  // to find a column for a node by edge SMESHDS Index
+  map< int, pair< TParam2ColumnMap*, bool > > myShapeIndex2ColumnMap;
+
+  
+  //vector< SMESH_subMesh* >           mySubMeshesVec; // submesh by in-block id
+};
+
+// =============================================
+/*!
+ * \brief Algo building prisms on a prism shape
+ */
+// =============================================
+
+class STDMESHERS_EXPORT StdMeshers_Prism_3D: public SMESH_3D_Algo
+{
+public:
+  StdMeshers_Prism_3D(int hypId, int studyId, SMESH_Gen* gen);
+  virtual ~StdMeshers_Prism_3D();
+
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus);
+
+  virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
+
+  /*!
+   * \brief Enable removal of quadrangles from the bottom face and
+   * triangles creation there by projection from the top
+   * (sole face meshed with triangles is considered to be a bottom one).
+   * If there are two faces with triangles, triangles must
+   * be of the same topology, else the algo fails.
+   * The method must be called before Compute()
+   */
+  void ProjectTriangles() { myProjectTriangles = true; }
+
+  /*!
+   * \brief Create prisms
+    * \param nodeColumns - columns of nodes generated from nodes of a mesh face
+    * \param helper - helper initialized by mesh and shape to add prisms to
+   */
+  static void AddPrisms( vector<const TNodeColumn*> & nodeColumns,
+                         SMESH_MesherHelper*          helper);
+
+private:
+
+  /*!
+   * \brief Find correspondence between bottom and top nodes.
+   *  If elements on the bottom and top faces are topologically different,
+   *  and projection is possible and allowed, perform the projection
+    * \retval bool - is a success or not
+   */
+  bool assocOrProjBottom2Top();
+
+  /*!
+   * \brief Remove quadrangles from the top face and
+   * create triangles there by projection from the bottom
+    * \retval bool - a success or not
+   */
+  bool projectBottomToTop();
+
+  /*!
+   * \brief Set projection coordinates of a node to a face and it's subshapes
+    * \param faceID - the face given by in-block ID
+    * \param params - node normalized parameters
+    * \retval bool - is a success
+   */
+  bool setFaceAndEdgesXYZ( const int faceID, const gp_XYZ& params, int z );
+
+private:
+
+  bool myProjectTriangles;
+
+  StdMeshers_PrismAsBlock myBlock;
+  SMESH_MesherHelper*     myHelper;
+
+  vector<gp_XYZ>            myShapeXYZ; // point on each sub-shape
+
+  // map of bottom nodes to the column of nodes above them
+  // (the column includes the bottom node)
+  typedef std::map< TNode, TNodeColumn > TNode2ColumnMap;
+  TNode2ColumnMap  myBotToColumnMap;
+};
+
+#endif
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource1D.cxx b/src/StdMeshers/StdMeshers_ProjectionSource1D.cxx
new file mode 100644 (file)
index 0000000..48121a6
--- /dev/null
@@ -0,0 +1,232 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource1D.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_ProjectionSource1D.hxx"
+
+#include "SMESH_Mesh.hxx"
+
+#include "utilities.h"
+
+#include <TopoDS.hxx>
+
+using namespace std;
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource1D::StdMeshers_ProjectionSource1D
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource1D::StdMeshers_ProjectionSource1D(int hypId, int studyId,
+                                                             SMESH_Gen * gen)
+  : SMESH_Hypothesis(hypId, studyId, gen)
+{
+  _name = "ProjectionSource1D"; // used by Projection_1D
+  _param_algo_dim = 1; // 1D
+  _sourceMesh = 0;
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource1D::~StdMeshers_ProjectionSource1D
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource1D::~StdMeshers_ProjectionSource1D()
+{
+  MESSAGE( "StdMeshers_ProjectionSource1D::~StdMeshers_ProjectionSource1D" );
+}
+
+//=============================================================================
+  /*!
+   * Sets source <edge> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D::SetSourceEdge(const TopoDS_Shape& edge)
+  throw ( SALOME_Exception )
+{
+  if ( edge.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Null edge is not allowed"));
+
+  if ( edge.ShapeType() != TopAbs_EDGE )
+    throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+
+  if ( !_sourceEdge.IsSame( edge ) )
+  {
+    _sourceEdge = TopoDS::Edge( edge );
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source edge and the target one.
+ * This parameter is optional
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D::SetVertexAssociation(const TopoDS_Shape& sourceVertex,
+                                                         const TopoDS_Shape& targetVertex)
+  throw ( SALOME_Exception )
+{
+  if ( sourceVertex.IsNull() != targetVertex.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Two or none vertices must be provided"));
+
+  if ( !sourceVertex.IsNull() ) {
+    if ( sourceVertex.ShapeType() != TopAbs_VERTEX ||
+         targetVertex.ShapeType() != TopAbs_VERTEX )
+      throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+  }
+
+  if ( !_sourceVertex.IsSame( sourceVertex ) ||
+       !_targetVertex.IsSame( targetVertex ) )
+  {
+    _sourceVertex = TopoDS::Vertex( sourceVertex );
+    _targetVertex = TopoDS::Vertex( targetVertex );
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D::SetSourceMesh(SMESH_Mesh* mesh)
+{
+  if ( _sourceMesh != mesh )
+    NotifySubMeshesHypothesisModification();
+  _sourceMesh = mesh;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & StdMeshers_ProjectionSource1D::SaveTo(ostream & save)
+{
+  // we store it in order to be able to detect that hypo is really modified
+  save << " " << _sourceEdge.TShape().operator->()  ;
+  save << " " << _sourceVertex.TShape().operator->();
+  save << " " << _targetVertex.TShape().operator->();
+  save << " " << ( _sourceMesh ? _sourceMesh->GetId() : -1 );
+  return save;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & StdMeshers_ProjectionSource1D::LoadFrom(istream & load)
+{
+  // impossible to restore w/o any context
+  return load;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & operator <<(ostream & save, StdMeshers_ProjectionSource1D & hyp)
+{
+  return hyp.SaveTo( save );
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & operator >>(istream & load, StdMeshers_ProjectionSource1D & hyp)
+{
+  return hyp.LoadFrom( load );
+}
+
+//================================================================================
+/*!
+ * \brief Initialize start and end length 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
+ */
+//================================================================================
+
+bool StdMeshers_ProjectionSource1D::SetParametersByMesh(const SMESH_Mesh*   ,
+                                                        const TopoDS_Shape& )
+{
+  return false;
+}
+
+//================================================================================
+/*!
+ * \brief Return all parameters
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource1D::GetStoreParams(TopoDS_Shape& s1,
+                                                   TopoDS_Shape& s2,
+                                                   TopoDS_Shape& s3) const
+{
+  s1 = _sourceEdge;
+  s2 = _sourceVertex;
+  s3 = _targetVertex;
+}
+
+//================================================================================
+/*!
+ * \brief Set all parameters without notifying on modification
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource1D::RestoreParams(const TopoDS_Shape& s1,
+                                                  const TopoDS_Shape& s2,
+                                                  const TopoDS_Shape& s3,
+                                                  SMESH_Mesh*         mesh)
+{
+  _sourceEdge   = TopoDS::Edge( s1 );
+  _sourceVertex = TopoDS::Vertex( s2 );
+  _targetVertex = TopoDS::Vertex( s3 );
+  _sourceMesh   = mesh;
+}
+
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource1D.hxx b/src/StdMeshers/StdMeshers_ProjectionSource1D.hxx
new file mode 100644 (file)
index 0000000..1431ba2
--- /dev/null
@@ -0,0 +1,144 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource1D.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource1D_HXX_
+#define _SMESH_ProjectionSource1D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_Hypothesis.hxx"
+#include "Utils_SALOME_Exception.hxx"
+
+#include <TopoDS_Edge.hxx>
+#include <TopoDS_Vertex.hxx>
+
+class SMESH_Gen;
+
+// =========================================================
+  /*!
+   * This hypothesis specifies a meshed edge to take a mesh pattern from
+   * and optionally association of vertices between the source edge and a
+   * target one (where a hipothesis is assigned to)
+   */
+// =========================================================
+
+class STDMESHERS_EXPORT StdMeshers_ProjectionSource1D: public SMESH_Hypothesis
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource1D( int hypId, int studyId, SMESH_Gen * gen );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource1D();
+
+  /*!
+   * Sets source <edge> to take a mesh pattern from
+   */
+  void SetSourceEdge(const TopoDS_Shape& edge)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the source edge
+   */
+  TopoDS_Edge GetSourceEdge() const { return _sourceEdge; }
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH_Mesh* mesh);
+
+  /*!
+   * Return source mesh
+   */
+  SMESH_Mesh* GetSourceMesh() const { return _sourceMesh; }
+
+  /*!
+   * Sets vertex association between the source edge and the target one.
+   * This parameter is optional
+   */
+  void SetVertexAssociation(const TopoDS_Shape& sourceVertex,
+                            const TopoDS_Shape& targetVertex)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the vertex associated with the target vertex.
+   * Result may be nil if association not set
+   */
+  TopoDS_Vertex GetSourceVertex() const { return _sourceVertex; }
+
+  /*!
+   * Returns the vertex associated with the source vertex.
+   * Result may be nil if association not set
+   */
+  TopoDS_Vertex GetTargetVertex() const { return _targetVertex; }
+
+  /*!
+   * \brief Test if vertex association defined
+    * \retval bool - test result
+   */
+  bool HasVertexAssociation() const
+  { return ( !_sourceVertex.IsNull() && !_targetVertex.IsNull() ); }
+
+  /*!
+   * \brief Return all parameters
+   */
+  void GetStoreParams(TopoDS_Shape& s1,
+                      TopoDS_Shape& s2,
+                      TopoDS_Shape& s3) const;
+
+  /*!
+   * \brief Set all parameters without notifying on modification
+   */
+  void RestoreParams(const TopoDS_Shape& s1,
+                     const TopoDS_Shape& s2,
+                     const TopoDS_Shape& s3,
+                     SMESH_Mesh*         mesh);
+
+  virtual std::ostream & SaveTo(std::ostream & save);
+  virtual std::istream & LoadFrom(std::istream & load);
+  friend std::ostream & operator <<(std::ostream & save, StdMeshers_ProjectionSource1D & hyp);
+  friend std::istream & operator >>(std::istream & load, StdMeshers_ProjectionSource1D & hyp);
+
+  /*!
+   * \brief Initialize parameters 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
+    *
+    * Implementation does noting
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
+
+protected:
+
+  TopoDS_Edge   _sourceEdge;
+  SMESH_Mesh*   _sourceMesh;
+  TopoDS_Vertex _sourceVertex;
+  TopoDS_Vertex _targetVertex;
+};
+
+#endif
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource2D.cxx b/src/StdMeshers/StdMeshers_ProjectionSource2D.cxx
new file mode 100644 (file)
index 0000000..2b9c542
--- /dev/null
@@ -0,0 +1,300 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource2D.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+
+#include "StdMeshers_ProjectionSource2D.hxx"
+
+#include "SMESH_Mesh.hxx"
+
+#include "utilities.h"
+
+#include <TopoDS.hxx>
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource2D::StdMeshers_ProjectionSource2D
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource2D::StdMeshers_ProjectionSource2D(int hypId, int studyId,
+                                                             SMESH_Gen * gen)
+  : SMESH_Hypothesis(hypId, studyId, gen)
+{
+  _name = "ProjectionSource2D"; // used by Projection_2D
+  _param_algo_dim = 2; // 2D
+  _sourceMesh = 0;
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource2D::~StdMeshers_ProjectionSource2D
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource2D::~StdMeshers_ProjectionSource2D()
+{
+  MESSAGE( "StdMeshers_ProjectionSource2D::~StdMeshers_ProjectionSource2D" );
+}
+
+//=============================================================================
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D::SetSourceFace(const TopoDS_Shape& Face)
+  throw ( SALOME_Exception )
+{
+  if ( Face.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Null Face is not allowed"));
+
+  if ( Face.ShapeType() != TopAbs_FACE )
+    throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+
+  if ( !_sourceFace.IsSame( Face ) )
+  {
+    _sourceFace = TopoDS::Face( Face );
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source face and the target one.
+ * This parameter is optional.
+ * Two vertices must belong to one edge of a face
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D::SetVertexAssociation(const TopoDS_Shape& sourceVertex1,
+                                                         const TopoDS_Shape& sourceVertex2,
+                                                         const TopoDS_Shape& targetVertex1,
+                                                         const TopoDS_Shape& targetVertex2)
+  throw ( SALOME_Exception )
+{
+  if ( sourceVertex1.IsNull() != targetVertex1.IsNull() ||
+       sourceVertex2.IsNull() != targetVertex2.IsNull() ||
+       sourceVertex1.IsNull() != targetVertex2.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Two or none pairs of vertices must be provided"));
+
+  if ( !sourceVertex1.IsNull() ) {
+    if ( sourceVertex1.ShapeType() != TopAbs_VERTEX ||
+         sourceVertex2.ShapeType() != TopAbs_VERTEX ||
+         targetVertex1.ShapeType() != TopAbs_VERTEX ||
+         targetVertex2.ShapeType() != TopAbs_VERTEX )
+      throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+  }
+
+  if ( !_sourceVertex1.IsSame( sourceVertex1 ) ||
+       !_sourceVertex2.IsSame( sourceVertex2 ) ||
+       !_targetVertex1.IsSame( targetVertex1 ) ||
+       !_targetVertex2.IsSame( targetVertex2 ) )
+  {
+    _sourceVertex1 = TopoDS::Vertex( sourceVertex1 );
+    _sourceVertex2 = TopoDS::Vertex( sourceVertex2 );
+    _targetVertex1 = TopoDS::Vertex( targetVertex1 );
+    _targetVertex2 = TopoDS::Vertex( targetVertex2 );
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D::SetSourceMesh(SMESH_Mesh* mesh)
+{
+  if ( _sourceMesh != mesh )
+    NotifySubMeshesHypothesisModification();
+  _sourceMesh = mesh;
+}
+
+//=============================================================================
+/*!
+ * Returns the source face
+ */
+//=============================================================================
+
+TopoDS_Face StdMeshers_ProjectionSource2D::GetSourceFace() const
+{
+  return _sourceFace;
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the target vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+TopoDS_Vertex StdMeshers_ProjectionSource2D::GetSourceVertex(int i) const
+  throw ( SALOME_Exception )
+{
+  if ( i == 1 )
+    return _sourceVertex1;
+  else if ( i == 2 )
+    return _sourceVertex2;
+  else
+    throw SALOME_Exception(LOCALIZED("Wrong vertex index"));
+}
+
+//=============================================================================
+/*!
+ * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+ * Result may be nil if association not set.
+ */
+//=============================================================================
+
+TopoDS_Vertex StdMeshers_ProjectionSource2D::GetTargetVertex(int i) const
+  throw ( SALOME_Exception )
+{
+  if ( i == 1 )
+    return _targetVertex1;
+  else if ( i == 2 )
+    return _targetVertex2;
+  else
+    throw SALOME_Exception(LOCALIZED("Wrong vertex index"));
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & StdMeshers_ProjectionSource2D::SaveTo(ostream & save)
+{
+  // we store it in order to be able to detect that hypo is really modified
+  save << " " << _sourceFace.TShape().operator->()  ;
+  save << " " << _sourceVertex1.TShape().operator->();
+  save << " " << _targetVertex1.TShape().operator->();
+  save << " " << _sourceVertex2.TShape().operator->();
+  save << " " << _targetVertex2.TShape().operator->();
+  save << " " << ( _sourceMesh ? _sourceMesh->GetId() : -1 );
+  return save;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & StdMeshers_ProjectionSource2D::LoadFrom(istream & load)
+{
+  // impossible to restore w/o any context
+  // It is done by servant
+  return load;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & operator <<(ostream & save, StdMeshers_ProjectionSource2D & hyp)
+{
+  return hyp.SaveTo( save );
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & operator >>(istream & load, StdMeshers_ProjectionSource2D & hyp)
+{
+  return hyp.LoadFrom( load );
+}
+
+//================================================================================
+/*!
+ * \brief Initialize start and end length 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
+ */
+//================================================================================
+
+bool StdMeshers_ProjectionSource2D::SetParametersByMesh(const SMESH_Mesh*   ,
+                                                        const TopoDS_Shape& )
+{
+  return false;
+}
+
+//================================================================================
+/*!
+ * \brief Return all parameters
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource2D::GetStoreParams(TopoDS_Shape& s1,
+                                                   TopoDS_Shape& s2,
+                                                   TopoDS_Shape& s3,
+                                                   TopoDS_Shape& s4,
+                                                   TopoDS_Shape& s5) const
+{
+  s1 = _sourceFace;
+  s2 = _sourceVertex1;
+  s3 = _sourceVertex2;
+  s4 = _targetVertex1;
+  s5 = _targetVertex2;
+}
+
+//================================================================================
+/*!
+ * \brief Set all parameters without notifying on modification
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource2D::RestoreParams(const TopoDS_Shape& s1,
+                                                  const TopoDS_Shape& s2,
+                                                  const TopoDS_Shape& s3,
+                                                  const TopoDS_Shape& s4,
+                                                  const TopoDS_Shape& s5,
+                                                  SMESH_Mesh*         mesh)
+{
+  _sourceFace    = TopoDS::Face( s1 );
+  _sourceVertex1 = TopoDS::Vertex( s2 );
+  _sourceVertex2 = TopoDS::Vertex( s3 );
+  _targetVertex1 = TopoDS::Vertex( s4 );
+  _targetVertex2 = TopoDS::Vertex( s5 );
+  _sourceMesh   = mesh;
+}
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource2D.hxx b/src/StdMeshers/StdMeshers_ProjectionSource2D.hxx
new file mode 100644 (file)
index 0000000..28c44ae
--- /dev/null
@@ -0,0 +1,157 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource2D.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource2D_HXX_
+#define _SMESH_ProjectionSource2D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_Hypothesis.hxx"
+#include "Utils_SALOME_Exception.hxx"
+
+#include <TopoDS_Face.hxx>
+#include <TopoDS_Vertex.hxx>
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis specifies a meshed face to take a mesh pattern from
+ * and optionally association of vertices between the source face and a
+ * target one (where a hipothesis is assigned to)
+ */
+// =========================================================
+
+class STDMESHERS_EXPORT StdMeshers_ProjectionSource2D: public SMESH_Hypothesis
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource2D( int hypId, int studyId, SMESH_Gen * gen );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource2D();
+
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+  void SetSourceFace(const TopoDS_Shape& face)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the source face
+   */
+  TopoDS_Face GetSourceFace() const;
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH_Mesh* mesh);
+
+  /*!
+   * Return source mesh
+   */
+  SMESH_Mesh* GetSourceMesh() const { return _sourceMesh; }
+
+  /*!
+   * Sets vertex association between the source face and the target one.
+   * This parameter is optional.
+   * Two vertices must belong to one edge of a face
+   */
+  void SetVertexAssociation(const TopoDS_Shape& sourceVertex1,
+                            const TopoDS_Shape& sourceVertex2,
+                            const TopoDS_Shape& targetVertex1,
+                            const TopoDS_Shape& targetVertex2)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+   * Result may be nil if association not set.
+   * Valid indices are 1 and 2
+   */
+  TopoDS_Vertex GetSourceVertex(int i) const throw ( SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+   * Result may be nil if association not set.
+   * Valid indices are 1 and 2
+   */
+  TopoDS_Vertex GetTargetVertex(int i) const throw ( SALOME_Exception );
+
+  /*!
+   * \brief Test if vertex association defined
+    * \retval bool - test result
+   */
+  bool HasVertexAssociation() const
+  { return ( !_sourceVertex1.IsNull() && !_targetVertex1.IsNull() &&
+             !_sourceVertex2.IsNull() && !_targetVertex2.IsNull()); }
+
+  /*!
+   * \brief Return all parameters
+   */
+  void GetStoreParams(TopoDS_Shape& s1,
+                      TopoDS_Shape& s2,
+                      TopoDS_Shape& s3,
+                      TopoDS_Shape& s4,
+                      TopoDS_Shape& s5) const;
+
+  /*!
+   * \brief Set all parameters without notifying on modification
+   */
+  void RestoreParams(const TopoDS_Shape& s1,
+                     const TopoDS_Shape& s2,
+                     const TopoDS_Shape& s3,
+                     const TopoDS_Shape& s4,
+                     const TopoDS_Shape& s5,
+                     SMESH_Mesh*         mesh);
+
+  virtual std::ostream & SaveTo(std::ostream & save);
+  virtual std::istream & LoadFrom(std::istream & load);
+  friend std::ostream & operator <<(std::ostream & save, StdMeshers_ProjectionSource2D & hyp);
+  friend std::istream & operator >>(std::istream & load, StdMeshers_ProjectionSource2D & hyp);
+
+  /*!
+   * \brief Initialize parameters 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
+    *
+    * Implementation does noting
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
+
+protected:
+
+  TopoDS_Face   _sourceFace;
+  SMESH_Mesh*   _sourceMesh;
+  TopoDS_Vertex _sourceVertex1;
+  TopoDS_Vertex _sourceVertex2;
+  TopoDS_Vertex _targetVertex1;
+  TopoDS_Vertex _targetVertex2;
+};
+
+#endif
+
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx b/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx
new file mode 100644 (file)
index 0000000..00a8891
--- /dev/null
@@ -0,0 +1,299 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource3D.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_ProjectionSource3D.hxx"
+
+#include "utilities.h"
+#include "SMESH_Gen.hxx"
+
+#include <TopoDS.hxx>
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource3D::StdMeshers_ProjectionSource3D
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource3D::StdMeshers_ProjectionSource3D(int hypId, int studyId,
+                                                             SMESH_Gen * gen)
+  : SMESH_Hypothesis(hypId, studyId, gen)
+{
+  _name = "ProjectionSource3D"; // used by Projection_3D
+  _param_algo_dim = 3; // 3D
+  _sourceMesh = 0;
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource3D::~StdMeshers_ProjectionSource3D
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource3D::~StdMeshers_ProjectionSource3D()
+{
+  MESSAGE( "StdMeshers_ProjectionSource3D::~StdMeshers_ProjectionSource3D" );
+}
+
+//=============================================================================
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D::SetSource3DShape(const TopoDS_Shape& Shape)
+  throw ( SALOME_Exception )
+{
+  if ( Shape.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Null Shape is not allowed"));
+
+  if ( SMESH_Gen::GetShapeDim( Shape ) != 3 )
+    throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+
+  if ( !_sourceShape.IsSame( Shape ) )
+  {
+    _sourceShape = Shape;
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source shape and the target one.
+ * This parameter is optional.
+ * Two vertices must belong to one edge of a shape
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D::SetVertexAssociation(const TopoDS_Shape& sourceVertex1,
+                                                         const TopoDS_Shape& sourceVertex2,
+                                                         const TopoDS_Shape& targetVertex1,
+                                                         const TopoDS_Shape& targetVertex2)
+  throw ( SALOME_Exception )
+{
+  if ( sourceVertex1.IsNull() != targetVertex1.IsNull() ||
+       sourceVertex2.IsNull() != targetVertex2.IsNull() ||
+       sourceVertex1.IsNull() != targetVertex2.IsNull() )
+    throw SALOME_Exception(LOCALIZED("Two or none pairs of vertices must be provided"));
+
+  if ( !sourceVertex1.IsNull() ) {
+    if ( sourceVertex1.ShapeType() != TopAbs_VERTEX ||
+         sourceVertex2.ShapeType() != TopAbs_VERTEX ||
+         targetVertex1.ShapeType() != TopAbs_VERTEX ||
+         targetVertex2.ShapeType() != TopAbs_VERTEX )
+      throw SALOME_Exception(LOCALIZED("Wrong shape type"));
+  }
+
+  if ( !_sourceVertex1.IsSame( sourceVertex1 ) ||
+       !_sourceVertex2.IsSame( sourceVertex2 ) ||
+       !_targetVertex1.IsSame( targetVertex1 ) ||
+       !_targetVertex2.IsSame( targetVertex2 ) )
+  {
+    _sourceVertex1 = TopoDS::Vertex( sourceVertex1 );
+    _sourceVertex2 = TopoDS::Vertex( sourceVertex2 );
+    _targetVertex1 = TopoDS::Vertex( targetVertex1 );
+    _targetVertex2 = TopoDS::Vertex( targetVertex2 );
+
+    NotifySubMeshesHypothesisModification();
+  }
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D::SetSourceMesh(SMESH_Mesh* mesh)
+{
+  if ( _sourceMesh != mesh )
+    NotifySubMeshesHypothesisModification();
+  _sourceMesh = mesh;
+}
+
+//=============================================================================
+/*!
+ * Returns the source face
+ */
+//=============================================================================
+
+TopoDS_Shape StdMeshers_ProjectionSource3D::GetSource3DShape() const
+{
+  return _sourceShape;
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the target vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+TopoDS_Vertex StdMeshers_ProjectionSource3D::GetSourceVertex(int i) const
+  throw ( SALOME_Exception )
+{
+  if ( i == 1 )
+    return _sourceVertex1;
+  else if ( i == 2 )
+    return _sourceVertex2;
+  else
+    throw SALOME_Exception(LOCALIZED("Wrong vertex index"));
+}
+
+//=============================================================================
+/*!
+ * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+ * Result may be nil if association not set.
+ */
+//=============================================================================
+
+TopoDS_Vertex StdMeshers_ProjectionSource3D::GetTargetVertex(int i) const
+  throw ( SALOME_Exception )
+{
+  if ( i == 1 )
+    return _targetVertex1;
+  else if ( i == 2 )
+    return _targetVertex2;
+  else
+    throw SALOME_Exception(LOCALIZED("Wrong vertex index"));
+}
+
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & StdMeshers_ProjectionSource3D::SaveTo(ostream & save)
+{
+  // we store it in order to be able to detect that hypo is really modified
+  save << " " << _sourceShape.TShape().operator->()  ;
+  save << " " << _sourceVertex1.TShape().operator->();
+  save << " " << _targetVertex1.TShape().operator->();
+  save << " " << _sourceVertex2.TShape().operator->();
+  save << " " << _targetVertex2.TShape().operator->();
+  save << " " << ( _sourceMesh ? _sourceMesh->GetId() : -1 );
+  return save;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & StdMeshers_ProjectionSource3D::LoadFrom(istream & load)
+{
+  // impossible to restore w/o any context
+  // It is done by servant
+  return load;
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+ostream & operator <<(ostream & save, StdMeshers_ProjectionSource3D & hyp)
+{
+  return hyp.SaveTo( save );
+}
+
+//=============================================================================
+/*!
+ *  
+ */
+//=============================================================================
+
+istream & operator >>(istream & load, StdMeshers_ProjectionSource3D & hyp)
+{
+  return hyp.LoadFrom( load );
+}
+
+//================================================================================
+/*!
+ * \brief Initialize start and end length 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
+ */
+//================================================================================
+
+bool StdMeshers_ProjectionSource3D::SetParametersByMesh(const SMESH_Mesh*   ,
+                                                        const TopoDS_Shape& )
+{
+  return false;
+}
+
+//================================================================================
+/*!
+ * \brief Return all parameters
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource3D::GetStoreParams(TopoDS_Shape& s1,
+                                                   TopoDS_Shape& s2,
+                                                   TopoDS_Shape& s3,
+                                                   TopoDS_Shape& s4,
+                                                   TopoDS_Shape& s5) const
+{
+  s1 = _sourceShape;
+  s2 = _sourceVertex1;
+  s3 = _sourceVertex2;
+  s4 = _targetVertex1;
+  s5 = _targetVertex2;
+}
+
+//================================================================================
+/*!
+ * \brief Set all parameters without notifying on modification
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource3D::RestoreParams(const TopoDS_Shape& s1,
+                                                  const TopoDS_Shape& s2,
+                                                  const TopoDS_Shape& s3,
+                                                  const TopoDS_Shape& s4,
+                                                  const TopoDS_Shape& s5,
+                                                  SMESH_Mesh*         mesh)
+{
+  _sourceShape   = s1;
+  _sourceVertex1 = TopoDS::Vertex( s2 );
+  _sourceVertex2 = TopoDS::Vertex( s3 );
+  _targetVertex1 = TopoDS::Vertex( s4 );
+  _targetVertex2 = TopoDS::Vertex( s5 );
+  _sourceMesh   = mesh;
+}
diff --git a/src/StdMeshers/StdMeshers_ProjectionSource3D.hxx b/src/StdMeshers/StdMeshers_ProjectionSource3D.hxx
new file mode 100644 (file)
index 0000000..7dfeca6
--- /dev/null
@@ -0,0 +1,155 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource3D.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource3D_HXX_
+#define _SMESH_ProjectionSource3D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_Hypothesis.hxx"
+#include "Utils_SALOME_Exception.hxx"
+
+#include <TopoDS_Vertex.hxx>
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis specifies a meshed shell or solid to take a mesh pattern from
+ * and optionally association of vertices between the source shape and a
+ * target one (where a hipothesis is assigned to)
+ */
+// =========================================================
+
+class STDMESHERS_EXPORT StdMeshers_ProjectionSource3D:  public SMESH_Hypothesis
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource3D( int hypId, int studyId, SMESH_Gen * gen );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource3D();
+
+  /*!
+   * Sets a source <shape> to take a mesh pattern from
+   */
+  void SetSource3DShape(const TopoDS_Shape& shape)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the source shape
+   */
+  TopoDS_Shape GetSource3DShape() const;
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH_Mesh* mesh);
+
+  /*!
+   * Return source mesh
+   */
+  SMESH_Mesh* GetSourceMesh() const { return _sourceMesh; }
+
+  /*!
+   * Sets vertex association between the source shape and the target one.
+   * This parameter is optional.
+   * Two vertices must belong to one edge of a shape
+   */
+  void SetVertexAssociation(const TopoDS_Shape& sourceVertex1,
+                            const TopoDS_Shape& sourceVertex2,
+                            const TopoDS_Shape& targetVertex1,
+                            const TopoDS_Shape& targetVertex2)
+    throw ( SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+   * Result may be nil if association not set.
+   */
+  TopoDS_Vertex GetSourceVertex(int i) const throw ( SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+   * Result may be nil if association not set.
+   */
+  TopoDS_Vertex GetTargetVertex(int i) const throw ( SALOME_Exception );
+
+  /*!
+   * \brief Test if vertex association defined
+    * \retval bool - test result
+   */
+  bool HasVertexAssociation() const
+  { return ( !_sourceVertex1.IsNull() && !_targetVertex1.IsNull() &&
+             !_sourceVertex2.IsNull() && !_targetVertex2.IsNull()); }
+
+  /*!
+   * \brief Return all parameters
+   */
+  void GetStoreParams(TopoDS_Shape& s1,
+                      TopoDS_Shape& s2,
+                      TopoDS_Shape& s3,
+                      TopoDS_Shape& s4,
+                      TopoDS_Shape& s5) const;
+
+  /*!
+   * \brief Set all parameters without notifying on modification
+   */
+  void RestoreParams(const TopoDS_Shape& s1,
+                     const TopoDS_Shape& s2,
+                     const TopoDS_Shape& s3,
+                     const TopoDS_Shape& s4,
+                     const TopoDS_Shape& s5,
+                     SMESH_Mesh*         mesh);
+
+  virtual std::ostream & SaveTo(std::ostream & save);
+  virtual std::istream & LoadFrom(std::istream & load);
+  friend std::ostream & operator <<(std::ostream & save, StdMeshers_ProjectionSource3D & hyp);
+  friend std::istream & operator >>(std::istream & load, StdMeshers_ProjectionSource3D & hyp);
+
+  /*!
+   * \brief Initialize parameters 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
+    *
+    * Implementation does noting
+   */
+  virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
+
+protected:
+
+  TopoDS_Shape  _sourceShape;
+  SMESH_Mesh*   _sourceMesh;
+  TopoDS_Vertex _sourceVertex1;
+  TopoDS_Vertex _sourceVertex2;
+  TopoDS_Vertex _targetVertex1;
+  TopoDS_Vertex _targetVertex2;
+
+};
+
+#endif
+
diff --git a/src/StdMeshers/StdMeshers_ProjectionUtils.cxx b/src/StdMeshers/StdMeshers_ProjectionUtils.cxx
new file mode 100644 (file)
index 0000000..2afedd4
--- /dev/null
@@ -0,0 +1,1241 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_ProjectionUtils.cxx
+// Created   : Fri Oct 27 10:24:28 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_ProjectionUtils.hxx"
+
+#include "StdMeshers_ProjectionSource1D.hxx"
+#include "StdMeshers_ProjectionSource2D.hxx"
+#include "StdMeshers_ProjectionSource3D.hxx"
+
+#include "SMESH_Algo.hxx"
+#include "SMESH_Block.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_Hypothesis.hxx"
+#include "SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESH_MeshEditor.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMDS_EdgePosition.hxx"
+
+#include "utilities.h"
+
+#include <BRepAdaptor_Curve.hxx>
+#include <BRepTools.hxx>
+#include <BRepTools_WireExplorer.hxx>
+#include <BRep_Tool.hxx>
+#include <Bnd_Box.hxx>
+#include <TopAbs.hxx>
+#include <TopTools_Array1OfShape.hxx>
+#include <TopTools_DataMapOfShapeShape.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+#include <TopTools_ListOfShape.hxx>
+#include <TopTools_MapOfShape.hxx>
+#include <TopoDS_Shape.hxx>
+#include <gp_Ax3.hxx>
+#include <gp_Pnt.hxx>
+#include <gp_Trsf.hxx>
+#include <gp_Vec.hxx>
+
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+#define SHOW_VERTEX(v,msg) // { \
+//  if ( v.IsNull() ) cout << msg << " NULL SHAPE" << endl; \
+// else if (v.ShapeType() == TopAbs_VERTEX) {\
+//   gp_Pnt p = BRep_Tool::Pnt( TopoDS::Vertex( v ));\
+//   cout << msg << (v).TShape().operator->()<<" ( " <<p.X()<<", "<<p.Y()<<", "<<p.Z()<<" )"<<endl;}\
+// else {\
+// cout << msg << " "; TopAbs::Print(v.ShapeType(),cout) <<" "<<(v).TShape().operator->()<<endl;}\
+// }
+#define SHOW_LIST(msg,l) \
+// { \
+//     cout << msg << " ";\
+//     list< TopoDS_Edge >::const_iterator e = l.begin();\
+//     for ( int i = 0; e != l.end(); ++e, ++i ) {\
+//       cout << i << "V (" << TopExp::FirstVertex( *e, true ).TShape().operator->() << ") "\
+//            << i << "E (" << e->TShape().operator->() << "); "; }\
+//     cout << endl;\
+//   }
+
+namespace {
+  //================================================================================
+  /*!
+   * \brief Reverse order of edges in a list and their orientation
+    * \param edges - list of edges to reverse
+    * \param nbEdges - number of edges to reverse
+   */
+  //================================================================================
+
+  void Reverse( list< TopoDS_Edge > & edges, const int nbEdges )
+  {
+    SHOW_LIST("BEFORE REVERSE", edges);
+
+    list< TopoDS_Edge >::iterator eIt = edges.begin();
+    if ( edges.size() == nbEdges )
+    {
+      edges.reverse();
+    }
+    else  // reverse only the given nb of edges
+    {
+      // look for the last edge to be reversed
+      list< TopoDS_Edge >::iterator eBackIt = edges.begin();
+      for ( int i = 1; i < nbEdges; ++i )
+        ++eBackIt;
+      // reverse
+      while ( eIt != eBackIt ) {
+        std::swap( *eIt, *eBackIt );
+        SHOW_LIST("# AFTER SWAP", edges)
+        if ( (++eIt) != eBackIt )
+          --eBackIt;
+      }
+    }
+    for ( eIt = edges.begin(); eIt != edges.end(); ++eIt )
+      eIt->Reverse();
+    SHOW_LIST("ATFER REVERSE", edges)
+  }
+
+  //================================================================================
+  /*!
+   * \brief Check if propagation is possible
+    * \param theMesh1 - source mesh
+    * \param theMesh2 - target mesh
+    * \retval bool - true if possible
+   */
+  //================================================================================
+
+  bool IsPropagationPossible( SMESH_Mesh* theMesh1, SMESH_Mesh* theMesh2 )
+  {
+    if ( theMesh1 != theMesh2 ) {
+      TopoDS_Shape mainShape1 = theMesh1->GetMeshDS()->ShapeToMesh();
+      TopoDS_Shape mainShape2 = theMesh2->GetMeshDS()->ShapeToMesh();
+      return mainShape1.IsSame( mainShape2 );
+    }
+    return true;
+  }
+
+  //================================================================================
+  /*!
+   * \brief Fix up association of edges in faces by possible propagation
+    * \param nbEdges - nb of edges in an outer wire
+    * \param edges1 - edges of one face
+    * \param edges2 - matching edges of another face
+    * \param theMesh1 - mesh 1
+    * \param theMesh2 - mesh 2
+   */
+  //================================================================================
+
+  void FixAssocByPropagation( const int             nbEdges,
+                              list< TopoDS_Edge > & edges1,
+                              list< TopoDS_Edge > & edges2,
+                              SMESH_Mesh*           theMesh1,
+                              SMESH_Mesh*           theMesh2)
+  {
+    if ( nbEdges == 2 && IsPropagationPossible( theMesh1, theMesh2 ) )
+    {
+      list< TopoDS_Edge >::iterator eIt2 = ++edges2.begin(); // 2nd edge of the 2nd face
+      TopoDS_Edge edge2 =
+        StdMeshers_ProjectionUtils::GetPropagationEdge( theMesh1, *eIt2, edges1.front() );
+      if ( !edge2.IsNull() ) // propagation found for the second edge
+        Reverse( edges2, nbEdges );
+    }
+  }
+}
+
+//=======================================================================
+/*!
+ * \brief Looks for association of all subshapes of two shapes
+ * \param theShape1 - shape 1
+ * \param theMesh1 - mesh built on shape 1
+ * \param theShape2 - shape 2
+ * \param theMesh2 - mesh built on shape 2
+ * \param theAssociation - association map to be filled that may
+ *                         contain association of one or two pairs of vertices
+ * \retval bool - true if association found
+ */
+//=======================================================================
+
+bool StdMeshers_ProjectionUtils::FindSubShapeAssociation(const TopoDS_Shape& theShape1,
+                                                         SMESH_Mesh*         theMesh1,
+                                                         const TopoDS_Shape& theShape2,
+                                                         SMESH_Mesh*         theMesh2,
+                                                         TShapeShapeMap &    theMap)
+{
+  if ( theShape1.ShapeType() != theShape2.ShapeType() )
+    RETURN_BAD_RESULT("Different shape types");
+
+  bool bidirect = ( !theShape1.IsSame( theShape2 ));
+  if ( !theMap.IsEmpty())
+  {
+    switch ( theShape1.ShapeType() ) {
+
+    case TopAbs_EDGE: {
+      // ----------------------------------------------------------------------
+      if ( theMap.Extent() != 2 )
+        RETURN_BAD_RESULT("Wrong map extent " << theMap.Extent() );
+      TopoDS_Edge edge1 = TopoDS::Edge( theShape1 );
+      TopoDS_Edge edge2 = TopoDS::Edge( theShape2 );
+      TopoDS_Vertex VV1[2], VV2[2];
+      TopExp::Vertices( edge1, VV1[0], VV1[1] );
+      TopExp::Vertices( edge2, VV2[0], VV2[1] );
+      int i1 = 0, i2 = 0;
+      if ( theMap.IsBound( VV1[ i1 ] )) i1 = 1;
+      if ( theMap.IsBound( VV2[ i2 ] )) i2 = 1;
+      InsertAssociation( VV1[ i1 ], VV2[ i2 ], theMap, bidirect);
+      return true;
+    }
+
+    case TopAbs_FACE: {
+      // ----------------------------------------------------------------------
+      TopoDS_Face face1 = TopoDS::Face( theShape1 );
+      TopoDS_Face face2 = TopoDS::Face( theShape2 );
+
+      TopoDS_Vertex VV1[2], VV2[2];
+      // find a not closed edge of face1 both vertices of which are associated
+      int nbEdges = 0;
+      TopExp_Explorer exp ( face1, TopAbs_EDGE );
+      for ( ; VV2[ 1 ].IsNull() && exp.More(); exp.Next(), ++nbEdges ) {
+        TopExp::Vertices( TopoDS::Edge( exp.Current() ), VV1[0], VV1[1] );
+        if ( theMap.IsBound( VV1[0] ) ) {
+          VV2[ 0 ] = TopoDS::Vertex( theMap( VV1[0] ));
+          if ( theMap.IsBound( VV1[1] ) && !VV1[0].IsSame( VV1[1] ))
+            VV2[ 1 ] = TopoDS::Vertex( theMap( VV1[1] ));
+        }
+      }
+      if ( VV2[ 1 ].IsNull() ) { // 2 bound vertices not found
+        if ( nbEdges > 1 ) {
+          RETURN_BAD_RESULT("2 bound vertices not found" );
+        } else {
+          VV2[ 1 ] = VV2[ 0 ];
+        }
+      }
+      list< TopoDS_Edge > edges1, edges2;
+      int nbE = FindFaceAssociation( face1, VV1, face2, VV2, edges1, edges2 );
+      if ( !nbE ) RETURN_BAD_RESULT("FindFaceAssociation() failed");
+      FixAssocByPropagation( nbE, edges1, edges2, theMesh1, theMesh2 );
+
+      list< TopoDS_Edge >::iterator eIt1 = edges1.begin();
+      list< TopoDS_Edge >::iterator eIt2 = edges2.begin();
+      for ( ; eIt1 != edges1.end(); ++eIt1, ++eIt2 )
+      {
+        InsertAssociation( *eIt1, *eIt2, theMap, bidirect);
+        VV1[0] = TopExp::FirstVertex( *eIt1, true );
+        VV2[0] = TopExp::FirstVertex( *eIt2, true );
+        InsertAssociation( VV1[0], VV2[0], theMap, bidirect);
+      }
+      return true;
+    }
+
+    case TopAbs_SHELL:
+    case TopAbs_SOLID: {
+      // ----------------------------------------------------------------------
+      TopoDS_Vertex VV1[2], VV2[2];
+      // find a not closed edge of shape1 both vertices of which are associated
+      TopoDS_Edge edge1;
+      TopExp_Explorer exp ( theShape1, TopAbs_EDGE );
+      for ( ; VV2[ 1 ].IsNull() && exp.More(); exp.Next() ) {
+        edge1 = TopoDS::Edge( exp.Current() );
+        TopExp::Vertices( edge1 , VV1[0], VV1[1] );
+        if ( theMap.IsBound( VV1[0] )) {
+          VV2[ 0 ] = TopoDS::Vertex( theMap( VV1[0] ));
+          if ( theMap.IsBound( VV1[1] ) && !VV1[0].IsSame( VV1[1] ))
+            VV2[ 1 ] = TopoDS::Vertex( theMap( VV1[1] ));
+        }
+      }
+      if ( VV2[ 1 ].IsNull() ) // 2 bound vertices not found
+        RETURN_BAD_RESULT("2 bound vertices not found" );
+      TopoDS_Edge edge2 = GetEdgeByVertices( theMesh2, VV2[ 0 ], VV2[ 1 ]);
+      if ( edge2.IsNull() )
+        RETURN_BAD_RESULT("GetEdgeByVertices() failed");
+
+      // get a face sharing edge1
+      TopoDS_Shape F1, F2, FF2[2];
+      TopTools_ListIteratorOfListOfShape ancestIt = theMesh1->GetAncestors( edge1 );
+      for ( ; F1.IsNull() && ancestIt.More(); ancestIt.Next() )
+        if ( ancestIt.Value().ShapeType() == TopAbs_FACE )
+          F1 = ancestIt.Value().Oriented( TopAbs_FORWARD );
+      if ( F1.IsNull() )
+        RETURN_BAD_RESULT(" Face1 not found");
+
+      // get 2 faces sharing edge2
+      ancestIt = theMesh2->GetAncestors( edge2 );
+      for ( int i = 0; FF2[1].IsNull() && ancestIt.More(); ancestIt.Next() )
+        if ( ancestIt.Value().ShapeType() == TopAbs_FACE )
+          FF2[ i++ ] = ancestIt.Value().Oriented( TopAbs_FORWARD );
+      if ( FF2[1].IsNull() )
+        RETURN_BAD_RESULT("2 faces not found");
+
+      // get oriented edge1 and edge2 from F1 and FF2[0]
+      for ( exp.Init( F1, TopAbs_EDGE ); exp.More(); exp.Next() )
+        if ( edge1.IsSame( exp.Current() )) {
+          edge1 = TopoDS::Edge( exp.Current() );
+          break;
+        }
+      
+      for ( exp.Init( FF2[ 0 ], TopAbs_EDGE ); exp.More(); exp.Next() )
+        if ( edge2.IsSame( exp.Current() )) {
+          edge2 = TopoDS::Edge( exp.Current() );
+          break;
+        }
+
+      // compare first vertices of edge1 and edge2
+      TopExp::Vertices( edge1, VV1[0], VV1[1], true );
+      TopExp::Vertices( edge2, VV2[0], VV2[1], true );
+      F2 = FF2[ 0 ];
+      if ( !VV1[ 0 ].IsSame( theMap( VV2[ 0 ]))) {
+        F2 = FF2[ 1 ];
+        edge2.Reverse();
+      }
+
+      TopTools_MapOfShape boundEdges; 
+
+      // association of face subshapes and neighbour faces
+      list< pair < TopoDS_Face, TopoDS_Edge > > FE1, FE2;
+      list< pair < TopoDS_Face, TopoDS_Edge > >::iterator fe1, fe2;
+      FE1.push_back( make_pair( TopoDS::Face( F1 ), edge1 ));
+      FE2.push_back( make_pair( TopoDS::Face( F2 ), edge2 ));
+      for ( fe1 = FE1.begin(), fe2 = FE2.begin(); fe1 != FE1.end(); ++fe1, ++fe2 )
+      {
+        const TopoDS_Face& face1 = fe1->first;
+        if ( theMap.IsBound( face1 ) ) continue;
+        const TopoDS_Face& face2 = fe2->first;
+        edge1 = fe1->second;
+        edge2 = fe2->second;
+        TopExp::Vertices( edge1, VV1[0], VV1[1], true );
+        TopExp::Vertices( edge2, VV2[0], VV2[1], true );
+        list< TopoDS_Edge > edges1, edges2;
+        int nbE = FindFaceAssociation( face1, VV1, face2, VV2, edges1, edges2 );
+        if ( !nbE ) RETURN_BAD_RESULT("FindFaceAssociation() failed");
+        FixAssocByPropagation( nbE, edges1, edges2, theMesh1, theMesh2 );
+        
+        InsertAssociation( face1, face2, theMap, bidirect); // assoc faces
+        list< TopoDS_Edge >::iterator eIt1 = edges1.begin();
+        list< TopoDS_Edge >::iterator eIt2 = edges2.begin();
+        for ( ; eIt1 != edges1.end(); ++eIt1, ++eIt2 )
+        {
+          if ( !boundEdges.Add( *eIt1 )) continue; // already associated
+          InsertAssociation( *eIt1, *eIt2, theMap, bidirect);  // assoc edges
+          VV1[0] = TopExp::FirstVertex( *eIt1, true );
+          VV2[0] = TopExp::FirstVertex( *eIt2, true );
+          InsertAssociation( VV1[0], VV2[0], theMap, bidirect); // assoc vertices
+
+          // add adjacent faces to process
+          TopoDS_Face nextFace1 = GetNextFace( theMesh1, *eIt1, face1 );
+          TopoDS_Face nextFace2 = GetNextFace( theMesh2, *eIt2, face2 );
+          if ( !nextFace1.IsNull() && !nextFace2.IsNull() ) {
+            FE1.push_back( make_pair( nextFace1, *eIt1 ));
+            FE2.push_back( make_pair( nextFace2, *eIt2 ));
+          }
+        }
+      }
+      return true;
+    }
+    default:
+      RETURN_BAD_RESULT("Unexpected shape type");
+
+    } // end switch by shape type
+  } // end case of available initial vertex association
+
+  //----------------------------------------------------------------------
+  // NO INITIAL VERTEX ASSOCIATION
+  //----------------------------------------------------------------------
+
+  switch ( theShape1.ShapeType() ) {
+
+  case TopAbs_EDGE: {
+    // ----------------------------------------------------------------------
+    TopoDS_Edge edge1 = TopoDS::Edge( theShape1 );
+    TopoDS_Edge edge2 = TopoDS::Edge( theShape2 );
+    if ( IsPropagationPossible( theMesh1, theMesh2 ))
+    {
+      TopoDS_Edge prpEdge = GetPropagationEdge( theMesh1, edge2, edge1 );
+      if ( !prpEdge.IsNull() )
+      {
+        TopoDS_Vertex VV1[2], VV2[2];
+        TopExp::Vertices( edge1,   VV1[0], VV1[1], true );
+        TopExp::Vertices( prpEdge, VV2[0], VV2[1], true );
+        InsertAssociation( VV1[ 0 ], VV2[ 0 ], theMap, bidirect);
+        InsertAssociation( VV1[ 1 ], VV2[ 1 ], theMap, bidirect);
+        if ( VV1[0].IsSame( VV1[1] ) || // one of edges is closed
+             VV2[0].IsSame( VV2[1] ) )
+        {
+          InsertAssociation( edge1, prpEdge, theMap, bidirect); // insert with a proper orientation
+        }
+        return true; // done
+      }
+    }
+    if ( IsClosedEdge( edge1 ) && IsClosedEdge( edge2 ))
+    {
+      // TODO: find out a proper orientation (is it possible?)
+      InsertAssociation( edge1, edge2, theMap, bidirect); // insert with a proper orientation
+      InsertAssociation( TopExp::FirstVertex(edge1), TopExp::FirstVertex(edge2),
+                         theMap, bidirect);
+      return true; // done
+    }
+    break; // try by vertex closeness
+  }
+
+  case TopAbs_FACE: {
+    // ----------------------------------------------------------------------
+    if ( IsPropagationPossible( theMesh1, theMesh2 )) // try by propagation in one mesh
+    {
+      TopoDS_Face face1 = TopoDS::Face(theShape1);
+      TopoDS_Face face2 = TopoDS::Face(theShape2);
+      // get outer edge of theShape1
+      TopoDS_Edge edge1 = TopoDS::Edge( OuterShape( face1, TopAbs_EDGE ));
+      // find out if any edge of face2 is a propagation edge of outer edge1
+      for ( TopExp_Explorer exp( face2, TopAbs_EDGE ); exp.More(); exp.Next() ) {
+        TopoDS_Edge edge2 = TopoDS::Edge( exp.Current() );
+        edge2 = GetPropagationEdge( theMesh1, edge2, edge1 );
+        if ( !edge2.IsNull() ) // propagation found
+        {
+          TopoDS_Vertex VV1[2], VV2[2];
+          TopExp::Vertices( edge1, VV1[0], VV1[1], true );
+          TopExp::Vertices( edge2, VV2[0], VV2[1], true );
+          list< TopoDS_Edge > edges1, edges2;
+          int nbE = FindFaceAssociation( face1, VV1, face2, VV2, edges1, edges2 );
+          if ( !nbE ) RETURN_BAD_RESULT("FindFaceAssociation() failed");
+          if ( nbE == 2 ) // only 2 edges
+          {
+            // take care of proper association of propagated edges
+            bool same1 = edge1.IsSame( edges1.front() );
+            bool same2 = edge2.IsSame( edges2.front() );
+            if ( same1 != same2 )
+              Reverse(edges2, nbE);
+          }
+          // store association
+          list< TopoDS_Edge >::iterator eIt1 = edges1.begin();
+          list< TopoDS_Edge >::iterator eIt2 = edges2.begin();
+          for ( ; eIt1 != edges1.end(); ++eIt1, ++eIt2 )
+          {
+            InsertAssociation( *eIt1, *eIt2, theMap, bidirect);
+            VV1[0] = TopExp::FirstVertex( *eIt1, true );
+            VV2[0] = TopExp::FirstVertex( *eIt2, true );
+            InsertAssociation( VV1[0], VV2[0], theMap, bidirect);
+          }
+          return true;
+        }
+      }
+    }
+    break; // try by vertex closeness
+  }
+  default:;
+  }
+
+  // Find association by closeness of vertices
+  // ------------------------------------------
+
+  TopTools_IndexedMapOfShape vMap1, vMap2;
+  TopExp::MapShapes( theShape1, TopAbs_VERTEX, vMap1 );
+  TopExp::MapShapes( theShape2, TopAbs_VERTEX, vMap2 );
+
+  if ( vMap1.Extent() != vMap2.Extent() )
+    RETURN_BAD_RESULT("Different nb of vertices");
+
+  if ( vMap1.Extent() == 1 ) {
+    InsertAssociation( vMap1(1), vMap2(1), theMap, bidirect);
+    if ( theShape1.ShapeType() == TopAbs_EDGE )
+      return true;
+    return FindSubShapeAssociation( theShape1, theMesh1, theShape2, theMesh2, theMap);
+  }
+
+  // Find transformation to make the shapes be of similar size at same location
+
+  Bnd_Box box[2];
+  for ( int i = 1; i <= vMap1.Extent(); ++i ) {
+    box[ 0 ].Add( BRep_Tool::Pnt ( TopoDS::Vertex( vMap1( i ))));
+    box[ 1 ].Add( BRep_Tool::Pnt ( TopoDS::Vertex( vMap2( i ))));
+  }
+
+  gp_Pnt gc[2]; // box center
+  double x0,y0,z0, x1,y1,z1;
+  box[0].Get( x0,y0,z0, x1,y1,z1 );
+  gc[0] = 0.5 * ( gp_XYZ( x0,y0,z0 ) + gp_XYZ( x1,y1,z1 ));
+  box[1].Get( x0,y0,z0, x1,y1,z1 );
+  gc[1] = 0.5 * ( gp_XYZ( x0,y0,z0 ) + gp_XYZ( x1,y1,z1 ));
+
+  // 1 -> 2
+  gp_Vec vec01( gc[0], gc[1] );
+  double scale = sqrt( box[1].SquareExtent() / box[0].SquareExtent() );
+
+  // Find 2 closest vertices
+
+  TopoDS_Vertex VV1[2], VV2[2];
+  // get 2 linked vertices of shape 1 not belonging to an inner wire of a face
+  TopoDS_Shape edge = theShape1;
+  TopExp_Explorer expF( theShape1, TopAbs_FACE ), expE;
+  for ( ; expF.More(); expF.Next() ) {
+    edge.Nullify();
+    TopoDS_Shape wire = OuterShape( TopoDS::Face( expF.Current() ), TopAbs_WIRE );
+    for ( expE.Init( wire, TopAbs_EDGE ); edge.IsNull() && expE.More(); expE.Next() )
+      if ( !IsClosedEdge( TopoDS::Edge( expE.Current() )))
+        edge = expE.Current();
+    if ( !edge.IsNull() )
+      break;
+  }
+  if ( edge.IsNull() || edge.ShapeType() != TopAbs_EDGE )
+    RETURN_BAD_RESULT("Edge not found");
+
+  TopExp::Vertices( TopoDS::Edge( edge ), VV1[0], VV1[1]);
+  if ( VV1[0].IsSame( VV1[1] ))
+    RETURN_BAD_RESULT("Only closed edges");
+
+  // find vertices closest to 2 linked vertices of shape 1
+  for ( int i1 = 0; i1 < 2; ++i1 )
+  {
+    double dist2 = DBL_MAX;
+    gp_Pnt p1 = BRep_Tool::Pnt( VV1[ i1 ]);
+    p1.Translate( vec01 );
+    p1.Scale( gc[1], scale );
+    for ( int i2 = 1; i2 <= vMap2.Extent(); ++i2 )
+    {
+      TopoDS_Vertex V2 = TopoDS::Vertex( vMap2( i2 ));
+      gp_Pnt p2 = BRep_Tool::Pnt ( V2 );
+      double d2 = p1.SquareDistance( p2 );
+      if ( d2 < dist2 && !V2.IsSame( VV2[ 0 ])) {
+        VV2[ i1 ] = V2; dist2 = d2;
+      }
+    }
+  }
+
+  InsertAssociation( VV1[ 0 ], VV2 [ 0 ], theMap, bidirect);
+  InsertAssociation( VV1[ 1 ], VV2 [ 1 ], theMap, bidirect);
+  if ( theShape1.ShapeType() == TopAbs_EDGE )
+    return true;
+
+  return FindSubShapeAssociation( theShape1, theMesh1, theShape2, theMesh2, theMap );
+}
+
+//================================================================================
+/*!
+ * \brief Find association of edges of faces
+ * \param face1 - face 1
+ * \param VV1 - vertices of face 1
+ * \param face2 - face 2
+ * \param VV2 - vertices of face 2 associated with oned of face 1
+ * \param edges1 - out list of edges of face 1
+ * \param edges2 - out list of edges of face 2
+ * \retval int - nb of edges in an outer wire in a success case, else zero
+ */
+//================================================================================
+
+int StdMeshers_ProjectionUtils::FindFaceAssociation(const TopoDS_Face& face1,
+                                                    TopoDS_Vertex      VV1[2],
+                                                    const TopoDS_Face& face2,
+                                                    TopoDS_Vertex      VV2[2],
+                                                    list< TopoDS_Edge > & edges1,
+                                                    list< TopoDS_Edge > & edges2)
+{
+  edges1.clear();
+  edges2.clear();
+
+  list< int > nbVInW1, nbVInW2;
+  if ( SMESH_Block::GetOrderedEdges( face1, VV1[0], edges1, nbVInW1) !=
+       SMESH_Block::GetOrderedEdges( face2, VV2[0], edges2, nbVInW2) )
+    RETURN_BAD_RESULT("Different number of wires in faces ");
+
+  if ( nbVInW1.front() != nbVInW2.front() )
+    RETURN_BAD_RESULT("Different number of edges in faces: " <<
+                      nbVInW1.front() << " != " << nbVInW2.front());
+
+  // Define if we need to reverse one of wires to make edges in lists match each other
+
+  bool reverse = false;
+
+  list< TopoDS_Edge >::iterator eBackIt;
+  if ( !VV1[1].IsSame( TopExp::LastVertex( edges1.front(), true ))) {
+    eBackIt = --edges1.end();
+    // check if the second vertex belongs to the first or last edge in the wire
+    if ( !VV1[1].IsSame( TopExp::FirstVertex( *eBackIt, true ))) {
+      bool KO = true; // belongs to none
+      if ( nbVInW1.size() > 1 ) { // several wires
+        eBackIt = edges1.begin();
+        for ( int i = 1; i < nbVInW1.front(); ++i ) ++eBackIt;
+        KO = !VV1[1].IsSame( TopExp::FirstVertex( *eBackIt, true ));
+      }
+      if ( KO )
+        RETURN_BAD_RESULT("GetOrderedEdges() failed");
+    }
+    reverse = true;
+  }
+  eBackIt = --edges2.end();
+  if ( !VV2[1].IsSame( TopExp::LastVertex( edges2.front(), true ))) {
+    // check if the second vertex belongs to the first or last edge in the wire
+    if ( !VV2[1].IsSame( TopExp::FirstVertex( *eBackIt, true ))) {
+      bool KO = true; // belongs to none
+      if ( nbVInW2.size() > 1 ) { // several wires
+        eBackIt = edges2.begin();
+        for ( int i = 1; i < nbVInW2.front(); ++i ) ++eBackIt;
+        KO = !VV2[1].IsSame( TopExp::FirstVertex( *eBackIt, true ));
+      }
+      if ( KO )
+        RETURN_BAD_RESULT("GetOrderedEdges() failed");
+    }
+    reverse = !reverse;
+  }
+  if ( reverse )
+  {
+    Reverse( edges2 , nbVInW2.front());
+    if (( VV1[1].IsSame( TopExp::LastVertex( edges1.front(), true ))) !=
+        ( VV2[1].IsSame( TopExp::LastVertex( edges2.front(), true ))))
+      RETURN_BAD_RESULT("GetOrderedEdges() failed");
+  }
+  return nbVInW2.front();
+}
+
+//=======================================================================
+//function : InitVertexAssociation
+//purpose  : 
+//=======================================================================
+
+void StdMeshers_ProjectionUtils::InitVertexAssociation( const SMESH_Hypothesis* theHyp,
+                                                        TShapeShapeMap &        theAssociationMap)
+{
+  string hypName = theHyp->GetName();
+  if ( hypName == "ProjectionSource1D" ) {
+    const StdMeshers_ProjectionSource1D * hyp =
+      static_cast<const StdMeshers_ProjectionSource1D*>( theHyp );
+    if ( hyp->HasVertexAssociation() ) {
+      InsertAssociation( hyp->GetSourceVertex(),hyp->GetTargetVertex(),theAssociationMap);
+    }
+  }
+  else if ( hypName == "ProjectionSource2D" ) {
+    const StdMeshers_ProjectionSource2D * hyp =
+      static_cast<const StdMeshers_ProjectionSource2D*>( theHyp );
+    if ( hyp->HasVertexAssociation() ) {
+      InsertAssociation( hyp->GetSourceVertex(1),hyp->GetTargetVertex(1),theAssociationMap);
+      InsertAssociation( hyp->GetSourceVertex(2),hyp->GetTargetVertex(2),theAssociationMap);
+    }
+  }
+  else if ( hypName == "ProjectionSource3D" ) {
+    const StdMeshers_ProjectionSource3D * hyp =
+      static_cast<const StdMeshers_ProjectionSource3D*>( theHyp );
+    if ( hyp->HasVertexAssociation() ) {
+      InsertAssociation( hyp->GetSourceVertex(1),hyp->GetTargetVertex(1),theAssociationMap);
+      InsertAssociation( hyp->GetSourceVertex(2),hyp->GetTargetVertex(2),theAssociationMap);
+    }
+  }
+}
+
+//=======================================================================
+/*!
+ * \brief Inserts association theShape1 <-> theShape2 to TShapeShapeMap
+ * \param theShape1 - shape 1
+ * \param theShape2 - shape 2
+ * \param theAssociationMap - association map 
+ * \retval bool - true if there was no association for these shapes before
+ */
+//=======================================================================
+
+bool StdMeshers_ProjectionUtils::InsertAssociation( const TopoDS_Shape& theShape1,
+                                                    const TopoDS_Shape& theShape2,
+                                                    TShapeShapeMap &    theAssociationMap,
+                                                    const bool          theBidirectional)
+{
+  if ( !theShape1.IsNull() && !theShape2.IsNull() ) {
+    SHOW_VERTEX(theShape1,"Assoc ");
+    SHOW_VERTEX(theShape2," to ");
+    bool isNew = ( theAssociationMap.Bind( theShape1, theShape2 ));
+    if ( theBidirectional )
+      theAssociationMap.Bind( theShape2, theShape1 );
+    return isNew;
+  }
+  return false;
+}
+
+//=======================================================================
+//function : IsSubShape
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_ProjectionUtils::IsSubShape( const TopoDS_Shape& shape,
+                                             SMESH_Mesh*         aMesh )
+{
+  if ( shape.IsNull() || !aMesh )
+    return false;
+  return aMesh->GetMeshDS()->ShapeToIndex( shape );
+}
+
+//=======================================================================
+//function : IsSubShape
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_ProjectionUtils::IsSubShape( const TopoDS_Shape& shape,
+                                             const TopoDS_Shape& mainShape )
+{
+  if ( !shape.IsNull() && !mainShape.IsNull() )
+  {
+    for ( TopExp_Explorer exp( mainShape, shape.ShapeType());
+          exp.More();
+          exp.Next() )
+      if ( shape.IsSame( exp.Current() ))
+        return true;
+  }
+  SCRUTE((shape.IsNull()));
+  SCRUTE((mainShape.IsNull()));
+  return false;
+}
+
+
+//=======================================================================
+/*!
+ * \brief Finds an edge by its vertices in a main shape of the mesh
+ * \param aMesh - the mesh
+ * \param V1 - vertex 1
+ * \param V2 - vertex 2
+ * \retval TopoDS_Edge - found edge
+ */
+//=======================================================================
+
+TopoDS_Edge StdMeshers_ProjectionUtils::GetEdgeByVertices( SMESH_Mesh*          theMesh,
+                                                           const TopoDS_Vertex& theV1,
+                                                           const TopoDS_Vertex& theV2)
+{
+  if ( theMesh && !theV1.IsNull() && !theV2.IsNull() )
+  {
+    TopTools_ListIteratorOfListOfShape ancestorIt( theMesh->GetAncestors( theV1 ));
+    for ( ; ancestorIt.More(); ancestorIt.Next() )
+      if ( ancestorIt.Value().ShapeType() == TopAbs_EDGE )
+        for ( TopExp_Explorer expV ( ancestorIt.Value(), TopAbs_VERTEX );
+              expV.More();
+              expV.Next() )
+          if ( theV2.IsSame( expV.Current() ))
+            return TopoDS::Edge( ancestorIt.Value() );
+  }
+  return TopoDS_Edge();
+}
+
+//================================================================================
+/*!
+ * \brief Return another face sharing an edge
+ * \param aMesh - mesh
+ * \param edge - edge
+ * \param face - face
+ * \retval TopoDS_Face - found face
+ */
+//================================================================================
+
+TopoDS_Face StdMeshers_ProjectionUtils::GetNextFace( SMESH_Mesh*        mesh,
+                                                     const TopoDS_Edge& edge,
+                                                     const TopoDS_Face& face)
+{
+  if ( mesh && !edge.IsNull() && !face.IsNull() )
+  {
+    TopTools_ListIteratorOfListOfShape ancestorIt( mesh->GetAncestors( edge ));
+    for ( ; ancestorIt.More(); ancestorIt.Next() )
+      if ( ancestorIt.Value().ShapeType() == TopAbs_FACE &&
+           !face.IsSame( ancestorIt.Value() ))
+        return TopoDS::Face( ancestorIt.Value() );
+  }
+  return TopoDS_Face();
+  
+}
+
+//================================================================================
+/*!
+ * \brief Return a propagation edge
+ * \param aMesh - mesh
+ * \param theEdge - edge to find by propagation
+ * \param fromEdge - start edge for propagation
+ * \retval TopoDS_Edge - found edge
+ */
+//================================================================================
+
+TopoDS_Edge StdMeshers_ProjectionUtils::GetPropagationEdge( SMESH_Mesh*        aMesh,
+                                                            const TopoDS_Edge& theEdge,
+                                                            const TopoDS_Edge& fromEdge)
+{
+  SMESH_IndexedMapOfShape aChain;
+  //aChain.Add(fromEdge);
+
+  // List of edges, added to chain on the previous cycle pass
+  TopTools_ListOfShape listPrevEdges;
+  listPrevEdges.Append(fromEdge/*.Oriented( TopAbs_FORWARD )*/);
+
+  // Collect all edges pass by pass
+  while (listPrevEdges.Extent() > 0) {
+    // List of edges, added to chain on this cycle pass
+    TopTools_ListOfShape listCurEdges;
+
+    // Find the next portion of edges
+    TopTools_ListIteratorOfListOfShape itE (listPrevEdges);
+    for (; itE.More(); itE.Next()) {
+      TopoDS_Shape anE = itE.Value();
+
+      // Iterate on faces, having edge <anE>
+      TopTools_ListIteratorOfListOfShape itA (aMesh->GetAncestors(anE));
+      for (; itA.More(); itA.Next()) {
+        TopoDS_Shape aW = itA.Value();
+
+        // There are objects of different type among the ancestors of edge
+        if (aW.ShapeType() == TopAbs_WIRE) {
+          TopoDS_Shape anOppE;
+
+          BRepTools_WireExplorer aWE (TopoDS::Wire(aW));
+          Standard_Integer nb = 1, found = 0;
+          TopTools_Array1OfShape anEdges (1,4);
+          for (; aWE.More(); aWE.Next(), nb++) {
+            if (nb > 4) {
+              found = 0;
+              break;
+            }
+            anEdges(nb) = aWE.Current();
+            if (anEdges(nb).IsSame(anE)) found = nb;
+          }
+
+          if (nb == 5 && found > 0) {
+            // Quadrangle face found, get an opposite edge
+            Standard_Integer opp = found + 2;
+            if (opp > 4) opp -= 4;
+            anOppE = anEdges(opp);
+
+            // add anOppE to aChain if ...
+            if (!aChain.Contains(anOppE)) { // ... anOppE is not in aChain
+              // Add found edge to the chain oriented so that to
+              // have it co-directed with a forward MainEdge
+              TopAbs_Orientation ori = anE.Orientation();
+              if ( anEdges(opp).Orientation() == anEdges(found).Orientation() )
+                ori = TopAbs::Reverse( ori );
+              anOppE.Orientation( ori );
+              if ( anOppE.IsSame( theEdge ))
+                return TopoDS::Edge( anOppE );
+              aChain.Add(anOppE);
+              listCurEdges.Append(anOppE);
+            }
+          } // if (nb == 5 && found > 0)
+        } // if (aF.ShapeType() == TopAbs_WIRE)
+      } // for (; itF.More(); itF.Next())
+    } // for (; itE.More(); itE.Next())
+
+    listPrevEdges = listCurEdges;
+  } // while (listPrevEdges.Extent() > 0)
+
+  return TopoDS_Edge();
+}
+
+//================================================================================
+  /*!
+   * \brief Find corresponding nodes on two faces
+    * \param face1 - the first face
+    * \param mesh1 - mesh containing elements on the first face
+    * \param face2 - the second face
+    * \param mesh2 - mesh containing elements on the second face
+    * \param assocMap - map associating subshapes of the faces
+    * \param node1To2Map - map containing found matching nodes
+    * \retval bool - is a success
+   */
+//================================================================================
+
+bool StdMeshers_ProjectionUtils::
+FindMatchingNodesOnFaces( const TopoDS_Face&     face1,
+                          SMESH_Mesh*            mesh1,
+                          const TopoDS_Face&     face2,
+                          SMESH_Mesh*            mesh2,
+                          const TShapeShapeMap & assocMap,
+                          TNodeNodeMap &         node1To2Map)
+{
+  SMESHDS_Mesh* meshDS1 = mesh1->GetMeshDS();
+  SMESHDS_Mesh* meshDS2 = mesh2->GetMeshDS();
+  
+  SMESH_MesherHelper helper1( *mesh1 );
+  SMESH_MesherHelper helper2( *mesh2 );
+
+  // Get corresponding submeshes and roughly check match of meshes
+
+  SMESHDS_SubMesh * SM2 = meshDS2->MeshElements( face2 );
+  SMESHDS_SubMesh * SM1 = meshDS1->MeshElements( face1 );
+  if ( !SM2 || !SM1 )
+    RETURN_BAD_RESULT("Empty submeshes");
+  if ( SM2->NbNodes()    != SM1->NbNodes() ||
+       SM2->NbElements() != SM1->NbElements() )
+    RETURN_BAD_RESULT("Different meshes on corresponding faces "
+                      << meshDS1->ShapeToIndex( face1 ) << " and "
+                      << meshDS2->ShapeToIndex( face2 ));
+  if ( SM2->NbElements() == 0 )
+    RETURN_BAD_RESULT("Empty submeshes");
+
+  helper1.SetSubShape( face1 );
+  helper2.SetSubShape( face2 );
+  if ( helper1.HasSeam() != helper2.HasSeam() )
+    RETURN_BAD_RESULT("Different faces' geometry");
+
+  // Data to call SMESH_MeshEditor::FindMatchingNodes():
+
+  // 1. Nodes of corresponding links:
+
+  // get 2 matching edges, not seam ones
+  TopoDS_Edge edge1, edge2;
+  TopExp_Explorer eE( OuterShape( face2, TopAbs_WIRE ), TopAbs_EDGE );
+  do {
+    edge2 = TopoDS::Edge( eE.Current() );
+    eE.Next();
+  } while ( BRep_Tool::IsClosed( edge2, face2 ) && eE.More());
+  if ( !assocMap.IsBound( edge2 ))
+    RETURN_BAD_RESULT("Association not found for edge " << meshDS2->ShapeToIndex( edge2 ));
+  edge1 = TopoDS::Edge( assocMap( edge2 ));
+  if ( !IsSubShape( edge1, face1 ))
+    RETURN_BAD_RESULT("Wrong association, edge " << meshDS1->ShapeToIndex( edge1 ) <<
+                      " isn't a subshape of face " << meshDS1->ShapeToIndex( face1 ));
+
+  // get 2 matching vertices
+  TopoDS_Shape V2 = TopExp::FirstVertex( TopoDS::Edge( edge2 ));
+  if ( !assocMap.IsBound( V2 ))
+    RETURN_BAD_RESULT("Association not found for vertex " << meshDS2->ShapeToIndex( V2 ));
+  TopoDS_Shape V1 = assocMap( V2 );
+
+  // nodes on vertices
+  SMESHDS_SubMesh * vSM1 = meshDS1->MeshElements( V1 );
+  SMESHDS_SubMesh * vSM2 = meshDS2->MeshElements( V2 );
+  if ( !vSM1 || !vSM2 || vSM1->NbNodes() != 1 || vSM2->NbNodes() != 1 )
+    RETURN_BAD_RESULT("Bad node submesh");
+  const SMDS_MeshNode* vNode1 = vSM1->GetNodes()->next();
+  const SMDS_MeshNode* vNode2 = vSM2->GetNodes()->next();
+
+  // nodes on edges linked with nodes on vertices
+  const SMDS_MeshNode* nullNode = 0;
+  vector< const SMDS_MeshNode*> eNode1( 2, nullNode );
+  vector< const SMDS_MeshNode*> eNode2( 2, nullNode );
+  int nbNodeToGet = 1;
+  if ( IsClosedEdge( edge1 ) || IsClosedEdge( edge2 ) )
+    nbNodeToGet = 2;
+  for ( int is2 = 0; is2 < 2; ++is2 )
+  {
+    TopoDS_Edge &     edge  = is2 ? edge2 : edge1;
+    SMESHDS_Mesh *    smDS  = is2 ? meshDS2 : meshDS1;
+    SMESHDS_SubMesh* edgeSM = smDS->MeshElements( edge );
+    // nodes linked with ones on vertices
+    const SMDS_MeshNode*           vNode = is2 ? vNode2 : vNode1;
+    vector< const SMDS_MeshNode*>& eNode = is2 ? eNode2 : eNode1;
+    int nbGotNode = 0;
+    SMDS_ElemIteratorPtr vElem = vNode->GetInverseElementIterator();
+    while ( vElem->more() && nbGotNode != nbNodeToGet ) {
+      const SMDS_MeshElement* elem = vElem->next();
+      if ( elem->GetType() == SMDSAbs_Edge && edgeSM->Contains( elem ))
+        eNode[ nbGotNode++ ] = 
+          ( elem->GetNode(0) == vNode ) ? elem->GetNode(1) : elem->GetNode(0);
+    }
+    if ( nbGotNode > 1 ) // sort found nodes by param on edge
+    {
+      SMESH_MesherHelper* helper = is2 ? &helper2 : &helper1;
+      double u0 = helper->GetNodeU( edge, eNode[ 0 ]);
+      double u1 = helper->GetNodeU( edge, eNode[ 1 ]);
+      if ( u0 > u1 ) std::swap( eNode[ 0 ], eNode[ 1 ]);
+    }
+    if ( nbGotNode == 0 )
+      RETURN_BAD_RESULT("Found no nodes on edge " << smDS->ShapeToIndex( edge ) <<
+                        " linked to " << vNode );
+  }
+
+  // 2. face sets
+
+  set<const SMDS_MeshElement*> Elems1, Elems2;
+  for ( int is2 = 0; is2 < 2; ++is2 )
+  {
+    set<const SMDS_MeshElement*> & elems = is2 ? Elems2 : Elems1;
+    SMESHDS_SubMesh*                  sm = is2 ? SM2 : SM1;
+    SMESH_MesherHelper*           helper = is2 ? &helper2 : &helper1;
+    const TopoDS_Face &             face = is2 ? face2 : face1;
+    SMDS_ElemIteratorPtr eIt = sm->GetElements();
+
+    if ( !helper->IsSeamShape( is2 ? edge2 : edge1 ))
+    {
+      while ( eIt->more() ) elems.insert( eIt->next() );
+    }
+    else
+    {
+      // there is only seam edge in a face, i.e. it is a sphere.
+      // FindMatchingNodes() will not know which way to go from any edge.
+      // So we ignore all faces having nodes on edges or vertices except
+      // one of faces sharing current start nodes
+
+      // find a face to keep
+      const SMDS_MeshElement* faceToKeep = 0;
+      const SMDS_MeshNode* vNode = is2 ? vNode2 : vNode1;
+      const SMDS_MeshNode* eNode = is2 ? eNode2[0] : eNode1[0];
+      std::map<int,const SMDS_MeshElement*> inSet, notInSet;
+
+      const SMDS_MeshElement* f1 =
+        SMESH_MeshEditor::FindFaceInSet( vNode, eNode, inSet, notInSet );
+      if ( !f1 ) RETURN_BAD_RESULT("The first face on seam not found");
+      SMESH_MeshEditor::Insert( f1, notInSet );
+
+      const SMDS_MeshElement* f2 =
+        SMESH_MeshEditor::FindFaceInSet( vNode, eNode, inSet, notInSet );
+      if ( !f2 ) RETURN_BAD_RESULT("The second face on seam not found");
+
+      // select a face with less UV of vNode
+      const SMDS_MeshNode* notSeamNode[2] = {0, 0};
+      for ( int iF = 0; iF < 2; ++iF ) {
+        const SMDS_MeshElement* f = ( iF ? f2 : f1 );
+        for ( int i = 0; !notSeamNode[ iF ] && i < f->NbNodes(); ++i ) {
+          const SMDS_MeshNode* node = f->GetNode( i );
+          if ( !helper->IsSeamShape( node->GetPosition()->GetShapeId() ))
+            notSeamNode[ iF ] = node;
+        }
+      }
+      gp_Pnt2d uv1 = helper->GetNodeUV( face, vNode, notSeamNode[0] );
+      gp_Pnt2d uv2 = helper->GetNodeUV( face, vNode, notSeamNode[1] );
+      if ( uv1.X() + uv1.Y() > uv2.X() + uv2.Y() )
+        faceToKeep = f2;
+      else
+        faceToKeep = f1;
+
+      // fill elem set
+      elems.insert( faceToKeep );
+      while ( eIt->more() ) {
+        const SMDS_MeshElement* f = eIt->next();
+        int nbNodes = f->NbNodes();
+        if ( f->IsQuadratic() )
+          nbNodes /= 2;
+        bool onBnd = false;
+        for ( int i = 0; !onBnd && i < nbNodes; ++i ) {
+          const SMDS_MeshNode* node = f->GetNode( i );
+          onBnd = ( node->GetPosition()->GetTypeOfPosition() != SMDS_TOP_FACE);
+        }
+        if ( !onBnd )
+          elems.insert( f );
+      }
+    } // case on a sphere
+  } // loop on 2 faces
+
+  node1To2Map.clear();
+  int res = SMESH_MeshEditor::FindMatchingNodes( Elems1, Elems2,
+                                                 vNode1, vNode2,
+                                                 eNode1[0], eNode2[0],
+                                                 node1To2Map);
+  if ( res != SMESH_MeshEditor::SEW_OK )
+    RETURN_BAD_RESULT("FindMatchingNodes() result " << res );
+
+
+  // On a sphere, add matching nodes on the edge
+
+  if ( helper1.IsSeamShape( edge1 ))
+  {
+    // sort nodes on edges by param on edge
+    map< double, const SMDS_MeshNode* > u2nodesMaps[2];
+    for ( int is2 = 0; is2 < 2; ++is2 )
+    {
+      TopoDS_Edge &     edge  = is2 ? edge2 : edge1;
+      SMESHDS_Mesh *    smDS  = is2 ? meshDS2 : meshDS1;
+      SMESHDS_SubMesh* edgeSM = smDS->MeshElements( edge );
+      map< double, const SMDS_MeshNode* > & pos2nodes = u2nodesMaps[ is2 ];
+
+      SMDS_NodeIteratorPtr nIt = edgeSM->GetNodes();
+      while ( nIt->more() ) {
+        const SMDS_MeshNode* node = nIt->next();
+        const SMDS_EdgePosition* pos =
+          static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
+        pos2nodes.insert( make_pair( pos->GetUParameter(), node ));
+      }
+      if ( pos2nodes.size() != edgeSM->NbNodes() )
+        RETURN_BAD_RESULT("Equal params of nodes on edge "
+                          << smDS->ShapeToIndex( edge ) << " of face " << is2 );
+    }
+    if ( u2nodesMaps[0].size() != u2nodesMaps[1].size() )
+      RETURN_BAD_RESULT("Different nb of new nodes on edges or wrong params");
+
+    // compare edge orientation
+    double u1 = helper1.GetNodeU( edge1, vNode1 );
+    double u2 = helper2.GetNodeU( edge2, vNode2 );
+    bool isFirst1 = ( u1 < u2nodesMaps[0].begin()->first );
+    bool isFirst2 = ( u2 < u2nodesMaps[1].begin()->first );
+    bool reverse ( isFirst1 != isFirst2 );
+
+    // associate matching nodes
+    map< double, const SMDS_MeshNode* >::iterator u_Node1, u_Node2, end1;
+    map< double, const SMDS_MeshNode* >::reverse_iterator uR_Node2;
+    u_Node1 = u2nodesMaps[0].begin();
+    u_Node2 = u2nodesMaps[1].begin();
+    uR_Node2 = u2nodesMaps[1].rbegin();
+    end1 = u2nodesMaps[0].end();
+    for ( ; u_Node1 != end1; ++u_Node1 ) {
+      const SMDS_MeshNode* n1 = u_Node1->second;
+      const SMDS_MeshNode* n2 = ( reverse ? (uR_Node2++)->second : (u_Node2++)->second );
+      node1To2Map.insert( make_pair( n1, n2 ));
+    }
+
+    // associate matching nodes on the last vertices
+    V2 = TopExp::LastVertex( TopoDS::Edge( edge2 ));
+    if ( !assocMap.IsBound( V2 ))
+      RETURN_BAD_RESULT("Association not found for vertex " << meshDS2->ShapeToIndex( V2 ));
+    V1 = assocMap( V2 );
+    vSM1 = meshDS1->MeshElements( V1 );
+    vSM2 = meshDS2->MeshElements( V2 );
+    if ( !vSM1 || !vSM2 || vSM1->NbNodes() != 1 || vSM2->NbNodes() != 1 )
+      RETURN_BAD_RESULT("Bad node submesh");
+    vNode1 = vSM1->GetNodes()->next();
+    vNode2 = vSM2->GetNodes()->next();
+    node1To2Map.insert( make_pair( vNode1, vNode2 ));
+  }
+  
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Check if the first and last vertices of an edge are the same
+ * \param anEdge - the edge to check
+ * \retval bool - true if same
+ */
+//================================================================================
+
+bool StdMeshers_ProjectionUtils::IsClosedEdge( const TopoDS_Edge& anEdge )
+{
+  return TopExp::FirstVertex( anEdge ).IsSame( TopExp::LastVertex( anEdge ));
+}
+
+//================================================================================
+  /*!
+   * \brief Return any subshape of a face belonging to the outer wire
+    * \param face - the face
+    * \param type - type of subshape to return
+    * \retval TopoDS_Shape - the found subshape
+   */
+//================================================================================
+
+TopoDS_Shape StdMeshers_ProjectionUtils::OuterShape( const TopoDS_Face& face,
+                                                     TopAbs_ShapeEnum   type)
+{
+  TopExp_Explorer exp( BRepTools::OuterWire( face ), type );
+  if ( exp.More() )
+    return exp.Current();
+  return TopoDS_Shape();
+}
+
+//================================================================================
+  /*!
+   * \brief Check that submeshis is computed and try to compute it if is not
+    * \param sm - submesh to compute
+    * \param iterationNb - int used to stop infinite recursive call
+    * \retval bool - true if computed
+   */
+//================================================================================
+
+bool StdMeshers_ProjectionUtils::MakeComputed(SMESH_subMesh * sm, const int iterationNb)
+{
+  if ( iterationNb > 10 )
+    RETURN_BAD_RESULT("Infinite recursive projection");
+  if ( !sm )
+    RETURN_BAD_RESULT("NULL submesh");
+  if ( sm->IsMeshComputed() )
+    return true;
+
+  SMESH_Mesh* mesh = sm->GetFather();
+  SMESH_Gen* gen   = mesh->GetGen();
+  SMESH_Algo* algo = gen->GetAlgo( *mesh, sm->GetSubShape() );
+  if ( !algo )
+    RETURN_BAD_RESULT("No algo assigned to submesh " << sm->GetId());
+
+  string algoType = algo->GetName();
+  if ( algoType.substr(0, 11) != "Projection_")
+    return gen->Compute( *mesh, sm->GetSubShape() );
+
+  // try to compute source mesh
+
+  const list <const SMESHDS_Hypothesis *> & hyps =
+    algo->GetUsedHypothesis( *mesh, sm->GetSubShape() );
+
+  TopoDS_Shape srcShape;
+  SMESH_Mesh* srcMesh = 0;
+  list <const SMESHDS_Hypothesis*>::const_iterator hIt = hyps.begin();
+  for ( ; srcShape.IsNull() && hIt != hyps.end(); ++hIt ) {
+    string hypName = (*hIt)->GetName();
+    if ( hypName == "ProjectionSource1D" ) {
+      const StdMeshers_ProjectionSource1D * hyp =
+        static_cast<const StdMeshers_ProjectionSource1D*>( *hIt );
+      srcShape = hyp->GetSourceEdge();
+      srcMesh = hyp->GetSourceMesh();
+    }
+    else if ( hypName == "ProjectionSource2D" ) {
+      const StdMeshers_ProjectionSource2D * hyp =
+        static_cast<const StdMeshers_ProjectionSource2D*>( *hIt );
+      srcShape = hyp->GetSourceFace();
+      srcMesh = hyp->GetSourceMesh();
+    }
+    else if ( hypName == "ProjectionSource3D" ) {
+      const StdMeshers_ProjectionSource3D * hyp =
+        static_cast<const StdMeshers_ProjectionSource3D*>( *hIt );
+      srcShape = hyp->GetSource3DShape();
+      srcMesh = hyp->GetSourceMesh();
+    }
+  }
+  if ( srcShape.IsNull() ) // no projection source defined
+    return gen->Compute( *mesh, sm->GetSubShape() );
+
+  if ( srcShape.IsSame( sm->GetSubShape() ))
+    RETURN_BAD_RESULT("Projection from self");
+    
+  if ( !srcMesh )
+    srcMesh = mesh;
+
+  return MakeComputed( srcMesh->GetSubMesh( srcShape ), iterationNb + 1 );
+}
+
+//================================================================================
+  /*!
+   * \brief Count nb of subshapes
+    * \param shape - the shape
+    * \param type - the type of subshapes to count
+    * \retval int - the calculated number
+   */
+//================================================================================
+
+int StdMeshers_ProjectionUtils::Count(const TopoDS_Shape&    shape,
+                                      const TopAbs_ShapeEnum type,
+                                      const bool             ignoreSame)
+{
+  if ( ignoreSame ) {
+    TopTools_IndexedMapOfShape map;
+    TopExp::MapShapes( shape, type, map );
+    return map.Extent();
+  }
+  else {
+    int nb = 0;
+    for ( TopExp_Explorer exp( shape, type ); exp.More(); exp.Next() )
+      ++nb;
+    return nb;
+  }
+}
+
+      // bull shit
+//       Standard_Real f1,l1, f2,l2;
+//       BRep_Tool::Range( edge1, f1,l1 );
+//       BRep_Tool::Range( edge2, f2,l2 );
+//       BRepAdaptor_Curve e1( edge1 ), e2( edge2 );
+//       gp_Pnt pf1, pf2;
+//       gp_Vec dirX1, dirX2; // 1st derivatives
+//       e1.D1( f1, pf1, dirX1 );
+//       e2.D1( f2, pf2, dirX2 );
+//       gp_Pnt pm1 = e1.Value( 0.5 * ( f1 + l1 ));
+//       gp_Pnt pm2 = e2.Value( 0.5 * ( f2 + l2 ));
+//       gp_Vec dirZ1( pf1, pm1 ), dirZ2( pf2, pm2 );
+//       gp_Trsf trsf;
+//       gp_Ax3 fromSys( pf1, dirZ1, dirX1 ), toSys( pf2, dirZ2, dirX2 );
+//       trsf.SetTransformation( fromSys, toSys );
+//       dirX1.Transform( trsf );
+//       bool reverse = ( dirX1 * dirX2 < 0 );
+//       if ( reverse ) edge2.Reverse();
diff --git a/src/StdMeshers/StdMeshers_ProjectionUtils.hxx b/src/StdMeshers/StdMeshers_ProjectionUtils.hxx
new file mode 100644 (file)
index 0000000..ea7ed73
--- /dev/null
@@ -0,0 +1,200 @@
+//  SMESH SMESH : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_ProjectionUtils.hxx
+// Created   : Thu Oct 26 15:37:24 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#ifndef StdMeshers_ProjectionUtils_HeaderFile
+#define StdMeshers_ProjectionUtils_HeaderFile
+
+#include "SMESH_StdMeshers.hxx"
+
+#include <TopTools_DataMapOfShapeShape.hxx>
+#include <TopoDS_Edge.hxx>
+#include <TopoDS_Vertex.hxx>
+#include <TopoDS_Face.hxx>
+
+#include <list>
+#include <map>
+
+class TopoDS_Shape;
+class SMDS_MeshNode;
+class SMESH_Mesh;
+class SMESH_Hypothesis;
+class SMESH_subMesh;
+
+/*!
+ * \brief Class encapsulating methods common to Projection algorithms
+ */
+class STDMESHERS_EXPORT StdMeshers_ProjectionUtils
+{
+ public:
+
+  typedef TopTools_DataMapOfShapeShape                         TShapeShapeMap;
+  typedef std::map<const SMDS_MeshNode*, const SMDS_MeshNode*> TNodeNodeMap;
+
+  /*!
+   * \brief Looks for association of all subshapes of two shapes
+    * \param theShape1 - shape 1
+    * \param theMesh1 - mesh built on shape 1
+    * \param theShape2 - shape 2
+    * \param theMesh2 - mesh built on shape 2
+    * \param theAssociation - association map to be filled that may
+    *                         contain association of one or two pairs of vertices
+    * \retval bool - true if association found
+   */
+  static bool FindSubShapeAssociation(const TopoDS_Shape& theShape1,
+                                      SMESH_Mesh*         theMesh1,
+                                      const TopoDS_Shape& theShape2,
+                                      SMESH_Mesh*         theMesh2,
+                                      TShapeShapeMap &    theAssociationMap);
+
+  /*!
+   * \brief Find association of edges of faces
+    * \param face1 - face 1
+    * \param VV1 - vertices of face 1
+    * \param face2 - face 2
+    * \param VV2 - vertices of face 2 associated with oned of face 1
+    * \param edges1 - out list of edges of face 1
+    * \param edges2 - out list of edges of face 2
+    * \retval int - nb of edges in an outer wire in a success case, else zero
+   */
+  static int FindFaceAssociation(const TopoDS_Face&    face1,
+                                 TopoDS_Vertex         VV1[2],
+                                 const TopoDS_Face&    face2,
+                                 TopoDS_Vertex         VV2[2],
+                                 list< TopoDS_Edge > & edges1,
+                                 list< TopoDS_Edge > & edges2);
+
+  /*!
+   * \brief Insert vertex association defined by a hypothesis into a map
+    * \param theHyp - hypothesis
+    * \param theAssociationMap - association map
+   */
+  static void InitVertexAssociation( const SMESH_Hypothesis* theHyp,
+                                     TShapeShapeMap &        theAssociationMap);
+
+  /*!
+   * \brief Inserts association theShape1 <-> theShape2 to TShapeShapeMap
+    * \param theShape1 - shape 1
+    * \param theShape2 - shape 2
+    * \param theAssociationMap - association map 
+    * \param theBidirectional - if false, inserts theShape1 -> theShape2 association
+    * \retval bool - true if there was no association for these shapes before
+   */
+  static bool InsertAssociation( const TopoDS_Shape& theShape1,
+                                 const TopoDS_Shape& theShape2,
+                                 TShapeShapeMap &    theAssociationMap,
+                                 const bool          theBidirectional=true);
+
+  static bool IsSubShape( const TopoDS_Shape& shape, SMESH_Mesh* aMesh );
+
+  static bool IsSubShape( const TopoDS_Shape& shape, const TopoDS_Shape& mainShape );
+
+  /*!
+   * \brief Finds an edge by its vertices in a main shape of the mesh
+    * \param aMesh - the mesh
+    * \param V1 - vertex 1
+    * \param V2 - vertex 2
+    * \retval TopoDS_Edge - found edge
+   */
+  static TopoDS_Edge GetEdgeByVertices( SMESH_Mesh*          aMesh,
+                                        const TopoDS_Vertex& V1,
+                                        const TopoDS_Vertex& V2);
+                                        
+  /*!
+   * \brief Return another face sharing an edge
+    * \param aMesh - mesh
+    * \param edge - edge
+    * \param face - face
+    * \retval TopoDS_Face - found face
+   */
+  static TopoDS_Face GetNextFace( SMESH_Mesh*        aMesh,
+                                  const TopoDS_Edge& edge,
+                                  const TopoDS_Face& face);
+
+  /*!
+   * \brief Return an oriented propagation edge
+    * \param aMesh - mesh
+    * \param fromEdge - start edge for propagation
+    * \retval TopoDS_Edge - found edge
+   */
+  static TopoDS_Edge GetPropagationEdge( SMESH_Mesh*        aMesh,
+                                         const TopoDS_Edge& anEdge,
+                                         const TopoDS_Edge& fromEdge);
+
+  /*!
+   * \brief Find corresponding nodes on two faces
+    * \param face1 - the first face
+    * \param mesh1 - mesh containing elements on the first face
+    * \param face2 - the second face
+    * \param mesh2 - mesh containing elements on the second face
+    * \param assocMap - map associating subshapes of the faces
+    * \param nodeIn2OutMap - map containing found matching nodes
+    * \retval bool - is a success
+   */
+  static bool FindMatchingNodesOnFaces( const TopoDS_Face&     face1,
+                                        SMESH_Mesh*            mesh1,
+                                        const TopoDS_Face&     face2,
+                                        SMESH_Mesh*            mesh2,
+                                        const TShapeShapeMap & assocMap,
+                                        TNodeNodeMap &         nodeIn2OutMap);
+  /*!
+   * \brief Check if the first and last vertices of an edge are the same
+    * \param anEdge - the edge to check
+    * \retval bool - true if same
+   */
+  static bool IsClosedEdge( const TopoDS_Edge& anEdge );
+
+  /*!
+   * \brief Return any subshape of a face belonging to the outer wire
+    * \param face - the face
+    * \param type - type of subshape to return
+    * \retval TopoDS_Shape - the found subshape
+   */
+  static TopoDS_Shape OuterShape( const TopoDS_Face& face,
+                                  TopAbs_ShapeEnum   type);
+
+  /*!
+   * \brief Check that submeshis is computed and try to compute it if is not
+    * \param sm - submesh to compute
+    * \param iterationNb - int used to stop infinite recursive call
+    * \retval bool - true if computed
+   */
+  static bool MakeComputed(SMESH_subMesh * sm, const int iterationNb = 0);
+
+  /*!
+   * \brief Count nb of subshapes
+    * \param shape - the shape
+    * \param type - the type of subshapes to count
+    * \param ignoreSame - if true, use map not to count same shapes, esle use explorer
+    * \retval int - the calculated number
+   */
+  static int Count(const TopoDS_Shape&    shape,
+                   const TopAbs_ShapeEnum type,
+                   const bool             ignoreSame);
+};
+
+#endif
diff --git a/src/StdMeshers/StdMeshers_Projection_1D.cxx b/src/StdMeshers/StdMeshers_Projection_1D.cxx
new file mode 100644 (file)
index 0000000..f487d83
--- /dev/null
@@ -0,0 +1,375 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_Projection_1D.cxx
+// Module    : SMESH
+// Created   : Fri Oct 20 11:37:07 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_Projection_1D.hxx"
+
+#include "StdMeshers_ProjectionSource1D.hxx"
+#include "StdMeshers_ProjectionUtils.hxx"
+
+#include "SMDS_MeshNode.hxx"
+#include "SMDS_MeshElement.hxx"
+#include "SMESHDS_Mesh.hxx"
+#include "SMESHDS_SubMesh.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESH_MesherHelper.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMESH_subMeshEventListener.hxx"
+#include "SMESH_Gen.hxx"
+
+#include <BRepAdaptor_Curve.hxx>
+#include <BRep_Tool.hxx>
+#include <GCPnts_AbscissaPoint.hxx>
+#include <TopoDS.hxx>
+#include <gp_Pnt.hxx>
+
+#include "utilities.h"
+
+
+using namespace std;
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+
+typedef StdMeshers_ProjectionUtils TAssocTool;
+
+//=======================================================================
+//function : StdMeshers_Projection_1D
+//purpose  : 
+//=======================================================================
+
+StdMeshers_Projection_1D::StdMeshers_Projection_1D(int hypId, int studyId, SMESH_Gen* gen)
+  :SMESH_1D_Algo(hypId, studyId, gen)
+{
+  _name = "Projection_1D";
+  _shapeType = (1 << TopAbs_EDGE);     // 1 bit per shape type
+
+  _compatibleHypothesis.push_back("ProjectionSource1D");
+  _sourceHypo = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshers_Projection_1D::~StdMeshers_Projection_1D()
+{}
+
+//=======================================================================
+//function : CheckHypothesis
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_1D::CheckHypothesis(SMESH_Mesh&                          aMesh,
+                                               const TopoDS_Shape&                  aShape,
+                                               SMESH_Hypothesis::Hypothesis_Status& aStatus)
+{
+  _sourceHypo = 0;
+  list <const SMESHDS_Hypothesis * >::const_iterator itl;
+
+  const list <const SMESHDS_Hypothesis * >&hyps = GetUsedHypothesis(aMesh, aShape);
+  if ( hyps.size() == 0 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_MISSING;
+    return false;  // can't work with no hypothesis
+  }
+
+  if ( hyps.size() > 1 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_ALREADY_EXIST;
+    return false;
+  }
+
+  const SMESHDS_Hypothesis *theHyp = hyps.front();
+
+  string hypName = theHyp->GetName();
+
+  aStatus = SMESH_Hypothesis::HYP_OK;
+
+  if (hypName == "ProjectionSource1D")
+  {
+    _sourceHypo = static_cast<const StdMeshers_ProjectionSource1D *>(theHyp);
+
+    // Check hypo parameters
+
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    SMESH_Mesh* tgtMesh = & aMesh;
+    if ( !srcMesh )
+      srcMesh = tgtMesh;
+
+    // check vertices
+    if ( _sourceHypo->HasVertexAssociation() )
+    {
+      // source and target vertices
+      if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(), srcMesh ) ||
+           !TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), tgtMesh ) ||
+           !TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), aShape )  ||
+           !TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(),
+                                    _sourceHypo->GetSourceEdge() ))
+      {
+        aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
+        SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(), srcMesh )));
+        SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), tgtMesh )));
+        SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetTargetVertex(), aShape ) ));
+        SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceVertex(),
+                                        _sourceHypo->GetSourceEdge() )));
+      }
+    }
+    // check source edge
+    if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceEdge(), srcMesh ) ||
+         ( srcMesh == tgtMesh && aShape == _sourceHypo->GetSourceEdge() ))
+    {
+      aStatus = HYP_BAD_PARAMETER;
+      SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceEdge(), srcMesh )));
+      SCRUTE((srcMesh == tgtMesh));
+      SCRUTE(( aShape == _sourceHypo->GetSourceEdge() ));
+    }
+  }
+  else
+  {
+    aStatus = SMESH_Hypothesis::HYP_INCOMPATIBLE;
+  }
+  return ( aStatus == HYP_OK );
+}
+
+//=======================================================================
+//function : Compute
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_1D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape& theShape)
+{
+  if ( !_sourceHypo )
+    return false;
+
+  TopoDS_Edge tgtEdge = TopoDS::Edge( theShape.Oriented(TopAbs_FORWARD));
+  TopoDS_Edge srcEdge = TopoDS::Edge( _sourceHypo->GetSourceEdge().Oriented(TopAbs_FORWARD));
+
+  TopoDS_Vertex tgtV[2], srcV[2];
+  TopExp::Vertices( tgtEdge, tgtV[0], tgtV[1] );
+  TopExp::Vertices( srcEdge, srcV[0], srcV[1] );
+
+  SMESH_Mesh * srcMesh = _sourceHypo->GetSourceMesh(); 
+  SMESH_Mesh * tgtMesh = & theMesh;
+  if ( !srcMesh )
+    srcMesh = tgtMesh;
+
+  SMESHDS_Mesh * meshDS = theMesh.GetMeshDS();
+
+  // ---------------------------
+  // Make subshapes association
+  // ---------------------------
+
+  TAssocTool::TShapeShapeMap shape2ShapeMap;
+  TAssocTool::InitVertexAssociation( _sourceHypo, shape2ShapeMap );
+  if ( !TAssocTool::FindSubShapeAssociation( tgtEdge, tgtMesh, srcEdge, srcMesh,
+                                             shape2ShapeMap) )
+    RETURN_BAD_RESULT("FindSubShapeAssociation failed");
+
+  // ----------------------------------------------
+  // Assure that mesh on a source edge is computed
+  // ----------------------------------------------
+
+  SMESH_subMesh* srcSubMesh = srcMesh->GetSubMesh( srcEdge );
+  //SMESH_subMesh* tgtSubMesh = tgtMesh->GetSubMesh( tgtEdge );
+
+  if ( tgtMesh == srcMesh ) {
+    if ( !TAssocTool::MakeComputed( srcSubMesh ))
+      RETURN_BAD_RESULT("Impossible to compute the source mesh");
+  }
+  else {
+    if ( !srcSubMesh->IsMeshComputed() )
+      RETURN_BAD_RESULT("Source mesh is not computed");
+  }
+  // -----------------------------------------------
+  // Find out nodes distribution on the source edge
+  // -----------------------------------------------
+
+  double srcLength = EdgeLength( srcEdge );
+  double tgtLength = EdgeLength( tgtEdge );
+  
+  vector< double > params; // sorted parameters of nodes on the source edge
+  if ( !SMESH_Algo::GetNodeParamOnEdge( srcMesh->GetMeshDS(), srcEdge, params ))
+    RETURN_BAD_RESULT("Bad node params on the source edge");
+
+  int i, nbNodes = params.size();
+
+  vector< double > lengths( nbNodes - 1 ); // lengths of segments of the source edge
+  if ( srcLength > 0 )
+  {
+    BRepAdaptor_Curve curveAdaptor( srcEdge );
+    for ( i = 1; i < nbNodes; ++i )
+      lengths[ i-1 ] = GCPnts_AbscissaPoint::Length( curveAdaptor, params[i-1], params[i]);
+  }
+  else // degenerated source edge
+  {
+    for ( i = 1; i < nbNodes; ++i )
+      lengths[ i-1 ] = params[i] - params[i-1];
+    srcLength = params.back() - params[0];
+  }
+
+  bool reverse = ( srcV[0].IsSame( shape2ShapeMap( tgtV[1] )));
+  if ( shape2ShapeMap.IsBound( tgtEdge )) // case of closed edge
+    reverse = ( shape2ShapeMap( tgtEdge ).Orientation() == TopAbs_REVERSED );
+  if ( reverse ) // reverse lengths of segments
+    std::reverse( lengths.begin(), lengths.end() );
+
+  // ----------
+  // Make mesh
+  // ----------
+
+  // vector of target nodes
+  vector< const SMDS_MeshNode* > nodes ( nbNodes );
+
+  // Get the first and last nodes
+  // -----------------------------
+
+  SMESHDS_SubMesh* smV0 = meshDS->MeshElements( tgtV[0] );
+  SMESHDS_SubMesh* smV1 = meshDS->MeshElements( tgtV[1] );
+  if ( !smV0 || !smV1 )
+    RETURN_BAD_RESULT("No submeshes on vertices");
+
+  SMDS_NodeIteratorPtr nItV0 = smV0->GetNodes();
+  SMDS_NodeIteratorPtr nItV1 = smV1->GetNodes();
+  if ( !nItV0->more() || !nItV1->more() )
+    RETURN_BAD_RESULT("No nodes on vertices");
+
+  nodes.front() = nItV0->next();
+  nodes.back()  = nItV1->next();
+
+  // Compute parameters on the target edge and make internal nodes
+  // --------------------------------------------------------------
+
+  vector< double > tgtParams( nbNodes );
+
+  BRep_Tool::Range( tgtEdge, tgtParams.front(), tgtParams.back() );
+  if ( tgtLength <= 0 )
+    tgtLength = tgtParams.back() - tgtParams.front();
+  double dl = tgtLength / srcLength;
+
+  if ( tgtLength > 0 )
+  {
+    BRepAdaptor_Curve curveAdaptor( tgtEdge );
+
+    // compute params on internal nodes
+    for ( i = 1; i < nbNodes - 1; ++i )
+    {
+      // computes a point on a <curveAdaptor> at the given distance
+      // from the point at given parameter.
+      GCPnts_AbscissaPoint Discret( curveAdaptor, dl * lengths[ i-1 ], tgtParams[ i-1 ] );
+      if ( !Discret.IsDone() )
+        RETURN_BAD_RESULT(" GCPnts_AbscissaPoint failed");
+      tgtParams[ i ] = Discret.Parameter();
+    }
+    // make internal nodes 
+    for ( i = 1; i < nbNodes - 1; ++i )
+    {
+      gp_Pnt P = curveAdaptor.Value( tgtParams[ i ]);
+      SMDS_MeshNode* node = meshDS->AddNode(P.X(), P.Y(), P.Z());
+      meshDS->SetNodeOnEdge( node, tgtEdge, tgtParams[ i ]);
+      nodes[ i ] = node;
+    }
+  }
+  else // degenerated target edge
+  {
+    // compute params and make internal nodes
+    gp_Pnt P = BRep_Tool::Pnt( tgtV[0] );
+
+    for ( i = 1; i < nbNodes - 1; ++i )
+    {
+      SMDS_MeshNode* node = meshDS->AddNode(P.X(), P.Y(), P.Z());
+      tgtParams[ i ] = tgtParams[ i-1 ] + dl * lengths[ i-1 ];
+      meshDS->SetNodeOnEdge( node, tgtEdge, tgtParams[ i ]);
+      nodes[ i ] = node;
+    }
+  }
+
+  // Quadratic mesh?
+  // ----------------
+
+  bool quadratic = false;
+  SMDS_ElemIteratorPtr elemIt = srcSubMesh->GetSubMeshDS()->GetElements();
+  if ( elemIt->more() )
+    quadratic = elemIt->next()->IsQuadratic();
+  else {
+    SMDS_NodeIteratorPtr nodeIt = srcSubMesh->GetSubMeshDS()->GetNodes();
+    while ( nodeIt->more() && !quadratic )
+      quadratic = SMESH_MesherHelper::IsMedium( nodeIt->next() );
+  }
+  // enough nodes to make all edges quadratic?
+  if ( quadratic && ( nbNodes < 3 || ( nbNodes % 2 != 1 )))
+    RETURN_BAD_RESULT("Wrong nb nodes to make quadratic mesh");
+
+  // Create edges
+  // -------------
+
+  SMDS_MeshElement* edge = 0;
+  int di = quadratic ? 2 : 1;
+  for ( i = di; i < nbNodes; i += di)
+  {
+    if ( quadratic )
+      edge = meshDS->AddEdge( nodes[i-2], nodes[i], nodes[i-1] );
+    else
+      edge = meshDS->AddEdge( nodes[i-1], nodes[i] );
+    meshDS->SetMeshElementOnShape(edge, tgtEdge );
+  }
+
+  return true;
+}
+
+//=============================================================================
+/*!
+ * \brief Sets a default event listener to submesh of the source edge
+  * \param subMesh - submesh where algo is set
+ *
+ * This method is called when a submesh gets HYP_OK algo_state.
+ * After being set, event listener is notified on each event of a submesh.
+ * Arranges that CLEAN event is translated from source submesh to
+ * the submesh
+ */
+//=============================================================================
+
+void StdMeshers_Projection_1D::SetEventListener(SMESH_subMesh* subMesh)
+{
+  if ( _sourceHypo && ! _sourceHypo->GetSourceEdge().IsNull() )
+  {
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    if ( !srcMesh )
+      srcMesh = subMesh->GetFather();
+
+    SMESH_subMesh* srcEdgeSM =
+      srcMesh->GetSubMesh( _sourceHypo->GetSourceEdge() );
+
+    if ( srcEdgeSM != subMesh )
+      subMesh->SetEventListener( new SMESH_subMeshEventListener(true),
+                                 SMESH_subMeshEventListenerData::MakeData( subMesh ),
+                                 srcEdgeSM );
+  }
+}
+  
diff --git a/src/StdMeshers/StdMeshers_Projection_1D.hxx b/src/StdMeshers/StdMeshers_Projection_1D.hxx
new file mode 100644 (file)
index 0000000..58b3d1c
--- /dev/null
@@ -0,0 +1,67 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Projection_1D.hxx
+//  Module : SMESH
+
+#ifndef _SMESH_Projection_1D_HXX_
+#define _SMESH_Projection_1D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+
+#include "SMESH_1D_Algo.hxx"
+
+
+class StdMeshers_ProjectionSource1D;
+
+class STDMESHERS_EXPORT StdMeshers_Projection_1D: public SMESH_1D_Algo
+{
+public:
+  StdMeshers_Projection_1D(int hypId, int studyId, SMESH_Gen* gen);
+  virtual ~StdMeshers_Projection_1D();
+
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus);
+
+  virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
+
+  /*!
+   * \brief Sets a default event listener to submesh of the source edge
+   *  \param whenSetToSubMesh - submesh where algo is set
+   *
+   * After being set, event listener is notified on each event of a submesh.
+   * This method is called when a submesh gets HYP_OK algo_state.
+   * Arranges that CLEAN event is translated from source submesh to
+   * the whenSetToSubMesh submesh.
+   */
+  virtual void SetEventListener(SMESH_subMesh* whenSetToSubMesh);
+  
+protected:
+
+  const StdMeshers_ProjectionSource1D* _sourceHypo;
+
+};
+
+#endif
diff --git a/src/StdMeshers/StdMeshers_Projection_2D.cxx b/src/StdMeshers/StdMeshers_Projection_2D.cxx
new file mode 100644 (file)
index 0000000..b7b3ff3
--- /dev/null
@@ -0,0 +1,642 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_Projection_2D.cxx
+// Module    : SMESH
+// Created   : Fri Oct 20 11:37:07 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_Projection_2D.hxx"
+
+#include "StdMeshers_ProjectionSource2D.hxx"
+#include "StdMeshers_ProjectionUtils.hxx"
+
+#include "SMESHDS_Hypothesis.hxx"
+#include "SMESHDS_SubMesh.hxx"
+#include "SMESH_Block.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESH_MeshEditor.hxx"
+#include "SMESH_Pattern.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMESH_subMeshEventListener.hxx"
+#include "SMDS_EdgePosition.hxx"
+
+#include "utilities.h"
+
+#include <TopExp.hxx>
+#include <TopoDS.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+#include <BRep_Tool.hxx>
+
+
+
+using namespace std;
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+
+typedef StdMeshers_ProjectionUtils TAssocTool;
+
+//=======================================================================
+//function : StdMeshers_Projection_2D
+//purpose  : 
+//=======================================================================
+
+StdMeshers_Projection_2D::StdMeshers_Projection_2D(int hypId, int studyId, SMESH_Gen* gen)
+  :SMESH_2D_Algo(hypId, studyId, gen)
+{
+  _name = "Projection_2D";
+  _shapeType = (1 << TopAbs_FACE);     // 1 bit per shape type
+
+  _compatibleHypothesis.push_back("ProjectionSource2D");
+  _sourceHypo = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshers_Projection_2D::~StdMeshers_Projection_2D()
+{}
+
+//=======================================================================
+//function : CheckHypothesis
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_2D::CheckHypothesis(SMESH_Mesh&                          theMesh,
+                                               const TopoDS_Shape&                  theShape,
+                                               SMESH_Hypothesis::Hypothesis_Status& theStatus)
+{
+  list <const SMESHDS_Hypothesis * >::const_iterator itl;
+
+  const list <const SMESHDS_Hypothesis * >&hyps = GetUsedHypothesis(theMesh, theShape);
+  if ( hyps.size() == 0 )
+  {
+    theStatus = HYP_MISSING;
+    return false;  // can't work with no hypothesis
+  }
+
+  if ( hyps.size() > 1 )
+  {
+    theStatus = HYP_ALREADY_EXIST;
+    return false;
+  }
+
+  const SMESHDS_Hypothesis *theHyp = hyps.front();
+
+  string hypName = theHyp->GetName();
+
+  theStatus = HYP_OK;
+
+  if (hypName == "ProjectionSource2D")
+  {
+    _sourceHypo = static_cast<const StdMeshers_ProjectionSource2D *>(theHyp);
+
+    // Check hypo parameters
+
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    SMESH_Mesh* tgtMesh = & theMesh;
+    if ( !srcMesh )
+      srcMesh = tgtMesh;
+
+    // check vertices
+    if ( _sourceHypo->HasVertexAssociation() )
+    {
+      // source vertices
+      TopoDS_Shape edge = TAssocTool::GetEdgeByVertices
+        ( srcMesh, _sourceHypo->GetSourceVertex(1), _sourceHypo->GetSourceVertex(2) );
+      if ( edge.IsNull() ||
+           !TAssocTool::IsSubShape( edge, srcMesh ) ||
+           !TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() ))
+      {
+        theStatus = HYP_BAD_PARAMETER;
+        SCRUTE((edge.IsNull()));
+        SCRUTE((TAssocTool::IsSubShape( edge, srcMesh )));
+        SCRUTE((TAssocTool::IsSubShape( edge, _sourceHypo->GetSourceFace() )));
+      }
+      else
+      {
+        // target vertices
+        edge = TAssocTool::GetEdgeByVertices
+          ( tgtMesh, _sourceHypo->GetTargetVertex(1), _sourceHypo->GetTargetVertex(2) );
+        if ( edge.IsNull() ||
+             !TAssocTool::IsSubShape( edge, tgtMesh ) ||
+             !TAssocTool::IsSubShape( edge, theShape ))
+        {
+          theStatus = HYP_BAD_PARAMETER;
+          SCRUTE((edge.IsNull()));
+          SCRUTE((TAssocTool::IsSubShape( edge, tgtMesh )));
+          SCRUTE((TAssocTool::IsSubShape( edge, theShape )));
+        }
+      }
+    }
+    // check a source face
+    if ( !TAssocTool::IsSubShape( _sourceHypo->GetSourceFace(), srcMesh ) ||
+         ( srcMesh == tgtMesh && theShape == _sourceHypo->GetSourceFace() ))
+    {
+      theStatus = HYP_BAD_PARAMETER;
+      SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSourceFace(), srcMesh )));
+      SCRUTE((srcMesh == tgtMesh));
+      SCRUTE(( theShape == _sourceHypo->GetSourceFace() ));
+    }
+  }
+  else
+  {
+    theStatus = HYP_INCOMPATIBLE;
+  }
+  return ( theStatus == HYP_OK );
+}
+
+namespace {
+
+
+  //================================================================================
+  /*!
+   * \brief define if a node is new or old
+    * \param node - node to check
+    * \retval bool - true if the node existed before Compute() is called
+   */
+  //================================================================================
+
+  bool isOldNode( const SMDS_MeshNode* node )
+  {
+    // old nodes are shared by edges and new ones are shared
+    // only by faces created by mapper
+    bool isOld = false;
+    SMDS_ElemIteratorPtr invElem = node->GetInverseElementIterator();
+    while ( !isOld && invElem->more() )
+      isOld = ( invElem->next()->GetType() == SMDSAbs_Edge );
+    return isOld;
+  }
+
+  //================================================================================
+  /*!
+   * \brief Class to remove mesh built by pattern mapper on edges
+   * and vertices in the case of failure of projection algo.
+   * It does it's job at destruction
+   */
+  //================================================================================
+
+  class MeshCleaner {
+    SMESH_subMesh* sm;
+  public:
+    MeshCleaner( SMESH_subMesh* faceSubMesh ): sm(faceSubMesh) {}
+    ~MeshCleaner() { Clean(sm); }
+    void Release() { sm = 0; } // mesh will not be removed
+    static void Clean( SMESH_subMesh* sm )
+    {
+      if ( !sm ) return;
+      switch ( sm->GetSubShape().ShapeType() ) {
+      case TopAbs_VERTEX:
+      case TopAbs_EDGE: {
+        SMDS_NodeIteratorPtr nIt = sm->GetSubMeshDS()->GetNodes();
+        SMESHDS_Mesh* mesh = sm->GetFather()->GetMeshDS();
+        while ( nIt->more() ) {
+          const SMDS_MeshNode* node = nIt->next();
+          if ( !isOldNode( node ) )
+            mesh->RemoveNode( node );
+        }
+        // do not break but iterate over DependsOn()
+      }
+      default:
+        const map< int, SMESH_subMesh * >& subSM = sm->DependsOn();
+        map< int, SMESH_subMesh * >::const_iterator i_sm = subSM.begin();
+        for ( ; i_sm != subSM.end(); ++i_sm )
+          Clean( i_sm->second );
+      }
+    }
+  };
+
+  //================================================================================
+  /*!
+   * \brief find new nodes belonging to one free border of mesh on face
+    * \param sm - submesh on edge or vertex containg nodes to choose from
+    * \param face - the face bound the submesh
+    * \param u2nodes - map to fill with nodes
+    * \param seamNodes - set of found nodes
+    * \retval bool - is a success
+   */
+  //================================================================================
+
+  bool getBoundaryNodes ( SMESH_subMesh*                        sm,
+                          const TopoDS_Face&                    face,
+                          map< double, const SMDS_MeshNode* > & u2nodes,
+                          set< const SMDS_MeshNode* > &         seamNodes)
+  {
+    u2nodes.clear();
+    seamNodes.clear();
+    if ( !sm || !sm->GetSubMeshDS() )
+      RETURN_BAD_RESULT("Null submesh");
+
+    SMDS_NodeIteratorPtr nIt = sm->GetSubMeshDS()->GetNodes();
+    switch ( sm->GetSubShape().ShapeType() ) {
+
+    case TopAbs_VERTEX: {
+      while ( nIt->more() ) {
+        const SMDS_MeshNode* node = nIt->next();
+        if ( isOldNode( node ) ) continue;
+        u2nodes.insert( make_pair( 0., node ));
+        seamNodes.insert( node );
+        return true;
+      }
+      break;
+    }
+    case TopAbs_EDGE: {
+      
+      // Get submeshes of sub-vertices
+      const map< int, SMESH_subMesh * >& subSM = sm->DependsOn();
+      if ( subSM.size() != 2 )
+        RETURN_BAD_RESULT("there must be 2 submeshes of sub-vertices"
+                          " but we have " << subSM.size());
+      SMESH_subMesh* smV1 = subSM.begin()->second;
+      SMESH_subMesh* smV2 = subSM.rbegin()->second;
+      if ( !smV1->IsMeshComputed() || !smV2->IsMeshComputed() )
+        RETURN_BAD_RESULT("Empty vertex submeshes");
+
+      // Look for a new node on V1
+      nIt = smV1->GetSubMeshDS()->GetNodes();
+      const SMDS_MeshNode* nV1 = 0;
+      while ( nIt->more() && !nV1 ) {
+        const SMDS_MeshNode* node = nIt->next();
+        if ( !isOldNode( node ) ) nV1 = node;
+      }
+      if ( !nV1 )
+        RETURN_BAD_RESULT("No new node found on V1");
+
+      // Find a new node connected to nV1 and belonging to edge submesh;
+      const SMDS_MeshNode* nE = 0;
+      SMESHDS_SubMesh* smDS = sm->GetSubMeshDS();
+      SMDS_ElemIteratorPtr vElems = nV1->GetInverseElementIterator();
+      while ( vElems->more() && !nE ) {
+        const SMDS_MeshElement* elem = vElems->next();
+        if ( elem->GetType() != SMDSAbs_Face )
+          continue; // new nodes are shared by faces
+        int nbNodes = elem->NbNodes();
+        if ( elem->IsQuadratic() )
+          nbNodes /= 2;
+        int iV1 = elem->GetNodeIndex( nV1 );
+        // try next aftre nV1
+        int iE = SMESH_MesherHelper::WrapIndex( iV1 + 1, nbNodes );
+        if ( smDS->Contains( elem->GetNode( iE ) ))
+          nE = elem->GetNode( iE );
+        if ( !nE ) {
+          // try node before nV1
+          iE = SMESH_MesherHelper::WrapIndex( iV1 - 1, nbNodes );
+          if ( smDS->Contains( elem->GetNode( iE )))
+            nE = elem->GetNode( iE );
+        }
+        if ( nE && elem->IsQuadratic() ) { // find medium node between nV1 and nE
+          if ( Abs( iV1 - iE ) == 1 )
+            nE = elem->GetNode( Min ( iV1, iE ) + nbNodes );
+          else
+            nE = elem->GetNode( elem->NbNodes() - 1 );
+        }
+      }
+      if ( !nE )
+        RETURN_BAD_RESULT("new node on edge not found");
+
+      // Get the whole free border of a face
+      list< const SMDS_MeshNode* > bordNodes;
+      list< const SMDS_MeshElement* > bordFaces;
+      if ( !SMESH_MeshEditor::FindFreeBorder (nV1, nE, nV1, bordNodes, bordFaces ))
+        RETURN_BAD_RESULT("free border of a face not found by nodes " <<
+                          nV1->GetID() << " " << nE->GetID() );
+
+      // Insert nodes of the free border to the map until node on V2 encountered
+      SMESHDS_SubMesh* v2smDS = smV2->GetSubMeshDS();
+      list< const SMDS_MeshNode* >::iterator bordIt = bordNodes.begin();
+      bordIt++; // skip nV1
+      for ( ; bordIt != bordNodes.end(); ++bordIt ) {
+        const SMDS_MeshNode* node = *bordIt;
+        if ( v2smDS->Contains( node ))
+          break;
+        if ( node->GetPosition()->GetTypeOfPosition() != SMDS_TOP_EDGE )
+          RETURN_BAD_RESULT("Bad node position type: node " << node->GetID() <<
+                            " pos type " << node->GetPosition()->GetTypeOfPosition());
+        const SMDS_EdgePosition* pos =
+          static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
+        u2nodes.insert( make_pair( pos->GetUParameter(), node ));
+        seamNodes.insert( node );
+      }
+      if ( u2nodes.size() != seamNodes.size() )
+        RETURN_BAD_RESULT("Bad node params on edge " << sm->GetId() <<
+                          ", " << u2nodes.size() << " != " << seamNodes.size() );
+      return true;
+    }
+    default:;
+    }
+    RETURN_BAD_RESULT ("Unexpected submesh type");
+
+  } // bool getBoundaryNodes()
+
+} // namespace
+
+//=======================================================================
+//function : Compute
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape& theShape)
+{
+  if ( !_sourceHypo )
+    return false;
+
+  TopoDS_Face tgtFace = TopoDS::Face( theShape.Oriented(TopAbs_FORWARD));
+  TopoDS_Face srcFace = TopoDS::Face( _sourceHypo->GetSourceFace().Oriented(TopAbs_FORWARD));
+
+  SMESH_Mesh * srcMesh = _sourceHypo->GetSourceMesh(); 
+  SMESH_Mesh * tgtMesh = & theMesh;
+  if ( !srcMesh )
+    srcMesh = tgtMesh;
+
+  SMESHDS_Mesh * meshDS = theMesh.GetMeshDS();
+
+  SMESH_MesherHelper helper( theMesh );
+  helper.SetSubShape( tgtFace );
+
+  // ---------------------------
+  // Make subshapes association
+  // ---------------------------
+
+  TAssocTool::TShapeShapeMap shape2ShapeMap;
+  TAssocTool::InitVertexAssociation( _sourceHypo, shape2ShapeMap );
+  if ( !TAssocTool::FindSubShapeAssociation( tgtFace, tgtMesh, srcFace, srcMesh,
+                                             shape2ShapeMap) )
+    RETURN_BAD_RESULT("FindSubShapeAssociation failed");
+
+  // ----------------------------------------------
+  // Assure that mesh on a source Face is computed
+  // ----------------------------------------------
+
+  SMESH_subMesh* srcSubMesh = srcMesh->GetSubMesh( srcFace );
+  SMESH_subMesh* tgtSubMesh = tgtMesh->GetSubMesh( tgtFace );
+
+  if ( tgtMesh == srcMesh ) {
+    if ( !TAssocTool::MakeComputed( srcSubMesh ))
+      RETURN_BAD_RESULT("Impossible to compute the source mesh");
+  }
+  else {
+    if ( !srcSubMesh->IsMeshComputed() )
+      RETURN_BAD_RESULT("Source mesh is not computed");
+  }
+
+  // --------------------
+  // Prepare to mapping 
+  // --------------------
+
+  // Load pattern from the source face
+  SMESH_Pattern mapper;
+  mapper.Load( srcMesh, srcFace );
+  if ( mapper.GetErrorCode() != SMESH_Pattern::ERR_OK )
+    RETURN_BAD_RESULT("SMESH_Pattern::Load() failed");
+
+  // Find the first target vertex corresponding to first vertex of the <mapper>
+  // and <theReverse> flag needed to call mapper.Apply()
+
+  TopoDS_Vertex srcV1 = TopoDS::Vertex( mapper.GetSubShape( 1 ));
+  if ( srcV1.IsNull() )
+    RETURN_BAD_RESULT("Mesh is not bound to the face");
+  if ( !shape2ShapeMap.IsBound( srcV1 ))
+    RETURN_BAD_RESULT("Not associated vertices, srcV1 " << srcV1.TShape().operator->() );
+  TopoDS_Vertex tgtV1 = TopoDS::Vertex( shape2ShapeMap( srcV1 ));
+
+  if ( !TAssocTool::IsSubShape( srcV1, srcFace ))
+    RETURN_BAD_RESULT("Wrong srcV1 " << srcV1.TShape().operator->());
+  if ( !TAssocTool::IsSubShape( tgtV1, tgtFace ))
+    RETURN_BAD_RESULT("Wrong tgtV1 " << tgtV1.TShape().operator->());
+
+  // try to find out orientation by order of edges
+  bool reverse = false;
+  list< TopoDS_Edge > tgtEdges, srcEdges;
+  list< int > nbEdgesInWires;
+  SMESH_Block::GetOrderedEdges( tgtFace, tgtV1, tgtEdges, nbEdgesInWires);
+  SMESH_Block::GetOrderedEdges( srcFace, srcV1, srcEdges, nbEdgesInWires);
+  if ( nbEdgesInWires.front() > 1 ) // possible to find out
+  {
+    TopoDS_Edge srcE1 = srcEdges.front(), tgtE1 = tgtEdges.front();
+    reverse = ( ! srcE1.IsSame( shape2ShapeMap( tgtE1 )));
+    if ( BRep_Tool::IsClosed( tgtE1, tgtFace )) {
+      reverse = ( srcE1.Orientation() == tgtE1.Orientation() );
+      if ( _sourceHypo->GetSourceFace().Orientation() != theShape.Orientation() )
+        reverse = !reverse;
+    }
+  }
+  else if ( nbEdgesInWires.front() == 1 )
+  {
+    // TODO::Compare orientation of curves in a sole edge
+    //RETURN_BAD_RESULT("Not implemented case");
+  }
+  else
+  {
+    RETURN_BAD_RESULT("Bad result from SMESH_Block::GetOrderedEdges()");
+  }
+
+  // --------------------
+  // Perform 2D mapping 
+  // --------------------
+
+  // Compute mesh on a target face
+
+  mapper.Apply( tgtFace, tgtV1, reverse );
+  if ( mapper.GetErrorCode() != SMESH_Pattern::ERR_OK )
+    RETURN_BAD_RESULT("SMESH_Pattern::Apply() failed");
+
+  // Create the mesh
+
+  const bool toCreatePolygons = false, toCreatePolyedrs = false;
+  mapper.MakeMesh( tgtMesh, toCreatePolygons, toCreatePolyedrs );
+  if ( mapper.GetErrorCode() != SMESH_Pattern::ERR_OK )
+    RETURN_BAD_RESULT("SMESH_Pattern::MakeMesh() failed");
+
+  // it will remove mesh built by pattern mapper on edges and vertices
+  // in failure case
+  MeshCleaner cleaner( tgtSubMesh );
+
+  // -------------------------------------------------------------------------
+  // mapper doesn't take care of nodes already existing on edges and vertices,
+  // so we must merge nodes created by it with existing ones 
+  // -------------------------------------------------------------------------
+
+  SMESH_MeshEditor editor( tgtMesh );
+  SMESH_MeshEditor::TListOfListOfNodes groupsOfNodes;
+
+  // Make groups of nodes to merge
+
+  // loop on edge and vertex submeshes of a target face
+  const map< int, SMESH_subMesh * >& subSM = tgtSubMesh->DependsOn();
+  map< int, SMESH_subMesh * >::const_iterator i_subSM = subSM.begin();
+  for ( ; i_subSM != subSM.end(); ++i_subSM )
+  {
+    SMESH_subMesh*     sm = i_subSM->second;
+    SMESHDS_SubMesh* smDS = sm->GetSubMeshDS();
+
+    // Sort new and old nodes of a submesh separately
+
+    bool isSeam = helper.IsSeamShape( sm->GetId() );
+
+    enum { NEW_NODES, OLD_NODES };
+    map< double, const SMDS_MeshNode* > u2nodesMaps[2], u2nodesOnSeam;
+    map< double, const SMDS_MeshNode* >::iterator u_oldNode, u_newNode, u_newOnSeam, newEnd;
+    set< const SMDS_MeshNode* > seamNodes;
+
+    // mapper puts on a seam edge nodes from 2 edges
+    if ( isSeam && ! getBoundaryNodes ( sm, tgtFace, u2nodesOnSeam, seamNodes ))
+      RETURN_BAD_RESULT("getBoundaryNodes() failed");
+
+    SMDS_NodeIteratorPtr nIt = smDS->GetNodes();
+    while ( nIt->more() )
+    {
+      const SMDS_MeshNode* node = nIt->next();
+      bool isOld = isOldNode( node );
+
+      if ( !isOld && isSeam ) { // new node on a seam edge
+        if ( seamNodes.find( node ) != seamNodes.end())
+          continue; // node is already in the map
+      }
+
+      // sort nodes on edges by its position
+      map< double, const SMDS_MeshNode* > & pos2nodes = u2nodesMaps[ isOld ];
+      switch ( node->GetPosition()->GetTypeOfPosition() )
+      {
+      case  SMDS_TOP_VERTEX: {
+        pos2nodes.insert( make_pair( 0, node ));
+        break;
+      }
+      case  SMDS_TOP_EDGE:   {
+        const SMDS_EdgePosition* pos =
+          static_cast<const SMDS_EdgePosition*>(node->GetPosition().get());
+        pos2nodes.insert( make_pair( pos->GetUParameter(), node ));
+        break;
+      }
+      default:
+        RETURN_BAD_RESULT("Wrong node position type: "<<
+                          node->GetPosition()->GetTypeOfPosition());
+      }
+    }
+    if ( u2nodesMaps[ OLD_NODES ].size() != u2nodesMaps[ NEW_NODES ].size() )
+      RETURN_BAD_RESULT("Different nb of old and new nodes " <<
+                        u2nodesMaps[ OLD_NODES ].size() << " != " <<
+                        u2nodesMaps[ NEW_NODES ].size());
+    if ( isSeam && u2nodesMaps[ OLD_NODES ].size() != u2nodesOnSeam.size() )
+      RETURN_BAD_RESULT("Different nb of old and seam nodes " <<
+                        u2nodesMaps[ OLD_NODES ].size() << " != " << u2nodesOnSeam.size());
+
+    // Make groups of nodes to merge
+    u_oldNode = u2nodesMaps[ OLD_NODES ].begin(); 
+    u_newNode = u2nodesMaps[ NEW_NODES ].begin();
+    newEnd    = u2nodesMaps[ NEW_NODES ].end();
+    u_newOnSeam = u2nodesOnSeam.begin();
+    for ( ; u_newNode != newEnd; ++u_newNode, ++u_oldNode ) {
+      groupsOfNodes.push_back( list< const SMDS_MeshNode* >() );
+      groupsOfNodes.back().push_back( u_oldNode->second );
+      groupsOfNodes.back().push_back( u_newNode->second );
+      if ( isSeam )
+        groupsOfNodes.back().push_back( (u_newOnSeam++)->second );
+    }
+  }
+
+  // Merge
+
+  editor.MergeNodes( groupsOfNodes );
+
+  // ---------------------------
+  // Check elements orientation
+  // ---------------------------
+
+  TopoDS_Face face = tgtFace;
+  if ( !theMesh.IsMainShape( tgtFace ))
+  {
+    // find the main shape
+    TopoDS_Shape mainShape = meshDS->ShapeToMesh();
+    switch ( mainShape.ShapeType() ) {
+    case TopAbs_SHELL:
+    case TopAbs_SOLID: break;
+    default:
+      TopTools_ListIteratorOfListOfShape ancestIt = theMesh.GetAncestors( face );
+      for ( ; ancestIt.More(); ancestIt.Next() ) {
+        TopAbs_ShapeEnum type = ancestIt.Value().ShapeType();
+        if ( type == TopAbs_SOLID ) {
+          mainShape = ancestIt.Value();
+          break;
+        } else if ( type == TopAbs_SHELL ) {
+          mainShape = ancestIt.Value();
+        }
+      }
+    }
+    // find tgtFace in the main solid or shell to know it's true orientation.
+    TopExp_Explorer exp( mainShape, TopAbs_FACE );
+    for ( ; exp.More(); exp.Next() ) {
+      if ( tgtFace.IsSame( exp.Current() )) {
+        face = TopoDS::Face( exp.Current() );
+        break;
+      }
+    }
+  }
+  // Fix orientation
+  if ( SMESH_Algo::IsReversedSubMesh( face, meshDS ))
+  {
+    SMDS_ElemIteratorPtr eIt = meshDS->MeshElements( face )->GetElements();
+    while ( eIt->more() ) {
+      const SMDS_MeshElement* e = eIt->next();
+      if ( e->GetType() == SMDSAbs_Face && !editor.Reorient( e ))
+        RETURN_BAD_RESULT("Pb of SMESH_MeshEditor::Reorient()");
+    }
+  }
+
+  cleaner.Release(); // do not remove mesh
+
+  return true;
+}
+
+//=============================================================================
+/*!
+ * \brief Sets a default event listener to submesh of the source face
+  * \param subMesh - submesh where algo is set
+ *
+ * This method is called when a submesh gets HYP_OK algo_state.
+ * After being set, event listener is notified on each event of a submesh.
+ * Arranges that CLEAN event is translated from source submesh to
+ * the submesh
+ */
+//=============================================================================
+
+void StdMeshers_Projection_2D::SetEventListener(SMESH_subMesh* subMesh)
+{
+  if ( _sourceHypo && ! _sourceHypo->GetSourceFace().IsNull() )
+  {
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    if ( !srcMesh )
+      srcMesh = subMesh->GetFather();
+
+    SMESH_subMesh* srcFaceSM =
+      srcMesh->GetSubMesh( _sourceHypo->GetSourceFace() );
+
+    subMesh->SetEventListener( new SMESH_subMeshEventListener(true),
+                               SMESH_subMeshEventListenerData::MakeData( subMesh ),
+                               srcFaceSM );
+  }
+}
diff --git a/src/StdMeshers/StdMeshers_Projection_2D.hxx b/src/StdMeshers/StdMeshers_Projection_2D.hxx
new file mode 100644 (file)
index 0000000..ec59cb5
--- /dev/null
@@ -0,0 +1,65 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Projection_2D.hxx
+//  Module : SMESH
+
+#ifndef _SMESH_Projection_2D_HXX_
+#define _SMESH_Projection_2D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_2D_Algo.hxx"
+
+class StdMeshers_ProjectionSource2D;
+
+class STDMESHERS_EXPORT StdMeshers_Projection_2D: public SMESH_2D_Algo
+{
+public:
+  StdMeshers_Projection_2D(int hypId, int studyId, SMESH_Gen* gen);
+  virtual ~StdMeshers_Projection_2D();
+
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus);
+
+  virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
+
+  /*!
+   * \brief Sets a default event listener to submesh of the source face
+   *  \param whenSetToSubMesh - submesh where algo is set
+   *
+   * After being set, event listener is notified on each event of a submesh.
+   * This method is called when a submesh gets HYP_OK algo_state.
+   * Arranges that CLEAN event is translated from source submesh to
+   * the whenSetToSubMesh submesh.
+   */
+  virtual void SetEventListener(SMESH_subMesh* whenSetToSubMesh);
+  
+protected:
+
+  const StdMeshers_ProjectionSource2D* _sourceHypo;
+
+};
+
+#endif
diff --git a/src/StdMeshers/StdMeshers_Projection_3D.cxx b/src/StdMeshers/StdMeshers_Projection_3D.cxx
new file mode 100644 (file)
index 0000000..241ff76
--- /dev/null
@@ -0,0 +1,438 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_Projection_3D.cxx
+// Module    : SMESH
+// Created   : Fri Oct 20 11:37:07 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_Projection_3D.hxx"
+#include "StdMeshers_ProjectionSource3D.hxx"
+
+#include "StdMeshers_ProjectionUtils.hxx"
+
+#include "SMESHDS_Hypothesis.hxx"
+#include "SMESHDS_SubMesh.hxx"
+#include "SMESH_Block.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESH_MeshEditor.hxx"
+#include "SMESH_Pattern.hxx"
+#include "SMESH_subMesh.hxx"
+#include "SMESH_subMeshEventListener.hxx"
+#include "SMESH_MesherHelper.hxx"
+#include "SMDS_VolumeTool.hxx"
+#include "SMDS_PolyhedralVolumeOfNodes.hxx"
+
+#include "utilities.h"
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+#define gpXYZ(n) gp_XYZ(n->X(),n->Y(),n->Z())
+#define SHOWYXZ(msg, xyz) // {\
+// gp_Pnt p (xyz); \
+// cout << msg << " ("<< p.X() << "; " <<p.Y() << "; " <<p.Z() << ") " <<endl;\
+// }
+
+typedef StdMeshers_ProjectionUtils TAssocTool;
+
+
+//=======================================================================
+//function : StdMeshers_Projection_3D
+//purpose  : 
+//=======================================================================
+
+StdMeshers_Projection_3D::StdMeshers_Projection_3D(int hypId, int studyId, SMESH_Gen* gen)
+  :SMESH_3D_Algo(hypId, studyId, gen)
+{
+  _name = "Projection_3D";
+  _shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID);      // 1 bit per shape type
+
+  _compatibleHypothesis.push_back("ProjectionSource3D");
+  _sourceHypo = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshers_Projection_3D::~StdMeshers_Projection_3D()
+{}
+
+//=======================================================================
+//function : CheckHypothesis
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_3D::CheckHypothesis(SMESH_Mesh&                          aMesh,
+                                               const TopoDS_Shape&                  aShape,
+                                               SMESH_Hypothesis::Hypothesis_Status& aStatus)
+{
+  // check aShape that must be a 6 faces block
+  if ( TAssocTool::Count( aShape, TopAbs_SHELL, 1 ) != 1 ||
+       TAssocTool::Count( aShape, TopAbs_FACE , 1 ) != 6 ||
+       TAssocTool::Count( aShape, TopAbs_EDGE , 1 ) != 12 ||
+       TAssocTool::Count( aShape, TopAbs_WIRE , 1 ) != 6 )
+  {
+    aStatus = HYP_BAD_GEOMETRY;
+    return false;
+  }
+
+  list <const SMESHDS_Hypothesis * >::const_iterator itl;
+
+  const list <const SMESHDS_Hypothesis * >&hyps = GetUsedHypothesis(aMesh, aShape);
+  if ( hyps.size() == 0 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_MISSING;
+    return false;  // can't work with no hypothesis
+  }
+
+  if ( hyps.size() > 1 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_ALREADY_EXIST;
+    return false;
+  }
+
+  const SMESHDS_Hypothesis *theHyp = hyps.front();
+
+  string hypName = theHyp->GetName();
+
+  aStatus = SMESH_Hypothesis::HYP_OK;
+
+  if (hypName == "ProjectionSource3D")
+  {
+    _sourceHypo = static_cast<const StdMeshers_ProjectionSource3D *>(theHyp);
+    // Check hypo parameters
+
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    SMESH_Mesh* tgtMesh = & aMesh;
+    if ( !srcMesh )
+      srcMesh = tgtMesh;
+
+    // check vertices
+    if ( _sourceHypo->HasVertexAssociation() )
+    {
+      // source vertices
+      TopoDS_Shape edge = TAssocTool::GetEdgeByVertices
+        ( srcMesh, _sourceHypo->GetSourceVertex(1), _sourceHypo->GetSourceVertex(2) );
+      if ( edge.IsNull() ||
+           !TAssocTool::IsSubShape( edge, srcMesh ) ||
+           !TAssocTool::IsSubShape( edge, _sourceHypo->GetSource3DShape() ))
+      {
+        SCRUTE((edge.IsNull()));
+        SCRUTE((TAssocTool::IsSubShape( edge, srcMesh )));
+        SCRUTE((TAssocTool::IsSubShape( edge, _sourceHypo->GetSource3DShape() )));
+        aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
+      }
+      else
+      {
+        // target vertices
+        edge = TAssocTool::GetEdgeByVertices
+          ( tgtMesh, _sourceHypo->GetTargetVertex(1), _sourceHypo->GetTargetVertex(2) );
+        if ( edge.IsNull() ||
+             !TAssocTool::IsSubShape( edge, tgtMesh ) ||
+             !TAssocTool::IsSubShape( edge, aShape ))
+        {
+          SCRUTE((edge.IsNull()));
+          SCRUTE((TAssocTool::IsSubShape( edge, tgtMesh )));
+          SCRUTE((TAssocTool::IsSubShape( edge, aShape )));
+          aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
+        }
+      }
+    }
+    // check a source shape
+    if ( !TAssocTool::IsSubShape( _sourceHypo->GetSource3DShape(), srcMesh ) ||
+         ( srcMesh == tgtMesh && aShape == _sourceHypo->GetSource3DShape()))
+    {
+      SCRUTE((TAssocTool::IsSubShape( _sourceHypo->GetSource3DShape(), srcMesh)));
+      SCRUTE((srcMesh == tgtMesh));
+      SCRUTE((aShape == _sourceHypo->GetSource3DShape()));
+      aStatus = SMESH_Hypothesis::HYP_BAD_PARAMETER;
+    }
+  }
+  else
+  {
+    aStatus = SMESH_Hypothesis::HYP_INCOMPATIBLE;
+  }
+  return ( aStatus == HYP_OK );
+}
+
+//=======================================================================
+//function : Compute
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_Projection_3D::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape)
+{
+  if ( !_sourceHypo )
+    return false;
+
+  SMESH_Mesh * srcMesh = _sourceHypo->GetSourceMesh();
+  SMESH_Mesh * tgtMesh = & aMesh;
+  if ( !srcMesh )
+    srcMesh = tgtMesh;
+
+  SMESHDS_Mesh * srcMeshDS = srcMesh->GetMeshDS();
+  SMESHDS_Mesh * tgtMeshDS = tgtMesh->GetMeshDS();
+
+  // get shell from shape3D
+  TopoDS_Shell srcShell, tgtShell;
+  TopExp_Explorer exp( _sourceHypo->GetSource3DShape(), TopAbs_SHELL );
+  int nbShell;
+  for ( nbShell = 0; exp.More(); exp.Next(), ++nbShell )
+    srcShell = TopoDS::Shell( exp.Current() );
+  if ( nbShell != 1 )
+    RETURN_BAD_RESULT("There must be 1 shell in the source shape");
+
+  exp.Init( aShape, TopAbs_SHELL );
+  for ( nbShell = 0; exp.More(); exp.Next(), ++nbShell )
+    tgtShell = TopoDS::Shell( exp.Current() );
+  if ( nbShell != 1 )
+    RETURN_BAD_RESULT("There must be 1 shell in the target shape");
+
+  // Assure that mesh on a source shape is computed
+
+  SMESH_subMesh* srcSubMesh = srcMesh->GetSubMesh( _sourceHypo->GetSource3DShape() );
+  //SMESH_subMesh* tgtSubMesh = tgtMesh->GetSubMesh( aShape );
+
+  if ( tgtMesh == srcMesh && !aShape.IsSame( _sourceHypo->GetSource3DShape() )) {
+    if ( !TAssocTool::MakeComputed( srcSubMesh ))
+      RETURN_BAD_RESULT("Impossible to compute the source mesh");
+  }
+  else {
+    if ( !srcSubMesh->IsMeshComputed() )
+      RETURN_BAD_RESULT("Source mesh is not computed");
+  }
+
+  // Find 2 pairs of corresponding vertices
+
+  TopoDS_Vertex tgtV000, tgtV100, srcV000, srcV100;
+  TAssocTool::TShapeShapeMap shape2ShapeMap;
+
+  if ( _sourceHypo->HasVertexAssociation() )
+  {
+    tgtV000 = _sourceHypo->GetTargetVertex(1);
+    tgtV100 = _sourceHypo->GetTargetVertex(2);
+    srcV000 = _sourceHypo->GetSourceVertex(1);
+    srcV100 = _sourceHypo->GetSourceVertex(2);
+  }
+  else
+  {
+    if ( !TAssocTool::FindSubShapeAssociation( tgtShell, tgtMesh, srcShell, srcMesh,
+                                               shape2ShapeMap) )
+      RETURN_BAD_RESULT("FindSubShapeAssociation() failed");
+
+    exp.Init( tgtShell, TopAbs_EDGE );
+    TopExp::Vertices( TopoDS::Edge( exp.Current() ), tgtV000, tgtV100 );
+
+    if ( !shape2ShapeMap.IsBound( tgtV000 ) || !shape2ShapeMap.IsBound( tgtV100 ))
+      RETURN_BAD_RESULT("Shape associating not done");
+    srcV000 = TopoDS::Vertex( shape2ShapeMap( tgtV000 ));
+    srcV100 = TopoDS::Vertex( shape2ShapeMap( tgtV100 ));
+    if ( !TAssocTool::IsSubShape( srcV000, srcShell ) ||
+         !TAssocTool::IsSubShape( srcV100, srcShell ))
+      RETURN_BAD_RESULT("Wrong target vertices");
+  }
+
+  // Load 2 SMESH_Block's with src and tgt shells
+
+  SMESH_Block srcBlock, tgtBlock;
+  TopTools_IndexedMapOfOrientedShape scrShapes, tgtShapes;
+  if ( !tgtBlock.LoadBlockShapes( tgtShell, tgtV000, tgtV100, tgtShapes ))
+    RETURN_BAD_RESULT("SMESH_Block::LoadBlockShapes(tgtShell) failed");
+
+  if ( !srcBlock.LoadBlockShapes( srcShell, srcV000, srcV100, scrShapes ))
+    RETURN_BAD_RESULT("SMESH_Block::LoadBlockShapes(srcShell) failed");
+
+  // Find matching nodes of src and tgt shells
+
+  TNodeNodeMap src2tgtNodeMap;
+  for ( int fId = SMESH_Block::ID_FirstF; fId < SMESH_Block::ID_Shell; ++fId )
+  {
+    // Corresponding subshapes
+    TopoDS_Face srcFace = TopoDS::Face( scrShapes( fId ));
+    TopoDS_Face tgtFace = TopoDS::Face( tgtShapes( fId ));
+    if ( _sourceHypo->HasVertexAssociation() ) { // associate face subshapes
+      shape2ShapeMap.Clear();
+      vector< int > edgeIdVec;
+      SMESH_Block::GetFaceEdgesIDs( fId, edgeIdVec );
+      for ( int i = 0; i < edgeIdVec.size(); ++i ) {
+        int eID = edgeIdVec[ i ];
+        shape2ShapeMap.Bind( tgtShapes( eID ), scrShapes( eID ));
+        if ( i < 2 ) {
+          vector< int > vertexIdVec;
+          SMESH_Block::GetEdgeVertexIDs( eID, vertexIdVec );
+          shape2ShapeMap.Bind( tgtShapes( vertexIdVec[0] ), scrShapes( vertexIdVec[0] ));
+          shape2ShapeMap.Bind( tgtShapes( vertexIdVec[1] ), scrShapes( vertexIdVec[1] ));
+        }
+      }
+    }
+    // Find matching nodes of tgt and src faces
+    TNodeNodeMap faceMatchingNodes;
+    if ( ! TAssocTool::FindMatchingNodesOnFaces( srcFace, srcMesh, tgtFace, tgtMesh, 
+                                                 shape2ShapeMap, faceMatchingNodes ))
+      RETURN_BAD_RESULT("Different mesh on corresponding src and tgt faces: "
+                        << srcMeshDS->ShapeToIndex( srcFace ) << " and "
+                        << tgtMeshDS->ShapeToIndex( tgtFace ));
+
+    // put found matching nodes of 2 faces to the global map
+    src2tgtNodeMap.insert( faceMatchingNodes.begin(), faceMatchingNodes.end() );
+  }
+
+  // ------------------
+  // Make mesh
+  // ------------------
+
+  SMDS_VolumeTool volTool;
+  SMESH_MesherHelper helper( *tgtMesh );
+  helper.IsQuadraticSubMesh( aShape );
+
+  SMESHDS_SubMesh* srcSMDS = srcSubMesh->GetSubMeshDS();
+  SMDS_ElemIteratorPtr volIt = srcSMDS->GetElements();
+  while ( volIt->more() ) // loop on source volumes
+  {
+    const SMDS_MeshElement* srcVol = volIt->next();
+    if ( !srcVol || srcVol->GetType() != SMDSAbs_Volume )
+        continue;
+    int nbNodes = srcVol->NbNodes();
+    SMDS_VolumeTool::VolumeType  volType = volTool.GetType( nbNodes );
+    if ( srcVol->IsQuadratic() )
+      nbNodes = volTool.NbCornerNodes( volType );
+
+    // Find or create a new tgt node for each node of a src volume
+
+    vector< const SMDS_MeshNode* > nodes( nbNodes );
+    for ( int i = 0; i < nbNodes; ++i )
+    {
+      const SMDS_MeshNode* srcNode = srcVol->GetNode( i );
+      const SMDS_MeshNode* tgtNode = 0;
+      TNodeNodeMap::iterator sN_tN = src2tgtNodeMap.find( srcNode );
+      if ( sN_tN != src2tgtNodeMap.end() ) // found
+      {
+        tgtNode = sN_tN->second;
+      }
+      else // Create a new tgt node
+      {
+        // compute normalized parameters of source node in srcBlock
+        gp_Pnt srcCoord = gpXYZ( srcNode );
+        gp_XYZ srcParam;
+        if ( !srcBlock.ComputeParameters( srcCoord, srcParam ))
+          RETURN_BAD_RESULT("srcBlock.ComputeParameters() failed");
+        // compute coordinates of target node by srcParam
+        gp_XYZ tgtXYZ;
+        if ( !tgtBlock.ShellPoint( srcParam, tgtXYZ ))
+          RETURN_BAD_RESULT("tgtBlock.ShellPoint() failed");
+        // add node
+        SMDS_MeshNode* newNode = tgtMeshDS->AddNode( tgtXYZ.X(), tgtXYZ.Y(), tgtXYZ.Z() );
+        tgtMeshDS->SetNodeInVolume( newNode, helper.GetSubShapeID() );
+        tgtNode = newNode;
+        src2tgtNodeMap.insert( make_pair( srcNode, tgtNode ));
+      }
+      nodes[ i ] = tgtNode;
+    }
+
+    // Create a new volume
+
+    SMDS_MeshVolume * tgtVol = 0;
+    switch ( volType ) {
+    case SMDS_VolumeTool::TETRA     :
+    case SMDS_VolumeTool::QUAD_TETRA:
+      tgtVol = helper.AddVolume( nodes[0],
+                                 nodes[1],
+                                 nodes[2],
+                                 nodes[3]); break;
+    case SMDS_VolumeTool::PYRAM     :
+    case SMDS_VolumeTool::QUAD_PYRAM:
+      tgtVol = helper.AddVolume( nodes[0],
+                                 nodes[1],
+                                 nodes[2],
+                                 nodes[3],
+                                 nodes[4]); break;
+    case SMDS_VolumeTool::PENTA     :
+    case SMDS_VolumeTool::QUAD_PENTA:
+      tgtVol = helper.AddVolume( nodes[0],
+                                 nodes[1],
+                                 nodes[2],
+                                 nodes[3],
+                                 nodes[4],
+                                 nodes[5]); break;
+    case SMDS_VolumeTool::HEXA      :
+    case SMDS_VolumeTool::QUAD_HEXA :
+      tgtVol = helper.AddVolume( nodes[0],
+                                 nodes[1],
+                                 nodes[2],
+                                 nodes[3],
+                                 nodes[4],
+                                 nodes[5],
+                                 nodes[6],
+                                 nodes[7]); break;
+    default: // polyhedron
+      const SMDS_PolyhedralVolumeOfNodes * poly =
+        dynamic_cast<const SMDS_PolyhedralVolumeOfNodes*>( srcVol );
+      if ( !poly )
+        RETURN_BAD_RESULT("Unexpected volume type");
+      vector<int> quantities( poly->NbFaces(), 0 );
+      for ( int i = 0; i < quantities.size(); ++i )
+        quantities[ i ] = poly->NbFaceNodes( i + 1 );
+      tgtVol = tgtMeshDS->AddPolyhedralVolume( nodes, quantities );
+    }
+    if ( tgtVol ) {
+      tgtMeshDS->SetMeshElementOnShape( tgtVol, helper.GetSubShapeID() );
+    }
+  } // loop on volumes of src shell
+
+  return true;
+}
+
+//=============================================================================
+/*!
+ * \brief Sets a default event listener to submesh of the source shape
+  * \param subMesh - submesh where algo is set
+ *
+ * This method is called when a submesh gets HYP_OK algo_state.
+ * After being set, event listener is notified on each event of a submesh.
+ * Arranges that CLEAN event is translated from source submesh to
+ * the submesh
+ */
+//=============================================================================
+
+void StdMeshers_Projection_3D::SetEventListener(SMESH_subMesh* subMesh)
+{
+  if ( _sourceHypo && ! _sourceHypo->GetSource3DShape().IsNull() )
+  {
+    SMESH_Mesh* srcMesh = _sourceHypo->GetSourceMesh();
+    if ( !srcMesh )
+      srcMesh = subMesh->GetFather();
+
+    SMESH_subMesh* srcShapeSM =
+      srcMesh->GetSubMesh( _sourceHypo->GetSource3DShape() );
+
+    if ( srcShapeSM != subMesh )
+      subMesh->SetEventListener( new SMESH_subMeshEventListener(true),
+                                 SMESH_subMeshEventListenerData::MakeData( subMesh ),
+                                 srcShapeSM );
+  }
+}
+  
diff --git a/src/StdMeshers/StdMeshers_Projection_3D.hxx b/src/StdMeshers/StdMeshers_Projection_3D.hxx
new file mode 100644 (file)
index 0000000..8aa1f5e
--- /dev/null
@@ -0,0 +1,63 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Projection_3D.hxx
+//  Module : SMESH
+
+#ifndef _SMESH_Projection_3D_HXX_
+#define _SMESH_Projection_3D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_3D_Algo.hxx"
+
+class StdMeshers_ProjectionSource3D;
+
+class STDMESHERS_EXPORT StdMeshers_Projection_3D: public SMESH_3D_Algo
+{
+public:
+  StdMeshers_Projection_3D(int hypId, int studyId, SMESH_Gen* gen);
+  virtual ~StdMeshers_Projection_3D();
+
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus);
+
+  virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
+
+  /*!
+   * \brief Sets a default event listener to submesh of the source shape
+   *  \param whenSetToSubMesh - submesh where algo is set
+   *
+   * Arranges that CLEAN event is translated from source submesh to
+   * the whenSetToSubMesh submesh.
+   */
+  virtual void SetEventListener(SMESH_subMesh* whenSetToSubMesh);
+  
+protected:
+
+  const StdMeshers_ProjectionSource3D* _sourceHypo;
+
+};
+
+#endif
index 40bbdff2dd012ee1883df0c680d4bc6be497436d..3f6fb714a6adb52335322aa1e35f866c97976c86 100644 (file)
 #ifndef _SMESH_PROPAGATION_HXX_
 #define _SMESH_PROPAGATION_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_Propagation:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_Propagation:public SMESH_Hypothesis
 {
  public:
   StdMeshers_Propagation(int hypId, int studyId, SMESH_Gen * gen);
index 553dd756c2c5d865bb19720a3be2807ca47d4302..3d00d7acd6fec8a768822ca9ab3c0421b6f5b355 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _StdMeshers_QuadranglePreference_HXX_
 #define _StdMeshers_QuadranglePreference_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
@@ -37,7 +39,7 @@
  *        GIBI can do it if the global number of nodes is even (DALL operator).
  *        See PAL10467
  */
-class StdMeshers_QuadranglePreference:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_QuadranglePreference:public SMESH_Hypothesis
 {
  public:
   StdMeshers_QuadranglePreference(int hypId, int studyId, SMESH_Gen * gen);
index e20b1500eafb199774bedb36026aa196f325d835..15dcdb4359c0806075912ba90b60870e280c324e 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Quadrangle_2D.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
@@ -67,6 +66,7 @@ DEFINE_ARRAY2(StdMeshers_Array2OfNode,
               StdMeshers_BaseCollectionNodePtr, SMDS_MeshNodePtr)
 #endif
 
+using namespace std;
 
 //=============================================================================
 /*!
@@ -667,7 +667,7 @@ void StdMeshers_Quadrangle_2D::QuadDelete (FaceQuadStruct * quad)
 
 void StdMeshers_Quadrangle_2D::SetNormalizedGrid (SMESH_Mesh & aMesh,
                                                   const TopoDS_Shape& aShape,
-                                                  FaceQuadStruct* quad) throw (SALOME_Exception)
+                                                  FaceQuadStruct* quad) throw (SALOME_Exception)
 {
   Unexpect aCatch(SalomeException);
   // Algorithme décrit dans "Génération automatique de maillages"
index da1a677cd6f84af9750307f2e778af8845633944..9b1b0b6f32da7c5aacf033043161124d29ad6f1e 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_QUADRANGLE_2D_HXX_
 #define _SMESH_QUADRANGLE_2D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_2D_Algo.hxx"
 #include "SMESH_Mesh.hxx"
 #include "Utils_SALOME_Exception.hxx"
@@ -63,7 +65,7 @@ typedef struct faceQuadStruct
   UVPtStruct* uv_grid;
 } FaceQuadStruct;
 
-class StdMeshers_Quadrangle_2D:
+class STDMESHERS_EXPORT StdMeshers_Quadrangle_2D:
   public SMESH_2D_Algo
 {
 public:
@@ -103,7 +105,7 @@ protected:
 
   void SetNormalizedGrid(SMESH_Mesh& aMesh,
                         const TopoDS_Shape& aShape,
-                        FaceQuadStruct* quad)
+                        FaceQuadStruct*& quad)
     throw (SALOME_Exception);
 
   /**
index db601eec8532a42e33d53cf3b0378fb848d3e177..f6146f8b6e29d4e94720eb64617ddaa96e4a5c1f 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _StdMeshers_QuadraticMesh_HXX_
 #define _StdMeshers_QuadraticMesh_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
@@ -39,7 +41,7 @@
  * The 3D mesher generates quadratic volumes only if all boundary faces
  * are quadratic ones, else it fails.
  */
-class StdMeshers_QuadraticMesh:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_QuadraticMesh:public SMESH_Hypothesis
 {
  public:
   StdMeshers_QuadraticMesh(int hypId, int studyId, SMESH_Gen * gen);
diff --git a/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx b/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx
new file mode 100644 (file)
index 0000000..4564000
--- /dev/null
@@ -0,0 +1,372 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_RadialPrism_3D.cxx
+// Module    : SMESH
+// Created   : Fri Oct 20 11:37:07 2006
+// Author    : Edward AGAPOV (eap)
+
+
+#include "StdMeshers_RadialPrism_3D.hxx"
+
+#include "StdMeshers_ProjectionUtils.hxx"
+#include "StdMeshers_NumberOfLayers.hxx"
+#include "StdMeshers_LayerDistribution.hxx"
+#include "StdMeshers_Prism_3D.hxx"
+#include "StdMeshers_Regular_1D.hxx"
+
+#include "SMDS_MeshNode.hxx"
+#include "SMESHDS_SubMesh.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_Mesh.hxx"
+#include "SMESH_MeshEditor.hxx"
+#include "SMESH_MesherHelper.hxx"
+#include "SMESH_subMesh.hxx"
+
+#include "utilities.h"
+
+#include <TopoDS_Solid.hxx>
+#include <TopoDS_Shell.hxx>
+#include <BRepTools.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+#include <BRepBuilderAPI_MakeEdge.hxx>
+#include <gp.hxx>
+#include <gp_Pnt.hxx>
+
+
+using namespace std;
+
+#define RETURN_BAD_RESULT(msg) { MESSAGE(msg); return false; }
+#define gpXYZ(n) gp_XYZ(n->X(),n->Y(),n->Z())
+
+typedef StdMeshers_ProjectionUtils TAssocTool;
+
+//=======================================================================
+//function : StdMeshers_RadialPrism_3D
+//purpose  : 
+//=======================================================================
+
+StdMeshers_RadialPrism_3D::StdMeshers_RadialPrism_3D(int hypId, int studyId, SMESH_Gen* gen)
+  :SMESH_3D_Algo(hypId, studyId, gen)
+{
+  _name = "RadialPrism_3D";
+  _shapeType = (1 << TopAbs_SOLID);    // 1 bit per shape type
+
+  _compatibleHypothesis.push_back("LayerDistribution");
+  _compatibleHypothesis.push_back("NumberOfLayers");
+  myNbLayerHypo = 0;
+  myDistributionHypo = 0;
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshers_RadialPrism_3D::~StdMeshers_RadialPrism_3D()
+{}
+
+//=======================================================================
+//function : CheckHypothesis
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_RadialPrism_3D::CheckHypothesis(SMESH_Mesh&                          aMesh,
+                                                const TopoDS_Shape&                  aShape,
+                                                SMESH_Hypothesis::Hypothesis_Status& aStatus)
+{
+  // check aShape that must have 2 shells
+  if ( TAssocTool::Count( aShape, TopAbs_SOLID, 0 ) != 1 ||
+       TAssocTool::Count( aShape, TopAbs_SHELL, 0 ) != 2 )
+  {
+    aStatus = HYP_BAD_GEOMETRY;
+    return false;
+  }
+
+  myNbLayerHypo = 0;
+  myDistributionHypo = 0;
+
+  list <const SMESHDS_Hypothesis * >::const_iterator itl;
+
+  const list <const SMESHDS_Hypothesis * >&hyps = GetUsedHypothesis(aMesh, aShape);
+  if ( hyps.size() == 0 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_MISSING;
+    return false;  // can't work with no hypothesis
+  }
+
+  if ( hyps.size() > 1 )
+  {
+    aStatus = SMESH_Hypothesis::HYP_ALREADY_EXIST;
+    return false;
+  }
+
+  const SMESHDS_Hypothesis *theHyp = hyps.front();
+
+  string hypName = theHyp->GetName();
+
+  if (hypName == "NumberOfLayers")
+  {
+    myNbLayerHypo = static_cast<const StdMeshers_NumberOfLayers *>(theHyp);
+    aStatus = SMESH_Hypothesis::HYP_OK;
+    return true;
+  }
+  if (hypName == "LayerDistribution")
+  {
+    myDistributionHypo = static_cast<const StdMeshers_LayerDistribution *>(theHyp);
+    aStatus = SMESH_Hypothesis::HYP_OK;
+    return true;
+  }
+  aStatus = SMESH_Hypothesis::HYP_INCOMPATIBLE;
+  return true;
+}
+
+//=======================================================================
+//function : Compute
+//purpose  : 
+//=======================================================================
+
+bool StdMeshers_RadialPrism_3D::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape)
+{
+  TopExp_Explorer exp;
+  SMESHDS_Mesh * meshDS = aMesh.GetMeshDS();
+
+  myHelper = new SMESH_MesherHelper( aMesh );
+  myHelper->IsQuadraticSubMesh( aShape );
+  // to delete helper at exit from Compute()
+  std::auto_ptr<SMESH_MesherHelper> helperDeleter( myHelper );
+
+  // get 2 shells 
+  TopoDS_Solid solid = TopoDS::Solid( aShape );
+  TopoDS_Shell outerShell = BRepTools::OuterShell( solid );
+  TopoDS_Shape innerShell;
+  int nbShells = 0;
+  for ( TopoDS_Iterator It (solid); It.More(); It.Next(), ++nbShells )
+    if ( !outerShell.IsSame( It.Value() ))
+      innerShell = It.Value();
+  if ( nbShells != 2 )
+    RETURN_BAD_RESULT("Must be 2 shells");
+
+  // ----------------------------------
+  // Associate subshapes of the shells
+  // ----------------------------------
+
+  TAssocTool::TShapeShapeMap shape2ShapeMap;
+  if ( !TAssocTool::FindSubShapeAssociation( outerShell, &aMesh,
+                                             innerShell, &aMesh,
+                                             shape2ShapeMap) )
+    RETURN_BAD_RESULT("FindSubShapeAssociation failed");
+
+  // ------------------
+  // Make mesh
+  // ------------------
+
+  TNode2ColumnMap node2columnMap;
+  myLayerPositions.clear();
+
+  for ( exp.Init( outerShell, TopAbs_FACE ); exp.More(); exp.Next() )
+  {
+    // Corresponding subshapes
+    TopoDS_Face outFace = TopoDS::Face( exp.Current() );
+    TopoDS_Face inFace;
+    if ( !shape2ShapeMap.IsBound( outFace )) {
+      RETURN_BAD_RESULT("Association not found for face " << meshDS->ShapeToIndex( outFace ));
+    } else {
+      inFace = TopoDS::Face( shape2ShapeMap( outFace ));
+    }
+
+    // Find matching nodes of in and out faces
+    TNodeNodeMap nodeIn2OutMap;
+    if ( ! TAssocTool::FindMatchingNodesOnFaces( inFace, &aMesh, outFace, &aMesh,
+                                                 shape2ShapeMap, nodeIn2OutMap ))
+      RETURN_BAD_RESULT("Different mesh on corresponding out and in faces: "
+                        << meshDS->ShapeToIndex( outFace ) << " and "
+                        << meshDS->ShapeToIndex( inFace ));
+    // Create volumes
+
+    SMDS_ElemIteratorPtr faceIt = meshDS->MeshElements( inFace )->GetElements();
+    while ( faceIt->more() ) // loop on faces on inFace
+    {
+      const SMDS_MeshElement* face = faceIt->next();
+      if ( !face || face->GetType() != SMDSAbs_Face )
+        continue;
+      int nbNodes = face->NbNodes();
+      if ( face->IsQuadratic() )
+        nbNodes /= 2;
+
+      // find node columns for each node
+      vector< const TNodeColumn* > columns( nbNodes );
+      for ( int i = 0; i < nbNodes; ++i )
+      {
+        const SMDS_MeshNode* n = face->GetNode( i );
+        TNode2ColumnMap::iterator n_col = node2columnMap.find( n );
+        if ( n_col != node2columnMap.end() )
+          columns[ i ] = & n_col->second;
+        else
+          columns[ i ] = makeNodeColumn( node2columnMap, n, nodeIn2OutMap[ n ] );
+      }
+
+      StdMeshers_Prism_3D::AddPrisms( columns, myHelper );
+    }
+  } // loop on faces of out shell
+
+  return true;
+}
+
+//================================================================================
+/*!
+ * \brief Create a column of nodes from outNode to inNode
+  * \param n2ColMap - map of node columns to add a created column
+  * \param outNode - botton node of a column
+  * \param inNode - top node of a column
+  * \retval const TNodeColumn* - a new column pointer
+ */
+//================================================================================
+
+TNodeColumn* StdMeshers_RadialPrism_3D::makeNodeColumn( TNode2ColumnMap&     n2ColMap,
+                                                        const SMDS_MeshNode* outNode,
+                                                        const SMDS_MeshNode* inNode)
+{
+  SMESHDS_Mesh * meshDS = myHelper->GetMeshDS();
+  int shapeID = myHelper->GetSubShapeID();
+
+  if ( myLayerPositions.empty() )
+    computeLayerPositions( gpXYZ( inNode ), gpXYZ( outNode ));
+
+  int nbSegments = myLayerPositions.size() + 1;
+
+  TNode2ColumnMap::iterator n_col =
+    n2ColMap.insert( make_pair( outNode, TNodeColumn() )).first;
+  TNodeColumn & column = n_col->second;
+  column.resize( nbSegments + 1 );
+  column.front() = outNode;
+  column.back() =  inNode;
+
+  gp_XYZ p1 = gpXYZ( outNode );
+  gp_XYZ p2 = gpXYZ( inNode );
+  for ( int z = 1; z < nbSegments; ++z )
+  {
+    double r = myLayerPositions[ z - 1 ];
+    gp_XYZ p = ( 1 - r ) * p1 + r * p2;
+    SMDS_MeshNode* n = meshDS->AddNode( p.X(), p.Y(), p.Z() );
+    meshDS->SetNodeInVolume( n, shapeID );
+    column[ z ] = n;
+  }
+
+  return & column;
+}
+
+//================================================================================
+//================================================================================
+/*!
+ * \brief Class computing layers distribution using data of
+ *        StdMeshers_LayerDistribution hypothesis
+ */
+//================================================================================
+//================================================================================
+
+class TNodeDistributor: private StdMeshers_Regular_1D
+{
+  list <const SMESHDS_Hypothesis *> myUsedHyps;
+public:
+  // -----------------------------------------------------------------------------
+  static TNodeDistributor* GetDistributor(SMESH_Mesh& aMesh)
+  {
+    const int myID = -1000;
+    map < int, SMESH_1D_Algo * > & algoMap = aMesh.GetGen()->_map1D_Algo;
+    map < int, SMESH_1D_Algo * >::iterator id_algo = algoMap.find( myID );
+    if ( id_algo == algoMap.end() )
+      return new TNodeDistributor( myID, 0, aMesh.GetGen() );
+    return static_cast< TNodeDistributor* >( id_algo->second );
+  }
+  // -----------------------------------------------------------------------------
+  bool Compute( vector< double > &                  positions,
+                gp_Pnt                              pIn,
+                gp_Pnt                              pOut,
+                SMESH_Mesh&                         aMesh,
+                const StdMeshers_LayerDistribution* hyp)
+  {
+    double len = pIn.Distance( pOut );
+    if ( len <= DBL_MIN ) RETURN_BAD_RESULT("Bad points");
+
+    if ( !hyp || !hyp->GetLayerDistribution() )
+      RETURN_BAD_RESULT("Bad StdMeshers_LayerDistribution hypothesis");
+    myUsedHyps.clear();
+    myUsedHyps.push_back( hyp->GetLayerDistribution() );
+
+    TopoDS_Edge edge = BRepBuilderAPI_MakeEdge( pIn, pOut );
+
+    SMESH_Hypothesis::Hypothesis_Status aStatus;
+    if ( !StdMeshers_Regular_1D::CheckHypothesis( aMesh, edge, aStatus ))
+      RETURN_BAD_RESULT("StdMeshers_Regular_1D::CheckHypothesis() failed with status "<<aStatus);
+
+    list< double > params;
+    if ( !StdMeshers_Regular_1D::computeInternalParameters( edge, params, false ))
+      RETURN_BAD_RESULT("StdMeshers_Regular_1D::computeInternalParameters() failed");
+
+    positions.clear();
+    positions.reserve( params.size() );
+    for (list<double>::iterator itU = params.begin(); itU != params.end(); itU++)
+      positions.push_back( *itU / len );
+    return true;
+  }
+protected:
+  // -----------------------------------------------------------------------------
+  TNodeDistributor( int hypId, int studyId, SMESH_Gen* gen)
+    : StdMeshers_Regular_1D( hypId, studyId, gen)
+  {
+  }
+  // -----------------------------------------------------------------------------
+  virtual const list <const SMESHDS_Hypothesis *> &
+    GetUsedHypothesis(SMESH_Mesh &, const TopoDS_Shape &, const bool)
+  {
+    return myUsedHyps;
+  }
+  // -----------------------------------------------------------------------------
+};
+
+//================================================================================
+/*!
+ * \brief Compute positions of nodes between the internal and the external surfaces
+  * \retval bool - is a success
+ */
+//================================================================================
+
+bool StdMeshers_RadialPrism_3D::computeLayerPositions(gp_Pnt pIn, gp_Pnt pOut)
+{
+  if ( myNbLayerHypo )
+  {
+    int nbSegments = myNbLayerHypo->GetNumberOfLayers();
+    myLayerPositions.resize( nbSegments - 1 );
+    for ( int z = 1; z < nbSegments; ++z )
+      myLayerPositions[ z - 1 ] = double( z )/ double( nbSegments );
+    return true;
+  }
+  if ( myDistributionHypo ) {
+    SMESH_Mesh * mesh = myHelper->GetMesh();
+    return TNodeDistributor::GetDistributor(*mesh)->Compute( myLayerPositions, pIn, pOut,
+                                                             *mesh, myDistributionHypo );
+  }
+  RETURN_BAD_RESULT("Bad hypothesis");  
+}
diff --git a/src/StdMeshers/StdMeshers_RadialPrism_3D.hxx b/src/StdMeshers/StdMeshers_RadialPrism_3D.hxx
new file mode 100644 (file)
index 0000000..1fb6e8f
--- /dev/null
@@ -0,0 +1,72 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_RadialPrism_3D.hxx
+//  Module : SMESH
+
+#ifndef _SMESH_RadialPrism_3D_HXX_
+#define _SMESH_RadialPrism_3D_HXX_
+
+#include "SMESH_StdMeshers.hxx"
+
+#include "SMESH_3D_Algo.hxx"
+#include "SMDS_MeshNode.hxx"
+
+#include <vector>
+#include <map>
+
+class StdMeshers_NumberOfLayers;
+class StdMeshers_LayerDistribution;
+class SMESH_MesherHelper;
+
+class STDMESHERS_EXPORT StdMeshers_RadialPrism_3D: public SMESH_3D_Algo
+{
+public:
+  StdMeshers_RadialPrism_3D(int hypId, int studyId, SMESH_Gen* gen);
+  virtual ~StdMeshers_RadialPrism_3D();
+
+  virtual bool CheckHypothesis(SMESH_Mesh&                          aMesh,
+                               const TopoDS_Shape&                  aShape,
+                               SMESH_Hypothesis::Hypothesis_Status& aStatus);
+
+  virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape);
+
+protected:
+
+  typedef vector<const SMDS_MeshNode* >            TNodeColumn;
+  typedef map< const SMDS_MeshNode*, TNodeColumn > TNode2ColumnMap;
+
+  TNodeColumn* makeNodeColumn( TNode2ColumnMap&     n2ColMap,
+                               const SMDS_MeshNode* outNode,
+                               const SMDS_MeshNode* inNode);
+
+  bool computeLayerPositions(gp_Pnt pIn, gp_Pnt pOut);
+
+
+  const StdMeshers_NumberOfLayers*    myNbLayerHypo;
+  const StdMeshers_LayerDistribution* myDistributionHypo;
+  SMESH_MesherHelper*                 myHelper;
+  vector< double >                    myLayerPositions;
+};
+
+#endif
index d933aebbfd6e1c967fe7bc5c9a6c1af29b5445cc..e7f45cd66da0320742cbcc35e7ccf273d7d32eda 100644 (file)
@@ -27,8 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-
 #include "StdMeshers_Regular_1D.hxx"
 #include "StdMeshers_Distribution.hxx"
 
index b820df11b64420253feb7410d05a131d15d3ffc6..c8a856d0b2b287550f33c885579de43514af0030 100644 (file)
 #ifndef _SMESH_REGULAR_1D_HXX_
 #define _SMESH_REGULAR_1D_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_1D_Algo.hxx"
 
 class TopoDS_Edge;
 
-class StdMeshers_Regular_1D:
+class STDMESHERS_EXPORT StdMeshers_Regular_1D:
   public SMESH_1D_Algo
 {
 public:
index ea83724bcad6982ab60ad6a0582519313f2ad1bb..c680b980279c74f7907596a460be2a76ef08ebeb 100644 (file)
 #ifndef _STDMESHERS_STARTENDLENGTH_HXX_
 #define _STDMESHERS_STARTENDLENGTH_HXX_
 
+#include "SMESH_StdMeshers.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 #include "Utils_SALOME_Exception.hxx"
 
-class StdMeshers_StartEndLength:public SMESH_Hypothesis
+class STDMESHERS_EXPORT StdMeshers_StartEndLength:public SMESH_Hypothesis
 {
  public:
   StdMeshers_StartEndLength(int hypId, int studyId, SMESH_Gen * gen);
index 5d7689351db037e037b905bee0f3cd699072625f..d84f17c24edad6f0c2f55e583ad03ddeed1f2369 100644 (file)
@@ -44,13 +44,17 @@ LIB_SRC = \
        StdMeshersGUI_StdHypothesisCreator.cxx \
        StdMeshersGUI_DistrPreview.cxx \
        StdMeshersGUI_DistrTable.cxx \
-       StdMeshersGUI_NbSegmentsCreator.cxx
+       StdMeshersGUI_NbSegmentsCreator.cxx \
+       StdMeshersGUI_ObjectReferenceParamWdg.cxx \
+       StdMeshersGUI_LayerDistributionParamWdg.cxx
 
 LIB_MOC = \
        StdMeshersGUI_StdHypothesisCreator.h \
        StdMeshersGUI_DistrPreview.h \
        StdMeshersGUI_DistrTable.h \
-       StdMeshersGUI_NbSegmentsCreator.h
+       StdMeshersGUI_NbSegmentsCreator.h \
+       StdMeshersGUI_ObjectReferenceParamWdg.h \
+       StdMeshersGUI_LayerDistributionParamWdg.h
 
 EXPORT_HEADERS = StdMeshersGUI_StdHypothesisCreator.h
 
diff --git a/src/StdMeshersGUI/SMESH_StdMeshersGUI.hxx b/src/StdMeshersGUI/SMESH_StdMeshersGUI.hxx
new file mode 100755 (executable)
index 0000000..67b4638
--- /dev/null
@@ -0,0 +1,40 @@
+//  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_StdMeshersGUI.hxx
+//  Author : Alexander BORODIN
+//  Module : SMESH
+//  $Header: 
+
+#ifndef _SMESH_StdMeshersGUI_HXX_
+#define _SMESH_StdMeshersGUI_HXX_
+
+#ifdef WNT
+ #if defined STDMESHERSGUI_EXPORTS
+  #define STDMESHERSGUI_EXPORT __declspec( dllexport )
+ #else
+  #define STDMESHERSGUI_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define STDMESHERSGUI_EXPORT
+#endif
+
+#endif
\ No newline at end of file
index 8de790658e36ad4ca959da3c34540f9f0546bc7f..589a487df4a192149497a421079aa0fbc1871aea 100644 (file)
@@ -28,6 +28,7 @@
 #include "StdMeshersGUI_StdHypothesisCreator.h"
 #include "StdMeshersGUI_NbSegmentsCreator.h"
 
+
 //=============================================================================
 /*! GetHypothesisCreator
  *
@@ -35,6 +36,7 @@
 //=============================================================================
 extern "C"
 {
+ STDMESHERSGUI_EXPORT
   SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
   {
     if( aHypType=="NumberOfSegments" )
index b1401ba862a572ba4a223ce49f4317f480d37ec4..ef230ccb38a5b96303933cf943effd8066bb4da9 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef STD_MESHERS_GUI_DISTR_PREVIEW_HEADER
 #define STD_MESHERS_GUI_DISTR_PREVIEW_HEADER
 
+#include "SMESH_StdMeshersGUI.hxx"
+
 #include <qwt_plot.h>
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -29,7 +31,7 @@
 #include <Expr_Array1OfNamedUnknown.hxx>
 #include <TColStd_Array1OfReal.hxx>
 
-class StdMeshersGUI_DistrPreview : public QwtPlot
+class STDMESHERSGUI_EXPORT StdMeshersGUI_DistrPreview : public QwtPlot
 {
   Q_OBJECT
 
index 39cb7448f2b93190e6cf6e43cc8945bb9ea67cab..a61db1577c21db6852c54604bfca4352971a8bff 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef StdMesherGUI_DistrTable_Header
 #define StdMesherGUI_DistrTable_Header
 
+#include "SMESH_StdMeshersGUI.hxx"
+
 #include <qtable.h>
 
 #include <SALOMEconfig.h>
@@ -45,7 +47,7 @@ typedef enum { INSERT_ROW, REMOVE_ROW } TableButton;
  *  \brief This class represents custom table. It has only double values and
     editor for every cell has validator
  */
-class StdMeshersGUI_DistrTable : public QTable
+class STDMESHERSGUI_EXPORT StdMeshersGUI_DistrTable : public QTable
 {
   Q_OBJECT
   
@@ -86,7 +88,7 @@ private:
 /*!
  *  \brief This class represents frame for table and buttons
  */
-class StdMeshersGUI_DistrTableFrame : public QFrame
+class STDMESHERSGUI_EXPORT StdMeshersGUI_DistrTableFrame : public QFrame
 {
   Q_OBJECT
 
diff --git a/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx b/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.cxx
new file mode 100644 (file)
index 0000000..7537e62
--- /dev/null
@@ -0,0 +1,213 @@
+//  SMESH StdMeshersGUI
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshersGUI_LayerDistributionParamWdg.cxx
+//  Module : SMESH
+
+#include "StdMeshersGUI_LayerDistributionParamWdg.h"
+
+#include <qpushbutton.h>
+#include <qcursor.h>
+#include <qpopupmenu.h>
+#include <qdialog.h>
+
+#include "SMESHGUI.h"
+#include "SMESHGUI_Utils.h"
+#include "SMESHGUI_HypothesesUtils.h"
+#include "SMESHGUI_Hypotheses.h"
+// #include "SUIT_ResourceMgr.h"
+// #include "LightApp_SelectionMgr.h"
+#include "SALOMEDSClient_SObject.hxx"
+#include "SALOMEDS_Study.hxx"
+#include "SalomeApp_Tools.h"
+
+//================================================================================
+/*!
+ * \brief Constructor initialized by filter
+  * \param f - object filter
+ */
+//================================================================================
+
+StdMeshersGUI_LayerDistributionParamWdg::StdMeshersGUI_LayerDistributionParamWdg
+( SMESH::SMESH_Hypothesis_ptr hyp,
+  QDialog*                    dlg ): QHGroupBox(), myDlg( dlg )
+{
+  init();
+  set( hyp );
+//   if ( IsOk() )
+//     onEdit();
+}
+
+//================================================================================
+/*!
+ * \brief initialize fields with hypothesis
+  * \param hyp - hypothesis
+ */
+//================================================================================
+
+void StdMeshersGUI_LayerDistributionParamWdg::set(SMESH::SMESH_Hypothesis_ptr hyp)
+{
+  myHyp = SMESH::SMESH_Hypothesis::_nil();
+  if ( !CORBA::is_nil( hyp )) {
+    myHyp = SMESH::SMESH_Hypothesis::_duplicate( hyp );
+    myEditButton->setEnabled( true );
+    myCreateButton->setText( tr("CHANGE_TYPE"));
+    myParamValue = hyp->GetName();
+  }
+  else {
+    myEditButton->setEnabled( false );
+    myCreateButton->setText( tr("CREATE"));
+    myParamValue = "";
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshersGUI_LayerDistributionParamWdg::~StdMeshersGUI_LayerDistributionParamWdg()
+{
+  if ( myHypTypePopup )
+    delete myHypTypePopup;
+}
+
+//================================================================================
+/*!
+ * \brief Create a leayout, initialize fields
+ */
+//================================================================================
+
+void StdMeshersGUI_LayerDistributionParamWdg::init()
+{
+  setFrameStyle(QFrame::NoFrame);
+  setInsideMargin(0);
+
+  mySMESHGUI = SMESHGUI::GetSMESHGUI();
+
+  myCreateButton = new QPushButton( this, "createBut");
+  myEditButton   = new QPushButton( tr("EDIT"), this, "createBut");
+
+//   SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
+//   QPixmap iconSlct ( mgr->loadPixmap("SMESH", tr("ICON_SELECT")));
+//   mySelButton->setPixmap(iconSlct);
+//   mySelButton->setToggleButton( true );
+
+  myHypTypePopup = new QPopupMenu();
+
+  // Add to pop-up hypotheses of "Regular_1D" algo
+  myHypTypePopup->clear();
+  HypothesisData* algoData = SMESH::GetHypothesisData( "Regular_1D" );
+  myHypTypes = SMESH::GetAvailableHypotheses( false, 0 );
+  QStringList::const_iterator anIter = myHypTypes.begin();
+  for ( ; anIter != myHypTypes.end(); ++anIter )
+  {
+    HypothesisData* hypData = SMESH::GetHypothesisData( *anIter );
+    bool bidon;
+    if ( SMESH::IsAvailableHypothesis( algoData, hypData->TypeName, bidon ))
+      myHypTypePopup->insertItem( hypData->Label );
+  }
+
+  connect( myCreateButton, SIGNAL(clicked()), SLOT(onCreate()));
+  connect( myEditButton,   SIGNAL(clicked()), SLOT(onEdit()));
+  connect( myHypTypePopup, SIGNAL( activated( int ) ), SLOT( onHypTypePopup( int ) ) );
+}
+
+//================================================================================
+/*!
+ * \brief Create a new hyp of selected type
+  * \param int - selected type index
+ */
+//================================================================================
+
+void StdMeshersGUI_LayerDistributionParamWdg::onHypTypePopup( int theIndex )
+{
+  SMESH::SMESH_Gen_var gen = mySMESHGUI->GetSMESHGen();
+
+  // avoid publishing a new 1D hyp
+  gen->SetCurrentStudy( SALOMEDS::Study::_nil() );
+
+  // create a hyp
+  HypothesisData* aHypData = 0;
+  QStringList::const_iterator anIter = myHypTypes.begin();
+  for ( ; !aHypData && anIter != myHypTypes.end(); ++anIter )
+  {
+    HypothesisData* hypData = SMESH::GetHypothesisData( *anIter );
+    if ( myHypTypePopup->text( theIndex ) == hypData->Label )
+      aHypData = hypData;
+  }
+  QString aServLib = aHypData->ServerLibName;
+  QString aHypType = aHypData->TypeName;
+  try {
+    set( gen->CreateHypothesis(aHypType, aServLib));
+  }
+  catch (const SALOME::SALOME_Exception & S_ex) {
+    SalomeApp_Tools::QtCatchCorbaException(S_ex);
+  }
+
+  // restore current study
+  mySMESHGUI->GetSMESHGen();
+
+  onEdit();
+}
+
+//================================================================================
+/*!
+ * \brief Show popup with available types
+ */
+//================================================================================
+
+void StdMeshersGUI_LayerDistributionParamWdg::onCreate()
+{
+  myHypTypePopup->exec( QCursor::pos() );
+}
+
+//================================================================================
+/*!
+ * \brief Edit hypothesis
+ */
+//================================================================================
+
+void StdMeshersGUI_LayerDistributionParamWdg::onEdit()
+{
+  if ( myHyp->_is_nil() )
+    return;
+
+  CORBA::String_var hypType = myHyp->GetName();
+  SMESHGUI_GenericHypothesisCreator*
+    editor = SMESH::GetHypothesisCreator( hypType.in() );
+  if ( !editor ) return;
+
+  if ( myDlg ) myDlg->hide();
+
+  try {
+    QWidget* parent = this;
+    if ( myDlg ) parent = myDlg->parentWidget();
+    editor->edit( myHyp, parent );
+  }
+  catch(...) {
+  }
+
+  if ( myDlg ) myDlg->show();
+}
diff --git a/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.h b/src/StdMeshersGUI/StdMeshersGUI_LayerDistributionParamWdg.h
new file mode 100644 (file)
index 0000000..cc8d7d8
--- /dev/null
@@ -0,0 +1,85 @@
+//  SMESH StdMeshersGUI
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshersGUI_LayerDistributionParamWdg.h
+//  Module : SMESH
+//  $Header$
+
+#ifndef StdMeshersGUI_LayerDistributionParamWdg_Header
+#define StdMeshersGUI_LayerDistributionParamWdg_Header
+
+#include "SMESH_StdMeshersGUI.hxx"
+
+#include <qhgroupbox.h>
+#include <qstringlist.h>
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_Hypothesis)
+
+class SMESHGUI;
+class QPushButton;
+class QPopupMenu;
+class QDialog;
+
+/*!
+ *  \brief Widget controlling hypothesis parameter that is another hypothesis
+ */
+class STDMESHERSGUI_EXPORT StdMeshersGUI_LayerDistributionParamWdg : public QHGroupBox
+{
+  Q_OBJECT
+
+public:
+  StdMeshersGUI_LayerDistributionParamWdg(SMESH::SMESH_Hypothesis_ptr hyp,
+                                          QDialog*                    dlg);
+  ~StdMeshersGUI_LayerDistributionParamWdg();
+
+  SMESH::SMESH_Hypothesis_var GetHypothesis() { return myHyp; }
+
+  QString GetValue() const { return myParamValue; }
+
+  bool IsOk() const { return !myHyp->_is_nil(); }
+
+private slots:
+  void onCreate(); 
+  void onEdit(); 
+  void onHypTypePopup( int );
+
+private:
+  void init();
+  void set(SMESH::SMESH_Hypothesis_ptr hyp);
+  
+private:
+ SMESH::SMESH_Hypothesis_var myHyp;
+ SMESHGUI*                   mySMESHGUI;
+
+ QPushButton*           myCreateButton;
+ QPushButton*           myEditButton;
+ QPopupMenu*            myHypTypePopup;
+ QDialog*               myDlg;
+ QString                myParamValue;
+
+ QStringList            myHypTypes;
+};
+
+#endif
+
index f1ec2298c7b6e996b9583ff420f8a311c3005c7b..7002e032e4da7b5ce37f80abc42feee81e4cc758 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef NB_SEGMENTS_CREATOR_HEADER
 #define NB_SEGMENTS_CREATOR_HEADER
 
+#include "SMESH_StdMeshersGUI.hxx"
+
 #include "StdMeshersGUI_StdHypothesisCreator.h"
 
 #include <SALOMEconfig.h>
@@ -45,7 +47,7 @@ typedef struct
 
 } NbSegmentsHypothesisData;
 
-class StdMeshersGUI_NbSegmentsCreator : public StdMeshersGUI_StdHypothesisCreator
+class STDMESHERSGUI_EXPORT StdMeshersGUI_NbSegmentsCreator : public StdMeshersGUI_StdHypothesisCreator
 {
   Q_OBJECT
 
diff --git a/src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.cxx b/src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.cxx
new file mode 100644 (file)
index 0000000..85ec4d6
--- /dev/null
@@ -0,0 +1,206 @@
+//  SMESH StdMeshersGUI
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshersGUI_ObjectReferenceParamWdg.cxx
+//  Module : SMESH
+
+#include "StdMeshersGUI_ObjectReferenceParamWdg.h"
+
+#include <qpushbutton.h>
+#include <qlineedit.h>
+#include <qvariant.h>
+
+#include "SMESHGUI.h"
+#include "SMESHGUI_Utils.h"
+#include "SMESHGUI_VTKUtils.h"
+#include "SMESH_TypeFilter.hxx"
+#include "SUIT_ResourceMgr.h"
+#include "LightApp_SelectionMgr.h"
+#include "SVTK_ViewWindow.h"
+#include "SALOME_ListIO.hxx"
+#include "SALOMEDSClient_SObject.hxx"
+
+//================================================================================
+/*!
+ * \brief Constructor initialized by filter
+  * \param f - object filter
+ */
+//================================================================================
+
+StdMeshersGUI_ObjectReferenceParamWdg::StdMeshersGUI_ObjectReferenceParamWdg
+( SUIT_SelectionFilter* f, QWidget* parent)
+  : QHGroupBox( parent )
+{
+  myFilter = f;
+  init();
+}
+
+//================================================================================
+/*!
+ * \brief Constructor initialized by object type
+  * \param MeshObjectType - type of object to select
+ */
+//================================================================================
+
+StdMeshersGUI_ObjectReferenceParamWdg::StdMeshersGUI_ObjectReferenceParamWdg
+( MeshObjectType objType, QWidget* parent )
+  : QHGroupBox( parent )
+{
+  myFilter = new SMESH_TypeFilter( objType );
+  init();
+}
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
+StdMeshersGUI_ObjectReferenceParamWdg::~StdMeshersGUI_ObjectReferenceParamWdg()
+{
+  if ( myFilter )
+    delete myFilter;
+}
+
+
+//================================================================================
+/*!
+ * \brief Create a leayout, initialize fields
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::init()
+{
+  setFrameStyle(QFrame::NoFrame);
+  setInsideMargin(0);
+
+  mySMESHGUI     = SMESHGUI::GetSMESHGUI();
+  mySelectionMgr = SMESH::GetSelectionMgr( mySMESHGUI );
+  mySelectionActivated = false;
+  myParamValue = "";
+
+  SUIT_ResourceMgr* mgr = SMESH::GetResourceMgr( mySMESHGUI );
+  QPixmap iconSlct ( mgr->loadPixmap("SMESH", tr("ICON_SELECT")));
+
+  mySelButton = new QPushButton(this);
+  mySelButton->setPixmap(iconSlct);
+  mySelButton->setToggleButton( true );
+
+  myObjNameLineEdit = new QLineEdit(this);
+  myObjNameLineEdit->setReadOnly(true);
+
+  connect( mySelButton, SIGNAL(clicked()), SLOT(activateSelection()));
+}
+
+//================================================================================
+/*!
+ * \brief SLOT: Installs selection filter that is not done automatically
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::activateSelection()
+{
+  if ( !mySelectionActivated && mySelectionMgr )
+  {
+    mySelectionActivated = true;
+    mySelectionMgr->clearFilters();
+    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
+      aViewWindow->SetSelectionMode(ActorSelection);
+    if ( myFilter )
+      mySelectionMgr->installFilter( myFilter );
+    connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone()));
+  }
+  emit selectionActivated();
+
+  mySelButton->setOn( mySelectionActivated );
+}
+
+//================================================================================
+/*!
+ * \brief SLOT: stop treating selection changes
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::deactivateSelection()
+{
+  mySelectionActivated = false;
+  disconnect(mySelectionMgr, 0, this, 0 );
+  mySelectionMgr->removeFilter( myFilter );
+
+  mySelButton->setOn( mySelectionActivated );
+}
+
+//================================================================================
+/*!
+ * \brief Connect selection slots
+  * \param other - another StdMeshersGUI_ObjectReferenceParamWdg
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::AvoidSimultaneousSelection
+                                   ( StdMeshersGUI_ObjectReferenceParamWdg* other)
+{
+  connect(other, SIGNAL(selectionActivated()), this, SLOT(deactivateSelection()));
+  connect(this, SIGNAL(selectionActivated()), other, SLOT(deactivateSelection()));
+}
+
+//================================================================================
+/*!
+ * \brief Initialize selected object name
+ * \param obj - the current object
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::SetObject(CORBA::Object_ptr obj)
+{
+  myObject = CORBA::Object::_nil();
+  myObjNameLineEdit->setText( "" );
+  myParamValue = "";
+
+  _PTR(SObject) sobj;
+  if ( !CORBA::is_nil( obj ))
+    sobj = SMESH::FindSObject (obj);
+  if ( sobj ) {
+    string name = sobj->GetName();
+    myObjNameLineEdit->setText( name.c_str() );
+    myObject = CORBA::Object::_duplicate( obj );
+    myParamValue = sobj->GetID();
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Takes selected object
+ */
+//================================================================================
+
+void StdMeshersGUI_ObjectReferenceParamWdg::onSelectionDone()
+{
+  if ( mySelectionActivated ) {
+    CORBA::Object_var obj;
+    SALOME_ListIO aList;
+    mySelectionMgr->selectedObjects(aList);
+    if (aList.Extent() == 1)
+      obj = SMESH::IObjectToObject( aList.First() );
+    SetObject( obj.in() );
+  }
+}
diff --git a/src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.h b/src/StdMeshersGUI/StdMeshersGUI_ObjectReferenceParamWdg.h
new file mode 100644 (file)
index 0000000..e2b892f
--- /dev/null
@@ -0,0 +1,111 @@
+//  SMESH StdMeshersGUI
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshersGUI_ObjectReferenceParamWdg.h
+//  Module : SMESH
+//  $Header$
+
+#ifndef StdMeshersGUI_ObjectReferenceParamWdg_Header
+#define StdMeshersGUI_ObjectReferenceParamWdg_Header
+
+#include "SMESH_StdMeshersGUI.hxx"
+
+#include "SMESH_Type.h"
+#include "qhgroupbox.h"
+
+#include <CORBA.h>
+
+class SUIT_SelectionFilter;
+class SMESHGUI;
+class LightApp_SelectionMgr;
+class QLineEdit;
+class QPushButton;
+
+/*!
+ *  \brief Widget controlling hypothesis parameter that is an object reference
+ */
+class STDMESHERSGUI_EXPORT StdMeshersGUI_ObjectReferenceParamWdg : public QHGroupBox
+{
+  Q_OBJECT
+
+public:
+  StdMeshersGUI_ObjectReferenceParamWdg( SUIT_SelectionFilter* filter, 
+                                         QWidget*              parent);
+  StdMeshersGUI_ObjectReferenceParamWdg( MeshObjectType objType,
+                                         QWidget*       parent);
+  ~StdMeshersGUI_ObjectReferenceParamWdg();
+
+  void SetObject(CORBA::Object_ptr obj);
+
+  template<class TInterface> 
+    typename TInterface::_var_type GetObject() const {
+    if ( IsObjectSelected() ) return TInterface::_narrow(myObject);
+    return TInterface::_nil();
+  }
+
+  QString GetValue() const { return myParamValue; }
+
+  bool IsObjectSelected() const { return !CORBA::is_nil(myObject); }
+
+  void AvoidSimultaneousSelection( StdMeshersGUI_ObjectReferenceParamWdg* other);
+
+public slots:
+  /*!
+   * \brief Activates selection (if not yet done), emits selectionActivated()
+    *
+    * Useful to deactivate one Object Reference param widget when an other
+    * one is activated
+   */
+  void activateSelection();
+  void deactivateSelection();
+
+signals:
+  /*!
+   * \brief Emitted when selection is activated
+    *
+    * Useful to deactivate one Object Reference param widget when an other
+    * one is activated
+   */
+  void selectionActivated();
+  
+private slots:
+  void onSelectionDone(); 
+
+private:
+  void init();
+  
+private:
+ CORBA::Object_var      myObject;
+ SUIT_SelectionFilter*  myFilter;
+ bool                   mySelectionActivated;
+
+ SMESHGUI*              mySMESHGUI;
+ LightApp_SelectionMgr* mySelectionMgr;
+
+ QLineEdit*             myObjNameLineEdit;
+ QPushButton*           mySelButton;
+ QString                myParamValue;
+};
+
+#endif
+
index e90634cf74bae4ac7df2701785f724710825d5fd..76a946c659e4cfa8422d44fadbbb5692c058ff9d 100644 (file)
 
 #include "StdMeshersGUI_StdHypothesisCreator.h"
 
-#include <SMESHGUI.h>
-#include <SMESHGUI_SpinBox.h>
-#include <SMESHGUI_HypothesesUtils.h>
-#include <SMESHGUI_Utils.h>
+#include "SMESHGUI.h"
+#include "SMESHGUI_SpinBox.h"
+#include "SMESHGUI_HypothesesUtils.h"
+#include "SMESHGUI_Utils.h"
+#include "SMESH_TypeFilter.hxx"
+#include "SMESH_NumberFilter.hxx"
+#include "StdMeshersGUI_ObjectReferenceParamWdg.h"
+#include "StdMeshersGUI_LayerDistributionParamWdg.h"
 
-#include <SUIT_ResourceMgr.h>
+#include "SUIT_ResourceMgr.h"
 
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
@@ -51,30 +55,311 @@ const double VALUE_MAX = 1.0e+15, // COORD_MAX
              VALUE_SMALL_2 = VALUE_SMALL * VALUE_SMALL,
              VALUE_SMALL_3 = VALUE_SMALL_2 * VALUE_SMALL;
 
+//================================================================================
+/*!
+ * \brief Constructor
+  * \param type - hypothesis type
+ */
+//================================================================================
+
 StdMeshersGUI_StdHypothesisCreator::StdMeshersGUI_StdHypothesisCreator( const QString& type )
 : SMESHGUI_GenericHypothesisCreator( type )
 {
 }
 
+//================================================================================
+/*!
+ * \brief Destructor
+ */
+//================================================================================
+
 StdMeshersGUI_StdHypothesisCreator::~StdMeshersGUI_StdHypothesisCreator()
 {
 }
 
+//================================================================================
+/*!
+ * \brief Return widget for i-th hypothesis parameter (got from myParamWidgets)
+  * \param i - index of hypothesis parameter
+  * \retval QWidget* - found widget
+ */
+//================================================================================
+
+QWidget* StdMeshersGUI_StdHypothesisCreator::getWidgetForParam( int i ) const
+{
+  QWidget* w = 0;
+  if ( isCreation() ) ++i; // skip widget of 'name' parameter
+
+  if ( i < myCustomWidgets.count() ) {
+    QPtrList<QWidget>::const_iterator anIt  = myCustomWidgets.begin();
+    QPtrList<QWidget>::const_iterator aLast = myCustomWidgets.end();
+    for ( int j = 0 ; !w && anIt != aLast; ++anIt )
+      if ( i == j )
+        w = *anIt;
+  }
+  if ( !w ) {
+    // list has no at() const, so we iterate
+    QPtrList<QWidget>::const_iterator anIt  = widgets().begin();
+    QPtrList<QWidget>::const_iterator aLast = widgets().end();
+    for( int j = 0; !w && anIt!=aLast; anIt++, ++j ) {
+      if ( i == j )
+        w = *anIt;
+    }
+  }
+  return w;
+}
+
+//================================================================================
+/*!
+ * \brief Allow modifing myCustomWidgets in const methods
+  * \retval ListOfWidgets* - non-const pointer to myCustomWidgets
+ */
+//================================================================================
+
+StdMeshersGUI_StdHypothesisCreator::ListOfWidgets*
+StdMeshersGUI_StdHypothesisCreator::customWidgets() const
+{
+  return const_cast< ListOfWidgets* >( & myCustomWidgets );
+}
+
+//================================================================================
+/*!
+ * \brief Builds dlg layout
+  * \retval QFrame* - the built widget
+ */
+//================================================================================
+
 QFrame* StdMeshersGUI_StdHypothesisCreator::buildFrame()
 {
   return buildStdFrame();
 }
 
-bool StdMeshersGUI_StdHypothesisCreator::checkParams() const
+//================================================================================
+/*!
+ * \brief Initialise parameter values in controls
+ */
+//================================================================================
+
+void StdMeshersGUI_StdHypothesisCreator::retrieveParams() const
 {
-  return true;
+  // buildStdFrame() sets values itself calling stdParams()
+
+  if ( hypType().startsWith("ProjectionSource" ))
+  {
+    // we use this method to connect depending custom widgets
+    StdMeshersGUI_ObjectReferenceParamWdg* widgetToActivate = 0;
+    ListOfWidgets::const_iterator anIt = myCustomWidgets.begin();
+    for ( ; anIt != myCustomWidgets.end(); anIt++)
+    {
+      if ( *anIt && (*anIt)->inherits("StdMeshersGUI_ObjectReferenceParamWdg"))
+      {
+        StdMeshersGUI_ObjectReferenceParamWdg * w1 =
+          ( StdMeshersGUI_ObjectReferenceParamWdg* ) ( *anIt );
+        ListOfWidgets::const_iterator anIt2 = anIt;
+        for ( ++anIt2; anIt2 != myCustomWidgets.end(); anIt2++)
+          if ( *anIt2 && (*anIt2)->inherits("StdMeshersGUI_ObjectReferenceParamWdg"))
+          {
+            StdMeshersGUI_ObjectReferenceParamWdg * w2 =
+              ( StdMeshersGUI_ObjectReferenceParamWdg* ) ( *anIt2 );
+            w1->AvoidSimultaneousSelection( w2 );
+          }
+        if ( !widgetToActivate )
+          widgetToActivate = w1;
+      }
+    }
+    if ( widgetToActivate )
+      widgetToActivate->activateSelection();
+  }
 }
 
-void StdMeshersGUI_StdHypothesisCreator::retrieveParams() const
+//================================================================================
+/*!
+ * \brief Widget: slider with left and right labels
+ */
+//================================================================================
+
+class TDoubleSliderWith2Lables: public QHBox
+{
+public:
+  TDoubleSliderWith2Lables( const QString& leftLabel, const QString& rightLabel,
+                            const double   initValue, const double   bottom,
+                            const double   top      , const double   precision,
+                            QWidget *      parent=0 , const char *   name=0 )
+    :QHBox(parent,name), _bottom(bottom), _precision(precision)
+  {
+    if ( !leftLabel.isEmpty() ) (new QLabel( this ))->setText( leftLabel );
+    _slider = new QSlider( Horizontal, this );
+    _slider->setRange( 0, toInt( top ));
+    _slider->setValue( toInt( initValue ));
+    if ( !rightLabel.isEmpty() ) (new QLabel( this ))->setText( rightLabel );
+  }
+  double value() const { return _bottom + _slider->value() * _precision; }
+  QSlider * getSlider() const { return _slider; }
+  int toInt( double val ) const { return (int) ceil(( val - _bottom ) / _precision ); }
+private:
+  double _bottom, _precision;
+  QSlider * _slider;
+};
+
+namespace {
+
+  //================================================================================
+  /*!
+   * \brief Retrieve GEOM_Object held by widget
+   */
+  //================================================================================
+
+  inline GEOM::GEOM_Object_var geomFromWdg(const QWidget* wdg)
+  {
+    const StdMeshersGUI_ObjectReferenceParamWdg * objRefWdg =
+      dynamic_cast<const StdMeshersGUI_ObjectReferenceParamWdg*>( wdg );
+    if ( objRefWdg )
+      return objRefWdg->GetObject< GEOM::GEOM_Object >();
+
+    return GEOM::GEOM_Object::_nil();
+  }
+  //================================================================================
+  /*!
+   * \brief Retrieve SMESH_Mesh held by widget
+   */
+  //================================================================================
+
+  inline SMESH::SMESH_Mesh_var meshFromWdg(const QWidget* wdg)
+  {
+    const StdMeshersGUI_ObjectReferenceParamWdg * objRefWdg =
+      dynamic_cast<const StdMeshersGUI_ObjectReferenceParamWdg*>( wdg );
+    if ( objRefWdg )
+      return objRefWdg->GetObject< SMESH::SMESH_Mesh >();
+
+    return SMESH::SMESH_Mesh::_nil();
+  }
+  //================================================================================
+  /*!
+   * \brief creates a filter for selection of shapes of given dimension
+    * \param dim - dimension
+    * \param subShapeType - required type of subshapes, number of which must be \a nbSubShapes
+    * \param nbSubShapes - number of subshapes of given type
+    * \param closed - required closeness flag of a shape
+    * \retval SUIT_SelectionFilter* - created filter
+   */
+  //================================================================================
+
+  SUIT_SelectionFilter* filterForShapeOfDim(const int              dim,
+                                            const int              nbSubShapes = 0,
+                                            const TopAbs_ShapeEnum subShapeType = TopAbs_SHAPE,
+                                            const bool             closed = false)
+  {
+    TColStd_MapOfInteger shapeTypes;
+    switch ( dim ) {
+    case 0: shapeTypes.Add( TopAbs_VERTEX ); break;
+    case 1: shapeTypes.Add( TopAbs_EDGE ); break;
+    case 2: shapeTypes.Add( TopAbs_FACE ); break;
+    case 3:
+      shapeTypes.Add( TopAbs_SHELL );
+      shapeTypes.Add( TopAbs_SOLID );
+      shapeTypes.Add( TopAbs_COMPSOLID );
+      shapeTypes.Add( TopAbs_COMPOUND );
+      break;
+    }
+    return new SMESH_NumberFilter("GEOM", subShapeType, nbSubShapes,
+                                  shapeTypes, GEOM::GEOM_Object::_nil(), closed);
+  }
+
+  //================================================================================
+  /*!
+   * \brief Create a widget for object selection
+    * \param object - initial object
+    * \param filter - selection filter
+    * \retval QWidget* - created widget
+   */
+  //================================================================================
+
+  QWidget* newObjRefParamWdg( SUIT_SelectionFilter* filter,
+                              CORBA::Object_var     object)
+  {
+    StdMeshersGUI_ObjectReferenceParamWdg* w =
+      new StdMeshersGUI_ObjectReferenceParamWdg( filter, 0);
+    w->SetObject( object.in() );
+    return w;
+  }
+
+  //================================================================================
+  /*!
+   * \brief calls deactivateSelection() for StdMeshersGUI_ObjectReferenceParamWdg
+    * \param widgetList - list of widgets
+   */
+  //================================================================================
+
+  void deactivateObjRefParamWdg( QPtrList<QWidget>* widgetList )
+  {
+    StdMeshersGUI_ObjectReferenceParamWdg* w = 0;
+    QPtrList<QWidget>::iterator anIt  = widgetList->begin();
+    QPtrList<QWidget>::iterator aLast = widgetList->end();
+    for ( ; anIt != aLast; anIt++ ) {
+      if ( (*anIt) && (*anIt)->inherits( "StdMeshersGUI_ObjectReferenceParamWdg" ))
+      {
+        w = (StdMeshersGUI_ObjectReferenceParamWdg* )( *anIt );
+        w->deactivateSelection();
+      }
+    }
+  }
+}
+
+//================================================================================
+/*!
+ * \brief Check parameter values before accept()
+  * \retval bool - true if OK
+ */
+//================================================================================
+
+bool StdMeshersGUI_StdHypothesisCreator::checkParams() const
 {
-  //here this method must be empty because buildStdParam sets values itself
+  // check if object reference parameter is set, as it has no default value
+  bool ok = true;
+  if ( hypType().startsWith("ProjectionSource" ))
+  {
+    StdMeshersGUI_ObjectReferenceParamWdg* w =
+      widget< StdMeshersGUI_ObjectReferenceParamWdg >( 0 );
+    ok = ( w->IsObjectSelected() );
+    if ( !ok ) w->SetObject( CORBA::Object::_nil() );
+    int nbAssocVert = ( hypType() == "ProjectionSource1D" ? 1 : 2 );
+    for ( int i = 0; ok && i < nbAssocVert; i += 2)
+    {
+      QString srcV, tgtV;
+      StdMeshersGUI_ObjectReferenceParamWdg* w1 =
+        widget< StdMeshersGUI_ObjectReferenceParamWdg >( i+2 );
+      StdMeshersGUI_ObjectReferenceParamWdg* w2 =
+        widget< StdMeshersGUI_ObjectReferenceParamWdg >( i+3 );
+      srcV = w1->GetValue();
+      tgtV = w2->GetValue();
+      ok = (( srcV.isEmpty()  && tgtV.isEmpty() ) ||
+            ( !srcV.isEmpty() && !tgtV.isEmpty() && srcV != tgtV ));
+      if ( !ok ) {
+        w1->SetObject( CORBA::Object::_nil() );
+        w2->SetObject( CORBA::Object::_nil() );
+      }
+    }
+
+    // Uninstall filters of StdMeshersGUI_ObjectReferenceParamWdg
+    if ( ok )
+      deactivateObjRefParamWdg( customWidgets() );
+  }
+  else if ( hypType() == "LayerDistribution" )
+  {
+    StdMeshersGUI_LayerDistributionParamWdg* w = 
+      widget< StdMeshersGUI_LayerDistributionParamWdg >( 0 );
+    ok = ( w && w->IsOk() );
+  }
+  return ok;
 }
 
+//================================================================================
+/*!
+ * \brief Store params from GUI controls to a hypothesis
+  * \retval QString - text representation of parameters
+ */
+//================================================================================
+
 QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
 {
   ListOfStdParams params;
@@ -140,22 +425,89 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
 
       h->SetFineness( params[0].myValue.toDouble() );
     }
+    else if( hypType()=="NumberOfLayers" )
+    {
+      StdMeshers::StdMeshers_NumberOfLayers_var h =
+       StdMeshers::StdMeshers_NumberOfLayers::_narrow( hypothesis() );
+
+      h->SetNumberOfLayers( params[0].myValue.toInt() );
+    }
+    else if( hypType()=="LayerDistribution" )
+    {
+      StdMeshers::StdMeshers_LayerDistribution_var h =
+       StdMeshers::StdMeshers_LayerDistribution::_narrow( hypothesis() );
+      StdMeshersGUI_LayerDistributionParamWdg* w = 
+        widget< StdMeshersGUI_LayerDistributionParamWdg >( 0 );
+
+      h->SetLayerDistribution( w->GetHypothesis() );
+    }
+    else if( hypType()=="ProjectionSource1D" )
+    {
+      StdMeshers::StdMeshers_ProjectionSource1D_var h =
+       StdMeshers::StdMeshers_ProjectionSource1D::_narrow( hypothesis() );
+
+      h->SetSourceEdge       ( geomFromWdg ( getWidgetForParam( 0 )));
+      h->SetSourceMesh       ( meshFromWdg ( getWidgetForParam( 1 )));
+      h->SetVertexAssociation( geomFromWdg ( getWidgetForParam( 2 )),
+                               geomFromWdg ( getWidgetForParam( 3 )));
+    }
+    else if( hypType()=="ProjectionSource2D" )
+    {
+      StdMeshers::StdMeshers_ProjectionSource2D_var h =
+       StdMeshers::StdMeshers_ProjectionSource2D::_narrow( hypothesis() );
+
+      h->SetSourceFace       ( geomFromWdg ( getWidgetForParam( 0 )));
+      h->SetSourceMesh       ( meshFromWdg ( getWidgetForParam( 1 )));
+      h->SetVertexAssociation( geomFromWdg ( getWidgetForParam( 2 )), // src1
+                               geomFromWdg ( getWidgetForParam( 4 )), // src2
+                               geomFromWdg ( getWidgetForParam( 3 )), // tgt1
+                               geomFromWdg ( getWidgetForParam( 5 ))); // tgt2
+    }
+    else if( hypType()=="ProjectionSource3D" )
+    {
+      StdMeshers::StdMeshers_ProjectionSource3D_var h =
+       StdMeshers::StdMeshers_ProjectionSource3D::_narrow( hypothesis() );
+
+      h->SetSource3DShape    ( geomFromWdg ( getWidgetForParam( 0 )));
+      h->SetSourceMesh       ( meshFromWdg ( getWidgetForParam( 1 )));
+      h->SetVertexAssociation( geomFromWdg ( getWidgetForParam( 2 )), // src1
+                               geomFromWdg ( getWidgetForParam( 4 )), // src2
+                               geomFromWdg ( getWidgetForParam( 3 )), // tgt1
+                               geomFromWdg ( getWidgetForParam( 5 ))); // tgt2
+    }
   }
   return valueStr;
 }
 
+//================================================================================
+/*!
+ * \brief Return parameter values as SMESHGUI_GenericHypothesisCreator::StdParam
+  * \param p - list of parameters
+  * \retval bool - success flag
+  *
+  * Is called from SMESHGUI_GenericHypothesisCreator::buildStdFrame().
+  * Parameters will be shown using "standard" controls:
+  *   Int by QtxIntSpinBox
+  *   Double by SMESHGUI_SpinBox
+  *   String by QLineEdit
+  * getCustomWidget() allows to redefine control for a parameter
+ */
+//================================================================================
+
 bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
 {
   bool res = true;
   SMESHGUI_GenericHypothesisCreator::StdParam item;
 
   p.clear();
+  customWidgets()->clear();
   if( isCreation() )
   {
     HypothesisData* data = SMESH::GetHypothesisData( hypType() );
     item.myName = tr( "SMESH_NAME" );
     item.myValue = data ? data->Label : QString();
     p.append( item );
+    customWidgets()->append(0);
   }
 
   SMESH::SMESH_Hypothesis_var hyp = initParamsHypothesis();
@@ -226,14 +578,108 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
       StdMeshers::StdMeshers_AutomaticLength::_narrow( hyp );
 
     item.myName = tr( "SMESH_FINENESS_PARAM" );
-    item.myValue = h->GetFineness();
+    //item.myValue = h->GetFineness();
     p.append( item );
+    customWidgets()->append
+      ( new TDoubleSliderWith2Lables( "0 ", " 1", h->GetFineness(), 0, 1, 0.01, 0 ));
+  }
+  else if( hypType()=="NumberOfLayers" )
+  {
+    StdMeshers::StdMeshers_NumberOfLayers_var h =
+      StdMeshers::StdMeshers_NumberOfLayers::_narrow( hyp );
+
+    item.myName = tr( "SMESH_NUMBER_OF_LAYERS" );
+    item.myValue = (int) h->GetNumberOfLayers();
+    p.append( item );
+  }
+  else if( hypType()=="LayerDistribution" )
+  {
+    StdMeshers::StdMeshers_LayerDistribution_var h =
+      StdMeshers::StdMeshers_LayerDistribution::_narrow( hyp );
+
+    item.myName = tr( "SMESH_LAYERS_DISTRIBUTION" ); p.append( item );
+    customWidgets()->append
+      ( new StdMeshersGUI_LayerDistributionParamWdg( h->GetLayerDistribution(), dlg()));
+  }
+  else if( hypType()=="ProjectionSource1D" )
+  {
+    StdMeshers::StdMeshers_ProjectionSource1D_var h =
+      StdMeshers::StdMeshers_ProjectionSource1D::_narrow( hyp );
+
+    item.myName = tr( "SMESH_SOURCE_EDGE" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 1 ),
+                                               h->GetSourceEdge()));
+    item.myName = tr( "SMESH_SOURCE_MESH" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( new SMESH_TypeFilter( MESH ),
+                                               h->GetSourceMesh()));
+    item.myName = tr( "SMESH_SOURCE_VERTEX" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetSourceVertex()));
+    item.myName = tr( "SMESH_TARGET_VERTEX" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetTargetVertex()));
+  }
+  else if( hypType()=="ProjectionSource2D" )
+  {
+    StdMeshers::StdMeshers_ProjectionSource2D_var h =
+      StdMeshers::StdMeshers_ProjectionSource2D::_narrow( hyp );
+
+    item.myName = tr( "SMESH_SOURCE_FACE" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 2 ),
+                                               h->GetSourceFace()));
+    item.myName = tr( "SMESH_SOURCE_MESH" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( new SMESH_TypeFilter( MESH ),
+                                               h->GetSourceMesh()));
+    item.myName = tr( "SMESH_SOURCE_VERTEX1" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetSourceVertex( 1 )));
+    item.myName = tr( "SMESH_TARGET_VERTEX1" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetTargetVertex( 1 )));
+    item.myName = tr( "SMESH_SOURCE_VERTEX2" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetSourceVertex( 2 )));
+    item.myName = tr( "SMESH_TARGET_VERTEX2" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetTargetVertex( 2 )));
+  }
+  else if( hypType()=="ProjectionSource3D" )
+  {
+    StdMeshers::StdMeshers_ProjectionSource3D_var h =
+      StdMeshers::StdMeshers_ProjectionSource3D::_narrow( hyp );
+
+    item.myName = tr( "SMESH_SOURCE_3DSHAPE" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 3 , 6, TopAbs_FACE, true ),
+                                               h->GetSource3DShape()));
+    item.myName = tr( "SMESH_SOURCE_MESH" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( new SMESH_TypeFilter( MESH ),
+                                               h->GetSourceMesh()));
+    item.myName = tr( "SMESH_SOURCE_VERTEX1" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetSourceVertex( 1 )));
+    item.myName = tr( "SMESH_TARGET_VERTEX1" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetTargetVertex( 1 )));
+    item.myName = tr( "SMESH_SOURCE_VERTEX2" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetSourceVertex( 2 )));
+    item.myName = tr( "SMESH_TARGET_VERTEX2" ); p.append( item );
+    customWidgets()->append( newObjRefParamWdg( filterForShapeOfDim( 0 ),
+                                               h->GetTargetVertex( 2 )));
   }
   else
     res = false;
   return res;
 }
 
+//================================================================================
+/*!
+ * \brief tune "standard" control
+  * \param w - control widget
+  * \param int - parameter index
+ */
+//================================================================================
+
 void StdMeshersGUI_StdHypothesisCreator::attuneStdWidget( QWidget* w, const int ) const
 {
   SMESHGUI_SpinBox* sb = w->inherits( "SMESHGUI_SpinBox" ) ? ( SMESHGUI_SpinBox* )w : 0;
@@ -267,22 +713,52 @@ void StdMeshersGUI_StdHypothesisCreator::attuneStdWidget( QWidget* w, const int
   }
 }
 
+//================================================================================
+/*!
+ * \brief Return dlg title
+  * \retval QString - title string
+ */
+//================================================================================
+
 QString StdMeshersGUI_StdHypothesisCreator::caption() const
 {
   return tr( QString( "SMESH_%1_TITLE" ).arg( hypTypeName( hypType() ) ) );
 }
 
+//================================================================================
+/*!
+ * \brief return pixmap for dlg icon
+  * \retval QPixmap - 
+ */
+//================================================================================
+
 QPixmap StdMeshersGUI_StdHypothesisCreator::icon() const
 {
   QString hypIconName = tr( QString( "ICON_DLG_%1" ).arg( hypTypeName( hypType() ) ) );
   return SMESHGUI::resourceMgr()->loadPixmap( "SMESH", hypIconName );
 }
 
+//================================================================================
+/*!
+ * \brief Return hypothesis type name to show in dlg
+  * \retval QString - 
+ */
+//================================================================================
+
 QString StdMeshersGUI_StdHypothesisCreator::type() const
 {
   return tr( QString( "SMESH_%1_HYPOTHESIS" ).arg( hypTypeName( hypType() ) ) );
 }
 
+//================================================================================
+/*!
+ * \brief String to insert in "SMESH_%1_HYPOTHESIS" to get hypothesis type name
+ * from message resouce file
+  * \param t - hypothesis type
+  * \retval QString - result string
+ */
+//================================================================================
+
 QString StdMeshersGUI_StdHypothesisCreator::hypTypeName( const QString& t ) const
 {
   static QMap<QString,QString>  types;
@@ -296,6 +772,11 @@ QString StdMeshersGUI_StdHypothesisCreator::hypTypeName( const QString& t ) cons
     types.insert( "Deflection1D", "DEFLECTION1D" );
     types.insert( "Arithmetic1D", "ARITHMETIC_1D" );
     types.insert( "AutomaticLength", "AUTOMATIC_LENGTH" );
+    types.insert( "ProjectionSource1D", "PROJECTION_SOURCE_1D" );
+    types.insert( "ProjectionSource2D", "PROJECTION_SOURCE_2D" );
+    types.insert( "ProjectionSource3D", "PROJECTION_SOURCE_3D" );
+    types.insert( "NumberOfLayers", "NUMBER_OF_LAYERS" );
+    types.insert( "LayerDistribution", "LAYER_DISTRIBUTION" );
   }
 
   QString res;
@@ -305,54 +786,35 @@ QString StdMeshersGUI_StdHypothesisCreator::hypTypeName( const QString& t ) cons
   return res;
 }
 
-//================================================================================
-/*!
- * \brief Widget: slider with left and right labels
- */
-//================================================================================
-
-class TDoubleSliderWith2Lables: public QHBox
-{
-public:
-  TDoubleSliderWith2Lables( const QString& leftLabel, const QString& rightLabel,
-                            const double   initValue, const double   bottom,
-                            const double   top      , const double   precision,
-                            QWidget *      parent=0 , const char *   name=0 )
-    :QHBox(parent,name), _bottom(bottom), _precision(precision)
-  {
-    if ( !leftLabel.isEmpty() ) (new QLabel( this ))->setText( leftLabel );
-    _slider = new QSlider( Horizontal, this );
-    _slider->setRange( 0, toInt( top ));
-    _slider->setValue( toInt( initValue ));
-    if ( !rightLabel.isEmpty() ) (new QLabel( this ))->setText( rightLabel );
-  }
-  double value() const { return _bottom + _slider->value() * _precision; }
-  QSlider * getSlider() const { return _slider; }
-  int toInt( double val ) const { return (int) ceil(( val - _bottom ) / _precision ); }
-private:
-  double _bottom, _precision;
-  QSlider * _slider;
-};
 
 //=======================================================================
 //function : getCustomWidget
-//purpose  : 
+//purpose  : is called from buildStdFrame()
 //=======================================================================
 
 QWidget* StdMeshersGUI_StdHypothesisCreator::getCustomWidget( const StdParam & param,
-                                                              QWidget*         parent) const
+                                                              QWidget*         parent,
+                                                              const int        index) const
 {
-  if ( hypType()=="AutomaticLength" && param.myValue.type() == QVariant::Double )
-    return new TDoubleSliderWith2Lables( "0 ", " 1", param.myValue.toDouble(),
-                                         0, 1, 0.01, parent );
-
-  return 0;
+  QWidget* w = 0;
+  if ( index < customWidgets()->count() ) {
+    w = customWidgets()->at( index );
+    if ( w )
+      w->reparent( parent, QPoint( 0, 0 ));
+  }
+  return w;
 }
 
-//=======================================================================
-//function : getParamFromCustomWidget
-//purpose  : 
-//=======================================================================
+//================================================================================
+/*!
+ * \brief Set param value taken from a custom widget
+  * \param param - SMESHGUI_GenericHypothesisCreator::StdParam structure
+  * \param widget - widget presenting param
+  * \retval bool - success flag
+ * 
+ * this method is called from getStdParamFromDlg()
+ */
+//================================================================================
 
 bool StdMeshersGUI_StdHypothesisCreator::getParamFromCustomWidget( StdParam & param,
                                                                    QWidget*   widget) const
@@ -364,5 +826,37 @@ bool StdMeshersGUI_StdHypothesisCreator::getParamFromCustomWidget( StdParam & pa
       return true;
     }
   }
+  if ( widget->inherits( "StdMeshersGUI_ObjectReferenceParamWdg" ))
+  {
+    // show only 1st reference value
+    if ( true /*widget == getWidgetForParam( 0 )*/) {
+      const StdMeshersGUI_ObjectReferenceParamWdg * w =
+        static_cast<const StdMeshersGUI_ObjectReferenceParamWdg*>( widget );
+      param.myValue = w->GetValue();
+    }
+    return true;
+  }
+  if ( widget->inherits( "StdMeshersGUI_LayerDistributionParamWdg" ))
+  {
+    const StdMeshersGUI_LayerDistributionParamWdg * w =
+      static_cast<const StdMeshersGUI_LayerDistributionParamWdg*>( widget );
+    param.myValue = w->GetValue();
+    return true;
+  }
   return false;
 }
+
+//================================================================================
+/*!
+ * \brief called when operation cancelled
+ */
+//================================================================================
+
+void StdMeshersGUI_StdHypothesisCreator::onReject()
+{
+  if ( hypType().startsWith("ProjectionSource" ))
+  {
+    // Uninstall filters of StdMeshersGUI_ObjectReferenceParamWdg
+    deactivateObjRefParamWdg( customWidgets() );
+  }
+}
index c5c2c8db0c67871644154e79f3c85b6e4e7fc783..29ed2e2accf0f2de419a19e7b0fdd089f2b9d163 100644 (file)
 #ifndef STDMESHERSGUI_StdHypothesisCreator_HeaderFile
 #define STDMESHERSGUI_StdHypothesisCreator_HeaderFile
 
+#include "SMESH_StdMeshersGUI.hxx"
+
 #include <SMESHGUI_Hypotheses.h>
 
 /*!
- * \brief Class for creation of simple hypotheses (only set of parameters without dependencies)
+ * \brief Class for creation of standard hypotheses
 */
-class StdMeshersGUI_StdHypothesisCreator : public SMESHGUI_GenericHypothesisCreator
+class STDMESHERSGUI_EXPORT StdMeshersGUI_StdHypothesisCreator : public SMESHGUI_GenericHypothesisCreator
 {
   Q_OBJECT
 
@@ -52,10 +54,20 @@ protected:
   virtual QString  caption() const;
   virtual QPixmap  icon() const;
   virtual QString  type() const;
-  virtual QWidget* getCustomWidget( const StdParam&, QWidget* ) const;
+  virtual QWidget* getCustomWidget( const StdParam&, QWidget*, const int ) const;
   virtual bool     getParamFromCustomWidget( StdParam& , QWidget* ) const;
 
-  virtual QString hypTypeName( const QString& ) const;
+  virtual QString  hypTypeName( const QString& ) const;
+  virtual QWidget* getWidgetForParam( int paramIndex ) const;
+  virtual ListOfWidgets* customWidgets() const;
+  virtual void     onReject();
+
+  template<class T>
+    T* widget(int i) const {
+    return dynamic_cast< T* >( getWidgetForParam( i ));
+  }
+
+  ListOfWidgets    myCustomWidgets;
 };
 
 #endif
index c7397e2e16d9e8037ab360743c68d65285a3d35e..5fd2cf40c51736c2e9333ac72a2a84533612ca0c 100644 (file)
@@ -38,64 +38,65 @@ msgstr "select1.png"
 # Hypothesis creation, see StdMeshersGUI_CreateStdHypothesisDlg()
 #-----------------------------------------------------------------
 
-#Hypo Local Length
 msgid "ICON_DLG_LOCAL_LENGTH"
 msgstr "mesh_hypo_length.png"
 
-#Hypo Nb Segments
 msgid "ICON_DLG_NB_SEGMENTS"
 msgstr "mesh_hypo_segment.png"
 
-#Hypo Max Area
 msgid "ICON_DLG_MAX_ELEMENT_AREA"
 msgstr "mesh_hypo_area.png"
 
-#Hypo Max Volume
 msgid "ICON_DLG_MAX_ELEMENT_VOLUME"
 msgstr "mesh_hypo_volume.png"
 
-#Hypo Start End Length
 msgid "ICON_DLG_START_END_LENGTH"
 msgstr "mesh_hypo_length.png"
 
-#Hypo deflection 1D
 msgid "ICON_DLG_DEFLECTION1D"
 msgstr "mesh_hypo_length.png"
 
-#Hypo Geometric 1D
 msgid "ICON_DLG_GEOMETRIC_1D"
 msgstr "mesh_hypo_length.png"
 
-#Hypo Arithmetic 1D
 msgid "ICON_DLG_ARITHMETIC_1D"
 msgstr "mesh_hypo_length.png"
 
-#Hypo AutomaticLength
 msgid "ICON_DLG_AUTOMATIC_LENGTH"
 msgstr "mesh_hypo_length.png"
 
+msgid "ICON_DLG_NUMBER_OF_LAYERS"
+msgstr "mesh_hypo_layer_distribution.png"
+
+msgid "ICON_DLG_LAYER_DISTRIBUTION"
+msgstr "mesh_hypo_layer_distribution.png"
+
+msgid "ICON_DLG_PROJECTION_SOURCE_1D"
+msgstr "mesh_hypo_source_edge.png"
+
+msgid "ICON_DLG_PROJECTION_SOURCE_2D"
+msgstr "mesh_hypo_source_face.png"
+
+msgid "ICON_DLG_PROJECTION_SOURCE_3D"
+msgstr "mesh_hypo_source_3d.png"
+
 
 #-----------------------------------------------------------
 # ObjectBrowser
 #-----------------------------------------------------------
 
-#mesh_tree_algo_regular
 msgid "ICON_SMESH_TREE_ALGO_Regular_1D"
 msgstr "mesh_tree_algo_regular.png"
 
-#mesh_tree_algo_hexa
 msgid "ICON_SMESH_TREE_ALGO_Hexa_3D"
 msgstr "mesh_tree_algo_hexa.png"
 
-#mesh_tree_algo_mefisto
 msgid "ICON_SMESH_TREE_ALGO_MEFISTO_2D"
 msgstr "mesh_tree_algo_mefisto.png"
 
-#mesh_tree_algo_quad
 msgid "ICON_SMESH_TREE_ALGO_Quadrangle_2D"
 msgstr "mesh_tree_algo_quad.png"
 
-#mesh_tree_hypo_area
 msgid "ICON_SMESH_TREE_HYPO_MaxElementArea"
 msgstr "mesh_tree_hypo_area.png"
 
@@ -111,38 +112,60 @@ msgstr "mesh_tree_hypo_length.png"
 msgid "ICON_SMESH_TREE_HYPO_LocalLength"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_segment
 msgid "ICON_SMESH_TREE_HYPO_NumberOfSegments"
 msgstr "mesh_tree_hypo_segment.png"
 
-#mesh_tree_hypo_volume
 msgid "ICON_SMESH_TREE_HYPO_MaxElementVolume"
 msgstr "mesh_tree_hypo_volume.png"
 
-#mesh_tree_hypo_length
 msgid "ICON_SMESH_TREE_HYPO_LengthFromEdges"
 msgstr "mesh_tree_hypo_area.png"
 
-#mesh_tree_hypo_nonconform
 msgid "ICON_SMESH_TREE_HYPO_NotConformAllowed"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_start_end_length
 msgid "ICON_SMESH_TREE_HYPO_StartEndLength"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_deflection1d
 msgid "ICON_SMESH_TREE_HYPO_Deflection1D"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_Arithmetic1d
 msgid "ICON_SMESH_TREE_HYPO_Arithmetic1D"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_AutomaticLength
 msgid "ICON_SMESH_TREE_HYPO_AutomaticLength"
 msgstr "mesh_tree_hypo_length.png"
 
-#mesh_tree_hypo_propagation
 msgid "ICON_SMESH_TREE_HYPO_Propagation"
 msgstr "mesh_tree_hypo_length.png"
+
+
+msgid "ICON_SMESH_TREE_ALGO_RadialPrism_3D"
+msgstr "mesh_tree_algo_radial_prism.png"
+
+msgid "ICON_SMESH_TREE_ALGO_Prism_3D"
+msgstr "mesh_tree_algo_projection_3d.png"
+
+msgid "ICON_SMESH_TREE_ALGO_Projection_3D"
+msgstr "mesh_tree_hypo_projection_3d.png"
+
+msgid "ICON_SMESH_TREE_ALGO_Projection_2D"
+msgstr "mesh_tree_algo_projection_2d.png"
+
+msgid "ICON_SMESH_TREE_ALGO_Projection_1D"
+msgstr "mesh_tree_algo_regular.png"
+
+msgid "ICON_SMESH_TREE_HYPO_NumberOfLayers"
+msgstr "mesh_tree_hypo_layers_distribution.png"
+
+msgid "ICON_SMESH_TREE_HYPO_LayerDistribution"
+msgstr "mesh_tree_hypo_layers_distribution.png"
+
+msgid "ICON_SMESH_TREE_HYPO_ProjectionSource1D"
+msgstr "mesh_tree_hypo_source_edge.png"
+
+msgid "ICON_SMESH_TREE_HYPO_ProjectionSource2D"
+msgstr "mesh_tree_hypo_source_face.png"
+
+msgid "ICON_SMESH_TREE_HYPO_ProjectionSource3D"
+msgstr "mesh_tree_hypo_source_3d_shape.png"
index b7d2616daf6d7ec0fcec682d7d4c17785791d2ba..b1842159e5f463f88dc903c0d59282139a382e63 100644 (file)
@@ -24,7 +24,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "POT-Creation-Date: 2002-05-28 10:46:48 AM CEST\n"
-"PO-Revision-Date: YYYY-MM-DD\n"
+"PO-Revision-Date: 2006-11-14 16:17+0300\n"
 "Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 
@@ -175,3 +175,84 @@ msgstr "Fineness"
 
 msgid "SMESH_AUTOMATIC_LENGTH_TITLE"
 msgstr "Hypothesis Construction"
+
+
+# -------------- PROJECTION_SOURCE_... --------------
+
+msgid "SMESH_PROJECTION_SOURCE_1D_HYPOTHESIS"
+msgstr "Projection Source 1D"
+msgid "SMESH_PROJECTION_SOURCE_2D_HYPOTHESIS"
+msgstr "Projection Source 2D"
+msgid "SMESH_PROJECTION_SOURCE_3D_HYPOTHESIS"
+msgstr "Projection Source 3D"
+
+msgid "SMESH_PROJECTION_SOURCE_1D_TITLE"
+msgstr "Hypothesis Construction"
+msgid "SMESH_PROJECTION_SOURCE_2D_TITLE"
+msgstr "Hypothesis Construction"
+msgid "SMESH_PROJECTION_SOURCE_3D_TITLE"
+msgstr "Hypothesis Construction"
+
+msgid "SMESH_SOURCE_MESH"
+msgstr "Mesh"
+
+msgid "SMESH_SOURCE_EDGE"
+msgstr "Edge"
+
+msgid "SMESH_SOURCE_FACE"
+msgstr "Face"
+
+msgid "SMESH_SOURCE_3DSHAPE"
+msgstr "3D shape"
+
+msgid "SMESH_SOURCE_VERTEX"
+msgstr "Source Vertex"
+
+msgid "SMESH_TARGET_VERTEX"
+msgstr "Target Vertex"
+
+msgid "SMESH_SOURCE_VERTEX1"
+msgstr "Source Vertex 1"
+
+msgid "SMESH_TARGET_VERTEX1"
+msgstr "Target Vertex 1"
+
+msgid "SMESH_SOURCE_VERTEX2"
+msgstr "Source Vertex 2"
+
+msgid "SMESH_TARGET_VERTEX2"
+msgstr "Target Vertex 2"
+
+
+# ---------------- NUMBER_OF_LAYERS ----------------
+
+msgid "SMESH_NUMBER_OF_LAYERS_HYPOTHESIS"
+msgstr "Radial Prism Parameter"
+
+msgid "SMESH_NUMBER_OF_LAYERS"
+msgstr "Number of Layers"
+
+msgid "SMESH_NUMBER_OF_LAYERS_TITLE"
+msgstr "Hypothesis Construction"
+
+
+# ---------------- LAYER_DISTRIBUTION ----------------
+
+msgid "SMESH_LAYER_DISTRIBUTION_HYPOTHESIS"
+msgstr "Distribution of Layers"
+
+msgid "SMESH_LAYERS_DISTRIBUTION"
+msgstr "1D Hypothesis"
+
+msgid "SMESH_LAYER_DISTRIBUTION_TITLE"
+msgstr "Hypothesis Construction"
+
+msgid "StdMeshersGUI_LayerDistributionParamWdg::CHANGE_TYPE"
+msgstr "Change Type"
+
+msgid "StdMeshersGUI_LayerDistributionParamWdg::CREATE"
+msgstr "Create"
+
+msgid "StdMeshersGUI_LayerDistributionParamWdg::EDIT"
+msgstr "Edit"
+
index 2954f9b5e74afd814ea8b75c3f431b3114b42ccd..cc278a74d8c753ccb015c862cf416b1a52ae7bf3 100644 (file)
@@ -53,7 +53,16 @@ EXPORT_HEADERS = \
        StdMeshers_Hexa_3D_i.hxx \
        StdMeshers_AutomaticLength_i.hxx \
        StdMeshers_QuadranglePreference_i.hxx \
-       StdMeshers_QuadraticMesh_i.hxx
+       StdMeshers_QuadraticMesh_i.hxx \
+       StdMeshers_NumberOfLayers_i.hxx \
+       StdMeshers_Prism_3D_i.hxx \
+       StdMeshers_ProjectionSource1D_i.hxx \
+       StdMeshers_ProjectionSource2D_i.hxx \
+       StdMeshers_ProjectionSource3D_i.hxx \
+       StdMeshers_Projection_1D_2D_3D_i.hxx \
+       StdMeshers_ObjRefUlils.hxx \
+       StdMeshers_LayerDistribution_i.hxx \
+       SMESH_StdMeshers_I.hxx
 
 # Libraries targets
 
@@ -77,7 +86,15 @@ LIB_SRC = \
        StdMeshers_Hexa_3D_i.cxx \
        StdMeshers_AutomaticLength_i.cxx \
        StdMeshers_QuadranglePreference_i.cxx \
-       StdMeshers_QuadraticMesh_i.cxx
+       StdMeshers_QuadraticMesh_i.cxx \
+       StdMeshers_NumberOfLayers_i.cxx \
+       StdMeshers_Prism_3D_i.cxx \
+       StdMeshers_ProjectionSource1D_i.cxx \
+       StdMeshers_ProjectionSource2D_i.cxx \
+       StdMeshers_ProjectionSource3D_i.cxx \
+       StdMeshers_Projection_1D_2D_3D_i.cxx \
+       StdMeshers_ObjRefUlils.cxx \
+       StdMeshers_LayerDistribution_i.cxx
 
 LIB_SERVER_IDL = SMESH_BasicHypothesis.idl
 
@@ -85,7 +102,7 @@ LIB_CLIENT_IDL = \
        SALOMEDS.idl SALOME_Exception.idl \
        GEOM_Gen.idl MED.idl SALOMEDS_Attributes.idl \
        SMESH_Gen.idl SMESH_Hypothesis.idl SMESH_Group.idl \
-       SALOME_Comm.idl
+       SALOME_Comm.idl SALOME_Component.idl SALOME_GenericObj.idl SMESH_Mesh.idl
 
 # Executables targets
 BIN = 
diff --git a/src/StdMeshers_I/SMESH_StdMeshers_I.hxx b/src/StdMeshers_I/SMESH_StdMeshers_I.hxx
new file mode 100755 (executable)
index 0000000..6aa7306
--- /dev/null
@@ -0,0 +1,41 @@
+//  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_StdMeshers_I.hxx
+//  Author : Alexander BORODIN
+//  Module : SMESH
+//  $Header: 
+
+#ifndef _SMESH_StdMeshers_I_HXX_
+#define _SMESH_StdMeshers_I_HXX_
+
+#ifdef WNT
+ #if defined STDMESHERS_I_EXPORTS
+  #define STDMESHERS_I_EXPORT __declspec( dllexport )
+ #else
+  #define STDMESHERS_I_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define STDMESHERS_I_EXPORT
+#endif
+
+#endif
+
index a0cbc938d1d4c12d9b091410687c9e4b56fdea14..ef47c3f0a1d058c083e08f9c012df002300e3b98 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Arithmetic1D_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -37,6 +36,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Arithmetic1D_i::StdMeshers_Arithmetic1D_i
index ede31ba10fe8f602ba815e19d17332df493cd8d6..8c6ad55cdc5587b70f98af80f7b18c6af01c0611 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_ARITHMETIC1D_I_HXX_
 #define _SMESH_ARITHMETIC1D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -38,7 +40,7 @@
 // ======================================================
 // Arithmetic 1D hypothesis
 // ======================================================
-class StdMeshers_Arithmetic1D_i:
+class STDMESHERS_I_EXPORT StdMeshers_Arithmetic1D_i:
   public virtual POA_StdMeshers::StdMeshers_Arithmetic1D,
   public virtual SMESH_Hypothesis_i
 {
index a8605651f58b245799a404af60a99f3e5ca74171..278a70efa1ff3720189fe6bc58920eb41caafa48 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_AutomaticLength_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -37,6 +36,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_AutomaticLength_i::StdMeshers_AutomaticLength_i
index 8733b7835626a181e3ce7e75073ace1224c5c5d1..b378a1eb5279767ed54cbea7afc1d49678094b70 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_AutomaticLength_I_HXX_
 #define _SMESH_AutomaticLength_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // 1D Hypothesis to compute segment length free of thinking
 // =========================================================
 
-class StdMeshers_AutomaticLength_i:
+class STDMESHERS_I_EXPORT StdMeshers_AutomaticLength_i:
   public virtual POA_StdMeshers::StdMeshers_AutomaticLength,
   public virtual SMESH_Hypothesis_i
 {
index cc4ed5ffcfbd31f7803be4b7586abd415847c7a4..b5b3cff5b08d979fd30943c17cdd6c6ebb88c983 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Deflection1D_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Deflection1D_i::StdMeshers_Deflection1D_i
index aab9255bdc1b6a76ba76635b99e5c063885c98f7..2274345db56d1b78a8614df7a4464e2046a0f080 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_Deflection1D_I_HXX_
 #define _SMESH_Deflection1D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Local Length hypothesis
 // ======================================================
-class StdMeshers_Deflection1D_i:
+class STDMESHERS_I_EXPORT StdMeshers_Deflection1D_i:
   public virtual POA_StdMeshers::StdMeshers_Deflection1D,
   public virtual SMESH_Hypothesis_i
 {
index 1c30495185400aecf7a20b7e118afb6e838c2f2b..8f98cd6e180c2dffcc91913f91c22e70afdce7e8 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Hexa_3D_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Hexa_3D_i::StdMeshers_Hexa_3D_i
index a2d40a0fe94a543a2e3c717f4c57a48a912c2ff7..1910da3b116d72ad3abdbee5506551388f7c8e8f 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_HEXA_3D_I_HXX_
 #define _SMESH_HEXA_3D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Hexaedron 3d algorithm
 // ======================================================
-class StdMeshers_Hexa_3D_i:
+class STDMESHERS_I_EXPORT StdMeshers_Hexa_3D_i:
   public virtual POA_StdMeshers::StdMeshers_Hexa_3D,
   public virtual SMESH_3D_Algo_i
 {
diff --git a/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx b/src/StdMeshers_I/StdMeshers_LayerDistribution_i.cxx
new file mode 100644 (file)
index 0000000..5c3b413
--- /dev/null
@@ -0,0 +1,216 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_LayerDistribution_i.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_LayerDistribution_i.hxx"
+#include "SMESH_Gen_i.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_PythonDump.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include <TCollection_AsciiString.hxx>
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i( PortableServer::POA_ptr thePOA,
+                                                          int                     theStudyId,
+                                                          ::SMESH_Gen*            theGenImpl )
+  : SALOME::GenericObj_i( thePOA ), 
+    SMESH_Hypothesis_i( thePOA )
+{
+  MESSAGE( "StdMeshers_LayerDistribution_i::StdMeshers_LayerDistribution_i" );
+  myBaseImpl = new ::StdMeshers_LayerDistribution( theGenImpl->GetANewId(),
+                                                   theStudyId,
+                                                   theGenImpl );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i()
+{
+  MESSAGE( "StdMeshers_LayerDistribution_i::~StdMeshers_LayerDistribution_i" );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution_i::SetLayerDistribution
+ *
+ */
+//=============================================================================
+
+void StdMeshers_LayerDistribution_i::SetLayerDistribution(SMESH::SMESH_Hypothesis_ptr hyp1D)
+     throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    SMESH_Hypothesis_i * hyp_i = SMESH::DownCast< SMESH_Hypothesis_i*>( hyp1D );
+    bool isNewHyp = ( hyp_i->GetImpl() != this->GetImpl()->GetLayerDistribution() );
+    this->GetImpl()->SetLayerDistribution( hyp_i->GetImpl() );
+    myHyp = SMESH::SMESH_Hypothesis::_duplicate( hyp1D );
+    // Remove SO of 1D hypothesis if it was published
+    if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+      SALOMEDS::Study_var study = gen->GetCurrentStudy();
+      SALOMEDS::SObject_var SO = gen->ObjectToSObject( study, hyp1D );
+      if ( ! SO->_is_nil() )
+        study->NewBuilder()->RemoveObjectWithChildren( SO );
+    }
+    // Update Python script: write creation of 1D hyp as it is not published and
+    // for this, SMESH_Gen does not write it's creation
+    if ( isNewHyp )
+      SMESH::TPythonDump() << hyp1D << " = "
+                           << SMESH_Gen_i::GetSMESHGen() << ".CreateHypothesis('"
+                           << hyp_i->GetName() << "', '" << hyp_i->GetLibName() << "')";
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetLayerDistribution( " << hyp1D << " )";
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution_i::GetLayerDistribution
+ *
+ *  Returns <number of layers> parameter value
+ */
+//=============================================================================
+
+SMESH::SMESH_Hypothesis_ptr StdMeshers_LayerDistribution_i::GetLayerDistribution()
+{
+  SMESH::SMESH_Hypothesis_var hyp = myHyp;
+  return hyp._retn();
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_LayerDistribution_i::GetImpl
+ *
+ *  Get implementation
+ */
+//=============================================================================
+
+::StdMeshers_LayerDistribution* StdMeshers_LayerDistribution_i::GetImpl()
+{
+  return ( ::StdMeshers_LayerDistribution* )myBaseImpl;
+}
+
+//================================================================================
+/*!
+ * \brief Verify whether hypothesis supports given entity type 
+  * \param type - dimension (see SMESH::Dimension enumeration)
+  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
+ * 
+ * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
+ */
+//================================================================================  
+CORBA::Boolean StdMeshers_LayerDistribution_i::IsDimSupported( SMESH::Dimension type )
+{
+  return type == SMESH::DIM_3D;
+}
+
+//================================================================================
+/*!
+ * \brief Write parameters in a string
+  * \retval char* - resulting string
+ */
+//================================================================================
+
+char* StdMeshers_LayerDistribution_i::SaveTo()
+{
+  ASSERT( myBaseImpl );
+  std::ostringstream os;
+
+  ::SMESH_Hypothesis* hyp1D = GetImpl()->GetLayerDistribution();
+  SMESH_Hypothesis_i* hyp1D_i = SMESH::DownCast< SMESH_Hypothesis_i*>( myHyp );
+  if ( !hyp1D || !hyp1D_i )
+    os << "NULL_HYPO ";
+  else {
+    os << hyp1D->GetName() << " "
+       << hyp1D->GetLibName() << " "
+       << hyp1D_i->SaveTo();
+  }
+  //myBaseImpl->SaveTo( os );
+
+  return CORBA::string_dup( os.str().c_str() );
+}
+
+//================================================================================
+/*!
+ * \brief Retrieve parameters from the string
+  * \param theStream - the input string
+ */
+//================================================================================
+
+void StdMeshers_LayerDistribution_i::LoadFrom( const char* theStream )
+{
+  ASSERT( myBaseImpl );
+  std::istringstream is( theStream );
+
+  string typeName, libName;
+  if ( is >> typeName &&
+       is >> libName )
+  {
+    SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen();
+    SALOMEDS::Study_var curStudy = gen->GetCurrentStudy();
+    gen->SetCurrentStudy( SALOMEDS::Study::_nil() ); // prevent hypo publishing
+
+    try {
+      SMESH::SMESH_Hypothesis_var hyp1D =
+        gen->CreateHypothesis( typeName.c_str(), libName.c_str() );
+      SMESH_Hypothesis_i* hyp1D_i = SMESH::DownCast< SMESH_Hypothesis_i*>( hyp1D );
+      if ( hyp1D_i ) {
+        hyp1D_i->LoadFrom( & theStream[ is.tellg() ]);
+        this->GetImpl()->SetLayerDistribution( hyp1D_i->GetImpl() );
+        myHyp = hyp1D;
+        // as hyp1D is not published, its ID changes
+        //SMESH::TPythonDump() << _this() << ".SetLayerDistribution( " << hyp1D << " )";
+      }
+    }
+    catch (...) {
+    }
+    gen->SetCurrentStudy( curStudy );  // enable hypo publishing
+  }
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_LayerDistribution_i.hxx b/src/StdMeshers_I/StdMeshers_LayerDistribution_i.hxx
new file mode 100644 (file)
index 0000000..7112d84
--- /dev/null
@@ -0,0 +1,88 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_LayerDistribution_i.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_LayerDistribution_I_HXX_
+#define _SMESH_LayerDistribution_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+
+#include "SMESH_Hypothesis_i.hxx"
+#include "StdMeshers_LayerDistribution.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis is used by "Radial prism" algorithm.
+ * It specifies 1D hypothesis defining distribution of segments between the internal 
+ * and the external surfaces.
+ */
+// =========================================================
+
+class StdMeshers_LayerDistribution_i:
+  public virtual POA_StdMeshers::StdMeshers_LayerDistribution,
+  public virtual SMESH_Hypothesis_i
+{
+public:
+  // Constructor
+  StdMeshers_LayerDistribution_i( PortableServer::POA_ptr thePOA,
+                                  int                     theStudyId,
+                                  ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~StdMeshers_LayerDistribution_i();
+
+  /*!
+   * \brief Sets  1D hypothesis specifying distribution of layers
+    * \param hyp1D - 1D hypothesis
+   */
+  void SetLayerDistribution(SMESH::SMESH_Hypothesis_ptr hyp1D)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * \brief Returns 1D hypothesis specifying distribution of layers
+    * \retval SMESH::SMESH_Hypothesis_ptr - 1D hypothesis
+   */
+  SMESH::SMESH_Hypothesis_ptr GetLayerDistribution();
+
+  // Get implementation
+  ::StdMeshers_LayerDistribution* GetImpl();
+  
+  // Verify whether hypothesis supports given entity type 
+  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+  // Redefined Persistence
+  virtual char* SaveTo();
+  virtual void  LoadFrom( const char* theStream );
+
+private:
+  SMESH::SMESH_Hypothesis_var myHyp;
+};
+
+#endif
+
index c40f33aba0e876a6f8fa33bdb497872e246499cf..d96af29ef8d9a77aa6c65f9162fbcd34ba05956a 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_LengthFromEdges_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_LengthFromEdges_i::StdMeshers_LengthFromEdges_i
index f09e63217a5ca7304a72898a19b037550297311c..c7ebd3322d197025cde4a10af006d4148d1b169c 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_LENGTHFROMEDGES_I_HXX_
 #define _SMESH_LENGTHFROMEDGES_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -39,7 +41,7 @@
 // ======================================================
 // Length from edges hypothesis
 // ======================================================
-class StdMeshers_LengthFromEdges_i:
+class STDMESHERS_I_EXPORT StdMeshers_LengthFromEdges_i:
   public virtual POA_StdMeshers::StdMeshers_LengthFromEdges,
   public virtual SMESH_Hypothesis_i
 {
index 8fea4bee98db75a1ae0d4796f7bcce795ef65464..4190c1b8c8c91b4f13fd1fb87da1b5bc7547c6a1 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_LocalLength_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_LocalLength_i::StdMeshers_LocalLength_i
index e8210ef7dccb36a2f9527a648c63f30bfae0e971..62c73cbc8695589cfba5d011f139c1c86cd17a5a 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_LOCALLENGTH_I_HXX_
 #define _SMESH_LOCALLENGTH_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Local Length hypothesis
 // ======================================================
-class StdMeshers_LocalLength_i:
+class STDMESHERS_I_EXPORT StdMeshers_LocalLength_i:
   public virtual POA_StdMeshers::StdMeshers_LocalLength,
   public virtual SMESH_Hypothesis_i
 {
index 4f29d8d56c983a261b4463ed76ea4e7c3c4ce23f..316ea8d8e87abef5271761b4e8ac7b76a2c9e462 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_MEFISTO_2D_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_MEFISTO_2D_i::StdMeshers_MEFISTO_2D_i
index 1a486c82563c4f823e0cc66d6be346b99e3090b4..5f7d7ca8337ba8b26e3f12fd593e224b27d743c4 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _StdMeshers_MEFISTO_2D_I_HXX_
 #define _StdMeshers_MEFISTO_2D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Triangle (MEFISTO) 2d algorithm
 // ======================================================
-class StdMeshers_MEFISTO_2D_i:
+class STDMESHERS_I_EXPORT StdMeshers_MEFISTO_2D_i:
   public virtual POA_StdMeshers::StdMeshers_MEFISTO_2D,
   public virtual SMESH_2D_Algo_i
 {
index 223e8769a8335c1715fc7be95bbaa25eda9db1d2..a9e7f9f52f0c1efed975b92edfa13f31cc7ee71a 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_MaxElementArea_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_MaxElementArea_i::StdMeshers_MaxElementArea_i
index 45486800ce92bffccda720eef31c8e5ea24f7327..f9201c74f18613e76b5086735fb112e03c149866 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_MAXELEMENTAREA_I_HXX_
 #define _SMESH_MAXELEMENTAREA_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -39,7 +41,7 @@
 // ======================================================
 // Maximum Element Area hypothesis
 // ======================================================
-class StdMeshers_MaxElementArea_i:
+class STDMESHERS_I_EXPORT StdMeshers_MaxElementArea_i:
   public virtual POA_StdMeshers::StdMeshers_MaxElementArea,
   public virtual SMESH_Hypothesis_i
 {
index eb8322b070aaf889ced2643f54dd9bbd7d82033b..c85a005f5e6590e6b190aa32555a947b7c8305c2 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_MaxElementVolume_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_MaxElementVolume_i::StdMeshers_MaxElementVolume_i
index a497c9b017b5d71a44ff0a4bca6de6131d6548e3..f5429359b98813a95e86ef4b96d8974959aa98df 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_MAXELEMENTVOLUME_I_HXX_
 #define _SMESH_MAXELEMENTVOLUME_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -39,7 +41,7 @@
 // ======================================================
 // Maximum Element Volume hypothesis
 // ======================================================
-class StdMeshers_MaxElementVolume_i:
+class STDMESHERS_I_EXPORT StdMeshers_MaxElementVolume_i:
   public virtual POA_StdMeshers::StdMeshers_MaxElementVolume,
   public virtual SMESH_Hypothesis_i
 {
index 47b87d76ac89b18ad8ce8d9f9d1f892bb43bd522..92775c5ff1ee6875ba457c78b6bad58b0a0a03f7 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-using namespace std;
 #include "StdMeshers_NotConformAllowed_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  Constructor: 
index dc2867ec912fca5175ec36e4e16b41497ed93163..ef0b1e327f5a062b432ae4fc3f86577f44a7f442 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _StdMeshers_NotConformAllowed_I_HXX_
 #define _StdMeshers_NotConformAllowed_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -36,7 +38,7 @@
 
 #include "StdMeshers_NotConformAllowed.hxx"
 
-class StdMeshers_NotConformAllowed_i:
+class STDMESHERS_I_EXPORT StdMeshers_NotConformAllowed_i:
   public POA_StdMeshers::StdMeshers_NotConformAllowed,
   public SMESH_Hypothesis_i
 {
diff --git a/src/StdMeshers_I/StdMeshers_NumberOfLayers_i.cxx b/src/StdMeshers_I/StdMeshers_NumberOfLayers_i.cxx
new file mode 100644 (file)
index 0000000..314d003
--- /dev/null
@@ -0,0 +1,136 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_NumberOfLayers_i.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_NumberOfLayers_i.hxx"
+#include "SMESH_Gen_i.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_PythonDump.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include <TCollection_AsciiString.hxx>
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers_i::StdMeshers_NumberOfLayers_i
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_NumberOfLayers_i::StdMeshers_NumberOfLayers_i( PortableServer::POA_ptr thePOA,
+                                                          int                     theStudyId,
+                                                          ::SMESH_Gen*            theGenImpl )
+  : SALOME::GenericObj_i( thePOA ), 
+    SMESH_Hypothesis_i( thePOA )
+{
+  MESSAGE( "StdMeshers_NumberOfLayers_i::StdMeshers_NumberOfLayers_i" );
+  myBaseImpl = new ::StdMeshers_NumberOfLayers( theGenImpl->GetANewId(),
+                                                 theStudyId,
+                                                 theGenImpl );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers_i::~StdMeshers_NumberOfLayers_i
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_NumberOfLayers_i::~StdMeshers_NumberOfLayers_i()
+{
+  MESSAGE( "StdMeshers_NumberOfLayers_i::~StdMeshers_NumberOfLayers_i" );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers_i::SetNumberOfLayers
+ *
+ *  Sets <number of segments> parameter value
+ */
+//=============================================================================
+
+void StdMeshers_NumberOfLayers_i::SetNumberOfLayers(CORBA::Long numberOfLayers)
+     throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    this->GetImpl()->SetNumberOfLayers( numberOfLayers );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetNumberOfLayers( " << numberOfLayers << " )";
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers_i::GetNumberOfLayers
+ *
+ *  Returns <number of layers> parameter value
+ */
+//=============================================================================
+
+CORBA::Long StdMeshers_NumberOfLayers_i::GetNumberOfLayers()
+{
+  ASSERT( myBaseImpl );
+  return this->GetImpl()->GetNumberOfLayers();
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_NumberOfLayers_i::GetImpl
+ *
+ *  Get implementation
+ */
+//=============================================================================
+
+::StdMeshers_NumberOfLayers* StdMeshers_NumberOfLayers_i::GetImpl()
+{
+  return ( ::StdMeshers_NumberOfLayers* )myBaseImpl;
+}
+
+//================================================================================
+/*!
+ * \brief Verify whether hypothesis supports given entity type 
+  * \param type - dimension (see SMESH::Dimension enumeration)
+  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
+ * 
+ * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
+ */
+//================================================================================  
+CORBA::Boolean StdMeshers_NumberOfLayers_i::IsDimSupported( SMESH::Dimension type )
+{
+  return type == SMESH::DIM_3D;
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_NumberOfLayers_i.hxx b/src/StdMeshers_I/StdMeshers_NumberOfLayers_i.hxx
new file mode 100644 (file)
index 0000000..e738b88
--- /dev/null
@@ -0,0 +1,75 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_NumberOfLayers_i.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_NumberOfLayers_I_HXX_
+#define _SMESH_NumberOfLayers_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+
+#include "SMESH_Hypothesis_i.hxx"
+#include "StdMeshers_NumberOfLayers.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis is used by "Radial prism" algorithm.
+ * It specifies number of segments between the internal 
+ * and the external surfaces.
+ */
+// =========================================================
+
+class StdMeshers_NumberOfLayers_i:
+  public virtual POA_StdMeshers::StdMeshers_NumberOfLayers,
+  public virtual SMESH_Hypothesis_i
+{
+public:
+  // Constructor
+  StdMeshers_NumberOfLayers_i( PortableServer::POA_ptr thePOA,
+                               int                     theStudyId,
+                               ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~StdMeshers_NumberOfLayers_i();
+
+  // Sets <number of segments> parameter value
+  void SetNumberOfLayers(CORBA::Long numberOfLayers)
+    throw ( SALOME::SALOME_Exception );
+
+  // Returns <number of layers> parameter value
+  CORBA::Long GetNumberOfLayers();
+
+  // Get implementation
+  ::StdMeshers_NumberOfLayers* GetImpl();
+  
+  // Verify whether hypothesis supports given entity type 
+  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+};
+
+#endif
+
index d36154613cbe30195733c3ba6acb643a51fae14c..7f164a290e6960c76bec2c1310961437d8b99172 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_NumberOfSegments_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_NumberOfSegments_i::StdMeshers_NumberOfSegments_i
index a0d02bf9ca37fdf57f9e6f72567a18828a29be1a..a1dda71e448bd7c08e953e6b69689243ddb6212c 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_NUMBEROFSEGMENTS_I_HXX_
 #define _SMESH_NUMBEROFSEGMENTS_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
@@ -40,7 +42,7 @@
 // ======================================================
 // Number of segments hypothesis
 // ======================================================
-class StdMeshers_NumberOfSegments_i:
+class STDMESHERS_I_EXPORT StdMeshers_NumberOfSegments_i:
   public virtual POA_StdMeshers::StdMeshers_NumberOfSegments,
   public virtual SMESH_Hypothesis_i
 {
diff --git a/src/StdMeshers_I/StdMeshers_ObjRefUlils.cxx b/src/StdMeshers_I/StdMeshers_ObjRefUlils.cxx
new file mode 100644 (file)
index 0000000..da8fa89
--- /dev/null
@@ -0,0 +1,106 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_ObjRefUlils.cxx
+// Created   : Wed Oct 18 15:38:22 2006
+// Author    : Edward AGAPOV (eap)
+
+#include "StdMeshers_ObjRefUlils.hxx"
+
+#include <TopoDS_Shape.hxx>
+
+using namespace std;
+
+//================================================================================
+  /*!
+   * \brief Store the shape in the stream
+    * \param theShape - shape to store
+    * \param stream - the stream
+   */
+//================================================================================
+
+void StdMeshers_ObjRefUlils::SaveToStream( const TopoDS_Shape& theShape, ostream & stream)
+{
+  bool ok = false;
+  if ( !theShape.IsNull() ) {
+    if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+      GEOM::GEOM_Object_var geom = gen->ShapeToGeomObject( theShape );
+      if ( ! geom->_is_nil() ) {
+        SALOMEDS::SObject_var sobj = gen->ObjectToSObject( gen->GetCurrentStudy(), geom );
+        if ( !sobj->_is_nil() ) {
+          stream << " " << sobj->GetID();
+          ok = true;
+        }
+      }
+    }
+  }
+  if ( ! ok )
+    stream << " NULL_SHAPE ";
+}
+
+//================================================================================
+  /*!
+   * \brief Retrieve a shape from the stream
+    * \param stream - the stream
+    * \retval TopoDS_Shape - resulting shape
+   */
+//================================================================================
+
+TopoDS_Shape StdMeshers_ObjRefUlils::LoadFromStream( istream & stream)
+{
+  if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+    SALOMEDS::Study_var study = gen->GetCurrentStudy();
+    if ( ! study->_is_nil() ) {
+      string str;
+      if (stream >> str) {
+        SALOMEDS::SObject_var sobj= study->FindObjectID( str.c_str() );
+        CORBA::Object_var obj = gen->SObjectToObject( sobj );
+        GEOM::GEOM_Object_var geom = GEOM::GEOM_Object::_narrow( obj );
+        return gen->GeomObjectToShape( geom.in() );
+      }
+    }
+  }
+  return TopoDS_Shape();
+}
+
+//================================================================================
+  /*!
+   * \brief Store the CORBA object in the stream
+    * \param obj - object to store
+    * \param stream - the stream
+   */
+//================================================================================
+
+void StdMeshers_ObjRefUlils::SaveToStream( CORBA::Object_ptr obj,
+                                           std::ostream & stream)
+{
+  bool ok = false;
+  if ( !CORBA::is_nil( obj ) ) {
+    if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+      stream << " " << gen->GetObjectId( obj );
+      ok = true;
+    }
+  }
+  if ( ! ok )
+    stream << " NULL_OBJECT ";
+}
diff --git a/src/StdMeshers_I/StdMeshers_ObjRefUlils.hxx b/src/StdMeshers_I/StdMeshers_ObjRefUlils.hxx
new file mode 100644 (file)
index 0000000..994f395
--- /dev/null
@@ -0,0 +1,114 @@
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File      : StdMeshers_ObjRefUlils.hxx
+// Created   : Wed Oct 18 15:15:27 2006
+// Author    : Edward AGAPOV (eap)
+// Copyright : Open CASCADE
+
+
+#ifndef StdMeshers_ObjRefUlils_HeaderFile
+#define StdMeshers_ObjRefUlils_HeaderFile
+
+#include "SMESH_Gen_i.hxx"
+
+/*!
+ * \brief Class encapsulates methods
+ *  - converting internal objects to CORBA objects and backward and
+ *  - persistence methods for such objects
+ *
+ * These methods are useful for hypotheses referring to other objects
+ * like meshes, geom objects, other hypotheses, etc.
+ */
+class StdMeshers_ObjRefUlils
+{
+public:
+  /*!
+   * \brief Return GEOM Object correspoding to TopoDS_Shape
+    * \param theShape - input TopoDS_Shape
+    * \retval GEOM::GEOM_Object_ptr - result object
+   */
+   static GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape ) {
+     if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen())
+       return gen->ShapeToGeomObject( theShape );
+     else
+       return GEOM::GEOM_Object::_nil();
+   }
+
+  /*!
+   * \brief Return TopoDS_Shape correspoding to GEOM_Object
+    * \param theGeomObject - input object
+    * \retval TopoDS_Shape - result TopoDS_Shape
+   */
+  static TopoDS_Shape GeomObjectToShape(GEOM::GEOM_Object_ptr theGeomObject) {
+     if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen())
+       return gen->GeomObjectToShape( theGeomObject );
+     else
+       return TopoDS_Shape();
+  }
+
+  /*!
+   * \brief Store the shape in the stream
+    * \param theShape - shape to store
+    * \param stream - the stream
+   */
+  static void SaveToStream( const TopoDS_Shape& theShape, std::ostream & stream);
+
+  /*!
+   * \brief Retrieve a shape from the stream
+    * \param stream - the stream
+    * \retval TopoDS_Shape - resulting shape
+   */
+  static TopoDS_Shape LoadFromStream( std::istream & stream);
+
+  /*!
+   * \brief Store the CORBA object in the stream
+    * \param obj - object to store
+    * \param stream - the stream
+   */
+  static void SaveToStream( CORBA::Object_ptr obj, std::ostream & stream);
+
+  /*!
+   * \brief Retrieve a CORBA object from the stream 
+    * \param stream - the stream
+    * \retval CORBA::Object_ptr - result object
+   */
+  template<class TInterface> 
+  static 
+  typename TInterface::_var_type LoadObjectFromStream( std::istream & stream )
+  {
+    if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+      std::string str;
+      if (stream >> str) {
+        if ( StudyContext* myStudyContext = gen->GetCurrentStudyContext() ) {
+          string ior = myStudyContext->getIORbyOldId( atoi( str.c_str() ));
+          if ( !ior.empty() )
+             return TInterface::_narrow(gen->GetORB()->string_to_object( ior.c_str() ));
+        }
+      }
+    }
+    return TInterface::_nil();
+  }
+};
+
+#endif
diff --git a/src/StdMeshers_I/StdMeshers_Prism_3D_i.cxx b/src/StdMeshers_I/StdMeshers_Prism_3D_i.cxx
new file mode 100644 (file)
index 0000000..67736fd
--- /dev/null
@@ -0,0 +1,104 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Prism_3D_i.cxx
+//           Moved here from SMESH_Prism_3D_i.cxx
+//  Author : Paul RASCLE, EDF
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_Prism_3D_i.hxx"
+#include "SMESH_Gen.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_Prism_3D_i::StdMeshers_Prism_3D_i
+ */
+//=============================================================================
+
+StdMeshers_Prism_3D_i::StdMeshers_Prism_3D_i( PortableServer::POA_ptr thePOA,
+                                 int                     theStudyId,
+                                 ::SMESH_Gen*            theGenImpl )
+     : SALOME::GenericObj_i( thePOA ), 
+       SMESH_Hypothesis_i( thePOA ), 
+       SMESH_Algo_i( thePOA ),
+       SMESH_3D_Algo_i( thePOA )
+{
+  MESSAGE( "StdMeshers_Prism_3D_i::StdMeshers_Prism_3D_i" );
+  myBaseImpl = new ::StdMeshers_Prism_3D( theGenImpl->GetANewId(),
+                                          theStudyId,
+                                          theGenImpl );
+}
+//-----------------------------------------------------------------------------
+
+StdMeshers_Prism_3D_i::~StdMeshers_Prism_3D_i()
+{
+  MESSAGE( "StdMeshers_Prism_3D_i::~StdMeshers_Prism_3D_i" );
+}
+//-----------------------------------------------------------------------------
+
+::StdMeshers_Prism_3D* StdMeshers_Prism_3D_i::GetImpl()
+{
+  MESSAGE( "StdMeshers_Prism_3D_i::GetImpl" );
+  return ( ::StdMeshers_Prism_3D* )myBaseImpl;
+}
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_RadialPrism_3D_i::StdMeshers_RadialPrism_3D_i
+ */
+//=============================================================================
+
+StdMeshers_RadialPrism_3D_i::StdMeshers_RadialPrism_3D_i( PortableServer::POA_ptr thePOA,
+                                 int                     theStudyId,
+                                 ::SMESH_Gen*            theGenImpl )
+     : SALOME::GenericObj_i( thePOA ), 
+       SMESH_Hypothesis_i( thePOA ), 
+       SMESH_Algo_i( thePOA ),
+       SMESH_3D_Algo_i( thePOA )
+{
+  MESSAGE( "StdMeshers_RadialPrism_3D_i::StdMeshers_RadialPrism_3D_i" );
+  myBaseImpl = new ::StdMeshers_RadialPrism_3D( theGenImpl->GetANewId(),
+                                   theStudyId,
+                                   theGenImpl );
+}
+//-----------------------------------------------------------------------------
+
+StdMeshers_RadialPrism_3D_i::~StdMeshers_RadialPrism_3D_i()
+{
+  MESSAGE( "StdMeshers_RadialPrism_3D_i::~StdMeshers_RadialPrism_3D_i" );
+}
+//-----------------------------------------------------------------------------
+
+::StdMeshers_RadialPrism_3D* StdMeshers_RadialPrism_3D_i::GetImpl()
+{
+  MESSAGE( "StdMeshers_RadialPrism_3D_i::GetImpl" );
+  return ( ::StdMeshers_RadialPrism_3D* )myBaseImpl;
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_Prism_3D_i.hxx b/src/StdMeshers_I/StdMeshers_Prism_3D_i.hxx
new file mode 100644 (file)
index 0000000..5d4a7b7
--- /dev/null
@@ -0,0 +1,83 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Prism_3D_i.hxx
+//           Moved here from SMESH_Prism_3D_i.hxx
+//  Author : Paul RASCLE, EDF
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_Prism_3D_I_HXX_
+#define _SMESH_Prism_3D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+
+#include "SMESH_3D_Algo_i.hxx"
+#include "StdMeshers_Prism_3D.hxx"
+#include "StdMeshers_RadialPrism_3D.hxx"
+
+class SMESH_Gen;
+
+// ======================================================
+// Prism 3d algorithm
+// ======================================================
+class StdMeshers_Prism_3D_i:
+  public virtual POA_StdMeshers::StdMeshers_Prism_3D,
+  public virtual SMESH_3D_Algo_i
+{
+public:
+  // Constructor
+  StdMeshers_Prism_3D_i( PortableServer::POA_ptr thePOA,
+                         int                     theStudyId,
+                         ::SMESH_Gen*            theGenImpl );
+
+  // Destructor
+  virtual ~StdMeshers_Prism_3D_i();
+
+  // Get implementation
+  ::StdMeshers_Prism_3D* GetImpl();
+};
+
+// ======================================================
+// Radial Prism 3d algorithm
+// ======================================================
+class StdMeshers_RadialPrism_3D_i:
+  public virtual POA_StdMeshers::StdMeshers_RadialPrism_3D,
+  public virtual SMESH_3D_Algo_i
+{
+public:
+  // Constructor
+  StdMeshers_RadialPrism_3D_i( PortableServer::POA_ptr thePOA,
+                               int                     theStudyId,
+                               ::SMESH_Gen*            theGenImpl );
+
+  // Destructor
+  virtual ~StdMeshers_RadialPrism_3D_i();
+
+  // Get implementation
+  ::StdMeshers_RadialPrism_3D* GetImpl();
+};
+
+
+#endif
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.cxx b/src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.cxx
new file mode 100644 (file)
index 0000000..2b3055a
--- /dev/null
@@ -0,0 +1,288 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource1D_i.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_ProjectionSource1D_i.hxx"
+
+#include "SMESH_Gen_i.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_PythonDump.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include "StdMeshers_ObjRefUlils.hxx"
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource1D_i::StdMeshers_ProjectionSource1D_i
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource1D_i::StdMeshers_ProjectionSource1D_i
+( PortableServer::POA_ptr thePOA,
+  int                     theStudyId,
+  ::SMESH_Gen*            theGenImpl ) : SALOME::GenericObj_i( thePOA ), 
+                                         SMESH_Hypothesis_i( thePOA )
+{
+  MESSAGE( "StdMeshers_ProjectionSource1D_i::StdMeshers_ProjectionSource1D_i" );
+  myBaseImpl = new ::StdMeshers_ProjectionSource1D( theGenImpl->GetANewId(),
+                                                    theStudyId,
+                                                    theGenImpl );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource1D_i::~StdMeshers_ProjectionSource1D_i
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource1D_i::~StdMeshers_ProjectionSource1D_i()
+{
+  MESSAGE( "StdMeshers_ProjectionSource1D_i::~StdMeshers_ProjectionSource1D_i" );
+}
+
+//=============================================================================
+  /*!
+   * Sets source <edge> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D_i::SetSourceEdge(GEOM::GEOM_Object_ptr edge)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    this->GetImpl()->SetSourceEdge( StdMeshers_ObjRefUlils::GeomObjectToShape( edge ));
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSourceEdge( " << edge << " )";
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source edge and the target one.
+ * This parameter is optional
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D_i::SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex,
+                                                           GEOM::GEOM_Object_ptr targetVertex)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    TopoDS_Shape v1 = StdMeshers_ObjRefUlils::GeomObjectToShape( sourceVertex );
+    TopoDS_Shape v2 = StdMeshers_ObjRefUlils::GeomObjectToShape( targetVertex );
+    this->GetImpl()->SetVertexAssociation( v1, v2 );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetVertexAssociation( "
+                       << sourceVertex << ", " << targetVertex << " )";
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource1D_i::SetSourceMesh(SMESH::SMESH_Mesh_ptr theMesh)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+
+  ::SMESH_Mesh* mesh = 0;
+
+  if ( !CORBA::is_nil( theMesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( theMesh );
+    if ( !mesh_i )
+      THROW_SALOME_CORBA_EXCEPTION( "bad mesh", SALOME::BAD_PARAM );
+    mesh = &mesh_i->GetImpl();
+  }
+
+  try {
+    this->GetImpl()->SetSourceMesh ( mesh );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( theMesh );
+
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSourceMesh( " << theMesh << " )";
+}
+
+//=============================================================================
+/*!
+ * Return source mesh
+ */
+//=============================================================================
+
+SMESH::SMESH_Mesh_ptr StdMeshers_ProjectionSource1D_i::GetSourceMesh()
+{
+  SMESH::SMESH_Mesh_var mesh = myCorbaMesh;
+  return mesh._retn();
+}
+
+//=============================================================================
+/*!
+ * Returns the source edge
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource1D_i::GetSourceEdge()
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSourceEdge() );
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the target vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource1D_i::GetSourceVertex()
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSourceVertex() );
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the source vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource1D_i::GetTargetVertex()
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetTargetVertex() );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource1D_i::GetImpl
+ *
+ *  Get implementation
+ */
+//=============================================================================
+
+::StdMeshers_ProjectionSource1D* StdMeshers_ProjectionSource1D_i::GetImpl()
+{
+  return ( ::StdMeshers_ProjectionSource1D* )myBaseImpl;
+}
+
+//================================================================================
+/*!
+ * \brief Verify whether hypothesis supports given entity type 
+  * \param type - dimension (see SMESH::Dimension enumeration)
+  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
+ * 
+ * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
+ */
+//================================================================================  
+CORBA::Boolean StdMeshers_ProjectionSource1D_i::IsDimSupported( SMESH::Dimension type )
+{
+  return type == SMESH::DIM_1D;
+}
+
+//================================================================================
+/*!
+ * \brief Write parameters in a string
+  * \retval char* - resulting string
+ */
+//================================================================================
+
+char* StdMeshers_ProjectionSource1D_i::SaveTo()
+{
+  ASSERT( myBaseImpl );
+  std::ostringstream os;
+
+  TopoDS_Shape s1, s2, s3;
+  GetImpl()->GetStoreParams( s1, s2, s3 );
+
+  StdMeshers_ObjRefUlils::SaveToStream( s1, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s2, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s3, os );
+  StdMeshers_ObjRefUlils::SaveToStream( GetSourceMesh(), os );
+
+  myBaseImpl->SaveTo( os );
+
+  return CORBA::string_dup( os.str().c_str() );
+}
+
+//================================================================================
+/*!
+ * \brief Retrieve parameters from the string
+  * \param theStream - the input string
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource1D_i::LoadFrom( const char* theStream )
+{
+  ASSERT( myBaseImpl );
+  std::istringstream is( theStream );
+
+  TopoDS_Shape s1 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s2 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s3 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  SMESH::SMESH_Mesh_var mesh = 
+    StdMeshers_ObjRefUlils::LoadObjectFromStream< SMESH::SMESH_Mesh >( is );
+
+  ::SMESH_Mesh* meshImpl = 0;
+
+  if ( !CORBA::is_nil( mesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( mesh );
+    if ( mesh_i )
+      meshImpl = &mesh_i->GetImpl();
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( mesh );
+  GetImpl()->RestoreParams( s1, s2, s3, meshImpl );
+
+  myBaseImpl->LoadFrom( is );
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.hxx b/src/StdMeshers_I/StdMeshers_ProjectionSource1D_i.hxx
new file mode 100644 (file)
index 0000000..0284ba0
--- /dev/null
@@ -0,0 +1,118 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource1D_i.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource1D_I_HXX_
+#define _SMESH_ProjectionSource1D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#include "SMESH_Hypothesis_i.hxx"
+#include "StdMeshers_ProjectionSource1D.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis specifies a meshed edge to take a mesh pattern from
+ * and optionally association of vertices between the source edge and a
+ * target one (where a hipothesis is assigned to)
+ */
+// =========================================================
+
+class StdMeshers_ProjectionSource1D_i:
+  public virtual POA_StdMeshers::StdMeshers_ProjectionSource1D,
+  public virtual SMESH_Hypothesis_i
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource1D_i( PortableServer::POA_ptr thePOA,
+                                   int                     theStudyId,
+                                   ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource1D_i();
+
+  /*!
+   * Sets source <edge> to take a mesh pattern from
+   */
+  void SetSourceEdge(GEOM::GEOM_Object_ptr edge)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the source edge
+   */
+  GEOM::GEOM_Object_ptr GetSourceEdge();
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH::SMESH_Mesh_ptr mesh)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Return source mesh
+   */
+  SMESH::SMESH_Mesh_ptr GetSourceMesh();
+
+  /*!
+   * Sets vertex association between the source edge and the target one.
+   * This parameter is optional
+   */
+  void SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex,
+                            GEOM::GEOM_Object_ptr targetVertex)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the vertex associated with the target vertex.
+   * Result may be nil if association not set
+   */
+  GEOM::GEOM_Object_ptr GetSourceVertex();
+
+  /*!
+   * Returns the vertex associated with the source vertex.
+   * Result may be nil if association not set
+   */
+  GEOM::GEOM_Object_ptr GetTargetVertex();
+
+  // Get implementation
+  ::StdMeshers_ProjectionSource1D* GetImpl();
+
+  // Verify whether hypothesis supports given entity type 
+  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+
+  // Redefined Persistence
+  virtual char* SaveTo();
+  virtual void  LoadFrom( const char* theStream );
+
+private:
+  SMESH::SMESH_Mesh_var myCorbaMesh;
+};
+
+#endif
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.cxx b/src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.cxx
new file mode 100644 (file)
index 0000000..c1a4e29
--- /dev/null
@@ -0,0 +1,300 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource2D_i.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_ProjectionSource2D_i.hxx"
+
+#include "SMESH_Gen_i.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_PythonDump.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include "StdMeshers_ObjRefUlils.hxx"
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource2D_i::StdMeshers_ProjectionSource2D_i
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource2D_i::StdMeshers_ProjectionSource2D_i
+( PortableServer::POA_ptr thePOA,
+  int                     theStudyId,
+  ::SMESH_Gen*            theGenImpl ) : SALOME::GenericObj_i( thePOA ), 
+                                         SMESH_Hypothesis_i( thePOA )
+{
+  MESSAGE( "StdMeshers_ProjectionSource2D_i::StdMeshers_ProjectionSource2D_i" );
+  myBaseImpl = new ::StdMeshers_ProjectionSource2D( theGenImpl->GetANewId(),
+                                                    theStudyId,
+                                                    theGenImpl );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource2D_i::~StdMeshers_ProjectionSource2D_i
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource2D_i::~StdMeshers_ProjectionSource2D_i()
+{
+  MESSAGE( "StdMeshers_ProjectionSource2D_i::~StdMeshers_ProjectionSource2D_i" );
+}
+
+//=============================================================================
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D_i::SetSourceFace(GEOM::GEOM_Object_ptr face)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    this->GetImpl()->SetSourceFace( StdMeshers_ObjRefUlils::GeomObjectToShape( face ));
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSourceFace( " << face << " )";
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D_i::SetSourceMesh(SMESH::SMESH_Mesh_ptr theMesh)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+
+  ::SMESH_Mesh* mesh = 0;
+
+  if ( !CORBA::is_nil( theMesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( theMesh );
+    if ( !mesh_i )
+      THROW_SALOME_CORBA_EXCEPTION( "bad mesh", SALOME::BAD_PARAM );
+    mesh = &mesh_i->GetImpl();
+  }
+
+  try {
+    this->GetImpl()->SetSourceMesh ( mesh );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( theMesh );
+
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSourceMesh( " << theMesh << " )";
+}
+
+//=============================================================================
+/*!
+ * Return source mesh
+ */
+//=============================================================================
+
+SMESH::SMESH_Mesh_ptr StdMeshers_ProjectionSource2D_i::GetSourceMesh()
+{
+  SMESH::SMESH_Mesh_var mesh = myCorbaMesh;
+  return mesh._retn();
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source face and the target one.
+ * This parameter is optional.
+ * Two vertices must belong to one edge of a face
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource2D_i::SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1,
+                                                           GEOM::GEOM_Object_ptr sourceVertex2,
+                                                           GEOM::GEOM_Object_ptr targetVertex1,
+                                                           GEOM::GEOM_Object_ptr targetVertex2)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    TopoDS_Shape v1 = StdMeshers_ObjRefUlils::GeomObjectToShape( sourceVertex1 );
+    TopoDS_Shape v2 = StdMeshers_ObjRefUlils::GeomObjectToShape( sourceVertex2 );
+    TopoDS_Shape v3 = StdMeshers_ObjRefUlils::GeomObjectToShape( targetVertex1 );
+    TopoDS_Shape v4 = StdMeshers_ObjRefUlils::GeomObjectToShape( targetVertex2 );
+    this->GetImpl()->SetVertexAssociation( v1, v2, v3, v4 );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetVertexAssociation( "
+                       << sourceVertex1 << ", "
+                       << sourceVertex2 << ", "
+                       << targetVertex1 << ", "
+                       << targetVertex2 << " )";
+}
+
+//=============================================================================
+/*!
+ * Returns the source face
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource2D_i::GetSourceFace()
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSourceFace() );
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the target vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource2D_i::GetSourceVertex(CORBA::Long i)
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSourceVertex((int) i ));
+}
+
+//=============================================================================
+/*!
+ * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+ * Result may be nil if association not set.
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource2D_i::GetTargetVertex(CORBA::Long i)
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetTargetVertex( (int)i ));
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource2D_i::GetImpl
+ *
+ *  Get implementation
+ */
+//=============================================================================
+
+::StdMeshers_ProjectionSource2D* StdMeshers_ProjectionSource2D_i::GetImpl()
+{
+  return ( ::StdMeshers_ProjectionSource2D* )myBaseImpl;
+}
+
+//================================================================================
+/*!
+ * \brief Verify whether hypothesis supports given entity type 
+  * \param type - dimension (see SMESH::Dimension enumeration)
+  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
+ * 
+ * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
+ */
+//================================================================================  
+CORBA::Boolean StdMeshers_ProjectionSource2D_i::IsDimSupported( SMESH::Dimension type )
+{
+  return type == SMESH::DIM_2D;
+}
+
+//================================================================================
+/*!
+ * \brief Write parameters in a string
+  * \retval char* - resulting string
+ */
+//================================================================================
+
+char* StdMeshers_ProjectionSource2D_i::SaveTo()
+{
+  ASSERT( myBaseImpl );
+  std::ostringstream os;
+
+  TopoDS_Shape s1, s2, s3, s4, s5;
+  GetImpl()->GetStoreParams( s1, s2, s3, s4, s5 );
+
+  StdMeshers_ObjRefUlils::SaveToStream( s1, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s2, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s3, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s4, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s5, os );
+  StdMeshers_ObjRefUlils::SaveToStream( GetSourceMesh(), os );
+
+  myBaseImpl->SaveTo( os );
+
+  return CORBA::string_dup( os.str().c_str() );
+}
+
+//================================================================================
+/*!
+ * \brief Retrieve parameters from the string
+  * \param theStream - the input string
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource2D_i::LoadFrom( const char* theStream )
+{
+  ASSERT( myBaseImpl );
+  std::istringstream is( theStream );
+
+  TopoDS_Shape s1 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s2 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s3 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s4 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s5 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  SMESH::SMESH_Mesh_var mesh = 
+    StdMeshers_ObjRefUlils::LoadObjectFromStream< SMESH::SMESH_Mesh >( is );
+
+  ::SMESH_Mesh* meshImpl = 0;
+
+  if ( !CORBA::is_nil( mesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( mesh );
+    if ( mesh_i )
+      meshImpl = &mesh_i->GetImpl();
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( mesh );
+  GetImpl()->RestoreParams( s1, s2, s3, s4, s5, meshImpl );
+
+  myBaseImpl->LoadFrom( is );
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.hxx b/src/StdMeshers_I/StdMeshers_ProjectionSource2D_i.hxx
new file mode 100644 (file)
index 0000000..836edfc
--- /dev/null
@@ -0,0 +1,122 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource2D_i.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource2D_I_HXX_
+#define _SMESH_ProjectionSource2D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#include "SMESH_Hypothesis_i.hxx"
+#include "StdMeshers_ProjectionSource2D.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis specifies a meshed face to take a mesh pattern from
+ * and optionally association of vertices between the source face and a
+ * target one (where a hipothesis is assigned to)
+ */
+// =========================================================
+
+class StdMeshers_ProjectionSource2D_i:
+  public virtual POA_StdMeshers::StdMeshers_ProjectionSource2D,
+  public virtual SMESH_Hypothesis_i
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource2D_i( PortableServer::POA_ptr thePOA,
+                                   int                     theStudyId,
+                                   ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource2D_i();
+
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+  void SetSourceFace(GEOM::GEOM_Object_ptr face)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the source face
+   */
+  GEOM::GEOM_Object_ptr GetSourceFace();
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH::SMESH_Mesh_ptr mesh)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Return source mesh
+   */
+  SMESH::SMESH_Mesh_ptr GetSourceMesh();
+
+  /*!
+   * Sets vertex association between the source face and the target one.
+   * This parameter is optional.
+   * Two vertices must belong to one edge of a face
+   */
+  void SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1,
+                            GEOM::GEOM_Object_ptr sourceVertex2,
+                            GEOM::GEOM_Object_ptr targetVertex1,
+                            GEOM::GEOM_Object_ptr targetVertex2)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+   * Result may be nil if association not set.
+   */
+  GEOM::GEOM_Object_ptr GetSourceVertex(CORBA::Long i);
+
+  /*!
+   * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+   * Result may be nil if association not set.
+   */
+  GEOM::GEOM_Object_ptr GetTargetVertex(CORBA::Long i);
+
+  // Get implementation
+  ::StdMeshers_ProjectionSource2D* GetImpl();
+
+  // Verify whether hypothesis supports given entity type 
+  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+
+  // Redefined Persistence
+  virtual char* SaveTo();
+  virtual void  LoadFrom( const char* theStream );
+
+private:
+  SMESH::SMESH_Mesh_var myCorbaMesh;
+};
+
+#endif
+
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.cxx b/src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.cxx
new file mode 100644 (file)
index 0000000..c0c4f4f
--- /dev/null
@@ -0,0 +1,299 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource3D_i.cxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_ProjectionSource3D_i.hxx"
+
+#include "SMESH_Gen_i.hxx"
+#include "SMESH_Gen.hxx"
+#include "SMESH_PythonDump.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include "StdMeshers_ObjRefUlils.hxx"
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource3D_i::StdMeshers_ProjectionSource3D_i
+ *
+ *  Constructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource3D_i::StdMeshers_ProjectionSource3D_i
+( PortableServer::POA_ptr thePOA,
+  int                     theStudyId,
+  ::SMESH_Gen*            theGenImpl ) : SALOME::GenericObj_i( thePOA ), 
+                                         SMESH_Hypothesis_i( thePOA )
+{
+  MESSAGE( "StdMeshers_ProjectionSource3D_i::StdMeshers_ProjectionSource3D_i" );
+  myBaseImpl = new ::StdMeshers_ProjectionSource3D( theGenImpl->GetANewId(),
+                                                    theStudyId,
+                                                    theGenImpl );
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource3D_i::~StdMeshers_ProjectionSource3D_i
+ *
+ *  Destructor
+ */
+//=============================================================================
+
+StdMeshers_ProjectionSource3D_i::~StdMeshers_ProjectionSource3D_i()
+{
+  MESSAGE( "StdMeshers_ProjectionSource3D_i::~StdMeshers_ProjectionSource3D_i" );
+}
+
+//=============================================================================
+  /*!
+   * Sets a source <face> to take a mesh pattern from
+   */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D_i::SetSource3DShape(GEOM::GEOM_Object_ptr shape)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    this->GetImpl()->SetSource3DShape( StdMeshers_ObjRefUlils::GeomObjectToShape( shape ));
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSource3DShape( " << shape << " )";
+}
+
+//=============================================================================
+/*!
+ * Sets source <mesh> to take a mesh pattern from
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D_i::SetSourceMesh(SMESH::SMESH_Mesh_ptr theMesh)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+
+  ::SMESH_Mesh* mesh = 0;
+
+  if ( !CORBA::is_nil( theMesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( theMesh );
+    if ( !mesh_i )
+      THROW_SALOME_CORBA_EXCEPTION( "bad mesh", SALOME::BAD_PARAM );
+    mesh = &mesh_i->GetImpl();
+  }
+
+  try {
+    this->GetImpl()->SetSourceMesh ( mesh );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( theMesh );
+
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetSourceMesh( " << theMesh << " )";
+}
+
+//=============================================================================
+/*!
+ * Return source mesh
+ */
+//=============================================================================
+
+SMESH::SMESH_Mesh_ptr StdMeshers_ProjectionSource3D_i::GetSourceMesh()
+{
+  SMESH::SMESH_Mesh_var mesh = myCorbaMesh;
+  return mesh._retn();
+}
+
+//=============================================================================
+/*!
+ * Sets vertex association between the source shape and the target one.
+ * This parameter is optional.
+ * Two vertices must belong to one edge of a shape
+ */
+//=============================================================================
+
+void StdMeshers_ProjectionSource3D_i::SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1,
+                                                           GEOM::GEOM_Object_ptr sourceVertex2,
+                                                           GEOM::GEOM_Object_ptr targetVertex1,
+                                                           GEOM::GEOM_Object_ptr targetVertex2)
+  throw ( SALOME::SALOME_Exception )
+{
+  ASSERT( myBaseImpl );
+  try {
+    TopoDS_Shape v1 = StdMeshers_ObjRefUlils::GeomObjectToShape( sourceVertex1 );
+    TopoDS_Shape v2 = StdMeshers_ObjRefUlils::GeomObjectToShape( sourceVertex2 );
+    TopoDS_Shape v3 = StdMeshers_ObjRefUlils::GeomObjectToShape( targetVertex1 );
+    TopoDS_Shape v4 = StdMeshers_ObjRefUlils::GeomObjectToShape( targetVertex2 );
+    this->GetImpl()->SetVertexAssociation( v1, v2, v3, v4 );
+  }
+  catch ( SALOME_Exception& S_ex ) {
+    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
+  }
+  // Update Python script
+  SMESH::TPythonDump() << _this() << ".SetVertexAssociation( "
+                       << sourceVertex1 << ", "
+                       << sourceVertex2 << ", "
+                       << targetVertex1 << ", "
+                       << targetVertex2 << " )";
+}
+
+//=============================================================================
+/*!
+ * Returns the source face
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource3D_i::GetSource3DShape()
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSource3DShape() );
+}
+
+//=============================================================================
+/*!
+ * Returns the vertex associated with the target vertex.
+ * Result may be nil if association not set
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource3D_i::GetSourceVertex(CORBA::Long i)
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetSourceVertex((int) i ));
+}
+
+//=============================================================================
+/*!
+ * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+ * Result may be nil if association not set.
+ */
+//=============================================================================
+
+GEOM::GEOM_Object_ptr StdMeshers_ProjectionSource3D_i::GetTargetVertex(CORBA::Long i)
+{
+  ASSERT( myBaseImpl );
+  return StdMeshers_ObjRefUlils::ShapeToGeomObject( this->GetImpl()->GetTargetVertex( (int)i ));
+}
+
+//=============================================================================
+/*!
+ *  StdMeshers_ProjectionSource3D_i::GetImpl
+ *
+ *  Get implementation
+ */
+//=============================================================================
+
+::StdMeshers_ProjectionSource3D* StdMeshers_ProjectionSource3D_i::GetImpl()
+{
+  return ( ::StdMeshers_ProjectionSource3D* )myBaseImpl;
+}
+
+//================================================================================
+/*!
+ * \brief Verify whether hypothesis supports given entity type 
+  * \param type - dimension (see SMESH::Dimension enumeration)
+  * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
+ * 
+ * Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
+ */
+//================================================================================  
+CORBA::Boolean StdMeshers_ProjectionSource3D_i::IsDimSupported( SMESH::Dimension type )
+{
+  return type == SMESH::DIM_3D;
+}
+
+//================================================================================
+/*!
+ * \brief Write parameters in a string
+  * \retval char* - resulting string
+ */
+//================================================================================
+
+char* StdMeshers_ProjectionSource3D_i::SaveTo()
+{
+  ASSERT( myBaseImpl );
+  std::ostringstream os;
+
+  TopoDS_Shape s1, s2, s3, s4, s5;
+  GetImpl()->GetStoreParams( s1, s2, s3, s4, s5 );
+
+  StdMeshers_ObjRefUlils::SaveToStream( s1, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s2, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s3, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s4, os );
+  StdMeshers_ObjRefUlils::SaveToStream( s5, os );
+  StdMeshers_ObjRefUlils::SaveToStream( GetSourceMesh(), os );
+
+  myBaseImpl->SaveTo( os );
+
+  return CORBA::string_dup( os.str().c_str() );
+}
+
+//================================================================================
+/*!
+ * \brief Retrieve parameters from the string
+  * \param theStream - the input string
+ */
+//================================================================================
+
+void StdMeshers_ProjectionSource3D_i::LoadFrom( const char* theStream )
+{
+  ASSERT( myBaseImpl );
+  std::istringstream is( theStream );
+
+  TopoDS_Shape s1 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s2 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s3 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s4 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  TopoDS_Shape s5 = StdMeshers_ObjRefUlils::LoadFromStream( is );
+  SMESH::SMESH_Mesh_var mesh =
+    StdMeshers_ObjRefUlils::LoadObjectFromStream< SMESH::SMESH_Mesh >( is );
+
+  ::SMESH_Mesh* meshImpl = 0;
+
+  if ( !CORBA::is_nil( mesh ))
+  {
+    SMESH_Mesh_i* mesh_i = SMESH::DownCast< SMESH_Mesh_i* >( mesh );
+    if ( mesh_i )
+      meshImpl = &mesh_i->GetImpl();
+  }
+
+  myCorbaMesh = SMESH::SMESH_Mesh::_duplicate( mesh );
+  GetImpl()->RestoreParams( s1, s2, s3, s4, s5, meshImpl );
+  myBaseImpl->LoadFrom( is );
+}
+
diff --git a/src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.hxx b/src/StdMeshers_I/StdMeshers_ProjectionSource3D_i.hxx
new file mode 100644 (file)
index 0000000..7533314
--- /dev/null
@@ -0,0 +1,122 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_ProjectionSource3D_i.hxx
+//  Author : Edward AGAPOV
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_ProjectionSource3D_I_HXX_
+#define _SMESH_ProjectionSource3D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#include "SMESH_Hypothesis_i.hxx"
+#include "StdMeshers_ProjectionSource3D.hxx"
+
+class SMESH_Gen;
+
+// =========================================================
+/*!
+ * This hypothesis specifies a meshed shell or solid to take a mesh pattern from
+ * and optionally association of vertices between the source shape and a
+ * target one (where a hipothesis is assigned to)
+ */
+// =========================================================
+
+class StdMeshers_ProjectionSource3D_i:
+  public virtual POA_StdMeshers::StdMeshers_ProjectionSource3D,
+  public virtual SMESH_Hypothesis_i
+{
+public:
+  // Constructor
+  StdMeshers_ProjectionSource3D_i( PortableServer::POA_ptr thePOA,
+                                   int                     theStudyId,
+                                   ::SMESH_Gen*            theGenImpl );
+  // Destructor
+  virtual ~StdMeshers_ProjectionSource3D_i();
+
+  /*!
+   * Sets a source <shape> to take a mesh pattern from
+   */
+  void SetSource3DShape(GEOM::GEOM_Object_ptr shape)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the source shape
+   */
+  GEOM::GEOM_Object_ptr GetSource3DShape();
+
+  /*!
+   * Sets source <mesh> to take a mesh pattern from
+   */
+  void SetSourceMesh(SMESH::SMESH_Mesh_ptr mesh)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Return source mesh
+   */
+  SMESH::SMESH_Mesh_ptr GetSourceMesh();
+
+  /*!
+   * Sets vertex association between the source shape and the target one.
+   * This parameter is optional.
+   * Two vertices must belong to one edge of a shape
+   */
+  void SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1,
+                            GEOM::GEOM_Object_ptr sourceVertex2,
+                            GEOM::GEOM_Object_ptr targetVertex1,
+                            GEOM::GEOM_Object_ptr targetVertex2)
+    throw ( SALOME::SALOME_Exception );
+
+  /*!
+   * Returns the <i>-th source vertex associated with the <i>-th target vertex.
+   * Result may be nil if association not set.
+   */
+  GEOM::GEOM_Object_ptr GetSourceVertex(CORBA::Long i);
+
+  /*!
+   * Returns the <i>-th target vertex associated with the <i>-th source vertex.
+   * Result may be nil if association not set.
+   */
+  GEOM::GEOM_Object_ptr GetTargetVertex(CORBA::Long i);
+
+  // Get implementation
+  ::StdMeshers_ProjectionSource3D* GetImpl();
+
+  // Verify whether hypothesis supports given entity type 
+  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
+
+
+  // Redefined Persistence
+  virtual char* SaveTo();
+  virtual void  LoadFrom( const char* theStream );
+
+private:
+  SMESH::SMESH_Mesh_var myCorbaMesh;
+};
+
+#endif
+
diff --git a/src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.cxx b/src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.cxx
new file mode 100644 (file)
index 0000000..e103752
--- /dev/null
@@ -0,0 +1,140 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Projection_3D_i.cxx
+//           Moved here from SMESH_Projection_3D_i.cxx
+//  Author : Paul RASCLE, EDF
+//  Module : SMESH
+//  $Header$
+
+#include "StdMeshers_Projection_1D_2D_3D_i.hxx"
+
+#include "SMESH_Gen.hxx"
+
+#include "Utils_CorbaException.hxx"
+#include "utilities.h"
+
+#include "StdMeshers_ObjRefUlils.hxx"
+
+using namespace std;
+
+//=============================================================================
+/*!
+ *  StdMeshers_Projection_3D_i::StdMeshers_Projection_3D_i
+ */
+//=============================================================================
+
+StdMeshers_Projection_3D_i::StdMeshers_Projection_3D_i( PortableServer::POA_ptr thePOA,
+                                                        int                     theStudyId,
+                                                        ::SMESH_Gen*            theGenImpl )
+     : SALOME::GenericObj_i( thePOA ), 
+       SMESH_Hypothesis_i( thePOA ), 
+       SMESH_Algo_i( thePOA ),
+       SMESH_3D_Algo_i( thePOA )
+{
+  MESSAGE( "StdMeshers_Projection_3D_i::StdMeshers_Projection_3D_i" );
+  myBaseImpl = new ::StdMeshers_Projection_3D( theGenImpl->GetANewId(),
+                                   theStudyId,
+                                   theGenImpl );
+}
+//-----------------------------------------------------------------------------
+
+StdMeshers_Projection_3D_i::~StdMeshers_Projection_3D_i()
+{
+  MESSAGE( "StdMeshers_Projection_3D_i::~StdMeshers_Projection_3D_i" );
+}
+//-----------------------------------------------------------------------------
+
+::StdMeshers_Projection_3D* StdMeshers_Projection_3D_i::GetImpl()
+{
+  MESSAGE( "StdMeshers_Projection_3D_i::GetImpl" );
+  return ( ::StdMeshers_Projection_3D* )myBaseImpl;
+}
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_Projection_2D_i::StdMeshers_Projection_2D_i
+ */
+//=============================================================================
+
+StdMeshers_Projection_2D_i::StdMeshers_Projection_2D_i( PortableServer::POA_ptr thePOA,
+                                                        int                     theStudyId,
+                                                        ::SMESH_Gen*            theGenImpl )
+     : SALOME::GenericObj_i( thePOA ), 
+       SMESH_Hypothesis_i( thePOA ), 
+       SMESH_Algo_i( thePOA ),
+       SMESH_2D_Algo_i( thePOA )
+{
+  MESSAGE( "StdMeshers_Projection_2D_i::StdMeshers_Projection_2D_i" );
+  myBaseImpl = new ::StdMeshers_Projection_2D( theGenImpl->GetANewId(),
+                                   theStudyId,
+                                   theGenImpl );
+}
+//-----------------------------------------------------------------------------
+
+StdMeshers_Projection_2D_i::~StdMeshers_Projection_2D_i()
+{
+  MESSAGE( "StdMeshers_Projection_2D_i::~StdMeshers_Projection_2D_i" );
+}
+//-----------------------------------------------------------------------------
+
+::StdMeshers_Projection_2D* StdMeshers_Projection_2D_i::GetImpl()
+{
+  MESSAGE( "StdMeshers_Projection_2D_i::GetImpl" );
+  return ( ::StdMeshers_Projection_2D* )myBaseImpl;
+}
+
+
+//=============================================================================
+/*!
+ *  StdMeshers_Projection_1D_i::StdMeshers_Projection_1D_i
+ */
+//=============================================================================
+
+StdMeshers_Projection_1D_i::StdMeshers_Projection_1D_i( PortableServer::POA_ptr thePOA,
+                                                        int                     theStudyId,
+                                                        ::SMESH_Gen*            theGenImpl )
+     : SALOME::GenericObj_i( thePOA ), 
+       SMESH_Hypothesis_i( thePOA ), 
+       SMESH_Algo_i( thePOA ),
+       SMESH_1D_Algo_i( thePOA )
+{
+  MESSAGE( "StdMeshers_Projection_1D_i::StdMeshers_Projection_1D_i" );
+  myBaseImpl = new ::StdMeshers_Projection_1D( theGenImpl->GetANewId(),
+                                   theStudyId,
+                                   theGenImpl );
+}
+//-----------------------------------------------------------------------------
+
+StdMeshers_Projection_1D_i::~StdMeshers_Projection_1D_i()
+{
+  MESSAGE( "StdMeshers_Projection_1D_i::~StdMeshers_Projection_1D_i" );
+}
+//-----------------------------------------------------------------------------
+
+::StdMeshers_Projection_1D* StdMeshers_Projection_1D_i::GetImpl()
+{
+  MESSAGE( "StdMeshers_Projection_1D_i::GetImpl" );
+  return ( ::StdMeshers_Projection_1D* )myBaseImpl;
+}
diff --git a/src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.hxx b/src/StdMeshers_I/StdMeshers_Projection_1D_2D_3D_i.hxx
new file mode 100644 (file)
index 0000000..d55280a
--- /dev/null
@@ -0,0 +1,109 @@
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : StdMeshers_Hexa_3D_i.hxx
+//           Moved here from SMESH_Hexa_3D_i.hxx
+//  Author : Paul RASCLE, EDF
+//  Module : SMESH
+//  $Header$
+
+#ifndef _SMESH_Projection_3D_I_HXX_
+#define _SMESH_Projection_3D_I_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
+
+#include "SMESH_1D_Algo_i.hxx"
+#include "SMESH_2D_Algo_i.hxx"
+#include "SMESH_3D_Algo_i.hxx"
+#include "StdMeshers_Projection_1D.hxx"
+#include "StdMeshers_Projection_2D.hxx"
+#include "StdMeshers_Projection_3D.hxx"
+
+class SMESH_Gen;
+
+// ======================================================
+// Projection 3D algorithm
+// ======================================================
+
+class StdMeshers_Projection_3D_i:
+  public virtual POA_StdMeshers::StdMeshers_Projection_3D,
+  public virtual SMESH_3D_Algo_i
+{
+public:
+  // Constructor
+  StdMeshers_Projection_3D_i( PortableServer::POA_ptr thePOA,
+                              int                     theStudyId,
+                              ::SMESH_Gen*            theGenImpl );
+
+  // Destructor
+  virtual ~StdMeshers_Projection_3D_i();
+
+  // Get implementation
+  ::StdMeshers_Projection_3D* GetImpl();
+};
+
+// ======================================================
+// Projection 3D algorithm
+// ======================================================
+
+class StdMeshers_Projection_2D_i:
+  public virtual POA_StdMeshers::StdMeshers_Projection_2D,
+  public virtual SMESH_2D_Algo_i
+{
+public:
+  // Constructor
+  StdMeshers_Projection_2D_i( PortableServer::POA_ptr thePOA,
+                              int                     theStudyId,
+                              ::SMESH_Gen*            theGenImpl );
+
+  // Destructor
+  virtual ~StdMeshers_Projection_2D_i();
+
+  // Get implementation
+  ::StdMeshers_Projection_2D* GetImpl();
+};
+
+// ======================================================
+// Projection 3D algorithm
+// ======================================================
+
+class StdMeshers_Projection_1D_i:
+  public virtual POA_StdMeshers::StdMeshers_Projection_1D,
+  public virtual SMESH_1D_Algo_i
+{
+public:
+  // Constructor
+  StdMeshers_Projection_1D_i( PortableServer::POA_ptr thePOA,
+                              int                     theStudyId,
+                              ::SMESH_Gen*            theGenImpl );
+
+  // Destructor
+  virtual ~StdMeshers_Projection_1D_i();
+
+  // Get implementation
+  ::StdMeshers_Projection_1D* GetImpl();
+};
+
+
+#endif
index 72295061c70d96919fc23cd46f637c12e99e9c38..f800850171740b7e4713359c9f8b8be607d140bd 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Propagation_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Propagation_i::StdMeshers_Propagation_i
index 4f127b684cea516c26e9e106d9eaf4f09a860ab2..188b6481024df5be401cf5f8dbd48fef96ce35f7 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMESH_PROPAGATION_I_HXX_
 #define _SMESH_PROPAGATION_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -38,7 +40,7 @@ class SMESH_Gen;
 // ======================================================
 // Propagation hypothesis
 // ======================================================
-class StdMeshers_Propagation_i:
+class STDMESHERS_I_EXPORT StdMeshers_Propagation_i:
   public virtual POA_StdMeshers::StdMeshers_Propagation,
   public virtual SMESH_Hypothesis_i
 {
index 77241e4907777c3423b0c575864b5beb344eb1a1..dc2eb803d3fe09bd7879854cb121fe9358185419 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_QuadranglePreference_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -37,6 +36,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_QuadranglePreference_i::StdMeshers_QuadranglePreference_i
index 2b0776ef99d9dd880885bca9ff5d9ab9e1505594..f4897d680bfdad488dc1b13b5d807b270595c99b 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_QuadranglePreference_I_HXX_
 #define _SMESH_QuadranglePreference_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Local Length hypothesis
 // ======================================================
-class StdMeshers_QuadranglePreference_i:
+class STDMESHERS_I_EXPORT StdMeshers_QuadranglePreference_i:
   public virtual POA_StdMeshers::StdMeshers_QuadranglePreference,
   public virtual SMESH_Hypothesis_i
 {
index 65f084e6d2f7018f6c5e0bfb248fe8d36db31010..8031a92de920d230fe722170456625e8d0d3d8fe 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Quadrangle_2D_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Quadrangle_2D_i::StdMeshers_Quadrangle_2D_i
index 739baa48c5f7ca83215a19fae2cdfb104b6763f5..3c30544338c34a1bb208eb06c3cea584bb8a23c0 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_QUADRANGLE_2D_I_HXX_
 #define _SMESH_QUADRANGLE_2D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Quadrangle (Mapping) 2d algorithm
 // ======================================================
-class StdMeshers_Quadrangle_2D_i:
+class STDMESHERS_I_EXPORT StdMeshers_Quadrangle_2D_i:
   public virtual POA_StdMeshers::StdMeshers_Quadrangle_2D,
   public virtual SMESH_2D_Algo_i
 {
index 90c74e3d9da9e354f21c6ab62d066249040df64e..fc901f4e700660f0fb71c38f2b05bb3c45fccab4 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_QuadraticMesh_I_HXX_
 #define _SMESH_QuadraticMesh_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Local Length hypothesis
 // ======================================================
-class StdMeshers_QuadraticMesh_i:
+class STDMESHERS_I_EXPORT StdMeshers_QuadraticMesh_i:
   public virtual POA_StdMeshers::StdMeshers_QuadraticMesh,
   public virtual SMESH_Hypothesis_i
 {
index 3aca858e49fcd921e37133075dceedf129d3f961..5ecf5c443e58fb73e5960c73eebfbe9299539adf 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_Regular_1D_i.hxx"
 #include "SMESH_Gen.hxx"
 
 #include "Utils_CorbaException.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_Regular_1D_i::StdMeshers_Regular_1D_i
index b372444bdb3c63667e9e8b611a052ecde61c2def..5ecf97ef45571b0444d7a2b1b6c11d8d7f6ada23 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_REGULAR_1D_I_HXX_
 #define _SMESH_REGULAR_1D_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -39,7 +41,7 @@
 // ======================================================
 // Wire Discretization 1d algorithm
 // ======================================================
-class StdMeshers_Regular_1D_i:
+class STDMESHERS_I_EXPORT StdMeshers_Regular_1D_i:
   public virtual POA_StdMeshers::StdMeshers_Regular_1D,
   public virtual SMESH_1D_Algo_i
 {
index 449db3e863821d9e0be9aa1c741903e890c13304..298f828911ee3e76c8fee503b02ce74931b4ad8f 100644 (file)
@@ -27,7 +27,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "StdMeshers_StartEndLength_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Gen.hxx"
@@ -38,6 +37,8 @@ using namespace std;
 
 #include <TCollection_AsciiString.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  StdMeshers_StartEndLength_i::StdMeshers_StartEndLength_i
index 45c74af27d4c334e046401d9c9508c102bb80e67..506bb912c306d31bba335c82ab6704fbb3cb398a 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef _SMESH_StartEndLength_I_HXX_
 #define _SMESH_StartEndLength_I_HXX_
 
+#include "SMESH_StdMeshers_I.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
 
@@ -41,7 +43,7 @@ class SMESH_Gen;
 // ======================================================
 // Local Length hypothesis
 // ======================================================
-class StdMeshers_StartEndLength_i:
+class STDMESHERS_I_EXPORT StdMeshers_StartEndLength_i:
   public virtual POA_StdMeshers::StdMeshers_StartEndLength,
   public virtual SMESH_Hypothesis_i
 {
index 42f4c68fd27925cd27457bf5d0ddf7d66827c1c5..20e120ea54098b96294e43647c2876235a469684 100644 (file)
@@ -25,7 +25,8 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
+#include "SMESH_StdMeshers_I.hxx"
+
 #include "SMESH_Gen_i.hxx"
 
 #include "utilities.h"
@@ -44,11 +45,21 @@ using namespace std;
 #include "StdMeshers_MaxElementVolume_i.hxx"
 #include "StdMeshers_NotConformAllowed_i.hxx"
 
+#include "StdMeshers_ProjectionSource3D_i.hxx"
+#include "StdMeshers_ProjectionSource2D_i.hxx"
+#include "StdMeshers_ProjectionSource1D_i.hxx"
+#include "StdMeshers_NumberOfLayers_i.hxx"
+#include "StdMeshers_LayerDistribution_i.hxx"
+
 #include "StdMeshers_Regular_1D_i.hxx"
 #include "StdMeshers_MEFISTO_2D_i.hxx"
 #include "StdMeshers_Quadrangle_2D_i.hxx"
 #include "StdMeshers_Hexa_3D_i.hxx"
 
+#include "StdMeshers_Projection_1D_2D_3D_i.hxx"
+#include "StdMeshers_Prism_3D_i.hxx"
+
+
 template <class T> class StdHypothesisCreator_i:public HypothesisCreator_i<T>
 {
   // as we have 'module StdMeshers' in SMESH_BasicHypothesis.idl
@@ -63,6 +74,7 @@ template <class T> class StdHypothesisCreator_i:public HypothesisCreator_i<T>
 
 extern "C"
 {
+STDMESHERS_I_EXPORT
   GenericHypothesisCreator_i* GetHypothesisCreator (const char* aHypName)
   {
     MESSAGE("Get HypothesisCreator for " << aHypName);
@@ -96,6 +108,16 @@ extern "C"
       aCreator = new StdHypothesisCreator_i<StdMeshers_QuadranglePreference_i>;
     else if (strcmp(aHypName, "QuadraticMesh") == 0)
       aCreator = new StdHypothesisCreator_i<StdMeshers_QuadraticMesh_i>;
+    else if (strcmp(aHypName, "ProjectionSource3D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_ProjectionSource3D_i>;
+    else if (strcmp(aHypName, "ProjectionSource2D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_ProjectionSource2D_i>;
+    else if (strcmp(aHypName, "ProjectionSource1D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_ProjectionSource1D_i>;
+    else if (strcmp(aHypName, "NumberOfLayers") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_NumberOfLayers_i>;
+    else if (strcmp(aHypName, "LayerDistribution") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_LayerDistribution_i>;
 
     // Algorithms
     else if (strcmp(aHypName, "Regular_1D") == 0)
@@ -106,6 +128,16 @@ extern "C"
       aCreator = new StdHypothesisCreator_i<StdMeshers_Quadrangle_2D_i>;
     else if (strcmp(aHypName, "Hexa_3D") == 0)
       aCreator = new StdHypothesisCreator_i<StdMeshers_Hexa_3D_i>;
+    else if (strcmp(aHypName, "Projection_1D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Projection_1D_i>;
+    else if (strcmp(aHypName, "Projection_2D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Projection_2D_i>;
+    else if (strcmp(aHypName, "Projection_3D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Projection_3D_i>;
+    else if (strcmp(aHypName, "Prism_3D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_Prism_3D_i>;
+    else if (strcmp(aHypName, "RadialPrism_3D") == 0)
+      aCreator = new StdHypothesisCreator_i<StdMeshers_RadialPrism_3D_i>;
     else ;
 
     return aCreator;