Example #1
0
        byte IMyOctreeLeafNode.GetFilteredValue()
        {
            var filteredValueBuffer = FilteredValueBuffer;

            Debug.Assert(filteredValueBuffer.Size3D == Vector3I.One);
            m_provider.ReadRange(filteredValueBuffer, m_dataType, ref Vector3I.Zero, m_cell.Lod, ref m_cell.CoordInLod, ref m_cell.CoordInLod);
            return(filteredValueBuffer.Content(0));
        }
Example #2
0
        void IMyOctreeLeafNode.ReadRange(MyStorageDataCache target, ref Vector3I writeOffset, int lodIndex, ref Vector3I minInLod, ref Vector3I maxInLod)
        {
            var leafMinInLod = m_leafMin >> lodIndex;
            var min          = minInLod + leafMinInLod;
            var max          = maxInLod + leafMinInLod;

            AssertRangeIsInside(lodIndex, ref min, ref max);
            ProfilerShort.Begin("MyProviderLeaf.ReadRange");
            m_provider.ReadRange(target, m_dataType, ref writeOffset, lodIndex, ref min, ref max);
            ProfilerShort.End();
        }