11#include <MRCMisc/common.h>
12#include <MRCMisc/exports.h>
482MRC_API
bool MR_ObjectVoxels_hasVisualRepresentation(
const MR_ObjectVoxels *_this);
487MRC_API
void MR_ObjectVoxels_setMaxSurfaceVertices(
MR_ObjectVoxels *_this,
int maxVerts);
492MRC_API
int MR_ObjectVoxels_getMaxSurfaceVertices(
const MR_ObjectVoxels *_this);
507MRC_API
void MR_ObjectVoxels_setDirtyFlags(
MR_ObjectVoxels *_this,
unsigned int mask,
const bool *invalidateCaches);
512MRC_API MR_uint64_t MR_ObjectVoxels_activeVoxels(
const MR_ObjectVoxels *_this);
517MRC_API MR_uint64_t MR_ObjectVoxels_heapBytes(
const MR_ObjectVoxels *_this);
522MRC_API
const char *MR_ObjectVoxels_serializeFormat(
const MR_ObjectVoxels *_this);
528MRC_API
void MR_ObjectVoxels_setSerializeFormat(
MR_ObjectVoxels *_this,
const char *newFormat);
551MRC_API
void MR_ObjectVoxels_setDirtyFlagsFast(
MR_ObjectVoxels *_this,
unsigned int mask);
556MRC_API
void MR_ObjectVoxels_invalidateMetricsCache(
MR_ObjectVoxels *_this,
unsigned int mask);
668MRC_API
void MR_ObjectVoxels_setFlatShading(
MR_ObjectVoxels *_this,
bool on);
745MRC_API
void MR_ObjectVoxels_setEdgeWidth(
MR_ObjectVoxels *_this,
float edgeWidth);
749MRC_API
float MR_ObjectVoxels_getEdgeWidth(
const MR_ObjectVoxels *_this);
753MRC_API
void MR_ObjectVoxels_setPointSize(
MR_ObjectVoxels *_this,
float size);
757MRC_API
float MR_ObjectVoxels_getPointSize(
const MR_ObjectVoxels *_this);
893MRC_API
bool MR_ObjectVoxels_hasAncillaryTexture(
const MR_ObjectVoxels *_this);
897MRC_API
void MR_ObjectVoxels_clearAncillaryTexture(
MR_ObjectVoxels *_this);
907MRC_API
bool MR_ObjectVoxels_isMeshClosed(
const MR_ObjectVoxels *_this);
919MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedFaces(
const MR_ObjectVoxels *_this);
924MRC_API MR_uint64_t MR_ObjectVoxels_numSelectedEdges(
const MR_ObjectVoxels *_this);
929MRC_API MR_uint64_t MR_ObjectVoxels_numCreaseEdges(
const MR_ObjectVoxels *_this);
939MRC_API
double MR_ObjectVoxels_selectedArea(
const MR_ObjectVoxels *_this);
954MRC_API MR_uint64_t MR_ObjectVoxels_numUndirectedEdges(
const MR_ObjectVoxels *_this);
959MRC_API MR_uint64_t MR_ObjectVoxels_numHoles(
const MR_ObjectVoxels *_this);
964MRC_API MR_uint64_t MR_ObjectVoxels_numComponents(
const MR_ObjectVoxels *_this);
969MRC_API MR_uint64_t MR_ObjectVoxels_numHandles(
const MR_ObjectVoxels *_this);
974MRC_API
const char *MR_ObjectVoxels_actualSerializeFormat(
const MR_ObjectVoxels *_this);
983MRC_API MR_uint64_t MR_ObjectVoxels_getModelHash(
const MR_ObjectVoxels *_this);
1124MRC_API
unsigned int MR_ObjectVoxels_getDirtyFlags(
const MR_ObjectVoxels *_this);
1134MRC_API
void MR_ObjectVoxels_resetDirtyExceptMask(
const MR_ObjectVoxels *_this,
unsigned int mask);
1168MRC_API
float MR_ObjectVoxels_getShininess(
const MR_ObjectVoxels *_this);
1173MRC_API
void MR_ObjectVoxels_setShininess(
MR_ObjectVoxels *_this,
float shininess);
1178MRC_API
float MR_ObjectVoxels_getSpecularStrength(
const MR_ObjectVoxels *_this);
1183MRC_API
void MR_ObjectVoxels_setSpecularStrength(
MR_ObjectVoxels *_this,
float specularStrength);
1188MRC_API
float MR_ObjectVoxels_getAmbientStrength(
const MR_ObjectVoxels *_this);
1193MRC_API
void MR_ObjectVoxels_setAmbientStrength(
MR_ObjectVoxels *_this,
float ambientStrength);
1218MRC_API
bool MR_ObjectVoxels_useDefaultScenePropertiesOnDeserialization(
const MR_ObjectVoxels *_this);
1224MRC_API
void MR_ObjectVoxels_setUseDefaultScenePropertiesOnDeserialization(
MR_ObjectVoxels *_this,
bool useDefaultScenePropertiesOnDeserialization);
1235MRC_API
void MR_ObjectVoxels_setName(
MR_ObjectVoxels *_this,
const char *name,
const char *name_end);
1310MRC_API
void MR_ObjectVoxels_setLocked(
MR_ObjectVoxels *_this,
bool on);
1316MRC_API
bool MR_ObjectVoxels_isParentLocked(
const MR_ObjectVoxels *_this);
1320MRC_API
void MR_ObjectVoxels_setParentLocked(
MR_ObjectVoxels *_this,
bool lock);
1353MRC_API
void MR_ObjectVoxels_removeAllChildren(
MR_ObjectVoxels *_this);
1373MRC_API
void MR_ObjectVoxels_setAncillary(
MR_ObjectVoxels *_this,
bool ancillary);
1377MRC_API
bool MR_ObjectVoxels_isAncillary(
const MR_ObjectVoxels *_this);
1382MRC_API
bool MR_ObjectVoxels_isGlobalAncillary(
const MR_ObjectVoxels *_this);
1412MRC_API
void MR_ObjectVoxels_resetRedrawFlag(
const MR_ObjectVoxels *_this);
1456MRC_API
bool MR_ObjectVoxels_addTag(
MR_ObjectVoxels *_this,
const char *tag,
const char *tag_end);
1464MRC_API
bool MR_ObjectVoxels_removeTag(
MR_ObjectVoxels *_this,
const char *tag,
const char *tag_end);
1707MRC_API
const MR_std_string *MR_defaultSerializeVoxelsFormat(
void);
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:28
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_ModelBaseRenderParams MR_ModelBaseRenderParams
Definition MRAddVisualPropertiesMixin.h:26
struct MR_ViewportProperty_unsigned_char MR_ViewportProperty_unsigned_char
Definition MRAddVisualPropertiesMixin.h:35
struct MR_VisualObject MR_VisualObject
Definition MRAddVisualPropertiesMixin.h:36
struct MR_AnyVisualizeMaskEnum MR_AnyVisualizeMaskEnum
Definition MRAddVisualPropertiesMixin.h:19
struct MR_ViewportMask MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:32
struct MR_std_shared_ptr_MR_Object MR_std_shared_ptr_MR_Object
Definition MRAddVisualPropertiesMixin.h:39
struct MR_std_vector_MR_ViewportMask MR_std_vector_MR_ViewportMask
Definition MRAddVisualPropertiesMixin.h:42
struct MR_ViewportProperty_MR_Color MR_ViewportProperty_MR_Color
Definition MRAddVisualPropertiesMixin.h:34
struct MR_ModelRenderParams MR_ModelRenderParams
Definition MRAddVisualPropertiesMixin.h:27
struct MR_std_set_std_string MR_std_set_std_string
Definition MRAddVisualPropertiesMixin.h:38
struct MR_UiRenderParams MR_UiRenderParams
Definition MRAddVisualPropertiesMixin.h:31
struct MR_ViewportProperty_MR_AffineXf3f MR_ViewportProperty_MR_AffineXf3f
Definition MRAddVisualPropertiesMixin.h:33
struct MR_ObjectChildrenHolder MR_ObjectChildrenHolder
Definition MRAddVisualPropertiesMixin.h:29
struct MR_VertMap MR_VertMap
Definition MRBitSet.h:40
struct MR_VoxelBitSet MR_VoxelBitSet
Definition MRBitSet.h:111
struct MR_FaceMap MR_FaceMap
Definition MRBitSet.h:26
struct MR_FloatGrid MR_FloatGrid
Definition MRBoolean.h:13
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:18
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:16
struct MR_std_optional_MR_Vector2f MR_std_optional_MR_Vector2f
Definition MRCNCMachineSettings.h:15
struct MR_FaceColors MR_FaceColors
Definition MRChangeColoringActions.h:13
struct MR_std_shared_ptr_MR_Mesh MR_std_shared_ptr_MR_Mesh
Definition MRChangeMeshAction.h:19
struct MR_TexturePerFace MR_TexturePerFace
Definition MRChangeMeshAction.h:15
struct MR_Vector_MR_MeshTexture_MR_TextureId MR_Vector_MR_MeshTexture_MR_TextureId
Definition MRChangeMeshAction.h:16
struct MR_ObjectMeshData MR_ObjectMeshData
Definition MRChangeMeshDataAction.h:15
struct MR_VertColors MR_VertColors
Definition MRCtm.h:22
struct MR_std_string MR_std_string
Definition MRCtm.h:32
struct MR_MeshTexture MR_MeshTexture
Definition MRCtm.h:18
struct MR_VertCoords2 MR_VertCoords2
Definition MRCtm.h:23
MR_ColoringType
Definition MREnums.h:86
char MR_FilterType
Definition MREnums.h:12
struct MR_Object MR_Object
Definition MRGltf.h:10
struct MR_Histogram MR_Histogram
Definition MRHistogram.h:19
struct MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float
Definition MRMarchingCubes.h:24
struct MR_SimpleVolume MR_SimpleVolume
Definition MRMarchingCubes.h:16
struct MR_expected_bool_std_string MR_expected_bool_std_string
Definition MRMeshCollide.h:18
struct MR_std_shared_ptr_const_MR_Mesh MR_std_shared_ptr_const_MR_Mesh
Definition MRMeshSaveObj.h:16
MRC_API const MR_ObjectMeshHolder * MR_ObjectVoxels_UpcastTo_MR_ObjectMeshHolder(const MR_ObjectVoxels *object)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_OffsetMutablePtr(MR_ObjectVoxels *ptr, ptrdiff_t i)
MR_ObjectVoxels_VolumeRenderingParams_LutType
Definition MRObjectVoxels.h:78
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_OneColor
Definition MRObjectVoxels.h:81
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_Rainbow
Definition MRObjectVoxels.h:80
@ MR_ObjectVoxels_VolumeRenderingParams_LutType_GrayShades
Definition MRObjectVoxels.h:79
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_DefaultConstruct(void)
MRC_API const MR_VdbVolume * MR_ObjectVoxels_vdbVolume(const MR_ObjectVoxels *_this)
MRC_API const char * MR_ObjectVoxels_typeName(const MR_ObjectVoxels *_this)
MRC_API MR_VoxelId MR_ObjectVoxels_getVoxelIdByPoint(const MR_ObjectVoxels *_this, const MR_Vector3f *point)
MRC_API bool MR_ObjectVoxels_isVolumeRenderingEnabled(const MR_ObjectVoxels *_this)
MRC_API MR_expected_std_shared_ptr_MR_Mesh_std_string * MR_ObjectVoxels_recalculateIsoSurface_2(const MR_ObjectVoxels *_this, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_construct_1(MR_ObjectVoxels *_this, const MR_VdbVolume *vdbVolume)
MRC_API MR_Object * MR_ObjectVoxels_MutableUpcastTo_MR_Object(MR_ObjectVoxels *object)
MRC_API bool MR_ObjectVoxels_prepareDataForVolumeRendering(const MR_ObjectVoxels *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_setDualMarchingCubes(MR_ObjectVoxels *_this, bool on, const bool *updateSurface, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_enableVolumeRendering(MR_ObjectVoxels *_this, bool on)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_DefaultConstructArray(size_t num_elems)
struct MR_ObjectVoxels_VolumeRenderingParams MR_ObjectVoxels_VolumeRenderingParams
Definition MRObjectVoxels.h:95
MRC_API void MR_ObjectVoxels_DestroyArray(const MR_ObjectVoxels *_this)
Destroys a heap-allocated array of MR_ObjectVoxels. Does nothing if the pointer is null.
MRC_API void MR_ObjectVoxels_applyScale(MR_ObjectVoxels *_this, float scaleFactor)
MRC_API const MR_VoxelBitSet * MR_ObjectVoxels_getSelectedVoxels(const MR_ObjectVoxels *_this)
MRC_API MR_Vector3i MR_ObjectVoxels_getCoordinateByVoxelId(const MR_ObjectVoxels *_this, MR_VoxelId id)
MRC_API void MR_ObjectVoxels_invalidateActiveBoundsCaches(MR_ObjectVoxels *_this)
MRC_API MR_VdbVolume * MR_ObjectVoxels_varVdbVolume(MR_ObjectVoxels *_this)
MRC_API const MR_Object * MR_ObjectVoxels_UpcastTo_MR_Object(const MR_ObjectVoxels *object)
MRC_API const MR_Box3i * MR_ObjectVoxels_getActiveBounds(const MR_ObjectVoxels *_this)
MRC_API void MR_ObjectVoxels_construct_3_MR_FloatGrid(MR_ObjectVoxels *_this, const MR_FloatGrid *grid, const MR_Vector3f *voxelSize, const MR_std_optional_MR_Vector2f *minmax)
MRC_API float MR_ObjectVoxels_getIsoValue(const MR_ObjectVoxels *_this)
MRC_API MR_VisualObject * MR_ObjectVoxels_MutableUpcastTo_MR_VisualObject(MR_ObjectVoxels *object)
MRC_API void MR_ObjectVoxels_setVoxelPointPositioner(MR_ObjectVoxels *_this, MR_PassBy positioner_pass_by, MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float *positioner)
MRC_API const MR_VoxelBitSet * MR_ObjectVoxels_getVolumeRenderActiveVoxels(const MR_ObjectVoxels *_this)
MRC_API void MR_setDefaultSerializeVoxelsFormat(const char *newFormat, const char *newFormat_end)
MRC_API MR_ObjectMeshHolder * MR_ObjectVoxels_MutableUpcastTo_MR_ObjectMeshHolder(MR_ObjectVoxels *object)
MR_ObjectVoxels_VolumeRenderingParams_ShadingType
Definition MRObjectVoxels.h:70
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_ValueGradient
Definition MRObjectVoxels.h:72
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_AlphaGradient
Definition MRObjectVoxels.h:73
@ MR_ObjectVoxels_VolumeRenderingParams_ShadingType_None
Definition MRObjectVoxels.h:71
MRC_API const char * MR_ObjectVoxels_StaticTypeName(void)
Generated from method MR::ObjectVoxels::StaticTypeName.
MRC_API void MR_ObjectVoxels_updateHistogramAndSurface(MR_ObjectVoxels *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_ObjectVoxels_setActiveBounds(MR_ObjectVoxels *_this, const MR_Box3i *activeBox, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *updateSurface)
MRC_API const MR_VolumeIndexer * MR_ObjectVoxels_getVolumeIndexer(const MR_ObjectVoxels *_this)
MRC_API MR_std_string * MR_ObjectVoxels_classNameInPlural(const MR_ObjectVoxels *_this)
MRC_API MR_VdbVolume * MR_ObjectVoxels_updateVdbVolume(MR_ObjectVoxels *_this, MR_PassBy vdbVolume_pass_by, MR_VdbVolume *vdbVolume)
MRC_API void MR_ObjectVoxels_construct_3_MR_SimpleVolumeMinMax(MR_ObjectVoxels *_this, const MR_SimpleVolumeMinMax *simpleVolumeMinMax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad)
MRC_API MR_std_vector_std_string * MR_ObjectVoxels_getInfoLines(const MR_ObjectVoxels *_this)
MRC_API bool MR_ObjectVoxels_hasModel(const MR_ObjectVoxels *_this)
MRC_API const MR_FloatGrid * MR_ObjectVoxels_grid(const MR_ObjectVoxels *_this)
MRC_API const MR_Vector3f * MR_ObjectVoxels_voxelSize(const MR_ObjectVoxels *_this)
MRC_API MR_expected_std_shared_ptr_MR_Mesh_std_string * MR_ObjectVoxels_recalculateIsoSurface_3(const MR_ObjectVoxels *_this, const MR_VdbVolume *volume, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Histogram * MR_ObjectVoxels_histogram(const MR_ObjectVoxels *_this)
MRC_API void MR_ObjectVoxels_selectVoxels(MR_ObjectVoxels *_this, const MR_VoxelBitSet *selectedVoxels)
MRC_API const MR_ObjectVoxels * MR_ObjectVoxels_OffsetPtr(const MR_ObjectVoxels *ptr, ptrdiff_t i)
MRC_API void MR_ObjectVoxels_construct_4(MR_ObjectVoxels *_this, const MR_SimpleVolume *simpleVolume, const MR_std_optional_MR_Vector2f *minmax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *normalPlusGrad)
MRC_API const char * MR_ObjectVoxels_StaticClassNameInPlural(void)
Generated from method MR::ObjectVoxels::StaticClassNameInPlural.
MRC_API MR_Histogram * MR_ObjectVoxels_recalculateHistogram(const MR_ObjectVoxels *_this, const MR_Vector2f *minmax, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Vector3i * MR_ObjectVoxels_dimensions(const MR_ObjectVoxels *_this)
MRC_API const MR_ObjectChildrenHolder * MR_ObjectVoxels_UpcastTo_MR_ObjectChildrenHolder(const MR_ObjectVoxels *object)
MRC_API MR_std_shared_ptr_MR_Mesh * MR_ObjectVoxels_updateIsoSurface(MR_ObjectVoxels *_this, MR_PassBy mesh_pass_by, MR_std_shared_ptr_MR_Mesh *mesh)
struct MR_expected_std_shared_ptr_MR_Mesh_std_string MR_expected_std_shared_ptr_MR_Mesh_std_string
Definition MRObjectVoxels.h:55
MRC_API MR_std_string * MR_ObjectVoxels_className(const MR_ObjectVoxels *_this)
MRC_API MR_VoxelId MR_ObjectVoxels_getVoxelIdByCoordinate(const MR_ObjectVoxels *_this, const MR_Vector3i *coord)
MRC_API MR_expected_bool_std_string * MR_ObjectVoxels_setIsoValue(MR_ObjectVoxels *_this, float iso, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *updateSurface)
MRC_API void MR_ObjectVoxels_Destroy(const MR_ObjectVoxels *_this)
Destroys a heap-allocated instance of MR_ObjectVoxels. Does nothing if the pointer is null.
MRC_API bool MR_ObjectVoxels_getDualMarchingCubes(const MR_ObjectVoxels *_this)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ObjectVoxels *_other)
MRC_API MR_ObjectVoxels * MR_ObjectVoxels_AssignFromAnother(MR_ObjectVoxels *_this, MR_PassBy _other_pass_by, MR_ObjectVoxels *_other)
MRC_API void MR_ObjectVoxels_setVolumeRenderActiveVoxels(MR_ObjectVoxels *_this, const MR_VoxelBitSet *activeVoxels)
MRC_API MR_ObjectChildrenHolder * MR_ObjectVoxels_MutableUpcastTo_MR_ObjectChildrenHolder(MR_ObjectVoxels *object)
MRC_API const char * MR_ObjectVoxels_StaticClassName(void)
Generated from method MR::ObjectVoxels::StaticClassName.
MRC_API MR_Histogram * MR_ObjectVoxels_updateHistogram(MR_ObjectVoxels *_this, MR_PassBy histogram_pass_by, MR_Histogram *histogram)
MR_ObjectVoxels_VolumeRenderingParams_AlphaType
Definition MRObjectVoxels.h:86
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearDecreasing
Definition MRObjectVoxels.h:89
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_LinearIncreasing
Definition MRObjectVoxels.h:88
@ MR_ObjectVoxels_VolumeRenderingParams_AlphaType_Constant
Definition MRObjectVoxels.h:87
MRC_API const MR_VisualObject * MR_ObjectVoxels_UpcastTo_MR_VisualObject(const MR_ObjectVoxels *object)
MRC_API const MR_std_shared_ptr_MR_Mesh * MR_ObjectVoxels_surface(const MR_ObjectVoxels *_this)
struct MR_ObjectMeshHolder MR_ObjectMeshHolder
Definition MRObject.h:33
struct MR_ObjectVoxels MR_ObjectVoxels
Definition MRObject.h:36
struct MR_std_vector_std_string MR_std_vector_std_string
Definition MRPdf.h:29
struct MR_VolumeIndexer MR_VolumeIndexer
Definition MRVolumeIndexer.h:38
Definition MRAffineXf.h:39
Generated from class MR::Color.
Definition MRColor.h:18
Generated from class MR::Vector2f.
Definition MRVector2.h:36
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Generated from class MR::Vector3i.
Definition MRVector3.h:63
Definition MRViewportId.h:17