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_ConstChildren MR_ConstChildren; // Defined in `#include <MRCMesh/MRConstChildren.h>`.
24typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
25typedef struct MR_FaceColors MR_FaceColors; // Defined in `#include <MRCMesh/MRVector.h>`.
26typedef struct MR_FaceMap MR_FaceMap; // Defined in `#include <MRCMesh/MRVector.h>`.
27typedef struct MR_FloatGrid MR_FloatGrid; // Defined in `#include <MRCVoxels/MRFloatGrid.h>`.
28typedef struct MR_Histogram MR_Histogram; // Defined in `#include <MRCMesh/MRHistogram.h>`.
29typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
30typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
31typedef struct MR_MeshTexture MR_MeshTexture; // Defined in `#include <MRCMesh/MRMeshTexture.h>`.
32typedef struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
33typedef struct MR_ModelRenderParams MR_ModelRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
34typedef struct MR_Object MR_Object; // Defined in `#include <MRCMesh/MRObject.h>`.
35typedef struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder; // Defined in `#include <MRCMesh/MRObject.h>`.
36typedef struct MR_ObjectMeshData MR_ObjectMeshData; // Defined in `#include <MRCMesh/MRObjectMeshData.h>`.
37typedef struct MR_ObjectMeshHolder MR_ObjectMeshHolder; // Defined in `#include <MRCMesh/MRObjectMeshHolder.h>`.
38typedef struct MR_SimpleVolume MR_SimpleVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
39typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
40typedef struct MR_TexturePerFace MR_TexturePerFace; // Defined in `#include <MRCMesh/MRVector.h>`.
41typedef struct MR_UiRenderParams MR_UiRenderParams; // Defined in `#include <MRCMesh/MRIRenderObject.h>`.
42typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
43typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
44typedef struct MR_Vector3f MR_Vector3f; // Defined in `#include <MRCMesh/MRVector3.h>`.
45typedef struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId; // Defined in `#include <MRCMesh/MRVector.h>`.
46typedef struct MR_VertColors MR_VertColors; // Defined in `#include <MRCMesh/MRVector.h>`.
47typedef struct MR_VertCoords2 MR_VertCoords2; // Defined in `#include <MRCMesh/MRVector.h>`.
48typedef struct MR_VertMap MR_VertMap; // Defined in `#include <MRCMesh/MRVector.h>`.
49typedef struct MR_ViewportMask MR_ViewportMask; // Defined in `#include <MRCMesh/MRViewportId.h>`.
50typedef struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
51typedef struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
52typedef struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char; // Defined in `#include <MRCMesh/MRViewportProperty.h>`.
53typedef struct MR_VisualObject MR_VisualObject; // Defined in `#include <MRCMesh/MRVisualObject.h>`.
54typedef struct MR_VolumeIndexer MR_VolumeIndexer; // Defined in `#include <MRCMesh/MRVolumeIndexer.h>`.
55typedef struct MR_VoxelBitSet MR_VoxelBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
56typedef struct MR_expected_bool_std_string MR_expected_bool_std_string; // Defined in `#include <MRCMisc/expected_bool_std_string.h>`.
57typedef 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>`.
58typedef 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>`.
59typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
60typedef struct MR_std_optional_MR_Vector2f MR_std_optional_MR_Vector2f; // Defined in `#include <MRCMisc/std_optional_MR_Vector2f.h>`.
61typedef struct MR_std_set_std_string MR_std_set_std_string; // Defined in `#include <MRCMisc/std_set_std_string.h>`.
62typedef struct MR_std_shared_ptr_MR_Mesh MR_std_shared_ptr_MR_Mesh; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Mesh.h>`.
63typedef struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object; // Defined in `#include <MRCMisc/std_shared_ptr_MR_Object.h>`.
64typedef 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>`.
65typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
66typedef struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask; // Defined in `#include <MRCMisc/std_vector_MR_ViewportMask.h>`.
67typedef struct MR_std_vector_std_string MR_std_vector_std_string; // Defined in `#include <MRCMisc/std_vector_std_string.h>`.
68
69
70// shading model
77
78// coloring type
85
86// type of alpha function on texture
93
94// struct to control volume rendering texture
98
109typedef struct MR_ObjectVoxels MR_ObjectVoxels;
110
114
119
123
127
132
136
142
147
152
156
162
167
173
178
186
193
198
202
208
213
219
224
232
239
244
248
254
259
265
270
278
285
290
293
296
304
307
311
314
319
322
327
330MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor);
331
337
343
348
354
358
364
369
375
380
385
397MRC_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);
398
407MRC_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);
408
418
424
431
440
447
454
461
468
476
484
489
496MRC_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);
497
502
511MRC_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);
512
519
524
529
534
540
546
554
559
563
569
570// prepare data for volume rendering
571// returns false if canceled or voxel data is empty
576
580
581// this function should only be called from GUI thread because it changes rendering object,
582// it can take some time to prepare data, so you can prepare data with progress callback
583// by calling `prepareDataForVolumeRendering(cb)` function before calling this one
587
588// move volume rendering data to caller: basically used in RenderVolumeObject
592MRC_API MR_SimpleVolume *MR_ObjectVoxels_getVolumeRenderingData(const MR_ObjectVoxels *_this);
593
597MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_getVolumeRenderingParams(const MR_ObjectVoxels *_this);
598
602MRC_API void MR_ObjectVoxels_setVolumeRenderingParams(MR_ObjectVoxels *_this, const MR_ObjectVoxels_VolumeRenderingParams *params);
603
606MRC_API bool MR_ObjectVoxels_hasVisualRepresentation(const MR_ObjectVoxels *_this);
607
611MRC_API void MR_ObjectVoxels_setMaxSurfaceVertices(MR_ObjectVoxels *_this, int maxVerts);
612
616MRC_API int MR_ObjectVoxels_getMaxSurfaceVertices(const MR_ObjectVoxels *_this);
617
621MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_clone(const MR_ObjectVoxels *_this);
622
626MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowClone(const MR_ObjectVoxels *_this);
627
631MRC_API void MR_ObjectVoxels_setDirtyFlags(MR_ObjectVoxels *_this, unsigned int mask, const bool *invalidateCaches);
632
636MRC_API size_t MR_ObjectVoxels_activeVoxels(const MR_ObjectVoxels *_this);
637
641MRC_API size_t MR_ObjectVoxels_heapBytes(const MR_ObjectVoxels *_this);
642
646MRC_API const char *MR_ObjectVoxels_serializeFormat(const MR_ObjectVoxels *_this);
647
652MRC_API void MR_ObjectVoxels_setSerializeFormat(MR_ObjectVoxels *_this, const char *newFormat);
653
657MRC_API void MR_ObjectVoxels_resetFrontColor(MR_ObjectVoxels *_this);
658
662MRC_API MR_Mesh *MR_ObjectVoxels_varMeshPtr(MR_ObjectVoxels *_this);
663
667MRC_API const MR_Mesh *MR_ObjectVoxels_meshPtr(const MR_ObjectVoxels *_this);
668
673MRC_DEPRECATED_REASON("use meshPtr() instead")
674MRC_API const MR_std_shared_ptr_const_MR_Mesh *MR_ObjectVoxels_mesh(const MR_ObjectVoxels *_this);
675
680MRC_API MR_MeshPart *MR_ObjectVoxels_meshPart(const MR_ObjectVoxels *_this);
681
687MRC_API void MR_ObjectVoxels_setDirtyFlagsFast(MR_ObjectVoxels *_this, unsigned int mask);
688
692MRC_API void MR_ObjectVoxels_invalidateMetricsCache(MR_ObjectVoxels *_this, unsigned int mask);
693
697MRC_API const MR_FaceBitSet *MR_ObjectVoxels_getSelectedFaces(const MR_ObjectVoxels *_this);
698
701MRC_API void MR_ObjectVoxels_selectFaces(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection);
702
708MRC_API const MR_Color *MR_ObjectVoxels_getSelectedFacesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
709
715MRC_API void MR_ObjectVoxels_setSelectedFacesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
716
720MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_getSelectedEdges(const MR_ObjectVoxels *_this);
721
724MRC_API void MR_ObjectVoxels_selectEdges(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection);
725
731MRC_API const MR_Color *MR_ObjectVoxels_getSelectedEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
732
738MRC_API void MR_ObjectVoxels_setSelectedEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
739
743MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
744
747MRC_API void MR_ObjectVoxels_setSelectedEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
748
752MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedFacesColorsForAllViewports(const MR_ObjectVoxels *_this);
753
756MRC_API void MR_ObjectVoxels_setSelectedFacesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
757
761MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
762
765MRC_API void MR_ObjectVoxels_setEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
766
770MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getPointsColorsForAllViewports(const MR_ObjectVoxels *_this);
771
774MRC_API void MR_ObjectVoxels_setPointsColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
775
779MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBordersColorsForAllViewports(const MR_ObjectVoxels *_this);
780
783MRC_API void MR_ObjectVoxels_setBordersColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
784
789MRC_API void MR_ObjectVoxels_copyAllSolidColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *other);
790
795MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_creases(const MR_ObjectVoxels *_this);
796
799MRC_API void MR_ObjectVoxels_setCreases(MR_ObjectVoxels *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases);
800
804MRC_API void MR_ObjectVoxels_setFlatShading(MR_ObjectVoxels *_this, bool on);
805
808MRC_API bool MR_ObjectVoxels_flatShading(const MR_ObjectVoxels *_this);
809
813MRC_API bool MR_ObjectVoxels_supportsVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
814
819MRC_API MR_std_vector_MR_ViewportMask *MR_ObjectVoxels_getAllVisualizeProperties(const MR_ObjectVoxels *_this);
820
826MRC_API const MR_ViewportMask *MR_ObjectVoxels_getVisualizePropertyMask(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
827
832MRC_API const MR_ObjectMeshData *MR_ObjectVoxels_data(const MR_ObjectVoxels *_this);
833
840MRC_API void MR_ObjectVoxels_setData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
841
846MRC_API void MR_ObjectVoxels_updateData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
847
852MRC_API const MR_VertColors *MR_ObjectVoxels_getVertsColorMap(const MR_ObjectVoxels *_this);
853
857MRC_API void MR_ObjectVoxels_setVertsColorMap(MR_ObjectVoxels *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap);
858
863MRC_API void MR_ObjectVoxels_updateVertsColorMap(MR_ObjectVoxels *_this, MR_VertColors *vertsColorMap);
864
868MRC_API const MR_FaceColors *MR_ObjectVoxels_getFacesColorMap(const MR_ObjectVoxels *_this);
869
872MRC_API void MR_ObjectVoxels_setFacesColorMap(MR_ObjectVoxels *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap);
873
877MRC_API void MR_ObjectVoxels_updateFacesColorMap(MR_ObjectVoxels *_this, MR_FaceColors *updated);
878
881MRC_API void MR_ObjectVoxels_setEdgeWidth(MR_ObjectVoxels *_this, float edgeWidth);
882
885MRC_API float MR_ObjectVoxels_getEdgeWidth(const MR_ObjectVoxels *_this);
886
889MRC_API void MR_ObjectVoxels_setPointSize(MR_ObjectVoxels *_this, float size);
890
893MRC_API float MR_ObjectVoxels_getPointSize(const MR_ObjectVoxels *_this);
894
899MRC_API const MR_Color *MR_ObjectVoxels_getEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
900
905MRC_API void MR_ObjectVoxels_setEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
906
911MRC_API const MR_Color *MR_ObjectVoxels_getPointsColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
912
917MRC_API void MR_ObjectVoxels_setPointsColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
918
923MRC_API const MR_Color *MR_ObjectVoxels_getBordersColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
924
929MRC_API void MR_ObjectVoxels_setBordersColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
930
935MRC_API const MR_MeshTexture *MR_ObjectVoxels_getTexture(const MR_ObjectVoxels *_this);
936
940MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId *MR_ObjectVoxels_getTextures(const MR_ObjectVoxels *_this);
941
944MRC_API void MR_ObjectVoxels_setTextures(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture);
945
949MRC_API void MR_ObjectVoxels_updateTextures(MR_ObjectVoxels *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated);
950
955MRC_API void MR_ObjectVoxels_setTexturePerFace(MR_ObjectVoxels *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace);
956
960MRC_API void MR_ObjectVoxels_updateTexturePerFace(MR_ObjectVoxels *_this, MR_TexturePerFace *texturePerFace);
961
964MRC_API void MR_ObjectVoxels_addTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
965
969MRC_API const MR_TexturePerFace *MR_ObjectVoxels_getTexturePerFace(const MR_ObjectVoxels *_this);
970
974MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getUVCoords(const MR_ObjectVoxels *_this);
975
978MRC_API void MR_ObjectVoxels_setUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
979
983MRC_API void MR_ObjectVoxels_updateUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
984
992MRC_API void MR_ObjectVoxels_copyTextureAndColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
993
1001MRC_API void MR_ObjectVoxels_copyColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
1002
1003// ancillary texture can be used to have custom features visualization without affecting real one
1007MRC_API const MR_MeshTexture *MR_ObjectVoxels_getAncillaryTexture(const MR_ObjectVoxels *_this);
1008
1011MRC_API void MR_ObjectVoxels_setAncillaryTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
1012
1016MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getAncillaryUVCoords(const MR_ObjectVoxels *_this);
1017
1020MRC_API void MR_ObjectVoxels_setAncillaryUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
1021
1025MRC_API void MR_ObjectVoxels_updateAncillaryUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
1026
1029MRC_API bool MR_ObjectVoxels_hasAncillaryTexture(const MR_ObjectVoxels *_this);
1030
1033MRC_API void MR_ObjectVoxels_clearAncillaryTexture(MR_ObjectVoxels *_this);
1034
1038MRC_API bool MR_ObjectVoxels_getRedrawFlag(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1039
1043MRC_API bool MR_ObjectVoxels_isMeshClosed(const MR_ObjectVoxels *_this);
1044
1050MRC_API MR_Box3f MR_ObjectVoxels_getWorldBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1051
1055MRC_API size_t MR_ObjectVoxels_numSelectedFaces(const MR_ObjectVoxels *_this);
1056
1060MRC_API size_t MR_ObjectVoxels_numSelectedEdges(const MR_ObjectVoxels *_this);
1061
1065MRC_API size_t MR_ObjectVoxels_numCreaseEdges(const MR_ObjectVoxels *_this);
1066
1070MRC_API double MR_ObjectVoxels_totalArea(const MR_ObjectVoxels *_this);
1071
1075MRC_API double MR_ObjectVoxels_selectedArea(const MR_ObjectVoxels *_this);
1076
1080MRC_API double MR_ObjectVoxels_volume(const MR_ObjectVoxels *_this);
1081
1085MRC_API float MR_ObjectVoxels_avgEdgeLen(const MR_ObjectVoxels *_this);
1086
1090MRC_API size_t MR_ObjectVoxels_numUndirectedEdges(const MR_ObjectVoxels *_this);
1091
1095MRC_API size_t MR_ObjectVoxels_numHoles(const MR_ObjectVoxels *_this);
1096
1100MRC_API size_t MR_ObjectVoxels_numComponents(const MR_ObjectVoxels *_this);
1101
1105MRC_API size_t MR_ObjectVoxels_numHandles(const MR_ObjectVoxels *_this);
1106
1110MRC_API const char *MR_ObjectVoxels_actualSerializeFormat(const MR_ObjectVoxels *_this);
1111
1115MRC_API void MR_ObjectVoxels_resetColors(MR_ObjectVoxels *_this);
1116
1119MRC_API size_t MR_ObjectVoxels_getModelHash(const MR_ObjectVoxels *_this);
1120
1124MRC_API bool MR_ObjectVoxels_sameModels(const MR_ObjectVoxels *_this, const MR_Object *other);
1125
1131MRC_API void MR_ObjectVoxels_setVisualizeProperty(MR_ObjectVoxels *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1132
1138MRC_API void MR_ObjectVoxels_setVisualizePropertyMask(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1139
1145MRC_API bool MR_ObjectVoxels_getVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1146
1152MRC_API void MR_ObjectVoxels_toggleVisualizeProperty(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1153
1158MRC_API void MR_ObjectVoxels_setAllVisualizeProperties(MR_ObjectVoxels *_this, const MR_std_vector_MR_ViewportMask *properties);
1159
1164MRC_API MR_ViewportMask *MR_ObjectVoxels_globalClippedByPlaneMask(const MR_ObjectVoxels *_this);
1165
1171MRC_API bool MR_ObjectVoxels_globalClippedByPlane(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1172
1178MRC_API void MR_ObjectVoxels_setGlobalClippedByPlane(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1179
1186MRC_API const MR_Color *MR_ObjectVoxels_getFrontColor(const MR_ObjectVoxels *_this, const bool *selected, const MR_ViewportId *viewportId);
1187
1193MRC_API void MR_ObjectVoxels_setFrontColor(MR_ObjectVoxels *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
1194
1200MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getFrontColorsForAllViewports(const MR_ObjectVoxels *_this, const bool *selected);
1201
1206MRC_API void MR_ObjectVoxels_setFrontColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected);
1207
1212MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBackColorsForAllViewports(const MR_ObjectVoxels *_this);
1213
1217MRC_API void MR_ObjectVoxels_setBackColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
1218
1224MRC_API const MR_Color *MR_ObjectVoxels_getBackColor(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1225
1231MRC_API void MR_ObjectVoxels_setBackColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *viewportId);
1232
1238MRC_API const unsigned char *MR_ObjectVoxels_getGlobalAlpha(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1239
1244MRC_API void MR_ObjectVoxels_setGlobalAlpha(MR_ObjectVoxels *_this, unsigned char alpha, const MR_ViewportId *viewportId);
1245
1250MRC_API const MR_ViewportProperty_unsigned_char *MR_ObjectVoxels_getGlobalAlphaForAllViewports(const MR_ObjectVoxels *_this);
1251
1255MRC_API void MR_ObjectVoxels_setGlobalAlphaForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val);
1256
1260MRC_API unsigned int MR_ObjectVoxels_getDirtyFlags(const MR_ObjectVoxels *_this);
1261
1265MRC_API void MR_ObjectVoxels_resetDirty(const MR_ObjectVoxels *_this);
1266
1270MRC_API void MR_ObjectVoxels_resetDirtyExceptMask(const MR_ObjectVoxels *_this, unsigned int mask);
1271
1275MRC_API MR_Box3f MR_ObjectVoxels_getBoundingBox(const MR_ObjectVoxels *_this);
1276
1282MRC_API bool MR_ObjectVoxels_isPickable(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1283
1289MRC_API void MR_ObjectVoxels_setPickable(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1290
1294MRC_API MR_ColoringType MR_ObjectVoxels_getColoringType(const MR_ObjectVoxels *_this);
1295
1299MRC_API void MR_ObjectVoxels_setColoringType(MR_ObjectVoxels *_this, MR_ColoringType coloringType);
1300
1304MRC_API float MR_ObjectVoxels_getShininess(const MR_ObjectVoxels *_this);
1305
1309MRC_API void MR_ObjectVoxels_setShininess(MR_ObjectVoxels *_this, float shininess);
1310
1314MRC_API float MR_ObjectVoxels_getSpecularStrength(const MR_ObjectVoxels *_this);
1315
1319MRC_API void MR_ObjectVoxels_setSpecularStrength(MR_ObjectVoxels *_this, float specularStrength);
1320
1324MRC_API float MR_ObjectVoxels_getAmbientStrength(const MR_ObjectVoxels *_this);
1325
1329MRC_API void MR_ObjectVoxels_setAmbientStrength(MR_ObjectVoxels *_this, float ambientStrength);
1330
1336MRC_API bool MR_ObjectVoxels_render(const MR_ObjectVoxels *_this, const MR_ModelRenderParams *_1);
1337
1342MRC_API void MR_ObjectVoxels_renderForPicker(const MR_ObjectVoxels *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2);
1343
1348MRC_API void MR_ObjectVoxels_renderUi(const MR_ObjectVoxels *_this, const MR_UiRenderParams *params);
1349
1354MRC_API bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(const MR_ObjectVoxels *_this);
1355
1360MRC_API void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(MR_ObjectVoxels *_this, bool useDefaultScenePropertiesOnDeserialization);
1361
1365MRC_API const MR_std_string *MR_ObjectVoxels_name(const MR_ObjectVoxels *_this);
1366
1371MRC_API void MR_ObjectVoxels_setName(MR_ObjectVoxels *_this, const char *name, const char *name_end);
1372
1380MRC_API const MR_AffineXf3f *MR_ObjectVoxels_xf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1381
1386MRC_API void MR_ObjectVoxels_setXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1387
1392MRC_API void MR_ObjectVoxels_resetXf(MR_ObjectVoxels *_this, const MR_ViewportId *id);
1393
1398MRC_API const MR_ViewportProperty_MR_AffineXf3f *MR_ObjectVoxels_xfsForAllViewports(const MR_ObjectVoxels *_this);
1399
1403MRC_API void MR_ObjectVoxels_setXfsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf);
1404
1411MRC_API MR_AffineXf3f MR_ObjectVoxels_worldXf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1412
1417MRC_API void MR_ObjectVoxels_setWorldXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1418
1423MRC_API MR_ViewportMask *MR_ObjectVoxels_globalVisibilityMask(const MR_ObjectVoxels *_this);
1424
1430MRC_API bool MR_ObjectVoxels_globalVisibility(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1431
1437MRC_API void MR_ObjectVoxels_setGlobalVisibility(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1438
1442MRC_API bool MR_ObjectVoxels_isLocked(const MR_ObjectVoxels *_this);
1443
1446MRC_API void MR_ObjectVoxels_setLocked(MR_ObjectVoxels *_this, bool on);
1447
1452MRC_API bool MR_ObjectVoxels_isParentLocked(const MR_ObjectVoxels *_this);
1453
1456MRC_API void MR_ObjectVoxels_setParentLocked(MR_ObjectVoxels *_this, bool lock);
1457
1461MRC_API bool MR_ObjectVoxels_isAncestor(const MR_ObjectVoxels *_this, const MR_Object *ancestor);
1462
1467MRC_API bool MR_ObjectVoxels_detachFromParent(MR_ObjectVoxels *_this);
1468
1474MRC_API MR_ConstChildren *MR_ObjectVoxels_constChildren(const MR_ObjectVoxels *_this);
1475
1483MRC_API bool MR_ObjectVoxels_addChild(MR_ObjectVoxels *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
1484
1491MRC_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);
1492
1496MRC_API void MR_ObjectVoxels_removeAllChildren(MR_ObjectVoxels *_this);
1497
1501MRC_API void MR_ObjectVoxels_sortChildren(MR_ObjectVoxels *_this);
1502
1506MRC_API bool MR_ObjectVoxels_select(MR_ObjectVoxels *_this, bool on);
1507
1510MRC_API bool MR_ObjectVoxels_isSelected(const MR_ObjectVoxels *_this);
1511
1516MRC_API void MR_ObjectVoxels_setAncillary(MR_ObjectVoxels *_this, bool ancillary);
1517
1520MRC_API bool MR_ObjectVoxels_isAncillary(const MR_ObjectVoxels *_this);
1521
1525MRC_API bool MR_ObjectVoxels_isGlobalAncillary(const MR_ObjectVoxels *_this);
1526
1532MRC_API void MR_ObjectVoxels_setVisible(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1533
1539MRC_API bool MR_ObjectVoxels_isVisible(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1540
1545MRC_API void MR_ObjectVoxels_setVisibilityMask(MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1546
1551MRC_API MR_ViewportMask *MR_ObjectVoxels_visibilityMask(const MR_ObjectVoxels *_this);
1552
1555MRC_API void MR_ObjectVoxels_resetRedrawFlag(const MR_ObjectVoxels *_this);
1556
1561MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_cloneTree(const MR_ObjectVoxels *_this);
1562
1568MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowCloneTree(const MR_ObjectVoxels *_this);
1569
1576MRC_API void MR_ObjectVoxels_swap(MR_ObjectVoxels *_this, MR_Object *other);
1577
1582MRC_API MR_Box3f MR_ObjectVoxels_getWorldTreeBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1583
1589MRC_API const MR_std_set_std_string *MR_ObjectVoxels_tags(const MR_ObjectVoxels *_this);
1590
1598MRC_API bool MR_ObjectVoxels_addTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1599
1606MRC_API bool MR_ObjectVoxels_removeTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1607
1608// returns this Object as shared_ptr
1609// finds it among its parent's recognized children
1613MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_getSharedPtr(const MR_ObjectVoxels *_this);
1614
1615// volume texture smoothing
1620MRC_API const MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_Get_volumeFilterType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1621
1622// volume texture smoothing
1627MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_FilterType value);
1628
1629// volume texture smoothing
1634MRC_API MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1635
1640MRC_API const MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_Get_shadingType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1641
1646MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_ShadingType value);
1647
1652MRC_API MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1653
1658MRC_API const MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_Get_lutType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1659
1664MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_LutType value);
1665
1670MRC_API MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1671
1672// color that is used for OneColor mode
1677MRC_API const MR_Color *MR_ObjectVoxels_VolumeRenderingParams_Get_oneColor(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1678
1679// color that is used for OneColor mode
1684MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_Color value);
1685
1686// color that is used for OneColor mode
1691MRC_API MR_Color *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this);
1692
1693// minimum colored value (voxels with lower values are transparent)
1698MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_min(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1699
1700// minimum colored value (voxels with lower values are transparent)
1704MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_min(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1705
1706// minimum colored value (voxels with lower values are transparent)
1711MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_min(MR_ObjectVoxels_VolumeRenderingParams *_this);
1712
1713// maximum colored value (voxels with higher values are transparent)
1718MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_max(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1719
1720// maximum colored value (voxels with higher values are transparent)
1724MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_max(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1725
1726// maximum colored value (voxels with higher values are transparent)
1731MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_max(MR_ObjectVoxels_VolumeRenderingParams *_this);
1732
1733// step to sample each ray with
1734// if <= 0 then default sampling is used
1739MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_samplingStep(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1740
1741// step to sample each ray with
1742// if <= 0 then default sampling is used
1746MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1747
1748// step to sample each ray with
1749// if <= 0 then default sampling is used
1754MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this);
1755
1760MRC_API const MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1761
1766MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_AlphaType value);
1767
1772MRC_API MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1773
1778MRC_API const unsigned char *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaLimit(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1779
1784MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this, unsigned char value);
1785
1790MRC_API unsigned char *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this);
1791
1794MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstruct(void);
1795
1799MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstructArray(size_t num_elems);
1800
1810MRC_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);
1811
1814MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetPtr(const MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1815
1818MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetMutablePtr(MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1819
1824MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFromAnother(const MR_ObjectVoxels_VolumeRenderingParams *_other);
1825
1827MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Destroy(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1828
1830MRC_API void MR_ObjectVoxels_VolumeRenderingParams_DestroyArray(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1831
1838MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_AssignFromAnother(MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_other);
1839
1843MRC_API bool MR_equal_MR_ObjectVoxels_VolumeRenderingParams(const MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_1);
1844
1849MRC_API const MR_std_string *MR_defaultSerializeVoxelsFormat(void);
1850
1856MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end);
1857
1858#ifdef __cplusplus
1859} // extern "C"
1860#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:24
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_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_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:112
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_Mesh MR_Mesh
Definition MRCtm.h:16
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:17
struct MR_ObjectMeshHolder MR_ObjectMeshHolder
Definition MRObjectDistanceMap.h:31
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:80
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_OneColor
Definition MRObjectVoxels.h:83
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_Rainbow
Definition MRObjectVoxels.h:82
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_GrayShades
Definition MRObjectVoxels.h:81
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:97
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:72
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_ValueGradient
Definition MRObjectVoxels.h:74
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_AlphaGradient
Definition MRObjectVoxels.h:75
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_None
Definition MRObjectVoxels.h:73
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:88
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearDecreasing
Definition MRObjectVoxels.h:91
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearIncreasing
Definition MRObjectVoxels.h:90
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_Constant
Definition MRObjectVoxels.h:89
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:37
#define MRC_DEPRECATED_REASON(str)
Definition common.h:74
MR_PassBy
Definition common.h:13
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:155