mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-26 10:23:05 +01:00
delete associated label if object is removed
This commit is contained in:
parent
9e1c723415
commit
afe8853fe8
3 changed files with 19 additions and 8 deletions
|
|
@ -265,15 +265,18 @@ class ParametricManager {
|
|||
obj.constraints.clear();
|
||||
obj.generators.clear();
|
||||
|
||||
this.viewer.dimLayer.traverseSketchObjects(dim => {
|
||||
obj.accept(o => {
|
||||
if (dim.dependsOn && dim.dependsOn(o)) {
|
||||
this._removeObject(dim);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
[this.viewer.dimLayer, this.viewer.labelLayer].forEach(l => {
|
||||
l.traverseSketchObjects(dim => {
|
||||
obj.accept(o => {
|
||||
if (dim.dependsOn && dim.dependsOn(o)) {
|
||||
this._removeObject(dim);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
};
|
||||
|
||||
invalidate() {
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@ export class Label extends SketchObject {
|
|||
this.offsetY = 0;
|
||||
}
|
||||
|
||||
dependsOn(other: SketchObject) {
|
||||
return this.assignedObject === other;
|
||||
}
|
||||
|
||||
translateImpl(dx, dy) {
|
||||
this.offsetX += dx;
|
||||
this.offsetY += dy;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,10 @@ export abstract class SketchObject extends Shape implements SolvableObject {
|
|||
this.id = id || this.ref;
|
||||
}
|
||||
|
||||
dependsOn(obj: SketchObject): boolean {
|
||||
return false;
|
||||
};
|
||||
|
||||
get isGenerated() {
|
||||
let obj: SketchObject = this;
|
||||
while (obj) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue