MeshLib C Docs
Loading...
Searching...
No Matches
MRObjectVoxels.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRBox.h>
5#include <MRCMesh/MRColor.h>
6#include <MRCMesh/MREnums.h>
7#include <MRCMesh/MRId.h>
8#include <MRCMesh/MRVector2.h>
9#include <MRCMesh/MRVector3.h>
11#include <MRCMisc/common.h>
12#include <MRCMisc/exports.h>
13
14#include <stdbool.h>
15#include <stddef.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21typedef struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
22typedef struct MR_Box3i MR_Box3i; // Defined in `#include <MRCMesh/MRBox.h>`.
23typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
24typedef struct MR_FaceColors MR_FaceColors; // Defined in `#include <MRCMesh/MRVector.h>`.
25typedef struct MR_FaceMap MR_FaceMap; // Defined in `#include <MRCMesh/MRVector.h>`.
26typedef struct MR_FloatGrid MR_FloatGrid; // Defined in `#include <MRCVoxels/MRFloatGrid.h>`.
27typedef struct MR_Histogram MR_Histogram; // Defined in `#include <MRCMesh/MRHistogram.h>`.
28typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
29typedef struct MR_MeshTexture MR_MeshTexture; // Defined in `#include <MRCMesh/MRMeshTexture.h>`.
30typedef struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
31typedef struct MR_ModelRenderParams MR_ModelRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
32typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
33typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
34typedef struct MR_ObjectMeshData MR_ObjectMeshData; // Defined in `#include <MRCMesh/MRObjectMeshData.h>`.
35typedef struct MR_ObjectMeshHolder MR_ObjectMeshHolder; // Defined in `#include <MRCMesh/MRObjectMeshHolder.h>`.
36typedef struct MR_SimpleVolume MR_SimpleVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
37typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
38typedef struct MR_TexturePerFace MR_TexturePerFace; // Defined in `#include <MRCMesh/MRVector.h>`.
39typedef struct MR_UiRenderParams MR_UiRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
40typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
41typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
42typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
43typedef struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId; // Defined in `#include <MRCMesh/MRVector.h>`.
44typedef struct MR_VertColors MR_VertColors; // Defined in `#include <MRCMesh/MRVector.h>`.
45typedef struct MR_VertCoords2 MR_VertCoords2; // Defined in `#include <MRCMesh/MRVector.h>`.
46typedef struct MR_VertMap MR_VertMap; // Defined in `#include <MRCMesh/MRVector.h>`.
47typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
48typedef struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
49typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
50typedef struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
51typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
52typedef struct MR_VolumeIndexer MR_VolumeIndexer; // Defined in `#include <MRCMesh/MRVolumeIndexer.h>`.
53typedef struct MR_VoxelBitSet MR_VoxelBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
54typedef struct MR_expected_bool_std_string MR_expected_bool_std_string; // Defined in `#include <MRCMisc/expected_bool_std_string.h>`.
55typedef struct MR_expected_std_shared_ptr_MR_Mesh_std_string MR_expected_std_shared_ptr_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_std_shared_ptr_MR_Mesh_std_string.h>`.
56typedef struct MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float; // Defined in `#include <MRCMisc/std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float.h>`.
57typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
58typedef struct MR_std_optional_MR_Vector2f MR_std_optional_MR_Vector2f; // Defined in `#include <MRCMisc/std_optional_MR_Vector2f.h>`.
59typedef struct MR_std_set_std_string MR_std_set_std_string; // Defined in `#include <MRCMisc/std_set_std_string.h>`.
60typedef struct MR_std_shared_ptr_MR_Mesh MR_std_shared_ptr_MR_Mesh; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Mesh.h>`.
61typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
62typedef struct MR_std_shared_ptr_const_MR_Mesh MR_std_shared_ptr_const_MR_Mesh; // Defined in `#include <MRCMisc/std_shared_ptr_const_MR_Mesh.h>`.
63typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
64typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
65typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
66
67
68// shading model
75
76// coloring type
83
84// type of alpha function on texture
91
92// struct to control volume rendering texture
96
107typedef struct MR_ObjectVoxels MR_ObjectVoxels;
108
112
117
121
125
130
134
140
145
150
154
160
165
171
176
184
191
196
200
206
211
217
222
230
237
242
246
252
257
263
268
276
283
288
291
294
302
305
309
312
317
320
325
328MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor);
329
335
341
346
352
356
362
367
373
378
383
395MRC_API void MR_ObjectVoxels_construct_4(MR_ObjectVoxels *_this, const MR_SimpleVolume *simpleVolume, const MR_std_optional_MR_Vector2f *minmax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad);
396
405MRC_API void MR_ObjectVoxels_construct_3_MR_SimpleVolumeMinMax(MR_ObjectVoxels *_this, const MR_SimpleVolumeMinMax *simpleVolumeMinMax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad);
406
416
422
429
438
445
452
459
466
474
482
487
494MRC_API void MR_ObjectVoxels_setDualMarchingCubes(MR_ObjectVoxels *_this, bool on, const bool *updateSurface, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
495
500
509MRC_API void MR_ObjectVoxels_setActiveBounds(MR_ObjectVoxels *_this, const MR_Box3i *activeBox, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *updateSurface);
510
517
522
527
532
538
544
552
557
561
567
568// prepare data for volume rendering
569// returns false if canceled or voxel data is empty
574
578
579// this function should only be called from GUI thread because it changes rendering object,
580// it can take some time to prepare data, so you can prepare data with progress callback
581// by calling `prepareDataForVolumeRendering(cb)` function before calling this one
585
586// move volume rendering data to caller: basically used in RenderVolumeObject
590MRC_API MR_SimpleVolume *MR_ObjectVoxels_getVolumeRenderingData(const MR_ObjectVoxels *_this);
591
595MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_getVolumeRenderingParams(const MR_ObjectVoxels *_this);
596
600MRC_API void MR_ObjectVoxels_setVolumeRenderingParams(MR_ObjectVoxels *_this, const MR_ObjectVoxels_VolumeRenderingParams *params);
601
604MRC_API bool MR_ObjectVoxels_hasVisualRepresentation(const MR_ObjectVoxels *_this);
605
609MRC_API void MR_ObjectVoxels_setMaxSurfaceVertices(MR_ObjectVoxels *_this, int maxVerts);
610
614MRC_API int MR_ObjectVoxels_getMaxSurfaceVertices(const MR_ObjectVoxels *_this);
615
619MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_clone(const MR_ObjectVoxels *_this);
620
624MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowClone(const MR_ObjectVoxels *_this);
625
629MRC_API void MR_ObjectVoxels_setDirtyFlags(MR_ObjectVoxels *_this, unsigned int mask, const bool *invalidateCaches);
630
634MRC_API MR_uint64_t MR_ObjectVoxels_activeVoxels(const MR_ObjectVoxels *_this);
635
639MRC_API MR_uint64_t MR_ObjectVoxels_heapBytes(const MR_ObjectVoxels *_this);
640
644MRC_API const char *MR_ObjectVoxels_serializeFormat(const MR_ObjectVoxels *_this);
645
650MRC_API void MR_ObjectVoxels_setSerializeFormat(MR_ObjectVoxels *_this, const char *newFormat);
651
655MRC_API void MR_ObjectVoxels_resetFrontColor(MR_ObjectVoxels *_this);
656
660MRC_API const MR_std_shared_ptr_const_MR_Mesh *MR_ObjectVoxels_mesh(const MR_ObjectVoxels *_this);
661
666MRC_API MR_MeshPart *MR_ObjectVoxels_meshPart(const MR_ObjectVoxels *_this);
667
673MRC_API void MR_ObjectVoxels_setDirtyFlagsFast(MR_ObjectVoxels *_this, unsigned int mask);
674
678MRC_API void MR_ObjectVoxels_invalidateMetricsCache(MR_ObjectVoxels *_this, unsigned int mask);
679
683MRC_API const MR_FaceBitSet *MR_ObjectVoxels_getSelectedFaces(const MR_ObjectVoxels *_this);
684
687MRC_API void MR_ObjectVoxels_selectFaces(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection);
688
694MRC_API const MR_Color *MR_ObjectVoxels_getSelectedFacesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
695
701MRC_API void MR_ObjectVoxels_setSelectedFacesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
702
706MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_getSelectedEdges(const MR_ObjectVoxels *_this);
707
710MRC_API void MR_ObjectVoxels_selectEdges(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection);
711
717MRC_API const MR_Color *MR_ObjectVoxels_getSelectedEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
718
724MRC_API void MR_ObjectVoxels_setSelectedEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
725
729MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
730
733MRC_API void MR_ObjectVoxels_setSelectedEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
734
738MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedFacesColorsForAllViewports(const MR_ObjectVoxels *_this);
739
742MRC_API void MR_ObjectVoxels_setSelectedFacesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
743
747MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
748
751MRC_API void MR_ObjectVoxels_setEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
752
756MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getPointsColorsForAllViewports(const MR_ObjectVoxels *_this);
757
760MRC_API void MR_ObjectVoxels_setPointsColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
761
765MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBordersColorsForAllViewports(const MR_ObjectVoxels *_this);
766
769MRC_API void MR_ObjectVoxels_setBordersColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
770
775MRC_API void MR_ObjectVoxels_copyAllSolidColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *other);
776
781MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_creases(const MR_ObjectVoxels *_this);
782
785MRC_API void MR_ObjectVoxels_setCreases(MR_ObjectVoxels *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases);
786
790MRC_API void MR_ObjectVoxels_setFlatShading(MR_ObjectVoxels *_this, bool on);
791
794MRC_API bool MR_ObjectVoxels_flatShading(const MR_ObjectVoxels *_this);
795
799MRC_API bool MR_ObjectVoxels_supportsVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
800
805MRC_API MR_std_vector_MR_ViewportMask *MR_ObjectVoxels_getAllVisualizeProperties(const MR_ObjectVoxels *_this);
806
812MRC_API const MR_ViewportMask *MR_ObjectVoxels_getVisualizePropertyMask(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
813
818MRC_API const MR_ObjectMeshData *MR_ObjectVoxels_data(const MR_ObjectVoxels *_this);
819
826MRC_API void MR_ObjectVoxels_setData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
827
832MRC_API void MR_ObjectVoxels_updateData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
833
838MRC_API const MR_VertColors *MR_ObjectVoxels_getVertsColorMap(const MR_ObjectVoxels *_this);
839
843MRC_API void MR_ObjectVoxels_setVertsColorMap(MR_ObjectVoxels *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap);
844
849MRC_API void MR_ObjectVoxels_updateVertsColorMap(MR_ObjectVoxels *_this, MR_VertColors *vertsColorMap);
850
854MRC_API const MR_FaceColors *MR_ObjectVoxels_getFacesColorMap(const MR_ObjectVoxels *_this);
855
858MRC_API void MR_ObjectVoxels_setFacesColorMap(MR_ObjectVoxels *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap);
859
863MRC_API void MR_ObjectVoxels_updateFacesColorMap(MR_ObjectVoxels *_this, MR_FaceColors *updated);
864
867MRC_API void MR_ObjectVoxels_setEdgeWidth(MR_ObjectVoxels *_this, float edgeWidth);
868
871MRC_API float MR_ObjectVoxels_getEdgeWidth(const MR_ObjectVoxels *_this);
872
875MRC_API void MR_ObjectVoxels_setPointSize(MR_ObjectVoxels *_this, float size);
876
879MRC_API float MR_ObjectVoxels_getPointSize(const MR_ObjectVoxels *_this);
880
885MRC_API const MR_Color *MR_ObjectVoxels_getEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
886
891MRC_API void MR_ObjectVoxels_setEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
892
897MRC_API const MR_Color *MR_ObjectVoxels_getPointsColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
898
903MRC_API void MR_ObjectVoxels_setPointsColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
904
909MRC_API const MR_Color *MR_ObjectVoxels_getBordersColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
910
915MRC_API void MR_ObjectVoxels_setBordersColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
916
921MRC_API const MR_MeshTexture *MR_ObjectVoxels_getTexture(const MR_ObjectVoxels *_this);
922
926MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId *MR_ObjectVoxels_getTextures(const MR_ObjectVoxels *_this);
927
930MRC_API void MR_ObjectVoxels_setTextures(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture);
931
935MRC_API void MR_ObjectVoxels_updateTextures(MR_ObjectVoxels *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated);
936
941MRC_API void MR_ObjectVoxels_setTexturePerFace(MR_ObjectVoxels *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace);
942
946MRC_API void MR_ObjectVoxels_updateTexturePerFace(MR_ObjectVoxels *_this, MR_TexturePerFace *texturePerFace);
947
950MRC_API void MR_ObjectVoxels_addTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
951
955MRC_API const MR_TexturePerFace *MR_ObjectVoxels_getTexturePerFace(const MR_ObjectVoxels *_this);
956
960MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getUVCoords(const MR_ObjectVoxels *_this);
961
964MRC_API void MR_ObjectVoxels_setUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
965
969MRC_API void MR_ObjectVoxels_updateUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
970
978MRC_API void MR_ObjectVoxels_copyTextureAndColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
979
987MRC_API void MR_ObjectVoxels_copyColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
988
989// ancillary texture can be used to have custom features visualization without affecting real one
993MRC_API const MR_MeshTexture *MR_ObjectVoxels_getAncillaryTexture(const MR_ObjectVoxels *_this);
994
997MRC_API void MR_ObjectVoxels_setAncillaryTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
998
1002MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getAncillaryUVCoords(const MR_ObjectVoxels *_this);
1003
1006MRC_API void MR_ObjectVoxels_setAncillaryUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
1007
1011MRC_API void MR_ObjectVoxels_updateAncillaryUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
1012
1015MRC_API bool MR_ObjectVoxels_hasAncillaryTexture(const MR_ObjectVoxels *_this);
1016
1019MRC_API void MR_ObjectVoxels_clearAncillaryTexture(MR_ObjectVoxels *_this);
1020
1024MRC_API bool MR_ObjectVoxels_getRedrawFlag(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1025
1029MRC_API bool MR_ObjectVoxels_isMeshClosed(const MR_ObjectVoxels *_this);
1030
1036MRC_API MR_Box3f MR_ObjectVoxels_getWorldBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1037
1041MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedFaces(const MR_ObjectVoxels *_this);
1042
1046MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedEdges(const MR_ObjectVoxels *_this);
1047
1051MRC_API MR_uint64_t MR_ObjectVoxels_numCreaseEdges(const MR_ObjectVoxels *_this);
1052
1056MRC_API double MR_ObjectVoxels_totalArea(const MR_ObjectVoxels *_this);
1057
1061MRC_API double MR_ObjectVoxels_selectedArea(const MR_ObjectVoxels *_this);
1062
1066MRC_API double MR_ObjectVoxels_volume(const MR_ObjectVoxels *_this);
1067
1071MRC_API float MR_ObjectVoxels_avgEdgeLen(const MR_ObjectVoxels *_this);
1072
1076MRC_API MR_uint64_t MR_ObjectVoxels_numUndirectedEdges(const MR_ObjectVoxels *_this);
1077
1081MRC_API MR_uint64_t MR_ObjectVoxels_numHoles(const MR_ObjectVoxels *_this);
1082
1086MRC_API MR_uint64_t MR_ObjectVoxels_numComponents(const MR_ObjectVoxels *_this);
1087
1091MRC_API MR_uint64_t MR_ObjectVoxels_numHandles(const MR_ObjectVoxels *_this);
1092
1096MRC_API const char *MR_ObjectVoxels_actualSerializeFormat(const MR_ObjectVoxels *_this);
1097
1101MRC_API void MR_ObjectVoxels_resetColors(MR_ObjectVoxels *_this);
1102
1105MRC_API MR_uint64_t MR_ObjectVoxels_getModelHash(const MR_ObjectVoxels *_this);
1106
1110MRC_API bool MR_ObjectVoxels_sameModels(const MR_ObjectVoxels *_this, const MR_Object *other);
1111
1117MRC_API void MR_ObjectVoxels_setVisualizeProperty(MR_ObjectVoxels *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1118
1124MRC_API void MR_ObjectVoxels_setVisualizePropertyMask(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1125
1131MRC_API bool MR_ObjectVoxels_getVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1132
1138MRC_API void MR_ObjectVoxels_toggleVisualizeProperty(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1139
1144MRC_API void MR_ObjectVoxels_setAllVisualizeProperties(MR_ObjectVoxels *_this, const MR_std_vector_MR_ViewportMask *properties);
1145
1150MRC_API MR_ViewportMask *MR_ObjectVoxels_globalClippedByPlaneMask(const MR_ObjectVoxels *_this);
1151
1157MRC_API bool MR_ObjectVoxels_globalClippedByPlane(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1158
1164MRC_API void MR_ObjectVoxels_setGlobalClippedByPlane(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1165
1172MRC_API const MR_Color *MR_ObjectVoxels_getFrontColor(const MR_ObjectVoxels *_this, const bool *selected, const MR_ViewportId *viewportId);
1173
1179MRC_API void MR_ObjectVoxels_setFrontColor(MR_ObjectVoxels *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
1180
1186MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getFrontColorsForAllViewports(const MR_ObjectVoxels *_this, const bool *selected);
1187
1192MRC_API void MR_ObjectVoxels_setFrontColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected);
1193
1198MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBackColorsForAllViewports(const MR_ObjectVoxels *_this);
1199
1203MRC_API void MR_ObjectVoxels_setBackColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
1204
1210MRC_API const MR_Color *MR_ObjectVoxels_getBackColor(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1211
1217MRC_API void MR_ObjectVoxels_setBackColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *viewportId);
1218
1224MRC_API const unsigned char *MR_ObjectVoxels_getGlobalAlpha(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1225
1230MRC_API void MR_ObjectVoxels_setGlobalAlpha(MR_ObjectVoxels *_this, unsigned char alpha, const MR_ViewportId *viewportId);
1231
1236MRC_API const MR_ViewportProperty_unsigned_char *MR_ObjectVoxels_getGlobalAlphaForAllViewports(const MR_ObjectVoxels *_this);
1237
1241MRC_API void MR_ObjectVoxels_setGlobalAlphaForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val);
1242
1246MRC_API unsigned int MR_ObjectVoxels_getDirtyFlags(const MR_ObjectVoxels *_this);
1247
1251MRC_API void MR_ObjectVoxels_resetDirty(const MR_ObjectVoxels *_this);
1252
1256MRC_API void MR_ObjectVoxels_resetDirtyExceptMask(const MR_ObjectVoxels *_this, unsigned int mask);
1257
1261MRC_API MR_Box3f MR_ObjectVoxels_getBoundingBox(const MR_ObjectVoxels *_this);
1262
1268MRC_API bool MR_ObjectVoxels_isPickable(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1269
1275MRC_API void MR_ObjectVoxels_setPickable(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1276
1280MRC_API MR_ColoringType MR_ObjectVoxels_getColoringType(const MR_ObjectVoxels *_this);
1281
1285MRC_API void MR_ObjectVoxels_setColoringType(MR_ObjectVoxels *_this, MR_ColoringType coloringType);
1286
1290MRC_API float MR_ObjectVoxels_getShininess(const MR_ObjectVoxels *_this);
1291
1295MRC_API void MR_ObjectVoxels_setShininess(MR_ObjectVoxels *_this, float shininess);
1296
1300MRC_API float MR_ObjectVoxels_getSpecularStrength(const MR_ObjectVoxels *_this);
1301
1305MRC_API void MR_ObjectVoxels_setSpecularStrength(MR_ObjectVoxels *_this, float specularStrength);
1306
1310MRC_API float MR_ObjectVoxels_getAmbientStrength(const MR_ObjectVoxels *_this);
1311
1315MRC_API void MR_ObjectVoxels_setAmbientStrength(MR_ObjectVoxels *_this, float ambientStrength);
1316
1322MRC_API bool MR_ObjectVoxels_render(const MR_ObjectVoxels *_this, const MR_ModelRenderParams *_1);
1323
1328MRC_API void MR_ObjectVoxels_renderForPicker(const MR_ObjectVoxels *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2);
1329
1334MRC_API void MR_ObjectVoxels_renderUi(const MR_ObjectVoxels *_this, const MR_UiRenderParams *params);
1335
1340MRC_API bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(const MR_ObjectVoxels *_this);
1341
1346MRC_API void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(MR_ObjectVoxels *_this, bool useDefaultScenePropertiesOnDeserialization);
1347
1351MRC_API const MR_std_string *MR_ObjectVoxels_name(const MR_ObjectVoxels *_this);
1352
1357MRC_API void MR_ObjectVoxels_setName(MR_ObjectVoxels *_this, const char *name, const char *name_end);
1358
1366MRC_API const MR_AffineXf3f *MR_ObjectVoxels_xf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1367
1372MRC_API void MR_ObjectVoxels_setXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1373
1378MRC_API void MR_ObjectVoxels_resetXf(MR_ObjectVoxels *_this, const MR_ViewportId *id);
1379
1384MRC_API const MR_ViewportProperty_MR_AffineXf3f *MR_ObjectVoxels_xfsForAllViewports(const MR_ObjectVoxels *_this);
1385
1389MRC_API void MR_ObjectVoxels_setXfsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf);
1390
1397MRC_API MR_AffineXf3f MR_ObjectVoxels_worldXf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1398
1403MRC_API void MR_ObjectVoxels_setWorldXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1404
1409MRC_API MR_ViewportMask *MR_ObjectVoxels_globalVisibilityMask(const MR_ObjectVoxels *_this);
1410
1416MRC_API bool MR_ObjectVoxels_globalVisibility(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1417
1423MRC_API void MR_ObjectVoxels_setGlobalVisibility(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1424
1428MRC_API bool MR_ObjectVoxels_isLocked(const MR_ObjectVoxels *_this);
1429
1432MRC_API void MR_ObjectVoxels_setLocked(MR_ObjectVoxels *_this, bool on);
1433
1438MRC_API bool MR_ObjectVoxels_isParentLocked(const MR_ObjectVoxels *_this);
1439
1442MRC_API void MR_ObjectVoxels_setParentLocked(MR_ObjectVoxels *_this, bool lock);
1443
1447MRC_API bool MR_ObjectVoxels_isAncestor(const MR_ObjectVoxels *_this, const MR_Object *ancestor);
1448
1453MRC_API bool MR_ObjectVoxels_detachFromParent(MR_ObjectVoxels *_this);
1454
1462MRC_API bool MR_ObjectVoxels_addChild(MR_ObjectVoxels *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
1463
1470MRC_API bool MR_ObjectVoxels_addChildBefore(MR_ObjectVoxels *_this, MR_PassBy newChild_pass_by, MR_std_shared_ptr_MR_Object *newChild, const MR_std_shared_ptr_MR_Object *existingChild);
1471
1475MRC_API void MR_ObjectVoxels_removeAllChildren(MR_ObjectVoxels *_this);
1476
1480MRC_API void MR_ObjectVoxels_sortChildren(MR_ObjectVoxels *_this);
1481
1485MRC_API bool MR_ObjectVoxels_select(MR_ObjectVoxels *_this, bool on);
1486
1489MRC_API bool MR_ObjectVoxels_isSelected(const MR_ObjectVoxels *_this);
1490
1495MRC_API void MR_ObjectVoxels_setAncillary(MR_ObjectVoxels *_this, bool ancillary);
1496
1499MRC_API bool MR_ObjectVoxels_isAncillary(const MR_ObjectVoxels *_this);
1500
1504MRC_API bool MR_ObjectVoxels_isGlobalAncillary(const MR_ObjectVoxels *_this);
1505
1511MRC_API void MR_ObjectVoxels_setVisible(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1512
1518MRC_API bool MR_ObjectVoxels_isVisible(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1519
1524MRC_API void MR_ObjectVoxels_setVisibilityMask(MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1525
1530MRC_API MR_ViewportMask *MR_ObjectVoxels_visibilityMask(const MR_ObjectVoxels *_this);
1531
1534MRC_API void MR_ObjectVoxels_resetRedrawFlag(const MR_ObjectVoxels *_this);
1535
1540MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_cloneTree(const MR_ObjectVoxels *_this);
1541
1547MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowCloneTree(const MR_ObjectVoxels *_this);
1548
1555MRC_API void MR_ObjectVoxels_swap(MR_ObjectVoxels *_this, MR_Object *other);
1556
1562MRC_API MR_Box3f MR_ObjectVoxels_getWorldTreeBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1563
1569MRC_API const MR_std_set_std_string *MR_ObjectVoxels_tags(const MR_ObjectVoxels *_this);
1570
1578MRC_API bool MR_ObjectVoxels_addTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1579
1586MRC_API bool MR_ObjectVoxels_removeTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1587
1588// returns this Object as shared_ptr
1589// finds it among its parent's recognized children
1593MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_getSharedPtr(const MR_ObjectVoxels *_this);
1594
1595// volume texture smoothing
1600MRC_API const MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_Get_volumeFilterType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1601
1602// volume texture smoothing
1607MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_FilterType value);
1608
1609// volume texture smoothing
1614MRC_API MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1615
1620MRC_API const MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_Get_shadingType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1621
1626MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_ShadingType value);
1627
1632MRC_API MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1633
1638MRC_API const MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_Get_lutType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1639
1644MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_LutType value);
1645
1650MRC_API MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1651
1652// color that is used for OneColor mode
1657MRC_API const MR_Color *MR_ObjectVoxels_VolumeRenderingParams_Get_oneColor(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1658
1659// color that is used for OneColor mode
1664MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_Color value);
1665
1666// color that is used for OneColor mode
1671MRC_API MR_Color *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this);
1672
1673// minimum colored value (voxels with lower values are transparent)
1678MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_min(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1679
1680// minimum colored value (voxels with lower values are transparent)
1684MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_min(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1685
1686// minimum colored value (voxels with lower values are transparent)
1691MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_min(MR_ObjectVoxels_VolumeRenderingParams *_this);
1692
1693// maximum colored value (voxels with higher values are transparent)
1698MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_max(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1699
1700// maximum colored value (voxels with higher values are transparent)
1704MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_max(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1705
1706// maximum colored value (voxels with higher values are transparent)
1711MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_max(MR_ObjectVoxels_VolumeRenderingParams *_this);
1712
1713// step to sample each ray with
1714// if <= 0 then default sampling is used
1719MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_samplingStep(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1720
1721// step to sample each ray with
1722// if <= 0 then default sampling is used
1726MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1727
1728// step to sample each ray with
1729// if <= 0 then default sampling is used
1734MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this);
1735
1740MRC_API const MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1741
1746MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_AlphaType value);
1747
1752MRC_API MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1753
1758MRC_API const unsigned char *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaLimit(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1759
1764MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this, unsigned char value);
1765
1770MRC_API unsigned char *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this);
1771
1774MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstruct(void);
1775
1779MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstructArray(size_t num_elems);
1780
1790MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFrom(MR_FilterType volumeFilterType, MR_ObjectVoxels_VolumeRenderingParams_ShadingType shadingType, MR_ObjectVoxels_VolumeRenderingParams_LutType lutType, MR_Color oneColor, float min, float max, float samplingStep, MR_ObjectVoxels_VolumeRenderingParams_AlphaType alphaType, unsigned char alphaLimit);
1791
1794MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetPtr(const MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1795
1798MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetMutablePtr(MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1799
1804MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFromAnother(const MR_ObjectVoxels_VolumeRenderingParams *_other);
1805
1807MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Destroy(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1808
1810MRC_API void MR_ObjectVoxels_VolumeRenderingParams_DestroyArray(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1811
1818MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_AssignFromAnother(MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_other);
1819
1823MRC_API bool MR_equal_MR_ObjectVoxels_VolumeRenderingParams(const MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_1);
1824
1829MRC_API const MR_std_string *MR_defaultSerializeVoxelsFormat(void);
1830
1836MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end);
1837
1838#ifdef __cplusplus
1839} // extern "C"
1840#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:24
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams
Definition MRAddVisualPropertiesMixin.h:23
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_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_VertMap MR_VertMap
std::vector<T>-like container that requires specific indexing type,
Definition MRBitSet.h:40
struct MR_VoxelBitSet MR_VoxelBitSet
Definition MRBitSet.h:111
struct MR_FaceMap MR_FaceMap
std::vector<T>-like container that requires specific indexing type,
Definition MRBitSet.h:26
struct MR_std_optional_MR_Vector2f MR_std_optional_MR_Vector2f
Definition MRCNCMachineSettings.h:15
struct MR_FaceColors MR_FaceColors
std::vector<T>-like container that requires specific indexing type,
Definition MRChangeColoringActions.h:13
struct MR_std_shared_ptr_MR_Mesh MR_std_shared_ptr_MR_Mesh
Definition MRChangeMeshAction.h:19
struct MR_TexturePerFace MR_TexturePerFace
std::vector<T>-like container that requires specific indexing type,
Definition MRChangeMeshAction.h:15
struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId
std::vector<T>-like container that requires specific indexing type,
Definition MRChangeMeshAction.h:16
struct MR_ObjectMeshData MR_ObjectMeshData
Definition MRChangeMeshDataAction.h:15
struct MR_VertColors MR_VertColors
std::vector<T>-like container that requires specific indexing type,
Definition MRCtm.h:22
struct MR_std_string MR_std_string
Definition MRCtm.h:32
struct MR_MeshTexture MR_MeshTexture
Definition MRCtm.h:18
struct MR_VertCoords2 MR_VertCoords2
std::vector<T>-like container that requires specific indexing type,
Definition MRCtm.h:23
MR_ColoringType
Definition MREnums.h:94
char MR_FilterType
Definition MREnums.h:12
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_Histogram MR_Histogram
Definition MRHistogram.h:19
struct MR_expected_bool_std_string MR_expected_bool_std_string
Definition MRMeshCollide.h:18
struct MR_std_shared_ptr_const_MR_Mesh MR_std_shared_ptr_const_MR_Mesh
Definition MRMeshSaveObj.h:16
struct MR_std_vector_std_string MR_std_vector_std_string
Definition MRNesting3mfExport.h:18
struct MR_ObjectMeshHolder MR_ObjectMeshHolder
Definition MRObjectDistanceMap.h:29
MRC_API const MR_ObjectMeshHolder * MR_ObjectVoxels_UpcastTo_MR_ObjectMeshHolder(const MR_ObjectVoxels *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_OffsetMutablePtr(MR_ObjectVoxels *ptr, ptrdiff_t i)
MR_ObjectVoxels_VolumeRenderingParams_LutType
Definition MRObjectVoxels.h:78
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_OneColor
Definition MRObjectVoxels.h:81
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_Rainbow
Definition MRObjectVoxels.h:80
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_GrayShades
Definition MRObjectVoxels.h:79
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_DefaultConstruct(void)
MRC_API const MR_VdbVolume * MR_ObjectVoxels_vdbVolume(const MR_ObjectVoxels *_this)
MRC_API const char * MR_ObjectVoxels_typeName(const MR_ObjectVoxels *_this)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_StaticDowncastFrom_MR_ObjectMeshHolder(const MR_ObjectMeshHolder *object)
MRC_API MR_VoxelId MR_ObjectVoxels_getVoxelIdByPoint(const MR_ObjectVoxels *_this, const MR_Vector3f *point)
MRC_API bool MR_ObjectVoxels_isVolumeRenderingEnabled(const MR_ObjectVoxels *_this)
MRC_API MR_expected_std_shared_ptr_MR_Mesh_std_string * MR_ObjectVoxels_recalculateIsoSurface_2(const MR_ObjectVoxels *_this, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_construct_1(MR_ObjectVoxels *_this, const MR_VdbVolume *vdbVolume)
MRC_API MR_Object * MR_ObjectVoxels_MutableUpcastTo_MR_Object(MR_ObjectVoxels *object)
MRC_API bool MR_ObjectVoxels_prepareDataForVolumeRendering(const MR_ObjectVoxels *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_setDualMarchingCubes(MR_ObjectVoxels *_this, bool on, const bool *updateSurface, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_enableVolumeRendering(MR_ObjectVoxels *_this, bool on)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFromOrFail_MR_ObjectMeshHolder(const MR_ObjectMeshHolder *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFromOrFail_MR_ObjectMeshHolder(MR_ObjectMeshHolder *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_DefaultConstructArray(size_t num_elems)
struct MR_ObjectVoxels_VolumeRenderingParams MR_ObjectVoxels_VolumeRenderingParams
Definition MRObjectVoxels.h:95
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableStaticDowncastFrom_MR_ObjectMeshHolder(MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectVoxels_DestroyArray(const MR_ObjectVoxels *_this)
Destroys a heap-allocated array of MR_ObjectVoxels. Does nothing if the pointer is null.
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFromOrFail_MR_VisualObject(const MR_VisualObject *object)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_StaticDowncastFrom_MR_VisualObject(const MR_VisualObject *object)
MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor)
MRC_API const MR_VoxelBitSet * MR_ObjectVoxels_getSelectedVoxels(const MR_ObjectVoxels *_this)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFromOrFail_MR_VisualObject(MR_VisualObject *object)
MRC_API MR_Vector3i MR_ObjectVoxels_getCoordinateByVoxelId(const MR_ObjectVoxels *_this, MR_VoxelId id)
MRC_API void MR_ObjectVoxels_invalidateActiveBoundsCaches(MR_ObjectVoxels *_this)
MRC_API MR_VdbVolume * MR_ObjectVoxels_varVdbVolume(MR_ObjectVoxels *_this)
MRC_API const MR_Object * MR_ObjectVoxels_UpcastTo_MR_Object(const MR_ObjectVoxels *object)
MRC_API const MR_Box3i * MR_ObjectVoxels_getActiveBounds(const MR_ObjectVoxels *_this)
MRC_API void MR_ObjectVoxels_construct_3_MR_FloatGrid(MR_ObjectVoxels *_this, const MR_FloatGrid *grid, const MR_Vector3f *voxelSize, const MR_std_optional_MR_Vector2f *minmax)
MRC_API float MR_ObjectVoxels_getIsoValue(const MR_ObjectVoxels *_this)
MRC_API MR_VisualObject * MR_ObjectVoxels_MutableUpcastTo_MR_VisualObject(MR_ObjectVoxels *object)
MRC_API void MR_ObjectVoxels_setVoxelPointPositioner(MR_ObjectVoxels *_this, MR_PassBy positioner_pass_by, MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float *positioner)
MRC_API const MR_VoxelBitSet * MR_ObjectVoxels_getVolumeRenderActiveVoxels(const MR_ObjectVoxels *_this)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFrom_MR_ObjectMeshHolder(MR_ObjectMeshHolder *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableStaticDowncastFrom_MR_Object(MR_Object *object)
MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end)
MRC_API MR_ObjectMeshHolder * MR_ObjectVoxels_MutableUpcastTo_MR_ObjectMeshHolder(MR_ObjectVoxels *object)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFromOrFail_MR_Object(const MR_Object *object)
MR_ObjectVoxels_VolumeRenderingParams_ShadingType
Definition MRObjectVoxels.h:70
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_ValueGradient
Definition MRObjectVoxels.h:72
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_AlphaGradient
Definition MRObjectVoxels.h:73
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_None
Definition MRObjectVoxels.h:71
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFrom_MR_Object(MR_Object *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFromOrFail_MR_Object(MR_Object *object)
MRC_API const char * MR_ObjectVoxels_StaticTypeName(void)
Generated from method MR::ObjectVoxels::StaticTypeName.
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableStaticDowncastFrom_MR_ObjectChildrenHolder(MR_ObjectChildrenHolder *object)
MRC_API void MR_ObjectVoxels_updateHistogramAndSurface(MR_ObjectVoxels *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFrom_MR_Object(const MR_Object *object)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFrom_MR_ObjectMeshHolder(const MR_ObjectMeshHolder *object)
MRC_API void MR_ObjectVoxels_setActiveBounds(MR_ObjectVoxels *_this, const MR_Box3i *activeBox, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *updateSurface)
MRC_API const MR_VolumeIndexer * MR_ObjectVoxels_getVolumeIndexer(const MR_ObjectVoxels *_this)
MRC_API MR_std_string * MR_ObjectVoxels_classNameInPlural(const MR_ObjectVoxels *_this)
MRC_API MR_VdbVolume * MR_ObjectVoxels_updateVdbVolume(MR_ObjectVoxels *_this, MR_PassBy vdbVolume_pass_by, MR_VdbVolume *vdbVolume)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_StaticDowncastFrom_MR_ObjectChildrenHolder(const MR_ObjectChildrenHolder *object)
MRC_API void MR_ObjectVoxels_construct_3_MR_SimpleVolumeMinMax(MR_ObjectVoxels *_this, const MR_SimpleVolumeMinMax *simpleVolumeMinMax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad)
MRC_API MR_std_vector_std_string * MR_ObjectVoxels_getInfoLines(const MR_ObjectVoxels *_this)
MRC_API bool MR_ObjectVoxels_hasModel(const MR_ObjectVoxels *_this)
MRC_API const MR_FloatGrid * MR_ObjectVoxels_grid(const MR_ObjectVoxels *_this)
MRC_API const MR_Vector3f * MR_ObjectVoxels_voxelSize(const MR_ObjectVoxels *_this)
MRC_API MR_expected_std_shared_ptr_MR_Mesh_std_string * MR_ObjectVoxels_recalculateIsoSurface_3(const MR_ObjectVoxels *_this, const MR_VdbVolume *volume, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Histogram * MR_ObjectVoxels_histogram(const MR_ObjectVoxels *_this)
MRC_API void MR_ObjectVoxels_selectVoxels(MR_ObjectVoxels *_this, const MR_VoxelBitSet *selectedVoxels)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_OffsetPtr(const MR_ObjectVoxels *ptr, ptrdiff_t i)
MRC_API void MR_ObjectVoxels_construct_4(MR_ObjectVoxels *_this, const MR_SimpleVolume *simpleVolume, const MR_std_optional_MR_Vector2f *minmax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad)
MRC_API const char * MR_ObjectVoxels_StaticClassNameInPlural(void)
Generated from method MR::ObjectVoxels::StaticClassNameInPlural.
MRC_API MR_Histogram * MR_ObjectVoxels_recalculateHistogram(const MR_ObjectVoxels *_this, const MR_Vector2f *minmax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Vector3i * MR_ObjectVoxels_dimensions(const MR_ObjectVoxels *_this)
MRC_API const MR_ObjectChildrenHolder * MR_ObjectVoxels_UpcastTo_MR_ObjectChildrenHolder(const MR_ObjectVoxels *object)
MRC_API MR_std_shared_ptr_MR_Mesh * MR_ObjectVoxels_updateIsoSurface(MR_ObjectVoxels *_this, MR_PassBy mesh_pass_by, MR_std_shared_ptr_MR_Mesh *mesh)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableDynamicDowncastFrom_MR_VisualObject(MR_VisualObject *object)
MRC_API MR_std_string * MR_ObjectVoxels_className(const MR_ObjectVoxels *_this)
MRC_API MR_VoxelId MR_ObjectVoxels_getVoxelIdByCoordinate(const MR_ObjectVoxels *_this, const MR_Vector3i *coord)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_StaticDowncastFrom_MR_Object(const MR_Object *object)
MRC_API MR_expected_bool_std_string * MR_ObjectVoxels_setIsoValue(MR_ObjectVoxels *_this, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *updateSurface)
MRC_API void MR_ObjectVoxels_Destroy(const MR_ObjectVoxels *_this)
Destroys a heap-allocated instance of MR_ObjectVoxels. Does nothing if the pointer is null.
MRC_API bool MR_ObjectVoxels_getDualMarchingCubes(const MR_ObjectVoxels *_this)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_DynamicDowncastFrom_MR_VisualObject(const MR_VisualObject *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ObjectVoxels *_other)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_AssignFromAnother(MR_ObjectVoxels *_this, MR_PassBy _other_pass_by, MR_ObjectVoxels *_other)
MRC_API void MR_ObjectVoxels_setVolumeRenderActiveVoxels(MR_ObjectVoxels *_this, const MR_VoxelBitSet *activeVoxels)
MRC_API MR_ObjectChildrenHolder * MR_ObjectVoxels_MutableUpcastTo_MR_ObjectChildrenHolder(MR_ObjectVoxels *object)
MRC_API const char * MR_ObjectVoxels_StaticClassName(void)
Generated from method MR::ObjectVoxels::StaticClassName.
MRC_API MR_Histogram * MR_ObjectVoxels_updateHistogram(MR_ObjectVoxels *_this, MR_PassBy histogram_pass_by, MR_Histogram *histogram)
MR_ObjectVoxels_VolumeRenderingParams_AlphaType
Definition MRObjectVoxels.h:86
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearDecreasing
Definition MRObjectVoxels.h:89
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearIncreasing
Definition MRObjectVoxels.h:88
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_Constant
Definition MRObjectVoxels.h:87
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_MutableStaticDowncastFrom_MR_VisualObject(MR_VisualObject *object)
MRC_API const MR_VisualObject * MR_ObjectVoxels_UpcastTo_MR_VisualObject(const MR_ObjectVoxels *object)
MRC_API const MR_std_shared_ptr_MR_Mesh * MR_ObjectVoxels_surface(const MR_ObjectVoxels *_this)
struct MR_VolumeIndexer MR_VolumeIndexer
Definition MRVolumeIndexer.h:38
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:13
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition expected_MR_SimpleVolumeMinMax_std_string.h:13
struct MR_SimpleVolume MR_SimpleVolume
Definition expected_MR_SimpleVolume_std_string.h:13
struct MR_VdbVolume MR_VdbVolume
Definition expected_MR_VdbVolume_std_string.h:13
struct MR_expected_std_shared_ptr_MR_Mesh_std_string MR_expected_std_shared_ptr_MR_Mesh_std_string
Definition expected_std_shared_ptr_MR_Mesh_std_string.h:19
#define MRC_API
Definition include/MRCMisc/exports.h:11
struct MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float
Definition std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float.h:17
struct MR_ObjectVoxels MR_ObjectVoxels
Definition std_shared_ptr_MR_ObjectVoxels.h:13
Definition MRAffineXf.h:39
Definition MRBox.h:107
Definition MRBox.h:91
Generated from class MR::Color.
Definition MRColor.h:18
Generated from class MR::Vector2f.
Definition MRVector2.h:36
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Generated from class MR::Vector3i.
Definition MRVector3.h:63
Definition MRViewportId.h:17
Definition MRId.h:149