shapeworks::MeshUtils
Module: Mesh Classes
#include <MeshUtils.h>
Public Functions
| Name | |
|---|---|
| const vtkSmartPointer< vtkMatrix4x4 > | createICPTransform(const Mesh source, const Mesh target, Mesh::AlignmentType align, const unsigned iterations =20, bool meshTransform =false) computes a rigid transformation from source to target using vtkIterativeClosestPointTransform  | 
| Mesh | create_mesh_from_file(std::string filename, double iso_value =0.5) Mesh from mesh or image file.  | 
| Mesh | threadSafeReadMesh(std::string filename) Thread safe reading of a mesh, uses a lock.  | 
| void | threadSafeWriteMesh(std::string filename, Mesh mesh) Thread safe writing of a mesh, uses a lock.  | 
| PhysicalRegion | boundingBox(const std::vector< std::string > & filenames, bool center =false) calculate bounding box incrementally for meshes  | 
| PhysicalRegion | boundingBox(const std::vector< std::reference_wrapper< const Mesh > > & meshes, bool center =false) calculate bounding box incrementally for meshes  | 
| PhysicalRegion | boundingBox(const std::vector< Mesh > & meshes, bool center =false) calculate bounding box incrementally for meshes  | 
| int | findReferenceMesh(std::vector< Mesh > & meshes, int random_subset_size =-1) determine the reference mesh  | 
| Mesh | boundaryLoopExtractor(Mesh mesh) boundary loop extractor for a given mesh  | 
| std::array< Mesh, 3 > | sharedBoundaryExtractor(const Mesh & mesh_l, const Mesh & mesh_r, double tol) shared boundary extractor for the left and right mesh  | 
| void | generateNormals(const std::vector< std::reference_wrapper< Mesh > > & meshes, bool forceRegen =false) generates and adds normals for points and faces for each mesh in given set of meshes  | 
| Field | computeMeanNormals(const std::vector< std::string > & filenames, bool autoGenerateNormals =true) computes average normals for each point in given set of meshes  | 
| Field | computeMeanNormals(const std::vector< std::reference_wrapper< const Mesh > > & meshes) computes average normals for each point in given set of meshes  | 
| void | visualizeVectorFieldForFFCs(std::shared_ptr< Mesh > mesh) This function visualizes vector and scalar fields for FFCs.  | 
| vtkSmartPointer< vtkActor > | getArrow(Eigen::Vector3d start, Eigen::Vector3d end) Used as an auxiliary function for vector field visualizations.  | 
Detailed Description
class shapeworks::MeshUtils;
This class provides helper functions for meshes
Public Functions Documentation
function createICPTransform
static const vtkSmartPointer< vtkMatrix4x4 > createICPTransform(
    const Mesh source,
    const Mesh target,
    Mesh::AlignmentType align,
    const unsigned iterations =20,
    bool meshTransform =false
)
computes a rigid transformation from source to target using vtkIterativeClosestPointTransform
function create_mesh_from_file
static Mesh create_mesh_from_file(
    std::string filename,
    double iso_value =0.5
)
Mesh from mesh or image file.
function threadSafeReadMesh
static Mesh threadSafeReadMesh(
    std::string filename
)
Thread safe reading of a mesh, uses a lock.
function threadSafeWriteMesh
static void threadSafeWriteMesh(
    std::string filename,
    Mesh mesh
)
Thread safe writing of a mesh, uses a lock.
function boundingBox
static PhysicalRegion boundingBox(
    const std::vector< std::string > & filenames,
    bool center =false
)
calculate bounding box incrementally for meshes
function boundingBox
static PhysicalRegion boundingBox(
    const std::vector< std::reference_wrapper< const Mesh > > & meshes,
    bool center =false
)
calculate bounding box incrementally for meshes
function boundingBox
static PhysicalRegion boundingBox(
    const std::vector< Mesh > & meshes,
    bool center =false
)
calculate bounding box incrementally for meshes
function findReferenceMesh
static int findReferenceMesh(
    std::vector< Mesh > & meshes,
    int random_subset_size =-1
)
determine the reference mesh
function boundaryLoopExtractor
static Mesh boundaryLoopExtractor(
    Mesh mesh
)
boundary loop extractor for a given mesh
function sharedBoundaryExtractor
static std::array< Mesh, 3 > sharedBoundaryExtractor(
    const Mesh & mesh_l,
    const Mesh & mesh_r,
    double tol
)
shared boundary extractor for the left and right mesh
function generateNormals
static void generateNormals(
    const std::vector< std::reference_wrapper< Mesh > > & meshes,
    bool forceRegen =false
)
generates and adds normals for points and faces for each mesh in given set of meshes
function computeMeanNormals
static Field computeMeanNormals(
    const std::vector< std::string > & filenames,
    bool autoGenerateNormals =true
)
computes average normals for each point in given set of meshes
function computeMeanNormals
static Field computeMeanNormals(
    const std::vector< std::reference_wrapper< const Mesh > > & meshes
)
computes average normals for each point in given set of meshes
function visualizeVectorFieldForFFCs
void visualizeVectorFieldForFFCs(
    std::shared_ptr< Mesh > mesh
)
This function visualizes vector and scalar fields for FFCs.
function getArrow
vtkSmartPointer< vtkActor > getArrow(
    Eigen::Vector3d start,
    Eigen::Vector3d end
)
Used as an auxiliary function for vector field visualizations.
Updated on 2024-03-17 at 12:58:44 -0600