ViennaGrid - The Vienna Grid Library
2.1.0
|
Contains functions for creating elements within a mesh or segment. More...
#include "viennagrid/mesh/mesh.hpp"
#include "viennagrid/mesh/segmentation.hpp"
#include "viennagrid/topology/plc.hpp"
#include "viennagrid/algorithm/norm.hpp"
Go to the source code of this file.
Data Structures | |
struct | copy_elements_impl< ElementTagT > |
struct | copy_elements_impl< plc_tag > |
struct | make_element_impl< ElementTagT > |
struct | make_element_impl< plc_tag > |
Namespaces | |
namespace | viennagrid |
The main ViennaGrid namespace. Most user functionality resides directly in this namespace rather than in sub-namespaces. | |
namespace | viennagrid::detail |
Namespace for implementation details. Not intended to be used directly by a library user. | |
Functions | |
template<typename ElementT , typename MeshOrSegmentHandleT > | |
viennagrid::result_of::handle < MeshOrSegmentHandleT, typename viennagrid::result_of::element_tag < ElementT >::type >::type | copy_element (ElementT const &element, MeshOrSegmentHandleT &mesh_segment, typename viennagrid::result_of::coord< MeshOrSegmentHandleT >::type tolerance) |
Function for copying an element to a mesh or segment. | |
template<typename ElementT , typename MeshOrSegmentHandleT > | |
viennagrid::result_of::handle < MeshOrSegmentHandleT, typename viennagrid::result_of::element_tag < ElementT >::type >::type | copy_element (ElementT const &element, MeshOrSegmentHandleT &mesh_segment) |
Function for copying an element to a mesh or segment. | |
template<typename ElementIteratorT , typename OutputMeshOrSegmentHandleT > | |
void | copy_elements (ElementIteratorT const &begin, ElementIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh, typename viennagrid::result_of::coord< OutputMeshOrSegmentHandleT >::type tolerance) |
Function for copying an element iterator range to a mesh or segment. | |
template<typename ElementIteratorT , typename OutputMeshOrSegmentHandleT > | |
void | copy_elements (ElementIteratorT const &begin, ElementIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh) |
Function for copying an element iterator range to a mesh or segment. | |
template<typename InputMeshOrSegmentHandleT , typename ElementHandleIteratorT , typename OutputMeshOrSegmentHandleT > | |
void | copy_elements_by_handle (InputMeshOrSegmentHandleT const &input_mesh, ElementHandleIteratorT const &begin, ElementHandleIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh, typename viennagrid::result_of::coord< OutputMeshOrSegmentHandleT >::type tolerance) |
template<typename InputMeshOrSegmentHandleT , typename ElementHandleIteratorT , typename OutputMeshOrSegmentHandleT > | |
void | copy_elements_by_handle (InputMeshOrSegmentHandleT const &input_mesh, ElementHandleIteratorT const &begin, ElementHandleIteratorT const &end, OutputMeshOrSegmentHandleT &output_mesh) |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT > | |
result_of::cell_handle < MeshOrSegmentHandleTypeT > ::type | make_cell (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT vertices_begin, VertexHandleIteratorT const &vertices_end) |
Function for creating an cell within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT > | |
result_of::cell_handle < MeshOrSegmentHandleTypeT > ::type | make_cell_with_id (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT vertices_begin, VertexHandleIteratorT const &vertices_end, typename viennagrid::result_of::cell< MeshOrSegmentHandleTypeT >::type::id_type id) |
Function for creating an cell with ID within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::edge_handle < MeshOrSegmentHandleTypeT > ::type | make_edge (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1) |
Function for creating an edge within a mesh or a segment (same as make_edge) | |
template<typename ElementTypeOrTagT , typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT > | |
result_of::handle < MeshOrSegmentHandleTypeT, ElementTypeOrTagT >::type | make_element (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT array_start, VertexHandleIteratorT const &array_end) |
Function for creating an element within a mesh or a segment. For PLC use make_plc. | |
template<typename ElementTypeOrTagT , typename MeshOrSegmentHandleTypeT , typename VertexHandleIteratorT , typename IDT > | |
result_of::handle < MeshOrSegmentHandleTypeT, ElementTypeOrTagT >::type | make_element_with_id (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleIteratorT array_start, VertexHandleIteratorT const &array_end, IDT id) |
Function for creating an element within a mesh or segment with a specific ID. For PLC use make_plc. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::hexahedron_handle < MeshOrSegmentHandleTypeT > ::type | make_hexahedron (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3, VertexHandleT v4, VertexHandleT v5, VertexHandleT v6, VertexHandleT v7) |
Function for creating a hexahedron within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::line_handle < MeshOrSegmentHandleTypeT > ::type | make_line (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1) |
Function for creating a line within a mesh or a segment (same as make_edge) | |
template<typename MeshOrSegmentHandleTypeT , typename LineHandleIteratorT , typename VertexHandleIteratorT > | |
result_of::plc_handle < MeshOrSegmentHandleTypeT > ::type | make_plc (MeshOrSegmentHandleTypeT &mesh_obj, LineHandleIteratorT lines_begin, LineHandleIteratorT lines_end, VertexHandleIteratorT loose_vertices_begin, VertexHandleIteratorT loose_vertices_end) |
template<typename MeshOrSegmentHandleTypeT , typename LineHandleIteratorT > | |
result_of::plc_handle < MeshOrSegmentHandleTypeT > ::type | make_plc (MeshOrSegmentHandleTypeT &mesh_obj, LineHandleIteratorT lines_begin, LineHandleIteratorT lines_end) |
template<typename MeshOrSegmentHandleTypeT , typename LineHandleIteratorT , typename VertexHandleIteratorT , typename PointIteratorT > | |
result_of::plc_handle < MeshOrSegmentHandleTypeT > ::type | make_plc (MeshOrSegmentHandleTypeT &mesh_segment, LineHandleIteratorT lines_begin, LineHandleIteratorT lines_end, VertexHandleIteratorT loose_vertices_begin, VertexHandleIteratorT loose_vertices_end, PointIteratorT hole_points_begin, PointIteratorT hole_points_end) |
Function for creating a PLC within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::quadrilateral_handle < MeshOrSegmentHandleTypeT > ::type | make_quadrilateral (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3) |
Function for creating a quadrilateral within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::tetrahedron_handle < MeshOrSegmentHandleTypeT > ::type | make_tetrahedron (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2, VertexHandleT v3) |
Function for creating a tetrahedron within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT , typename VertexHandleT > | |
result_of::triangle_handle < MeshOrSegmentHandleTypeT > ::type | make_triangle (MeshOrSegmentHandleTypeT &mesh_segment, VertexHandleT v0, VertexHandleT v1, VertexHandleT v2) |
Function for creating a triangle within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT > | |
result_of::vertex_handle < MeshOrSegmentHandleTypeT > ::type | make_unique_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point, typename result_of::coord< MeshOrSegmentHandleTypeT >::type tolerance) |
Function for creating a unique vertex. The uniqueness is checked by using the point of the vertex: if there is any vertex whose point is close to the point currently inserted, this handle is returned. A new vertex is created otherwise. A classical 2-norm and the tolerance is used for distance checking. The runtime of this function is linear in the vertices within the mesh. | |
template<typename MeshOrSegmentHandleTypeT > | |
result_of::vertex_handle < MeshOrSegmentHandleTypeT > ::type | make_unique_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &p) |
Function for creating a unique vertex. The uniqueness is checked by using the point of the vertex: if there is any vertex whose point is close to the point currently inserted, this handle is returned. A new vertex is created otherwise. A classical 2-norm and the 2-norm of points as tolerance is used for distance checking. The runtime of this function is linear in the vertices within the mesh. | |
template<typename MeshOrSegmentHandleTypeT > | |
result_of::vertex_handle < MeshOrSegmentHandleTypeT > ::type | make_vertex (MeshOrSegmentHandleTypeT &mesh_segment) |
Function for creating a vertex within a mesh or a segment. | |
template<typename MeshOrSegmentHandleTypeT > | |
result_of::vertex_handle < MeshOrSegmentHandleTypeT > ::type | make_vertex (MeshOrSegmentHandleTypeT &mesh_segment, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point) |
Function for creating a vertex within a mesh or a segment with a specific point. | |
template<typename MeshOrSegmentHandleTypeT > | |
result_of::vertex_handle < MeshOrSegmentHandleTypeT > ::type | make_vertex_with_id (MeshOrSegmentHandleTypeT &mesh_segment, typename viennagrid::result_of::element< MeshOrSegmentHandleTypeT, vertex_tag >::type::id_type id, typename result_of::point< MeshOrSegmentHandleTypeT >::type const &point) |
Function for creating a vertex within a mesh or a segment with a specific point and specific ID. |
Contains functions for creating elements within a mesh or segment.