diff options
Diffstat (limited to 'CSXCAD/matlab/private/Add2Property.m')
-rw-r--r-- | CSXCAD/matlab/private/Add2Property.m | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/CSXCAD/matlab/private/Add2Property.m b/CSXCAD/matlab/private/Add2Property.m new file mode 100644 index 0000000..e38ddc9 --- /dev/null +++ b/CSXCAD/matlab/private/Add2Property.m @@ -0,0 +1,26 @@ +function CSX = Add2Property(CSX, propName, newPrim, primName) +% function CSX = Add2Property(CSX, propName, newPrim, primName) +% +% meant for internal use!! +% +% CSXCAD matlab interface +% ----------------------- +% author: Thorsten Liebig + +type = GetPropertyType(CSX, propName); +if isempty(type) + error('CSXCAD:Add2Property',['the type for the property "' propName '" cannot be found']); +end + +pos = GetPropertyPosition(CSX, type, propName); +if (pos==0) + error('CSXCAD:Add2Property',['property "' propName '" of type "' type '" not found!']); +end + +if ~isfield(CSX.Properties.(type){pos}, 'Primitives') + CSX.Properties.(type){pos}.Primitives.(primName){1}=newPrim; +elseif ~isfield(CSX.Properties.(type){pos}.Primitives, primName) + CSX.Properties.(type){pos}.Primitives.(primName){1}=newPrim; +else + CSX.Properties.(type){pos}.Primitives.(primName){end+1}=newPrim; +end |