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)
 
MRC_API MR_DenseBoxMR_DenseBox_OffsetMutablePtr (MR_DenseBox *ptr, ptrdiff_t i)
 
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. Supported MR_PassBy modes: MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ 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 method MR::DenseBox::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_DenseBox_basisXf()

MRC_API const MR_AffineXf3f * MR_DenseBox_basisXf ( const MR_DenseBox * _this)

transform box space to world space Generated from method MR::DenseBox::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 method MR::DenseBox::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 method MR::DenseBox::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 method MR::DenseBox::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 constructor MR::DenseBox::DenseBox. Parameter meshPart can not be null. It is a single object. The reference to the parameter meshPart might be preserved in the constructed object. Parameter xf defaults to a null pointer in C++. The reference to the parameter xf might be preserved in the constructed 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_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 constructor MR::DenseBox::DenseBox. Parameter points can not be null. It is a single object. The reference to the parameter points might be preserved in the constructed object. Parameter xf defaults to a null pointer in C++. The reference to the parameter xf might be preserved in the constructed 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_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 constructor MR::DenseBox::DenseBox. Parameter line can not be null. It is a single object. The reference to the parameter line might be preserved in the constructed object. Parameter xf defaults to a null pointer in C++. The reference to the parameter xf might be preserved in the constructed 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_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 constructor MR::DenseBox::DenseBox. Parameter points can not be null. It is a single object. The reference to the parameter points might be preserved in the constructed object. Parameter xf defaults to a null pointer in C++. The reference to the parameter xf might be preserved in the constructed 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_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 constructor MR::DenseBox::DenseBox. Parameter points can not be null. It is a single object. The reference to the parameter points might be preserved in the constructed object. Parameter weights can not be null. It is a single object. The reference to the parameter weights might be preserved in the constructed object. Parameter xf defaults to a null pointer in C++. The reference to the parameter xf might be preserved in the constructed 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_ConstructFromAnother()

MRC_API MR_DenseBox * MR_DenseBox_ConstructFromAnother ( const MR_DenseBox * _other)

Generated from constructor MR::DenseBox::DenseBox. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed 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 method MR::DenseBox::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 method MR::DenseBox::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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.