VolumeObject Manual

About

A VolumeObject represents a volume (maxon::VolumeInterface) inside a Cinema 4D scene. Typically a VolumeObject is found in the cache of a generator like the VolumeBuilder. The VolumeObject class is defined in the lib_volumeobject.h header file.

A VolumeObject object is an instance of Ovolume.

// This example checks if the given object is a volume builder.
// If so, it accesses the cache to get the VolumeObject.
// check if VolumeBuilder
if (object->IsInstanceOf(Ovolumebuilder) == false)
return maxon::OK;
VolumeBuilder* const volumeBuilder = static_cast<VolumeBuilder*>(object);
// get cache
BaseObject* const cache = volumeBuilder->GetCache();
if (cache == nullptr)
return maxon::IllegalStateError(MAXON_SOURCE_LOCATION);
// check for volume object
if (cache->IsInstanceOf(Ovolume))
{
const VolumeObject* const volumeObject = static_cast<VolumeObject*>(cache);
const maxon::Volume volume = volumeObject->GetVolume();
const maxon::String gridName = volume.GetGridName();
DiagnosticOutput("Grid Name: @", gridName);
}
PyObject * object
Definition: asdl.h:7
Definition: string.h:1287
return OK
Definition: apibase.h:2740
#define Ovolume
Volume Object.
Definition: ge_prepass.h:1171
#define Ovolumebuilder
Volume Builder.
Definition: ge_prepass.h:1173
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:170
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:69
Definition: object.h:105

VolumeObject

A VolumeObject can be created with these functions:

  • VolumeObject::Alloc(): Creates a new VolumeObject.
  • VolumeObject::Free(): Deletes the given VolumeObject.

The volume represented by the object is accessed with:

  • VolumeObject::GetVolume(): Returns the volume. See VolumeInterface Manual.
  • VolumeObject::SetVolume(): Sets the volume.
  • VolumeObject::GetGridType(): Returns the grid type (::GRIDTYPE).
  • VolumeObject::GetGridClass(): Returns the grid class (::GRIDCLASS).

Further Reading