MeshLib C Docs
Loading...
Searching...
No Matches
MREnumNeighbours.h File Reference
#include <MRCMesh/MRId.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshTopology MR_MeshTopology
 
typedef struct MR_PointOnFace MR_PointOnFace
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_VertScalars MR_VertScalars
 
typedef struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId
 
typedef struct MR_std_function_bool_from_MR_VertId MR_std_function_bool_from_MR_VertId
 
typedef struct MR_EnumNeihbourVertices MR_EnumNeihbourVertices
 Generated from class MR::EnumNeihbourVertices.
 
typedef struct MR_EnumNeihbourFaces MR_EnumNeihbourFaces
 Generated from class MR::EnumNeihbourFaces.
 

Functions

MRC_API MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_DefaultConstruct (void)
 
MRC_API MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_OffsetPtr (const MR_EnumNeihbourVertices *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_OffsetMutablePtr (MR_EnumNeihbourVertices *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_ConstructFromAnother (MR_PassBy _other_pass_by, MR_EnumNeihbourVertices *_other)
 
MRC_API void MR_EnumNeihbourVertices_Destroy (const MR_EnumNeihbourVertices *_this)
 Destroys a heap-allocated instance of MR_EnumNeihbourVertices. Does nothing if the pointer is null.
 
MRC_API void MR_EnumNeihbourVertices_DestroyArray (const MR_EnumNeihbourVertices *_this)
 Destroys a heap-allocated array of MR_EnumNeihbourVertices. Does nothing if the pointer is null.
 
MRC_API MR_EnumNeihbourVerticesMR_EnumNeihbourVertices_AssignFromAnother (MR_EnumNeihbourVertices *_this, MR_PassBy _other_pass_by, MR_EnumNeihbourVertices *_other)
 
MRC_API void MR_EnumNeihbourVertices_run_MR_VertId (MR_EnumNeihbourVertices *_this, const MR_MeshTopology *topology, MR_VertId start, const MR_std_function_bool_from_MR_VertId *pred)
 
MRC_API void MR_EnumNeihbourVertices_run_MR_VertBitSet (MR_EnumNeihbourVertices *_this, const MR_MeshTopology *topology, const MR_VertBitSet *start, const MR_std_function_bool_from_MR_VertId *pred)
 
MRC_API MR_VertScalarsMR_computeSpaceDistances (const MR_Mesh *mesh, const MR_PointOnFace *start, float range)
 
MRC_API MR_VertBitSetMR_findNeighborVerts (const MR_Mesh *mesh, const MR_PointOnFace *start, float rangeSq)
 
MRC_API MR_EnumNeihbourFacesMR_EnumNeihbourFaces_DefaultConstruct (void)
 
MRC_API MR_EnumNeihbourFacesMR_EnumNeihbourFaces_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_EnumNeihbourFacesMR_EnumNeihbourFaces_OffsetPtr (const MR_EnumNeihbourFaces *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_EnumNeihbourFacesMR_EnumNeihbourFaces_OffsetMutablePtr (MR_EnumNeihbourFaces *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_EnumNeihbourFacesMR_EnumNeihbourFaces_ConstructFromAnother (MR_PassBy _other_pass_by, MR_EnumNeihbourFaces *_other)
 
MRC_API void MR_EnumNeihbourFaces_Destroy (const MR_EnumNeihbourFaces *_this)
 Destroys a heap-allocated instance of MR_EnumNeihbourFaces. Does nothing if the pointer is null.
 
MRC_API void MR_EnumNeihbourFaces_DestroyArray (const MR_EnumNeihbourFaces *_this)
 Destroys a heap-allocated array of MR_EnumNeihbourFaces. Does nothing if the pointer is null.
 
MRC_API MR_EnumNeihbourFacesMR_EnumNeihbourFaces_AssignFromAnother (MR_EnumNeihbourFaces *_this, MR_PassBy _other_pass_by, MR_EnumNeihbourFaces *_other)
 
MRC_API void MR_EnumNeihbourFaces_run (MR_EnumNeihbourFaces *_this, const MR_MeshTopology *topology, MR_VertId start, const MR_std_function_bool_from_MR_FaceId *pred)
 

Typedef Documentation

◆ MR_EnumNeihbourFaces

Generated from class MR::EnumNeihbourFaces.

◆ MR_EnumNeihbourVertices

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshTopology

◆ MR_PointOnFace

◆ MR_std_function_bool_from_MR_FaceId

◆ MR_std_function_bool_from_MR_VertId

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

◆ MR_VertScalars

Function Documentation

◆ MR_computeSpaceDistances()

MRC_API MR_VertScalars * MR_computeSpaceDistances ( const MR_Mesh * mesh,
const MR_PointOnFace * start,
float range )

computes Euclidean 3D distances from given start point to all neighbor vertices within given

Parameters
rangeand to first vertices with the distance more than range Generated from function MR::computeSpaceDistances. Parameter mesh can not be null. It is a single object. Parameter start can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_VertScalars_Destroy() to free it when you're done using it.

◆ MR_EnumNeihbourFaces_AssignFromAnother()

MRC_API MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_AssignFromAnother ( MR_EnumNeihbourFaces * _this,
MR_PassBy _other_pass_by,
MR_EnumNeihbourFaces * _other )

Generated from a method of class MR::EnumNeihbourFaces named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_EnumNeihbourFaces_ConstructFromAnother()

MRC_API MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_EnumNeihbourFaces * _other )

Generated from a constructor of class MR::EnumNeihbourFaces. Never returns null. Returns an instance allocated on the heap! Must call MR_EnumNeihbourFaces_Destroy() to free it when you're done using it.

◆ MR_EnumNeihbourFaces_DefaultConstruct()

MRC_API MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_EnumNeihbourFaces_Destroy() to free it when you're done using it.

◆ MR_EnumNeihbourFaces_DefaultConstructArray()

MRC_API MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_EnumNeihbourFaces_DestroyArray(). Use MR_EnumNeihbourFaces_OffsetMutablePtr() and MR_EnumNeihbourFaces_OffsetPtr() to access the array elements.

◆ MR_EnumNeihbourFaces_Destroy()

MRC_API void MR_EnumNeihbourFaces_Destroy ( const MR_EnumNeihbourFaces * _this)

Destroys a heap-allocated instance of MR_EnumNeihbourFaces. Does nothing if the pointer is null.

◆ MR_EnumNeihbourFaces_DestroyArray()

MRC_API void MR_EnumNeihbourFaces_DestroyArray ( const MR_EnumNeihbourFaces * _this)

Destroys a heap-allocated array of MR_EnumNeihbourFaces. Does nothing if the pointer is null.

◆ MR_EnumNeihbourFaces_OffsetMutablePtr()

MRC_API MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_OffsetMutablePtr ( MR_EnumNeihbourFaces * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_EnumNeihbourFaces_OffsetPtr()

MRC_API const MR_EnumNeihbourFaces * MR_EnumNeihbourFaces_OffsetPtr ( const MR_EnumNeihbourFaces * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_EnumNeihbourFaces_run()

MRC_API void MR_EnumNeihbourFaces_run ( MR_EnumNeihbourFaces * _this,
const MR_MeshTopology * topology,
MR_VertId start,
const MR_std_function_bool_from_MR_FaceId * pred )

invokes given predicate for faces starting from all incident to

Parameters
start,andcontinuing to all immediate neighbours in depth-first order until the predicate returns false Generated from a method of class MR::EnumNeihbourFaces named run. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Parameter pred can not be null. It is a single object.

◆ MR_EnumNeihbourVertices_AssignFromAnother()

MRC_API MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_AssignFromAnother ( MR_EnumNeihbourVertices * _this,
MR_PassBy _other_pass_by,
MR_EnumNeihbourVertices * _other )

Generated from a method of class MR::EnumNeihbourVertices named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_EnumNeihbourVertices_ConstructFromAnother()

MRC_API MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_EnumNeihbourVertices * _other )

Generated from a constructor of class MR::EnumNeihbourVertices. Never returns null. Returns an instance allocated on the heap! Must call MR_EnumNeihbourVertices_Destroy() to free it when you're done using it.

◆ MR_EnumNeihbourVertices_DefaultConstruct()

MRC_API MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_EnumNeihbourVertices_Destroy() to free it when you're done using it.

◆ MR_EnumNeihbourVertices_DefaultConstructArray()

MRC_API MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_EnumNeihbourVertices_DestroyArray(). Use MR_EnumNeihbourVertices_OffsetMutablePtr() and MR_EnumNeihbourVertices_OffsetPtr() to access the array elements.

◆ MR_EnumNeihbourVertices_Destroy()

MRC_API void MR_EnumNeihbourVertices_Destroy ( const MR_EnumNeihbourVertices * _this)

Destroys a heap-allocated instance of MR_EnumNeihbourVertices. Does nothing if the pointer is null.

◆ MR_EnumNeihbourVertices_DestroyArray()

MRC_API void MR_EnumNeihbourVertices_DestroyArray ( const MR_EnumNeihbourVertices * _this)

Destroys a heap-allocated array of MR_EnumNeihbourVertices. Does nothing if the pointer is null.

◆ MR_EnumNeihbourVertices_OffsetMutablePtr()

MRC_API MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_OffsetMutablePtr ( MR_EnumNeihbourVertices * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_EnumNeihbourVertices_OffsetPtr()

MRC_API const MR_EnumNeihbourVertices * MR_EnumNeihbourVertices_OffsetPtr ( const MR_EnumNeihbourVertices * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_EnumNeihbourVertices_run_MR_VertBitSet()

MRC_API void MR_EnumNeihbourVertices_run_MR_VertBitSet ( MR_EnumNeihbourVertices * _this,
const MR_MeshTopology * topology,
const MR_VertBitSet * start,
const MR_std_function_bool_from_MR_VertId * pred )

Generated from a method of class MR::EnumNeihbourVertices named run. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Parameter start can not be null. It is a single object. Parameter pred can not be null. It is a single object.

◆ MR_EnumNeihbourVertices_run_MR_VertId()

MRC_API void MR_EnumNeihbourVertices_run_MR_VertId ( MR_EnumNeihbourVertices * _this,
const MR_MeshTopology * topology,
MR_VertId start,
const MR_std_function_bool_from_MR_VertId * pred )

invokes given predicate for vertices starting from

Parameters
start,andcontinuing to all immediate neighbours in depth-first order until the predicate returns false Generated from a method of class MR::EnumNeihbourVertices named run. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Parameter pred can not be null. It is a single object.

◆ MR_findNeighborVerts()

MRC_API MR_VertBitSet * MR_findNeighborVerts ( const MR_Mesh * mesh,
const MR_PointOnFace * start,
float rangeSq )

calculates all neighbor vertices within a given

Parameters
rangeand to first vertices with the distance more than range
rangeSqsquare of range Generated from function MR::findNeighborVerts. Parameter mesh can not be null. It is a single object. Parameter start 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.