THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/01/2011 at 15:04, xxxxxxxx wrote:
Here is what I have up to where actual generation begins in the GetVirtualObjects() method. Let me know if you see any changes that can be made. Thanks! 
// ObjectData.GetVirtualObjects
//*---------------------------------------------------------------------------*
BaseObject* GreeblerObj::GetVirtualObjects(PluginObject* op, HierarchyHelp* hh)
//*---------------------------------------------------------------------------*
{
// Get first input object
BaseObject* child = op->GetDown();
if (!child) return NULL;
// Generate polygonalized clones of input objects
// NOTE: 'mainop' is the polygonized original returned with greebler-generated objects
#ifndef C4D_R12
hh->AddVFlags(VFLAG_POLYGONAL);
#endif
Bool dirty = op->CheckCache(hh) || op->IsDirty(DIRTYFLAGS_DATA);
if (!dirty) return op->GetCache(hh);
mainop = op->GetAndCheckHierarchyClone(hh, child, HIERARCHYCLONEFLAGS_ASPOLY, &dirty, NULL, TRUE);
// - if !dirty object is already cached and doesn't need to be rebuilt
if (!dirty) return mainop;
if (!mainop) return NULL;
// GreeblerObj BaseContainer
BaseContainer* obc = op->GetDataInstance();
if (!obc) return mainop;
// Progress Bar - Begin
StatusSetText("Greebler Updating...");
StatusSetSpin();
...
}