MeshLib C Docs
Loading...
Searching...
No Matches
MRFeatureObject.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRBox.h>
5#include <MRCMesh/MREnums.h>
6#include <MRCMesh/MRMatrix3.h>
7#include <MRCMesh/MRVector3.h>
9#include <MRCMisc/common.h>
10#include <MRCMisc/exports.h>
11
12#include <stdbool.h>
13#include <stddef.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19typedef struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
20typedef struct MR_Color MR_Color; // Defined in `#include <MRCMesh/MRColor.h>`.
21typedef struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
22typedef struct MR_ModelRenderParams MR_ModelRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
23typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
24typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
25typedef struct MR_UiRenderParams MR_UiRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
26typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
27typedef struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
28typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
29typedef struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
30typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
31typedef 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>`.
32typedef 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>`.
33typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
34typedef struct MR_std_set_std_string MR_std_set_std_string; // Defined in `#include <MRCMisc/std_set_std_string.h>`.
35typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
36typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
37typedef struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty; // Defined in `#include <MRCMisc/std_vector_MR_FeatureObjectSharedProperty.h>`.
38typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
39typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.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.
67
71
73{
75 // If true, show additional details on the name tag, such as point coordinates. Not all features use this.
79
102
108
116
122
128
134
140
141// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
147
148// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
154
155// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
161
162// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
163// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
169
170// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
171// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
177
178// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
179// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
185
190
194
198
201
204
211
217
223
229
235
242
248
252
257
265
269
273
279
282
285
293
296
299
302
306
309
314
317
322
328
333
338
344
345// Since a point on an abstract feature is difficult to uniquely parameterize,
346// the projection function simultaneously returns the normal to the surface at the projection point.
353
359
365
370
371// Returns point considered as base for the feature
376
377// The cached orthonormalized rotation matrix.
378// `isDef` receives false if matrix is overridden for this specific viewport.
384
385// The cached scale and shear matrix. The main diagnoal stores the scale, and some other elements store the shearing.
386// `isDef` receives false if matrix is overridden for this specific viewport.
392
393// This color is used for subfeatures.
394// `isDef` receives false if matrix is overridden for this specific viewport.
400MRC_API const MR_Color *MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef);
401
406MRC_API void MR_FeatureObject_setDecorationsColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
407
412
416
417// Point size and line width, for primary rendering rather than subfeatures.
421
425
429
433
434// Point size and line width, for subfeatures rather than primary rendering.
438
442
446
450
451// Per-component alpha multipliers. The global alpha is multiplied by thise.
455
459
463
467
471
475
479
483
490
497
504
511
517
523
529
536
543
550MRC_API const MR_Color *MR_FeatureObject_getFrontColor(const MR_FeatureObject *_this, const bool *selected, const MR_ViewportId *viewportId);
551
557MRC_API void MR_FeatureObject_setFrontColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
558
565
571
577
582
589
596
602MRC_API const unsigned char *MR_FeatureObject_getGlobalAlpha(const MR_FeatureObject *_this, const MR_ViewportId *viewportId);
603
608MRC_API void MR_FeatureObject_setGlobalAlpha(MR_FeatureObject *_this, unsigned char alpha, const MR_ViewportId *viewportId);
609
615
620
627MRC_API void MR_FeatureObject_setDirtyFlags(MR_FeatureObject *_this, unsigned int mask, const bool *invalidateCaches);
628
633
638
643
648
655
661
668
674MRC_API void MR_FeatureObject_setPickable(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask);
675
680
685
690
695
700
705
710
715
722
729
736
742
748
753
759
765
770MRC_API void MR_FeatureObject_setUseDefaultScenePropertiesOnDeserialization(MR_FeatureObject *_this, bool useDefaultScenePropertiesOnDeserialization);
771
776
781
786
791MRC_API void MR_FeatureObject_setName(MR_FeatureObject *_this, const char *name, const char *name_end);
792
800MRC_API const MR_AffineXf3f *MR_FeatureObject_xf(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef);
801
807
812
820
826
831
837
844
851
856
860
866
870
875
881
889MRC_API bool MR_FeatureObject_addChild(MR_FeatureObject *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
890
898
903
908
913
917
923
927
932
938MRC_API void MR_FeatureObject_setVisible(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask);
939
946
952
958
962
968
975
983
990
995
1001
1008
1016MRC_API bool MR_FeatureObject_addTag(MR_FeatureObject *_this, const char *tag, const char *tag_end);
1017
1024MRC_API bool MR_FeatureObject_removeTag(MR_FeatureObject *_this, const char *tag, const char *tag_end);
1025
1026// return true if model of current object equals to model (the same) of other
1031
1032// return hash of model (or hash object pointer if object has no model)
1036
1037// returns this Object as shared_ptr
1038// finds it among its parent's recognized children
1043
1047
1051
1056
1060
1066
1071
1076
1080
1086
1091
1097
1102
1110
1117
1122
1126
1132
1137
1143
1148
1156
1163
1164#ifdef __cplusplus
1165} // extern "C"
1166#endif
struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams
Definition MRAddVisualPropertiesMixin.h:23
struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty
Definition MRAddVisualPropertiesMixin.h:37
struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char
Definition MRAddVisualPropertiesMixin.h:31
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:32
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:19
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRAddVisualPropertiesMixin.h:33
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:28
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAddVisualPropertiesMixin.h:35
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:38
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRAddVisualPropertiesMixin.h:30
struct MR_ModelRenderParams MR_ModelRenderParams
Definition MRAddVisualPropertiesMixin.h:24
struct MR_std_set_std_string MR_std_set_std_string
Definition MRAddVisualPropertiesMixin.h:34
struct MR_UiRenderParams MR_UiRenderParams
Definition MRAddVisualPropertiesMixin.h:27
struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f
Definition MRAddVisualPropertiesMixin.h:29
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:26
struct MR_FeatureObjectProjectPointResult MR_FeatureObjectProjectPointResult
Definition MRAddVisualPropertiesMixin.h:22
struct MR_FeatureObject MR_FeatureObject
Definition MRAddVisualPropertiesMixin.h:21
struct MR_std_string MR_std_string
Definition MRCtm.h:32
MR_ColoringType
Definition MREnums.h:94
MRC_API void MR_FeatureObject_setDecorationsColorForAllViewports(MR_FeatureObject *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, bool selected)
MRC_API MR_Box3f MR_FeatureObject_getWorldBox(const MR_FeatureObject *_this, const MR_ViewportId *_1)
MRC_API void MR_FeatureObject_resetRedrawFlag(const MR_FeatureObject *_this)
MRC_API bool MR_FeatureObject_isLocked(const MR_FeatureObject *_this)
MRC_API MR_ViewportMask * MR_FeatureObject_globalClippedByPlaneMask(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_copyAllSolidColors(MR_FeatureObject *_this, const MR_VisualObject *other)
MRC_API void MR_FeatureObject_setVisualizePropertyMask(MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableDynamicDowncastFromOrFail_MR_VisualObject(MR_VisualObject *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 bool MR_FeatureObject_isVisible(const MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
MRC_API const MR_ViewportProperty_MR_Color * MR_FeatureObject_getBackColorsForAllViewports(const MR_FeatureObject *_this)
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 bool MR_FeatureObject_isSelected(const MR_FeatureObject *_this)
MRC_API const MR_std_vector_MR_FeatureObjectSharedProperty * MR_FeatureObject_getAllSharedProperties(const MR_FeatureObject *_this)
MRC_API float MR_FeatureObject_getAmbientStrength(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setPickable(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_ConstructFrom(MR_Vector3f point, const MR_Vector3f *normal)
MRC_API const MR_Color * MR_FeatureObject_getFrontColor(const MR_FeatureObject *_this, const bool *selected, const MR_ViewportId *viewportId)
MRC_API const MR_ViewportProperty_unsigned_char * MR_FeatureObject_getGlobalAlphaForAllViewports(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setBackColor(MR_FeatureObject *_this, const MR_Color *color, const MR_ViewportId *viewportId)
MRC_API MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_OffsetMutablePtr(MR_FeatureObjectSharedProperty *ptr, ptrdiff_t i)
MRC_API bool MR_FeatureObject_isPickable(const MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
MRC_API float MR_FeatureObject_getSpecularStrength(const MR_FeatureObject *_this)
MRC_API MR_std_vector_std_string * MR_FeatureObject_getInfoLines(const MR_FeatureObject *_this)
MRC_API MR_ColoringType MR_FeatureObject_getColoringType(const MR_FeatureObject *_this)
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 bool MR_FeatureObject_sameModels(const MR_FeatureObject *_this, const MR_Object *other)
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)
MRC_API const MR_FeaturePropertyKind * MR_FeatureObjectSharedProperty_Get_kind(const MR_FeatureObjectSharedProperty *_this)
MRC_API bool MR_FeatureObject_addTag(MR_FeatureObject *_this, const char *tag, const char *tag_end)
MRC_API bool MR_FeatureObject_isParentLocked(const MR_FeatureObject *_this)
MRC_API const char * MR_FeatureObject_StaticClassName(void)
Generated from method MR::FeatureObject::StaticClassName.
MRC_API const MR_AffineXf3f * MR_FeatureObject_xf(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef)
MRC_API void MR_FeatureObject_setAllVisualizeProperties(MR_FeatureObject *_this, const MR_std_vector_MR_ViewportMask *properties)
MRC_API MR_uint64_t MR_FeatureObject_heapBytes(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_toggleVisualizeProperty(MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask)
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)
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)
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 void MR_FeatureObject_setXfsForAllViewports(MR_FeatureObject *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf)
MRC_API const unsigned char * MR_FeatureObject_getGlobalAlpha(const MR_FeatureObject *_this, const MR_ViewportId *viewportId)
MRC_API const MR_std_optional_MR_Vector3f * MR_FeatureObjectProjectPointResult_Get_normal(const MR_FeatureObjectProjectPointResult *_this)
MRC_API const MR_Color * MR_FeatureObject_getBackColor(const MR_FeatureObject *_this, const MR_ViewportId *viewportId)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_OffsetMutablePtr(MR_FeatureObjectProjectPointResult *ptr, ptrdiff_t i)
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:32
MRC_API void MR_FeatureObject_setVisualizeProperty(MR_FeatureObject *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask)
MRC_API float MR_FeatureObject_getShininess(const MR_FeatureObject *_this)
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_FeatureObject_setFrontColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId)
MRC_API void MR_FeatureObjectSharedProperty_Set_propertyName(MR_FeatureObjectSharedProperty *_this, const char *value, const char *value_end)
MRC_API bool MR_FeatureObject_detachFromParent(MR_FeatureObject *_this)
MRC_API const MR_FeatureObject * MR_FeatureObject_DynamicDowncastFrom_MR_Object(const MR_Object *object)
MRC_API const MR_ViewportProperty_MR_Color * MR_FeatureObject_getFrontColorsForAllViewports(const MR_FeatureObject *_this, const bool *selected)
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:73
@ MR_FeatureVisualizePropertyType__count
Definition MRFeatureObject.h:77
@ MR_FeatureVisualizePropertyType_Subfeatures
Definition MRFeatureObject.h:74
@ MR_FeatureVisualizePropertyType_DetailsOnNameTag
Definition MRFeatureObject.h:76
MRC_API void MR_FeatureObject_setLocked(MR_FeatureObject *_this, bool on)
MRC_API bool MR_FeatureObject_removeTag(MR_FeatureObject *_this, const char *tag, const char *tag_end)
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)
MRC_API const MR_FeatureObject * MR_FeatureObject_StaticDowncastFrom_MR_ObjectChildrenHolder(const MR_ObjectChildrenHolder *object)
MRC_API void MR_FeatureObject_setWorldXf(MR_FeatureObject *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id)
MRC_API void MR_FeatureObject_setPointSize(MR_FeatureObject *_this, float pointSize)
MRC_API void MR_FeatureObject_swap(MR_FeatureObject *_this, MR_Object *other)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableDynamicDowncastFrom_MR_Object(MR_Object *object)
MRC_API unsigned int MR_FeatureObject_getDirtyFlags(const MR_FeatureObject *_this)
MRC_API MR_Box3f MR_FeatureObject_getWorldTreeBox(const MR_FeatureObject *_this, const MR_ViewportId *_1)
MRC_API bool MR_FeatureObject_getRedrawFlag(const MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
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 void MR_FeatureObject_setShininess(MR_FeatureObject *_this, float shininess)
MRC_API MR_std_optional_MR_Vector3f * MR_FeatureObjectProjectPointResult_GetMutable_normal(MR_FeatureObjectProjectPointResult *_this)
MRC_API const MR_FeatureObject * MR_FeatureObject_StaticDowncastFrom_MR_Object(const MR_Object *object)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableDynamicDowncastFrom_MR_VisualObject(MR_VisualObject *object)
MRC_API void MR_FeatureObject_setSubfeatureAlphaPoints(MR_FeatureObject *_this, float alpha)
MRC_API const MR_std_set_std_string * MR_FeatureObject_tags(const MR_FeatureObject *_this)
MRC_API bool MR_FeatureObject_isGlobalAncillary(const MR_FeatureObject *_this)
MRC_API MR_AffineXf3f MR_FeatureObject_worldXf(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef)
MRC_API const MR_Color * MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef)
MRC_API const MR_ViewportProperty_MR_AffineXf3f * MR_FeatureObject_xfsForAllViewports(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setLineWidth(MR_FeatureObject *_this, float lineWidth)
MRC_API const MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_OffsetPtr(const MR_FeatureObjectSharedProperty *ptr, ptrdiff_t i)
MRC_API const MR_ViewportMask * MR_FeatureObject_getVisualizePropertyMask(const MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type)
MRC_API void MR_FeatureObject_setAmbientStrength(MR_FeatureObject *_this, float ambientStrength)
MRC_API void MR_FeatureObject_renderForPicker(const MR_FeatureObject *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2)
MRC_API MR_Object * MR_FeatureObject_MutableUpcastTo_MR_Object(MR_FeatureObject *object)
MRC_API MR_ViewportMask * MR_FeatureObject_globalVisibilityMask(const MR_FeatureObject *_this)
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:31
MRC_API void MR_FeatureObject_setGlobalVisibility(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask)
MRC_API bool MR_FeatureObject_getVisualizeProperty(const MR_FeatureObject *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask)
MRC_API const MR_FeatureObject * MR_FeatureObject_DynamicDowncastFromOrFail_MR_Object(const MR_Object *object)
MRC_API MR_uint64_t MR_FeatureObject_getModelHash(const MR_FeatureObject *_this)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableDynamicDowncastFromOrFail_MR_Object(MR_Object *object)
MRC_API float MR_FeatureObject_getSubfeatureLineWidth(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setFrontColorsForAllViewports(MR_FeatureObject *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected)
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_setGlobalAlpha(MR_FeatureObject *_this, unsigned char alpha, const MR_ViewportId *viewportId)
MRC_API bool MR_FeatureObject_hasVisualRepresentation(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setXf(MR_FeatureObject *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id)
MRC_API void MR_FeatureObject_resetDirty(const MR_FeatureObject *_this)
MRC_API MR_std_shared_ptr_MR_Object * MR_FeatureObject_shallowClone(const MR_FeatureObject *_this)
MRC_API MR_std_shared_ptr_MR_Object * MR_FeatureObject_shallowCloneTree(const MR_FeatureObject *_this)
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 const char * MR_FeatureObject_StaticClassNameInPlural(void)
Generated from method MR::FeatureObject::StaticClassNameInPlural.
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_DefaultConstructArray(size_t num_elems)
struct MR_FeatureObjectSharedProperty MR_FeatureObjectSharedProperty
Definition MRFeatureObject.h:66
MRC_API const MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_OffsetPtr(const MR_FeatureObjectProjectPointResult *ptr, ptrdiff_t i)
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)
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 bool MR_FeatureObject_isAncestor(const MR_FeatureObject *_this, const MR_Object *ancestor)
MRC_API MR_FeatureObjectProjectPointResult * MR_FeatureObjectProjectPointResult_DefaultConstruct(void)
MRC_API void MR_FeatureObject_setParentLocked(MR_FeatureObject *_this, bool lock)
MRC_API void MR_FeatureObject_setGlobalClippedByPlane(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask)
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_FeatureObject_resetFrontColor(MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setColoringType(MR_FeatureObject *_this, MR_ColoringType coloringType)
MRC_API void MR_FeatureObjectSharedProperty_Set_kind(MR_FeatureObjectSharedProperty *_this, MR_FeaturePropertyKind value)
MRC_API const char * MR_FeatureObject_typeName(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_renderUi(const MR_FeatureObject *_this, const MR_UiRenderParams *params)
MRC_API void MR_FeatureObject_setSubfeaturePointSize(MR_FeatureObject *_this, float pointSize)
MRC_API void MR_FeatureObject_setName(MR_FeatureObject *_this, const char *name, const char *name_end)
MRC_API MR_Matrix3f MR_FeatureObject_getRotationMatrix(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef)
MRC_API void MR_FeatureObject_resetColors(MR_FeatureObject *_this)
MRC_API MR_std_shared_ptr_MR_Object * MR_FeatureObject_getSharedPtr(const MR_FeatureObject *_this)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableStaticDowncastFrom_MR_ObjectChildrenHolder(MR_ObjectChildrenHolder *object)
MRC_API MR_ViewportMask * MR_FeatureObject_visibilityMask(const MR_FeatureObject *_this)
MRC_API MR_FeatureObjectSharedProperty * MR_FeatureObjectSharedProperty_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FeatureObjectSharedProperty *_other)
MRC_API void MR_FeatureObject_setVisible(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask)
MRC_API float MR_FeatureObject_getLineWidth(const MR_FeatureObject *_this)
MRC_API MR_Box3f MR_FeatureObject_getBoundingBox(const MR_FeatureObject *_this)
MRC_API bool MR_FeatureObject_isAncillary(const MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_sortChildren(MR_FeatureObject *_this)
MRC_API void MR_FeatureObject_setVisibilityMask(MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
MRC_API void MR_FeatureObject_setSubfeatureAlphaLines(MR_FeatureObject *_this, float alpha)
MRC_API MR_std_shared_ptr_MR_Object * MR_FeatureObject_clone(const MR_FeatureObject *_this)
MRC_API MR_std_shared_ptr_MR_Object * MR_FeatureObject_cloneTree(const MR_FeatureObject *_this)
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 const char * MR_FeatureObject_StaticTypeName(void)
Generated from method MR::FeatureObject::StaticTypeName.
MRC_API void MR_FeatureObject_resetDirtyExceptMask(const MR_FeatureObject *_this, unsigned int mask)
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_FeatureObject * MR_FeatureObject_MutableStaticDowncastFrom_MR_Object(MR_Object *object)
MRC_API MR_std_string * MR_FeatureObject_classNameInPlural(const MR_FeatureObject *_this)
MRC_API bool MR_FeatureObject_hasModel(const MR_FeatureObject *_this)
MRC_API bool MR_FeatureObject_addChild(MR_FeatureObject *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild)
MRC_API bool MR_FeatureObject_useDefaultScenePropertiesOnDeserialization(const MR_FeatureObject *_this)
MRC_API float MR_FeatureObject_getSubfeatureAlphaMesh(const MR_FeatureObject *_this)
MRC_API const MR_FeatureObject * MR_FeatureObject_DynamicDowncastFromOrFail_MR_VisualObject(const MR_VisualObject *object)
MRC_API void MR_FeatureObject_setDirtyFlags(MR_FeatureObject *_this, unsigned int mask, const bool *invalidateCaches)
MRC_API const MR_FeatureObject * MR_FeatureObject_DynamicDowncastFrom_MR_VisualObject(const MR_VisualObject *object)
MRC_API void MR_FeatureObject_setSpecularStrength(MR_FeatureObject *_this, float specularStrength)
MRC_API void MR_FeatureObject_setGlobalAlphaForAllViewports(MR_FeatureObject *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val)
MRC_API bool MR_FeatureObject_globalClippedByPlane(const MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
MRC_API bool MR_FeatureObject_globalVisibility(const MR_FeatureObject *_this, const MR_ViewportMask *viewportMask)
MRC_API void MR_FeatureObject_setBackColorsForAllViewports(MR_FeatureObject *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val)
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)
MRC_API bool MR_FeatureObject_addChildBefore(MR_FeatureObject *_this, MR_PassBy newChild_pass_by, MR_std_shared_ptr_MR_Object *newChild, const MR_std_shared_ptr_MR_Object *existingChild)
MRC_API void MR_FeatureObject_setUseDefaultScenePropertiesOnDeserialization(MR_FeatureObject *_this, bool useDefaultScenePropertiesOnDeserialization)
MRC_API const MR_FeatureObject * MR_FeatureObject_StaticDowncastFrom_MR_VisualObject(const MR_VisualObject *object)
MRC_API void MR_FeatureObject_removeAllChildren(MR_FeatureObject *_this)
MRC_API MR_FeatureObject * MR_FeatureObject_MutableStaticDowncastFrom_MR_VisualObject(MR_VisualObject *object)
MRC_API void MR_FeatureObjectProjectPointResult_Set_normal(MR_FeatureObjectProjectPointResult *_this, const MR_Vector3f *value)
MRC_API bool MR_FeatureObject_select(MR_FeatureObject *_this, bool on)
MRC_API void MR_FeatureObject_setAncillary(MR_FeatureObject *_this, bool ancillary)
MRC_API void MR_FeatureObject_applyScale(MR_FeatureObject *_this, float scaleFactor)
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 const MR_std_string * MR_FeatureObject_name(const MR_FeatureObject *_this)
MRC_API const MR_ViewportProperty_MR_Color * MR_FeatureObject_getDecorationsColorForAllViewports(const MR_FeatureObject *_this, bool selected)
MRC_API bool MR_FeatureObject_render(const MR_FeatureObject *_this, const MR_ModelRenderParams *_1)
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_std_vector_std_string MR_std_vector_std_string
Definition MRNesting3mfExport.h:18
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRAffineXf.h:39
Definition MRBox.h:107
Generated from class MR::Color.
Definition MRColor.h:18
Definition MRMatrix3.h:68
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRViewportId.h:17