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
108
112
117
120MRC_API const MR_ObjectVoxels *MR_ObjectVoxels_OffsetPtr(const MR_ObjectVoxels *ptr, ptrdiff_t i);
121
125
130
134
139
143
148
152
157
161
165MRC_API MR_ObjectVoxels *MR_ObjectVoxels_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ObjectVoxels *_other);
166
168MRC_API void MR_ObjectVoxels_Destroy(const MR_ObjectVoxels *_this);
169
172
179MRC_API MR_ObjectVoxels *MR_ObjectVoxels_AssignFromAnother(MR_ObjectVoxels *_this, MR_PassBy _other_pass_by, MR_ObjectVoxels *_other);
180
182MRC_API const char *MR_ObjectVoxels_StaticTypeName(void);
183
186MRC_API const char *MR_ObjectVoxels_typeName(const MR_ObjectVoxels *_this);
187
189MRC_API const char *MR_ObjectVoxels_StaticClassName(void);
190
195
198
203
206MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor);
207
213
219
224
230
233MRC_API bool MR_ObjectVoxels_hasModel(const MR_ObjectVoxels *_this);
234
240
245
251
256
261
273MRC_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);
274
283MRC_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);
284
294
299MRC_API void MR_ObjectVoxels_construct_1(MR_ObjectVoxels *_this, const MR_VdbVolume *vdbVolume);
300
307
315MRC_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);
316
323
329MRC_API MR_VdbVolume *MR_ObjectVoxels_updateVdbVolume(MR_ObjectVoxels *_this, MR_PassBy vdbVolume_pass_by, MR_VdbVolume *vdbVolume);
330
336MRC_API MR_Histogram *MR_ObjectVoxels_updateHistogram(MR_ObjectVoxels *_this, MR_PassBy histogram_pass_by, MR_Histogram *histogram);
337
344
352
360
365
372MRC_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);
373
378
387MRC_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);
388
395
400
405
409MRC_API void MR_ObjectVoxels_selectVoxels(MR_ObjectVoxels *_this, const MR_VoxelBitSet *selectedVoxels);
410
416
422
430
435
439
445
446// prepare data for volume rendering
447// returns false if canceled or voxel data is empty
452
456
457// this function should only be called from GUI thread because it changes rendering object,
458// it can take some time to prepare data, so you can prepare data with progress callback
459// by calling `prepareDataForVolumeRendering(cb)` function before calling this one
463
464// move volume rendering data to caller: basically used in RenderVolumeObject
468MRC_API MR_SimpleVolume *MR_ObjectVoxels_getVolumeRenderingData(const MR_ObjectVoxels *_this);
469
473MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_getVolumeRenderingParams(const MR_ObjectVoxels *_this);
474
478MRC_API void MR_ObjectVoxels_setVolumeRenderingParams(MR_ObjectVoxels *_this, const MR_ObjectVoxels_VolumeRenderingParams *params);
479
482MRC_API bool MR_ObjectVoxels_hasVisualRepresentation(const MR_ObjectVoxels *_this);
483
487MRC_API void MR_ObjectVoxels_setMaxSurfaceVertices(MR_ObjectVoxels *_this, int maxVerts);
488
492MRC_API int MR_ObjectVoxels_getMaxSurfaceVertices(const MR_ObjectVoxels *_this);
493
497MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_clone(const MR_ObjectVoxels *_this);
498
502MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowClone(const MR_ObjectVoxels *_this);
503
507MRC_API void MR_ObjectVoxels_setDirtyFlags(MR_ObjectVoxels *_this, unsigned int mask, const bool *invalidateCaches);
508
512MRC_API MR_uint64_t MR_ObjectVoxels_activeVoxels(const MR_ObjectVoxels *_this);
513
517MRC_API MR_uint64_t MR_ObjectVoxels_heapBytes(const MR_ObjectVoxels *_this);
518
522MRC_API const char *MR_ObjectVoxels_serializeFormat(const MR_ObjectVoxels *_this);
523
528MRC_API void MR_ObjectVoxels_setSerializeFormat(MR_ObjectVoxels *_this, const char *newFormat);
529
533MRC_API void MR_ObjectVoxels_resetFrontColor(MR_ObjectVoxels *_this);
534
538MRC_API const MR_std_shared_ptr_const_MR_Mesh *MR_ObjectVoxels_mesh(const MR_ObjectVoxels *_this);
539
544MRC_API MR_MeshPart *MR_ObjectVoxels_meshPart(const MR_ObjectVoxels *_this);
545
551MRC_API void MR_ObjectVoxels_setDirtyFlagsFast(MR_ObjectVoxels *_this, unsigned int mask);
552
556MRC_API void MR_ObjectVoxels_invalidateMetricsCache(MR_ObjectVoxels *_this, unsigned int mask);
557
561MRC_API const MR_FaceBitSet *MR_ObjectVoxels_getSelectedFaces(const MR_ObjectVoxels *_this);
562
565MRC_API void MR_ObjectVoxels_selectFaces(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection);
566
572MRC_API const MR_Color *MR_ObjectVoxels_getSelectedFacesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
573
579MRC_API void MR_ObjectVoxels_setSelectedFacesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
580
584MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_getSelectedEdges(const MR_ObjectVoxels *_this);
585
588MRC_API void MR_ObjectVoxels_selectEdges(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection);
589
595MRC_API const MR_Color *MR_ObjectVoxels_getSelectedEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
596
602MRC_API void MR_ObjectVoxels_setSelectedEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
603
607MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
608
611MRC_API void MR_ObjectVoxels_setSelectedEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
612
616MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedFacesColorsForAllViewports(const MR_ObjectVoxels *_this);
617
620MRC_API void MR_ObjectVoxels_setSelectedFacesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
621
625MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
626
629MRC_API void MR_ObjectVoxels_setEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
630
634MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getPointsColorsForAllViewports(const MR_ObjectVoxels *_this);
635
638MRC_API void MR_ObjectVoxels_setPointsColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
639
643MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBordersColorsForAllViewports(const MR_ObjectVoxels *_this);
644
647MRC_API void MR_ObjectVoxels_setBordersColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
648
653MRC_API void MR_ObjectVoxels_copyAllSolidColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *other);
654
659MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_creases(const MR_ObjectVoxels *_this);
660
663MRC_API void MR_ObjectVoxels_setCreases(MR_ObjectVoxels *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases);
664
668MRC_API void MR_ObjectVoxels_setFlatShading(MR_ObjectVoxels *_this, bool on);
669
672MRC_API bool MR_ObjectVoxels_flatShading(const MR_ObjectVoxels *_this);
673
677MRC_API bool MR_ObjectVoxels_supportsVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
678
683MRC_API MR_std_vector_MR_ViewportMask *MR_ObjectVoxels_getAllVisualizeProperties(const MR_ObjectVoxels *_this);
684
690MRC_API const MR_ViewportMask *MR_ObjectVoxels_getVisualizePropertyMask(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
691
696MRC_API const MR_ObjectMeshData *MR_ObjectVoxels_data(const MR_ObjectVoxels *_this);
697
704MRC_API void MR_ObjectVoxels_setData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
705
710MRC_API void MR_ObjectVoxels_updateData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
711
716MRC_API const MR_VertColors *MR_ObjectVoxels_getVertsColorMap(const MR_ObjectVoxels *_this);
717
721MRC_API void MR_ObjectVoxels_setVertsColorMap(MR_ObjectVoxels *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap);
722
727MRC_API void MR_ObjectVoxels_updateVertsColorMap(MR_ObjectVoxels *_this, MR_VertColors *vertsColorMap);
728
732MRC_API const MR_FaceColors *MR_ObjectVoxels_getFacesColorMap(const MR_ObjectVoxels *_this);
733
736MRC_API void MR_ObjectVoxels_setFacesColorMap(MR_ObjectVoxels *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap);
737
741MRC_API void MR_ObjectVoxels_updateFacesColorMap(MR_ObjectVoxels *_this, MR_FaceColors *updated);
742
745MRC_API void MR_ObjectVoxels_setEdgeWidth(MR_ObjectVoxels *_this, float edgeWidth);
746
749MRC_API float MR_ObjectVoxels_getEdgeWidth(const MR_ObjectVoxels *_this);
750
753MRC_API void MR_ObjectVoxels_setPointSize(MR_ObjectVoxels *_this, float size);
754
757MRC_API float MR_ObjectVoxels_getPointSize(const MR_ObjectVoxels *_this);
758
763MRC_API const MR_Color *MR_ObjectVoxels_getEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
764
769MRC_API void MR_ObjectVoxels_setEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
770
775MRC_API const MR_Color *MR_ObjectVoxels_getPointsColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
776
781MRC_API void MR_ObjectVoxels_setPointsColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
782
787MRC_API const MR_Color *MR_ObjectVoxels_getBordersColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
788
793MRC_API void MR_ObjectVoxels_setBordersColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
794
799MRC_API const MR_MeshTexture *MR_ObjectVoxels_getTexture(const MR_ObjectVoxels *_this);
800
804MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId *MR_ObjectVoxels_getTextures(const MR_ObjectVoxels *_this);
805
808MRC_API void MR_ObjectVoxels_setTextures(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture);
809
813MRC_API void MR_ObjectVoxels_updateTextures(MR_ObjectVoxels *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated);
814
819MRC_API void MR_ObjectVoxels_setTexturePerFace(MR_ObjectVoxels *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace);
820
824MRC_API void MR_ObjectVoxels_updateTexturePerFace(MR_ObjectVoxels *_this, MR_TexturePerFace *texturePerFace);
825
828MRC_API void MR_ObjectVoxels_addTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
829
833MRC_API const MR_TexturePerFace *MR_ObjectVoxels_getTexturePerFace(const MR_ObjectVoxels *_this);
834
838MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getUVCoords(const MR_ObjectVoxels *_this);
839
842MRC_API void MR_ObjectVoxels_setUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
843
847MRC_API void MR_ObjectVoxels_updateUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
848
856MRC_API void MR_ObjectVoxels_copyTextureAndColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
857
865MRC_API void MR_ObjectVoxels_copyColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
866
867// ancillary texture can be used to have custom features visualization without affecting real one
871MRC_API const MR_MeshTexture *MR_ObjectVoxels_getAncillaryTexture(const MR_ObjectVoxels *_this);
872
875MRC_API void MR_ObjectVoxels_setAncillaryTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
876
880MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getAncillaryUVCoords(const MR_ObjectVoxels *_this);
881
884MRC_API void MR_ObjectVoxels_setAncillaryUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
885
889MRC_API void MR_ObjectVoxels_updateAncillaryUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
890
893MRC_API bool MR_ObjectVoxels_hasAncillaryTexture(const MR_ObjectVoxels *_this);
894
897MRC_API void MR_ObjectVoxels_clearAncillaryTexture(MR_ObjectVoxels *_this);
898
902MRC_API bool MR_ObjectVoxels_getRedrawFlag(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
903
907MRC_API bool MR_ObjectVoxels_isMeshClosed(const MR_ObjectVoxels *_this);
908
914MRC_API MR_Box3f MR_ObjectVoxels_getWorldBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
915
919MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedFaces(const MR_ObjectVoxels *_this);
920
924MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedEdges(const MR_ObjectVoxels *_this);
925
929MRC_API MR_uint64_t MR_ObjectVoxels_numCreaseEdges(const MR_ObjectVoxels *_this);
930
934MRC_API double MR_ObjectVoxels_totalArea(const MR_ObjectVoxels *_this);
935
939MRC_API double MR_ObjectVoxels_selectedArea(const MR_ObjectVoxels *_this);
940
944MRC_API double MR_ObjectVoxels_volume(const MR_ObjectVoxels *_this);
945
949MRC_API float MR_ObjectVoxels_avgEdgeLen(const MR_ObjectVoxels *_this);
950
954MRC_API MR_uint64_t MR_ObjectVoxels_numUndirectedEdges(const MR_ObjectVoxels *_this);
955
959MRC_API MR_uint64_t MR_ObjectVoxels_numHoles(const MR_ObjectVoxels *_this);
960
964MRC_API MR_uint64_t MR_ObjectVoxels_numComponents(const MR_ObjectVoxels *_this);
965
969MRC_API MR_uint64_t MR_ObjectVoxels_numHandles(const MR_ObjectVoxels *_this);
970
974MRC_API const char *MR_ObjectVoxels_actualSerializeFormat(const MR_ObjectVoxels *_this);
975
979MRC_API void MR_ObjectVoxels_resetColors(MR_ObjectVoxels *_this);
980
983MRC_API MR_uint64_t MR_ObjectVoxels_getModelHash(const MR_ObjectVoxels *_this);
984
988MRC_API bool MR_ObjectVoxels_sameModels(const MR_ObjectVoxels *_this, const MR_Object *other);
989
995MRC_API void MR_ObjectVoxels_setVisualizeProperty(MR_ObjectVoxels *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
996
1002MRC_API void MR_ObjectVoxels_setVisualizePropertyMask(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1003
1009MRC_API bool MR_ObjectVoxels_getVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1010
1016MRC_API void MR_ObjectVoxels_toggleVisualizeProperty(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1017
1022MRC_API void MR_ObjectVoxels_setAllVisualizeProperties(MR_ObjectVoxels *_this, const MR_std_vector_MR_ViewportMask *properties);
1023
1028MRC_API MR_ViewportMask *MR_ObjectVoxels_globalClippedByPlaneMask(const MR_ObjectVoxels *_this);
1029
1035MRC_API bool MR_ObjectVoxels_globalClippedByPlane(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1036
1042MRC_API void MR_ObjectVoxels_setGlobalClippedByPlane(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1043
1050MRC_API const MR_Color *MR_ObjectVoxels_getFrontColor(const MR_ObjectVoxels *_this, const bool *selected, const MR_ViewportId *viewportId);
1051
1057MRC_API void MR_ObjectVoxels_setFrontColor(MR_ObjectVoxels *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
1058
1064MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getFrontColorsForAllViewports(const MR_ObjectVoxels *_this, const bool *selected);
1065
1070MRC_API void MR_ObjectVoxels_setFrontColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected);
1071
1076MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBackColorsForAllViewports(const MR_ObjectVoxels *_this);
1077
1081MRC_API void MR_ObjectVoxels_setBackColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
1082
1088MRC_API const MR_Color *MR_ObjectVoxels_getBackColor(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1089
1095MRC_API void MR_ObjectVoxels_setBackColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *viewportId);
1096
1102MRC_API const unsigned char *MR_ObjectVoxels_getGlobalAlpha(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1103
1108MRC_API void MR_ObjectVoxels_setGlobalAlpha(MR_ObjectVoxels *_this, unsigned char alpha, const MR_ViewportId *viewportId);
1109
1114MRC_API const MR_ViewportProperty_unsigned_char *MR_ObjectVoxels_getGlobalAlphaForAllViewports(const MR_ObjectVoxels *_this);
1115
1119MRC_API void MR_ObjectVoxels_setGlobalAlphaForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val);
1120
1124MRC_API unsigned int MR_ObjectVoxels_getDirtyFlags(const MR_ObjectVoxels *_this);
1125
1129MRC_API void MR_ObjectVoxels_resetDirty(const MR_ObjectVoxels *_this);
1130
1134MRC_API void MR_ObjectVoxels_resetDirtyExceptMask(const MR_ObjectVoxels *_this, unsigned int mask);
1135
1139MRC_API MR_Box3f MR_ObjectVoxels_getBoundingBox(const MR_ObjectVoxels *_this);
1140
1146MRC_API bool MR_ObjectVoxels_isPickable(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1147
1153MRC_API void MR_ObjectVoxels_setPickable(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1154
1158MRC_API MR_ColoringType MR_ObjectVoxels_getColoringType(const MR_ObjectVoxels *_this);
1159
1163MRC_API void MR_ObjectVoxels_setColoringType(MR_ObjectVoxels *_this, MR_ColoringType coloringType);
1164
1168MRC_API float MR_ObjectVoxels_getShininess(const MR_ObjectVoxels *_this);
1169
1173MRC_API void MR_ObjectVoxels_setShininess(MR_ObjectVoxels *_this, float shininess);
1174
1178MRC_API float MR_ObjectVoxels_getSpecularStrength(const MR_ObjectVoxels *_this);
1179
1183MRC_API void MR_ObjectVoxels_setSpecularStrength(MR_ObjectVoxels *_this, float specularStrength);
1184
1188MRC_API float MR_ObjectVoxels_getAmbientStrength(const MR_ObjectVoxels *_this);
1189
1193MRC_API void MR_ObjectVoxels_setAmbientStrength(MR_ObjectVoxels *_this, float ambientStrength);
1194
1200MRC_API bool MR_ObjectVoxels_render(const MR_ObjectVoxels *_this, const MR_ModelRenderParams *_1);
1201
1206MRC_API void MR_ObjectVoxels_renderForPicker(const MR_ObjectVoxels *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2);
1207
1212MRC_API void MR_ObjectVoxels_renderUi(const MR_ObjectVoxels *_this, const MR_UiRenderParams *params);
1213
1218MRC_API bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(const MR_ObjectVoxels *_this);
1219
1224MRC_API void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(MR_ObjectVoxels *_this, bool useDefaultScenePropertiesOnDeserialization);
1225
1229MRC_API const MR_std_string *MR_ObjectVoxels_name(const MR_ObjectVoxels *_this);
1230
1235MRC_API void MR_ObjectVoxels_setName(MR_ObjectVoxels *_this, const char *name, const char *name_end);
1236
1244MRC_API const MR_AffineXf3f *MR_ObjectVoxels_xf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1245
1250MRC_API void MR_ObjectVoxels_setXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1251
1256MRC_API void MR_ObjectVoxels_resetXf(MR_ObjectVoxels *_this, const MR_ViewportId *id);
1257
1262MRC_API const MR_ViewportProperty_MR_AffineXf3f *MR_ObjectVoxels_xfsForAllViewports(const MR_ObjectVoxels *_this);
1263
1267MRC_API void MR_ObjectVoxels_setXfsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf);
1268
1275MRC_API MR_AffineXf3f MR_ObjectVoxels_worldXf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1276
1281MRC_API void MR_ObjectVoxels_setWorldXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1282
1287MRC_API MR_ViewportMask *MR_ObjectVoxels_globalVisibilityMask(const MR_ObjectVoxels *_this);
1288
1294MRC_API bool MR_ObjectVoxels_globalVisibility(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1295
1301MRC_API void MR_ObjectVoxels_setGlobalVisibility(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1302
1306MRC_API bool MR_ObjectVoxels_isLocked(const MR_ObjectVoxels *_this);
1307
1310MRC_API void MR_ObjectVoxels_setLocked(MR_ObjectVoxels *_this, bool on);
1311
1316MRC_API bool MR_ObjectVoxels_isParentLocked(const MR_ObjectVoxels *_this);
1317
1320MRC_API void MR_ObjectVoxels_setParentLocked(MR_ObjectVoxels *_this, bool lock);
1321
1325MRC_API bool MR_ObjectVoxels_isAncestor(const MR_ObjectVoxels *_this, const MR_Object *ancestor);
1326
1331MRC_API bool MR_ObjectVoxels_detachFromParent(MR_ObjectVoxels *_this);
1332
1340MRC_API bool MR_ObjectVoxels_addChild(MR_ObjectVoxels *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
1341
1348MRC_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);
1349
1353MRC_API void MR_ObjectVoxels_removeAllChildren(MR_ObjectVoxels *_this);
1354
1358MRC_API void MR_ObjectVoxels_sortChildren(MR_ObjectVoxels *_this);
1359
1363MRC_API bool MR_ObjectVoxels_select(MR_ObjectVoxels *_this, bool on);
1364
1367MRC_API bool MR_ObjectVoxels_isSelected(const MR_ObjectVoxels *_this);
1368
1373MRC_API void MR_ObjectVoxels_setAncillary(MR_ObjectVoxels *_this, bool ancillary);
1374
1377MRC_API bool MR_ObjectVoxels_isAncillary(const MR_ObjectVoxels *_this);
1378
1382MRC_API bool MR_ObjectVoxels_isGlobalAncillary(const MR_ObjectVoxels *_this);
1383
1389MRC_API void MR_ObjectVoxels_setVisible(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1390
1396MRC_API bool MR_ObjectVoxels_isVisible(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1397
1402MRC_API void MR_ObjectVoxels_setVisibilityMask(MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1403
1408MRC_API MR_ViewportMask *MR_ObjectVoxels_visibilityMask(const MR_ObjectVoxels *_this);
1409
1412MRC_API void MR_ObjectVoxels_resetRedrawFlag(const MR_ObjectVoxels *_this);
1413
1418MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_cloneTree(const MR_ObjectVoxels *_this);
1419
1425MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowCloneTree(const MR_ObjectVoxels *_this);
1426
1433MRC_API void MR_ObjectVoxels_swap(MR_ObjectVoxels *_this, MR_Object *other);
1434
1440MRC_API MR_Box3f MR_ObjectVoxels_getWorldTreeBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1441
1447MRC_API const MR_std_set_std_string *MR_ObjectVoxels_tags(const MR_ObjectVoxels *_this);
1448
1456MRC_API bool MR_ObjectVoxels_addTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1457
1464MRC_API bool MR_ObjectVoxels_removeTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1465
1466// returns this Object as shared_ptr
1467// finds it among its parent's recognized children
1471MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_getSharedPtr(const MR_ObjectVoxels *_this);
1472
1473// volume texture smoothing
1478MRC_API const MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_Get_volumeFilterType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1479
1480// volume texture smoothing
1485MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_FilterType value);
1486
1487// volume texture smoothing
1492MRC_API MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1493
1498MRC_API const MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_Get_shadingType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1499
1504MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_ShadingType value);
1505
1510MRC_API MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1511
1516MRC_API const MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_Get_lutType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1517
1522MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_LutType value);
1523
1528MRC_API MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1529
1530// color that is used for OneColor mode
1535MRC_API const MR_Color *MR_ObjectVoxels_VolumeRenderingParams_Get_oneColor(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1536
1537// color that is used for OneColor mode
1542MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_Color value);
1543
1544// color that is used for OneColor mode
1549MRC_API MR_Color *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this);
1550
1551// minimum colored value (voxels with lower values are transparent)
1556MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_min(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1557
1558// minimum colored value (voxels with lower values are transparent)
1562MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_min(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1563
1564// minimum colored value (voxels with lower values are transparent)
1569MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_min(MR_ObjectVoxels_VolumeRenderingParams *_this);
1570
1571// maximum colored value (voxels with higher values are transparent)
1576MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_max(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1577
1578// maximum colored value (voxels with higher values are transparent)
1582MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_max(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1583
1584// maximum colored value (voxels with higher values are transparent)
1589MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_max(MR_ObjectVoxels_VolumeRenderingParams *_this);
1590
1591// step to sample each ray with
1592// if <= 0 then default sampling is used
1597MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_samplingStep(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1598
1599// step to sample each ray with
1600// if <= 0 then default sampling is used
1604MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1605
1606// step to sample each ray with
1607// if <= 0 then default sampling is used
1612MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this);
1613
1618MRC_API const MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1619
1624MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_AlphaType value);
1625
1630MRC_API MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1631
1636MRC_API const unsigned char *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaLimit(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1637
1642MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this, unsigned char value);
1643
1648MRC_API unsigned char *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this);
1649
1652MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstruct(void);
1653
1657MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstructArray(size_t num_elems);
1658
1668MRC_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);
1669
1672MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetPtr(const MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1673
1676MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetMutablePtr(MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1677
1682MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFromAnother(const MR_ObjectVoxels_VolumeRenderingParams *_other);
1683
1685MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Destroy(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1686
1688MRC_API void MR_ObjectVoxels_VolumeRenderingParams_DestroyArray(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1689
1696MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_AssignFromAnother(MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_other);
1697
1701MRC_API bool MR_equal_MR_ObjectVoxels_VolumeRenderingParams(const MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_1);
1702
1707MRC_API const MR_std_string *MR_defaultSerializeVoxelsFormat(void);
1708
1714MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end);
1715
1716#ifdef __cplusplus
1717} // extern "C"
1718#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:28
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:26
struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char
Definition MRAddVisualPropertiesMixin.h:35
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:36
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:19
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:32
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAddVisualPropertiesMixin.h:39
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:42
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRAddVisualPropertiesMixin.h:34
struct MR_ModelRenderParams MR_ModelRenderParams
Definition MRAddVisualPropertiesMixin.h:27
struct MR_std_set_std_string MR_std_set_std_string
Definition MRAddVisualPropertiesMixin.h:38
struct MR_UiRenderParams MR_UiRenderParams
Definition MRAddVisualPropertiesMixin.h:31
struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f
Definition MRAddVisualPropertiesMixin.h:33
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:29
struct MR_VertMap MR_VertMap
Definition MRBitSet.h:40
struct MR_VoxelBitSet MR_VoxelBitSet
Definition MRBitSet.h:111
struct MR_FaceMap MR_FaceMap
Definition MRBitSet.h:26
struct MR_FloatGrid MR_FloatGrid
Definition MRBoolean.h:13
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:18
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:16
struct MR_std_optional_MR_Vector2f MR_std_optional_MR_Vector2f
Definition MRCNCMachineSettings.h:15
struct MR_FaceColors MR_FaceColors
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
Definition MRChangeMeshAction.h:15
struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId
Definition MRChangeMeshAction.h:16
struct MR_ObjectMeshData MR_ObjectMeshData
Definition MRChangeMeshDataAction.h:15
struct MR_VertColors MR_VertColors
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
Definition MRCtm.h:23
MR_ColoringType
Definition MREnums.h:86
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_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 MRMarchingCubes.h:24
struct MR_SimpleVolume MR_SimpleVolume
Definition MRMarchingCubes.h:16
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
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 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 MR_ObjectVoxels * MR_ObjectVoxels_DefaultConstructArray(size_t num_elems)
struct MR_ObjectVoxels_VolumeRenderingParams MR_ObjectVoxels_VolumeRenderingParams
Definition MRObjectVoxels.h:95
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 void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor)
MRC_API const MR_VoxelBitSet * MR_ObjectVoxels_getSelectedVoxels(const MR_ObjectVoxels *_this)
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 void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end)
MRC_API MR_ObjectMeshHolder * MR_ObjectVoxels_MutableUpcastTo_MR_ObjectMeshHolder(MR_ObjectVoxels *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 const char * MR_ObjectVoxels_StaticTypeName(void)
Generated from method MR::ObjectVoxels::StaticTypeName.
MRC_API void MR_ObjectVoxels_updateHistogramAndSurface(MR_ObjectVoxels *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
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 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)
struct MR_expected_std_shared_ptr_MR_Mesh_std_string MR_expected_std_shared_ptr_MR_Mesh_std_string
Definition MRObjectVoxels.h:55
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 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 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 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_ObjectMeshHolder MR_ObjectMeshHolder
Definition MRObject.h:33
struct MR_ObjectVoxels MR_ObjectVoxels
Definition MRObject.h:36
struct MR_std_vector_std_string MR_std_vector_std_string
Definition MRPdf.h:29
struct MR_VolumeIndexer MR_VolumeIndexer
Definition MRVolumeIndexer.h:38
Definition MRAffineXf.h:39
Definition MRBox.h:110
Definition MRBox.h:94
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:162