MeshLib C Docs
Loading...
Searching...
No Matches
MRFeatureObject.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRMatrix3.h>
4#include <MRCMesh/MRVector3.h>
6#include <MRCMisc/common.h>
7#include <MRCMisc/exports.h>
8
9#include <stdbool.h>
10#include <stddef.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
19typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
20typedef struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
21typedef struct MR_CircleObject MR_CircleObject; // Defined in `#include <MRCMesh/MRCircleObject.h>`.
22typedef struct MR_Color MR_Color; // Defined in `#include <MRCMesh/MRColor.h>`.
23typedef struct MR_ConeObject MR_ConeObject; // Defined in `#include <MRCMesh/MRConeObject.h>`.
24typedef struct MR_CylinderObject MR_CylinderObject; // Defined in `#include <MRCMesh/MRCylinderObject.h>`.
25typedef struct MR_LineObject MR_LineObject; // Defined in `#include <MRCMesh/MRLineObject.h>`.
26typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
27typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
28typedef struct MR_PlaneObject MR_PlaneObject; // Defined in `#include <MRCMesh/MRPlaneObject.h>`.
29typedef struct MR_PointObject MR_PointObject; // Defined in `#include <MRCMesh/MRPointObject.h>`.
30typedef struct MR_SphereObject MR_SphereObject; // Defined in `#include <MRCMesh/MRSphereObject.h>`.
31typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
32typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
33typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
34typedef struct MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId; // Defined in `#include <MRCMisc/std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId.h>`.
35typedef struct MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId; // Defined in `#include <MRCMisc/std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_Viewp__37af.h>`.
36typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
37typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
38typedef struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty; // Defined in `#include <MRCMisc/std_vector_MR_FeatureObjectSharedProperty.h>`.
39typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
40
41
42// Classifies `FeatureObjectSharedProperty`, mostly for informational purposes.
44{
45 // Position, normally Vector3f.
47 // Length or size.
49 // Direction, normally Vector3f.
51 // Angle, normally float. Measure in radians.
55
56// FeatureObjectSharedProperty struct is designed to represent a shared property of a feature object, enabling the use of generalized getter and setter methods for property manipulation.
57// propertyName: A string representing the name of the property.
58// getter : A std::function encapsulating a method with no parameters that returns a FeaturesPropertyTypesVariant.This allows for a generic way to retrieve the value of the property.
59// setter : A std::function encapsulating a method that takes a FeaturesPropertyTypesVariant as a parameter and returns void.This function sets the value of the property.
60// The templated constructor of this struct takes the property name, pointers to the getter and setter member functions, and a pointer to the object( obj ).
61// The constructor initializes the propertyName and uses lambdas to adapt the member function pointers into std::function objects that conform to the expected
62// getter and setter signatures.The getter lambda invokes the getter method on the object, and the setter lambda ensures the correct variant type is passed before
63// invoking the setter method.
66
69
71{
73 // If true, show additional details on the name tag, such as point coordinates. Not all features use this.
77
100
105
111
116
121
125
130
131// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
136
137// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
141
142// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
147
148// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
149// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
154
155// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
156// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
160
161// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
162// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
167
171
174
177
180
183
188
193
197
202
207
212
217
221
226
231
234
237
242
245
248
254
257
260
263
267
270
275
278
283
289
294
299
305
306// Since a point on an abstract feature is difficult to uniquely parameterize,
307// the projection function simultaneously returns the normal to the surface at the projection point.
314
320
326
331
332// Returns point considered as base for the feature
337
338// The cached orthonormalized rotation matrix.
339// `isDef` receives false if matrix is overridden for this specific viewport.
345
346// The cached scale and shear matrix. The main diagnoal stores the scale, and some other elements store the shearing.
347// `isDef` receives false if matrix is overridden for this specific viewport.
353
354// This color is used for subfeatures.
355// `isDef` receives false if matrix is overridden for this specific viewport.
361MRC_API const MR_Color *MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef);
362
367MRC_API void MR_FeatureObject_setDecorationsColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
368
373
377
378// Point size and line width, for primary rendering rather than subfeatures.
382
386
390
394
395// Point size and line width, for subfeatures rather than primary rendering.
399
403
407
411
412// Per-component alpha multipliers. The global alpha is multiplied by thise.
416
420
424
428
432
436
440
444
447
450
454
457
461
464
468
471
476
480
485
489
496
502
507
511
516
520
527
533
538
542
547
551
558
564
569
573
578
582
589
595
600
604
609
613
620
626
631
635
640
644
651
657
662
666
671
675
682
688
693
697
702
706
713
719
724
728
733
737
744
750
755
759
764
768
775
781
782#ifdef __cplusplus
783} // extern "C"
784#endif
struct MR_CylinderObject MR_CylinderObject
Definition MRAddVisualPropertiesMixin.h:15
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:21
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:12
struct MR_SphereObject MR_SphereObject
Definition MRAddVisualPropertiesMixin.h:19
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:20
struct MR_ConeObject MR_ConeObject
Definition MRAddVisualPropertiesMixin.h:14
struct MR_CircleObject MR_CircleObject
Definition MRAddVisualPropertiesMixin.h:13
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:22
struct MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter
Definition MRAddVisualPropertiesMixin.h:72
struct MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length
Definition MRAddVisualPropertiesMixin.h:55
struct MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length
Definition MRAddVisualPropertiesMixin.h:39
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:18
struct MR_FeatureObject MR_FeatureObject
Definition MRAddVisualPropertiesMixin.h:16
struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty
Definition MRCircleObject.h:22
struct MR_FeatureObjectProjectPointResult MR_FeatureObjectProjectPointResult
Definition MRCircleObject.h:16
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRDistanceMap.h:26
struct MR_std_string MR_std_string
Definition MRE57.h:22
MRC_API void MR_FeatureObject_setDecorationsColorForAllViewports(MR_FeatureObject *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, bool selected)
MRC_API const MR_LineObject * MR_FeatureObject_DynamicDowncastTo_MR_LineObject(const MR_FeatureObject *object)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_StaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API const MR_PlaneObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_PlaneObject(const MR_FeatureObject *object)
MRC_API const MR_LineObject * MR_FeatureObject_StaticDowncastTo_MR_LineObject(const MR_FeatureObject *object)
MRC_API MR_CircleObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_CircleObject(MR_FeatureObject *object)
MRC_API MR_std_string * MR_FeatureObjectSharedProperty_GetMutable_propertyName(MR_FeatureObjectSharedProperty *_this)
MRC_API void MR_FeatureObjectProjectPointResult_DestroyArray(const MR_FeatureObjectProjectPointResult *_this)
Destroys a heap-allocated array of MR_FeatureObjectProjectPointResult. Does nothing if the pointer is...
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(MR_FeatureObject *object)
MRC_API const MR_CircleObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_CircleObject(const MR_FeatureObject *object)
MRC_API const MR_LineObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_LineObject(const MR_FeatureObject *object)
MRC_API MR_CircleObject * MR_FeatureObject_MutableStaticDowncastTo_MR_CircleObject(MR_FeatureObject *object)
MRC_API const MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId * MR_FeatureObjectSharedProperty_Get_setter(const MR_FeatureObjectSharedProperty *_this)
MRC_API MR_CylinderObject * MR_FeatureObject_MutableStaticDowncastTo_MR_CylinderObject(MR_FeatureObject *object)
MRC_API const MR_std_vector_MR_FeatureObjectSharedProperty * MR_FeatureObject_getAllSharedProperties(const MR_FeatureObject *_this)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_ConstructFrom(MR_Vector3f point, const MR_Vector3f *normal)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_MutableDynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(MR_FeatureObject *object)
MRC_API MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_OffsetMutablePtr(MR_FeatureObjectSharedProperty *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 MR_ConeObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_ConeObject(const MR_FeatureObject *object)
MRC_API const MR_SphereObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_SphereObject(const MR_FeatureObject *object)
MRC_API MR_std_optional_MR_Vector3f * MR_FeatureObject_getNormal(const MR_FeatureObject *_this, const MR_Vector3f *point)
MRC_API void MR_FeatureObject_setSubfeatureLineWidth(MR_FeatureObject *_this, float lineWidth)
MRC_API const MR_ObjectChildrenHolder * MR_FeatureObject_UpcastTo_MR_ObjectChildrenHolder(const MR_FeatureObject *object)
MRC_API MR_PointObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_PointObject(MR_FeatureObject *object)
MRC_API float MR_FeatureObject_getPointSize(const MR_FeatureObject *_this)
MRC_API MR_std_vector_MR_ViewportMask * MR_FeatureObject_getAllVisualizeProperties(const MR_FeatureObject *_this)
MRC_API const MR_FeatureObject * MR_FeatureObject_OffsetPtr(const MR_FeatureObject *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_CylinderObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_CylinderObject(MR_FeatureObject *object)
MRC_API const MR_FeaturePropertyKind * MR_FeatureObjectSharedProperty_Get_kind(const MR_FeatureObjectSharedProperty *_this)
MRC_API const MR_Vector3f * MR_FeatureObjectProjectPointResult_Get_point(const MR_FeatureObjectProjectPointResult *_this)
MRC_API MR_FeatureObject * MR_FeatureObject_OffsetMutablePtr(MR_FeatureObject *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 MR_SphereObject * MR_FeatureObject_DynamicDowncastTo_MR_SphereObject(const MR_FeatureObject *object)
MRC_API void MR_FeatureObjectProjectPointResult_Set_point(MR_FeatureObjectProjectPointResult *_this, MR_Vector3f value)
MRC_API MR_ObjectChildrenHolder * MR_FeatureObject_MutableUpcastTo_MR_ObjectChildrenHolder(MR_FeatureObject *object)
Upcasts an instance of MR::FeatureObject to its base class MR::ObjectChildrenHolder.
MRC_API MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_AssignFromAnother(MR_FeatureObjectSharedProperty *_this, MR_PassBy _other_pass_by, MR_FeatureObjectSharedProperty *_other)
MRC_API void MR_FeatureObject_DestroyArray(const MR_FeatureObject *_this)
Destroys a heap-allocated array of MR_FeatureObject. Does nothing if the pointer is null.
MRC_API const MR_std_optional_MR_Vector3f * MR_FeatureObjectProjectPointResult_Get_normal(const MR_FeatureObjectProjectPointResult *_this)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_OffsetMutablePtr(MR_FeatureObjectProjectPointResult *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 void MR_FeatureObjectSharedProperty_Set_getter(MR_FeatureObjectSharedProperty *_this, MR_PassBy value_pass_by, MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId *value)
struct MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId
Definition MRFeatureObject.h:35
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_StaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(const MR_FeatureObject *object)
MRC_API MR_PlaneObject * MR_FeatureObject_MutableStaticDowncastTo_MR_PlaneObject(MR_FeatureObject *object)
MRC_API float MR_FeatureObject_getSubfeatureAlphaLines(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setMainFeatureAlpha(MR_FeatureObject *_this, float alpha)
MRC_API void MR_FeatureObjectSharedProperty_Set_propertyName(MR_FeatureObjectSharedProperty *_this, const char *value, const char *value_end)
MRC_API const MR_PointObject * MR_FeatureObject_StaticDowncastTo_MR_PointObject(const MR_FeatureObject *object)
MRC_API const MR_ConeObject * MR_FeatureObject_StaticDowncastTo_MR_ConeObject(const MR_FeatureObject *object)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_MutableStaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(MR_FeatureObject *object)
MRC_API void MR_FeatureObject_setSubfeatureAlphaMesh(MR_FeatureObject *_this, float alpha)
MRC_API MR_std_string * MR_FeatureObject_className(const MR_FeatureObject *_this)
MR_FeatureVisualizePropertyType
Definition MRFeatureObject.h:71
@ MR_FeatureVisualizePropertyType__count
Definition MRFeatureObject.h:75
@ MR_FeatureVisualizePropertyType_Subfeatures
Definition MRFeatureObject.h:72
@ MR_FeatureVisualizePropertyType_DetailsOnNameTag
Definition MRFeatureObject.h:74
MRC_API const MR_VisualObject * MR_FeatureObject_UpcastTo_MR_VisualObject(const MR_FeatureObject *object)
MRC_API MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId * MR_FeatureObjectSharedProperty_GetMutable_setter(MR_FeatureObjectSharedProperty *_this)
MRC_API float MR_FeatureObject_getMainFeatureAlpha(const MR_FeatureObject *_this)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_ConstructFromAnother(const MR_FeatureObjectProjectPointResult *_other)
struct MR_PointObject MR_PointObject
Definition MRFeatureObject.h:29
MRC_API MR_PlaneObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_PlaneObject(MR_FeatureObject *object)
MRC_API MR_ConeObject * MR_FeatureObject_MutableStaticDowncastTo_MR_ConeObject(MR_FeatureObject *object)
MRC_API void MR_FeatureObject_setPointSize(MR_FeatureObject *_this, float pointSize)
MRC_API const MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId * MR_FeatureObjectSharedProperty_Get_getter(const MR_FeatureObjectSharedProperty *_this)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableDynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
MRC_API MR_std_optional_MR_Vector3f * MR_FeatureObjectProjectPointResult_GetMutable_normal(MR_FeatureObjectProjectPointResult *_this)
MRC_API const MR_PlaneObject * MR_FeatureObject_DynamicDowncastTo_MR_PlaneObject(const MR_FeatureObject *object)
MRC_API void MR_FeatureObject_setSubfeatureAlphaPoints(MR_FeatureObject *_this, float alpha)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_DynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API const MR_Color * MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef)
MRC_API const char * MR_FeatureObject_ClassName(void)
Generated from a method of class MR::FeatureObject named ClassName.
MRC_API void MR_FeatureObject_setLineWidth(MR_FeatureObject *_this, float lineWidth)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableDynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
MRC_API const MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_OffsetPtr(const MR_FeatureObjectSharedProperty *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 MR_ViewportMask * MR_FeatureObject_getVisualizePropertyMask(const MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API MR_ConeObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_ConeObject(MR_FeatureObject *object)
MRC_API MR_Object * MR_FeatureObject_MutableUpcastTo_MR_Object(MR_FeatureObject *object)
Upcasts an instance of MR::FeatureObject to its base class MR::Object.
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableStaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
struct MR_LineObject MR_LineObject
Definition MRFeatureObject.h:25
MRC_API const MR_std_string * MR_FeatureObjectSharedProperty_Get_propertyName(const MR_FeatureObjectSharedProperty *_this)
struct MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId
Definition MRFeatureObject.h:34
MRC_API MR_LineObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_LineObject(MR_FeatureObject *object)
MRC_API MR_LineObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_LineObject(MR_FeatureObject *object)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableStaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
MRC_API float MR_FeatureObject_getSubfeatureLineWidth(const MR_FeatureObject *_this)
MRC_API MR_std_function_std_variant_float_MR_Vector3f_from_const_MR_FeatureObject_ptr_MR_ViewportId * MR_FeatureObjectSharedProperty_GetMutable_getter(MR_FeatureObjectSharedProperty *_this)
MRC_API void MR_FeatureObject_Destroy(const MR_FeatureObject *_this)
Destroys a heap-allocated instance of MR_FeatureObject. Does nothing if the pointer is null.
MRC_API void MR_FeatureObject_setXf(MR_FeatureObject *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id)
MRC_API MR_SphereObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_SphereObject(MR_FeatureObject *object)
MRC_API MR_Matrix3f MR_FeatureObject_getScaleShearMatrix(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef)
MRC_API bool MR_FeatureObject_supportsVisualizeProperty(const MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API float MR_FeatureObject_getSubfeatureAlphaPoints(const MR_FeatureObject *_this)
MRC_API const MR_Object * MR_FeatureObject_UpcastTo_MR_Object(const MR_FeatureObject *object)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_DefaultConstructArray(size_t num_elems)
struct MR_FeatureObjectSharedProperty MR_FeatureObjectSharedProperty
Generated from class MR::FeatureObjectSharedProperty.
Definition MRFeatureObject.h:65
MRC_API MR_ConeObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_ConeObject(MR_FeatureObject *object)
MRC_API const MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_OffsetPtr(const MR_FeatureObjectProjectPointResult *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 MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_DynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
MRC_API MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(MR_FeatureObject *object)
MRC_API void MR_FeatureObjectSharedProperty_Set_setter(MR_FeatureObjectSharedProperty *_this, MR_PassBy value_pass_by, MR_std_function_void_from_const_std_variant_float_MR_Vector3f_ref_MR_FeatureObject_ptr_MR_ViewportId *value)
MRC_API const MR_CircleObject * MR_FeatureObject_StaticDowncastTo_MR_CircleObject(const MR_FeatureObject *object)
MR_FeaturePropertyKind
Definition MRFeatureObject.h:44
@ MR_FeaturePropertyKind_position
Definition MRFeatureObject.h:46
@ MR_FeaturePropertyKind_linearDimension
Definition MRFeatureObject.h:48
@ MR_FeaturePropertyKind_direction
Definition MRFeatureObject.h:50
@ MR_FeaturePropertyKind_other
Definition MRFeatureObject.h:53
@ MR_FeaturePropertyKind_angle
Definition MRFeatureObject.h:52
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_DefaultConstruct(void)
MRC_API MR_PointObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_PointObject(MR_FeatureObject *object)
struct MR_PlaneObject MR_PlaneObject
Definition MRFeatureObject.h:28
MRC_API MR_Vector3f * MR_FeatureObjectProjectPointResult_GetMutable_point(MR_FeatureObjectProjectPointResult *_this)
MRC_API float MR_FeatureObject_getSubfeaturePointSize(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObjectSharedProperty_Set_kind(MR_FeatureObjectSharedProperty *_this, MR_FeaturePropertyKind value)
MRC_API const MR_PointObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_PointObject(const MR_FeatureObject *object)
MRC_API const char * MR_FeatureObject_typeName(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setSubfeaturePointSize(MR_FeatureObject *_this, float pointSize)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_DynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API MR_Matrix3f MR_FeatureObject_getRotationMatrix(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef)
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRFeatureObject.h:32
MRC_API MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FeatureObjectSharedProperty *_other)
MRC_API float MR_FeatureObject_getLineWidth(const MR_FeatureObject *_this)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_DynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API void MR_FeatureObject_setSubfeatureAlphaLines(MR_FeatureObject *_this, float alpha)
MRC_API const char * MR_FeatureObject_TypeName(void)
Generated from a method of class MR::FeatureObject named TypeName.
MRC_API MR_FeaturePropertyKind * MR_FeatureObjectSharedProperty_GetMutable_kind(MR_FeatureObjectSharedProperty *_this)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_AssignFromAnother(MR_FeatureObjectProjectPointResult *_this, const MR_FeatureObjectProjectPointResult *_other)
MRC_API MR_Vector3f MR_FeatureObject_getBasePoint(const MR_FeatureObject *_this, const MR_ViewportId *id)
MRC_API void MR_FeatureObjectSharedProperty_Destroy(const MR_FeatureObjectSharedProperty *_this)
Destroys a heap-allocated instance of MR_FeatureObjectSharedProperty. Does nothing if the pointer is ...
MRC_API void MR_FeatureObject_resetXf(MR_FeatureObject *_this, const MR_ViewportId *id)
MRC_API MR_std_string * MR_FeatureObject_classNameInPlural(const MR_FeatureObject *_this)
MRC_API const MR_ConeObject * MR_FeatureObject_DynamicDowncastTo_MR_ConeObject(const MR_FeatureObject *object)
MRC_API MR_LineObject * MR_FeatureObject_MutableStaticDowncastTo_MR_LineObject(MR_FeatureObject *object)
MRC_API MR_SphereObject * MR_FeatureObject_MutableStaticDowncastTo_MR_SphereObject(MR_FeatureObject *object)
MRC_API float MR_FeatureObject_getSubfeatureAlphaMesh(const MR_FeatureObject *_this)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length * MR_FeatureObject_StaticDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_angle_MR_DimensionsVisualizePropertyType_length(const MR_FeatureObject *object)
MRC_API MR_PointObject * MR_FeatureObject_MutableStaticDowncastTo_MR_PointObject(MR_FeatureObject *object)
MRC_API const MR_CylinderObject * MR_FeatureObject_StaticDowncastTo_MR_CylinderObject(const MR_FeatureObject *object)
MRC_API MR_CylinderObject * MR_FeatureObject_MutableDynamicDowncastTo_MR_CylinderObject(MR_FeatureObject *object)
MRC_API void MR_FeatureObjectProjectPointResult_Destroy(const MR_FeatureObjectProjectPointResult *_this)
Destroys a heap-allocated instance of MR_FeatureObjectProjectPointResult. Does nothing if the pointer...
MRC_API void MR_FeatureObjectSharedProperty_DestroyArray(const MR_FeatureObjectSharedProperty *_this)
Destroys a heap-allocated array of MR_FeatureObjectSharedProperty. Does nothing if the pointer is nul...
MRC_API MR_VisualObject * MR_FeatureObject_MutableUpcastTo_MR_VisualObject(MR_FeatureObject *object)
Upcasts an instance of MR::FeatureObject to its base class MR::VisualObject.
MRC_API MR_SphereObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_SphereObject(MR_FeatureObject *object)
MRC_API const char * MR_FeatureObject_ClassNameInPlural(void)
Generated from a method of class MR::FeatureObject named ClassNameInPlural.
MRC_API void MR_FeatureObjectProjectPointResult_Set_normal(MR_FeatureObjectProjectPointResult *_this, const MR_Vector3f *value)
MRC_API const MR_PlaneObject * MR_FeatureObject_StaticDowncastTo_MR_PlaneObject(const MR_FeatureObject *object)
MRC_API const MR_CylinderObject * MR_FeatureObject_DynamicDowncastToOrFail_MR_CylinderObject(const MR_FeatureObject *object)
MRC_API const MR_PointObject * MR_FeatureObject_DynamicDowncastTo_MR_PointObject(const MR_FeatureObject *object)
MRC_API const MR_CircleObject * MR_FeatureObject_DynamicDowncastTo_MR_CircleObject(const MR_FeatureObject *object)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_DynamicDowncastToOrFail_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(const MR_FeatureObject *object)
MRC_API void MR_FeatureObject_setDecorationsColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObject_projectPoint(const MR_FeatureObject *_this, const MR_Vector3f *point, const MR_ViewportId *id)
MRC_API MR_PlaneObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_PlaneObject(MR_FeatureObject *object)
MRC_API const MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter * MR_FeatureObject_DynamicDowncastTo_MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter(const MR_FeatureObject *object)
MRC_API const MR_ViewportProperty_MR_Color * MR_FeatureObject_getDecorationsColorForAllViewports(const MR_FeatureObject *_this, bool selected)
MRC_API const MR_SphereObject * MR_FeatureObject_StaticDowncastTo_MR_SphereObject(const MR_FeatureObject *object)
MRC_API MR_CircleObject * MR_FeatureObject_MutableDynamicDowncastToOrFail_MR_CircleObject(MR_FeatureObject *object)
MRC_API const MR_CylinderObject * MR_FeatureObject_DynamicDowncastTo_MR_CylinderObject(const MR_FeatureObject *object)
struct MR_Object MR_Object
Definition MRGltf.h:10
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:36
Generated from class MR::Color.
Definition MRColor.h:18
Definition MRMatrix3.h:59
Definition MRVector3.h:50
Definition MRViewportId.h:17