PolyFEM
Loading...
Searching...
No Matches
CollisionProxy.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 CollisionProxy.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
 

Enumerations

enum class  polyfem::mesh::CollisionProxyTessellation { polyfem::mesh::REGULAR , polyfem::mesh::IRREGULAR }
 

Functions

 polyfem::mesh::NLOHMANN_JSON_SERIALIZE_ENUM (CollisionProxyTessellation, {{CollisionProxyTessellation::REGULAR, "regular"}, {CollisionProxyTessellation::IRREGULAR, "irregular"}})
 
void polyfem::mesh::build_collision_proxy (const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &geom_bases, const std::vector< mesh::LocalBoundary > &total_local_boundary, const int n_bases, const int dim, const double max_edge_length, Eigen::MatrixXd &proxy_vertices, Eigen::MatrixXi &proxy_faces, std::vector< Eigen::Triplet< double > > &displacement_map, const CollisionProxyTessellation tessellation=CollisionProxyTessellation::REGULAR)
 Build a collision proxy mesh by upsampling a given mesh.
 
void polyfem::mesh::build_collision_proxy_displacement_map (const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &geom_bases, const std::vector< mesh::LocalBoundary > &total_local_boundary, const int n_bases, const int dim, const Eigen::MatrixXd &proxy_vertices, std::vector< Eigen::Triplet< double > > &displacement_map)
 Build a collision proxy displacement map for a given mesh and proxy mesh.
 
void polyfem::mesh::load_collision_proxy (const std::string &mesh_filename, const std::string &weights_filename, const Eigen::VectorXi &in_node_to_node, const json &transformation, Eigen::MatrixXd &vertices, Eigen::VectorXi &codim_vertices, Eigen::MatrixXi &edges, Eigen::MatrixXi &faces, std::vector< Eigen::Triplet< double > > &displacement_map_entries)
 Load a collision proxy mesh and displacement map from files.
 
void polyfem::mesh::load_collision_proxy_mesh (const std::string &mesh_filename, const json &transformation, Eigen::MatrixXd &vertices, Eigen::VectorXi &codim_vertices, Eigen::MatrixXi &edges, Eigen::MatrixXi &faces)
 Load a collision proxy mesh from a file.
 
void polyfem::mesh::load_collision_proxy_displacement_map (const std::string &weights_filename, const Eigen::VectorXi &in_node_to_node, const size_t num_proxy_vertices, std::vector< Eigen::Triplet< double > > &displacement_map_entries)
 Load a collision proxy displacement map from files.