|
4 | 4 | properties (Hidden)
|
5 | 5 | % namespace reference for nix-mx functions
|
6 | 6 | alias = 'DataArray'
|
7 |
| - dimsCache |
8 |
| - end |
| 7 | + end; |
9 | 8 |
|
10 | 9 | properties(Dependent)
|
11 | 10 | dimensions % should not be dynamic due to complex set operation
|
|
23 | 22 | nix.Dynamic.add_dyn_attr(obj, 'expansionOrigin', 'rw');
|
24 | 23 | nix.Dynamic.add_dyn_attr(obj, 'polynom_coefficients', 'rw');
|
25 | 24 | nix.Dynamic.add_dyn_attr(obj, 'shape', 'rw');
|
26 |
| - |
27 |
| - obj.dimsCache = nix.CacheStruct(); |
28 | 25 | end;
|
29 | 26 |
|
30 | 27 | % -----------------
|
31 | 28 | % Dimensions
|
32 | 29 | % -----------------
|
33 | 30 |
|
34 | 31 | function dimensions = get.dimensions(obj)
|
35 |
| - if obj.dimsCache.lastUpdate ~= obj.updatedAt |
36 |
| - currList = nix_mx('DataArray::dimensions', obj.nix_handle); |
37 |
| - obj.dimsCache.data = cell(length(currList), 1); |
38 |
| - for i = 1:length(currList) |
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 |
| 32 | + dimensions = {}; |
| 33 | + currList = nix_mx('DataArray::dimensions', obj.nix_handle); |
| 34 | + for i = 1:length(currList) |
| 35 | + switch currList(i).dtype |
| 36 | + case 'set' |
| 37 | + dimensions{i} = nix.SetDimension(currList(i).dimension); |
| 38 | + case 'sample' |
| 39 | + dimensions{i} = nix.SampledDimension(currList(i).dimension); |
| 40 | + case 'range' |
| 41 | + dimensions{i} = nix.RangeDimension(currList(i).dimension); |
| 42 | + otherwise |
| 43 | + disp('some dimension type is unknown! skip') |
50 | 44 | end;
|
51 |
| - obj.dimsCache.lastUpdate = obj.updatedAt; |
52 | 45 | end;
|
53 |
| - dimensions = obj.dimsCache.data; |
54 | 46 | end;
|
55 | 47 |
|
56 | 48 | function dim = append_set_dimension(obj)
|
57 | 49 | func_name = strcat(obj.alias, '::append_set_dimension');
|
58 | 50 | dim = nix.SetDimension(nix_mx(func_name, obj.nix_handle));
|
59 |
| - obj.dimsCache.lastUpdate = 0; |
60 | 51 | end
|
61 | 52 |
|
62 | 53 | function dim = append_sampled_dimension(obj, interval)
|
63 | 54 | func_name = strcat(obj.alias, '::append_sampled_dimension');
|
64 | 55 | dim = nix.SampledDimension(nix_mx(func_name, obj.nix_handle, interval));
|
65 |
| - obj.dimsCache.lastUpdate = 0; |
66 | 56 | end
|
67 | 57 |
|
68 | 58 | function dim = append_range_dimension(obj, ticks)
|
69 | 59 | func_name = strcat(obj.alias, '::append_range_dimension');
|
70 | 60 | dim = nix.RangeDimension(nix_mx(func_name, obj.nix_handle, ticks));
|
71 |
| - obj.dimsCache.lastUpdate = 0; |
72 | 61 | end
|
73 | 62 |
|
74 | 63 | function delCheck = delete_dimension(obj, index)
|
75 | 64 | func_name = strcat(obj.alias, '::delete_dimension');
|
76 | 65 | delCheck = nix_mx(func_name, obj.nix_handle, index);
|
77 |
| - obj.dimsCache.lastUpdate = 0; |
78 | 66 | end;
|
79 | 67 |
|
80 | 68 | % -----------------
|
|
0 commit comments