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
121
125
129
132
136
139
143
146
150
153
158
161
164
171
174
178
181
186
189
194
197MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor);
198
204
210
215
221
225
231
236
242
247
252
264MRC_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);
265
274MRC_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);
275
285
291
298
307
314
321
328
335
343
351
356
363MRC_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);
364
369
378MRC_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);
379
386
391
396
401
407
413
421
426
430
436
437// prepare data for volume rendering
438// returns false if canceled or voxel data is empty
443
447
448// this function should only be called from GUI thread because it changes rendering object,
449// it can take some time to prepare data, so you can prepare data with progress callback
450// by calling `prepareDataForVolumeRendering(cb)` function before calling this one
454
455// move volume rendering data to caller: basically used in RenderVolumeObject
459MRC_API MR_SimpleVolume *MR_ObjectVoxels_getVolumeRenderingData(const MR_ObjectVoxels *_this);
460
464MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_getVolumeRenderingParams(const MR_ObjectVoxels *_this);
465
469MRC_API void MR_ObjectVoxels_setVolumeRenderingParams(MR_ObjectVoxels *_this, const MR_ObjectVoxels_VolumeRenderingParams *params);
470
473MRC_API bool MR_ObjectVoxels_hasVisualRepresentation(const MR_ObjectVoxels *_this);
474
478MRC_API void MR_ObjectVoxels_setMaxSurfaceVertices(MR_ObjectVoxels *_this, int maxVerts);
479
483MRC_API int MR_ObjectVoxels_getMaxSurfaceVertices(const MR_ObjectVoxels *_this);
484
488MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_clone(const MR_ObjectVoxels *_this);
489
493MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowClone(const MR_ObjectVoxels *_this);
494
498MRC_API void MR_ObjectVoxels_setDirtyFlags(MR_ObjectVoxels *_this, unsigned int mask, const bool *invalidateCaches);
499
503MRC_API MR_uint64_t MR_ObjectVoxels_activeVoxels(const MR_ObjectVoxels *_this);
504
508MRC_API MR_uint64_t MR_ObjectVoxels_heapBytes(const MR_ObjectVoxels *_this);
509
513MRC_API const char *MR_ObjectVoxels_serializeFormat(const MR_ObjectVoxels *_this);
514
519MRC_API void MR_ObjectVoxels_setSerializeFormat(MR_ObjectVoxels *_this, const char *newFormat);
520
524MRC_API void MR_ObjectVoxels_resetFrontColor(MR_ObjectVoxels *_this);
525
529MRC_API const MR_std_shared_ptr_const_MR_Mesh *MR_ObjectVoxels_mesh(const MR_ObjectVoxels *_this);
530
535MRC_API MR_MeshPart *MR_ObjectVoxels_meshPart(const MR_ObjectVoxels *_this);
536
540MRC_API const MR_FaceBitSet *MR_ObjectVoxels_getSelectedFaces(const MR_ObjectVoxels *_this);
541
544MRC_API void MR_ObjectVoxels_selectFaces(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection);
545
551MRC_API const MR_Color *MR_ObjectVoxels_getSelectedFacesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
552
558MRC_API void MR_ObjectVoxels_setSelectedFacesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
559
563MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_getSelectedEdges(const MR_ObjectVoxels *_this);
564
567MRC_API void MR_ObjectVoxels_selectEdges(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection);
568
574MRC_API const MR_Color *MR_ObjectVoxels_getSelectedEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
575
581MRC_API void MR_ObjectVoxels_setSelectedEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
582
586MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
587
590MRC_API void MR_ObjectVoxels_setSelectedEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
591
595MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedFacesColorsForAllViewports(const MR_ObjectVoxels *_this);
596
599MRC_API void MR_ObjectVoxels_setSelectedFacesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
600
604MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
605
608MRC_API void MR_ObjectVoxels_setEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
609
613MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getPointsColorsForAllViewports(const MR_ObjectVoxels *_this);
614
617MRC_API void MR_ObjectVoxels_setPointsColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
618
622MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBordersColorsForAllViewports(const MR_ObjectVoxels *_this);
623
626MRC_API void MR_ObjectVoxels_setBordersColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
627
632MRC_API void MR_ObjectVoxels_copyAllSolidColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *other);
633
638MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_creases(const MR_ObjectVoxels *_this);
639
642MRC_API void MR_ObjectVoxels_setCreases(MR_ObjectVoxels *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases);
643
647MRC_API void MR_ObjectVoxels_setFlatShading(MR_ObjectVoxels *_this, bool on);
648
651MRC_API bool MR_ObjectVoxels_flatShading(const MR_ObjectVoxels *_this);
652
656MRC_API bool MR_ObjectVoxels_supportsVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
657
662MRC_API MR_std_vector_MR_ViewportMask *MR_ObjectVoxels_getAllVisualizeProperties(const MR_ObjectVoxels *_this);
663
669MRC_API const MR_ViewportMask *MR_ObjectVoxels_getVisualizePropertyMask(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
670
675MRC_API const MR_ObjectMeshData *MR_ObjectVoxels_data(const MR_ObjectVoxels *_this);
676
683MRC_API void MR_ObjectVoxels_setData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
684
689MRC_API void MR_ObjectVoxels_updateData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
690
695MRC_API const MR_VertColors *MR_ObjectVoxels_getVertsColorMap(const MR_ObjectVoxels *_this);
696
700MRC_API void MR_ObjectVoxels_setVertsColorMap(MR_ObjectVoxels *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap);
701
706MRC_API void MR_ObjectVoxels_updateVertsColorMap(MR_ObjectVoxels *_this, MR_VertColors *vertsColorMap);
707
711MRC_API const MR_FaceColors *MR_ObjectVoxels_getFacesColorMap(const MR_ObjectVoxels *_this);
712
715MRC_API void MR_ObjectVoxels_setFacesColorMap(MR_ObjectVoxels *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap);
716
720MRC_API void MR_ObjectVoxels_updateFacesColorMap(MR_ObjectVoxels *_this, MR_FaceColors *updated);
721
724MRC_API void MR_ObjectVoxels_setEdgeWidth(MR_ObjectVoxels *_this, float edgeWidth);
725
728MRC_API float MR_ObjectVoxels_getEdgeWidth(const MR_ObjectVoxels *_this);
729
732MRC_API void MR_ObjectVoxels_setPointSize(MR_ObjectVoxels *_this, float size);
733
736MRC_API float MR_ObjectVoxels_getPointSize(const MR_ObjectVoxels *_this);
737
742MRC_API const MR_Color *MR_ObjectVoxels_getEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
743
748MRC_API void MR_ObjectVoxels_setEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
749
754MRC_API const MR_Color *MR_ObjectVoxels_getPointsColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
755
760MRC_API void MR_ObjectVoxels_setPointsColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
761
766MRC_API const MR_Color *MR_ObjectVoxels_getBordersColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
767
772MRC_API void MR_ObjectVoxels_setBordersColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
773
778MRC_API const MR_MeshTexture *MR_ObjectVoxels_getTexture(const MR_ObjectVoxels *_this);
779
783MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId *MR_ObjectVoxels_getTextures(const MR_ObjectVoxels *_this);
784
787MRC_API void MR_ObjectVoxels_setTextures(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture);
788
792MRC_API void MR_ObjectVoxels_updateTextures(MR_ObjectVoxels *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated);
793
798MRC_API void MR_ObjectVoxels_setTexturePerFace(MR_ObjectVoxels *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace);
799
803MRC_API void MR_ObjectVoxels_updateTexturePerFace(MR_ObjectVoxels *_this, MR_TexturePerFace *texturePerFace);
804
807MRC_API void MR_ObjectVoxels_addTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
808
812MRC_API const MR_TexturePerFace *MR_ObjectVoxels_getTexturePerFace(const MR_ObjectVoxels *_this);
813
817MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getUVCoords(const MR_ObjectVoxels *_this);
818
821MRC_API void MR_ObjectVoxels_setUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
822
826MRC_API void MR_ObjectVoxels_updateUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
827
835MRC_API void MR_ObjectVoxels_copyTextureAndColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
836
844MRC_API void MR_ObjectVoxels_copyColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
845
846// ancillary texture can be used to have custom features visualization without affecting real one
850MRC_API const MR_MeshTexture *MR_ObjectVoxels_getAncillaryTexture(const MR_ObjectVoxels *_this);
851
854MRC_API void MR_ObjectVoxels_setAncillaryTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
855
859MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getAncillaryUVCoords(const MR_ObjectVoxels *_this);
860
863MRC_API void MR_ObjectVoxels_setAncillaryUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
864
868MRC_API void MR_ObjectVoxels_updateAncillaryUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
869
872MRC_API bool MR_ObjectVoxels_hasAncillaryTexture(const MR_ObjectVoxels *_this);
873
876MRC_API void MR_ObjectVoxels_clearAncillaryTexture(MR_ObjectVoxels *_this);
877
882MRC_API unsigned int MR_ObjectVoxels_getNeededNormalsRenderDirtyValue(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
883
887MRC_API bool MR_ObjectVoxels_getRedrawFlag(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
888
892MRC_API bool MR_ObjectVoxels_isMeshClosed(const MR_ObjectVoxels *_this);
893
899MRC_API MR_Box3f MR_ObjectVoxels_getWorldBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
900
904MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedFaces(const MR_ObjectVoxels *_this);
905
909MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedEdges(const MR_ObjectVoxels *_this);
910
914MRC_API MR_uint64_t MR_ObjectVoxels_numCreaseEdges(const MR_ObjectVoxels *_this);
915
919MRC_API double MR_ObjectVoxels_totalArea(const MR_ObjectVoxels *_this);
920
924MRC_API double MR_ObjectVoxels_selectedArea(const MR_ObjectVoxels *_this);
925
929MRC_API double MR_ObjectVoxels_volume(const MR_ObjectVoxels *_this);
930
934MRC_API float MR_ObjectVoxels_avgEdgeLen(const MR_ObjectVoxels *_this);
935
939MRC_API MR_uint64_t MR_ObjectVoxels_numUndirectedEdges(const MR_ObjectVoxels *_this);
940
944MRC_API MR_uint64_t MR_ObjectVoxels_numHoles(const MR_ObjectVoxels *_this);
945
949MRC_API MR_uint64_t MR_ObjectVoxels_numComponents(const MR_ObjectVoxels *_this);
950
954MRC_API MR_uint64_t MR_ObjectVoxels_numHandles(const MR_ObjectVoxels *_this);
955
959MRC_API const char *MR_ObjectVoxels_actualSerializeFormat(const MR_ObjectVoxels *_this);
960
964MRC_API void MR_ObjectVoxels_resetColors(MR_ObjectVoxels *_this);
965
968MRC_API MR_uint64_t MR_ObjectVoxels_getModelHash(const MR_ObjectVoxels *_this);
969
973MRC_API bool MR_ObjectVoxels_sameModels(const MR_ObjectVoxels *_this, const MR_Object *other);
974
980MRC_API void MR_ObjectVoxels_setVisualizeProperty(MR_ObjectVoxels *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
981
987MRC_API void MR_ObjectVoxels_setVisualizePropertyMask(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
988
994MRC_API bool MR_ObjectVoxels_getVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
995
1001MRC_API void MR_ObjectVoxels_toggleVisualizeProperty(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
1002
1007MRC_API void MR_ObjectVoxels_setAllVisualizeProperties(MR_ObjectVoxels *_this, const MR_std_vector_MR_ViewportMask *properties);
1008
1013MRC_API MR_ViewportMask *MR_ObjectVoxels_globalClippedByPlaneMask(const MR_ObjectVoxels *_this);
1014
1020MRC_API bool MR_ObjectVoxels_globalClippedByPlane(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1021
1027MRC_API void MR_ObjectVoxels_setGlobalClippedByPlane(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1028
1035MRC_API const MR_Color *MR_ObjectVoxels_getFrontColor(const MR_ObjectVoxels *_this, const bool *selected, const MR_ViewportId *viewportId);
1036
1042MRC_API void MR_ObjectVoxels_setFrontColor(MR_ObjectVoxels *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
1043
1049MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getFrontColorsForAllViewports(const MR_ObjectVoxels *_this, const bool *selected);
1050
1055MRC_API void MR_ObjectVoxels_setFrontColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected);
1056
1061MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBackColorsForAllViewports(const MR_ObjectVoxels *_this);
1062
1066MRC_API void MR_ObjectVoxels_setBackColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
1067
1073MRC_API const MR_Color *MR_ObjectVoxels_getBackColor(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1074
1080MRC_API void MR_ObjectVoxels_setBackColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *viewportId);
1081
1087MRC_API const unsigned char *MR_ObjectVoxels_getGlobalAlpha(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1088
1093MRC_API void MR_ObjectVoxels_setGlobalAlpha(MR_ObjectVoxels *_this, unsigned char alpha, const MR_ViewportId *viewportId);
1094
1099MRC_API const MR_ViewportProperty_unsigned_char *MR_ObjectVoxels_getGlobalAlphaForAllViewports(const MR_ObjectVoxels *_this);
1100
1104MRC_API void MR_ObjectVoxels_setGlobalAlphaForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val);
1105
1109MRC_API unsigned int MR_ObjectVoxels_getDirtyFlags(const MR_ObjectVoxels *_this);
1110
1114MRC_API void MR_ObjectVoxels_resetDirty(const MR_ObjectVoxels *_this);
1115
1119MRC_API void MR_ObjectVoxels_resetDirtyExceptMask(const MR_ObjectVoxels *_this, unsigned int mask);
1120
1124MRC_API MR_Box3f MR_ObjectVoxels_getBoundingBox(const MR_ObjectVoxels *_this);
1125
1131MRC_API bool MR_ObjectVoxels_isPickable(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1132
1138MRC_API void MR_ObjectVoxels_setPickable(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1139
1143MRC_API MR_ColoringType MR_ObjectVoxels_getColoringType(const MR_ObjectVoxels *_this);
1144
1148MRC_API void MR_ObjectVoxels_setColoringType(MR_ObjectVoxels *_this, MR_ColoringType coloringType);
1149
1153MRC_API float MR_ObjectVoxels_getShininess(const MR_ObjectVoxels *_this);
1154
1158MRC_API void MR_ObjectVoxels_setShininess(MR_ObjectVoxels *_this, float shininess);
1159
1163MRC_API float MR_ObjectVoxels_getSpecularStrength(const MR_ObjectVoxels *_this);
1164
1168MRC_API void MR_ObjectVoxels_setSpecularStrength(MR_ObjectVoxels *_this, float specularStrength);
1169
1173MRC_API float MR_ObjectVoxels_getAmbientStrength(const MR_ObjectVoxels *_this);
1174
1178MRC_API void MR_ObjectVoxels_setAmbientStrength(MR_ObjectVoxels *_this, float ambientStrength);
1179
1185MRC_API bool MR_ObjectVoxels_render(const MR_ObjectVoxels *_this, const MR_ModelRenderParams *_1);
1186
1191MRC_API void MR_ObjectVoxels_renderForPicker(const MR_ObjectVoxels *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2);
1192
1197MRC_API void MR_ObjectVoxels_renderUi(const MR_ObjectVoxels *_this, const MR_UiRenderParams *params);
1198
1203MRC_API bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(const MR_ObjectVoxels *_this);
1204
1209MRC_API void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(MR_ObjectVoxels *_this, bool useDefaultScenePropertiesOnDeserialization);
1210
1214MRC_API const MR_std_string *MR_ObjectVoxels_name(const MR_ObjectVoxels *_this);
1215
1220MRC_API void MR_ObjectVoxels_setName(MR_ObjectVoxels *_this, const char *name, const char *name_end);
1221
1229MRC_API const MR_AffineXf3f *MR_ObjectVoxels_xf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1230
1235MRC_API void MR_ObjectVoxels_setXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1236
1241MRC_API void MR_ObjectVoxels_resetXf(MR_ObjectVoxels *_this, const MR_ViewportId *id);
1242
1247MRC_API const MR_ViewportProperty_MR_AffineXf3f *MR_ObjectVoxels_xfsForAllViewports(const MR_ObjectVoxels *_this);
1248
1252MRC_API void MR_ObjectVoxels_setXfsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf);
1253
1260MRC_API MR_AffineXf3f MR_ObjectVoxels_worldXf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1261
1266MRC_API void MR_ObjectVoxels_setWorldXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1267
1272MRC_API MR_ViewportMask *MR_ObjectVoxels_globalVisibilityMask(const MR_ObjectVoxels *_this);
1273
1279MRC_API bool MR_ObjectVoxels_globalVisibility(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1280
1286MRC_API void MR_ObjectVoxels_setGlobalVisibility(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1287
1291MRC_API bool MR_ObjectVoxels_isLocked(const MR_ObjectVoxels *_this);
1292
1295MRC_API void MR_ObjectVoxels_setLocked(MR_ObjectVoxels *_this, bool on);
1296
1301MRC_API bool MR_ObjectVoxels_isParentLocked(const MR_ObjectVoxels *_this);
1302
1305MRC_API void MR_ObjectVoxels_setParentLocked(MR_ObjectVoxels *_this, bool lock);
1306
1310MRC_API bool MR_ObjectVoxels_isAncestor(const MR_ObjectVoxels *_this, const MR_Object *ancestor);
1311
1316MRC_API bool MR_ObjectVoxels_detachFromParent(MR_ObjectVoxels *_this);
1317
1325MRC_API bool MR_ObjectVoxels_addChild(MR_ObjectVoxels *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
1326
1333MRC_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);
1334
1338MRC_API void MR_ObjectVoxels_removeAllChildren(MR_ObjectVoxels *_this);
1339
1343MRC_API void MR_ObjectVoxels_sortChildren(MR_ObjectVoxels *_this);
1344
1348MRC_API bool MR_ObjectVoxels_select(MR_ObjectVoxels *_this, bool on);
1349
1352MRC_API bool MR_ObjectVoxels_isSelected(const MR_ObjectVoxels *_this);
1353
1358MRC_API void MR_ObjectVoxels_setAncillary(MR_ObjectVoxels *_this, bool ancillary);
1359
1362MRC_API bool MR_ObjectVoxels_isAncillary(const MR_ObjectVoxels *_this);
1363
1367MRC_API bool MR_ObjectVoxels_isGlobalAncillary(const MR_ObjectVoxels *_this);
1368
1374MRC_API void MR_ObjectVoxels_setVisible(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1375
1381MRC_API bool MR_ObjectVoxels_isVisible(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1382
1387MRC_API void MR_ObjectVoxels_setVisibilityMask(MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1388
1393MRC_API MR_ViewportMask *MR_ObjectVoxels_visibilityMask(const MR_ObjectVoxels *_this);
1394
1397MRC_API void MR_ObjectVoxels_resetRedrawFlag(const MR_ObjectVoxels *_this);
1398
1403MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_cloneTree(const MR_ObjectVoxels *_this);
1404
1410MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowCloneTree(const MR_ObjectVoxels *_this);
1411
1418MRC_API void MR_ObjectVoxels_swap(MR_ObjectVoxels *_this, MR_Object *other);
1419
1425MRC_API MR_Box3f MR_ObjectVoxels_getWorldTreeBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1426
1432MRC_API const MR_std_set_std_string *MR_ObjectVoxels_tags(const MR_ObjectVoxels *_this);
1433
1441MRC_API bool MR_ObjectVoxels_addTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1442
1449MRC_API bool MR_ObjectVoxels_removeTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1450
1451// returns this Object as shared_ptr
1452// finds it among its parent's recognized children
1456MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_getSharedPtr(const MR_ObjectVoxels *_this);
1457
1458// volume texture smoothing
1462MRC_API const MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_Get_volumeFilterType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1463
1464// volume texture smoothing
1469MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_FilterType value);
1470
1471// volume texture smoothing
1475MRC_API MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1476
1480MRC_API const MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_Get_shadingType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1481
1486MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_ShadingType value);
1487
1491MRC_API MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1492
1496MRC_API const MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_Get_lutType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1497
1502MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_LutType value);
1503
1507MRC_API MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1508
1509// color that is used for OneColor mode
1513MRC_API const MR_Color *MR_ObjectVoxels_VolumeRenderingParams_Get_oneColor(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1514
1515// color that is used for OneColor mode
1520MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_Color value);
1521
1522// color that is used for OneColor mode
1526MRC_API MR_Color *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this);
1527
1528// minimum colored value (voxels with lower values are transparent)
1532MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_min(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1533
1534// minimum colored value (voxels with lower values are transparent)
1538MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_min(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1539
1540// minimum colored value (voxels with lower values are transparent)
1544MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_min(MR_ObjectVoxels_VolumeRenderingParams *_this);
1545
1546// maximum colored value (voxels with higher values are transparent)
1550MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_max(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1551
1552// maximum colored value (voxels with higher values are transparent)
1556MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_max(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1557
1558// maximum colored value (voxels with higher values are transparent)
1562MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_max(MR_ObjectVoxels_VolumeRenderingParams *_this);
1563
1564// step to sample each ray with
1565// if <= 0 then default sampling is used
1569MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_samplingStep(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1570
1571// step to sample each ray with
1572// if <= 0 then default sampling is used
1576MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1577
1578// step to sample each ray with
1579// if <= 0 then default sampling is used
1583MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this);
1584
1588MRC_API const MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1589
1594MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_AlphaType value);
1595
1599MRC_API MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1600
1604MRC_API const unsigned char *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaLimit(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1605
1610MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this, unsigned char value);
1611
1615MRC_API unsigned char *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this);
1616
1619MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstruct(void);
1620
1624MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstructArray(size_t num_elems);
1625
1635MRC_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);
1636
1639MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetPtr(const MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1640
1643MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetMutablePtr(MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1644
1649MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFromAnother(const MR_ObjectVoxels_VolumeRenderingParams *_other);
1650
1652MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Destroy(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1653
1655MRC_API void MR_ObjectVoxels_VolumeRenderingParams_DestroyArray(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1656
1663MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_AssignFromAnother(MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_other);
1664
1668MRC_API bool MR_equal_MR_ObjectVoxels_VolumeRenderingParams(const MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_1);
1669
1674MRC_API const MR_std_string *MR_defaultSerializeVoxelsFormat(void);
1675
1681MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end);
1682
1683#ifdef __cplusplus
1684} // extern "C"
1685#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_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_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)
Upcasts an instance of MR::ObjectVoxels to its base class MR::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)
Upcasts an instance of MR::ObjectVoxels to its base class MR::VisualObject.
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)
Upcasts an instance of MR::ObjectVoxels to its base class MR::ObjectMeshHolder.
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)
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)
Upcasts an instance of MR::ObjectVoxels to its base class MR::ObjectChildrenHolder.
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
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:13
struct MR_SimpleVolume MR_SimpleVolume
Definition expected_MR_SimpleVolume_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 exports.h:11
virtual std::string name() const override
size_t size() const
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:16
Definition MRAffineXf.h:39
Definition MRBox.h:110
Definition MRBox.h:94
Generated from class MR::Color.
Definition MRColor.h:18
Definition MRVector2.h:45
Definition MRVector3.h:52
Definition MRVector3.h:34
Definition MRViewportId.h:17
Definition MRId.h:162