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(nullptr);
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: c4d_baseobject.h:225
BaseObject * GetCache(HierarchyHelp *hh=nullptr)
Definition: c4d_baseobject.h:820
Bool IsInstanceOf(Int32 id) const
Definition: c4d_baselist.h:1436
Definition: lib_volumebuilder.h:43
Definition: lib_volumeobject.h:41
const maxon::VolumeInterface * GetVolume() const
Definition: string.h:1235
return OK
Definition: apibase.h:2690
#define Ovolume
Volume Object.
Definition: ge_prepass.h:1155
#define Ovolumebuilder
Volume Builder.
Definition: ge_prepass.h:1157
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:176
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:67
Definition: object.h:105

VolumeObject

A VolumeObject can be created with these functions:

The volume represented by the object is accessed with:

Further Reading