diff --git a/Basic/@gds_element/layer.m b/Basic/@gds_element/layer.m new file mode 100644 index 0000000..f7796cc --- /dev/null +++ b/Basic/@gds_element/layer.m @@ -0,0 +1,21 @@ +function [lay, dtype] = layer(gelm) +%function [lay, dtype] = layer(gelm) +% +% returns layer and data type properties of an element +% (this method is faster than field indexing) +% +% gelm : a gds_element object +% lay : layer property +% dtype : (Optional) data type property + + if isref(gelm.data.internal) + error('gds_element: element has no layer/datatype property.'); + end + + lay = get_element_data(gelm.data.internal, 'layer'); + + if nargout > 1 + dtype = get_element_data(gelm.data.internal, 'dtype'); + end + +end diff --git a/Basic/@gds_element/xy.m b/Basic/@gds_element/xy.m index a3f18b2..120a594 100644 --- a/Basic/@gds_element/xy.m +++ b/Basic/@gds_element/xy.m @@ -7,7 +7,7 @@ % pos : a cell array containing one or more nx2 matrices % with reference positions - if ~isfield(gelm.data, 'xy'); + if ~isfield(gelm.data, 'xy') error('gds_element.xy : element has no position data.'); end diff --git a/Basic/gdsii_version.m b/Basic/gdsii_version.m index 6d8c0e2..36e5eca 100644 --- a/Basic/gdsii_version.m +++ b/Basic/gdsii_version.m @@ -16,8 +16,8 @@ % % toolbox version and version date - tb_version = '137'; - tb_date = '2016-November-05'; + tb_version = '138'; + tb_date = '2016-November-06'; ltb_ver = [tb_version, ' (', tb_date, ')']; if exist('OCTAVE_VERSION') interpreter = 'Octave'; diff --git a/ChangeLog b/ChangeLog index 3b5bac3..b71bbc8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +- new 'layer' method for gds_element objects to query layer/data type, which + is faster than field indexing. + 2016-November-05 - version 137 - return [] in 'get_element_data' if an element does not have a requested