I can easily get a polygonal version of any simple object with SendModelingCommand and getting the CSTO of it. Or even using the GetDeformCache of the object.
But, if I start with a complex object, like the Figure, or a Extrude, or a Array, or an Atom Array, or a Cloner, etc... I get a hierarchy.
Is there any way to start with any type of primitive and get a simple polygonal object with ALL the parts, connected into a single mesh?
Also, the same for a spline, so that, for example, a set of spline placed inside a Array would result in a single, multi-segment, spline?
there is no simple function that returns the merged result of all objects from a generator's cache.
You simply have to get the meshes from the cache and merge them into a single mesh yourself. And, of course, also merge normals, UVs etc. as needed.
The "solution" I came up with was this:
and then go through all the objects of doc2, recursively.
Is this a correct way of doing things?
Polygonize() is just using SendModelingCommand() with MCOMMAND_CURRENTSTATETOOBJECT. You can actually see the C++ source in c4d_basedocument.cpp in the cinema.framework. But I don't think that this commands merges all objects into one polygon object.