📄 compute_sd_array.m
字号:
function sdArray = compute_sd_array(curveArray)
% sdArray = COMPUTE_SD_ARRAY(curveArray)
% Analyzes curveArray to find all sub-domains.
treeArray = [];
for iCurve = 1:length(curveArray)
nodeNew = pointer;
nodeNew.curve = curveArray(iCurve);
nodeNew.children = [];
% check if current curve is inside curves already added
nTrees = length(treeArray);
bAdded = 0;
for iTree = 1:nTrees
nodeParent = findParent(treeArray(iTree), nodeNew);
if nodeParent ~= 0
nodeParent.children = [nodeParent.children nodeNew];
bAdded = 1;
break
end
end
if bAdded
continue
else
treeArray = [treeArray nodeNew];
end
% check if other roots are inside the added curve
iTree = 1;
while iTree < length(treeArray)
nodeCurr = treeArray(iTree);
if is_first_in_second(nodeCurr.curve, nodeNew.curve)
nodeNew.children = [nodeNew.children nodeCurr];
treeArray = remove(treeArray, iTree);
else
iTree = iTree + 1;
end
end
end
% add the 'Hankel' subdomain at the root
nodeHankel = pointer;
nodeHankel.children = treeArray;
nodeHankel.curve = [];
sdArray = tree2sdArray(nodeHankel);
free_tree(nodeHankel);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -