コード例 #1
0
 public override bool traverseTriangles <T> (T state, traverseFn <T> fn)
 {
     foreach (var s in _renderSubMeshes)
     {
         bool finished = s.traverseTriangles(state, fn);
         if (finished)
         {
             return(true);
         }
     }
     return(false);
 }
コード例 #2
0
 public override bool traverseTriangles <T>(T state, traverseFn <T> fn)
 {
     for (int idx = 0; idx < m_runtimeMesh.indices.Length; idx += 3)
     {
         var  v1       = m_runtimeMesh.computeVertexPos(m_runtimeMesh.indices[idx]);
         var  v2       = m_runtimeMesh.computeVertexPos(m_runtimeMesh.indices[idx + 1]);
         var  v3       = m_runtimeMesh.computeVertexPos(m_runtimeMesh.indices[idx + 2]);
         bool finished = fn(state, v1, v2, v3);
         if (finished)
         {
             return(true);
         }
     }
     return(false);
 }
コード例 #3
0
 public override bool traverseTriangles <T>(T state, traverseFn <T> fn)
 {
     foreach (var subset in geometrySubsets)
     {
         for (int idx = 0; idx < subset.indicies.Length; idx += 3)
         {
             var  V1       = subset.vertices[subset.indicies[idx]].Position;
             var  V2       = subset.vertices[subset.indicies[idx + 1]].Position;
             var  V3       = subset.vertices[subset.indicies[idx + 2]].Position;
             bool finished = fn(state, V1, V2, V3);
             if (finished)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #4
0
 public bool TraverseTriangles(traverseFn <Object> fn)
 {
     return(this.TraverseTriangles <Object>(new Object(), fn));
 }
コード例 #5
0
 public virtual bool TraverseTriangles <T>(T state, traverseFn <T> fn)
 {
     return(true);
 }