point coordinates of joint animated object



  • 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:

    User Information:
    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.
    cheers,
    ello



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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.

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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));  
    }  
    else  
    {          
    cloneOfBase = op->GetAndCheckHierarchyClone(hh,baseMesh,HCLONE_ASPOLY,&dirty,NULL,FALSE);       
    }  
    

    cheers,
    Ello



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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?

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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

    cheers,
    ello



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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..

    Ello



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 30/06/2010 at 21:38, xxxxxxxx wrote:

    AtomArray::Free(array);



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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 :)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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.

    cheers,
    ello



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    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().

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 07/07/2010 at 03:49, xxxxxxxx wrote:

    thank you for the info. i am quite curious how this will affect the performance

    cheers,
    ello


Log in to reply