Beispiel #1
0
        public Index3i[] GetTrianglesInRange(int nObjectID, int nTriangleIDStart, int nCount)
        {
            StoredCommands sc = new StoredCommands();

            uint[] keys = new uint[nCount];
            for (int k = 0; k < nCount; ++k)
            {
                keys[k] = sc.AppendSceneCommand_GetTriangleIndices(nObjectID, nTriangleIDStart + k);
            }
            ExecuteCommands(sc);
            Index3i[] vTriangles = new Index3i[nCount];
            for (int k = 0; k < nCount; ++k)
            {
                vec3i v   = new vec3i();
                bool  bOK = sc.GetSceneCommandResult_GetTriangleIndices(keys[k], v);
                vTriangles[k] = (bOK) ? g3Extensions.ToIndex3i(v) : Index3i.Max;
            }
            return(vTriangles);
        }