[ODE] Re: Memory leak from dBodySetPosition()?

Geoff Carlton gcarlton at iinet.net.au
Mon May 2 10:05:35 MST 2005


Opcode needs to be changed so that Faces.Empty can be called.  It only 
crops up for ray/trimesh collisions, so that may be why you aren't 
seeing it.  Or perhaps it no longer leaks, I'm not sure.  Anyway, the 
change is:

OPC_RayCollider.h:
    class OPCODE_API CollisionFaces : private Container
    ...
        inline_    void                    Empty()                    
                { Container::Empty();                            }

Cheers,
Geoff

J. Perkins wrote:

>On 4/25/05, Geoff Carlton <gcarlton at iinet.net.au> wrote:
>  
>
>>Trimesh has some static caches that need to be cleared.  Try adding a
>>function in trimesh.cpp that is called during dCloseODE.
>>
>>void dClearTrimeshCaches(void)
>>{
>>    dxTriMesh::defaultSphereCache.TouchedPrimitives.Empty();
>>    dxTriMesh::defaultBoxCache.TouchedPrimitives.Empty();
>>    dxTriMesh::defaultCCylinderCache.TouchedPrimitives.Empty();
>>    dxTriMesh::Faces.Empty();
>>}
>>    
>>
>
>That did it, thanks for the assist. With one change: you can't call
>Faces.Empty() because the inheritance from Container is private. I
>don't know if this is an issue.   Even without that line my memory
>leak report is now clean.
>
>Thanks again,
>Jason
>
>_______________________________________________
>ODE mailing list
>ODE at q12.org
>http://q12.org/mailman/listinfo/ode
>
>
>
>  
>




More information about the ODE mailing list