コード例 #1
0
ファイル: BrushAdd.cs プロジェクト: VB6Hobbyst7/stonevox3d
        public void RemoveVolume(VoxelVolume volume, QbMatrix matrix, Dictionary <double, VoxelUndoData> modifiedVoxels)
        {
            VoxelUndoData _temp;

            for (int z = volume.minz; z <= volume.maxz; z++)
            {
                for (int y = volume.miny; y <= volume.maxy; y++)
                {
                    for (int x = volume.minx; x <= volume.maxx; x++)
                    {
                        if (modifiedVoxels.TryGetValue(matrix.GetHash(x, y, z), out _temp) && _temp.changed)
                        {
                            matrix.Remove(x, y, z, false, false);
                            modifiedVoxels.Remove(matrix.GetHash(x, y, z));
                        }
                    }
                }
            }
        }
コード例 #2
0
ファイル: BrushAdd.cs プロジェクト: VB6Hobbyst7/stonevox3d
 public void CleanLastVolume(VoxelVolume volume, VoxelVolume currentVolume, QbMatrix matrix, Dictionary <double, VoxelUndoData> modifiedVoxels)
 {
     for (int z = volume.minz; z <= volume.maxz; z++)
     {
         for (int y = volume.miny; y <= volume.maxy; y++)
         {
             for (int x = volume.minx; x <= volume.maxx; x++)
             {
                 if (!currentVolume.ContainsPoint(x, y, z))
                 {
                     if (modifiedVoxels[matrix.GetHash(x, y, z)].changed)
                     {
                         matrix.Remove(x, y, z, false, false);
                         modifiedVoxels.Remove(matrix.GetHash(x, y, z));
                     }
                 }
             }
         }
     }
 }
コード例 #3
0
ファイル: BrushRemove.cs プロジェクト: VB6Hobbyst7/stonevox3d
        public void AddVolume(VoxelVolume volume, QbMatrix matrix, ref Colort color, Dictionary <double, VoxelUndoData> modifiedVoxels)
        {
            VoxelUndoData removed = new VoxelUndoData();

            for (int z = volume.minz; z <= volume.maxz; z++)
            {
                for (int y = volume.miny; y <= volume.maxy; y++)
                {
                    for (int x = volume.minx; x <= volume.maxx; x++)
                    {
                        if (!modifiedVoxels.ContainsKey(matrix.GetHash(x, y, z)))
                        {
                            if (matrix.GetColorIndex_Alphamask(x, y, z, out removed.colorindex, out removed.alphamask))
                            {
                                if (matrix.Remove(x, y, z, true, false))
                                {
                                    modifiedVoxels.Add(matrix.GetHash(x, y, z), removed);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #4
0
ファイル: BrushRemove.cs プロジェクト: law4x/stonevox3d
        public void AddVolume(VoxelVolume volume, QbMatrix matrix, ref Colort color, Dictionary<double, VoxelUndoData> modifiedVoxels)
        {
            VoxelUndoData removed = new VoxelUndoData();

            for (int z = volume.minz; z <= volume.maxz; z++)
                for (int y = volume.miny; y <= volume.maxy; y++)
                    for (int x = volume.minx; x <= volume.maxx; x++)
                    {
                        if (!modifiedVoxels.ContainsKey(matrix.GetHash(x, y, z)))
                        {
                            if (matrix.GetColorIndex_Alphamask(x, y, z, out removed.colorindex, out removed.alphamask))
                            {
                                if (matrix.Remove(x, y, z, true, false))
                                    modifiedVoxels.Add(matrix.GetHash(x, y, z), removed);
                            }
                        }
                    }
        }
コード例 #5
0
ファイル: BrushAdd.cs プロジェクト: law4x/stonevox3d
 public void RemoveVolume(VoxelVolume volume, QbMatrix matrix, Dictionary<double, VoxelUndoData> modifiedVoxels)
 {
     VoxelUndoData _temp;
     for (int z = volume.minz; z <= volume.maxz; z++)
         for (int y = volume.miny; y <= volume.maxy; y++)
             for (int x = volume.minx; x <= volume.maxx; x++)
             {
                 if (modifiedVoxels.TryGetValue(matrix.GetHash(x, y, z), out _temp) && _temp.changed)
                 {
                     matrix.Remove(x, y, z, false, false);
                     modifiedVoxels.Remove(matrix.GetHash(x, y, z));
                 }
             }
 }
コード例 #6
0
ファイル: BrushAdd.cs プロジェクト: law4x/stonevox3d
 public void CleanLastVolume(VoxelVolume volume, VoxelVolume currentVolume, QbMatrix matrix, Dictionary<double, VoxelUndoData> modifiedVoxels)
 {
     for (int z = volume.minz; z <= volume.maxz; z++)
         for (int y = volume.miny; y <= volume.maxy; y++)
             for (int x = volume.minx; x <= volume.maxx; x++)
             {
                 if (!currentVolume.ContainsPoint(x, y, z))
                 {
                     if (modifiedVoxels[matrix.GetHash(x, y, z)].changed)
                     {
                         matrix.Remove(x, y, z, false, false);
                         modifiedVoxels.Remove(matrix.GetHash(x, y, z));
                     }
                 }
             }
 }