Flow123d
3.9.0-094ba6f5a
|
Main class for computation of intersection of meshes of combined dimensions. More...
#include <mixed_mesh_intersections.hh>
Public Types | |
typedef std::pair< unsigned int, IntersectionLocalBase * > | ILpair |
Public Member Functions | |
MixedMeshIntersections (Mesh *mesh) | |
~MixedMeshIntersections () | |
void | compute_intersections (IntersectionType d=IntersectionType::all) |
unsigned int | number_of_components (unsigned int dim) |
double | measure_13 () |
Computes the size of the intersection in dim dimenstions. More... | |
double | measure_23 () |
double | measure_22 () |
void | print_mesh_to_file_13 (std::string name) |
Generates a mesh file of the given name, including the intersection. More... | |
void | print_mesh_to_file_23 (std::string name) |
Public Attributes | |
std::vector< IntersectionLocal< 1, 3 > > | intersection_storage13_ |
Stores 1D-3D intersections. More... | |
std::vector< IntersectionLocal< 2, 3 > > | intersection_storage23_ |
Stores 2D-3D intersections. More... | |
std::vector< IntersectionLocal< 2, 2 > > | intersection_storage22_ |
Stores 2D-2D intersections. More... | |
std::vector< IntersectionLocal< 1, 2 > > | intersection_storage12_ |
Stores 1D-2D intersections. More... | |
std::vector< std::vector< ILpair > > | element_intersections_ |
Private Member Functions | |
template<uint dim_A, uint dim_B> | |
void | store_intersection (std::vector< IntersectionLocal< dim_A, dim_B >> &storage, IntersectionAux< dim_A, dim_B > &isec_aux) |
template<uint dim_A, uint dim_B> | |
void | append_to_index (std::vector< IntersectionLocal< dim_A, dim_B >> &storage) |
template<unsigned int dim> | |
void | compute_intersections (InspectElementsAlgorithm< dim > &iea, std::vector< IntersectionLocal< dim, 3 >> &storage) |
Auxiliary function that calls InspectElementsAlgorithm<dim>. More... | |
void | compute_intersections_22 (std::vector< IntersectionLocal< 2, 2 >> &storage) |
void | compute_intersections_12_3 (std::vector< IntersectionLocal< 1, 2 >> &storage) |
void | compute_intersections_12_1 (std::vector< IntersectionLocal< 1, 2 >> &storage) |
void | compute_intersections_12_2 (std::vector< IntersectionLocal< 1, 2 >> &storage) |
Private Attributes | |
Mesh * | mesh |
Mesh pointer. More... | |
InspectElementsAlgorithm< 1 > | algorithm13_ |
InspectElementsAlgorithm< 2 > | algorithm23_ |
InspectElementsAlgorithm22 | algorithm22_ |
InspectElementsAlgorithm12 | algorithm12_ |
Main class for computation of intersection of meshes of combined dimensions.
Controls different algorithms for computation of intersection. Computes intersection in the order:
intersection_storageXY_
..When we are on an element, we use element_intersections_
to get to all its intersections.
Definition at line 64 of file mixed_mesh_intersections.hh.
typedef std::pair<unsigned int, IntersectionLocalBase *> MixedMeshIntersections::ILpair |
For every element, stores list of intersections with this element.
intersection_map_[element index][i].first = other element index intersection_map_[element index][i].second = index pointer to the intersection object
Definition at line 82 of file mixed_mesh_intersections.hh.
MixedMeshIntersections::MixedMeshIntersections | ( | Mesh * | mesh | ) |
Definition at line 25 of file mixed_mesh_intersections.cc.
MixedMeshIntersections::~MixedMeshIntersections | ( | ) |
Definition at line 29 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 130 of file mixed_mesh_intersections.cc.
|
private |
Auxiliary function that calls InspectElementsAlgorithm<dim>.
Definition at line 156 of file mixed_mesh_intersections.cc.
void MixedMeshIntersections::compute_intersections | ( | IntersectionType | d = IntersectionType::all | ) |
Calls InspectElementsAlgorithm<dim>
, computes intersections, move them to storage, create the map and throw away the rest.
Definition at line 323 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 303 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 283 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 242 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 195 of file mixed_mesh_intersections.cc.
double MixedMeshIntersections::measure_13 | ( | ) |
Computes the size of the intersection in dim
dimenstions.
Definition at line 41 of file mixed_mesh_intersections.cc.
double MixedMeshIntersections::measure_22 | ( | ) |
Definition at line 78 of file mixed_mesh_intersections.cc.
double MixedMeshIntersections::measure_23 | ( | ) |
Definition at line 65 of file mixed_mesh_intersections.cc.
unsigned int MixedMeshIntersections::number_of_components | ( | unsigned int | dim | ) |
Definition at line 33 of file mixed_mesh_intersections.cc.
void MixedMeshIntersections::print_mesh_to_file_13 | ( | std::string | name | ) |
Generates a mesh file of the given name, including the intersection.
Definition at line 400 of file mixed_mesh_intersections.cc.
void MixedMeshIntersections::print_mesh_to_file_23 | ( | std::string | name | ) |
Definition at line 495 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 106 of file mixed_mesh_intersections.cc.
|
private |
Definition at line 112 of file mixed_mesh_intersections.hh.
|
private |
Definition at line 109 of file mixed_mesh_intersections.hh.
|
private |
Definition at line 111 of file mixed_mesh_intersections.hh.
|
private |
Definition at line 110 of file mixed_mesh_intersections.hh.
std::vector<std::vector<ILpair> > MixedMeshIntersections::element_intersections_ |
Definition at line 83 of file mixed_mesh_intersections.hh.
std::vector<IntersectionLocal<1,2> > MixedMeshIntersections::intersection_storage12_ |
Stores 1D-2D intersections.
Definition at line 74 of file mixed_mesh_intersections.hh.
std::vector<IntersectionLocal<1,3> > MixedMeshIntersections::intersection_storage13_ |
Stores 1D-3D intersections.
Definition at line 68 of file mixed_mesh_intersections.hh.
std::vector<IntersectionLocal<2,2> > MixedMeshIntersections::intersection_storage22_ |
Stores 2D-2D intersections.
Definition at line 72 of file mixed_mesh_intersections.hh.
std::vector<IntersectionLocal<2,3> > MixedMeshIntersections::intersection_storage23_ |
Stores 2D-3D intersections.
Definition at line 70 of file mixed_mesh_intersections.hh.
|
private |
Mesh pointer.
Definition at line 107 of file mixed_mesh_intersections.hh.