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_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_std_optional_MR_VertBitSet

Stores either a single MR::VertBitSet or nothing. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_std_optional_MR_VertMap

Stores either a single MR::VertMap or nothing. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_std_vector_std_pair_MR_EdgeId_MR_EdgeId

Generated from C++ container std::vector<std::pair<MR::EdgeId, MR::EdgeId>>. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

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.