PolyFEM
Loading...
Searching...
No Matches
GeometryReader.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <polyfem/Common.hpp>
8
9namespace polyfem::mesh
10{
20 std::unique_ptr<Mesh> read_fem_mesh(
21 const Units &units,
22 const json &j_mesh,
23 const std::string &root_path,
24 const bool non_conforming = false);
25
34 std::unique_ptr<Mesh> read_fem_geometry(
35 const Units &units,
36 const json &geometry,
37 const std::string &root_path,
38 const std::vector<std::string> &names = std::vector<std::string>(),
39 const std::vector<Eigen::MatrixXd> &vertices = std::vector<Eigen::MatrixXd>(),
40 const std::vector<Eigen::MatrixXi> &cells = std::vector<Eigen::MatrixXi>(),
41 const bool non_conforming = false);
42
45 Mesh &mesh,
46 const json &geometry_selection,
47 const std::string &root_path);
48
60 const Units &units,
61 const json &j_mesh,
62 const std::string &root_path,
63 const int dim,
64 Eigen::MatrixXd &vertices,
65 Eigen::VectorXi &codim_vertices,
66 Eigen::MatrixXi &codim_edges,
67 Eigen::MatrixXi &faces);
68
80 const Units &units,
81 const json &geometry,
82 const std::vector<json> &displacements,
83 const std::vector<json> &dirichlets,
84 const std::string &root_path,
85 const int dim,
86 const std::vector<std::string> &names = std::vector<std::string>(),
87 const std::vector<Eigen::MatrixXd> &vertices = std::vector<Eigen::MatrixXd>(),
88 const std::vector<Eigen::MatrixXi> &cells = std::vector<Eigen::MatrixXi>(),
89 const bool non_conforming = false);
90
100 const double unit_scale,
101 const json &transform,
102 const VectorNd &mesh_dimensions,
103 MatrixNd &A,
104 VectorNd &b);
105
106} // namespace polyfem::mesh
std::vector< Eigen::VectorXi > faces
void read_obstacle_mesh(const Units &units, const json &j_mesh, const std::string &root_path, const int dim, Eigen::MatrixXd &vertices, Eigen::VectorXi &codim_vertices, Eigen::MatrixXi &codim_edges, Eigen::MatrixXi &faces)
read a obstacle mesh from a geometry JSON
void construct_affine_transformation(const double unit_scale, const json &transform, const VectorNd &mesh_dimensions, MatrixNd &A, VectorNd &b)
Construct an affine transformation .
Obstacle read_obstacle_geometry(const Units &units, const json &geometry, const std::vector< json > &displacements, const std::vector< json > &dirichlets, const std::string &root_path, const int dim, const std::vector< std::string > &_names, const std::vector< Eigen::MatrixXd > &_vertices, const std::vector< Eigen::MatrixXi > &_cells, const bool non_conforming)
read a FEM mesh from a geometry JSON
std::unique_ptr< Mesh > read_fem_geometry(const Units &units, const json &geometry, const std::string &root_path, const std::vector< std::string > &_names, const std::vector< Eigen::MatrixXd > &_vertices, const std::vector< Eigen::MatrixXi > &_cells, const bool non_conforming)
read FEM meshes from a geometry JSON array (or single)
std::unique_ptr< Mesh > read_fem_mesh(const Units &units, const json &j_mesh, const std::string &root_path, const bool non_conforming)
read a FEM mesh from a geometry JSON
void apply_geometry_selection(Mesh &mesh, const json &geometry_selection, const std::string &root_path)
Apply a geometry selection to a FEM mesh.
Eigen::Matrix< double, Eigen::Dynamic, 1, 0, 3, 1 > VectorNd
Definition Types.hpp:11
nlohmann::json json
Definition Common.hpp:9
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor, 3, 3 > MatrixNd
Definition Types.hpp:14