@wcardinal/wcardinal-ui 0.459.0 → 0.460.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,7 @@ export declare class EShapeLinePoints implements EShapePoints {
35
35
  toFitted(x: number, y: number): void;
36
36
  onSizeChange(): void;
37
37
  protected fit(): void;
38
+ protected doNeedCompatibilityCheck(): boolean;
38
39
  get id(): number;
39
40
  get values(): number[];
40
41
  set values(values: number[]);
@@ -2,4 +2,5 @@ import { EShapePointsStyle } from "../e-shape-points-style";
2
2
  import { EShapeLinePoints } from "./e-shape-line-points";
3
3
  export declare class EShapePolygonPoints extends EShapeLinePoints {
4
4
  protected newStyle(): EShapePointsStyle;
5
+ protected doNeedCompatibilityCheck(): boolean;
5
6
  }
@@ -91,13 +91,16 @@ var EShapeLinePoints = /** @class */ (function () {
91
91
  }
92
92
  // Invalidate
93
93
  this._id += 1;
94
- if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
94
+ if (this.doNeedCompatibilityCheck()) {
95
95
  var uploaded = parent.uploaded;
96
96
  if (uploaded && !uploaded.isCompatible(parent)) {
97
97
  parent.toDirty();
98
98
  }
99
99
  }
100
100
  };
101
+ EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
102
+ return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
103
+ };
101
104
  Object.defineProperty(EShapeLinePoints.prototype, "id", {
102
105
  get: function () {
103
106
  this.fit();
@@ -249,10 +252,6 @@ var EShapeLinePoints = /** @class */ (function () {
249
252
  EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
250
253
  var isDirty = false;
251
254
  var isUpdated = false;
252
- // Formatter
253
- var style = this._style;
254
- var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
255
- var formatter = this._formatter;
256
255
  // Values
257
256
  if (newValues != null) {
258
257
  var values = this._values;
@@ -274,7 +273,7 @@ var EShapeLinePoints = /** @class */ (function () {
274
273
  isDirty = true;
275
274
  }
276
275
  else {
277
- if (formatter != null || styleFormatter) {
276
+ if (this.doNeedCompatibilityCheck()) {
278
277
  isDirty = true;
279
278
  }
280
279
  else {
@@ -288,7 +287,7 @@ var EShapeLinePoints = /** @class */ (function () {
288
287
  isDirty = true;
289
288
  }
290
289
  else {
291
- if (formatter != null || styleFormatter) {
290
+ if (this.doNeedCompatibilityCheck()) {
292
291
  isDirty = true;
293
292
  }
294
293
  else {
@@ -318,7 +317,7 @@ var EShapeLinePoints = /** @class */ (function () {
318
317
  segments.length = newSegmentsLength;
319
318
  }
320
319
  }
321
- if (formatter != null || styleFormatter) {
320
+ if (this.doNeedCompatibilityCheck()) {
322
321
  isDirty = true;
323
322
  }
324
323
  else {
@@ -327,13 +326,15 @@ var EShapeLinePoints = /** @class */ (function () {
327
326
  }
328
327
  // Style
329
328
  if (newStyle != null) {
329
+ var style = this._style;
330
330
  if (style !== newStyle) {
331
+ var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
331
332
  var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
332
333
  if (styleFormatter !== newStyleFormatter) {
333
334
  isDirty = true;
334
335
  }
335
336
  else {
336
- if (formatter != null || styleFormatter) {
337
+ if (this._formatter != null || styleFormatter) {
337
338
  var styleClosed = style & EShapePointsStyle.CLOSED;
338
339
  var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
339
340
  if (styleClosed !== newStyleClosed) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\treturn (this._marker ??= this.newMarker());\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tplength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\tif (result.plength < result.length) {\n\t\t\t\t\tresult.plength = result.length;\n\t\t\t\t}\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Formatter\n\t\tconst style = this._style;\n\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\tconst formatter = this._formatter;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-line-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-line-points.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix, Point } from \"pixi.js\";\nimport { toIndexOf } from \"../../util/to-index-of\";\nimport { EShape } from \"../e-shape\";\nimport { EShapePoints } from \"../e-shape-points\";\nimport { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapePointsFormatter } from \"../e-shape-points-formatter\";\nimport {\n\tEShapePointsFormatted,\n\tEShapePointsFormattedWithBoundary,\n\ttoPointsBoundary\n} from \"../e-shape-points-formatted\";\nimport { EShapeLineBasePointsHitTester } from \"./e-shape-line-base-points-hit-tester\";\nimport { EShapeLineBasePointsHitTesterToRange } from \"./e-shape-line-base-points-hit-tester-to-range\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapePointsMarkerContainer } from \"../e-shape-points-marker-container\";\nimport { EShapePointsMarkerContainerImpl } from \"../e-shape-points-marker-container-impl\";\nimport { EShapePointsFormatters } from \"../e-shape-points-formatters\";\nimport { EShapeBoundary } from \"../e-shape-boundary\";\n\nexport type EShapeLinePointsSerialized = [number[], number[], number, number?];\n\nexport class EShapeLinePoints implements EShapePoints {\n\tprotected static WORK_RANGE: [number, number] = [0, 0];\n\n\tprotected _parent: EShape;\n\tprotected _valuesBase?: number[];\n\tprotected _valuesBaseLength: number;\n\tprotected _values: number[];\n\tprotected _segments: number[];\n\tprotected _length: number;\n\tprotected _plength: number;\n\tprotected _parentSizeBase: Point;\n\tprotected _parentSizeFitted: Point;\n\tprotected _id: number;\n\tprotected _style: EShapePointsStyle;\n\tprotected _formattedId: number;\n\tprotected _formatter?: EShapePointsFormatter | null;\n\tprotected _formatted?: EShapePointsFormattedWithBoundary;\n\n\tprotected _marker?: EShapePointsMarkerContainer;\n\n\tconstructor(parent: EShape) {\n\t\tthis._parent = parent;\n\t\tthis._valuesBaseLength = 0;\n\t\tthis._values = [];\n\t\tthis._segments = [];\n\t\tthis._length = 0;\n\t\tthis._plength = 0;\n\t\tconst parentSize = parent.size;\n\t\tconst parentSizeX = parentSize.x;\n\t\tconst parentSizeY = parentSize.y;\n\t\tthis._parentSizeBase = new Point(parentSizeX, parentSizeY);\n\t\tthis._parentSizeFitted = new Point(parentSizeX, parentSizeY);\n\t\tthis._id = 0;\n\t\tthis._style = this.newStyle();\n\t\tthis._formattedId = -1;\n\t}\n\n\tprotected newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.NONE;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\tget plength(): number {\n\t\treturn this._plength;\n\t}\n\n\ttoFitted(x: number, y: number): void {\n\t\tthis._valuesBase = undefined;\n\t\tthis._parentSizeFitted.set(x, y);\n\t\tthis._parentSizeBase.set(x, y);\n\t}\n\n\tonSizeChange(): void {\n\t\tthis.fit();\n\t}\n\n\tprotected fit(): void {\n\t\tconst parent = this._parent;\n\t\tconst psizef = this._parentSizeFitted;\n\t\tconst psize = parent.size;\n\t\tconst psizeX = psize.x;\n\t\tconst psizeY = psize.y;\n\t\tconst threshold = 0.00001;\n\t\tif (Math.abs(psizeX - psizef.x) <= threshold && Math.abs(psizeY - psizef.y) <= threshold) {\n\t\t\treturn;\n\t\t}\n\n\t\tpsizef.set(psizeX, psizeY);\n\t\tconst psizeBase = this._parentSizeBase;\n\t\tconst isValidX = threshold < Math.abs(psizeBase.x);\n\t\tconst isValidY = threshold < Math.abs(psizeBase.y);\n\t\tif (!isValidX && !isValidY) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scaleX = isValidX ? psizeX / psizeBase.x : 1;\n\t\tconst scaleY = isValidY ? psizeY / psizeBase.y : 1;\n\n\t\t// Values\n\t\tconst values = this._values;\n\t\tlet valuesBase = this._valuesBase;\n\t\tif (valuesBase == null) {\n\t\t\tvaluesBase = [];\n\t\t\tthis._valuesBase = valuesBase;\n\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tconst x = values[i];\n\t\t\t\tconst y = values[i + 1];\n\t\t\t\tvalues[i] = x * scaleX;\n\t\t\t\tvalues[i + 1] = y * scaleY;\n\t\t\t\tvaluesBase.push(x, y);\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\n\t\t// Invalidate\n\t\tthis._id += 1;\n\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded && !uploaded.isCompatible(parent)) {\n\t\t\t\tparent.toDirty();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doNeedCompatibilityCheck(): boolean {\n\t\treturn this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;\n\t}\n\n\tget id(): number {\n\t\tthis.fit();\n\t\treturn this._id;\n\t}\n\n\tget values(): number[] {\n\t\tthis.fit();\n\t\treturn this._values;\n\t}\n\n\tset values(values: number[]) {\n\t\tthis.set(values, undefined, undefined);\n\t}\n\n\tget segments(): number[] {\n\t\treturn this._segments;\n\t}\n\n\t/**\n\t * Must be sorted in ascending order.\n\t */\n\tset segments(segments: number[]) {\n\t\tthis.set(undefined, segments, undefined);\n\t}\n\n\tget style(): EShapePointsStyle {\n\t\treturn this._style;\n\t}\n\n\tset style(style: EShapePointsStyle) {\n\t\tthis.set(undefined, undefined, style);\n\t}\n\n\tget marker(): EShapePointsMarkerContainer {\n\t\treturn (this._marker ??= this.newMarker());\n\t}\n\n\tgetMarker(): EShapePointsMarkerContainer | undefined {\n\t\treturn this._marker;\n\t}\n\n\tprotected newMarker(): EShapePointsMarkerContainer {\n\t\treturn new EShapePointsMarkerContainerImpl(this);\n\t}\n\n\tonMarkerTypeChange(): void {\n\t\tconst parent = this._parent;\n\t\tparent.uploaded = undefined;\n\t\tparent.toDirty();\n\t}\n\n\tonMarkerSizeChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tonMarkerFillChange(): void {\n\t\tthis._parent.updateUploaded();\n\t}\n\n\tget formatter(): EShapePointsFormatter | null {\n\t\treturn this._formatter || null;\n\t}\n\n\tset formatter(formatter: EShapePointsFormatter | null) {\n\t\tif (this._formatter !== formatter) {\n\t\t\tthis._formattedId = -1;\n\t\t\tthis._formatter = formatter;\n\t\t\tthis.toDirty(true);\n\t\t}\n\t}\n\n\tget formatted(): EShapePointsFormatted {\n\t\tthis.fit();\n\t\tconst id = this._id;\n\t\tlet result = this._formatted;\n\t\tif (this._formattedId !== id) {\n\t\t\tthis._formattedId = id;\n\n\t\t\tconst style = this._style;\n\t\t\tconst formatter = this._formatter ?? EShapePointsFormatters.find(style)?.formatter;\n\t\t\tif (formatter != null) {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = {\n\t\t\t\t\t\tlength: 0,\n\t\t\t\t\t\tplength: 0,\n\t\t\t\t\t\tvalues: [],\n\t\t\t\t\t\tsegments: [],\n\t\t\t\t\t\tboundary: [0, 0, 0, 0],\n\t\t\t\t\t\tstyle: EShapePointsStyle.NONE\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst values = this._values;\n\t\t\t\tconst segments = this._segments;\n\t\t\t\tconst length = values.length >> 1;\n\t\t\t\tformatter(length, values, segments, style, result);\n\t\t\t\tif (result.plength < result.length) {\n\t\t\t\t\tresult.plength = result.length;\n\t\t\t\t}\n\t\t\t\ttoPointsBoundary(result.values, result.boundary);\n\t\t\t} else {\n\t\t\t\tresult = undefined;\n\t\t\t}\n\t\t\tthis._formatted = result;\n\t\t}\n\t\treturn result || this;\n\t}\n\n\tprotected toScaled(\n\t\tvalues: number[],\n\t\tvaluesBase: number[],\n\t\tboundary: EShapeBoundary,\n\t\tboundaryBase: EShapeBoundary\n\t): void {\n\t\tconst size = this._parentSizeFitted;\n\t\tconst sizeBase = this._parentSizeBase;\n\t\tconst threshold = 0.00001;\n\t\tconst hasSizeBaseX = threshold < Math.abs(sizeBase.x);\n\t\tconst hasSizeBaseY = threshold < Math.abs(sizeBase.y);\n\t\tif (hasSizeBaseX || hasSizeBaseY) {\n\t\t\tconst scaleX = hasSizeBaseX ? size.x / sizeBase.x : 1;\n\t\t\tconst scaleY = hasSizeBaseY ? size.y / sizeBase.y : 1;\n\n\t\t\tfor (let i = 0, imax = valuesBase.length; i < imax; i += 2) {\n\t\t\t\tvalues[i] = valuesBase[i] * scaleX;\n\t\t\t\tvalues[i + 1] = valuesBase[i + 1] * scaleY;\n\t\t\t}\n\n\t\t\tfor (let i = 0, imax = boundaryBase.length; i < imax; i += 2) {\n\t\t\t\tboundary[i] = boundaryBase[i] * scaleX;\n\t\t\t\tboundary[i + 1] = boundaryBase[i + 1] * scaleY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcopy(source: EShapePoints): this {\n\t\tthis.set(source.values, source.segments, source.style);\n\t\tconst marker = source.getMarker();\n\t\tif (marker) {\n\t\t\tthis.marker.copy(marker);\n\t\t}\n\t\treturn this;\n\t}\n\n\tset(newValues?: number[], newSegments?: number[], newStyle?: EShapePointsStyle): this {\n\t\tlet isDirty = false;\n\t\tlet isUpdated = false;\n\n\t\t// Values\n\t\tif (newValues != null) {\n\t\t\tconst values = this._values;\n\t\t\tconst valuesBaseLength = this._valuesBaseLength;\n\t\t\tconst newValuesLength = newValues.length;\n\t\t\tconst iupdate = Math.min(newValuesLength, valuesBaseLength);\n\t\t\tconst parentSize = this._parent.size;\n\t\t\tthis.toFitted(parentSize.x, parentSize.y);\n\t\t\tif (values !== newValues) {\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tvalues[i] = newValues[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newValuesLength; ++i) {\n\t\t\t\t\tvalues.push(newValues[i]);\n\t\t\t\t}\n\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tvalues.length = newValuesLength;\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (valuesBaseLength !== newValuesLength) {\n\t\t\t\t\tthis._valuesBaseLength = newValuesLength;\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst newLength = newValuesLength >> 1;\n\t\t\tthis._length = newLength;\n\t\t\tif (this._plength < newLength) {\n\t\t\t\tthis._plength = newLength;\n\t\t\t}\n\t\t}\n\n\t\t// Segments\n\t\tif (newSegments != null) {\n\t\t\tconst segments = this._segments;\n\t\t\tif (segments !== newSegments) {\n\t\t\t\tconst newSegmentsLength = newSegments.length;\n\t\t\t\tconst iupdate = Math.min(segments.length, newSegmentsLength);\n\t\t\t\tfor (let i = 0; i < iupdate; ++i) {\n\t\t\t\t\tsegments[i] = newSegments[i];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = iupdate; i < newSegmentsLength; ++i) {\n\t\t\t\t\tsegments.push(newSegments[i]);\n\t\t\t\t}\n\n\t\t\t\tif (segments.length !== newSegmentsLength) {\n\t\t\t\t\tsegments.length = newSegmentsLength;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.doNeedCompatibilityCheck()) {\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tisUpdated = true;\n\t\t\t}\n\t\t}\n\n\t\t// Style\n\t\tif (newStyle != null) {\n\t\t\tconst style = this._style;\n\t\t\tif (style !== newStyle) {\n\t\t\t\tconst styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tconst newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;\n\t\t\t\tif (styleFormatter !== newStyleFormatter) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t} else {\n\t\t\t\t\tif (this._formatter != null || styleFormatter) {\n\t\t\t\t\t\tconst styleClosed = style & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tconst newStyleClosed = newStyle & EShapePointsStyle.CLOSED;\n\t\t\t\t\t\tif (styleClosed !== newStyleClosed) {\n\t\t\t\t\t\t\tisDirty = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisUpdated = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis._style = newStyle;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif (isUpdated || isDirty) {\n\t\t\tthis.toDirty(isDirty);\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toDirty(revalidate: boolean): void {\n\t\tif (revalidate) {\n\t\t\tthis._id += 1;\n\t\t\tconst parent = this._parent;\n\t\t\tconst uploaded = parent.uploaded;\n\t\t\tif (uploaded) {\n\t\t\t\tif (uploaded.isCompatible(parent)) {\n\t\t\t\t\tparent.updateUploaded();\n\t\t\t\t} else {\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tparent.updateUploaded();\n\t\t\t}\n\t\t} else {\n\t\t\tthis._id += 1;\n\t\t\tthis._parent.updateUploaded();\n\t\t}\n\t}\n\n\tclone(parent: EShape): EShapeLinePoints {\n\t\treturn new EShapeLinePoints(parent).copy(this);\n\t}\n\n\ttoPoints(transform: Matrix): Point[] {\n\t\tconst result: Point[] = [];\n\t\tconst values = this.values;\n\t\tfor (let i = 0, imax = values.length; i < imax; i += 2) {\n\t\t\tconst point = new Point(values[i + 0], values[i + 1]);\n\t\t\tresult.push(transform.apply(point, point));\n\t\t}\n\t\treturn result;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst values = JSON.stringify(this._values);\n\t\tconst segments = JSON.stringify(this._segments);\n\t\tconst style = this._style;\n\t\tlet markerId = -1;\n\t\tconst marker = this._marker;\n\t\tif (marker) {\n\t\t\tmarkerId = marker.serialize(manager);\n\t\t}\n\t\treturn manager.addResource(`[${values},${segments},${style},${markerId}]`);\n\t}\n\n\tdeserialize(resourceId: number, manager: EShapeResourceManagerDeserialization): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeLinePointsSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeLinePointsSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.set(parsed[0], parsed[1], parsed[2]);\n\t\t\tconst markerId = parsed[3];\n\t\t\tif (markerId != null && 0 <= markerId) {\n\t\t\t\tthis.marker.deserialize(markerId, manager);\n\t\t\t}\n\t\t}\n\t}\n\n\tcalcHitPointAbs<RESULT>(\n\t\tx: number,\n\t\ty: number,\n\t\tax: number,\n\t\tay: number,\n\t\tthreshold: number,\n\t\ttoRange: EShapeLineBasePointsHitTesterToRange | null,\n\t\ttester: EShapeLineBasePointsHitTester<RESULT>,\n\t\tresult: RESULT\n\t): boolean {\n\t\tconst formatted = this.formatted;\n\t\tconst length = formatted.length;\n\t\tif (2 <= length) {\n\t\t\tconst values = formatted.values;\n\t\t\tconst segments = formatted.segments;\n\t\t\tconst style = formatted.style;\n\t\t\tlet istart = 0;\n\t\t\tlet iend = length;\n\t\t\tif (toRange) {\n\t\t\t\tconst work = EShapeLinePoints.WORK_RANGE;\n\t\t\t\ttoRange(x, y, threshold, values, work);\n\t\t\t\tistart = work[0];\n\t\t\t\tiend = work[1];\n\t\t\t}\n\t\t\tfor (let i = istart, imax = Math.min(iend, length - 1); i < imax; ++i) {\n\t\t\t\tif (toIndexOf(segments, i + 1) < 0) {\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[iv + 2];\n\t\t\t\t\tconst p1y = values[iv + 3];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (2 < length && length <= iend && style & EShapePointsStyle.CLOSED) {\n\t\t\t\tif (toIndexOf(segments, 0) < 0) {\n\t\t\t\t\tconst i = length - 1;\n\t\t\t\t\tconst iv = i << 1;\n\t\t\t\t\tconst p0x = values[iv + 0];\n\t\t\t\t\tconst p0y = values[iv + 1];\n\t\t\t\t\tconst p1x = values[0];\n\t\t\t\t\tconst p1y = values[1];\n\t\t\t\t\tif (tester(x, y, p0x, p0y, p1x, p1y, i, threshold, result)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -9,6 +9,11 @@ var EShapePolygonPoints = /** @class */ (function (_super) {
9
9
  EShapePolygonPoints.prototype.newStyle = function () {
10
10
  return EShapePointsStyle.CLOSED;
11
11
  };
12
+ EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
13
+ // Since the number of vertices and indices could be changed during the triangulation,
14
+ // we need to check the compatibility whenever values change.
15
+ return true;
16
+ };
12
17
  return EShapePolygonPoints;
13
18
  }(EShapeLinePoints));
14
19
  export { EShapePolygonPoints };
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;IAIA,CAAC;IAHmB,sCAAQ,GAA3B;QACC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACjC,CAAC;IACF,0BAAC;AAAD,CAAC,AAJD,CAAyC,gBAAgB,GAIxD","sourcesContent":["import { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeLinePoints } from \"./e-shape-line-points\";\n\nexport class EShapePolygonPoints extends EShapeLinePoints {\n\tprotected override newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.CLOSED;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-polygon-points.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/e-shape-polygon-points.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;IAAyC,uCAAgB;IAAzD;;IAUA,CAAC;IATmB,sCAAQ,GAA3B;QACC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IACjC,CAAC;IAEkB,sDAAwB,GAA3C;QACC,sFAAsF;QACtF,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACb,CAAC;IACF,0BAAC;AAAD,CAAC,AAVD,CAAyC,gBAAgB,GAUxD","sourcesContent":["import { EShapePointsStyle } from \"../e-shape-points-style\";\nimport { EShapeLinePoints } from \"./e-shape-line-points\";\n\nexport class EShapePolygonPoints extends EShapeLinePoints {\n\tprotected override newStyle(): EShapePointsStyle {\n\t\treturn EShapePointsStyle.CLOSED;\n\t}\n\n\tprotected override doNeedCompatibilityCheck(): boolean {\n\t\t// Since the number of vertices and indices could be changed during the triangulation,\n\t\t// we need to check the compatibility whenever values change.\n\t\treturn true;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -14478,13 +14478,16 @@ var EShapeLinePoints = /** @class */ (function () {
14478
14478
  }
14479
14479
  // Invalidate
14480
14480
  this._id += 1;
14481
- if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
14481
+ if (this.doNeedCompatibilityCheck()) {
14482
14482
  var uploaded = parent.uploaded;
14483
14483
  if (uploaded && !uploaded.isCompatible(parent)) {
14484
14484
  parent.toDirty();
14485
14485
  }
14486
14486
  }
14487
14487
  };
14488
+ EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
14489
+ return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
14490
+ };
14488
14491
  Object.defineProperty(EShapeLinePoints.prototype, "id", {
14489
14492
  get: function () {
14490
14493
  this.fit();
@@ -14636,10 +14639,6 @@ var EShapeLinePoints = /** @class */ (function () {
14636
14639
  EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
14637
14640
  var isDirty = false;
14638
14641
  var isUpdated = false;
14639
- // Formatter
14640
- var style = this._style;
14641
- var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
14642
- var formatter = this._formatter;
14643
14642
  // Values
14644
14643
  if (newValues != null) {
14645
14644
  var values = this._values;
@@ -14661,7 +14660,7 @@ var EShapeLinePoints = /** @class */ (function () {
14661
14660
  isDirty = true;
14662
14661
  }
14663
14662
  else {
14664
- if (formatter != null || styleFormatter) {
14663
+ if (this.doNeedCompatibilityCheck()) {
14665
14664
  isDirty = true;
14666
14665
  }
14667
14666
  else {
@@ -14675,7 +14674,7 @@ var EShapeLinePoints = /** @class */ (function () {
14675
14674
  isDirty = true;
14676
14675
  }
14677
14676
  else {
14678
- if (formatter != null || styleFormatter) {
14677
+ if (this.doNeedCompatibilityCheck()) {
14679
14678
  isDirty = true;
14680
14679
  }
14681
14680
  else {
@@ -14705,7 +14704,7 @@ var EShapeLinePoints = /** @class */ (function () {
14705
14704
  segments.length = newSegmentsLength;
14706
14705
  }
14707
14706
  }
14708
- if (formatter != null || styleFormatter) {
14707
+ if (this.doNeedCompatibilityCheck()) {
14709
14708
  isDirty = true;
14710
14709
  }
14711
14710
  else {
@@ -14714,13 +14713,15 @@ var EShapeLinePoints = /** @class */ (function () {
14714
14713
  }
14715
14714
  // Style
14716
14715
  if (newStyle != null) {
14716
+ var style = this._style;
14717
14717
  if (style !== newStyle) {
14718
+ var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
14718
14719
  var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
14719
14720
  if (styleFormatter !== newStyleFormatter) {
14720
14721
  isDirty = true;
14721
14722
  }
14722
14723
  else {
14723
- if (formatter != null || styleFormatter) {
14724
+ if (this._formatter != null || styleFormatter) {
14724
14725
  var styleClosed = style & EShapePointsStyle.CLOSED;
14725
14726
  var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
14726
14727
  if (styleClosed !== newStyleClosed) {
@@ -48725,6 +48726,11 @@ var EShapePolygonPoints = /** @class */ (function (_super) {
48725
48726
  EShapePolygonPoints.prototype.newStyle = function () {
48726
48727
  return EShapePointsStyle.CLOSED;
48727
48728
  };
48729
+ EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
48730
+ // Since the number of vertices and indices could be changed during the triangulation,
48731
+ // we need to check the compatibility whenever values change.
48732
+ return true;
48733
+ };
48728
48734
  return EShapePolygonPoints;
48729
48735
  }(EShapeLinePoints));
48730
48736
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.459.0
2
+ Winter Cardinal UI v0.460.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -14475,13 +14475,16 @@
14475
14475
  }
14476
14476
  // Invalidate
14477
14477
  this._id += 1;
14478
- if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
14478
+ if (this.doNeedCompatibilityCheck()) {
14479
14479
  var uploaded = parent.uploaded;
14480
14480
  if (uploaded && !uploaded.isCompatible(parent)) {
14481
14481
  parent.toDirty();
14482
14482
  }
14483
14483
  }
14484
14484
  };
14485
+ EShapeLinePoints.prototype.doNeedCompatibilityCheck = function () {
14486
+ return this._formatter != null || (this._style & EShapePointsStyle.FORMATTER_MASK) !== 0;
14487
+ };
14485
14488
  Object.defineProperty(EShapeLinePoints.prototype, "id", {
14486
14489
  get: function () {
14487
14490
  this.fit();
@@ -14633,10 +14636,6 @@
14633
14636
  EShapeLinePoints.prototype.set = function (newValues, newSegments, newStyle) {
14634
14637
  var isDirty = false;
14635
14638
  var isUpdated = false;
14636
- // Formatter
14637
- var style = this._style;
14638
- var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
14639
- var formatter = this._formatter;
14640
14639
  // Values
14641
14640
  if (newValues != null) {
14642
14641
  var values = this._values;
@@ -14658,7 +14657,7 @@
14658
14657
  isDirty = true;
14659
14658
  }
14660
14659
  else {
14661
- if (formatter != null || styleFormatter) {
14660
+ if (this.doNeedCompatibilityCheck()) {
14662
14661
  isDirty = true;
14663
14662
  }
14664
14663
  else {
@@ -14672,7 +14671,7 @@
14672
14671
  isDirty = true;
14673
14672
  }
14674
14673
  else {
14675
- if (formatter != null || styleFormatter) {
14674
+ if (this.doNeedCompatibilityCheck()) {
14676
14675
  isDirty = true;
14677
14676
  }
14678
14677
  else {
@@ -14702,7 +14701,7 @@
14702
14701
  segments.length = newSegmentsLength;
14703
14702
  }
14704
14703
  }
14705
- if (formatter != null || styleFormatter) {
14704
+ if (this.doNeedCompatibilityCheck()) {
14706
14705
  isDirty = true;
14707
14706
  }
14708
14707
  else {
@@ -14711,13 +14710,15 @@
14711
14710
  }
14712
14711
  // Style
14713
14712
  if (newStyle != null) {
14713
+ var style = this._style;
14714
14714
  if (style !== newStyle) {
14715
+ var styleFormatter = style & EShapePointsStyle.FORMATTER_MASK;
14715
14716
  var newStyleFormatter = newStyle & EShapePointsStyle.FORMATTER_MASK;
14716
14717
  if (styleFormatter !== newStyleFormatter) {
14717
14718
  isDirty = true;
14718
14719
  }
14719
14720
  else {
14720
- if (formatter != null || styleFormatter) {
14721
+ if (this._formatter != null || styleFormatter) {
14721
14722
  var styleClosed = style & EShapePointsStyle.CLOSED;
14722
14723
  var newStyleClosed = newStyle & EShapePointsStyle.CLOSED;
14723
14724
  if (styleClosed !== newStyleClosed) {
@@ -48722,6 +48723,11 @@
48722
48723
  EShapePolygonPoints.prototype.newStyle = function () {
48723
48724
  return EShapePointsStyle.CLOSED;
48724
48725
  };
48726
+ EShapePolygonPoints.prototype.doNeedCompatibilityCheck = function () {
48727
+ // Since the number of vertices and indices could be changed during the triangulation,
48728
+ // we need to check the compatibility whenever values change.
48729
+ return true;
48730
+ };
48725
48731
  return EShapePolygonPoints;
48726
48732
  }(EShapeLinePoints));
48727
48733