diff --git a/lib/storage/@LevelData/LevelData.m b/lib/storage/@LevelData/LevelData.m index 28d0b9a03a6594b5237ef8422aee4ef6228077db..662bf4bba40879e136f1cf7a2e54613dc4197220 100644 --- a/lib/storage/@LevelData/LevelData.m +++ b/lib/storage/@LevelData/LevelData.m @@ -1,4 +1,4 @@ -classdef LevelData < handle +classdef LevelData < handle & matlab.mixin.CustomDisplay %%LEVELDATA class representing results from level-oriented computations % Copyright 2023 Philipp Bringmann @@ -254,6 +254,11 @@ classdef LevelData < handle plotTriangulationToFile(obj, jLevel) end + methods (Access=protected) + %% CUSTOM DISPLAY + propgrp = getPropertyGroups(obj) + end + %% AUXILIARY FUNCTIONS methods (Access = private) function idx = getIndex(obj, variableName) diff --git a/lib/storage/@LevelData/getPropertyGroups.m b/lib/storage/@LevelData/getPropertyGroups.m new file mode 100644 index 0000000000000000000000000000000000000000..3063a08ad7e4e79ddc2c4a74372b35879995a836 --- /dev/null +++ b/lib/storage/@LevelData/getPropertyGroups.m @@ -0,0 +1,24 @@ +function propgrp = getPropertyGroups(obj) + if ~isscalar(obj) + propgrp = getPropertyGroups@matlab.mixin.CustomDisplay(obj); + else + % some rudimentary statistics about variable counts + statList = ["nLevel", "nVariable", "nScalarVariable", "nAbsoluteVariable", "nTimeVariable"]; + statTitle = "Variable Counts"; + statGrp = matlab.mixin.util.PropertyGroup(statList, statTitle); + + % metadata as a struct + metaDataList = struct(); + for k = obj.metaData.keys' + metaDataList.(k{1}) = obj.metaData(k{1}); + end + metaDataTitle = "Metadata"; + metaDataGrp = matlab.mixin.util.PropertyGroup(metaDataList, metaDataTitle); + + % storage related properties + storeList = ["root", "foldername", "filename"]; + storeTitle = "Storage details"; + storeGrp = matlab.mixin.util.PropertyGroup(storeList, storeTitle); + propgrp = [statGrp, metaDataGrp, storeGrp]; + end +end \ No newline at end of file