This example shows how to create volumetric boolean operations between volumetric datasets.


# Get inputs, in this case the entities that will have they volumes computed

entityA = vf.input_entity("entityA""Select Entity A"vf.type.voxel_generator | vf.type.voxel_terrain | vf.type.voxel_mesh)

entityB = vf.input_entity("entityB""Select Entity B"vf.type.voxel_generator | vf.type.voxel_terrain | vf.type.voxel_mesh)


# Next, we will request to load voxel data for the entity

# We are only interested in volume, we will request no other attributes for voxels

voxelsA = vf.load_voxels(entityAvf.attribute.volumeNone)

voxelsB = vf.load_voxels(entityBvf.attribute.volumeNone)


voxels_union = vf.voxels_union(voxelsAvoxelsBvf.attribute.volumeNone)

voxels_intersection = vf.voxels_intersection(voxelsAvoxelsBvf.attribute.volumeNone)

voxels_complementAB = vf.voxels_complement(voxelsAvoxelsBvf.attribute.volumeNone)

voxels_complementBA = vf.voxels_complement(voxelsBvoxelsAvf.attribute.volumeNone)