Beispiel #1
0
// ReSharper disable InconsistentNaming
        public void LoadDataset(DatasetDescription datasetDescription)
        {
            UnloadDataset();

            Interop.LoadVolume(datasetDescription.VolumeDescriptions);
            Interop.VisualUpdate();
            Interop.VisualUpdateColorMap();

            var neuralProcessEnumerator = datasetDescription.NeuralProcessDescriptions.GetEnumerator() as IEnumerator <KeyValuePair <int, NeuralProcessDescription> >;

            neuralProcessEnumerator.MoveNext();
            var d3d11CudaTextureEnumerator = Interop.D3D11CudaTextures.Internal.GetEnumerator() as IEnumerator <KeyValuePair <string, ShaderResourceView> >;

            d3d11CudaTextureEnumerator.MoveNext();

            DatasetDescription                    = datasetDescription;
            NeuralProcessEnumerator               = neuralProcessEnumerator;
            D3D11CudaTextureEnumerator            = d3d11CudaTextureEnumerator;
            CurrentNeuralProcess                  = NeuralProcessEnumerator.Current.Value;
            CurrentD3D11CudaTextureIndex          = 0;
            CurrentSegmenterToolMode              = SegmenterToolMode.Adjust;
            CommittedSegmentationEqualsUndoBuffer = true;
            CommittedSegmentationEqualsRedoBuffer = true;
            DatasetLoaded = true;

            D3D11CudaTextureEnumerator.MoveNext();
            CurrentD3D11CudaTextureIndex++;

            D3D11CudaTextureEnumerator.MoveNext();
            CurrentD3D11CudaTextureIndex++;
        }
Beispiel #2
0
        public void IncrementCurrentTexture()
        {
            CurrentD3D11CudaTextureIndex++;
            D3D11CudaTextureEnumerator.MoveNext();

            if (CurrentD3D11CudaTextureIndex > Interop.D3D11CudaTextures.Internal.Count - 1)
            {
                CurrentD3D11CudaTextureIndex = 0;
                D3D11CudaTextureEnumerator.Reset();
                D3D11CudaTextureEnumerator.MoveNext();
            }
        }
Beispiel #3
0
        public void DecrementCurrentTexture()
        {
            CurrentD3D11CudaTextureIndex--;

            if (CurrentD3D11CudaTextureIndex < 0)
            {
                CurrentD3D11CudaTextureIndex = Interop.D3D11CudaTextures.Internal.Count - 1;
            }

            D3D11CudaTextureEnumerator.Reset();
            D3D11CudaTextureEnumerator.MoveNext();

            for (var i = 0; i < CurrentD3D11CudaTextureIndex; i++)
            {
                D3D11CudaTextureEnumerator.MoveNext();
            }
        }