PolyFEM
Loading...
Searching...
No Matches
CollisionProxy.cpp File Reference
#include "CollisionProxy.hpp"
#include <polyfem/mesh/collision_proxy/UpsampleMesh.hpp>
#include <polyfem/mesh/MeshUtils.hpp>
#include <polyfem/mesh/GeometryReader.hpp>
#include <polyfem/utils/Logger.hpp>
#include <polyfem/utils/MatrixUtils.hpp>
#include <SimpleBVH/BVH.hpp>
#include <igl/edges.h>
#include <igl/barycentric_coordinates.h>
#include <h5pp/h5pp.h>
Include dependency graph for CollisionProxy.cpp:

Go to the source code of this file.

Namespaces

namespace  polyfem
 
namespace  polyfem::mesh
 

Functions

void polyfem::mesh::build_collision_proxy (const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &geom_bases, const std::vector< 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_entries, const CollisionProxyTessellation tessellation)
 
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.