About
A VolumeBuilder is used to create a volume based on various input objects. The created volumes are represented as VolumeObject objects within the generator's cache. The VolumeBuilder class is defined in the lib_volumebuilder.h header file. The parameter IDs are defined in ovolumebuilder.h.
A VolumeBuilder object is an instance of Ovolumebuilder. 
VolumeBuilder
Creation
A VolumeBuilder object is created with these functions:
- VolumeBuilder::Alloc(): Creates a new VolumeBuilder object.
 
- VolumeBuilder::Free(): Deletes the given VolumeBuilder object.
 
  
  
 
  VolumeBuilder* const volumeBuilder = VolumeBuilder::Alloc();
  if (volumeBuilder == nullptr)
 
  doc->InsertObject(volumeBuilder, 
nullptr, 
nullptr);
 
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:69
 
const char * doc
Definition: pyerrors.h:226
 
  
Input Objects
A VolumeBuilder creates volumes based on various input objects. Such input objects are added or removed to the input objects list with these functions:
- VolumeBuilder::AddSceneObject(): Adds the given BaseObject to the list.
 
- VolumeBuilder::RemoveObject(): Removes the object at the given index.
 
- VolumeBuilder::ClearInputObjects(): Clears the list of input objects.
 
  
 
 
  
 
  
  BaseContainer* 
const settings = volumeBuilder->GetSettingsContainerForIndex(
index);
 
  if (settings == nullptr)
 
  
Py_ssize_t * index
Definition: abstract.h:374
 
UNION
Union of both A and B.
Definition: ge_prepass.h:2
 
NORMAL
Definition: lib_birender.h:2
 
maxon::Int32 Int32
Definition: ge_sys_math.h:51
 
@ ID_VOLUMEBUILDER_TAG_OPTIMIZEANDCLOSE
Definition: tvolumebuilder.h:28
 
 The objects in the input list are accessed with:
- VolumeBuilder::GetListEntryCount(): Returns the number of all input elements (objects and folders).
 
- VolumeBuilder::GetInputObjectCount(): Returns the number of input objects.
 
- VolumeBuilder::GetInputObject(): Returns the BaseObject at the given index.
 
- VolumeBuilder::GetInputObjectByType(): Returns the BaseObject of the given type.
 
- VolumeBuilder::InputObjectIsChild(): Returns true if the object at the given index is a child of the VolumeBuilder object.
 
  
  
 
  const Int32 inputCount = volumeBuilder->GetListEntryCount();
 
 
  {
    const BaseObject* 
const inputObject = volumeBuilder->GetInputObject(
i);
 
    if (inputObject != nullptr)
    {
      
 
      
      if (volumeBuilder->InputObjectIsChild(
i))
 
    }
  }
Py_ssize_t i
Definition: abstract.h:645
 
const char const char * name
Definition: abstract.h:195
 
Definition: string.h:1287
 
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:170
 
 For each input object various settings can be set (see tvolumebuilder.h). The BaseContainer storing these settings is accessed with:
- VolumeBuilder::GetSettingsContainerForIndex(): Returns the BaseContainer for the object at the given index.
 
- VolumeBuilder::GetSettingsContainerForObject(): Returns the BaseContainer for the given BaseObject.
 
  
 
  BaseContainer* const settings = volumeBuilder->GetSettingsContainerForObject(inputObject);
  if (settings == nullptr)
 
@ ID_VOLUMEBUILDER_TAG_MESHRADIUS
Definition: tvolumebuilder.h:27
 
@ ID_VOLUMEBUILDER_TAG_USEPOINTS
Definition: tvolumebuilder.h:17
 
 The bool mode (::BOOLTYPE) of a given object is accessed with:
- VolumeBuilder::GetBoolMode(): Returns the bool mode for the given index.
 
- VolumeBuilder::SetBoolMode(): Sets the bool mode for the given index.
 
The mix mode (MIXTYPE) of a given object is accessed with:
- VolumeBuilder::GetMixMode(): Returns the mix mode for the given index.
 
- VolumeBuilder::SetMixMode(): Sets the mix mode for the given index.
 
The functional state of an object in the list is accessed by:
- VolumeBuilder::GetEnable(): Returns the enabled state for the given index.
 
- VolumeBuilder::SetEnable(): Sets the enabled state for the given index.
 
The selection state of an object in the list is accessed with:
- VolumeBuilder::GetSelected(): Returns the selection state for the given index.
 
- VolumeBuilder::SetSelected(): Sets the selection state for the given index.
 
The ::MIXVECTORTYPE defines how vector data is handled:
- VolumeBuilder::GetMixVectorMode(): Returns the mix vector mode for the given index.
 
- VolumeBuilder::SetMixVectorMode(): Sets the mix vector mode for the given index.
 
  
 
  const Int32 objectCount = volumeBuilder->GetListEntryCount();
 
 
  {
    const Bool selected = volumeBuilder->GetSelected(
i);
 
    if (selected)
      volumeBuilder->SetEnable(
i, 
true);
 
    else
      volumeBuilder->SetEnable(
i, 
false);
 
  }
maxon::Bool Bool
Definition: ge_sys_math.h:46
 
  
Further Reading