MeshLib C Docs
Loading...
Searching...
No Matches
MRRadiusMeasurementObject.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
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_MeasurementObject MR_MeasurementObject; // Defined in `#include <MRCMesh/MRMeasurementObject.h>`.
15typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
16typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
17typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
18typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
19typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
20typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
21
22
23// Represents a radius measurement.
33
37
42
45
48
52
55
59
62
66
69
73
76
80
83
86
91
94
98
103
108
113
118
119// Get the center in world coordinates.
123
124// Get the center in local coordinates.
128
129// The length of this vector is the radius, and the direction is the preferred line drawing direction.
133
137
138// The preferred radius normal, for non-spherical radiuses.
142
146
151
152// Sets the local radius vector (the length of which is the radius value),
153// and also the radius normal (which is ignored for spherical radiuses).
154// The normal is automatically normalized and made perpendicular to the `radiusVec`.
160
161// Same, but without a preferred normal.
166
167// Whether we should draw this as a diameter instead of a radius.
171
175
176// Whether this is a sphere radius, as opposed to circle/cylinder radius.
180
184
185// The visual leader line length multiplier, relative to the radius.
186// You're recommended to set a min absolute value for the resulting length when rendering.
190
194
195// Computes the radius/diameter value, as if by `getLocalRadiusAsVector()`, possibly multiplied by two if `getDrawAsDiameter()`.
199
204
205#ifdef __cplusplus
206} // extern "C"
207#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
struct MR_std_string MR_std_string
Definition MRE57.h:22
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_RadiusMeasurementObject MR_RadiusMeasurementObject
Definition MRMeasurementObject.h:16
MRC_API const MR_ObjectChildrenHolder * MR_RadiusMeasurementObject_UpcastTo_MR_ObjectChildrenHolder(const MR_RadiusMeasurementObject *object)
MRC_API const MR_MeasurementObject * MR_RadiusMeasurementObject_UpcastTo_MR_MeasurementObject(const MR_RadiusMeasurementObject *object)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getLocalCenter(const MR_RadiusMeasurementObject *_this)
MRC_API const char * MR_RadiusMeasurementObject_TypeName(void)
Generated from a method of class MR::RadiusMeasurementObject named TypeName.
MRC_API const MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_OffsetPtr(const MR_RadiusMeasurementObject *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_Object * MR_RadiusMeasurementObject_MutableUpcastTo_MR_Object(MR_RadiusMeasurementObject *object)
Upcasts an instance of MR::RadiusMeasurementObject to its base class MR::Object.
MRC_API bool MR_RadiusMeasurementObject_getIsSpherical(const MR_RadiusMeasurementObject *_this)
MRC_API MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_ConstructFromAnother(MR_PassBy _other_pass_by, MR_RadiusMeasurementObject *_other)
MRC_API MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_DefaultConstruct(void)
MRC_API const MR_Object * MR_RadiusMeasurementObject_UpcastTo_MR_Object(const MR_RadiusMeasurementObject *object)
MRC_API MR_std_shared_ptr_MR_Object * MR_RadiusMeasurementObject_shallowClone(const MR_RadiusMeasurementObject *_this)
MRC_API bool MR_RadiusMeasurementObject_getDrawAsDiameter(const MR_RadiusMeasurementObject *_this)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getLocalNormal(const MR_RadiusMeasurementObject *_this)
MRC_API void MR_RadiusMeasurementObject_setIsSpherical(MR_RadiusMeasurementObject *_this, bool value)
MRC_API MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_DefaultConstructArray(size_t num_elems)
MRC_API void MR_RadiusMeasurementObject_setLocalCenter(MR_RadiusMeasurementObject *_this, const MR_Vector3f *center)
MRC_API MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_OffsetMutablePtr(MR_RadiusMeasurementObject *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_shared_ptr_MR_Object * MR_RadiusMeasurementObject_clone(const MR_RadiusMeasurementObject *_this)
MRC_API MR_std_string * MR_RadiusMeasurementObject_getClassName(const MR_RadiusMeasurementObject *_this)
MRC_API MR_VisualObject * MR_RadiusMeasurementObject_MutableUpcastTo_MR_VisualObject(MR_RadiusMeasurementObject *object)
Upcasts an instance of MR::RadiusMeasurementObject to its base class MR::VisualObject.
MRC_API MR_std_string * MR_RadiusMeasurementObject_getClassNameInPlural(const MR_RadiusMeasurementObject *_this)
MRC_API const MR_VisualObject * MR_RadiusMeasurementObject_UpcastTo_MR_VisualObject(const MR_RadiusMeasurementObject *object)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getWorldNormal(const MR_RadiusMeasurementObject *_this)
MRC_API void MR_RadiusMeasurementObject_DestroyArray(const MR_RadiusMeasurementObject *_this)
Destroys a heap-allocated array of MR_RadiusMeasurementObject. Does nothing if the pointer is null.
MRC_API MR_MeasurementObject * MR_RadiusMeasurementObject_MutableUpcastTo_MR_MeasurementObject(MR_RadiusMeasurementObject *object)
Upcasts an instance of MR::RadiusMeasurementObject to its base class MR::MeasurementObject.
MRC_API MR_RadiusMeasurementObject * MR_RadiusMeasurementObject_AssignFromAnother(MR_RadiusMeasurementObject *_this, MR_PassBy _other_pass_by, MR_RadiusMeasurementObject *_other)
MRC_API const char * MR_RadiusMeasurementObject_typeName(const MR_RadiusMeasurementObject *_this)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getWorldRadiusAsVector(const MR_RadiusMeasurementObject *_this)
MRC_API void MR_RadiusMeasurementObject_setVisualLengthMultiplier(MR_RadiusMeasurementObject *_this, float value)
MRC_API void MR_RadiusMeasurementObject_setDrawAsDiameter(MR_RadiusMeasurementObject *_this, bool value)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getLocalRadiusAsVector(const MR_RadiusMeasurementObject *_this)
MRC_API MR_ObjectChildrenHolder * MR_RadiusMeasurementObject_MutableUpcastTo_MR_ObjectChildrenHolder(MR_RadiusMeasurementObject *object)
Upcasts an instance of MR::RadiusMeasurementObject to its base class MR::ObjectChildrenHolder.
MRC_API void MR_RadiusMeasurementObject_setLocalRadiusAsVector_2(MR_RadiusMeasurementObject *_this, const MR_Vector3f *radiusVec, const MR_Vector3f *normal)
MRC_API MR_Vector3f MR_RadiusMeasurementObject_getWorldCenter(const MR_RadiusMeasurementObject *_this)
MRC_API float MR_RadiusMeasurementObject_computeRadiusOrDiameter(const MR_RadiusMeasurementObject *_this)
MRC_API float MR_RadiusMeasurementObject_getVisualLengthMultiplier(const MR_RadiusMeasurementObject *_this)
MRC_API MR_std_vector_std_string * MR_RadiusMeasurementObject_getInfoLines(const MR_RadiusMeasurementObject *_this)
MRC_API void MR_RadiusMeasurementObject_setLocalRadiusAsVector_1(MR_RadiusMeasurementObject *_this, const MR_Vector3f *radiusVec)
MRC_API void MR_RadiusMeasurementObject_Destroy(const MR_RadiusMeasurementObject *_this)
Destroys a heap-allocated instance of MR_RadiusMeasurementObject. Does nothing if the pointer is null...
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRVector3.h:51