12#ifndef __MeshUtilities_H
13#define __MeshUtilities_H
274 std::vector<Gedim::MeshUtilities::AgglomerateMeshFromTriangularMeshResult::ConcaveCell2D>
ConcaveCell2Ds;
349 std::vector<Gedim::MeshUtilities::FindPointMeshPositionResult::PointMeshPosition>
MeshPositions;
360 std::vector<Gedim::MeshUtilities::FindPointCell2DResult::PointCell2DFound>
Cell2Ds_found;
371 std::vector<Gedim::MeshUtilities::FindPointCell3DResult::PointCell3DFound>
Cell3Ds_found;
462 const std::vector<double> &coordinates,
471 const Eigen::MatrixXi &
cell1Ds,
472 const std::vector<Eigen::MatrixXi> &
cell2Ds,
476 const Eigen::MatrixXi &
cell1Ds,
477 const std::vector<Eigen::MatrixXi> &
cell2Ds,
478 const std::vector<Mesh3DPolyhedron> &
cell3Ds,
503 const std::vector<Eigen::VectorXi> &
cell2Ds)
const;
565 const unsigned int &marker,
572 const unsigned int &marker,
599 const unsigned int &marker,
603 const Eigen::Vector3d &
normal,
605 const unsigned int &marker,
615 const unsigned int &marker,
626 const unsigned int &marker,
656 const MeshGeometricData2DConfig &
config = MeshGeometricData2DConfig())
const;
781 const std::string &
options =
"-QDzpqnea")
const;
803 const std::string &
options =
"Qpqfezna")
const;
805 const std::vector<std::vector<unsigned int>> &
facets,
808 const std::string &
options =
"Qpqfezna")
const;
918 const unsigned int &
order = 1)
const;
983 const std::vector<Eigen::MatrixXi> &
subCell2Ds,
1096 const Eigen::Vector3d &
point,
1105 const Eigen::Vector3d &
point,
1107 const std::vector<std::vector<Eigen::MatrixXi>> &
cell3DsFaces,
1120 const Eigen::Vector3d &
point,
1122 const std::vector<std::vector<Eigen::MatrixXi>> &
cell3DsFaces,
1248 const std::vector<Gedim::GeometryUtilities::Polyhedron> &
polyhedra,
Eigen column vector.
Definition Eigen_Array.hpp:23
The GeometryUtilities class intersects 3D segments.
Definition GeometryUtilities.hpp:37
The IMeshDAO (mesh data access object) class to read and write mesh data.
Definition IMeshDAO.hpp:24
MeshUtilities.
Definition MeshUtilities.hpp:23
void ExportMeshToWavefrontOBJ(const Gedim::IMeshDAO &mesh, const std::string &offFilePath) const
Export 2D mesh to OBJ file.
Definition MeshUtilities.cpp:237
void ComputeCell1DCell2DNeighbours(Gedim::IMeshDAO &mesh) const
Compute Cell1D Cell2DNeighbours with given mesh data.
Definition MeshUtilities2D.cpp:1184
MeshGeometricData3D FillMesh3DGeometricData(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &convexMesh) const
Fill Mesh3D Geometric Data given a mesh with convex mesh cells.
Definition MeshUtilities3D.cpp:885
void CreateDistortedQuadrilaterals(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const unsigned int &numQuadrilateralsBaseTangent, const unsigned int &numQuadrilateralsHeightTangent, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:1701
void CreateParallelepipedMesh(const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleLengthTangent, const Eigen::Vector3d &rectangleHeightTangent, const Eigen::Vector3d &rectangleWidthTangent, const std::vector< double > &lengthMeshCurvilinearCoordinates, const std::vector< double > &heightMeshCurvilinearCoordinates, const std::vector< double > &widthMeshCurvilinearCoordinates, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:1826
void ComputeCell0DCell1DNeighbours(Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:1094
void ExtractActiveMesh(Gedim::IMeshDAO &mesh, Gedim::MeshUtilities::ExtractActiveMeshData &extractionData) const
Extract Active Cells from mesh.
Definition MeshUtilities.cpp:52
Gedim::MeshUtilities::AgglomerationInformation ImportAgglomerationInformationFromOFF(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &originalMesh, const Gedim::IMeshDAO &agglomeratedMesh, const std::string &fileName, const char &separator) const
Import Agglomeration mesh Information From file OFF.
Definition MeshUtilities2D.cpp:1738
void CreateRandomlyDeformedQuadrilaterals(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const unsigned int &numQuadrilateralsBaseTangent, const unsigned int &numQuadrilateralsHeightTangent, const double &maxDeformingPercentageBase, const double &maxDeformingPercentageHeight, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:1571
void ChangePolygonMeshMarkers(const Eigen::MatrixXd &polygonVertices, const std::vector< unsigned int > &cell0DMarkers, const std::vector< unsigned int > &cell1DMarkers, Gedim::IMeshDAO &mesh) const
Change Polygon Mesh Markers from { 1, 2, 3, 4, ..., numVertices } for cell0Ds and { 5,...
Definition MeshUtilities2D.cpp:2016
~MeshUtilities()
Definition MeshUtilities.hpp:416
void FillMesh2D(const Eigen::MatrixXd &cell0Ds, const Eigen::MatrixXi &cell1Ds, const std::vector< Eigen::MatrixXi > &cell2Ds, Gedim::IMeshDAO &mesh) const
Fill a Mesh 2D with vertices, edges and polygons.
Definition MeshUtilities2D.cpp:23
Gedim::GeometryUtilities::Polyhedron MeshCell3DToPolyhedron(const Gedim::IMeshDAO &mesh, const unsigned int &cell3DIndex) const
Convert a mesh cell3D to a geometric polydheron.
Definition MeshUtilities3D.cpp:2411
Gedim::MeshUtilities::FilterMeshData FilterMesh2D(const std::vector< unsigned int > &cell2DsFilter, const Gedim::IMeshDAO &mesh) const
Extract mesh2D cells from a mesh.
Definition MeshUtilities2D.cpp:76
MeshGeometricData1D FillMesh1DGeometricData(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &convexMesh) const
Fill Mesh1D Geometric Data given a mesh with convex mesh cells.
Definition MeshUtilities1D.cpp:145
void SetMeshMarkersOnPolygon(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &polygon_plane_normal, const Eigen::Vector3d &polygon_plane_origin, const Eigen::MatrixXd &polygon_vertices_2D, const Eigen::Vector3d &polygon_translation, const Eigen::Matrix3d &polygon_rotation_matrix, const unsigned int &marker, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:743
void ComputeCell0DCell2DNeighbours(Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:1124
Gedim::MeshUtilities::AgglomerateMeshFromTriangularMeshResult AgglomerateMeshFromTriangularMesh(const std::vector< std::vector< unsigned int > > &trianglesIndicesToAgglomerate, Gedim::IMeshDAO &triangularMesh) const
Definition MeshUtilities2D.cpp:1468
void ExportMeshToCsv(const Gedim::IMeshDAO &mesh, const char &separator, const std::string &exportFolderPath) const
Export mesh to csv file.
Definition MeshUtilities.cpp:1114
void CreateTetrahedralMesh(const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const double &maxTetrahedronVolume, Gedim::IMeshDAO &mesh, const std::string &options="Qpqfezna") const
Create tetrahedral mesh on 3D polyhedron.
MeshUtilities()
Definition MeshUtilities.hpp:415
Gedim::MeshUtilities::FilterMeshData FilterMesh3D(const std::vector< unsigned int > &cell3DsFilter, const Gedim::IMeshDAO &mesh) const
Extract mesh3D cells from a mesh.
Definition MeshUtilities3D.cpp:2840
MeshGeometricData2D ImportMeshGeometricData2DFromTxt(const std::string &file_path)
Definition MeshUtilities2D.cpp:1035
void ChangePolyhedronMeshMarkers(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::MatrixXd &polyhedron_vertices, const Eigen::MatrixXi &polyhedron_edges, const std::vector< Eigen::MatrixXi > &polyhedron_faces, const Eigen::MatrixXd &polyhedron_edges_tangent, const Eigen::VectorXd &polyhedron_edges_length, const std::vector< Eigen::Vector3d > &polyhedron_faces_normal, const std::vector< Eigen::MatrixXd > &polyhedron_faces_vertices, const std::vector< Eigen::MatrixXd > &polyhedron_faces_vertices_2D, const std::vector< Eigen::Vector3d > &polyhedron_faces_translation, const std::vector< Eigen::Matrix3d > &polyhedron_faces_rotation_matrix, const std::vector< unsigned int > &polyhedron_vertices_marker, const std::vector< unsigned int > &polyhedron_edges_marker, const std::vector< unsigned int > &polyhedron_faces_marker, const std::vector< Eigen::Vector3d > &cell1Ds_centroid, const std::vector< Eigen::Vector3d > &cell2Ds_centroid, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:3126
Gedim::MeshUtilities::FindPointMeshPositionResult FindPointMeshPosition(const MeshUtilities::FindPointCell2DResult &find_cell2D_result, const Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:2431
void CreateQuadrilateralMeshFromTriangularMesh(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &triangular_mesh, Gedim::IMeshDAO &mesh) const
Create a quadrilateral mesh starting from a triangular mesh: the mesh is created by dividing triangle...
Definition MeshUtilities_MeshGenerators.cpp:2198
std::vector< unsigned int > FindCell2DsCommonVertices(const std::vector< unsigned int > &cell2DsIndex, const Gedim::IMeshDAO &mesh) const
Given a set of Cell2Ds find the common Cell0Ds.
Definition MeshUtilities2D.cpp:1318
MeshUtilities::VTPPolyhedron MeshCell3DToVTPPolyhedron(const Gedim::IMeshDAO &mesh, const unsigned int &cell3DIndex) const
Convert a mesh cell3D to a VTP polydheron.
Definition MeshUtilities3D.cpp:2452
void ExportCell2DToVTU(const Gedim::IMeshDAO &mesh, const unsigned int &cell2DIndex, const Eigen::MatrixXd &cell2DVertices, const std::vector< Eigen::Matrix3d > &cell2DTriangulations, const double &cell2DArea, const Eigen::Vector3d &cell2DCentroid, const std::string &exportFolder) const
Export Cell2D To VTU.
Definition MeshUtilities.cpp:772
void CheckMeshGeometricData2D(const Gedim::MeshUtilities::CheckMeshGeometricData2DConfiguration &configuration, const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &mesh, const MeshGeometricData2D &geometricData) const
Definition MeshUtilities2D.cpp:415
void SetMeshMarkersOnSegment(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &segment_origin, const Eigen::Vector3d &segment_tangent, const double &segment_tangent_squared_length, const unsigned int &marker, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:589
void CheckMesh2D(const Gedim::MeshUtilities::CheckMesh2DConfiguration &configuration, const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &convexMesh) const
Check Mesh2D correctness.
Definition MeshUtilities2D.cpp:269
void SetMeshMarkersOnPlane(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &planeNormal, const Eigen::Vector3d &planeOrigin, const unsigned int &marker, Gedim::IMeshDAO &mesh) const
Set the marker on all the mesh 3D elements laying on the plane.
Definition MeshUtilities3D.cpp:649
Gedim::MeshUtilities::ExtractMeshData ExtractMesh3D(const std::vector< unsigned int > &cell0DsFilter, const std::vector< unsigned int > &cell1DsFilter, const std::vector< unsigned int > &cell2DsFilter, const std::vector< unsigned int > &cell3DsFilter, const Gedim::IMeshDAO &originalMesh, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:2888
Gedim::MeshUtilities::AgglomerateCell1DInformation AgglomerateCell1Ds(const std::unordered_set< unsigned int > &cell1DsIndex, const Gedim::IMeshDAO &mesh) const
Definition MeshUtilities1D.cpp:293
Gedim::MeshUtilities::ComputeMesh2DCell1DsResult ComputeMesh2DCell1Ds(const Eigen::MatrixXd &cell0Ds, const std::vector< Eigen::VectorXi > &cell2Ds) const
Compute edges in a Mesh 2D with vertices and polygons.
Definition MeshUtilities2D.cpp:195
std::vector< unsigned int > SplitCell3D(const unsigned int &cell3DIndex, const std::vector< std::vector< unsigned int > > &subCell3DsVertices, const std::vector< std::vector< unsigned int > > &subCell3DsEdges, const std::vector< std::vector< unsigned int > > &subCell3DsFaces, Gedim::IMeshDAO &mesh) const
Split cell3D into subcells.
Definition MeshUtilities3D.cpp:2481
Gedim::MeshUtilities::Intersect_mesh_polyhedron_result Intersect_mesh_polyhedron(const Gedim::GeometryUtilities &geometry_utilities, const Eigen::MatrixXd &polyhedron_vertices, const Eigen::MatrixXi &polyhedron_edges, const std::vector< Eigen::MatrixXd > &polyhedron_edges_vertices, const Eigen::MatrixXd &polyhedron_edges_tangent, const std::vector< Eigen::MatrixXd > &polyhedron_edges_boudingBox, const std::vector< Eigen::MatrixXi > &polyhedron_faces, const std::vector< Eigen::MatrixXd > &polyhedron_faces_vertices, const std::vector< Eigen::MatrixXd > &polyhedron_faces_rotated_vertices, const std::vector< Eigen::Vector3d > &polyhedron_faces_normals, const std::vector< bool > &polyhedron_faces_normal_direction, const std::vector< Eigen::Vector3d > &polyhedron_faces_translation, const std::vector< Eigen::Matrix3d > &polyhedron_faces_rotation_matrix, const std::vector< Eigen::MatrixXd > &polyhedron_faces_boudingBox, const Eigen::MatrixXd &polyhedron_boudingBox, const Gedim::IMeshDAO &mesh, const std::vector< Eigen::MatrixXd > &mesh_cell1Ds_boudingBox, const std::vector< Eigen::MatrixXd > &mesh_cell1Ds_vertices, const std::vector< Eigen::Vector3d > &mesh_cell1Ds_tangent, const std::vector< Eigen::MatrixXd > &mesh_cell2Ds_vertices, const std::vector< Eigen::Vector3d > &mesh_cell2Ds_normal, const std::vector< Eigen::MatrixXd > &mesh_cell2Ds_2D_vertices, const std::vector< Eigen::Vector3d > &mesh_cell2Ds_translation, const std::vector< Eigen::Matrix3d > &mesh_cell2Ds_rotation_matrix, const std::vector< Eigen::MatrixXd > &mesh_cell2Ds_boudingBox, const std::vector< Eigen::MatrixXd > &mesh_cell3Ds_boudingBox, const std::vector< std::vector< Eigen::MatrixXi > > &mesh_cell3Ds_faces, const std::vector< std::vector< Eigen::MatrixXd > > &mesh_cell3Ds_faces_vertices, const std::vector< std::vector< Eigen::MatrixXd > > &mesh_cell3Ds_faces_2D_vertices, const std::vector< std::vector< Eigen::Vector3d > > &mesh_cell3Ds_faces_normal, const std::vector< std::vector< bool > > &mesh_cell3Ds_faces_normal_directions, const std::vector< std::vector< Eigen::Vector3d > > &mesh_cell3Ds_faces_translation, const std::vector< std::vector< Eigen::Matrix3d > > &mesh_cell3Ds_faces_rotation_matrix) const
Definition MeshUtilities_Intersect_mesh_polyhedron.cpp:19
void ImportWavefrontOBJ(const std::string &offFilePath, Gedim::IMeshDAO &mesh) const
Import 2D mesh from OBJ file.
Definition MeshUtilities.cpp:231
void SetMeshMarkersByFaceNormal(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &normal, const std::vector< Eigen::Vector3d > &cell2Ds_normal, const unsigned int &marker, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:699
Gedim::MeshUtilities::AgglomerateCell3DInformation AgglomerateCell3Ds(const std::unordered_set< unsigned int > &cell3DsIndex, const Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:2557
void FillMesh3D(const Eigen::MatrixXd &cell0Ds, const Eigen::MatrixXi &cell1Ds, const std::vector< Eigen::MatrixXi > &cell2Ds, const std::vector< Mesh3DPolyhedron > &cell3Ds, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:24
void ComputeCell0DCell3DNeighbours(Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:1154
void ImportRegnFaceMesh(const Gedim::GeometryUtilities &geometry_utilities, const std::string &node_file_path, const std::string &ele_file_path, IMeshDAO &mesh) const
Import regn_face 3D mesh (non standard polyhedral format)
Definition MeshUtilities_ImportRegnFaceMesh.cpp:18
void ExportCell3DToVTU(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &mesh, const unsigned int &cell3DIndex, const Eigen::MatrixXd &cell3DVertices, const std::vector< Eigen::MatrixXd > &cell3DTetrahedrons, const std::vector< std::vector< Eigen::Matrix3d > > &cell3DFaces3DTriangulations, const double &cell3DVolume, const Eigen::Vector3d &cell3DCentroid, const std::vector< Eigen::Vector3d > &cell3DFacesTranslation, const std::vector< Eigen::Matrix3d > &cell3DFacesRotationMatrix, const std::vector< double > &cell3DFacesArea, const std::vector< Eigen::MatrixXd > &cell3DFaces2DVertices, const std::vector< Eigen::MatrixXd > &cell3DFaces3DVertices, const std::vector< Eigen::VectorXd > &cell3DFacesEdgeLengths, const std::vector< std::vector< bool > > &cell3DFacesEdgeDirections, const std::vector< Eigen::MatrixXd > &cell3DFacesEdges2DTangent, const std::vector< Eigen::MatrixXd > &cell3DFacesEdges2DNormal, const std::vector< Eigen::Vector3d > &cell3DFacesNormals, const std::vector< bool > &cell3DFacesNormalDirections, const std::vector< Eigen::Vector3d > &cell3DFaces2DCentroids, const std::string &exportFolder) const
Definition MeshUtilities.cpp:819
void ImportObjectFileFormat(const std::string &offFilePath, Gedim::IMeshDAO &mesh) const
Import 2D mesh from OFF file.
Definition MeshUtilities.cpp:219
std::vector< unsigned int > FindCell2DsCommonEdges(const std::vector< unsigned int > &cell2DsIndex, const Gedim::IMeshDAO &mesh) const
Given a set of Cell2Ds find the common Cell1Ds.
Definition MeshUtilities2D.cpp:1371
std::vector< unsigned int > MeshCell2DRoots(const Gedim::IMeshDAO &mesh) const
Extract the mesh Cell2D Roots.
Definition MeshUtilities2D.cpp:639
void CreateTriangularMesh(const Eigen::MatrixXd &polygonVertices, const double &maxTriangleArea, Gedim::IMeshDAO &mesh, const std::string &options="-QDzpqnea") const
Create triangular mesh on 2D polygon.
Definition MeshUtilities_MeshGenerators.cpp:2176
void CreateRectangleMesh(const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const std::vector< double > &baseMeshCurvilinearCoordinates, const std::vector< double > &heightMeshCurvilinearCoordinates, Gedim::IMeshDAO &mesh) const
Crete rectange Mesh on rectangle base x height.
Definition MeshUtilities_MeshGenerators.cpp:27
void CreateStructuredTriangularMesh(const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const std::vector< double > &baseMeshCurvilinearCoordinates, const std::vector< double > &heightMeshCurvilinearCoordinates, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:142
void ExportMeshGeometricData1DToTxt(const MeshGeometricData1D &mesh_geometric_data, const std::string &file_path)
Definition MeshUtilities1D.cpp:199
void CreateRectanglePlusHangingNodesMesh(const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const std::vector< double > &baseMeshCurvilinearCoordinates, const std::vector< double > &heightMeshCurvilinearCoordinates, const std::vector< unsigned int > &numberOfAddedVerticesForEachRectangle, const Gedim::GeometryUtilities &geometryUtilities, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:1040
void CreatePolygonalMesh(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::MatrixXd &polygonVertices, const unsigned int numPoints, const unsigned int numIterations, Gedim::IMeshDAO &mesh, const unsigned int random_seed=0) const
Definition MeshUtilities_MeshGenerators.cpp:2186
bool CollapseCell1D(const unsigned int cell1D_index, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities1D.cpp:482
void ComputeCell2DCell3DNeighbours(Gedim::IMeshDAO &mesh) const
Compute Cell2D Cell3DNeighbours with given mesh data.
Definition MeshUtilities3D.cpp:2381
void CreatePolygonIntersectionMesh(const Gedim::GeometryUtilities &geometry_utilities, const Eigen::MatrixXd &interface_vertices, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_Intersect_mesh_polygon.cpp:18
Gedim::MeshUtilities::FindPointCell2DResult FindPointCell2D(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &point, const Gedim::IMeshDAO &mesh, const std::vector< Eigen::MatrixXd > &cell2DsVertices, const std::vector< Eigen::MatrixXd > &cell2DsBoundingBox, const bool find_only_first_cell2D=true, const unsigned int starting_cell2D_index=0) const
Definition MeshUtilities2D.cpp:2388
Gedim::MeshUtilities::ExtractMeshData ExtractMesh2D(const std::vector< unsigned int > &cell0DsFilter, const std::vector< unsigned int > &cell1DsFilter, const std::vector< unsigned int > &cell2DsFilter, const Gedim::IMeshDAO &originalMesh, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:112
void SetMeshMarkersOnLine(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &lineOrigin, const Eigen::Vector3d &lineTangent, const double &lineTangentSquaredLength, const unsigned int &marker, Gedim::IMeshDAO &mesh) const
Set the marker on all the mesh 2D elements laying on the line.
Definition MeshUtilities2D.cpp:559
MeshGeometricData1D ImportMeshGeometricData1DFromTxt(const std::string &file_path)
Definition MeshUtilities1D.cpp:177
Gedim::MeshUtilities::FilterMeshData FilterActiveMesh(const Gedim::IMeshDAO &mesh) const
Definition MeshUtilities.cpp:149
void Mesh2DFromPolygon(const Eigen::MatrixXd &polygonVertices, const std::vector< unsigned int > vertexMarkers, const std::vector< unsigned int > edgeMarkers, Gedim::IMeshDAO &mesh) const
Create a Mesh 2D with a polygon.
Definition MeshUtilities2D.cpp:500
void CreatePolyhedralMesh(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const unsigned int numPoints, const unsigned int numIterations, Gedim::IMeshDAO &mesh, const unsigned int random_seed=0) const
Definition MeshUtilities_MeshGenerators.cpp:2357
Gedim::MeshUtilities::ExtractMeshData ExtractMesh1D(const std::vector< unsigned int > &cell0DsFilter, const std::vector< unsigned int > &cell1DsFilter, const Gedim::IMeshDAO &originalMesh, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities1D.cpp:83
void CreateDelaunayMesh3D(const Eigen::MatrixXd &points, const std::vector< unsigned int > &points_marker, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:2348
void ExportMeshToObjectFileFormat(const Gedim::IMeshDAO &mesh, const std::string &offFilePath) const
Export 2D mesh to OFF file.
Definition MeshUtilities.cpp:225
void ExportMeshToVTU(const Gedim::IMeshDAO &mesh, const std::string &exportFolder, const std::string &fileName, const bool &separateFile=false) const
Export Mesh To VTU.
Definition MeshUtilities.cpp:243
void SetPolygonMeshMarkers(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::MatrixXd &polygonVertices, const std::vector< unsigned int > &cell0DMarkers, const std::vector< unsigned int > &cell1DMarkers, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:2048
void SetMesh3DMarker(const unsigned int marker, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_ImportRegnFaceMesh.cpp:342
void FixCell2DsOrientation(const Gedim::GeometryUtilities &geometryUtilities, IMeshDAO &mesh) const
Definition MeshUtilities_ImportRegnFaceMesh.cpp:284
Gedim::MeshUtilities::FindConcaveCell3DFacesConvexCell2DResult FindConcaveCell3DFacesConvexCell2D(const Gedim::GeometryUtilities &geometryUtilities, const unsigned int &concaveCell3DIndex, const Gedim::IMeshDAO &mesh, const Gedim::IMeshDAO &convexMesh, const std::vector< unsigned int > &convexCell3DIndices, const std::vector< Eigen::MatrixXd > &concaveCell3DFaces3DVertices, const std::vector< Eigen::MatrixXd > &concaveCell3DFaces2DVertices, const std::vector< Eigen::Vector3d > &concaveCell3DFacesTranslation, const std::vector< Eigen::Matrix3d > &concaveCell3DFacesRotationMatrix, const std::vector< Eigen::Vector3d > &concaveCell3DFacesNormal, const std::vector< std::vector< Eigen::MatrixXd > > &convexCell3DsFaces3DVertices, const std::vector< std::vector< std::vector< unsigned int > > > &convexCell3DsFacesUnalignedVertices) const
Definition MeshUtilities3D.cpp:1977
void FillMesh1D(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &segmentOrigin, const Eigen::Vector3d &segmentTangent, const std::vector< double > &coordinates, Gedim::IMeshDAO &mesh) const
Fill Mesh 1D From segment Coordinates.
Definition MeshUtilities1D.cpp:22
void ImportOpenVolumeMesh(const std::string &ovmFilePath, Gedim::IMeshDAO &mesh, std::vector< std::vector< bool > > &meshCell3DsFacesOrientation) const
Import 3D mesh from OVM file.
Definition MeshUtilities.cpp:186
void MakeMeshTriangularFaces(const std::vector< std::vector< unsigned int > > &faces_triangulation, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities3D.cpp:3005
void CheckMeshGeometricData3D(const Gedim::MeshUtilities::CheckMeshGeometricData3DConfiguration &configuration, const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &mesh, const Gedim::MeshUtilities::MeshGeometricData3D &geometricData) const
Check MeshGeometricData3D correctness.
Definition MeshUtilities3D.cpp:350
std::vector< unsigned int > MarkCells(const std::function< Eigen::VectorXi(const Eigen::MatrixXd &)> &marking_function, const std::vector< Eigen::MatrixXd > &cells_points, const unsigned int default_mark) const
Definition MeshUtilities.cpp:1125
Gedim::MeshUtilities::AgglomerateCell2DInformation AgglomerateCell2Ds(const Gedim::GeometryUtilities &geometryUtilities, const std::unordered_set< unsigned int > &cell2DsIndex, const Gedim::IMeshDAO &mesh) const
Definition MeshUtilities2D.cpp:2117
void CheckMesh3D(const Gedim::MeshUtilities::CheckMesh3DConfiguration &configuration, const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &mesh) const
Check Mesh3D correctness.
Definition MeshUtilities3D_CheckMesh.cpp:22
std::vector< unsigned int > SplitCell1D(const unsigned int &cell1DIndex, const Eigen::MatrixXi subCell1Ds, Gedim::IMeshDAO &mesh) const
Split cell2D into subcells.
Definition MeshUtilities1D.cpp:220
Gedim::MeshUtilities::AgglomerateTrianglesResult AgglomerateTriangles(const std::vector< unsigned int > &trianglesIndexToAgglomerate, Gedim::IMeshDAO &triangularMesh) const
Agglomerate Triangles with one vertex in common.
Definition MeshUtilities2D.cpp:1401
void ExportMeshToOpenVolume(const Gedim::IMeshDAO &mesh, const std::vector< std::vector< bool > > &meshCell3DsFacesOrientation, const std::string &ovmFilePath) const
Export 3D mesh to OVM file.
Definition MeshUtilities.cpp:194
MeshGeometricData2D FillMesh2DGeometricData(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &convexMesh) const
Fill Mesh2D Geometric Data given a mesh with convex mesh cells.
Definition MeshUtilities2D.cpp:655
void ExportConcaveMesh2DToCsv(const Gedim::IMeshDAO &mesh, const std::vector< std::vector< unsigned int > > &convexCell2DsIndex, const char &separator, const std::string &exportFolderPath) const
Export 2D concave mesh to csv file.
Definition MeshUtilities2D.cpp:1969
std::vector< unsigned int > SplitCell2D(const unsigned int &cell2DIndex, const std::vector< Eigen::MatrixXi > &subCell2Ds, Gedim::IMeshDAO &mesh) const
Split cell2D into subcells.
Definition MeshUtilities2D.cpp:1249
void ExportMeshGeometricData2DToTxt(const MeshGeometricData2D &mesh_geometric_data, const std::string &file_path)
Definition MeshUtilities2D.cpp:1065
Gedim::MeshUtilities::FindPointCell3DResult FindPointCell3D(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::Vector3d &point, const Gedim::IMeshDAO &mesh, const std::vector< std::vector< Eigen::MatrixXi > > &cell3DsFaces, const std::vector< std::vector< Eigen::MatrixXd > > &cell3DsFaceVertices, const std::vector< std::vector< Eigen::MatrixXd > > &cell3DsFaceRotatedVertices, const std::vector< std::vector< Eigen::Vector3d > > &cell3DsFaceNormals, const std::vector< std::vector< bool > > &cell3DsFaceNormalDirections, const std::vector< std::vector< Eigen::Vector3d > > &cell3DsFaceTranslations, const std::vector< std::vector< Eigen::Matrix3d > > &cell3DsFaceRotationMatrices, const std::vector< Eigen::MatrixXd > &cell3DsBoundingBox, const bool find_only_first_cell3D=true, const unsigned int starting_cell3D_index=0) const
Definition MeshUtilities3D.cpp:2233
void ImportTriangularMesh(const Gedim::GeometryUtilities &geometry_utilities, const std::string &cell0Ds_file_path, const std::string &cell2Ds_file_path, const std::string &marker_file_path, const char separator, Gedim::IMeshDAO &mesh) const
Import triangular 2D mesh (non standard simple format)
Definition MeshUtilities_ImportTriangularMesh.cpp:18
void CreateTrianglePlusHangingNodesMesh(const Eigen::Vector3d &rectangleOrigin, const Eigen::Vector3d &rectangleBaseTangent, const Eigen::Vector3d &rectangleHeightTangent, const std::vector< double > &baseMeshCurvilinearCoordinates, const std::vector< double > &heightMeshCurvilinearCoordinates, const std::vector< unsigned int > &numberOfAddedVerticesForEachRectangle, const Gedim::GeometryUtilities &geometryUtilities, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_MeshGenerators.cpp:286
Gedim::MeshUtilities::FilterMeshData FilterMesh1D(const std::vector< unsigned int > &cell1DsFilter, const Gedim::IMeshDAO &mesh) const
Extract mesh1D cells from a mesh.
Definition MeshUtilities1D.cpp:53
Gedim::MeshUtilities::AgglomerationInformation ImportAgglomerationInformationFromCsv(const Gedim::GeometryUtilities &geometryUtilities, const Gedim::IMeshDAO &originalMesh, const Gedim::IMeshDAO &agglomeratedMesh, const std::string &fileName, const char &separator) const
Import Agglomeration mesh Information From file Csv.
Definition MeshUtilities2D.cpp:1526
Gedim::MeshUtilities::ComputeMesh3DAlignedCell1DsResult ComputeMesh3DAlignedCell1Ds(const std::vector< std::vector< std::vector< unsigned int > > > &cell3DsAlignedEdgesVertices, const std::vector< std::vector< std::vector< unsigned int > > > &cell3DsAlignedEdgesEdges, const Gedim::IMeshDAO &mesh) const
Compute edges in a Mesh 2D with vertices and polygons.
Definition MeshUtilities3D.cpp:220
MeshGeometricData3D ImportMeshGeometricData3DFromTxt(const std::string &file_path)
Definition MeshUtilities3D.cpp:1880
void ImportVtkMesh3D(const std::string &vtkFilePath, Gedim::IMeshDAO &mesh) const
Import 3D mesh from VTK file.
Definition MeshUtilities.cpp:202
void Mesh3DFromPolyhedron(const Eigen::MatrixXd &polyhedronVertices, const Eigen::MatrixXi &polyhedronEdges, const std::vector< Eigen::MatrixXi > &polyhedronFaces, const std::vector< unsigned int > vertexMarkers, const std::vector< unsigned int > edgeMarkers, const std::vector< unsigned int > faceMarkers, Gedim::IMeshDAO &mesh) const
Create a Mesh 3D with a polyhedron.
Definition MeshUtilities3D.cpp:565
void ExportMeshGeometricData3DToTxt(const MeshGeometricData3D &mesh_geometric_data, const std::string &file_path)
Definition MeshUtilities3D.cpp:1929
void Mesh1DFromSegment(const Gedim::GeometryUtilities &geometryUtilities, const Eigen::MatrixXd &segmentVertices, const std::vector< unsigned int > vertexMarkers, Gedim::IMeshDAO &mesh) const
Create a Mesh 1D with a segment.
Definition MeshUtilities1D.cpp:134
void ComputeCell1DCell3DNeighbours(Gedim::IMeshDAO &mesh) const
Compute Cell1D Cell3DNeighbours with given mesh data.
Definition MeshUtilities3D.cpp:2351
void ExportMeshToUCD(const Gedim::IMeshDAO &mesh, const std::string &exportFolder, const std::string &fileName, const bool &separateFile=false) const
Export Mesh To UCD.
Definition MeshUtilities.cpp:424
void Mesh3DFromPolyhedra(const Gedim::GeometryUtilities &geometry_utilities, const std::vector< Gedim::GeometryUtilities::Polyhedron > &polyhedra, Gedim::IMeshDAO &mesh) const
Definition MeshUtilities_Mesh3DFromPolyhedra.cpp:17
void ExportMeshToMEDIT(const Gedim::IMeshDAO &mesh, const std::string &exportFolder, const std::string &fileName, const bool &separateFile=false, const unsigned int &order=1) const
Export Mesh To MEDIT.
Definition MeshUtilities.cpp:620
Definition Eigen_Array.cpp:22
Definition GeometryUtilities.hpp:596
Definition GeometryUtilities.hpp:643
Definition GeometryUtilities.hpp:677
Definition MeshUtilities.hpp:269
std::vector< unsigned int > ConvexCell2DsIndex
Definition MeshUtilities.hpp:271
unsigned int Cell2DIndex
Definition MeshUtilities.hpp:270
Definition MeshUtilities.hpp:267
std::vector< Gedim::MeshUtilities::AgglomerateMeshFromTriangularMeshResult::ConcaveCell2D > ConcaveCell2Ds
Definition MeshUtilities.hpp:274
std::vector< unsigned int > RemovedCell2Ds
Definition MeshUtilities.hpp:276
std::vector< unsigned int > RemovedCell1Ds
Definition MeshUtilities.hpp:275
Definition MeshUtilities.hpp:260
std::vector< unsigned int > RemovedEdges
Definition MeshUtilities.hpp:261
std::vector< unsigned int > EdgesIndex
Definition MeshUtilities.hpp:263
std::vector< unsigned int > VerticesIndex
Definition MeshUtilities.hpp:262
Definition MeshUtilities.hpp:26
bool Cell0D_CheckDuplications
Definition MeshUtilities.hpp:28
bool Cell2D_CheckConvexity
Definition MeshUtilities.hpp:34
bool Cell1D_CheckNeighbours
Definition MeshUtilities.hpp:30
bool Cell1D_CheckMeasure
Definition MeshUtilities.hpp:31
bool Cell0D_CheckCoordinates2D
Definition MeshUtilities.hpp:27
bool Cell1D_CheckDuplications
Definition MeshUtilities.hpp:29
bool Cell2D_CheckDuplications
Definition MeshUtilities.hpp:33
bool Cell2D_CheckEdges
Definition MeshUtilities.hpp:32
bool Cell2D_CheckMeasure
Definition MeshUtilities.hpp:35
Definition MeshUtilities.hpp:39
bool Cell3D_CheckMeasure
Definition MeshUtilities.hpp:51
bool Cell3D_CheckEdgesAreActive
Definition MeshUtilities.hpp:49
bool Cell2D_CheckDuplications
Definition MeshUtilities.hpp:44
bool Cell1D_CheckDuplications
Definition MeshUtilities.hpp:41
bool Cell1D_CheckMeasure
Definition MeshUtilities.hpp:42
bool Cell3D_CheckFaces
Definition MeshUtilities.hpp:52
bool Cell2D_CheckEdges
Definition MeshUtilities.hpp:43
bool Cell2D_CheckMeasure
Definition MeshUtilities.hpp:46
bool Cell3D_CheckConvexity
Definition MeshUtilities.hpp:50
bool Cell3D_CheckEdges
Definition MeshUtilities.hpp:48
bool Cell2D_CheckConvexity
Definition MeshUtilities.hpp:45
bool Cell0D_CheckDuplications
Definition MeshUtilities.hpp:40
bool Cell3D_CheckDuplications
Definition MeshUtilities.hpp:47
Definition MeshUtilities.hpp:56
bool Cell1D_CheckMeasure
Definition MeshUtilities.hpp:57
bool Cell2D_CheckTriangles
Definition MeshUtilities.hpp:60
unsigned int Cell1D_QuadratureOrder
Definition MeshUtilities.hpp:61
bool Cell1D_CheckNormals
Definition MeshUtilities.hpp:58
unsigned int Cell2D_QuadratureOrder
Definition MeshUtilities.hpp:62
bool Cell2D_CheckMeasure
Definition MeshUtilities.hpp:59
Definition MeshUtilities.hpp:66
bool Cell3D_CheckMeasure
Definition MeshUtilities.hpp:72
bool Cell2D_CheckMeasure
Definition MeshUtilities.hpp:69
bool Cell2D_CheckTriangles
Definition MeshUtilities.hpp:70
bool Cell3D_CheckTetrahedra
Definition MeshUtilities.hpp:73
unsigned int Cell1D_QuadratureOrder
Definition MeshUtilities.hpp:74
bool Cell1D_CheckMeasure
Definition MeshUtilities.hpp:67
bool Cell1D_CheckNormals
Definition MeshUtilities.hpp:68
unsigned int Cell2D_QuadratureOrder
Definition MeshUtilities.hpp:75
unsigned int Cell3D_QuadratureOrder
Definition MeshUtilities.hpp:76
bool Cell2D_CheckNormals
Definition MeshUtilities.hpp:71
Definition MeshUtilities.hpp:120
std::vector< Eigen::MatrixXi > Cell2Ds
Cell1Ds vertices, size 2 x Cell1DTotalNumber()
Definition MeshUtilities.hpp:122
Eigen::MatrixXi Cell1Ds
Definition MeshUtilities.hpp:121
Definition MeshUtilities.hpp:127
std::vector< Eigen::MatrixXi > Cell0DsAlignedCell1DsIndex
Definition MeshUtilities.hpp:130
Eigen::MatrixXi AlignedCell1Ds
Definition MeshUtilities.hpp:129
std::vector< std::vector< unsigned int > > AlignedCell1Ds_SubCell1Ds
Definition MeshUtilities.hpp:134
std::vector< std::vector< unsigned int > > AlignedCell1Ds_Cell3Ds
Definition MeshUtilities.hpp:135
std::vector< Eigen::MatrixXi > Cell1DsAlignedCell1DsIndex
Definition MeshUtilities.hpp:131
std::vector< Eigen::MatrixXi > Cell3DsAlignedCell1DsIndex
Definition MeshUtilities.hpp:132
std::vector< std::vector< unsigned int > > AlignedCell1Ds_SubCell0Ds
Definition MeshUtilities.hpp:133
Definition MeshUtilities.hpp:100
std::vector< unsigned int > Cell3Ds
Definition MeshUtilities.hpp:104
std::vector< unsigned int > Cell0Ds
Definition MeshUtilities.hpp:101
std::vector< unsigned int > Cell1Ds
Definition MeshUtilities.hpp:102
std::vector< unsigned int > Cell2Ds
Definition MeshUtilities.hpp:103
Definition MeshUtilities.hpp:316
unsigned int ConvexCell3DIndex
Definition MeshUtilities.hpp:317
unsigned int ConvexCell3DFaceIndex
Definition MeshUtilities.hpp:318
Definition MeshUtilities.hpp:314
std::vector< Gedim::MeshUtilities::FindConcaveCell3DFacesConvexCell2DResult::ConvexCell2D > ConcaveCell3DFacesConvexCell2D
Definition MeshUtilities.hpp:321
Definition MeshUtilities.hpp:355
Gedim::GeometryUtilities::PointPolygonPositionResult Cell2D_Position
Definition MeshUtilities.hpp:357
unsigned int Cell2D_index
Definition MeshUtilities.hpp:356
Definition MeshUtilities.hpp:353
std::vector< Gedim::MeshUtilities::FindPointCell2DResult::PointCell2DFound > Cell2Ds_found
Definition MeshUtilities.hpp:360
Definition MeshUtilities.hpp:366
Gedim::GeometryUtilities::PointPolyhedronPositionResult Cell3D_Position
Definition MeshUtilities.hpp:368
unsigned int Cell3D_index
Definition MeshUtilities.hpp:367
Definition MeshUtilities.hpp:364
std::vector< Gedim::MeshUtilities::FindPointCell3DResult::PointCell3DFound > Cell3Ds_found
Definition MeshUtilities.hpp:371
Definition MeshUtilities.hpp:334
Gedim::MeshUtilities::FindPointMeshPositionResult::PointMeshPosition::Types Type
Definition MeshUtilities.hpp:345
unsigned int Cell_index
Definition MeshUtilities.hpp:346
Types
Definition MeshUtilities.hpp:336
Definition MeshUtilities.hpp:332
std::vector< Gedim::MeshUtilities::FindPointMeshPositionResult::PointMeshPosition > MeshPositions
Definition MeshUtilities.hpp:349
Definition MeshUtilities.hpp:401
std::map< unsigned int, std::vector< unsigned int > > Cell2Ds_intersections
Definition MeshUtilities.hpp:404
std::map< unsigned int, std::vector< unsigned int > > Cell3Ds_intersections
Definition MeshUtilities.hpp:405
std::map< unsigned int, unsigned int > Cell0Ds_intersections
Definition MeshUtilities.hpp:402
std::map< unsigned int, std::vector< unsigned int > > Cell1Ds_intersections
Definition MeshUtilities.hpp:403
Definition MeshUtilities.hpp:383
unsigned int Geometry_index
Definition MeshUtilities.hpp:393
std::vector< unsigned int > Cell3Ds_index
Definition MeshUtilities.hpp:397
std::vector< unsigned int > Cell1Ds_index
Definition MeshUtilities.hpp:395
std::vector< unsigned int > Cell0Ds_index
Definition MeshUtilities.hpp:394
std::vector< unsigned int > Cell2Ds_index
Definition MeshUtilities.hpp:396
Gedim::MeshUtilities::Intersect_mesh_polyhedron_result::Polyhedron_Intersection::Types Type
Definition MeshUtilities.hpp:392
Types
Definition MeshUtilities.hpp:385
Definition MeshUtilities.hpp:375
Eigen::MatrixXd Intersections_Coordinates
Definition MeshUtilities.hpp:409
std::vector< Gedim::MeshUtilities::Intersect_mesh_polyhedron_result::Polyhedron_Intersection > Polyhedron_intersections
Definition MeshUtilities.hpp:410
Gedim::MeshUtilities::Intersect_mesh_polyhedron_result::Types Type
Definition MeshUtilities.hpp:408
Gedim::MeshUtilities::Intersect_mesh_polyhedron_result::Mesh_Intersections Mesh_intersections
Definition MeshUtilities.hpp:411
Types
Definition MeshUtilities.hpp:377
@ None
No intersection found.
Definition MeshUtilities.hpp:325
std::vector< unsigned int > VerticesIndex
Definition MeshUtilities.hpp:326
std::vector< unsigned int > EdgesIndex
Definition MeshUtilities.hpp:327
std::vector< unsigned int > FacesIndex
Definition MeshUtilities.hpp:328
Definition MeshUtilities.hpp:139
std::vector< Eigen::MatrixXd > Cell1DsBoundingBox
Definition MeshUtilities.hpp:140
std::vector< Eigen::MatrixXd > Cell1DsVertices
cell1D vertices coordinates
Definition MeshUtilities.hpp:141
std::vector< Eigen::Vector3d > Cell1DsTangents
cell1D tangents
Definition MeshUtilities.hpp:142
std::vector< double > Cell1DsSquaredLengths
cell1D squared lengths
Definition MeshUtilities.hpp:144
std::vector< double > Cell1DsLengths
cell1D lengths
Definition MeshUtilities.hpp:143
std::vector< Eigen::Vector3d > Cell1DsCentroids
cell1D centroids
Definition MeshUtilities.hpp:145
Definition MeshUtilities.hpp:167
bool Cell2DsAreas
cell2D areas
Definition MeshUtilities.hpp:170
bool Cell2DsTriangulations
cell2D triangulations
Definition MeshUtilities.hpp:169
bool Cell2DsChebyshevCenter
Definition MeshUtilities.hpp:178
bool Cell2DsDiameters
cell2D diameters
Definition MeshUtilities.hpp:172
bool Cell2DsEdgeNormals
cell2D edge normals
Definition MeshUtilities.hpp:177
bool Cell2DsTriangulationsByChebyshevCenter
cell2D triangulations
Definition MeshUtilities.hpp:179
bool Cell2DsInRadius
cell2D triangulations
Definition MeshUtilities.hpp:180
bool Cell2DsEdgesCentroid
cell2D edge centroid
Definition MeshUtilities.hpp:174
bool Cell2DsEdgeTangents
cell2D edge tangents
Definition MeshUtilities.hpp:176
bool Cell2DsCentroids
cell2D centroids
Definition MeshUtilities.hpp:171
bool Cell2DsBoundingBox
Definition MeshUtilities.hpp:168
MeshGeometricData2DConfig()
Definition MeshUtilities.hpp:182
bool Cell2DsEdgeDirections
cell2D edge directions
Definition MeshUtilities.hpp:173
bool Cell2DsEdgeLengths
cell2D edge lengths
Definition MeshUtilities.hpp:175
Definition MeshUtilities.hpp:149
std::vector< Eigen::MatrixXd > Cell2DsEdgeNormals
cell2D edge normals
Definition MeshUtilities.hpp:160
std::vector< std::vector< Eigen::Matrix3d > > Cell2DsTriangulationsByChebyshevCenter
cell2D triangulations
Definition MeshUtilities.hpp:162
std::vector< double > Cell2DsDiameters
cell2D diameters
Definition MeshUtilities.hpp:155
std::vector< std::vector< Eigen::Matrix3d > > Cell2DsTriangulations
cell2D triangulations
Definition MeshUtilities.hpp:152
std::vector< Eigen::MatrixXd > Cell2DsBoundingBox
Definition MeshUtilities.hpp:150
std::vector< Eigen::Vector3d > Cell2DsChebyshevCenter
cell2D chebycev node
Definition MeshUtilities.hpp:161
std::vector< Eigen::Vector3d > Cell2DsCentroids
cell2D centroids
Definition MeshUtilities.hpp:154
std::vector< Eigen::VectorXd > Cell2DsEdgeLengths
cell2D edge lengths
Definition MeshUtilities.hpp:158
std::vector< Eigen::MatrixXd > Cell2DsEdgesCentroid
cell2D edge centroid
Definition MeshUtilities.hpp:157
std::vector< Eigen::MatrixXd > Cell2DsVertices
cell2D vertices coordinates
Definition MeshUtilities.hpp:151
std::vector< double > Cell2DsAreas
cell2D areas
Definition MeshUtilities.hpp:153
std::vector< Eigen::MatrixXd > Cell2DsEdgeTangents
cell2D edge tangents
Definition MeshUtilities.hpp:159
std::vector< double > Cell2DsInRadius
cell2D triangulations
Definition MeshUtilities.hpp:163
std::vector< std::vector< bool > > Cell2DsEdgeDirections
cell2D edge directions
Definition MeshUtilities.hpp:156
Definition MeshUtilities.hpp:215
std::vector< std::vector< std::vector< Eigen::Matrix3d > > > Cell3DsFaces3DTriangulations
2D
Definition MeshUtilities.hpp:238
std::vector< std::vector< double > > Cell3DsFacesAreas
faces areas
Definition MeshUtilities.hpp:242
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFaces2DVertices
faces vertices 2D coordinates
Definition MeshUtilities.hpp:237
std::vector< Eigen::MatrixXd > Cell3DsEdgesCentroid
Definition MeshUtilities.hpp:223
std::vector< Eigen::MatrixXd > Cell3DsVertices
Definition MeshUtilities.hpp:216
std::vector< double > Cell3DsVolumes
Definition MeshUtilities.hpp:220
std::vector< Eigen::Vector3d > Cell3DsCentroids
Definition MeshUtilities.hpp:222
std::vector< Eigen::MatrixXi > Cell3DsEdges
Definition MeshUtilities.hpp:217
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFacesEdges3DCentroid
Definition MeshUtilities.hpp:247
std::vector< std::vector< std::array< bool, 2 > > > Cell3DsFacesTangentsGlobalDirection
Definition MeshUtilities.hpp:234
std::vector< std::vector< Eigen::Matrix3d > > Cell3DsFacesRotationMatrices
Definition MeshUtilities.hpp:229
std::vector< std::vector< bool > > Cell3DsFacesNormalDirections
Definition MeshUtilities.hpp:232
std::vector< Eigen::MatrixXd > Cell3DsBoundingBox
Definition MeshUtilities.hpp:219
std::vector< std::vector< std::array< Eigen::Vector3d, 2 > > > Cell3DsFacesTangents
Definition MeshUtilities.hpp:231
std::vector< std::vector< Eigen::VectorXd > > Cell3DsFacesEdgeLengths
faces edge lengths
Definition MeshUtilities.hpp:245
std::vector< std::vector< std::vector< Eigen::Matrix3d > > > Cell3DsFaces2DTriangulations
2D
Definition MeshUtilities.hpp:240
std::vector< std::vector< Eigen::MatrixXi > > Cell3DsFaces
Definition MeshUtilities.hpp:218
std::vector< Eigen::VectorXd > Cell3DsEdgeLengths
Definition MeshUtilities.hpp:224
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsTetrahedronPoints
Definition MeshUtilities.hpp:227
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFacesEdge2DTangents
faces edge 2D tangents
Definition MeshUtilities.hpp:248
std::vector< std::vector< bool > > Cell3DsFacesNormalGlobalDirection
Definition MeshUtilities.hpp:233
std::vector< std::vector< std::vector< bool > > > Cell3DsFacesEdgeDirections
Definition MeshUtilities.hpp:235
std::vector< double > Cell3DsDiameters
Definition MeshUtilities.hpp:221
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFacesEdges2DCentroid
Definition MeshUtilities.hpp:249
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFaces3DVertices
faces vertices 3D coordinates
Definition MeshUtilities.hpp:236
std::vector< std::vector< Eigen::Vector3d > > Cell3DsFaces2DCentroids
faces centroids
Definition MeshUtilities.hpp:243
std::vector< std::vector< Eigen::Vector3d > > Cell3DsFacesTranslations
Definition MeshUtilities.hpp:228
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFacesEdge3DTangents
faces edge 3D tangents
Definition MeshUtilities.hpp:246
std::vector< std::vector< Eigen::MatrixXd > > Cell3DsFacesEdge2DNormals
faces edge normals
Definition MeshUtilities.hpp:250
std::vector< std::vector< Eigen::Vector3d > > Cell3DsFacesNormals
Definition MeshUtilities.hpp:230
std::vector< Eigen::MatrixXd > Cell3DsEdgeTangents
Definition MeshUtilities.hpp:225
std::vector< std::vector< double > > Cell3DsFacesDiameters
faces diameters
Definition MeshUtilities.hpp:244
std::vector< std::vector< bool > > Cell3DsEdgeDirections
Definition MeshUtilities.hpp:226
Definition MeshUtilities.hpp:254
Eigen::MatrixXd Vertices
Definition MeshUtilities.hpp:255
std::vector< std::vector< unsigned int > > PolyhedronFaces
size 3xnumVertices
Definition MeshUtilities.hpp:256