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#include <stdint.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
20typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
21typedef struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
22typedef struct MR_CircleObject MR_CircleObject; // Defined in `#include <MRCMesh/MRCircleObject.h>`.
23typedef struct MR_Color MR_Color; // Defined in `#include <MRCMesh/MRColor.h>`.
24typedef struct MR_ConeObject MR_ConeObject; // Defined in `#include <MRCMesh/MRConeObject.h>`.
25typedef struct MR_CylinderObject MR_CylinderObject; // Defined in `#include <MRCMesh/MRCylinderObject.h>`.
26typedef struct MR_LineObject MR_LineObject; // Defined in `#include <MRCMesh/MRLineObject.h>`.
27typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
28typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
29typedef struct MR_PlaneObject MR_PlaneObject; // Defined in `#include <MRCMesh/MRPlaneObject.h>`.
30typedef struct MR_PointObject MR_PointObject; // Defined in `#include <MRCMesh/MRPointObject.h>`.
31typedef struct MR_SphereObject MR_SphereObject; // Defined in `#include <MRCMesh/MRSphereObject.h>`.
32typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
33typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
34typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
35typedef 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>`.
36typedef 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>`.
37typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
38typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
39typedef struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty; // Defined in `#include <MRCMisc/std_vector_MR_FeatureObjectSharedProperty.h>`.
40typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
41
42
43// Classifies `FeatureObjectSharedProperty`, mostly for informational purposes.
44typedef int32_t MR_FeaturePropertyKind;
45enum // MR_FeaturePropertyKind
46{
47 // Position, normally Vector3f.
49 // Length or size.
51 // Direction, normally Vector3f.
53 // Angle, normally float. Measure in radians.
56};
57
58// 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.
59// propertyName: A string representing the name of the property.
60// 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.
61// 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.
62// 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 ).
63// The constructor initializes the propertyName and uses lambdas to adapt the member function pointers into std::function objects that conform to the expected
64// 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
65// invoking the setter method.
68
71
73enum // MR_FeatureVisualizePropertyType
74{
76 // If true, show additional details on the name tag, such as point coordinates. Not all features use this.
79};
80
103
108
114
119
124
128
133
134// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
139
140// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
144
145// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
150
151// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
152// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
157
158// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
159// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
163
164// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
165// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
170
174
177
180
183
186
191
196
200
205
210
215
220
224
229
234
237
240
245
248
251
257
260
263
269
274
279
285
286// Since a point on an abstract feature is difficult to uniquely parameterize,
287// the projection function simultaneously returns the normal to the surface at the projection point.
294
300
306
311
312// Returns point considered as base for the feature
317
318// The cached orthonormalized rotation matrix.
319// `isDef` receives false if matrix is overridden for this specific viewport.
325
326// The cached scale and shear matrix. The main diagnoal stores the scale, and some other elements store the shearing.
327// `isDef` receives false if matrix is overridden for this specific viewport.
333
334// This color is used for subfeatures.
335// `isDef` receives false if matrix is overridden for this specific viewport.
341MRC_API const MR_Color *MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef);
342
347MRC_API void MR_FeatureObject_setDecorationsColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
348
353
357
358// Point size and line width, for primary rendering rather than subfeatures.
362
366
370
374
375// Point size and line width, for subfeatures rather than primary rendering.
379
383
387
391
392// Per-component alpha multipliers. The global alpha is multiplied by thise.
396
400
404
408
412
416
420
424
427
430
434
437
441
444
448
451
456
460
465
469
476
482
487
491
496
500
507
513
518
522
527
531
538
544
549
553
558
562
569
575
580
584
589
593
600
606
611
615
620
624
631
637
642
646
651
655
662
668
673
677
682
686
693
699
704
708
713
717
724
730
735
739
744
748
755
761
762#ifdef __cplusplus
763} // extern "C"
764#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:40
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:56
struct MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length MR_AddVisualProperties_MR_FeatureObject_MR_DimensionsVisualizePropertyType_diameter_MR_DimensionsVisualizePropertyType_length
Definition MRAddVisualPropertiesMixin.h:72
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:27
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)
int32_t MR_FeatureVisualizePropertyType
Definition MRFeatureObject.h:72
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:36
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 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:30
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 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:26
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:35
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)
@ MR_FeaturePropertyKind_position
Definition MRFeatureObject.h:48
@ MR_FeaturePropertyKind_linearDimension
Definition MRFeatureObject.h:50
@ MR_FeaturePropertyKind_direction
Definition MRFeatureObject.h:52
@ MR_FeaturePropertyKind_other
Definition MRFeatureObject.h:55
@ MR_FeaturePropertyKind_angle
Definition MRFeatureObject.h:54
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:67
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)
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:29
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 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)
@ MR_FeatureVisualizePropertyType__count
Definition MRFeatureObject.h:78
@ MR_FeatureVisualizePropertyType_Subfeatures
Definition MRFeatureObject.h:75
@ MR_FeatureVisualizePropertyType_DetailsOnNameTag
Definition MRFeatureObject.h:77
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRFeatureObject.h:33
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)
int32_t MR_FeaturePropertyKind
Definition MRFeatureObject.h:44
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 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 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:19
Definition MRMatrix3.h:58
Definition MRVector3.h:51
Definition MRViewportId.h:18