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

Go to the source code of this file.

Typedefs

typedef struct MR_AffineXf3f MR_AffineXf3f
 
typedef struct MR_Box3f MR_Box3f
 
typedef struct MR_MeshPart MR_MeshPart
 
typedef struct MR_PointCloud MR_PointCloud
 
typedef struct MR_Polyline3 MR_Polyline3
 
typedef struct MR_Vector3b MR_Vector3b
 
typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
 
typedef struct MR_std_vector_float MR_std_vector_float
 
typedef struct MR_DenseBox MR_DenseBox
 

Functions

MRC_API MR_DenseBoxMR_DenseBox_ConstructFromAnother (const MR_DenseBox *_other)
 
MRC_API const MR_DenseBoxMR_DenseBox_OffsetPtr (const MR_DenseBox *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_DenseBoxMR_DenseBox_OffsetMutablePtr (MR_DenseBox *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_DenseBoxMR_DenseBox_Construct_2_std_vector_MR_Vector3f (const MR_std_vector_MR_Vector3f *points, const MR_AffineXf3f *xf)
 
MRC_API MR_DenseBoxMR_DenseBox_Construct_3 (const MR_std_vector_MR_Vector3f *points, const MR_std_vector_float *weights, const MR_AffineXf3f *xf)
 
MRC_API MR_DenseBoxMR_DenseBox_Construct_2_MR_MeshPart (const MR_MeshPart *meshPart, const MR_AffineXf3f *xf)
 
MRC_API MR_DenseBoxMR_DenseBox_Construct_2_MR_PointCloud (const MR_PointCloud *points, const MR_AffineXf3f *xf)
 
MRC_API MR_DenseBoxMR_DenseBox_Construct_2_MR_Polyline3 (const MR_Polyline3 *line, const MR_AffineXf3f *xf)
 
MRC_API void MR_DenseBox_Destroy (const MR_DenseBox *_this)
 Destroys a heap-allocated instance of MR_DenseBox. Does nothing if the pointer is null.
 
MRC_API void MR_DenseBox_DestroyArray (const MR_DenseBox *_this)
 Destroys a heap-allocated array of MR_DenseBox. Does nothing if the pointer is null.
 
MRC_API MR_DenseBoxMR_DenseBox_AssignFromAnother (MR_DenseBox *_this, const MR_DenseBox *_other)
 
MRC_API MR_Vector3f MR_DenseBox_center (const MR_DenseBox *_this)
 
MRC_API MR_Vector3f MR_DenseBox_corner (const MR_DenseBox *_this, const MR_Vector3b *index)
 
MRC_API bool MR_DenseBox_contains (const MR_DenseBox *_this, const MR_Vector3f *pt)
 
MRC_API const MR_Box3fMR_DenseBox_box (const MR_DenseBox *_this)
 
MRC_API const MR_AffineXf3fMR_DenseBox_basisXf (const MR_DenseBox *_this)
 
MRC_API const MR_AffineXf3fMR_DenseBox_basisXfInv (const MR_DenseBox *_this)
 

Typedef Documentation

◆ MR_AffineXf3f

typedef struct MR_AffineXf3f MR_AffineXf3f

◆ MR_Box3f

typedef struct MR_Box3f MR_Box3f

◆ MR_DenseBox

typedef struct MR_DenseBox MR_DenseBox

Structure to hold and work with dense box

Scalar operations that are not provided in this struct can be called via box() For example box().size(), box().diagonal() or box().volume() Non const operations are not allowed for dense box because it can spoil density Generated from class MR::DenseBox.

◆ MR_MeshPart

typedef struct MR_MeshPart MR_MeshPart

◆ MR_PointCloud

typedef struct MR_PointCloud MR_PointCloud

◆ MR_Polyline3

typedef struct MR_Polyline3 MR_Polyline3

◆ MR_std_vector_float

◆ MR_std_vector_MR_Vector3f

◆ MR_Vector3b

typedef struct MR_Vector3b MR_Vector3b

Function Documentation

◆ MR_DenseBox_AssignFromAnother()

MRC_API MR_DenseBox * MR_DenseBox_AssignFromAnother ( MR_DenseBox * _this,
const MR_DenseBox * _other )

Generated from a method of class MR::DenseBox named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_DenseBox_basisXf()

MRC_API const MR_AffineXf3f * MR_DenseBox_basisXf ( const MR_DenseBox * _this)

transform box space to world space Generated from a method of class MR::DenseBox named basisXf. 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_DenseBox_basisXfInv()

MRC_API const MR_AffineXf3f * MR_DenseBox_basisXfInv ( const MR_DenseBox * _this)

transform world space to box space Generated from a method of class MR::DenseBox named basisXfInv. 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_DenseBox_box()

MRC_API const MR_Box3f * MR_DenseBox_box ( const MR_DenseBox * _this)

return box in its space Generated from a method of class MR::DenseBox named box. 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_DenseBox_center()

MRC_API MR_Vector3f MR_DenseBox_center ( const MR_DenseBox * _this)

returns center of dense box Generated from a method of class MR::DenseBox named center. Parameter _this can not be null. It is a single object.

◆ MR_DenseBox_Construct_2_MR_MeshPart()

MRC_API MR_DenseBox * MR_DenseBox_Construct_2_MR_MeshPart ( const MR_MeshPart * meshPart,
const MR_AffineXf3f * xf )

Include mesh part into this dense box Generated from a constructor of class MR::DenseBox. Parameter meshPart can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_Construct_2_MR_PointCloud()

MRC_API MR_DenseBox * MR_DenseBox_Construct_2_MR_PointCloud ( const MR_PointCloud * points,
const MR_AffineXf3f * xf )

Include point into this dense box Generated from a constructor of class MR::DenseBox. Parameter points can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_Construct_2_MR_Polyline3()

MRC_API MR_DenseBox * MR_DenseBox_Construct_2_MR_Polyline3 ( const MR_Polyline3 * line,
const MR_AffineXf3f * xf )

Include line into this dense box Generated from a constructor of class MR::DenseBox. Parameter line can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_Construct_2_std_vector_MR_Vector3f()

MRC_API MR_DenseBox * MR_DenseBox_Construct_2_std_vector_MR_Vector3f ( const MR_std_vector_MR_Vector3f * points,
const MR_AffineXf3f * xf )

Include given points into this dense box Generated from a constructor of class MR::DenseBox. Parameter points can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_Construct_3()

MRC_API MR_DenseBox * MR_DenseBox_Construct_3 ( const MR_std_vector_MR_Vector3f * points,
const MR_std_vector_float * weights,
const MR_AffineXf3f * xf )

Include given weighed points into this dense box Generated from a constructor of class MR::DenseBox. Parameter points can not be null. It is a single object. Parameter weights can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_ConstructFromAnother()

MRC_API MR_DenseBox * MR_DenseBox_ConstructFromAnother ( const MR_DenseBox * _other)

Generated from a constructor of class MR::DenseBox. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_DenseBox_Destroy() to free it when you're done using it.

◆ MR_DenseBox_contains()

MRC_API bool MR_DenseBox_contains ( const MR_DenseBox * _this,
const MR_Vector3f * pt )

returns true if dense box contains given point Generated from a method of class MR::DenseBox named contains. Parameter _this can not be null. It is a single object. Parameter pt can not be null. It is a single object.

◆ MR_DenseBox_corner()

MRC_API MR_Vector3f MR_DenseBox_corner ( const MR_DenseBox * _this,
const MR_Vector3b * index )

returns corner of dense box, each index value means: false - min, true - max example: {false, false, flase} - min point, {true, true, true} - max point Generated from a method of class MR::DenseBox named corner. Parameter _this can not be null. It is a single object. Parameter index can not be null. It is a single object.

◆ MR_DenseBox_Destroy()

MRC_API void MR_DenseBox_Destroy ( const MR_DenseBox * _this)

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

◆ MR_DenseBox_DestroyArray()

MRC_API void MR_DenseBox_DestroyArray ( const MR_DenseBox * _this)

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

◆ MR_DenseBox_OffsetMutablePtr()

MRC_API MR_DenseBox * MR_DenseBox_OffsetMutablePtr ( MR_DenseBox * 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_DenseBox_OffsetPtr()

MRC_API const MR_DenseBox * MR_DenseBox_OffsetPtr ( const MR_DenseBox * 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.