Пример #1
0
        public static void CreateRenderables()
        {
            RedSea.Singleton.SetMapper(RedSea.Display.CP_TRACKING, mapperCP);
            RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_CORES, mapperPathCore);
            RedSea.Singleton.SetMapper(RedSea.Display.MEMBER_COMPARISON, mapperComparison);
            RedSea.Singleton.SetMapper(RedSea.Display.OKUBO_WEISS, mapperOW);

            //mapperFlowMap = new FlowMapMapper(new LoaderNCF.SliceRange[] { ensembleU, ensembleV }, redSea, velocity);
            //RedSea.Singleton.SetMapper(RedSea.Display.FLOW_MAP_UNCERTAIN, mapperFlowMap);

            //mapperPathLength = new PathlineLengthMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_LENGTH, mapperPathLength);

            //mapperCutDiffusion = new DiffusionMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.CUT_DIFFUSION_MAP, mapperCutDiffusion);

            //mapperLocalDiffusion = new LocalDiffusionMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.LOCAL_DIFFUSION_MAP, mapperLocalDiffusion);

            //DataMapper pathlines = new PathlineRadius(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_RADIUS, pathlines);
            //SubstepViewer substep = new SubstepViewer(redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.SUBSTEP_VIEWER, substep);

            //DataMapper lineStatistics = new LineStatisticsMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.LINE_STATISTICS, lineStatistics);

            DataMapper coreDistance = new CoreDistanceMapper(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.CORE_DISTANCE, coreDistance);

            DataMapper predCoreDistance = new PredictedCoreDistanceMapper(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.PREDICTOR_CORE_ANGLE, predCoreDistance);

            DataMapper circleCoreDistance = new ConcentricDistanceMapper(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.CONCENTRIC_DISTANCE, circleCoreDistance);

            DataMapper circleCoreTube = new ConcentricTubeMapper(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.CONCENTRIC_TUBE, circleCoreTube);

            DataMapper ftle = new MapperFTLE(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.FTLE_CONCENTRIC, ftle);

            DataMapper pathDist = new DistanceMapper(12, redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_DISTANCE, pathDist);

            DataMapper donut = new DonutAnalyzer(redSea);
            RedSea.Singleton.SetMapper(RedSea.Display.DONUT_ANALYSIS, donut);

            if (mapperOW != null)
                RedSea.Singleton.SetMapper(RedSea.Display.OKUBO_WEISS, mapperOW);

            RedSea.Singleton.SetMapper(RedSea.Display.PLAYGROUND, new PlaygroundMapper(redSea));

            //FieldAnalysis.AlphaStableFFF = 0;
            //var f = new VectorField(velocity, FieldAnalysis.StableFFF, 3, true);
            //Renderer.Singleton.AddRenderable(new FieldPlane(redSea, f.GetSlice(0), FieldPlane.RenderEffect.LIC));
            //Random rnd = new Random();
            //SquareMatrix x = new SquareMatrix(2);
            //x.m00 = /*(float)rnd.NextDouble();//*/0.8f;
            //x.m10 = /*(float)rnd.NextDouble();//*/-0.8f;
            //x.m01 = /*(float)rnd.NextDouble();//*/-0.3f;
            //x.m11 = /*(float)rnd.NextDouble();//*/1.6f;

            //SquareMatrix xT = x.Transposed();
            //SquareMatrix cauchy =  xT* x;
            //SquareMatrix e, lambda;
            //cauchy.Eigenanalysis(out lambda, out e);

            //Vector lambda2 = cauchy.EigenvaluesReal();
        }
Пример #2
0
        public static void CreateRenderables()
        {
            RedSea.Singleton.SetMapper(RedSea.Display.CP_TRACKING, mapperCP);
            RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_CORES, mapperPathCore);
            RedSea.Singleton.SetMapper(RedSea.Display.MEMBER_COMPARISON, mapperComparison);
            RedSea.Singleton.SetMapper(RedSea.Display.OKUBO_WEISS, mapperOW);

            //mapperFlowMap = new FlowMapMapper(new LoaderNCF.SliceRange[] { ensembleU, ensembleV }, redSea, velocity);
            //RedSea.Singleton.SetMapper(RedSea.Display.FLOW_MAP_UNCERTAIN, mapperFlowMap);

            //mapperPathLength = new PathlineLengthMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_LENGTH, mapperPathLength);

            //mapperCutDiffusion = new DiffusionMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.CUT_DIFFUSION_MAP, mapperCutDiffusion);

            //mapperLocalDiffusion = new LocalDiffusionMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.LOCAL_DIFFUSION_MAP, mapperLocalDiffusion);

            //DataMapper pathlines = new PathlineRadius(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_RADIUS, pathlines);
            //SubstepViewer substep = new SubstepViewer(redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.SUBSTEP_VIEWER, substep);

            //DataMapper lineStatistics = new LineStatisticsMapper(velocity, redSea);
            //RedSea.Singleton.SetMapper(RedSea.Display.LINE_STATISTICS, lineStatistics);

            DataMapper coreDistance = new CoreDistanceMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.CORE_DISTANCE, coreDistance);

            DataMapper predCoreDistance = new PredictedCoreDistanceMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.PREDICTOR_CORE_ANGLE, predCoreDistance);

            DataMapper circleCoreDistance = new ConcentricDistanceMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.CONCENTRIC_DISTANCE, circleCoreDistance);

            DataMapper circleCoreTube = new ConcentricTubeMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.CONCENTRIC_TUBE, circleCoreTube);

            DataMapper ftle = new MapperFTLE(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.FTLE_CONCENTRIC, ftle);

            DataMapper coreOkubo = new CoreOkuboMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.OKUBO_CONCENTRIC, coreOkubo);

            DataMapper pathDist = new DistanceMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.PATHLINE_DISTANCE, pathDist);

            DataMapper donut = new DonutAnalyzer(redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.DONUT_ANALYSIS, donut);

            if (mapperOW != null)
            {
                RedSea.Singleton.SetMapper(RedSea.Display.OKUBO_WEISS, mapperOW);
            }

            RedSea.Singleton.SetMapper(RedSea.Display.PLAYGROUND, new PlaygroundMapper(redSea));


            DataMapper editor = new ConcentricEditorMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.AREA_EDITOR, editor);

            DataMapper coherency = new CoherencyMapper(12, redSea);

            RedSea.Singleton.SetMapper(RedSea.Display.COHERENCY, coherency);
        }