function StoreSection(data, rowName, checked) %% Add data to sections array and add row to the sections table. global sectionsTable storedSections geometryFileName [levels, ~, missingLayers] = SplitToLevels(data); convexHulls = PointsToConvexHulls(levels); levelsSize = size(convexHulls, 1); canBeSimulated = true; % Check if some level has not enough points and can't be simulated for i = 1:levelsSize if ~convexHulls{i, 2} canBeSimulated = false; break; end end if nargin < 3 checked = true; end % Default section name if nargin < 2 rowName = sprintf('%s%s%i', ... geometryFileName, ... '_section_', ... size(storedSections, 1)); end % Append row to table data storedSections = cat(1, storedSections, data); tableData = get(sectionsTable, 'Data'); tableData = [tableData; {rowName, StatusToColoredCell(canBeSimulated && ~missingLayers), levelsSize, size(data, 1), checked}]; set(sectionsTable, 'Data', tableData); end function coloredValue = StatusToColoredCell(status) %% Returns HTML-text that when insterted in uitable cell %% makes its background either red or green with status word on it. if status text = 'Yes'; color = 'CCFFCC'; else text = 'No'; color = 'FFCCCC'; end coloredValue = ['
', text, '
']; end