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
120
123
127
130
134
137
141
144
148
151
155
158
161
166
169
173
176
181
184
189
192MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor);
193
199
205
210
216
220
226
231
237
242
247
259MRC_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);
260
269MRC_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);
270
280
286
293
302
309
316
323
330
338
346
351
358MRC_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);
359
364
373MRC_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);
374
381
386
391
396
402
408
416
421
425
431
432// prepare data for volume rendering
433// returns false if canceled or voxel data is empty
438
442
443// this function should only be called from GUI thread because it changes rendering object,
444// it can take some time to prepare data, so you can prepare data with progress callback
445// by calling `prepareDataForVolumeRendering(cb)` function before calling this one
449
450// move volume rendering data to caller: basically used in RenderVolumeObject
454MRC_API MR_SimpleVolume *MR_ObjectVoxels_getVolumeRenderingData(const MR_ObjectVoxels *_this);
455
459MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_getVolumeRenderingParams(const MR_ObjectVoxels *_this);
460
464MRC_API void MR_ObjectVoxels_setVolumeRenderingParams(MR_ObjectVoxels *_this, const MR_ObjectVoxels_VolumeRenderingParams *params);
465
468MRC_API bool MR_ObjectVoxels_hasVisualRepresentation(const MR_ObjectVoxels *_this);
469
473MRC_API void MR_ObjectVoxels_setMaxSurfaceVertices(MR_ObjectVoxels *_this, int maxVerts);
474
478MRC_API int MR_ObjectVoxels_getMaxSurfaceVertices(const MR_ObjectVoxels *_this);
479
483MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_clone(const MR_ObjectVoxels *_this);
484
488MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowClone(const MR_ObjectVoxels *_this);
489
493MRC_API void MR_ObjectVoxels_setDirtyFlags(MR_ObjectVoxels *_this, unsigned int mask, const bool *invalidateCaches);
494
498MRC_API MR_uint64_t MR_ObjectVoxels_activeVoxels(const MR_ObjectVoxels *_this);
499
503MRC_API MR_uint64_t MR_ObjectVoxels_heapBytes(const MR_ObjectVoxels *_this);
504
508MRC_API const char *MR_ObjectVoxels_serializeFormat(const MR_ObjectVoxels *_this);
509
514MRC_API void MR_ObjectVoxels_setSerializeFormat(MR_ObjectVoxels *_this, const char *newFormat);
515
519MRC_API void MR_ObjectVoxels_resetFrontColor(MR_ObjectVoxels *_this);
520
524MRC_API const MR_std_shared_ptr_const_MR_Mesh *MR_ObjectVoxels_mesh(const MR_ObjectVoxels *_this);
525
530MRC_API MR_MeshPart *MR_ObjectVoxels_meshPart(const MR_ObjectVoxels *_this);
531
535MRC_API const MR_FaceBitSet *MR_ObjectVoxels_getSelectedFaces(const MR_ObjectVoxels *_this);
536
539MRC_API void MR_ObjectVoxels_selectFaces(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_FaceBitSet *newSelection);
540
546MRC_API const MR_Color *MR_ObjectVoxels_getSelectedFacesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
547
553MRC_API void MR_ObjectVoxels_setSelectedFacesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
554
558MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_getSelectedEdges(const MR_ObjectVoxels *_this);
559
562MRC_API void MR_ObjectVoxels_selectEdges(MR_ObjectVoxels *_this, MR_PassBy newSelection_pass_by, MR_UndirectedEdgeBitSet *newSelection);
563
569MRC_API const MR_Color *MR_ObjectVoxels_getSelectedEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
570
576MRC_API void MR_ObjectVoxels_setSelectedEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
577
581MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
582
585MRC_API void MR_ObjectVoxels_setSelectedEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
586
590MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getSelectedFacesColorsForAllViewports(const MR_ObjectVoxels *_this);
591
594MRC_API void MR_ObjectVoxels_setSelectedFacesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
595
599MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getEdgesColorsForAllViewports(const MR_ObjectVoxels *_this);
600
603MRC_API void MR_ObjectVoxels_setEdgesColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
604
608MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getPointsColorsForAllViewports(const MR_ObjectVoxels *_this);
609
612MRC_API void MR_ObjectVoxels_setPointsColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
613
617MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBordersColorsForAllViewports(const MR_ObjectVoxels *_this);
618
621MRC_API void MR_ObjectVoxels_setBordersColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
622
627MRC_API void MR_ObjectVoxels_copyAllSolidColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *other);
628
633MRC_API const MR_UndirectedEdgeBitSet *MR_ObjectVoxels_creases(const MR_ObjectVoxels *_this);
634
637MRC_API void MR_ObjectVoxels_setCreases(MR_ObjectVoxels *_this, MR_PassBy creases_pass_by, MR_UndirectedEdgeBitSet *creases);
638
642MRC_API void MR_ObjectVoxels_setFlatShading(MR_ObjectVoxels *_this, bool on);
643
646MRC_API bool MR_ObjectVoxels_flatShading(const MR_ObjectVoxels *_this);
647
651MRC_API bool MR_ObjectVoxels_supportsVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
652
657MRC_API MR_std_vector_MR_ViewportMask *MR_ObjectVoxels_getAllVisualizeProperties(const MR_ObjectVoxels *_this);
658
664MRC_API const MR_ViewportMask *MR_ObjectVoxels_getVisualizePropertyMask(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type);
665
670MRC_API const MR_ObjectMeshData *MR_ObjectVoxels_data(const MR_ObjectVoxels *_this);
671
678MRC_API void MR_ObjectVoxels_setData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
679
684MRC_API void MR_ObjectVoxels_updateData(MR_ObjectVoxels *_this, MR_ObjectMeshData *data);
685
690MRC_API const MR_VertColors *MR_ObjectVoxels_getVertsColorMap(const MR_ObjectVoxels *_this);
691
695MRC_API void MR_ObjectVoxels_setVertsColorMap(MR_ObjectVoxels *_this, MR_PassBy vertsColorMap_pass_by, MR_VertColors *vertsColorMap);
696
701MRC_API void MR_ObjectVoxels_updateVertsColorMap(MR_ObjectVoxels *_this, MR_VertColors *vertsColorMap);
702
706MRC_API const MR_FaceColors *MR_ObjectVoxels_getFacesColorMap(const MR_ObjectVoxels *_this);
707
710MRC_API void MR_ObjectVoxels_setFacesColorMap(MR_ObjectVoxels *_this, MR_PassBy facesColorMap_pass_by, MR_FaceColors *facesColorMap);
711
715MRC_API void MR_ObjectVoxels_updateFacesColorMap(MR_ObjectVoxels *_this, MR_FaceColors *updated);
716
719MRC_API void MR_ObjectVoxels_setEdgeWidth(MR_ObjectVoxels *_this, float edgeWidth);
720
723MRC_API float MR_ObjectVoxels_getEdgeWidth(const MR_ObjectVoxels *_this);
724
727MRC_API void MR_ObjectVoxels_setPointSize(MR_ObjectVoxels *_this, float size);
728
731MRC_API float MR_ObjectVoxels_getPointSize(const MR_ObjectVoxels *_this);
732
737MRC_API const MR_Color *MR_ObjectVoxels_getEdgesColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
738
743MRC_API void MR_ObjectVoxels_setEdgesColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
744
749MRC_API const MR_Color *MR_ObjectVoxels_getPointsColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
750
755MRC_API void MR_ObjectVoxels_setPointsColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
756
761MRC_API const MR_Color *MR_ObjectVoxels_getBordersColor(const MR_ObjectVoxels *_this, const MR_ViewportId *id);
762
767MRC_API void MR_ObjectVoxels_setBordersColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *id);
768
773MRC_API const MR_MeshTexture *MR_ObjectVoxels_getTexture(const MR_ObjectVoxels *_this);
774
778MRC_API const MR_Vector_MR_MeshTexture_MR_TextureId *MR_ObjectVoxels_getTextures(const MR_ObjectVoxels *_this);
779
782MRC_API void MR_ObjectVoxels_setTextures(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_Vector_MR_MeshTexture_MR_TextureId *texture);
783
787MRC_API void MR_ObjectVoxels_updateTextures(MR_ObjectVoxels *_this, MR_Vector_MR_MeshTexture_MR_TextureId *updated);
788
793MRC_API void MR_ObjectVoxels_setTexturePerFace(MR_ObjectVoxels *_this, MR_PassBy texturePerFace_pass_by, MR_TexturePerFace *texturePerFace);
794
798MRC_API void MR_ObjectVoxels_updateTexturePerFace(MR_ObjectVoxels *_this, MR_TexturePerFace *texturePerFace);
799
802MRC_API void MR_ObjectVoxels_addTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
803
807MRC_API const MR_TexturePerFace *MR_ObjectVoxels_getTexturePerFace(const MR_ObjectVoxels *_this);
808
812MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getUVCoords(const MR_ObjectVoxels *_this);
813
816MRC_API void MR_ObjectVoxels_setUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
817
821MRC_API void MR_ObjectVoxels_updateUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
822
830MRC_API void MR_ObjectVoxels_copyTextureAndColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
831
839MRC_API void MR_ObjectVoxels_copyColors(MR_ObjectVoxels *_this, const MR_ObjectMeshHolder *src, const MR_VertMap *thisToSrc, const MR_FaceMap *thisToSrcFaces);
840
841// ancillary texture can be used to have custom features visualization without affecting real one
845MRC_API const MR_MeshTexture *MR_ObjectVoxels_getAncillaryTexture(const MR_ObjectVoxels *_this);
846
849MRC_API void MR_ObjectVoxels_setAncillaryTexture(MR_ObjectVoxels *_this, MR_PassBy texture_pass_by, MR_MeshTexture *texture);
850
854MRC_API const MR_VertCoords2 *MR_ObjectVoxels_getAncillaryUVCoords(const MR_ObjectVoxels *_this);
855
858MRC_API void MR_ObjectVoxels_setAncillaryUVCoords(MR_ObjectVoxels *_this, MR_PassBy uvCoordinates_pass_by, MR_VertCoords2 *uvCoordinates);
859
863MRC_API void MR_ObjectVoxels_updateAncillaryUVCoords(MR_ObjectVoxels *_this, MR_VertCoords2 *updated);
864
867MRC_API bool MR_ObjectVoxels_hasAncillaryTexture(const MR_ObjectVoxels *_this);
868
871MRC_API void MR_ObjectVoxels_clearAncillaryTexture(MR_ObjectVoxels *_this);
872
877MRC_API unsigned int MR_ObjectVoxels_getNeededNormalsRenderDirtyValue(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
878
882MRC_API bool MR_ObjectVoxels_getRedrawFlag(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
883
887MRC_API bool MR_ObjectVoxels_isMeshClosed(const MR_ObjectVoxels *_this);
888
894MRC_API MR_Box3f MR_ObjectVoxels_getWorldBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
895
899MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedFaces(const MR_ObjectVoxels *_this);
900
904MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedEdges(const MR_ObjectVoxels *_this);
905
909MRC_API MR_uint64_t MR_ObjectVoxels_numCreaseEdges(const MR_ObjectVoxels *_this);
910
914MRC_API double MR_ObjectVoxels_totalArea(const MR_ObjectVoxels *_this);
915
919MRC_API double MR_ObjectVoxels_selectedArea(const MR_ObjectVoxels *_this);
920
924MRC_API double MR_ObjectVoxels_volume(const MR_ObjectVoxels *_this);
925
929MRC_API float MR_ObjectVoxels_avgEdgeLen(const MR_ObjectVoxels *_this);
930
934MRC_API MR_uint64_t MR_ObjectVoxels_numUndirectedEdges(const MR_ObjectVoxels *_this);
935
939MRC_API MR_uint64_t MR_ObjectVoxels_numHoles(const MR_ObjectVoxels *_this);
940
944MRC_API MR_uint64_t MR_ObjectVoxels_numComponents(const MR_ObjectVoxels *_this);
945
949MRC_API MR_uint64_t MR_ObjectVoxels_numHandles(const MR_ObjectVoxels *_this);
950
954MRC_API const char *MR_ObjectVoxels_actualSerializeFormat(const MR_ObjectVoxels *_this);
955
959MRC_API void MR_ObjectVoxels_resetColors(MR_ObjectVoxels *_this);
960
963MRC_API MR_uint64_t MR_ObjectVoxels_getModelHash(const MR_ObjectVoxels *_this);
964
968MRC_API bool MR_ObjectVoxels_sameModels(const MR_ObjectVoxels *_this, const MR_Object *other);
969
975MRC_API void MR_ObjectVoxels_setVisualizeProperty(MR_ObjectVoxels *_this, bool value, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
976
982MRC_API void MR_ObjectVoxels_setVisualizePropertyMask(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
983
989MRC_API bool MR_ObjectVoxels_getVisualizeProperty(const MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
990
996MRC_API void MR_ObjectVoxels_toggleVisualizeProperty(MR_ObjectVoxels *_this, const MR_AnyVisualizeMaskEnum *type, const MR_ViewportMask *viewportMask);
997
1002MRC_API void MR_ObjectVoxels_setAllVisualizeProperties(MR_ObjectVoxels *_this, const MR_std_vector_MR_ViewportMask *properties);
1003
1008MRC_API MR_ViewportMask *MR_ObjectVoxels_globalClippedByPlaneMask(const MR_ObjectVoxels *_this);
1009
1015MRC_API bool MR_ObjectVoxels_globalClippedByPlane(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1016
1022MRC_API void MR_ObjectVoxels_setGlobalClippedByPlane(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1023
1030MRC_API const MR_Color *MR_ObjectVoxels_getFrontColor(const MR_ObjectVoxels *_this, const bool *selected, const MR_ViewportId *viewportId);
1031
1037MRC_API void MR_ObjectVoxels_setFrontColor(MR_ObjectVoxels *_this, const MR_Color *color, bool selected, const MR_ViewportId *viewportId);
1038
1044MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getFrontColorsForAllViewports(const MR_ObjectVoxels *_this, const bool *selected);
1045
1050MRC_API void MR_ObjectVoxels_setFrontColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val, const bool *selected);
1051
1056MRC_API const MR_ViewportProperty_MR_Color *MR_ObjectVoxels_getBackColorsForAllViewports(const MR_ObjectVoxels *_this);
1057
1061MRC_API void MR_ObjectVoxels_setBackColorsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_MR_Color *val);
1062
1068MRC_API const MR_Color *MR_ObjectVoxels_getBackColor(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1069
1075MRC_API void MR_ObjectVoxels_setBackColor(MR_ObjectVoxels *_this, const MR_Color *color, const MR_ViewportId *viewportId);
1076
1082MRC_API const unsigned char *MR_ObjectVoxels_getGlobalAlpha(const MR_ObjectVoxels *_this, const MR_ViewportId *viewportId);
1083
1088MRC_API void MR_ObjectVoxels_setGlobalAlpha(MR_ObjectVoxels *_this, unsigned char alpha, const MR_ViewportId *viewportId);
1089
1094MRC_API const MR_ViewportProperty_unsigned_char *MR_ObjectVoxels_getGlobalAlphaForAllViewports(const MR_ObjectVoxels *_this);
1095
1099MRC_API void MR_ObjectVoxels_setGlobalAlphaForAllViewports(MR_ObjectVoxels *_this, MR_PassBy val_pass_by, MR_ViewportProperty_unsigned_char *val);
1100
1104MRC_API unsigned int MR_ObjectVoxels_getDirtyFlags(const MR_ObjectVoxels *_this);
1105
1109MRC_API void MR_ObjectVoxels_resetDirty(const MR_ObjectVoxels *_this);
1110
1114MRC_API void MR_ObjectVoxels_resetDirtyExceptMask(const MR_ObjectVoxels *_this, unsigned int mask);
1115
1119MRC_API MR_Box3f MR_ObjectVoxels_getBoundingBox(const MR_ObjectVoxels *_this);
1120
1126MRC_API bool MR_ObjectVoxels_isPickable(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1127
1133MRC_API void MR_ObjectVoxels_setPickable(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1134
1138MRC_API MR_ColoringType MR_ObjectVoxels_getColoringType(const MR_ObjectVoxels *_this);
1139
1143MRC_API void MR_ObjectVoxels_setColoringType(MR_ObjectVoxels *_this, MR_ColoringType coloringType);
1144
1148MRC_API float MR_ObjectVoxels_getShininess(const MR_ObjectVoxels *_this);
1149
1153MRC_API void MR_ObjectVoxels_setShininess(MR_ObjectVoxels *_this, float shininess);
1154
1158MRC_API float MR_ObjectVoxels_getSpecularStrength(const MR_ObjectVoxels *_this);
1159
1163MRC_API void MR_ObjectVoxels_setSpecularStrength(MR_ObjectVoxels *_this, float specularStrength);
1164
1168MRC_API float MR_ObjectVoxels_getAmbientStrength(const MR_ObjectVoxels *_this);
1169
1173MRC_API void MR_ObjectVoxels_setAmbientStrength(MR_ObjectVoxels *_this, float ambientStrength);
1174
1180MRC_API bool MR_ObjectVoxels_render(const MR_ObjectVoxels *_this, const MR_ModelRenderParams *_1);
1181
1186MRC_API void MR_ObjectVoxels_renderForPicker(const MR_ObjectVoxels *_this, const MR_ModelBaseRenderParams *_1, unsigned int _2);
1187
1192MRC_API void MR_ObjectVoxels_renderUi(const MR_ObjectVoxels *_this, const MR_UiRenderParams *params);
1193
1198MRC_API bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(const MR_ObjectVoxels *_this);
1199
1204MRC_API void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(MR_ObjectVoxels *_this, bool useDefaultScenePropertiesOnDeserialization);
1205
1209MRC_API const MR_std_string *MR_ObjectVoxels_name(const MR_ObjectVoxels *_this);
1210
1215MRC_API void MR_ObjectVoxels_setName(MR_ObjectVoxels *_this, const char *name, const char *name_end);
1216
1224MRC_API const MR_AffineXf3f *MR_ObjectVoxels_xf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1225
1230MRC_API void MR_ObjectVoxels_setXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1231
1236MRC_API void MR_ObjectVoxels_resetXf(MR_ObjectVoxels *_this, const MR_ViewportId *id);
1237
1242MRC_API const MR_ViewportProperty_MR_AffineXf3f *MR_ObjectVoxels_xfsForAllViewports(const MR_ObjectVoxels *_this);
1243
1247MRC_API void MR_ObjectVoxels_setXfsForAllViewports(MR_ObjectVoxels *_this, MR_PassBy xf_pass_by, MR_ViewportProperty_MR_AffineXf3f *xf);
1248
1255MRC_API MR_AffineXf3f MR_ObjectVoxels_worldXf(const MR_ObjectVoxels *_this, const MR_ViewportId *id, bool *isDef);
1256
1261MRC_API void MR_ObjectVoxels_setWorldXf(MR_ObjectVoxels *_this, const MR_AffineXf3f *xf, const MR_ViewportId *id);
1262
1267MRC_API MR_ViewportMask *MR_ObjectVoxels_globalVisibilityMask(const MR_ObjectVoxels *_this);
1268
1274MRC_API bool MR_ObjectVoxels_globalVisibility(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1275
1281MRC_API void MR_ObjectVoxels_setGlobalVisibility(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1282
1286MRC_API bool MR_ObjectVoxels_isLocked(const MR_ObjectVoxels *_this);
1287
1290MRC_API void MR_ObjectVoxels_setLocked(MR_ObjectVoxels *_this, bool on);
1291
1296MRC_API bool MR_ObjectVoxels_isParentLocked(const MR_ObjectVoxels *_this);
1297
1300MRC_API void MR_ObjectVoxels_setParentLocked(MR_ObjectVoxels *_this, bool lock);
1301
1305MRC_API bool MR_ObjectVoxels_isAncestor(const MR_ObjectVoxels *_this, const MR_Object *ancestor);
1306
1311MRC_API bool MR_ObjectVoxels_detachFromParent(MR_ObjectVoxels *_this);
1312
1320MRC_API bool MR_ObjectVoxels_addChild(MR_ObjectVoxels *_this, MR_PassBy child_pass_by, MR_std_shared_ptr_MR_Object *child, const bool *recognizedChild);
1321
1328MRC_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);
1329
1333MRC_API void MR_ObjectVoxels_removeAllChildren(MR_ObjectVoxels *_this);
1334
1338MRC_API void MR_ObjectVoxels_sortChildren(MR_ObjectVoxels *_this);
1339
1343MRC_API bool MR_ObjectVoxels_select(MR_ObjectVoxels *_this, bool on);
1344
1347MRC_API bool MR_ObjectVoxels_isSelected(const MR_ObjectVoxels *_this);
1348
1353MRC_API void MR_ObjectVoxels_setAncillary(MR_ObjectVoxels *_this, bool ancillary);
1354
1357MRC_API bool MR_ObjectVoxels_isAncillary(const MR_ObjectVoxels *_this);
1358
1362MRC_API bool MR_ObjectVoxels_isGlobalAncillary(const MR_ObjectVoxels *_this);
1363
1369MRC_API void MR_ObjectVoxels_setVisible(MR_ObjectVoxels *_this, bool on, const MR_ViewportMask *viewportMask);
1370
1376MRC_API bool MR_ObjectVoxels_isVisible(const MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1377
1382MRC_API void MR_ObjectVoxels_setVisibilityMask(MR_ObjectVoxels *_this, const MR_ViewportMask *viewportMask);
1383
1388MRC_API MR_ViewportMask *MR_ObjectVoxels_visibilityMask(const MR_ObjectVoxels *_this);
1389
1392MRC_API void MR_ObjectVoxels_resetRedrawFlag(const MR_ObjectVoxels *_this);
1393
1398MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_cloneTree(const MR_ObjectVoxels *_this);
1399
1405MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_shallowCloneTree(const MR_ObjectVoxels *_this);
1406
1413MRC_API void MR_ObjectVoxels_swap(MR_ObjectVoxels *_this, MR_Object *other);
1414
1420MRC_API MR_Box3f MR_ObjectVoxels_getWorldTreeBox(const MR_ObjectVoxels *_this, const MR_ViewportId *_1);
1421
1427MRC_API const MR_std_set_std_string *MR_ObjectVoxels_tags(const MR_ObjectVoxels *_this);
1428
1436MRC_API bool MR_ObjectVoxels_addTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1437
1444MRC_API bool MR_ObjectVoxels_removeTag(MR_ObjectVoxels *_this, const char *tag, const char *tag_end);
1445
1446// returns this Object as shared_ptr
1447// finds it among its parent's recognized children
1451MRC_API MR_std_shared_ptr_MR_Object *MR_ObjectVoxels_getSharedPtr(const MR_ObjectVoxels *_this);
1452
1453// volume texture smoothing
1457MRC_API const MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_Get_volumeFilterType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1458
1459// volume texture smoothing
1462MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_FilterType value);
1463
1464// volume texture smoothing
1468MRC_API MR_FilterType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_volumeFilterType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1469
1473MRC_API const MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_Get_shadingType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1474
1477MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_ShadingType value);
1478
1482MRC_API MR_ObjectVoxels_VolumeRenderingParams_ShadingType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_shadingType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1483
1487MRC_API const MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_Get_lutType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1488
1491MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_LutType value);
1492
1496MRC_API MR_ObjectVoxels_VolumeRenderingParams_LutType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_lutType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1497
1498// color that is used for OneColor mode
1502MRC_API const MR_Color *MR_ObjectVoxels_VolumeRenderingParams_Get_oneColor(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1503
1504// color that is used for OneColor mode
1507MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_Color value);
1508
1509// color that is used for OneColor mode
1513MRC_API MR_Color *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_oneColor(MR_ObjectVoxels_VolumeRenderingParams *_this);
1514
1515// minimum colored value (voxels with lower values are transparent)
1519MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_min(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1520
1521// minimum colored value (voxels with lower values are transparent)
1524MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_min(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1525
1526// minimum colored value (voxels with lower values are transparent)
1530MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_min(MR_ObjectVoxels_VolumeRenderingParams *_this);
1531
1532// maximum colored value (voxels with higher values are transparent)
1536MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_max(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1537
1538// maximum colored value (voxels with higher values are transparent)
1541MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_max(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1542
1543// maximum colored value (voxels with higher values are transparent)
1547MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_max(MR_ObjectVoxels_VolumeRenderingParams *_this);
1548
1549// step to sample each ray with
1550// if <= 0 then default sampling is used
1554MRC_API const float *MR_ObjectVoxels_VolumeRenderingParams_Get_samplingStep(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1555
1556// step to sample each ray with
1557// if <= 0 then default sampling is used
1560MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this, float value);
1561
1562// step to sample each ray with
1563// if <= 0 then default sampling is used
1567MRC_API float *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_samplingStep(MR_ObjectVoxels_VolumeRenderingParams *_this);
1568
1572MRC_API const MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaType(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1573
1576MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this, MR_ObjectVoxels_VolumeRenderingParams_AlphaType value);
1577
1581MRC_API MR_ObjectVoxels_VolumeRenderingParams_AlphaType *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaType(MR_ObjectVoxels_VolumeRenderingParams *_this);
1582
1586MRC_API const unsigned char *MR_ObjectVoxels_VolumeRenderingParams_Get_alphaLimit(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1587
1590MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Set_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this, unsigned char value);
1591
1595MRC_API unsigned char *MR_ObjectVoxels_VolumeRenderingParams_GetMutable_alphaLimit(MR_ObjectVoxels_VolumeRenderingParams *_this);
1596
1599MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstruct(void);
1600
1604MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_DefaultConstructArray(size_t num_elems);
1605
1608MRC_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);
1609
1611MRC_API const MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetPtr(const MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1612
1614MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_OffsetMutablePtr(MR_ObjectVoxels_VolumeRenderingParams *ptr, ptrdiff_t i);
1615
1619MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_ConstructFromAnother(const MR_ObjectVoxels_VolumeRenderingParams *_other);
1620
1622MRC_API void MR_ObjectVoxels_VolumeRenderingParams_Destroy(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1623
1625MRC_API void MR_ObjectVoxels_VolumeRenderingParams_DestroyArray(const MR_ObjectVoxels_VolumeRenderingParams *_this);
1626
1631MRC_API MR_ObjectVoxels_VolumeRenderingParams *MR_ObjectVoxels_VolumeRenderingParams_AssignFromAnother(MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_other);
1632
1636MRC_API bool MR_equal_MR_ObjectVoxels_VolumeRenderingParams(const MR_ObjectVoxels_VolumeRenderingParams *_this, const MR_ObjectVoxels_VolumeRenderingParams *_1);
1637
1642MRC_API const MR_std_string *MR_defaultSerializeVoxelsFormat(void);
1643
1649MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end);
1650
1651#ifdef __cplusplus
1652} // extern "C"
1653#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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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