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(); }
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); }