public void RemoveObject(CAnimationObject _object, QNode _node) { if (_node.GetChildNode(1) == null) { _node.RemoveObject(_object); } else { RemoveObject(_object, _node.GetChildNode(1)); RemoveObject(_object, _node.GetChildNode(2)); RemoveObject(_object, _node.GetChildNode(3)); RemoveObject(_object, _node.GetChildNode(4)); } }
public void InsertListObjectView(Rectangle viewport, QNode node) { int i = 0; int j = 0; if (m_RootNode == node) { if (m_ListObjectsInView.Count > 0) { m_ListObjectsInView.Clear(); } } if (node.GetChildNode(1) == null) // NẾU TRỞ THÀNH NODE LÁ { if (node.Bound.Intersects(viewport)) // VA CHẠM VỚI NODE { for (i = 0; i < node.GetListObjects().Count; ++i) { for (j = 0; j < m_RootNode.GetListObjects().Count; ++j) { if (node.GetListObjects()[i] == m_RootNode.GetListObjects()[j]) { break; } } if (j == m_RootNode.GetListObjects().Count) { m_ListObjectsInView.Add(node.GetListObjects()[i]); } } } } else { if (node.GetChildNode(1).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(1)); } if (node.GetChildNode(2).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(2)); } if (node.GetChildNode(3).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(3)); } if (node.GetChildNode(4).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(4)); } } }
public void InsertListObjectView(Rectangle viewport, QNode node) { int i = 0; int j = 0; if (m_RootNode == node) { if (m_ListObjectsInView.Count > 0) m_ListObjectsInView.Clear(); } if (node.GetChildNode(1) == null) // NẾU TRỞ THÀNH NODE LÁ { if (node.Bound.Intersects(viewport)) // VA CHẠM VỚI NODE { for (i = 0; i < node.GetListObjects().Count; ++i) { for (j = 0; j < m_RootNode.GetListObjects().Count; ++j) { if (node.GetListObjects()[i] == m_RootNode.GetListObjects()[j]) break; } if (j == m_RootNode.GetListObjects().Count) { m_ListObjectsInView.Add(node.GetListObjects()[i]); } } } } else { if (node.GetChildNode(1).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(1)); } if (node.GetChildNode(2).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(2)); } if (node.GetChildNode(3).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(3)); } if (node.GetChildNode(4).Bound.Intersects(viewport)) { InsertListObjectView(viewport, node.GetChildNode(4)); } } }