Skip to content
Snippets Groups Projects
Commit c5156467 authored by Andrea Gottsponer's avatar Andrea Gottsponer
Browse files

- remove wedge point from arrow

parent b15dfc2c
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,11 @@ import {debounce} from "debounce";
* Arrow primitive
*/
export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive, BaseElementContainerModel<Models.ArrowPrimitive>> {
/**
* Members
*/
private _wedgePoint: Models.Point | null;
/**
* Interactions
*/
......@@ -32,7 +37,7 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
* Elements
*/
protected _arrowElement: MedsurfDraw.Arrow;
protected _wedgePointElement: MedsurfDraw.WedgePoint;
// protected _wedgePointElement: MedsurfDraw.WedgePoint;
/**
* Menu elements
......@@ -145,7 +150,7 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
const imageWidth = this.getImageDimensions().width;
// Get wedge point
const wedgePoint: Models.Point = this.model.wedgePoint
this.wedgePoint = this.model.wedgePoint
? {x: this.model.wedgePoint.x * imageWidth, y: this.model.wedgePoint.y * imageWidth}
: {x: (this.model.rectangle.x + this.model.rectangle.width) * imageWidth, y: (this.model.rectangle.y + this.model.rectangle.height / 2) * imageWidth};
......@@ -159,18 +164,20 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
// -- Arrow element
this._arrowElement = new MedsurfDraw.Arrow({
rectangle: new PIXI.Rectangle(0, 0, this.model.rectangle.width * imageWidth, this.model.rectangle.height * imageWidth),
wedgePoint: wedgePoint,
wedgePoint: this.wedgePoint,
options: Object.assign({}, this.model.options),
lineWidth: this.model.strokeWidth ? Math.round(this.model.strokeWidth * imageWidth * 100) / 100 : undefined
});
this.addChild(this._arrowElement);
// -- Wedge point element
/* TODO remove
this._wedgePointElement = new MedsurfDraw.WedgePoint({
wedgePoint: wedgePoint
});
this._wedgePointElement.moveInteraction.on("onMove", this._onWedgeMove, this);
this._wedgePointElement.moveInteraction.on("endMove", this._onWedgeEndMove, this);
this.addChild(this._wedgePointElement);
*/
//</editor-fold>
//<editor-fold desc="Menu elements">
......@@ -336,8 +343,10 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
this._arrowElement.draw();
this._arrowElement.pivot.set(this._arrowElement.rectangle.width / 2, this._arrowElement.rectangle.height / 2);
// -- Wedge point element
/* TODO remove
this._wedgePointElement.draw();
this._wedgePointElement.pivot.set(this._arrowElement.rectangle.width / 2, this._arrowElement.rectangle.height / 2);
*/
//</editor-fold>
}
......@@ -375,11 +384,13 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
this._arrowElement.destroy(options);
}
// -- Wedge point element
/* TODO remove
if (this._wedgePointElement) {
this._wedgePointElement.moveInteraction.off("onMove", this._onWedgeMove, this);
this._wedgePointElement.moveInteraction.off("endMove", this._onWedgeEndMove, this);
this._wedgePointElement.destroy(options);
}
*/
//</editor-fold>
//<editor-fold desc="Menu elements">
......@@ -681,7 +692,9 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
// Elements
// -- Wedge point element
this._wedgePointElement.interactive = true;
/* TODO remove
this._wedgePointElement.interactive = true
*/
// Events
this.on("pointerover", this.moveInteraction.onMoveHover, this.moveInteraction);
......@@ -1426,6 +1439,7 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
* @private
*/
protected _onWedgeMove(event: PIXI.InteractionEvent, dX: number, dY: number): void {
/* TODO remove
// Get image width
const imageWidth = this.getImageDimensions().width;
......@@ -1448,6 +1462,7 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
// Draw
this.draw();
*/
}
/**
......@@ -1559,16 +1574,32 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
const imageWidth = this.getImageDimensions().width;
// Calc wedge adjust
/* TODO remove
const wedgeXAdjust = this._arrowElement.rectangle.width / (this._wedgePointElement.wedgePoint.x);
const wedgeYAdjust = this._arrowElement.rectangle.height / (this._wedgePointElement.wedgePoint.y);
*/
let wedgeXAdjust = 1;
let wedgeYAdjust = 1;
if (this.wedgePoint) {
wedgeXAdjust = this._arrowElement.rectangle.width / this.wedgePoint.x;
wedgeYAdjust = this._arrowElement.rectangle.height / this.wedgePoint.y;
}
// Element
// -- Arrow element
this._arrowElement.rectangle.width += dW;
this._arrowElement.rectangle.height += dH;
// -- Wedge point element
/* TODO remove
this._wedgePointElement.wedgePoint.x += dW / wedgeXAdjust;
this._wedgePointElement.wedgePoint.y += dH / wedgeYAdjust;
*/
if (this.wedgePoint) {
this.wedgePoint.x += dW / wedgeXAdjust;
this.wedgePoint.y += dH / wedgeYAdjust;
}
// Update model
this.model.rectangle.width = this._arrowElement.rectangle.width / imageWidth;
......@@ -1576,8 +1607,14 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
if (!this.model.wedgePoint) {
this.model.wedgePoint = new PIXI.Point();
}
/* TODO remove
this.model.wedgePoint.x = this._wedgePointElement.wedgePoint.x / imageWidth;
this.model.wedgePoint.y = this._wedgePointElement.wedgePoint.y / imageWidth;
*/
if (this.wedgePoint) {
this.model.wedgePoint.x = this.wedgePoint.x / imageWidth;
this.model.wedgePoint.y = this.wedgePoint.y / imageWidth;
}
// Draw
this.draw();
......@@ -1701,6 +1738,21 @@ export class ArrowPrimitive extends BaseElementContainer<Models.ArrowPrimitive,
//</editor-fold>
//<editor-fold desc="Getter and Setter">
/**
* Get wedge point
*/
public get wedgePoint(): Models.Point | null {
return this._wedgePoint;
}
/**
* Set wedge point
* @param value
*/
public set wedgePoint(value: Models.Point | null) {
this._wedgePoint = value;
}
/**
* Get move interaction
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment