PolyFEM
Loading...
Searching...
No Matches
UpsampleMesh.hpp File Reference
#include <polyfem/mesh/Mesh.hpp>
#include <polyfem/mesh/LocalBoundary.hpp>
#include <polyfem/basis/ElementBases.hpp>
#include <polyfem/utils/Types.hpp>
#include <Eigen/Core>
Include dependency graph for UpsampleMesh.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  polyfem
 
namespace  polyfem::mesh
 

Functions

void polyfem::mesh::stitch_mesh (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, Eigen::MatrixXd &V_out, Eigen::MatrixXi &F_out, const double epsilon=1e-5)
 Stitch a triangle mesh (V, F) together by removing duplicate vertices.
 
void polyfem::mesh::stitch_mesh (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const std::vector< Eigen::Triplet< double > > &W, Eigen::MatrixXd &V_out, Eigen::MatrixXi &F_out, std::vector< Eigen::Triplet< double > > &W_out, const double epsilon=1e-5)
 Stitch a triangle mesh (V, F) together by removing duplicate vertices.
 
double polyfem::mesh::max_edge_length (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F)
 Compute the maximum edge length of a triangle mesh (V, F)
 
void polyfem::mesh::regular_grid_triangle_barycentric_coordinates (const int n, Eigen::MatrixXd &V, Eigen::MatrixXi &F)
 Compute the barycentric coordinates of a regular grid of triangles.
 
void polyfem::mesh::regular_grid_tessellation (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const double max_edge_length, Eigen::MatrixXd &V_out, Eigen::MatrixXi &F_out)
 Tessilate a triangle mesh (V, F) with regular grids of triangles of maximum edge length.
 
Eigen::MatrixXd polyfem::mesh::refine_edge (const VectorNd &a, const VectorNd &b, const double max_edge_length)
 Refine an edge (a, b) so each refined edge has length at most max_edge_length.
 
void polyfem::mesh::refine_triangle_edges (const VectorNd &a, const VectorNd &b, const VectorNd &c, const double max_edge_len, Eigen::MatrixXd &V, Eigen::MatrixXi &E)
 Refine the edges of a triangle (a, b, c) so each refined edge has length at most max_edge_length.
 
void polyfem::mesh::irregular_triangle_barycentric_coordinates (const Eigen::Vector3d &a, const Eigen::Vector3d &b, const Eigen::Vector3d &c, const double max_edge_length, Eigen::MatrixXd &UV, Eigen::MatrixXi &F)
 Refine a triangle (a, b, c) into a well shaped triangle mesh.
 
void polyfem::mesh::irregular_triangle (const Eigen::Vector3d &a, const Eigen::Vector3d &b, const Eigen::Vector3d &c, const double max_edge_length, Eigen::MatrixXd &V, Eigen::MatrixXi &F)
 Refine a triangle (a, b, c) into a well shaped triangle mesh.
 
void polyfem::mesh::irregular_tessellation (const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const double max_edge_length, Eigen::MatrixXd &V_out, Eigen::MatrixXi &F_out)
 Tessilate a triangle mesh (V, F) with well shaped triangles.