MeshLib C Docs
Loading...
Searching...
No Matches
MRPointOnObject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_PointOnFace MR_PointOnFace; // Defined in `#include <MRCMesh/MRPointOnFace.h>`.
14typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
15typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
16typedef struct MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId; // Defined in `#include <MRCMisc/std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId.h>`.
17
18
19// point located on either
20// 1. face of ObjectMesh
21// 2. line of ObjectLines
22// 3. point of ObjectPoints
25
31
36
42
48
53
59
63
68
71
74
79
82
85
90
96
102
110
120
121#ifdef __cplusplus
122} // extern "C"
123#endif
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:21
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRDistanceMap.h:26
struct MR_PointOnFace MR_PointOnFace
Definition MREnumNeighbours.h:15
MRC_API MR_std_optional_MR_Vector3f * MR_getPickedPointPosition(const MR_VisualObject *object, const MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId *point)
MRC_API void MR_PointOnObject_Set_zBuffer(MR_PointOnObject *_this, float value)
MRC_API const float * MR_PointOnObject_Get_zBuffer(const MR_PointOnObject *_this)
MRC_API MR_PointOnObject * MR_PointOnObject_OffsetMutablePtr(MR_PointOnObject *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId
Definition MRPointOnObject.h:16
MRC_API MR_PointOnObject * MR_PointOnObject_AssignFromAnother(MR_PointOnObject *_this, const MR_PointOnObject *_other)
MRC_API MR_std_optional_MR_Vector3f * MR_getPickedPointNormal(const MR_VisualObject *object, const MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId *point, const bool *interpolated)
MRC_API MR_PointOnObject * MR_PointOnObject_DefaultConstruct(void)
MRC_API const MR_Vector3f * MR_PointOnObject_Get_point(const MR_PointOnObject *_this)
MRC_API MR_PointOnObject * MR_PointOnObject_DefaultConstructArray(size_t num_elems)
struct MR_PointOnObject MR_PointOnObject
Generated from class MR::PointOnObject.
Definition MRPointOnObject.h:24
MRC_API void MR_PointOnObject_Set_point(MR_PointOnObject *_this, MR_Vector3f value)
MRC_API const MR_PointOnObject * MR_PointOnObject_OffsetPtr(const MR_PointOnObject *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API float * MR_PointOnObject_GetMutable_zBuffer(MR_PointOnObject *_this)
MRC_API void MR_PointOnObject_Destroy(const MR_PointOnObject *_this)
Destroys a heap-allocated instance of MR_PointOnObject. Does nothing if the pointer is null.
MRC_API MR_PointOnFace * MR_PointOnObject_ConvertTo_MR_PointOnFace(const MR_PointOnObject *_this)
MRC_API MR_std_variant_std_monostate_MR_MeshTriPoint_MR_EdgePoint_MR_VertId * MR_pointOnObjectToPickedPoint(const MR_VisualObject *object, const MR_PointOnObject *pos)
MRC_API void MR_PointOnObject_DestroyArray(const MR_PointOnObject *_this)
Destroys a heap-allocated array of MR_PointOnObject. Does nothing if the pointer is null.
MRC_API MR_Vector3f * MR_PointOnObject_GetMutable_point(MR_PointOnObject *_this)
MRC_API MR_PointOnObject * MR_PointOnObject_ConstructFromAnother(const MR_PointOnObject *_other)
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:50