예제 #1
0
        public void Trigger(ITrigger trigger, OctProjectorMesh mesh, List <MeshOcTreeNode> nodeList, MeshOcTreeTriggerHandle handle)
        {
            if (handle == null)
            {
                return;
            }
            for (int i = 0; i < m_ChildNodes.Length; i++)
            {
                if (m_ChildNodes[i] > 0)
                {
                    nodeList[m_ChildNodes[i]].Trigger(trigger, mesh, nodeList, handle);
                }
            }

            if (trigger.IsDetected(this.bounds))
            {
                for (int i = 0; i < m_ItemList.Count; i++)
                {
                    if (trigger.IsDetected(m_ItemList[i].bounds))
                    {
                        handle(mesh, m_ItemList[i]);
                    }
                }
            }
        }
예제 #2
0
 public void Trigger(ITrigger trigger, OctProjectorMesh mesh, MeshOcTreeTriggerHandle handle)
 {
     if (handle == null)
     {
         return;
     }
     if (m_NodeLists != null && m_NodeLists.Count > 0)
     {
         m_NodeLists[0].Trigger(trigger, mesh, m_NodeLists, handle);
     }
 }
예제 #3
0
 void OcTreeTriggerHandle(OctProjectorMesh mesh, OcTreeProjector.OTMeshTriangle triangle)
 {
     mesh.AddTriangle(triangle);
 }