public void Initialize(GImpactShapeInterface gim_shape) { m_gim_shape = gim_shape; //select retriever if (m_gim_shape.NeedsRetrieveTriangles()) { m_current_retriever = m_tri_retriever; } else if (m_gim_shape.NeedsRetrieveTetrahedrons()) { m_current_retriever = m_tetra_retriever; } else { m_current_retriever = m_child_retriever; } m_current_retriever.m_parent = this; }