|
26 | 26 |
|
27 | 27 | obj.dimsCache = nix.CacheStruct();
|
28 | 28 | end;
|
| 29 | + |
| 30 | + % ----------------- |
| 31 | + % Dimensions |
| 32 | + % ----------------- |
29 | 33 |
|
30 | 34 | function dimensions = get.dimensions(obj)
|
31 | 35 | if obj.dimsCache.lastUpdate ~= obj.updatedAt
|
32 | 36 | currList = nix_mx('DataArray::dimensions', obj.nix_handle);
|
33 | 37 | obj.dimsCache.data = cell(length(currList), 1);
|
34 | 38 | for i = 1:length(currList)
|
35 |
| - % TODO convert to a proper type |
36 |
| - obj.dimsCache.data{i} = nix.SetDimension(currList{i}); |
| 39 | + |
| 40 | + switch currList(i).dtype |
| 41 | + case 'set' |
| 42 | + obj.dimsCache.data{i} = nix.SetDimension(currList(i).dimension); |
| 43 | + case 'sample' |
| 44 | + obj.dimsCache.data{i} = nix.SampledDimension(currList(i).dimension); |
| 45 | + case 'range' |
| 46 | + obj.dimsCache.data{i} = nix.RangeDimension(currList(i).dimension); |
| 47 | + otherwise |
| 48 | + disp('some dimension type is unknown! skip') |
| 49 | + end |
37 | 50 | end;
|
38 | 51 | obj.dimsCache.lastUpdate = obj.updatedAt;
|
39 | 52 | end;
|
40 | 53 | dimensions = obj.dimsCache.data;
|
41 | 54 | end;
|
42 | 55 |
|
| 56 | + function dim = append_set_dimension(obj) |
| 57 | + func_name = strcat(obj.alias, '::append_set_dimension'); |
| 58 | + dim = nix.SetDimension(nix_mx(func_name, obj.nix_handle)); |
| 59 | + obj.dimsCache.lastUpdate = 0; |
| 60 | + end |
| 61 | + |
| 62 | + function dim = append_sampled_dimension(obj, interval) |
| 63 | + func_name = strcat(obj.alias, '::append_sampled_dimension'); |
| 64 | + dim = nix.SampledDimension(nix_mx(func_name, obj.nix_handle, interval)); |
| 65 | + obj.dimsCache.lastUpdate = 0; |
| 66 | + end |
| 67 | + |
| 68 | + function dim = append_range_dimension(obj, ticks) |
| 69 | + func_name = strcat(obj.alias, '::append_range_dimension'); |
| 70 | + dim = nix.RangeDimension(nix_mx(func_name, obj.nix_handle, ticks)); |
| 71 | + obj.dimsCache.lastUpdate = 0; |
| 72 | + end |
| 73 | + |
| 74 | + function delCheck = delete_dimension(obj, index) |
| 75 | + func_name = strcat(obj.alias, '::delete_dimension'); |
| 76 | + delCheck = nix_mx(func_name, obj.nix_handle, index); |
| 77 | + obj.dimsCache.lastUpdate = 0; |
| 78 | + end; |
| 79 | + |
43 | 80 | % -----------------
|
44 | 81 | % Data access methods
|
45 | 82 | % -----------------
|
|
0 commit comments