new internal void Initialize( btCollisionAlgorithmConstructionInfo ci, btCollisionObjectWrapper body0Wrap, btCollisionObjectWrapper body1Wrap, bool isSwapped ) { base.Initialize( ci, body0Wrap, body1Wrap, isSwapped ); m_childCollisionAlgorithmCache = new btHashedSimplePairCache(); btCollisionObjectWrapper col0ObjWrap = body0Wrap; Debug.Assert( col0ObjWrap.getCollisionShape().isCompound() ); btCollisionObjectWrapper col1ObjWrap = body1Wrap; Debug.Assert( col1ObjWrap.getCollisionShape().isCompound() ); btCompoundShape compoundShape0 = (btCompoundShape)( col0ObjWrap.getCollisionShape() ); m_compoundShapeRevision0 = compoundShape0.getUpdateRevision(); btCompoundShape compoundShape1 = (btCompoundShape)( col1ObjWrap.getCollisionShape() ); m_compoundShapeRevision1 = compoundShape1.getUpdateRevision(); }
internal btCompoundCompoundLeafCallback( btCollisionObjectWrapper compound1ObjWrap, btCollisionObjectWrapper compound0ObjWrap, btDispatcher dispatcher, btDispatcherInfo dispatchInfo, btManifoldResult resultOut, btHashedSimplePairCache childAlgorithmsCache, btPersistentManifold sharedManifold ) { m_numOverlapPairs = ( 0 ); m_compound0ColObjWrap = ( compound1ObjWrap ); m_compound1ColObjWrap = ( compound0ObjWrap ); m_dispatcher = ( dispatcher ); m_dispatchInfo = ( dispatchInfo ); m_resultOut = ( resultOut ); m_childCollisionAlgorithmCache = ( childAlgorithmsCache ); m_sharedManifold = ( sharedManifold ); }
internal override void Cleanup() { removeChildAlgorithms(); BulletGlobals.CompoundCompoundCollisionAlgoritmPool.Free( this ); m_childCollisionAlgorithmCache = null; }