THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/06/2010 at 12:04, xxxxxxxx wrote:
Cinema 4D Version: r11
Platform: Windows ;
Language(s) : C++ ;
hi, i have a plugin where i create clones along points or polygons of a mesh. this works fine for still meshes, deformed meshes and PLA animated meshes, but not if the mesh is deformed by joints.
any ideas what is responsible for this?
thanks for any input.
On 30/06/2010 at 02:04, xxxxxxxx wrote:
How do you access the deformed mesh? Usally you have to perform a Current State To Object to obtain the deformed mesh.
On 30/06/2010 at 02:18, xxxxxxxx wrote:
I am using this:
//get the linked object
BaseObject* baseMesh = ToPoly((PolygonObject* )(bc->GetLink(BASEMESH,doc)));
PolygonObject* cloneOfBase = NULL;
if (baseMesh->GetType()==Opolygon || baseMesh->GetType()==Opoint)
cloneOfBase = static_cast<PolygonObject*>(baseMesh->GetClone(0, NULL));
cloneOfBase = op->GetAndCheckHierarchyClone(hh,baseMesh,HCLONE_ASPOLY,&dirty,NULL,FALSE);
On 30/06/2010 at 03:48, xxxxxxxx wrote:
You can't simply use the PolygonObject. You must first perform a Current State To Object. This is done with SendModelingCommand(). GetAndCheckHierarchyClone() on the other hand should take care of it when the linke dobject is not a polygon object. Does it work if the linked object is not a polygon object and deformed by a deformer?
On 30/06/2010 at 03:59, xxxxxxxx wrote:
yes, it works.. but with joints you need to have a polygon object. so i need to use currentstate to object.. i'll try it out
thank you for the hint
On 30/06/2010 at 11:45, xxxxxxxx wrote:
Hi, I got it working. However, i have now a memory leak and i dont know what i need to free?
Using MCOMMAND_CURRENTSTATETOOBJECT returns an AtomArray and the SDK tells me that i need to free it afterwards. GeFree seems not to work here..
thanks for your input..
On 30/06/2010 at 21:38, xxxxxxxx wrote:
On 30/06/2010 at 21:55, xxxxxxxx wrote:
thank you. it already worked, there did just another leak pop up due to the change i made
On 02/07/2010 at 23:19, xxxxxxxx wrote:
Another similar problem occurs when i clone objects that are animated by joints.
how can i clone objects which are animated by joints and apply positions and rotations to them??
do i need to use MCOMMAND_CURRENTSTATETOOBJECT in this case, too? this could get performance hungry for a bunch of clones...
thanks for any further input.
On 07/07/2010 at 03:47, xxxxxxxx wrote:
Yes, you need to use MCOMMAND_CURRENTSTATETOOBJECT in this case too. Whenever you need to access the deformed mesh you have to use MCOMMAND_CURRENTSTATETOOBJECT, at least in cases where you can't be sure that all caches are build. This is the case in GetVirtualObjects().
On 07/07/2010 at 03:49, xxxxxxxx wrote:
thank you for the info. i am quite curious how this will affect the performance