MeshLib C Docs
Loading...
Searching...
No Matches
MRDistanceMeasurementObject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector3.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9#include <stdint.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_MeasurementObject MR_MeasurementObject; // Defined in `#include <MRCMesh/MRMeasurementObject.h>`.
16typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
17typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
18typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
19typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
20typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
21typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
22
23
24// Represents a distance measurement.
34
36enum // MR_DistanceMeasurementObject_PerCoordDeltas
37{
38 // Hide.
40 // Display as is.
42 // Display absolute values.
44};
45
49
54
57
60
64
67
71
74
78
81
85
88
92
95
98
103
106
110
115
120
125
130
131// Get the starting point in world coordinates.
135
136// Get the starting point in local coordinates.
140
141// The delta from the starting point to the other point.
145
149
150// Set the start point in the local coordinates.
155
156// Set the delta vector in the local coordinates.
161
162// Whether the distance should be displayed as a negative one.
166
170
171// Whether we should draw the individual X/Y/Z deltas in addition to the distance itself.
175
179
180// Computes the distance value: `getWorldDelta().length() * (getDrawAsNegative() ? -1 : 1)`.
184
189
190#ifdef __cplusplus
191} // extern "C"
192#endif
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:21
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_std_vector_std_string MR_std_vector_std_string
Definition MRAngleMeasurementObject.h:20
struct MR_MeasurementObject MR_MeasurementObject
Definition MRAngleMeasurementObject.h:14
MRC_API const MR_MeasurementObject * MR_DistanceMeasurementObject_UpcastTo_MR_MeasurementObject(const MR_DistanceMeasurementObject *object)
MRC_API MR_DistanceMeasurementObject_PerCoordDeltas MR_DistanceMeasurementObject_getPerCoordDeltasMode(const MR_DistanceMeasurementObject *_this)
@ MR_DistanceMeasurementObject_PerCoordDeltas_absolute
Definition MRDistanceMeasurementObject.h:43
@ MR_DistanceMeasurementObject_PerCoordDeltas_none
Definition MRDistanceMeasurementObject.h:39
@ MR_DistanceMeasurementObject_PerCoordDeltas_withSign
Definition MRDistanceMeasurementObject.h:41
MRC_API MR_Object * MR_DistanceMeasurementObject_MutableUpcastTo_MR_Object(MR_DistanceMeasurementObject *object)
Upcasts an instance of MR::DistanceMeasurementObject to its base class MR::Object.
MRC_API MR_std_vector_std_string * MR_DistanceMeasurementObject_getInfoLines(const MR_DistanceMeasurementObject *_this)
MRC_API const MR_Object * MR_DistanceMeasurementObject_UpcastTo_MR_Object(const MR_DistanceMeasurementObject *object)
MRC_API const MR_ObjectChildrenHolder * MR_DistanceMeasurementObject_UpcastTo_MR_ObjectChildrenHolder(const MR_DistanceMeasurementObject *object)
MRC_API const char * MR_DistanceMeasurementObject_TypeName(void)
Generated from a method of class MR::DistanceMeasurementObject named TypeName.
MRC_API MR_std_string * MR_DistanceMeasurementObject_getClassName(const MR_DistanceMeasurementObject *_this)
MRC_API MR_Vector3f MR_DistanceMeasurementObject_getLocalPoint(const MR_DistanceMeasurementObject *_this)
MRC_API void MR_DistanceMeasurementObject_setLocalDelta(MR_DistanceMeasurementObject *_this, const MR_Vector3f *delta)
MRC_API MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_DefaultConstructArray(size_t num_elems)
MRC_API void MR_DistanceMeasurementObject_setPerCoordDeltasMode(MR_DistanceMeasurementObject *_this, MR_DistanceMeasurementObject_PerCoordDeltas mode)
MRC_API void MR_DistanceMeasurementObject_setDrawAsNegative(MR_DistanceMeasurementObject *_this, bool value)
MRC_API MR_MeasurementObject * MR_DistanceMeasurementObject_MutableUpcastTo_MR_MeasurementObject(MR_DistanceMeasurementObject *object)
Upcasts an instance of MR::DistanceMeasurementObject to its base class MR::MeasurementObject.
MRC_API MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DistanceMeasurementObject *_other)
MRC_API MR_std_shared_ptr_MR_Object * MR_DistanceMeasurementObject_clone(const MR_DistanceMeasurementObject *_this)
MRC_API MR_ObjectChildrenHolder * MR_DistanceMeasurementObject_MutableUpcastTo_MR_ObjectChildrenHolder(MR_DistanceMeasurementObject *object)
Upcasts an instance of MR::DistanceMeasurementObject to its base class MR::ObjectChildrenHolder.
MRC_API MR_Vector3f MR_DistanceMeasurementObject_getWorldDelta(const MR_DistanceMeasurementObject *_this)
MRC_API const MR_VisualObject * MR_DistanceMeasurementObject_UpcastTo_MR_VisualObject(const MR_DistanceMeasurementObject *object)
MRC_API MR_VisualObject * MR_DistanceMeasurementObject_MutableUpcastTo_MR_VisualObject(MR_DistanceMeasurementObject *object)
Upcasts an instance of MR::DistanceMeasurementObject to its base class MR::VisualObject.
MRC_API MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_DefaultConstruct(void)
MRC_API MR_std_string * MR_DistanceMeasurementObject_getClassNameInPlural(const MR_DistanceMeasurementObject *_this)
MRC_API void MR_DistanceMeasurementObject_DestroyArray(const MR_DistanceMeasurementObject *_this)
Destroys a heap-allocated array of MR_DistanceMeasurementObject. Does nothing if the pointer is null.
MRC_API void MR_DistanceMeasurementObject_Destroy(const MR_DistanceMeasurementObject *_this)
Destroys a heap-allocated instance of MR_DistanceMeasurementObject. Does nothing if the pointer is nu...
MRC_API MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_OffsetMutablePtr(MR_DistanceMeasurementObject *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
int32_t MR_DistanceMeasurementObject_PerCoordDeltas
Definition MRDistanceMeasurementObject.h:35
struct MR_DistanceMeasurementObject MR_DistanceMeasurementObject
Definition MRDistanceMeasurementObject.h:33
MRC_API bool MR_DistanceMeasurementObject_getDrawAsNegative(const MR_DistanceMeasurementObject *_this)
MRC_API float MR_DistanceMeasurementObject_computeDistance(const MR_DistanceMeasurementObject *_this)
MRC_API void MR_DistanceMeasurementObject_setLocalPoint(MR_DistanceMeasurementObject *_this, const MR_Vector3f *point)
MRC_API MR_std_shared_ptr_MR_Object * MR_DistanceMeasurementObject_shallowClone(const MR_DistanceMeasurementObject *_this)
MRC_API MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_AssignFromAnother(MR_DistanceMeasurementObject *_this, MR_PassBy _other_pass_by, MR_DistanceMeasurementObject *_other)
MRC_API MR_Vector3f MR_DistanceMeasurementObject_getWorldPoint(const MR_DistanceMeasurementObject *_this)
MRC_API const MR_DistanceMeasurementObject * MR_DistanceMeasurementObject_OffsetPtr(const MR_DistanceMeasurementObject *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 const char * MR_DistanceMeasurementObject_typeName(const MR_DistanceMeasurementObject *_this)
MRC_API MR_Vector3f MR_DistanceMeasurementObject_getLocalDelta(const MR_DistanceMeasurementObject *_this)
struct MR_std_string MR_std_string
Definition MRE57.h:22
struct MR_Object MR_Object
Definition MRGltf.h:10
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:51