public void Create(b2Body body, b2FixtureDef def) { UserData = def.userData; Friction = def.friction; Restitution = def.restitution; Body = body; Next = null; m_filter = def.filter; m_isSensor = def.isSensor; Shape = def.shape.Clone(); // Reserve proxy space int childCount = Shape.GetChildCount(); m_proxies = b2ArrayPool <b2FixtureProxy> .Create(childCount, true); for (int i = 0; i < childCount; ++i) { m_proxies[i].fixture = null; m_proxies[i].proxyId = b2BroadPhase.e_nullProxy; } m_proxyCount = 0; Density = def.density; }
public void Create(b2Body body, b2FixtureDef def) { m_userData = def.userData; m_friction = def.friction; m_restitution = def.restitution; m_body = body; Next = null; m_filter = def.filter; m_isSensor = def.isSensor; m_shape = def.shape.Clone(); // Reserve proxy space int childCount = m_shape.GetChildCount(); for (int i = 0; i < childCount; ++i) { b2FixtureProxy proxy = new b2FixtureProxy(); proxy.fixture = null; proxy.proxyId = b2BroadPhase.e_nullProxy; m_proxies.Add(proxy); } m_proxyCount = 0; m_density = def.density; }
public virtual void CreateProxies(b2BroadPhase broadPhase, b2Transform xf) { // Create proxies in the broad-phase. m_proxyCount = m_shape.GetChildCount(); for (int i = 0; i < m_proxyCount; ++i) { b2FixtureProxy proxy = m_proxies[i]; proxy.aabb = m_shape.ComputeAABB(xf, i); proxy.proxyId = broadPhase.CreateProxy(proxy.aabb, proxy); proxy.fixture = this; proxy.childIndex = i; } }