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;
        }
        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;
        }