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_ConstChildren MR_ConstChildren; // Defined in `#include <MRCMesh/MRConstChildren.h>`.
22typedef struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
23typedef struct MR_ModelRenderParams MR_ModelRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
24typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
25typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
26typedef struct MR_UiRenderParams MR_UiRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
27typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
28typedef struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
29typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
30typedef struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
31typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
32typedef 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>`.
33typedef 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>`.
34typedef struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f; // Defined in `#include <MRCMisc/std_optional_MR_Vector3f.h>`.
35typedef struct MR_std_set_std_string MR_std_set_std_string; // Defined in `#include <MRCMisc/std_set_std_string.h>`.
36typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.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>`.
40typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
41
42
43// Classifies `FeatureObjectSharedProperty`, mostly for informational purposes.
45{
46 // Position, normally Vector3f.
48 // Length or size.
50 // Direction, normally Vector3f.
52 // Angle, normally float. Measure in radians.
56
57// 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.
58// propertyName: A string representing the name of the property.
59// 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.
60// 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.
61// 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 ).
62// The constructor initializes the propertyName and uses lambdas to adapt the member function pointers into std::function objects that conform to the expected
63// 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
64// invoking the setter method.
68
72
74{
76 // If true, show additional details on the name tag, such as point coordinates. Not all features use this.
80
103
109
117
123
129
135
141
142// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
148
149// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
155
156// due to getAllSharedProperties in FeatureObject returns static vector, we need externaly setup object to invoke setter ad getter.
162
163// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
164// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
170
171// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
172// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
178
179// NOTE: `id` should usually be `{}`, not the current viewport ID, to set the property for all viewports.
180// Passing a non-zero ID would only modify the active viewport, and per-viewport properties aren't usually used.
186
191
195
199
202
205
212
218
224
230
236
243
249
253
258
266
270
274
280
283
286
294
297
300
303
307
310
315
318
323
329
334
339
345
346// Since a point on an abstract feature is difficult to uniquely parameterize,
347// the projection function simultaneously returns the normal to the surface at the projection point.
354
360
366
371
372// Returns point considered as base for the feature
377
378// The cached orthonormalized rotation matrix.
379// `isDef` receives false if matrix is overridden for this specific viewport.
385
386// The cached scale and shear matrix. The main diagnoal stores the scale, and some other elements store the shearing.
387// `isDef` receives false if matrix is overridden for this specific viewport.
393
394// This color is used for subfeatures.
395// `isDef` receives false if matrix is overridden for this specific viewport.
401MRC_API const MR_Color *MR_FeatureObject_getDecorationsColor(const MR_FeatureObject *_this, bool selected, const MR_ViewportId *viewportId, bool *isDef);
402
407MRC_API void MR_FeatureObject_setDecorationsColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
408
413
417
418// Point size and line width, for primary rendering rather than subfeatures.
422
426
430
434
435// Point size and line width, for subfeatures rather than primary rendering.
439
443
447
451
452// Per-component alpha multipliers. The global alpha is multiplied by thise.
456
460
464
468
472
476
480
484
491
498
505
512
518
524
530
537
544
551MRC_API const MR_Color *MR_FeatureObject_getFrontColor(const MR_FeatureObject *_this, const bool *selected, const MR_ViewportId *viewportId);
552
558MRC_API void MR_FeatureObject_setFrontColor(MR_FeatureObject *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
559
566
572
578
583
590
597
603MRC_API const unsigned char *MR_FeatureObject_getGlobalAlpha(const MR_FeatureObject *_this, const MR_ViewportId *viewportId);
604
609MRC_API void MR_FeatureObject_setGlobalAlpha(MR_FeatureObject *_this, unsigned char alpha, const MR_ViewportId *viewportId);
610
616
621
628MRC_API void MR_FeatureObject_setDirtyFlags(MR_FeatureObject *_this, unsigned int mask, const bool *invalidateCaches);
629
634
639
644
649
656
662
669
675MRC_API void MR_FeatureObject_setPickable(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask);
676
681
686
691
696
701
706
711
716
723
730
737
743
749
754
760
766
771MRC_API void MR_FeatureObject_setUseDefaultScenePropertiesOnDeserialization(MR_FeatureObject *_this, bool useDefaultScenePropertiesOnDeserialization);
772
777
782
787
792MRC_API void MR_FeatureObject_setName(MR_FeatureObject *_this, const char *name, const char *name_end);
793
801MRC_API const MR_AffineXf3f *MR_FeatureObject_xf(const MR_FeatureObject *_this, const MR_ViewportId *id, bool *isDef);
802
808
813
821
827
832
838
845
852
857
861
867
871
876
882
889
897MRC_API bool MR_FeatureObject_addChild(MR_FeatureObject *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
898
906
911
916
921
925
931
935
940
946MRC_API void MR_FeatureObject_setVisible(MR_FeatureObject *_this, bool on, const MR_ViewportMask *viewportMask);
947
954
960
966
970
976
983
991
997
1002
1008
1015
1023MRC_API bool MR_FeatureObject_addTag(MR_FeatureObject *_this, const char *tag, const char *tag_end);
1024
1031MRC_API bool MR_FeatureObject_removeTag(MR_FeatureObject *_this, const char *tag, const char *tag_end);
1032
1033// return true if model of current object equals to model (the same) of other
1038
1039// return hash of model (or hash object pointer if object has no model)
1043
1044// returns this Object as shared_ptr
1045// finds it among its parent's recognized children
1050
1054
1058
1063
1067
1073
1078
1083
1087
1093
1098
1104
1109
1117
1124
1129
1133
1139
1144
1150
1155
1163
1170
1171#ifdef __cplusplus
1172} // extern "C"
1173#endif
struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams
Definition MRAddVisualPropertiesMixin.h:24
struct MR_std_vector_MR_FeatureObjectSharedProperty MR_std_vector_MR_FeatureObjectSharedProperty
Definition MRAddVisualPropertiesMixin.h:38
struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char
Definition MRAddVisualPropertiesMixin.h:32
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:33
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:19
struct MR_ConstChildren MR_ConstChildren
Definition MRAddVisualPropertiesMixin.h:21
struct MR_std_optional_MR_Vector3f MR_std_optional_MR_Vector3f
Definition MRAddVisualPropertiesMixin.h:34
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:29
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAddVisualPropertiesMixin.h:36
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:39
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRAddVisualPropertiesMixin.h:31
struct MR_ModelRenderParams MR_ModelRenderParams
Definition MRAddVisualPropertiesMixin.h:25
struct MR_std_set_std_string MR_std_set_std_string
Definition MRAddVisualPropertiesMixin.h:35
struct MR_UiRenderParams MR_UiRenderParams
Definition MRAddVisualPropertiesMixin.h:28
struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f
Definition MRAddVisualPropertiesMixin.h:30
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:27
struct MR_FeatureObjectProjectPointResult MR_FeatureObjectProjectPointResult
Definition MRAddVisualPropertiesMixin.h:23
struct MR_FeatureObject MR_FeatureObject
Definition MRAddVisualPropertiesMixin.h:22
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 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 size_t MR_FeatureObject_heapBytes(const MR_FeatureObject *_this)
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:33
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:74
@ MR_FeatureVisualizePropertyType__count
Definition MRFeatureObject.h:78
@ MR_FeatureVisualizePropertyType_Subfeatures
Definition MRFeatureObject.h:75
@ MR_FeatureVisualizePropertyType_DetailsOnNameTag
Definition MRFeatureObject.h:77
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 size_t MR_FeatureObject_getModelHash(const MR_FeatureObject *_this)
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:32
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_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:67
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:45
@ MR_FeaturePropertyKind_position
Definition MRFeatureObject.h:47
@ MR_FeaturePropertyKind_linearDimension
Definition MRFeatureObject.h:49
@ MR_FeaturePropertyKind_direction
Definition MRFeatureObject.h:51
@ MR_FeaturePropertyKind_other
Definition MRFeatureObject.h:54
@ MR_FeaturePropertyKind_angle
Definition MRFeatureObject.h:53
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 MR_ConstChildren * MR_FeatureObject_constChildren(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:17
MR_PassBy
Definition common.h:13
#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