VolumeSet Manual
A VolumeSet is a BaseObject that stores a collection of volume objects ( VolumeObject ).
A VolumeSet object is an instance of Ovolumeset .
A VolumeSet object is created as usual (see Entity Creation and Destruction Manual (Classic) ):
A VolumeSet contains multiple VolumeObject elements. These elements are edited with:
// get grid names const maxon::BaseArray<maxon::String> gridNames = maxon::VolumeToolsInterface::GetGridNamesFromFile (volumeUrl) iferr_return ; const maxon::Int gridCnt = gridNames. GetCount (); if (gridCnt == 0) return maxon::IllegalArgumentError( MAXON_SOURCE_LOCATION );
// create volume set VolumeSet * const volumeSet = VolumeSet::Alloc (); if (volumeSet == nullptr ) return maxon::OutOfMemoryError( MAXON_SOURCE_LOCATION ); doc-> InsertObject (volumeSet, nullptr , nullptr );
// check all grids for ( maxon::Int gridIndex = 0; gridIndex < gridCnt; ++gridIndex) { // get grid name const maxon::String & gridName = gridNames[gridIndex];
// check grid name if (gridName == "cube_volume" _s) { // load volume data const maxon::Volume volume = maxon::VolumeInterface::CreateFromFile (volumeUrl, 1.0, gridIndex) iferr_return ;
// make volume object VolumeObject * const volumeObject = VolumeObject::Alloc (); if (volumeObject == nullptr ) return maxon::OutOfMemoryError( MAXON_SOURCE_LOCATION ); volumeObject-> SetName (gridName);
// store volume data volumeObject-> SetVolume (volume);
// insert volumeSet-> AddVolume (volumeObject); } }