From 10169d259744f33c5c46b6b62349ee6a31cc7a32 Mon Sep 17 00:00:00 2001 From: Lewin Probst <info@emirror.de> Date: Thu, 12 Dec 2019 14:21:14 +0100 Subject: [PATCH] The soundsources are now plot in its applied colors. --- VERSION | 2 +- .../+controller/+edit/updateAvailablePlots.m | 7 ++++--- .../buttonDeleteAllTrajectories.m | 2 -- .../buttonDeleteSelectedTrajectory.m | 2 -- .../+controller/+track/+trajectoryOutput/open.m | 4 ---- .../+controller/+track/+trajectoryOutput/plot.m | 7 +++++++ .../+trajectoryOutput/updateTableGeneratedTracks.m | 2 +- lib/+artoa/+gui/+edit/offsets.m | 1 - lib/+artoa/+soundsources/scatterPositions.m | 14 +++++++++++--- 9 files changed, 24 insertions(+), 17 deletions(-) diff --git a/VERSION b/VERSION index c2807f7..acfba60 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -140 \ No newline at end of file +141 \ No newline at end of file diff --git a/lib/+artoa/+controller/+edit/updateAvailablePlots.m b/lib/+artoa/+controller/+edit/updateAvailablePlots.m index 4df49fc..8fa204a 100644 --- a/lib/+artoa/+controller/+edit/updateAvailablePlots.m +++ b/lib/+artoa/+controller/+edit/updateAvailablePlots.m @@ -3,14 +3,15 @@ function [] = updateAvailablePlots() global artoaGui; -plotsToUpdate = {'editTemperature', 'editPressure', 'editTimeOfArrival'}; -controllerPackageNames = {'temperature', 'pressure', 'timeOfArrival'}; +plotsToUpdate = {'editTemperature', 'editPressure', 'editTimeOfArrival', 'trajectoryOutput'}; +controllerPackageNames = {'temperature', 'pressure', 'timeOfArrival', 'trajectoryOutput'}; +controllerCategoryNames = {'edit', 'edit', 'edit', 'track'}; for i = 1:length(plotsToUpdate) if ~isfield(artoaGui, plotsToUpdate{i}) continue; end - artoa.controller.edit.(controllerPackageNames{i}).plot(); + artoa.controller.(controllerCategoryNames{i}).(controllerPackageNames{i}).plot(); end end diff --git a/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteAllTrajectories.m b/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteAllTrajectories.m index 013b8bd..a350118 100644 --- a/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteAllTrajectories.m +++ b/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteAllTrajectories.m @@ -15,9 +15,7 @@ artoaWorkspace.trajectoryOutput.trajectories = {}; %% Update table artoa.controller.track.trajectoryOutput.updateTableGeneratedTracks(); %% Plot again -artoa.controller.track.trajectoryOutput.hideTrajectoryAxes(); artoa.controller.track.trajectoryOutput.plot(artoaWorkspace.trajectoryOutput.enableMercatorProjection); -artoa.controller.track.trajectoryOutput.showTrajectoryAxes(); end diff --git a/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteSelectedTrajectory.m b/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteSelectedTrajectory.m index fe67e26..a269ef8 100644 --- a/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteSelectedTrajectory.m +++ b/lib/+artoa/+controller/+track/+trajectoryOutput/buttonDeleteSelectedTrajectory.m @@ -27,8 +27,6 @@ artoaWorkspace.trajectoryOutput.trajectories = ... %% Update table artoa.controller.track.trajectoryOutput.updateTableGeneratedTracks(); %% Plot again -artoa.controller.track.trajectoryOutput.hideTrajectoryAxes(); artoa.controller.track.trajectoryOutput.plot(artoaWorkspace.trajectoryOutput.enableMercatorProjection); -artoa.controller.track.trajectoryOutput.showTrajectoryAxes(); end diff --git a/lib/+artoa/+controller/+track/+trajectoryOutput/open.m b/lib/+artoa/+controller/+track/+trajectoryOutput/open.m index 8ab1567..8352b73 100644 --- a/lib/+artoa/+controller/+track/+trajectoryOutput/open.m +++ b/lib/+artoa/+controller/+track/+trajectoryOutput/open.m @@ -9,9 +9,7 @@ global artoaGui artoaWorkspace; if isfield(artoaGui.figures, 'trajectoryOutput') figure(artoaGui.figures.trajectoryOutput); artoa.controller.track.trajectoryOutput.updateTableGeneratedTracks(); - artoa.controller.track.trajectoryOutput.hideTrajectoryAxes(); artoa.controller.track.trajectoryOutput.plot(artoaWorkspace.trajectoryOutput.enableMercatorProjection); - artoa.controller.track.trajectoryOutput.showTrajectoryAxes(); return end @@ -97,9 +95,7 @@ else end %% Plot everything available -artoa.controller.track.trajectoryOutput.hideTrajectoryAxes(); artoa.controller.track.trajectoryOutput.plot(artoaWorkspace.trajectoryOutput.enableMercatorProjection); -artoa.controller.track.trajectoryOutput.showTrajectoryAxes(); end diff --git a/lib/+artoa/+controller/+track/+trajectoryOutput/plot.m b/lib/+artoa/+controller/+track/+trajectoryOutput/plot.m index 5e3a516..54b6f0e 100644 --- a/lib/+artoa/+controller/+track/+trajectoryOutput/plot.m +++ b/lib/+artoa/+controller/+track/+trajectoryOutput/plot.m @@ -4,6 +4,11 @@ function [] = plot(pPlotAsMap) global artoaGui artoaWorkspace; +%% Parameter check +if nargin == 0 + pPlotAsMap = false; +end + %% Set current axes artoaGui.figures.trajectoryOutput.CurrentAxes = artoaGui.trajectoryOutput.axesTrajectoryOutput; @@ -29,6 +34,8 @@ artoa.controller.track.trajectoryOutput.clearTrajectoryPlot(); ] = artoa.soundsources.scatterPositions( ... artoaGui.trajectoryOutput.axesTrajectoryOutput, ... artoaWorkspace.filteredSoundsources, ... + artoaWorkspace.soundsourceColorRegister, ... + artoaWorkspace.soundsourceColors, ... pPlotAsMap ... ); diff --git a/lib/+artoa/+controller/+track/+trajectoryOutput/updateTableGeneratedTracks.m b/lib/+artoa/+controller/+track/+trajectoryOutput/updateTableGeneratedTracks.m index 815efed..984a2b5 100644 --- a/lib/+artoa/+controller/+track/+trajectoryOutput/updateTableGeneratedTracks.m +++ b/lib/+artoa/+controller/+track/+trajectoryOutput/updateTableGeneratedTracks.m @@ -8,7 +8,7 @@ global artoaGui artoaWorkspace; if artoa.data.hasMember(artoaWorkspace, {'trajectoryOutput', 'trajectories'}) trajectories = artoaWorkspace.trajectoryOutput.trajectories; else - return; + trajectories = {}; end %% Handle check diff --git a/lib/+artoa/+gui/+edit/offsets.m b/lib/+artoa/+gui/+edit/offsets.m index 66cdb1c..58c0401 100644 --- a/lib/+artoa/+gui/+edit/offsets.m +++ b/lib/+artoa/+gui/+edit/offsets.m @@ -53,7 +53,6 @@ left = 0.03; fullwidth = 1 - (2 * left); %% Initialize offset table - artoaGui.editOffsets.tableSoundsourceOffsets = uitable( ... artoaGui.figures.editOffsets, ... 'Units', 'normalized', ... diff --git a/lib/+artoa/+soundsources/scatterPositions.m b/lib/+artoa/+soundsources/scatterPositions.m index f22f2f3..2931f14 100644 --- a/lib/+artoa/+soundsources/scatterPositions.m +++ b/lib/+artoa/+soundsources/scatterPositions.m @@ -1,4 +1,4 @@ -function [scatterHandle, textHandles] = scatterPositions(pAxesHandle, pSoundsources, pPlotAsMap) +function [scatterHandle, textHandles] = scatterPositions(pAxesHandle, pSoundsources, pSoundsourceColorRegister, pSoundsourceColors, pPlotAsMap) %PLOT Summary of this function goes here % Detailed explanation goes here @@ -9,10 +9,15 @@ plot_names = fnames; lat = NaN(length(fnames), 1); lon = NaN(length(fnames), 1); +color = repmat([0 0 0], length(fnames), 1); for i = 1:length(fnames) lat(i) = pSoundsources.(fnames{i}).position(1); lon(i) = pSoundsources.(fnames{i}).position(2); + index = artoa.soundsources.colorregister.getColorIndex(fnames{i}, pSoundsourceColorRegister); + if index > 0 + color(i, :) = pSoundsourceColors(index, :); + end plot_names{i} = {'', [' ' plot_names{i}]}; end @@ -24,12 +29,15 @@ axes(pAxesHandle); hold(pAxesHandle, 'on'); if pPlotAsMap - scatterHandle = scatterm(pAxesHandle, lat, lon, [], [0 0 0]); + scatterHandle = scatterm(pAxesHandle, lat, lon, [], color); %textHandles = text(pAxesHandle, lon, lat, plot_names, 'Color', [0 0 0]); textHandles = textm(lat, lon, plot_names, 'Color', [0 0 0]); else - scatterHandle = scatter(pAxesHandle, lon, lat, [], [0 0 0]); + scatterHandle = scatter(pAxesHandle, lon, lat, [], color); textHandles = text(pAxesHandle, lon, lat, plot_names, 'Color', [0 0 0]); + for i = 1:length(textHandles) + textHandles(i).Color = color(i, :); + end end hold(pAxesHandle, 'off'); -- GitLab