MeshLib C Docs
Loading...
Searching...
No Matches
MRPointMeasurementObject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
16typedef struct MR_MeasurementObject MR_MeasurementObject; // Defined in `#include <MRCMesh/MRMeasurementObject.h>`.
17typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
18typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
19typedef struct MR_ObjectComparableWithReference MR_ObjectComparableWithReference; // Defined in `#include <MRCMesh/MRObjectComparableWithReference.h>`.
20typedef struct MR_ObjectComparableWithReference_ComparisonReferenceValue MR_ObjectComparableWithReference_ComparisonReferenceValue; // Defined in `#include <MRCMesh/MRObjectComparableWithReference.h>`.
21typedef struct MR_ObjectComparableWithReference_ComparisonTolerance MR_ObjectComparableWithReference_ComparisonTolerance; // Defined in `#include <MRCMesh/MRObjectComparableWithReference.h>`.
22typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
23typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
24typedef struct MR_std_optional_MR_ObjectComparableWithReference_ComparableProperty MR_std_optional_MR_ObjectComparableWithReference_ComparableProperty; // Defined in `#include <MRCMisc/std_optional_MR_ObjectComparableWithReference_ComparableProperty.h>`.
25typedef struct MR_std_optional_MR_ObjectComparableWithReference_ComparisonTolerance MR_std_optional_MR_ObjectComparableWithReference_ComparisonTolerance; // Defined in `#include <MRCMisc/std_optional_MR_ObjectComparableWithReference_ComparisonTolerance.h>`.
26typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
27typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
28typedef struct MR_std_string_view MR_std_string_view; // Defined in `#include <MRCMisc/std_string_view.h>`.
29typedef struct MR_std_variant_float_MR_Vector3f MR_std_variant_float_MR_Vector3f; // Defined in `#include <MRCMisc/std_variant_float_MR_Vector3f.h>`.
30typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
31
32
38
49
53
58
61
64
68
71
75
78
82
85
89
92
96
99
103
106
109
114
117
121
124
129
132
137
142
147
152
157
163
169
174
181
187
188// Implement `ObjectComparableWithReference`:
192
197
202
207
213
217
218// This returns 2: the point, and the optional normal direction. The normal doesn't need to be normalized, its length doesn't affect calculations.
219// If the normal isn't specified, the Euclidean distance gets used.
223
228
233
239
240#ifdef __cplusplus
241} // extern "C"
242#endif
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:21
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:12
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:20
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:22
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:18
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAngleMeasurementObject.h:18
struct MR_MeasurementObject MR_MeasurementObject
Definition MRAngleMeasurementObject.h:14
struct MR_std_string_view MR_std_string_view
Definition MRDistanceMeasurementObject.h:25
struct MR_std_optional_MR_ObjectComparableWithReference_ComparableProperty MR_std_optional_MR_ObjectComparableWithReference_ComparableProperty
Definition MRDistanceMeasurementObject.h:21
struct MR_std_optional_MR_ObjectComparableWithReference_ComparisonTolerance MR_std_optional_MR_ObjectComparableWithReference_ComparisonTolerance
Definition MRDistanceMeasurementObject.h:22
struct MR_ObjectComparableWithReference MR_ObjectComparableWithReference
Definition MRDistanceMeasurementObject.h:17
struct MR_ObjectComparableWithReference_ComparisonTolerance MR_ObjectComparableWithReference_ComparisonTolerance
Definition MRDistanceMeasurementObject.h:19
struct MR_ObjectComparableWithReference_ComparisonReferenceValue MR_ObjectComparableWithReference_ComparisonReferenceValue
Definition MRDistanceMeasurementObject.h:18
struct MR_std_variant_float_MR_Vector3f MR_std_variant_float_MR_Vector3f
Definition MRDistanceMeasurementObject.h:26
struct MR_std_string MR_std_string
Definition MRE57.h:22
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_PointMeasurementObject MR_PointMeasurementObject
Definition MRMeasurementObject.h:16
MRC_API const MR_Object * MR_PointMeasurementObject_UpcastTo_MR_Object(const MR_PointMeasurementObject *object)
MRC_API MR_std_optional_MR_ObjectComparableWithReference_ComparisonTolerance * MR_PointMeasurementObject_getComparisonTolerence(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API void MR_PointMeasurementObject_Destroy(const MR_PointMeasurementObject *_this)
Destroys a heap-allocated instance of MR_PointMeasurementObject. Does nothing if the pointer is null.
MRC_API MR_Vector3f MR_PointMeasurementObject_getWorldPoint(const MR_PointMeasurementObject *_this, const MR_ViewportId *id)
MRC_API void MR_PointMeasurementObject_setComparisonTolerance(MR_PointMeasurementObject *_this, MR_uint64_t i, const MR_ObjectComparableWithReference_ComparisonTolerance *newTolerance)
MRC_API MR_Vector3f MR_PointMeasurementObject_getLocalPoint(const MR_PointMeasurementObject *_this, const MR_ViewportId *id)
MRC_API MR_VisualObject * MR_PointMeasurementObject_MutableUpcastTo_MR_VisualObject(MR_PointMeasurementObject *object)
Upcasts an instance of MR::PointMeasurementObject to its base class MR::VisualObject.
MRC_API void MR_PointMeasurementObject_setLocalPoint(MR_PointMeasurementObject *_this, const MR_Vector3f *point, const MR_ViewportId *id)
MRC_API MR_std_string_view * MR_PointMeasurementObject_getComparablePropertyName(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API MR_Object * MR_PointMeasurementObject_MutableUpcastTo_MR_Object(MR_PointMeasurementObject *object)
Upcasts an instance of MR::PointMeasurementObject to its base class MR::Object.
MRC_API void MR_PointMeasurementObject_setComparisonReferenceValue(MR_PointMeasurementObject *_this, MR_uint64_t i, const MR_std_variant_float_MR_Vector3f *value)
MRC_API MR_uint64_t MR_PointMeasurementObject_numComparableProperties(const MR_PointMeasurementObject *_this)
MRC_API void MR_PointMeasurementObject_setWorldPoint(MR_PointMeasurementObject *_this, const MR_Vector3f *point, const MR_ViewportId *id)
MRC_API MR_uint64_t MR_PointMeasurementObject_numComparisonReferenceValues(const MR_PointMeasurementObject *_this)
MRC_API const MR_ObjectChildrenHolder * MR_PointMeasurementObject_UpcastTo_MR_ObjectChildrenHolder(const MR_PointMeasurementObject *object)
MRC_API bool MR_PointMeasurementObject_supportsVisualizeProperty(const MR_PointMeasurementObject *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API MR_std_string * MR_PointMeasurementObject_classNameInPlural(const MR_PointMeasurementObject *_this)
MRC_API MR_ObjectComparableWithReference * MR_PointMeasurementObject_MutableUpcastTo_MR_ObjectComparableWithReference(MR_PointMeasurementObject *object)
Upcasts an instance of MR::PointMeasurementObject to its base class MR::ObjectComparableWithReference...
MRC_API MR_PointMeasurementObject * MR_PointMeasurementObject_DefaultConstructArray(size_t num_elems)
MRC_API MR_MeasurementObject * MR_PointMeasurementObject_MutableUpcastTo_MR_MeasurementObject(MR_PointMeasurementObject *object)
Upcasts an instance of MR::PointMeasurementObject to its base class MR::MeasurementObject.
MRC_API MR_std_shared_ptr_MR_Object * MR_PointMeasurementObject_shallowClone(const MR_PointMeasurementObject *_this)
MRC_API MR_PointMeasurementObject * MR_PointMeasurementObject_OffsetMutablePtr(MR_PointMeasurementObject *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 MR_std_optional_MR_ObjectComparableWithReference_ComparableProperty * MR_PointMeasurementObject_computeComparableProperty(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API MR_ObjectComparableWithReference_ComparisonReferenceValue * MR_PointMeasurementObject_getComparisonReferenceValue(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API MR_std_string_view * MR_PointMeasurementObject_getComparisonReferenceValueName(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API const char * MR_PointMeasurementObject_ClassNameInPlural(void)
Generated from a method of class MR::PointMeasurementObject named ClassNameInPlural.
MRC_API const MR_ViewportMask * MR_PointMeasurementObject_getVisualizePropertyMask(const MR_PointMeasurementObject *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API const char * MR_PointMeasurementObject_typeName(const MR_PointMeasurementObject *_this)
MRC_API MR_PointMeasurementObject * MR_PointMeasurementObject_DefaultConstruct(void)
MRC_API MR_PointMeasurementObject * MR_PointMeasurementObject_ConstructFromAnother(MR_PassBy _other_pass_by, MR_PointMeasurementObject *_other)
MRC_API bool MR_PointMeasurementObject_comparisonToleranceIsAlwaysOnlyPositive(const MR_PointMeasurementObject *_this, MR_uint64_t i)
MRC_API const MR_MeasurementObject * MR_PointMeasurementObject_UpcastTo_MR_MeasurementObject(const MR_PointMeasurementObject *object)
MRC_API const char * MR_PointMeasurementObject_ClassName(void)
Generated from a method of class MR::PointMeasurementObject named ClassName.
MRC_API void MR_PointMeasurementObject_DestroyArray(const MR_PointMeasurementObject *_this)
Destroys a heap-allocated array of MR_PointMeasurementObject. Does nothing if the pointer is null.
MRC_API MR_std_vector_MR_ViewportMask * MR_PointMeasurementObject_getAllVisualizeProperties(const MR_PointMeasurementObject *_this)
MRC_API const MR_ObjectComparableWithReference * MR_PointMeasurementObject_UpcastTo_MR_ObjectComparableWithReference(const MR_PointMeasurementObject *object)
MR_PointMeasurementVisualizePropertyType
Definition MRPointMeasurementObject.h:34
@ MR_PointMeasurementVisualizePropertyType_CapVisibility
Definition MRPointMeasurementObject.h:35
@ MR_PointMeasurementVisualizePropertyType__count
Definition MRPointMeasurementObject.h:36
MRC_API MR_std_shared_ptr_MR_Object * MR_PointMeasurementObject_clone(const MR_PointMeasurementObject *_this)
MRC_API const MR_VisualObject * MR_PointMeasurementObject_UpcastTo_MR_VisualObject(const MR_PointMeasurementObject *object)
MRC_API const MR_PointMeasurementObject * MR_PointMeasurementObject_OffsetPtr(const MR_PointMeasurementObject *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 MR_std_string * MR_PointMeasurementObject_className(const MR_PointMeasurementObject *_this)
MRC_API MR_ObjectChildrenHolder * MR_PointMeasurementObject_MutableUpcastTo_MR_ObjectChildrenHolder(MR_PointMeasurementObject *object)
Upcasts an instance of MR::PointMeasurementObject to its base class MR::ObjectChildrenHolder.
MRC_API MR_PointMeasurementObject * MR_PointMeasurementObject_AssignFromAnother(MR_PointMeasurementObject *_this, MR_PassBy _other_pass_by, MR_PointMeasurementObject *_other)
MRC_API const char * MR_PointMeasurementObject_TypeName(void)
Generated from a method of class MR::PointMeasurementObject named TypeName.
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:50
Definition MRViewportId.h:17