Skip to content

Commit bb6a8b9

Browse files
committed
addGroupEntity: add group entity II
1 parent 035269d commit bb6a8b9

File tree

2 files changed

+103
-6
lines changed

2 files changed

+103
-6
lines changed

+nix/Group.m

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
classdef Group < nix.NamedEntity
2+
%Group nix Group object
3+
4+
properties (Hidden)
5+
% namespace reference for nix-mx functions
6+
alias = 'Group'
7+
end
8+
9+
methods
10+
function obj = Group(h)
11+
12+
13+
% assign relations
14+
nix.Dynamic.add_dyn_relation(obj, 'dataArrays', @nix.DataArray);
15+
nix.Dynamic.add_dyn_relation(obj, 'tags', @nix.Tag);
16+
nix.Dynamic.add_dyn_relation(obj, 'multiTags', @nix.MultiTag);
17+
end;
18+
19+
% -----------------
20+
% DataArray methods
21+
% -----------------
22+
23+
function hasDataArray = has_data_array(obj, id_or_name)
24+
hasDataArray = nix_mx('Group::hasDataArray', ...
25+
obj.nix_handle, id_or_name);
26+
end;
27+
28+
function retObj = get_data_array(obj, id_or_name)
29+
retObj = nix.Utils.open_entity(obj, ...
30+
'Group::getDataArray', id_or_name, @nix.DataArray);
31+
end;
32+
33+
function [] = add_data_array(obj, add_this)
34+
obj.dataArraysCache = nix.Utils.add_entity(obj, ...
35+
add_this, 'nix.DataArray', 'Group::addDataArray', ...
36+
obj.dataArraysCache);
37+
end;
38+
39+
function delCheck = remove_data_array(obj, del)
40+
[delCheck, obj.dataArraysCache] = nix.Utils.delete_entity(obj, ...
41+
del, 'nix.DataArray', 'Group::removeDataArray', ...
42+
obj.dataArraysCache);
43+
end;
44+
45+
% -----------------
46+
% Tags methods
47+
% -----------------
48+
49+
function hasTag = has_tag(obj, id_or_name)
50+
hasTag = nix_mx('Group::hasTag', obj.nix_handle, id_or_name);
51+
end;
52+
53+
function retObj = get_tag(obj, id_or_name)
54+
retObj = nix.Utils.open_entity(obj, ...
55+
'Group::getTag', id_or_name, @nix.Tag);
56+
end;
57+
58+
function [] = add_tag(obj, add_this)
59+
obj.tagsCache = nix.Utils.add_entity(obj, ...
60+
add_this, 'nix.Tag', 'Group::addTag', ...
61+
obj.tagsCache);
62+
end;
63+
64+
function delCheck = remove_tag(obj, del)
65+
[delCheck, obj.tagsCache] = nix.Utils.delete_entity(obj, ...
66+
del, 'nix.Tag', 'Group::removeTag', ...
67+
obj.tagsCache);
68+
end;
69+
70+
% -----------------
71+
% MultiTag methods
72+
% -----------------
73+
74+
function hasMTag = has_multi_tag(obj, id_or_name)
75+
hasMTag = nix_mx('Group::hasMultiTag', ...
76+
obj.nix_handle, id_or_name);
77+
end;
78+
79+
function retObj = get_multi_tag(obj, id_or_name)
80+
retObj = nix.Utils.open_entity(obj, ...
81+
'Group::getMultiTag', id_or_name, @nix.MultiTag);
82+
end;
83+
84+
function [] = add_multi_tag(obj, add_this)
85+
obj.multiTagsCache = nix.Utils.add_entity(obj, ...
86+
add_this, 'nix.MultiTag', 'Group::addMultiTag', ...
87+
obj.multiTagsCache);
88+
end;
89+
90+
function delCheck = remove_multi_tag(obj, del)
91+
[delCheck, obj.multiTagsCache] = nix.Utils.delete_entity(obj, ...
92+
del, 'nix.MultiTag', 'Group::removeMultiTag', ...
93+
obj.multiTagsCache);
94+
end;
95+
96+
end;
97+
end

nix_mx.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,17 @@ void mexFunction(int nlhs,
147147
// compiles, should work
148148
.reg("hasMultiTag", GETBYSTR(bool, nix::Group, hasMultiTag))
149149
// compiles, should work
150-
.reg("openDataArray", GETBYSTR(nix::DataArray, nix::Group, getDataArray))
150+
.reg("getDataArray", GETBYSTR(nix::DataArray, nix::Group, getDataArray))
151151
// compiles, should work
152-
.reg("openTag", GETBYSTR(nix::Tag, nix::Group, getTag))
152+
.reg("getTag", GETBYSTR(nix::Tag, nix::Group, getTag))
153153
// compiles, should work
154-
.reg("openMultiTag", GETBYSTR(nix::MultiTag, nix::Group, getMultiTag))
154+
.reg("getMultiTag", GETBYSTR(nix::MultiTag, nix::Group, getMultiTag))
155155
// compiles, should work
156-
.reg("deleteDataArray", REMOVER(nix::DataArray, nix::Group, removeDataArray))
156+
.reg("removeDataArray", REMOVER(nix::DataArray, nix::Group, removeDataArray))
157157
// compiles, should work, deleteTag in Block
158-
.reg("deleteTag", REMOVER(nix::Tag, nix::Group, removeTag))
158+
.reg("removeTag", REMOVER(nix::Tag, nix::Group, removeTag))
159159
// should work, deleteMultiTag in Block
160-
.reg("deleteMultiTag", REMOVER(nix::MultiTag, nix::Group, removeMultiTag))
160+
.reg("removeMultiTag", REMOVER(nix::MultiTag, nix::Group, removeMultiTag))
161161
.reg("set_type", SETTER(const std::string&, nix::Group, type))
162162
.reg("set_definition", SETTER(const std::string&, nix::Group, definition))
163163
.reg("set_none_definition", SETTER(const boost::none_t, nix::Group, definition));

0 commit comments

Comments
 (0)