public override void Do(IDemoChartControl chartControl)
        {
            // Create custom data reader.
            var floatReader = new MyRasterDataReader(Width, Height, new OneAxisBounds(0, 1, 0, 0.1f));

            // Create raster data object.
            var floatRasterData = new ValueRasterData
            {
                // Enable value linear interpolation.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Set data reader.
                Reader = floatReader,
                // Set geometry.
                Geometry = new RectTextureGeometry
                {
                    Origin = Vector3F.Zero,
                    Size   = new Vector2F(1f, 1f)
                },
                // Set name.
                Name = "Image"
            };

            // Setup view settings.
            chartControl.ContextView.Mode2D = true;
            chartControl.ContextView.Camera2D.Projection = Projection2DTypes.XPosYPos;

            // Set data source.
            chartControl.DataSource = new RenderData[] { floatRasterData };

            // Start animation.
            animation.Start(
                (f) => f > 1 ? 0 : f,
                rf => floatReader.RandomizeValues(rf),
                0, 0.00025f, 16);
        }
Exemple #2
0
        public override void Do(IDemoChartControl chartControl)
        {
            // We take the same data as for surfaces for demo purposes, in current case it contains redundant x, y values.
            Vector3F[] xyzPoints = DemoHelper.GenerateSinPoints(Resolution);

            // Extract only values from z array.
            float[] values = DemoHelper.ExtractZValues(xyzPoints);

            // Create geometry.
            var geometry = new RectTextureGeometry
            {
                Origin     = Vector3F.Zero,
                DirectionX = Vector3F.UnitX,
                DirectionY = Vector3F.UnitY,
                Size       = new Vector2F(1f, 1f)
            };

            var rasterData = new ValueRasterData
            {
                // Linear interpolation.
                InterpolationType = RasterDataInterpolationType.Linear,
                // Float data reader specification (values, data stride/width and value axis bounds).
                Reader = new FloatIntensityImage2DReader(values, Resolution, new OneAxisBounds(-1f, 1f)),
                // Set geometry.
                Geometry = geometry,
                // Set name.
                Name = "Surface"
            };

            // Setup view settings.
            chartControl.ContextView.Mode2D = true;
            chartControl.ContextView.Camera2D.Projection = Projection2DTypes.XPosYPos;

            // Set chart data source.
            chartControl.DataSource = rasterData;
        }