+ // getting label of this operation to avoid usage of ready shapes of this
+ if (!aMyOpLabIsComputed) {
+ aMyOpLab = theAccess;
+ if (!aMyOpLab.IsNull()) {
+ int aDepth = aMyOpLab.Depth();
+ if (aDepth < 3)
+ aMyOpLab.Nullify();
+ else {
+ for(; aDepth != 3; aDepth--)
+ aMyOpLab = aMyOpLab.Father();
+ }
+ }
+ aMyOpLabIsComputed = true;
+ }
+ if (!aMyOpLab.IsNull() && aNS->Label().IsDescendant(aMyOpLab))
+ continue;