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

Go to the source code of this file.

Typedefs

typedef struct MR_DistanceVolumeParams MR_DistanceVolumeParams
 
typedef struct MR_FunctionVolume MR_FunctionVolume
 
typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_VertColors MR_VertColors
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_expected_MR_SimpleVolume_std_string MR_expected_MR_SimpleVolume_std_string
 
typedef struct MR_expected_MR_VertColors_std_string MR_expected_MR_VertColors_std_string
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_PointsToDistanceVolumeParams MR_PointsToDistanceVolumeParams
 

Functions

MRC_API const float * MR_PointsToDistanceVolumeParams_Get_sigma (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_sigma (MR_PointsToDistanceVolumeParams *_this, float value)
 
MRC_API float * MR_PointsToDistanceVolumeParams_GetMutable_sigma (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const float * MR_PointsToDistanceVolumeParams_Get_minWeight (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_minWeight (MR_PointsToDistanceVolumeParams *_this, float value)
 
MRC_API float * MR_PointsToDistanceVolumeParams_GetMutable_minWeight (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const MR_VertCoords *const * MR_PointsToDistanceVolumeParams_Get_ptNormals (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_ptNormals (MR_PointsToDistanceVolumeParams *_this, const MR_VertCoords *value)
 
MRC_API const MR_VertCoords ** MR_PointsToDistanceVolumeParams_GetMutable_ptNormals (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const MR_Vector3fMR_PointsToDistanceVolumeParams_Get_origin (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_origin (MR_PointsToDistanceVolumeParams *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_PointsToDistanceVolumeParams_GetMutable_origin (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_PointsToDistanceVolumeParams_Get_cb (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_cb (MR_PointsToDistanceVolumeParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_PointsToDistanceVolumeParams_GetMutable_cb (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const MR_Vector3fMR_PointsToDistanceVolumeParams_Get_voxelSize (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_voxelSize (MR_PointsToDistanceVolumeParams *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_PointsToDistanceVolumeParams_GetMutable_voxelSize (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API const MR_Vector3iMR_PointsToDistanceVolumeParams_Get_dimensions (const MR_PointsToDistanceVolumeParams *_this)
 
MRC_API void MR_PointsToDistanceVolumeParams_Set_dimensions (MR_PointsToDistanceVolumeParams *_this, MR_Vector3i value)
 
MRC_API MR_Vector3iMR_PointsToDistanceVolumeParams_GetMutable_dimensions (MR_PointsToDistanceVolumeParams *_this)
 
MRC_API MR_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_DefaultConstruct (void)
 
MRC_API MR_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_OffsetPtr (const MR_PointsToDistanceVolumeParams *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_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_OffsetMutablePtr (MR_PointsToDistanceVolumeParams *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 const MR_DistanceVolumeParamsMR_PointsToDistanceVolumeParams_UpcastTo_MR_DistanceVolumeParams (const MR_PointsToDistanceVolumeParams *object)
 
MRC_API MR_DistanceVolumeParamsMR_PointsToDistanceVolumeParams_MutableUpcastTo_MR_DistanceVolumeParams (MR_PointsToDistanceVolumeParams *object)
 Upcasts an instance of MR::PointsToDistanceVolumeParams to its base class MR::DistanceVolumeParams.
 
MRC_API MR_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_ConstructFromAnother (MR_PassBy _other_pass_by, MR_PointsToDistanceVolumeParams *_other)
 
MRC_API void MR_PointsToDistanceVolumeParams_Destroy (const MR_PointsToDistanceVolumeParams *_this)
 Destroys a heap-allocated instance of MR_PointsToDistanceVolumeParams. Does nothing if the pointer is null.
 
MRC_API void MR_PointsToDistanceVolumeParams_DestroyArray (const MR_PointsToDistanceVolumeParams *_this)
 Destroys a heap-allocated array of MR_PointsToDistanceVolumeParams. Does nothing if the pointer is null.
 
MRC_API MR_PointsToDistanceVolumeParamsMR_PointsToDistanceVolumeParams_AssignFromAnother (MR_PointsToDistanceVolumeParams *_this, MR_PassBy _other_pass_by, MR_PointsToDistanceVolumeParams *_other)
 
MRC_API MR_expected_MR_SimpleVolume_std_stringMR_pointsToDistanceVolume (const MR_PointCloud *cloud, const MR_PointsToDistanceVolumeParams *params)
 
MRC_API MR_FunctionVolumeMR_pointsToDistanceFunctionVolume (const MR_PointCloud *cloud, const MR_PointsToDistanceVolumeParams *params)
 
MRC_API MR_expected_MR_VertColors_std_stringMR_calcAvgColors (const MR_PointCloud *cloud, const MR_VertColors *colors, const MR_VertCoords *tgtPoints, const MR_VertBitSet *tgtVerts, float sigma, const MR_std_function_bool_from_float *cb)
 

Typedef Documentation

◆ MR_DistanceVolumeParams

◆ MR_expected_MR_SimpleVolume_std_string

◆ MR_expected_MR_VertColors_std_string

◆ MR_FunctionVolume

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_PointsToDistanceVolumeParams

Generated from class MR::PointsToDistanceVolumeParams. Base classes: Direct: (non-virtual) MR::DistanceVolumeParams 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_function_bool_from_float

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

◆ MR_VertColors

typedef struct MR_VertColors MR_VertColors

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

Function Documentation

◆ MR_calcAvgColors()

MRC_API MR_expected_MR_VertColors_std_string * MR_calcAvgColors ( const MR_PointCloud * cloud,
const MR_VertColors * colors,
const MR_VertCoords * tgtPoints,
const MR_VertBitSet * tgtVerts,
float sigma,
const MR_std_function_bool_from_float * cb )

given

Parameters
clouda point cloud
colorscolors of each point in the cloud
tgtPointssome target points
tgtVertsmask of valid target points
sigmathe distance of highest influence of a point
cbprogress callback computes the colors in valid target points by averaging the colors from the point cloud Generated from function MR::calcAvgColors. Parameter cloud can not be null. It is a single object. Parameter colors can not be null. It is a single object. Parameter tgtPoints can not be null. It is a single object. Parameter tgtVerts 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_expected_MR_VertColors_std_string_Destroy() to free it when you're done using it.

◆ MR_pointsToDistanceFunctionVolume()

MRC_API MR_FunctionVolume * MR_pointsToDistanceFunctionVolume ( const MR_PointCloud * cloud,
const MR_PointsToDistanceVolumeParams * params )

makes FunctionVolume representing signed distances to points with normals Generated from function MR::pointsToDistanceFunctionVolume. Parameter cloud can not be null. It is a single object. Parameter params can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FunctionVolume_Destroy() to free it when you're done using it.

◆ MR_pointsToDistanceVolume()

MRC_API MR_expected_MR_SimpleVolume_std_string * MR_pointsToDistanceVolume ( const MR_PointCloud * cloud,
const MR_PointsToDistanceVolumeParams * params )

makes SimpleVolume filled with signed distances to points with normals Generated from function MR::pointsToDistanceVolume. Parameter cloud can not be null. It is a single object. Parameter params can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_SimpleVolume_std_string_Destroy() to free it when you're done using it.

◆ MR_PointsToDistanceVolumeParams_AssignFromAnother()

MRC_API MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_AssignFromAnother ( MR_PointsToDistanceVolumeParams * _this,
MR_PassBy _other_pass_by,
MR_PointsToDistanceVolumeParams * _other )

Generated from method MR::PointsToDistanceVolumeParams::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_PointsToDistanceVolumeParams_ConstructFromAnother()

MRC_API MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_PointsToDistanceVolumeParams * _other )

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

◆ MR_PointsToDistanceVolumeParams_DefaultConstruct()

MRC_API MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_DefaultConstruct ( void )

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

◆ MR_PointsToDistanceVolumeParams_DefaultConstructArray()

MRC_API MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_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_PointsToDistanceVolumeParams_DestroyArray(). Use MR_PointsToDistanceVolumeParams_OffsetMutablePtr() and MR_PointsToDistanceVolumeParams_OffsetPtr() to access the array elements.

◆ MR_PointsToDistanceVolumeParams_Destroy()

MRC_API void MR_PointsToDistanceVolumeParams_Destroy ( const MR_PointsToDistanceVolumeParams * _this)

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

◆ MR_PointsToDistanceVolumeParams_DestroyArray()

MRC_API void MR_PointsToDistanceVolumeParams_DestroyArray ( const MR_PointsToDistanceVolumeParams * _this)

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

◆ MR_PointsToDistanceVolumeParams_Get_cb()

MRC_API const MR_std_function_bool_from_float * MR_PointsToDistanceVolumeParams_Get_cb ( const MR_PointsToDistanceVolumeParams * _this)

progress callback Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named cb. 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_PointsToDistanceVolumeParams_Get_dimensions()

MRC_API const MR_Vector3i * MR_PointsToDistanceVolumeParams_Get_dimensions ( const MR_PointsToDistanceVolumeParams * _this)

num voxels along each axis Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named dimensions. 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_PointsToDistanceVolumeParams_Get_minWeight()

MRC_API const float * MR_PointsToDistanceVolumeParams_Get_minWeight ( const MR_PointsToDistanceVolumeParams * _this)

minimum sum of influence weights from surrounding points for a voxel to get a value, meaning that there shall be at least this number of points in close proximity Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named minWeight. 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_PointsToDistanceVolumeParams_Get_origin()

MRC_API const MR_Vector3f * MR_PointsToDistanceVolumeParams_Get_origin ( const MR_PointsToDistanceVolumeParams * _this)

origin point of voxels box Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named origin. 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_PointsToDistanceVolumeParams_Get_ptNormals()

MRC_API const MR_VertCoords *const * MR_PointsToDistanceVolumeParams_Get_ptNormals ( const MR_PointsToDistanceVolumeParams * _this)

optional input: if this pointer is set then function will use these normals instead of ones present in cloud Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named ptNormals. 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_PointsToDistanceVolumeParams_Get_sigma()

MRC_API const float * MR_PointsToDistanceVolumeParams_Get_sigma ( const MR_PointsToDistanceVolumeParams * _this)

it the distance of highest influence of a point; the maximal influence distance is 3*sigma; beyond that distance the influence is strictly zero Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named sigma. 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_PointsToDistanceVolumeParams_Get_voxelSize()

MRC_API const MR_Vector3f * MR_PointsToDistanceVolumeParams_Get_voxelSize ( const MR_PointsToDistanceVolumeParams * _this)

size of voxel on each axis Returns a pointer to a member variable of class MR::PointsToDistanceVolumeParams named voxelSize. 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_PointsToDistanceVolumeParams_GetMutable_cb()

MRC_API MR_std_function_bool_from_float * MR_PointsToDistanceVolumeParams_GetMutable_cb ( MR_PointsToDistanceVolumeParams * _this)

progress callback Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named cb. 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_PointsToDistanceVolumeParams_GetMutable_dimensions()

MRC_API MR_Vector3i * MR_PointsToDistanceVolumeParams_GetMutable_dimensions ( MR_PointsToDistanceVolumeParams * _this)

num voxels along each axis Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named dimensions. 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_PointsToDistanceVolumeParams_GetMutable_minWeight()

MRC_API float * MR_PointsToDistanceVolumeParams_GetMutable_minWeight ( MR_PointsToDistanceVolumeParams * _this)

minimum sum of influence weights from surrounding points for a voxel to get a value, meaning that there shall be at least this number of points in close proximity Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named minWeight. 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_PointsToDistanceVolumeParams_GetMutable_origin()

MRC_API MR_Vector3f * MR_PointsToDistanceVolumeParams_GetMutable_origin ( MR_PointsToDistanceVolumeParams * _this)

origin point of voxels box Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named origin. 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_PointsToDistanceVolumeParams_GetMutable_ptNormals()

MRC_API const MR_VertCoords ** MR_PointsToDistanceVolumeParams_GetMutable_ptNormals ( MR_PointsToDistanceVolumeParams * _this)

optional input: if this pointer is set then function will use these normals instead of ones present in cloud Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named ptNormals. 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_PointsToDistanceVolumeParams_GetMutable_sigma()

MRC_API float * MR_PointsToDistanceVolumeParams_GetMutable_sigma ( MR_PointsToDistanceVolumeParams * _this)

it the distance of highest influence of a point; the maximal influence distance is 3*sigma; beyond that distance the influence is strictly zero Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named sigma. 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_PointsToDistanceVolumeParams_GetMutable_voxelSize()

MRC_API MR_Vector3f * MR_PointsToDistanceVolumeParams_GetMutable_voxelSize ( MR_PointsToDistanceVolumeParams * _this)

size of voxel on each axis Returns a mutable pointer to a member variable of class MR::PointsToDistanceVolumeParams named voxelSize. 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_PointsToDistanceVolumeParams_MutableUpcastTo_MR_DistanceVolumeParams()

MRC_API MR_DistanceVolumeParams * MR_PointsToDistanceVolumeParams_MutableUpcastTo_MR_DistanceVolumeParams ( MR_PointsToDistanceVolumeParams * object)

Upcasts an instance of MR::PointsToDistanceVolumeParams to its base class MR::DistanceVolumeParams.

◆ MR_PointsToDistanceVolumeParams_OffsetMutablePtr()

MRC_API MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_OffsetMutablePtr ( MR_PointsToDistanceVolumeParams * 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_PointsToDistanceVolumeParams_OffsetPtr()

MRC_API const MR_PointsToDistanceVolumeParams * MR_PointsToDistanceVolumeParams_OffsetPtr ( const MR_PointsToDistanceVolumeParams * 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_PointsToDistanceVolumeParams_Set_cb()

MRC_API void MR_PointsToDistanceVolumeParams_Set_cb ( MR_PointsToDistanceVolumeParams * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

progress callback Modifies a member variable of class MR::PointsToDistanceVolumeParams named cb. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_dimensions()

MRC_API void MR_PointsToDistanceVolumeParams_Set_dimensions ( MR_PointsToDistanceVolumeParams * _this,
MR_Vector3i value )

num voxels along each axis Modifies a member variable of class MR::PointsToDistanceVolumeParams named dimensions. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_minWeight()

MRC_API void MR_PointsToDistanceVolumeParams_Set_minWeight ( MR_PointsToDistanceVolumeParams * _this,
float value )

minimum sum of influence weights from surrounding points for a voxel to get a value, meaning that there shall be at least this number of points in close proximity Modifies a member variable of class MR::PointsToDistanceVolumeParams named minWeight. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_origin()

MRC_API void MR_PointsToDistanceVolumeParams_Set_origin ( MR_PointsToDistanceVolumeParams * _this,
MR_Vector3f value )

origin point of voxels box Modifies a member variable of class MR::PointsToDistanceVolumeParams named origin. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_ptNormals()

MRC_API void MR_PointsToDistanceVolumeParams_Set_ptNormals ( MR_PointsToDistanceVolumeParams * _this,
const MR_VertCoords * value )

optional input: if this pointer is set then function will use these normals instead of ones present in cloud Modifies a member variable of class MR::PointsToDistanceVolumeParams named ptNormals. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_sigma()

MRC_API void MR_PointsToDistanceVolumeParams_Set_sigma ( MR_PointsToDistanceVolumeParams * _this,
float value )

it the distance of highest influence of a point; the maximal influence distance is 3*sigma; beyond that distance the influence is strictly zero Modifies a member variable of class MR::PointsToDistanceVolumeParams named sigma. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_Set_voxelSize()

MRC_API void MR_PointsToDistanceVolumeParams_Set_voxelSize ( MR_PointsToDistanceVolumeParams * _this,
MR_Vector3f value )

size of voxel on each axis Modifies a member variable of class MR::PointsToDistanceVolumeParams named voxelSize. Parameter _this can not be null. It is a single object.

◆ MR_PointsToDistanceVolumeParams_UpcastTo_MR_DistanceVolumeParams()

MRC_API const MR_DistanceVolumeParams * MR_PointsToDistanceVolumeParams_UpcastTo_MR_DistanceVolumeParams ( const MR_PointsToDistanceVolumeParams * object)

Upcasts an instance of MR::PointsToDistanceVolumeParams to its base class MR::DistanceVolumeParams. This version is acting on mutable pointers.