MeshLib C Docs
Loading...
Searching...
No Matches
MRCloseVertices.h File Reference
#include <MRCMisc/exports.h>

Go to the source code of this file.

Typedefs

typedef struct MR_AABBTreePoints MR_AABBTreePoints
 
typedef struct MR_EdgeBitSet MR_EdgeBitSet
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_VertMap MR_VertMap
 
typedef struct MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_optional_MR_VertBitSet MR_std_optional_MR_VertBitSet
 
typedef struct MR_std_optional_MR_VertMap MR_std_optional_MR_VertMap
 
typedef struct MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId
 

Functions

MRC_API MR_std_optional_MR_VertMapMR_findSmallestCloseVertices_3_MR_Mesh (const MR_Mesh *mesh, float closeDist, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertMapMR_findSmallestCloseVertices_3_MR_PointCloud (const MR_PointCloud *cloud, float closeDist, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertMapMR_findSmallestCloseVertices_4 (const MR_VertCoords *points, float closeDist, const MR_VertBitSet *valid, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertMapMR_findSmallestCloseVerticesUsingTree (const MR_VertCoords *points, float closeDist, const MR_AABBTreePoints *tree, const MR_VertBitSet *valid, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertBitSetMR_findCloseVertices_3_MR_Mesh (const MR_Mesh *mesh, float closeDist, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertBitSetMR_findCloseVertices_3_MR_PointCloud (const MR_PointCloud *cloud, float closeDist, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_std_optional_MR_VertBitSetMR_findCloseVertices_4 (const MR_VertCoords *points, float closeDist, const MR_VertBitSet *valid, const MR_std_function_bool_from_float *cb)
 
MRC_API MR_VertBitSetMR_findCloseVertices_1 (const MR_VertMap *smallestMap)
 
MRC_API MR_std_vector_std_pair_MR_EdgeId_MR_EdgeIdMR_findTwinEdgePairs (const MR_Mesh *mesh, float closeDist)
 
MRC_API MR_EdgeBitSetMR_findTwinEdges_2 (const MR_Mesh *mesh, float closeDist)
 
MRC_API MR_EdgeBitSetMR_findTwinEdges_1 (const MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId *pairs)
 
MRC_API MR_UndirectedEdgeBitSetMR_findTwinUndirectedEdges_2 (const MR_Mesh *mesh, float closeDist)
 
MRC_API MR_UndirectedEdgeBitSetMR_findTwinUndirectedEdges_1 (const MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId *pairs)
 
MRC_API MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeIdMR_findTwinUndirectedEdgeHashMap_2 (const MR_Mesh *mesh, float closeDist)
 
MRC_API MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeIdMR_findTwinUndirectedEdgeHashMap_1 (const MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId *pairs)
 

Typedef Documentation

◆ MR_AABBTreePoints

◆ MR_EdgeBitSet

typedef struct MR_EdgeBitSet MR_EdgeBitSet

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_std_function_bool_from_float

◆ MR_std_optional_MR_VertBitSet

◆ MR_std_optional_MR_VertMap

◆ MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId

◆ MR_UndirectedEdgeBitSet

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

◆ MR_VertMap

typedef struct MR_VertMap MR_VertMap

Function Documentation

◆ MR_findCloseVertices_1()

MRC_API MR_VertBitSet * MR_findCloseVertices_1 ( const MR_VertMap * smallestMap)

finds all close vertices, where for each vertex there is another one located within given distance; smallestMap is the result of findSmallestCloseVertices function call Generated from function MR::findCloseVertices. Parameter smallestMap can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_VertBitSet_Destroy() to free it when you're done using it.

◆ MR_findCloseVertices_3_MR_Mesh()

MRC_API MR_std_optional_MR_VertBitSet * MR_findCloseVertices_3_MR_Mesh ( const MR_Mesh * mesh,
float closeDist,
const MR_std_function_bool_from_float * cb )

finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR::findCloseVertices. Parameter mesh can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertBitSet_Destroy() to free it when you're done using it.

◆ MR_findCloseVertices_3_MR_PointCloud()

MRC_API MR_std_optional_MR_VertBitSet * MR_findCloseVertices_3_MR_PointCloud ( const MR_PointCloud * cloud,
float closeDist,
const MR_std_function_bool_from_float * cb )

finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR::findCloseVertices. Parameter cloud can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertBitSet_Destroy() to free it when you're done using it.

◆ MR_findCloseVertices_4()

MRC_API MR_std_optional_MR_VertBitSet * MR_findCloseVertices_4 ( const MR_VertCoords * points,
float closeDist,
const MR_VertBitSet * valid,
const MR_std_function_bool_from_float * cb )

finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR::findCloseVertices. Parameter points can not be null. It is a single object. Parameter valid defaults to a null pointer in C++. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertBitSet_Destroy() to free it when you're done using it.

◆ MR_findSmallestCloseVertices_3_MR_Mesh()

MRC_API MR_std_optional_MR_VertMap * MR_findSmallestCloseVertices_3_MR_Mesh ( const MR_Mesh * mesh,
float closeDist,
const MR_std_function_bool_from_float * cb )

returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself Generated from function MR::findSmallestCloseVertices. Parameter mesh can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertMap_Destroy() to free it when you're done using it.

◆ MR_findSmallestCloseVertices_3_MR_PointCloud()

MRC_API MR_std_optional_MR_VertMap * MR_findSmallestCloseVertices_3_MR_PointCloud ( const MR_PointCloud * cloud,
float closeDist,
const MR_std_function_bool_from_float * cb )

returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself Generated from function MR::findSmallestCloseVertices. Parameter cloud can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertMap_Destroy() to free it when you're done using it.

◆ MR_findSmallestCloseVertices_4()

MRC_API MR_std_optional_MR_VertMap * MR_findSmallestCloseVertices_4 ( const MR_VertCoords * points,
float closeDist,
const MR_VertBitSet * valid,
const MR_std_function_bool_from_float * cb )

returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself; the search tree is constructe inside Generated from function MR::findSmallestCloseVertices. Parameter points can not be null. It is a single object. Parameter valid defaults to a null pointer in C++. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertMap_Destroy() to free it when you're done using it.

◆ MR_findSmallestCloseVerticesUsingTree()

MRC_API MR_std_optional_MR_VertMap * MR_findSmallestCloseVerticesUsingTree ( const MR_VertCoords * points,
float closeDist,
const MR_AABBTreePoints * tree,
const MR_VertBitSet * valid,
const MR_std_function_bool_from_float * cb )

returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself; given tree is used as is Generated from function MR::findSmallestCloseVerticesUsingTree. Parameter points can not be null. It is a single object. Parameter tree can not be null. It is a single object. Parameter cb is a single object. Parameter cb has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertMap_Destroy() to free it when you're done using it.

◆ MR_findTwinEdgePairs()

MRC_API MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId * MR_findTwinEdgePairs ( const MR_Mesh * mesh,
float closeDist )

finds pairs of twin edges (each twin edge will be present at least in one of pairs) Generated from function MR::findTwinEdgePairs. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId_Destroy() to free it when you're done using it.

◆ MR_findTwinEdges_1()

MRC_API MR_EdgeBitSet * MR_findTwinEdges_1 ( const MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId * pairs)

Generated from function MR::findTwinEdges. Parameter pairs can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_EdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_findTwinEdges_2()

MRC_API MR_EdgeBitSet * MR_findTwinEdges_2 ( const MR_Mesh * mesh,
float closeDist )

finds all directed twin edges Generated from function MR::findTwinEdges. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_EdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_findTwinUndirectedEdgeHashMap_1()

Generated from function MR::findTwinUndirectedEdgeHashMap. Parameter pairs can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId_Destroy() to free it when you're done using it.

◆ MR_findTwinUndirectedEdgeHashMap_2()

MRC_API MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId * MR_findTwinUndirectedEdgeHashMap_2 ( const MR_Mesh * mesh,
float closeDist )

provided that each edge has at most one twin, composes bidirectional mapping between twins Generated from function MR::findTwinUndirectedEdgeHashMap. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_phmap_flat_hash_map_MR_UndirectedEdgeId_MR_UndirectedEdgeId_Destroy() to free it when you're done using it.

◆ MR_findTwinUndirectedEdges_1()

MRC_API MR_UndirectedEdgeBitSet * MR_findTwinUndirectedEdges_1 ( const MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId * pairs)

Generated from function MR::findTwinUndirectedEdges. Parameter pairs can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_findTwinUndirectedEdges_2()

MRC_API MR_UndirectedEdgeBitSet * MR_findTwinUndirectedEdges_2 ( const MR_Mesh * mesh,
float closeDist )

finds all undirected twin edges Generated from function MR::findTwinUndirectedEdges. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.