MeshLib C Docs
Loading...
Searching...
No Matches
MRMovementBuildBody.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_Mesh MR_Mesh
 
typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
 
typedef struct MR_std_vector_std_vector_MR_Vector3f MR_std_vector_std_vector_MR_Vector3f
 
typedef struct MR_MovementBuildBodyParams MR_MovementBuildBodyParams
 

Functions

MRC_API const bool * MR_MovementBuildBodyParams_Get_allowRotation (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_allowRotation (MR_MovementBuildBodyParams *_this, bool value)
 
MRC_API bool * MR_MovementBuildBodyParams_GetMutable_allowRotation (MR_MovementBuildBodyParams *_this)
 
MRC_API const MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_Get_center (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_center (MR_MovementBuildBodyParams *_this, const MR_Vector3f *value)
 
MRC_API MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_GetMutable_center (MR_MovementBuildBodyParams *_this)
 
MRC_API const MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_Get_bodyNormal (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_bodyNormal (MR_MovementBuildBodyParams *_this, const MR_Vector3f *value)
 
MRC_API MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_GetMutable_bodyNormal (MR_MovementBuildBodyParams *_this)
 
MRC_API const MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_Get_bodyUpDir (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_bodyUpDir (MR_MovementBuildBodyParams *_this, const MR_Vector3f *value)
 
MRC_API MR_std_optional_MR_Vector3fMR_MovementBuildBodyParams_GetMutable_bodyUpDir (MR_MovementBuildBodyParams *_this)
 
MRC_API const MR_std_vector_std_vector_MR_Vector3f *const * MR_MovementBuildBodyParams_Get_trajectoryNormals (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_trajectoryNormals (MR_MovementBuildBodyParams *_this, const MR_std_vector_std_vector_MR_Vector3f *value)
 
MRC_API const MR_std_vector_std_vector_MR_Vector3f ** MR_MovementBuildBodyParams_GetMutable_trajectoryNormals (MR_MovementBuildBodyParams *_this)
 
MRC_API const MR_AffineXf3f *const * MR_MovementBuildBodyParams_Get_b2tXf (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_b2tXf (MR_MovementBuildBodyParams *_this, const MR_AffineXf3f *value)
 
MRC_API const MR_AffineXf3f ** MR_MovementBuildBodyParams_GetMutable_b2tXf (MR_MovementBuildBodyParams *_this)
 
MRC_API const bool * MR_MovementBuildBodyParams_Get_startMeshFromBody (const MR_MovementBuildBodyParams *_this)
 
MRC_API void MR_MovementBuildBodyParams_Set_startMeshFromBody (MR_MovementBuildBodyParams *_this, bool value)
 
MRC_API bool * MR_MovementBuildBodyParams_GetMutable_startMeshFromBody (MR_MovementBuildBodyParams *_this)
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_DefaultConstruct (void)
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_ConstructFrom (bool allowRotation, const MR_Vector3f *center, const MR_Vector3f *bodyNormal, const MR_Vector3f *bodyUpDir, const MR_std_vector_std_vector_MR_Vector3f *trajectoryNormals, const MR_AffineXf3f *b2tXf, bool startMeshFromBody)
 
MRC_API const MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_OffsetPtr (const MR_MovementBuildBodyParams *ptr, ptrdiff_t i)
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_OffsetMutablePtr (MR_MovementBuildBodyParams *ptr, ptrdiff_t i)
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_ConstructFromAnother (const MR_MovementBuildBodyParams *_other)
 
MRC_API void MR_MovementBuildBodyParams_Destroy (const MR_MovementBuildBodyParams *_this)
 Destroys a heap-allocated instance of MR_MovementBuildBodyParams. Does nothing if the pointer is null.
 
MRC_API void MR_MovementBuildBodyParams_DestroyArray (const MR_MovementBuildBodyParams *_this)
 Destroys a heap-allocated array of MR_MovementBuildBodyParams. Does nothing if the pointer is null.
 
MRC_API MR_MovementBuildBodyParamsMR_MovementBuildBodyParams_AssignFromAnother (MR_MovementBuildBodyParams *_this, const MR_MovementBuildBodyParams *_other)
 
MRC_API MR_MeshMR_makeMovementBuildBody (const MR_std_vector_std_vector_MR_Vector3f *body, const MR_std_vector_std_vector_MR_Vector3f *trajectory, const MR_MovementBuildBodyParams *params)
 

Typedef Documentation

◆ MR_AffineXf3f

typedef struct MR_AffineXf3f MR_AffineXf3f

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MovementBuildBodyParams

Generated from class MR::MovementBuildBodyParams. 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_Vector3f

◆ MR_std_vector_std_vector_MR_Vector3f

Function Documentation

◆ MR_makeMovementBuildBody()

MRC_API MR_Mesh * MR_makeMovementBuildBody ( const MR_std_vector_std_vector_MR_Vector3f * body,
const MR_std_vector_std_vector_MR_Vector3f * trajectory,
const MR_MovementBuildBodyParams * params )

makes mesh by moving body along trajectory if allowRotation rotate it in corners Generated from function MR::makeMovementBuildBody. Parameter body can not be null. It is a single object. Parameter trajectory can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_Mesh_Destroy() to free it when you're done using it.

◆ MR_MovementBuildBodyParams_AssignFromAnother()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_AssignFromAnother ( MR_MovementBuildBodyParams * _this,
const MR_MovementBuildBodyParams * _other )

Generated from method MR::MovementBuildBodyParams::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_MovementBuildBodyParams_ConstructFrom()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_ConstructFrom ( bool allowRotation,
const MR_Vector3f * center,
const MR_Vector3f * bodyNormal,
const MR_Vector3f * bodyUpDir,
const MR_std_vector_std_vector_MR_Vector3f * trajectoryNormals,
const MR_AffineXf3f * b2tXf,
bool startMeshFromBody )

Constructs MR::MovementBuildBodyParams elementwise. Parameter center is optional. To keep it empty, pass a null pointer. The reference to the parameter center might be preserved in the constructed object. Parameter bodyNormal is optional. To keep it empty, pass a null pointer. The reference to the parameter bodyNormal might be preserved in the constructed object. Parameter bodyUpDir is optional. To keep it empty, pass a null pointer. The reference to the parameter bodyUpDir might be preserved in the constructed object. The reference to the parameter trajectoryNormals might be preserved in the constructed object. The reference to the parameter b2tXf might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MovementBuildBodyParams_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_MovementBuildBodyParams_ConstructFromAnother()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_ConstructFromAnother ( const MR_MovementBuildBodyParams * _other)

Generated from constructor MR::MovementBuildBodyParams::MovementBuildBodyParams. 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_MovementBuildBodyParams_Destroy() to free it when you're done using it.

◆ MR_MovementBuildBodyParams_DefaultConstruct()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_DefaultConstruct ( void )

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

◆ MR_MovementBuildBodyParams_DefaultConstructArray()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_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_MovementBuildBodyParams_DestroyArray(). Use MR_MovementBuildBodyParams_OffsetMutablePtr() and MR_MovementBuildBodyParams_OffsetPtr() to access the array elements.

◆ MR_MovementBuildBodyParams_Destroy()

MRC_API void MR_MovementBuildBodyParams_Destroy ( const MR_MovementBuildBodyParams * _this)

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

◆ MR_MovementBuildBodyParams_DestroyArray()

MRC_API void MR_MovementBuildBodyParams_DestroyArray ( const MR_MovementBuildBodyParams * _this)

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

◆ MR_MovementBuildBodyParams_Get_allowRotation()

MRC_API const bool * MR_MovementBuildBodyParams_Get_allowRotation ( const MR_MovementBuildBodyParams * _this)

if this flag is set, rotate body in trajectory vertices according to its rotation otherwise body movement will be done without any rotation Returns a pointer to a member variable of class MR::MovementBuildBodyParams named allowRotation. 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_MovementBuildBodyParams_Get_b2tXf()

MRC_API const MR_AffineXf3f *const * MR_MovementBuildBodyParams_Get_b2tXf ( const MR_MovementBuildBodyParams * _this)

optional transform body space to trajectory space Returns a pointer to a member variable of class MR::MovementBuildBodyParams named b2tXf. 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_MovementBuildBodyParams_Get_bodyNormal()

MRC_API const MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_Get_bodyNormal ( const MR_MovementBuildBodyParams * _this)

facing direction of body, used for initial rotation (if allowRotation) if not set body accumulative normal is used Returns a pointer to a member variable of class MR::MovementBuildBodyParams named bodyNormal. 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_MovementBuildBodyParams_Get_bodyUpDir()

MRC_API const MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_Get_bodyUpDir ( const MR_MovementBuildBodyParams * _this)

up direction of body contours corresponds with trajectoryNormals if both are present and allowRotation is set Returns a pointer to a member variable of class MR::MovementBuildBodyParams named bodyUpDir. 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_MovementBuildBodyParams_Get_center()

MRC_API const MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_Get_center ( const MR_MovementBuildBodyParams * _this)

point in body space that follows trajectory if not set body bounding box center is used Returns a pointer to a member variable of class MR::MovementBuildBodyParams named center. 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_MovementBuildBodyParams_Get_startMeshFromBody()

MRC_API const bool * MR_MovementBuildBodyParams_Get_startMeshFromBody ( const MR_MovementBuildBodyParams * _this)

if true, then body-contours will be located exactly on resulting mesh Returns a pointer to a member variable of class MR::MovementBuildBodyParams named startMeshFromBody. 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_MovementBuildBodyParams_Get_trajectoryNormals()

MRC_API const MR_std_vector_std_vector_MR_Vector3f *const * MR_MovementBuildBodyParams_Get_trajectoryNormals ( const MR_MovementBuildBodyParams * _this)

optional normal directions in each trajectory point bodyUpDir corresponds to it if both are present and allowRotation is set Returns a pointer to a member variable of class MR::MovementBuildBodyParams named trajectoryNormals. 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_MovementBuildBodyParams_GetMutable_allowRotation()

MRC_API bool * MR_MovementBuildBodyParams_GetMutable_allowRotation ( MR_MovementBuildBodyParams * _this)

if this flag is set, rotate body in trajectory vertices according to its rotation otherwise body movement will be done without any rotation Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named allowRotation. 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_MovementBuildBodyParams_GetMutable_b2tXf()

MRC_API const MR_AffineXf3f ** MR_MovementBuildBodyParams_GetMutable_b2tXf ( MR_MovementBuildBodyParams * _this)

optional transform body space to trajectory space Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named b2tXf. 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_MovementBuildBodyParams_GetMutable_bodyNormal()

MRC_API MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_GetMutable_bodyNormal ( MR_MovementBuildBodyParams * _this)

facing direction of body, used for initial rotation (if allowRotation) if not set body accumulative normal is used Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named bodyNormal. 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_MovementBuildBodyParams_GetMutable_bodyUpDir()

MRC_API MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_GetMutable_bodyUpDir ( MR_MovementBuildBodyParams * _this)

up direction of body contours corresponds with trajectoryNormals if both are present and allowRotation is set Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named bodyUpDir. 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_MovementBuildBodyParams_GetMutable_center()

MRC_API MR_std_optional_MR_Vector3f * MR_MovementBuildBodyParams_GetMutable_center ( MR_MovementBuildBodyParams * _this)

point in body space that follows trajectory if not set body bounding box center is used Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named center. 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_MovementBuildBodyParams_GetMutable_startMeshFromBody()

MRC_API bool * MR_MovementBuildBodyParams_GetMutable_startMeshFromBody ( MR_MovementBuildBodyParams * _this)

if true, then body-contours will be located exactly on resulting mesh Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named startMeshFromBody. 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_MovementBuildBodyParams_GetMutable_trajectoryNormals()

MRC_API const MR_std_vector_std_vector_MR_Vector3f ** MR_MovementBuildBodyParams_GetMutable_trajectoryNormals ( MR_MovementBuildBodyParams * _this)

optional normal directions in each trajectory point bodyUpDir corresponds to it if both are present and allowRotation is set Returns a mutable pointer to a member variable of class MR::MovementBuildBodyParams named trajectoryNormals. 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_MovementBuildBodyParams_OffsetMutablePtr()

MRC_API MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_OffsetMutablePtr ( MR_MovementBuildBodyParams * 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_MovementBuildBodyParams_OffsetPtr()

MRC_API const MR_MovementBuildBodyParams * MR_MovementBuildBodyParams_OffsetPtr ( const MR_MovementBuildBodyParams * 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_MovementBuildBodyParams_Set_allowRotation()

MRC_API void MR_MovementBuildBodyParams_Set_allowRotation ( MR_MovementBuildBodyParams * _this,
bool value )

if this flag is set, rotate body in trajectory vertices according to its rotation otherwise body movement will be done without any rotation Modifies a member variable of class MR::MovementBuildBodyParams named allowRotation. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in allowRotation.

◆ MR_MovementBuildBodyParams_Set_b2tXf()

MRC_API void MR_MovementBuildBodyParams_Set_b2tXf ( MR_MovementBuildBodyParams * _this,
const MR_AffineXf3f * value )

optional transform body space to trajectory space Modifies a member variable of class MR::MovementBuildBodyParams named b2tXf. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element b2tXf. When this function is called, this object will drop object references it had previously in b2tXf.

◆ MR_MovementBuildBodyParams_Set_bodyNormal()

MRC_API void MR_MovementBuildBodyParams_Set_bodyNormal ( MR_MovementBuildBodyParams * _this,
const MR_Vector3f * value )

facing direction of body, used for initial rotation (if allowRotation) if not set body accumulative normal is used Modifies a member variable of class MR::MovementBuildBodyParams named bodyNormal. Parameter _this can not be null. It is a single object. Parameter value is optional. To keep it empty, pass a null pointer. The reference to the parameter value might be preserved in this object in element bodyNormal. When this function is called, this object will drop object references it had previously in bodyNormal.

◆ MR_MovementBuildBodyParams_Set_bodyUpDir()

MRC_API void MR_MovementBuildBodyParams_Set_bodyUpDir ( MR_MovementBuildBodyParams * _this,
const MR_Vector3f * value )

up direction of body contours corresponds with trajectoryNormals if both are present and allowRotation is set Modifies a member variable of class MR::MovementBuildBodyParams named bodyUpDir. Parameter _this can not be null. It is a single object. Parameter value is optional. To keep it empty, pass a null pointer. The reference to the parameter value might be preserved in this object in element bodyUpDir. When this function is called, this object will drop object references it had previously in bodyUpDir.

◆ MR_MovementBuildBodyParams_Set_center()

MRC_API void MR_MovementBuildBodyParams_Set_center ( MR_MovementBuildBodyParams * _this,
const MR_Vector3f * value )

point in body space that follows trajectory if not set body bounding box center is used Modifies a member variable of class MR::MovementBuildBodyParams named center. Parameter _this can not be null. It is a single object. Parameter value is optional. To keep it empty, pass a null pointer. The reference to the parameter value might be preserved in this object in element center. When this function is called, this object will drop object references it had previously in center.

◆ MR_MovementBuildBodyParams_Set_startMeshFromBody()

MRC_API void MR_MovementBuildBodyParams_Set_startMeshFromBody ( MR_MovementBuildBodyParams * _this,
bool value )

if true, then body-contours will be located exactly on resulting mesh Modifies a member variable of class MR::MovementBuildBodyParams named startMeshFromBody. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in startMeshFromBody.

◆ MR_MovementBuildBodyParams_Set_trajectoryNormals()

MRC_API void MR_MovementBuildBodyParams_Set_trajectoryNormals ( MR_MovementBuildBodyParams * _this,
const MR_std_vector_std_vector_MR_Vector3f * value )

optional normal directions in each trajectory point bodyUpDir corresponds to it if both are present and allowRotation is set Modifies a member variable of class MR::MovementBuildBodyParams named trajectoryNormals. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element trajectoryNormals. When this function is called, this object will drop object references it had previously in trajectoryNormals.