@shapediver/viewer.features.drawing-tools 3.12.15 → 3.12.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopInteractionStrategy.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,yCAAyC,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,oBAAoB,EAEpB,iBAAiB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACtE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,SAAS,CAAC,CAAe;gBAGhC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,8BAA8B,EAClD,MAAM,EAAE,iBAAiB;IAO1B,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAKvC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IA2BhE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAkHhE,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAU9D,YAAY,IAAI,iBAAiB;IAajC,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,YAAY;CAYpB"}
1
+ {"version":3,"file":"DesktopInteractionStrategy.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,yCAAyC,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,oBAAoB,EAEpB,iBAAiB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACtE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,SAAS,CAAC,CAAe;gBAGhC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,8BAA8B,EAClD,MAAM,EAAE,iBAAiB;IAO1B,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAKvC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IA2BhE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAkHhE,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAU9D,YAAY,IAAI,iBAAiB;IAajC,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,YAAY;CAYpB"}
@@ -168,6 +168,17 @@ class DesktopInteractionStrategy {
168
168
  return { handled: true, action: IInteractionStrategy_1.InteractionAction.SELECT };
169
169
  }
170
170
  handleRightClick(event, ray) {
171
+ // Check if right-clicking on an existing point to delete it
172
+ const distances = this.drawingToolsManager.geometryMathManager.checkPointDistances(ray, this.drawingToolsManager.positionArray);
173
+ // If clicking on a point, delete it
174
+ if (distances && distances.length > 0) {
175
+ this.interactionManager.deletionInteractionHandler.deletePoint(ray);
176
+ return {
177
+ handled: true,
178
+ action: IInteractionStrategy_1.InteractionAction.DELETE,
179
+ preventDefault: true,
180
+ };
181
+ }
171
182
  // Right click typically cancels current operation or shows context menu
172
183
  return {
173
184
  handled: true,
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopInteractionStrategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.ts"],"names":[],"mappings":";;;AAKA,iEAIgC;AAEhC;;GAEG;AACH,MAAa,0BAA0B;IAOtC,YACC,mBAAwC,EACxC,kBAAkD,EAClD,MAAyB;QAEzB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAmB;QAC5B,8BAA8B;QAC9B,OAAO,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;IACrE,CAAC;IAED,aAAa,CAAC,KAAmB,EAAE,GAAS;QAC3C,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YACpC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;SACxB;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,8DAA8D;QAC9D,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE5C,uDAAuD;QACvD,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,GAAG,KAAK,CAAC;QAEhE,+BAA+B;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACxC;QAED,gCAAgC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACzC;QAED,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,KAAmB,EAAE,GAAS;QAC3C,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YACpC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;SACxB;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,sBAAwC,CAAC;QAE7C,8DAA8D;QAC9D,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE5C,mEAAmE;QACnE,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE;YACpC,sBAAsB;gBACrB,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;oBACxC,sBAAsB,CAAC;YACxB,IAAI,sBAAsB,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;aAClC;SACD;QAED,gCAAgC;QAChC,IACC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,eAAe,EAClE;YACD,sBAAsB;gBACrB,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;oBACxC,sBAAsB,CAAC;YACxB,IAAI,sBAAsB,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;aAClC;SACD;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEjD,6BAA6B;QAC7B,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,GAAG,YAAY,CAAC;QAEvE,wCAAwC;QACxC,MAAM,SAAS,GACd,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,mBAAmB,CAC/D,GAAG,EACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACtC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,UAAU,CAC1D,SAAS,EACT,GAAG,CACH,CAAC;QAEF,IAAI,YAAY,EAAE;YACjB,kBAAkB;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACtB,sBAAsB;oBACrB,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,kBAAkB,CAClE,GAAG,CACH,IAAI,sBAAsB,CAAC;aAC7B;YAED,mDAAmD;YACnD,IACC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;iBACjD,eAAe,EAChB;gBACD,sBAAsB;oBACrB,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,MAAM,CACzD,GAAG,CACH,IAAI,sBAAsB,CAAC;aAC7B;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAChC,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,MAAM,CACxD,GAAG,EACH,IAAI,CAAC,kBAAkB,CAAC,wBAAwB;qBAC9C,YAAY,CACd,CAAC;aACF;SACD;aAAM;YACN,0EAA0E;YAC1E,IACC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;iBACjD,eAAe,EAChB;gBACD,sBAAsB;oBACrB,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,MAAM,CACzD,GAAG,CACH,IAAI,sBAAsB,CAAC;aAC7B;SACD;QAED,2BAA2B;QAC3B,IACC,CAAC,sBAAsB;YACvB,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,eAAe,EAClE;YACD,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,cAAc,EAAE,CAAC;SACrE;QAED,0DAA0D;QAC1D,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,qBAAqB,CACtE,sBAAsB,CACtB,CAAC;QAEF,kEAAkE;QAClE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,YAAY;gBACnB,CAAC,CAAC,wCAAiB,CAAC,WAAW;gBAC/B,CAAC,CAAC,wCAAiB,CAAC,KAAK;SAC1B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAmB,EAAE,GAAS;QACzC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YACpC,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;SACxB;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,OAAO,MAAM,CAAC;IACf,CAAC;IAED,YAAY;QACX,qDAAqD;QACrD,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,4BAA4B;YACtE,KAAK,CAAC;QACP,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,cAAc,EAAE,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;QAEzD,OAAO;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,wCAAiB,CAAC,IAAI;SAC9B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAmB,EAAE,GAAS;QACrD,gCAAgC;QAChC,IACC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,eAAe,EAClE;YACD,MAAM,MAAM,GACX,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,iBAAiB,EAAE,CAAC;YACzE,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAClC,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,wCAAiB,CAAC,UAAU;iBACpC,CAAC;aACF;iBAAM;gBACN,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,cAAc,CACjE,KAAK,CACL,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAClC,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,wCAAiB,CAAC,YAAY;iBACtC,CAAC;aACF;SACD;QAED,iDAAiD;QACjD,MAAM,SAAS,GACd,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,mBAAmB,CAC/D,GAAG,EACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACtC,CAAC;QAEH,gCAAgC;QAChC,IACC,IAAI,CAAC,kBAAkB,CAAC,0BAA0B;aAChD,uBAAuB,EACxB;YACD,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,uBAAuB,CACzE,SAAS,CACT,CAAC;YACF,6CAA6C;YAC7C,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,gBAAgB;gBAChE,IAAI,CAAC;YAEN,gFAAgF;YAChF,iEAAiE;SACjE;QAED,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,cAAc,CAAC,OAAO,EAAE;YAC3B,OAAO,cAAc,CAAC;SACtB;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wCAAiB,CAAC,MAAM,EAAC,CAAC;IAC1D,CAAC;IAEO,gBAAgB,CACvB,KAAmB,EACnB,GAAS;QAET,wEAAwE;QACxE,OAAO;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,wCAAiB,CAAC,YAAY;YACtC,cAAc,EAAE,IAAI;SACpB,CAAC;IACH,CAAC;IAEO,iBAAiB,CACxB,KAAmB,EACnB,GAAS;QAET,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,wCAAiB,CAAC,SAAS;aACnC,CAAC;SACF;QAED,iEAAiE;QACjE,IACC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,eAAe,EAClE;YACD,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,wCAAiB,CAAC,WAAW;aACrC,CAAC;SACF;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAChC,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,MAAM,CACxD,GAAG,EACH,IAAI,CAAC,eAAe,EAAE,CACtB,CAAC;SACF;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,eAAe,CAAC,KAAmB,EAAE,GAAS;QACrD,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACtB,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,wCAAiB,CAAC,QAAQ;aAClC,CAAC;SACF;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wCAAiB,CAAC,IAAI,EAAC,CAAC;IACxD,CAAC;IAEO,WAAW,CAAC,KAAmB,EAAE,GAAS;QACjD,MAAM,SAAS,GACd,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,mBAAmB,CAC/D,GAAG,EACH,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACtC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEtC,OAAO;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,wCAAiB,CAAC,KAAK;SAC/B,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,SAAc,EAAE,GAAS;QACrD,oBAAoB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAElC,+BAA+B;QAC/B,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE9B,kDAAkD;QAClD,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,eAAe,EAAE;YACpB,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE;gBACnD,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;aAC9C;YAED,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,wCAAiB,CAAC,UAAU;aACpC,CAAC;SACF;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wCAAiB,CAAC,MAAM,EAAC,CAAC;IAC1D,CAAC;IAEO,eAAe,CAAC,KAAmB;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEtC,MAAM,eAAe,GACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC;QAC3D,OAAO,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,CAAC;IAEO,wBAAwB;QAC/B,OAAO,CACN,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;YACnD,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;iBAClD,eAAe;YACjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC,CACrD,CAAC;IACH,CAAC;IAEO,UAAU;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,QAAQ,CAAC;IAClE,CAAC;IAEO,oBAAoB;QAC3B,OAAO,CACN,CAAC,IAAI,CAAC,kBAAkB,CAAC,2BAA2B;aAClD,eAAe;YACjB,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,KAAK,CAAC,CAC3C,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,GAAS;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;QAChE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,eAAe;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,YAAY,CAAC;IACtE,CAAC;IAEO,uBAAuB;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB;aACrD,oBAAoB,CAAC;IACxB,CAAC;IAEO,gBAAgB,CAAC,SAAc,EAAE,GAAS;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,QAAQ,EAAE;YAC9D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;SACxC;aAAM,IACN,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,YAAY;YAC7D,SAAS,EACR;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;SACvC;aAAM;YACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;SACvC;IACF,CAAC;CACD;AArZD,gEAqZC"}
1
+ {"version":3,"file":"DesktopInteractionStrategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/DesktopInteractionStrategy.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class MobileInteractionStrategy implements IInteractionStrategy {
14
14
  private touchStartPosition;
15
15
  private longPressTimer?;
16
16
  private isLongPress;
17
- private lastTouchEvent?;
17
+ private longPressPoint?;
18
18
  private touchHasMoved;
19
19
  private isPotentialInsertion;
20
20
  private isDraggingPoint;
@@ -48,8 +48,7 @@ export declare class MobileInteractionStrategy implements IInteractionStrategy {
48
48
  private getTouchDistance;
49
49
  private findNearestTouchTarget;
50
50
  private isDragging;
51
- private shouldStartInsertion;
52
- private prepareForDrag;
51
+ private selectPointForInteraction;
53
52
  private moveDraggedPoints;
54
53
  private updateCursor;
55
54
  /**
@@ -60,6 +59,15 @@ export declare class MobileInteractionStrategy implements IInteractionStrategy {
60
59
  * Disable continuous rendering for mobile insertions to save performance
61
60
  */
62
61
  private disableMobileContinuousRendering;
62
+ /**
63
+ * Check if the drawing can be closed (same logic as InsertionInteractionHandler)
64
+ */
65
+ private canCloseDrawing;
66
+ /**
67
+ * Check if insertion should be allowed
68
+ * Returns false if drawing is closed or max points reached
69
+ */
70
+ private canInsertPoint;
63
71
  /**
64
72
  * Enable camera freeze for mobile point dragging
65
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MobileInteractionStrategy.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,yCAAyC,CAAC;AAC7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,oBAAoB,EAEpB,iBAAiB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAG3C,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAG7B,OAAO,CAAC,6BAA6B,CAAC,CAAS;IAC/C,OAAO,CAAC,sBAAsB,CAAC,CAAS;gBAGvC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,8BAA8B,EAClD,MAAM,EAAE,iBAAiB;IAO1B,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAWvC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IA6EhE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAyChE,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAiC9D,YAAY,IAAI,iBAAiB;IAQjC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAQvC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAOxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAMjC"}
1
+ {"version":3,"file":"MobileInteractionStrategy.d.ts","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,yCAAyC,CAAC;AAK7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,8BAA8B,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EACN,oBAAoB,EAEpB,iBAAiB,EACjB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAG3C,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,kBAAkB,CAAwC;IAClE,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAG7B,OAAO,CAAC,6BAA6B,CAAC,CAAS;IAC/C,OAAO,CAAC,sBAAsB,CAAC,CAAS;gBAGvC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,8BAA8B,EAClD,MAAM,EAAE,iBAAiB;IAO1B,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAWvC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IA6KhE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IAkEhE,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB;IA0C9D,YAAY,IAAI,iBAAiB;IAUjC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAwDzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,eAAe;IA+HvB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IASvC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IASxC;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAmBtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAQjC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MobileInteractionStrategy = void 0;
4
4
  const viewer_1 = require("@shapediver/viewer");
5
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
5
6
  const IInteractionStrategy_1 = require("./IInteractionStrategy");
6
7
  /**
7
8
  * Mobile-specific interaction strategy using touch gestures
@@ -33,10 +34,10 @@ class MobileInteractionStrategy {
33
34
  if (this.drawingToolsManager.closed) {
34
35
  return { handled: false };
35
36
  }
36
- this.lastTouchEvent = event;
37
37
  this.touchStartTime = Date.now();
38
38
  this.touchStartPosition = { x: event.clientX, y: event.clientY };
39
39
  this.isLongPress = false;
40
+ this.longPressPoint = undefined; // Reset long press point
40
41
  this.touchHasMoved = false;
41
42
  this.isPotentialInsertion = false;
42
43
  this.isDraggingPoint = false; // Reset drag state
@@ -50,8 +51,39 @@ class MobileInteractionStrategy {
50
51
  // Only if we're not near an existing point (which would be for dragging)
51
52
  const distances = this.drawingToolsManager.geometryMathManager.checkPointDistances(ray, this.drawingToolsManager.positionArray);
52
53
  const nearPoint = this.findNearestTouchTarget(distances);
54
+ // IMPORTANT: Check for closing FIRST, before any other logic that might change insertion state
55
+ // Special case: If we're in insertion mode and touching the first point, close immediately
56
+ if (nearPoint === 0 &&
57
+ this.interactionManager.insertionInteractionHandler
58
+ .insertionActive &&
59
+ this.canCloseDrawing()) {
60
+ // Close the drawing immediately when touching the first point
61
+ this.interactionManager.insertionInteractionHandler.stopInsertion();
62
+ this.drawingToolsManager.geometryState.closeLoop = true;
63
+ this.disableMobileContinuousRendering();
64
+ // Emit GEOMETRY_CHANGED event
65
+ viewer_shared_services_1.EventEngine.instance.emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, {
66
+ viewportId: this.drawingToolsManager.viewport.id,
67
+ drawingToolId: this.drawingToolsManager.uuid,
68
+ points: this.drawingToolsManager.geometryState.getPointsData(),
69
+ temporary: false,
70
+ fromHistory: false,
71
+ });
72
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
73
+ return {
74
+ handled: true,
75
+ action: IInteractionStrategy_1.InteractionAction.INSERT_END,
76
+ };
77
+ }
53
78
  if (nearPoint === undefined) {
54
79
  // Not near a point, this could be an insertion tap
80
+ // Check if insertion is allowed before proceeding
81
+ if (!this.canInsertPoint()) {
82
+ return {
83
+ handled: true,
84
+ action: IInteractionStrategy_1.InteractionAction.NONE,
85
+ };
86
+ }
55
87
  // Handle insertion finalization (exactly like desktop strategy)
56
88
  if (this.interactionManager.insertionInteractionHandler
57
89
  .insertionActive) {
@@ -59,30 +91,87 @@ class MobileInteractionStrategy {
59
91
  if (result) {
60
92
  this.drawingToolsManager.update();
61
93
  this.disableMobileContinuousRendering();
94
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
62
95
  return {
63
96
  handled: true,
64
97
  action: IInteractionStrategy_1.InteractionAction.INSERT_END,
65
98
  };
66
99
  }
67
100
  else {
68
- this.enableMobileContinuousRendering();
69
- this.interactionManager.insertionInteractionHandler.startInsertion(event);
101
+ // Only continue insertion if we can still insert points
102
+ if (this.canInsertPoint()) {
103
+ this.enableMobileContinuousRendering();
104
+ this.interactionManager.insertionInteractionHandler.startInsertion(event);
105
+ this.drawingToolsManager.update();
106
+ return {
107
+ handled: true,
108
+ action: IInteractionStrategy_1.InteractionAction.INSERT_START,
109
+ };
110
+ }
111
+ else {
112
+ // Can't insert more points, stop insertion
113
+ this.disableMobileContinuousRendering();
114
+ return {
115
+ handled: true,
116
+ action: IInteractionStrategy_1.InteractionAction.NONE,
117
+ };
118
+ }
119
+ }
120
+ }
121
+ // Set last event in manager (important for insertion logic)
122
+ this.interactionManager.setLastEvent(event);
123
+ // Check if insertion is already active (need to finalize previous insertion)
124
+ if (this.interactionManager.insertionInteractionHandler
125
+ .insertionActive) {
126
+ const result = this.interactionManager.insertionInteractionHandler.finalizeInsertion();
127
+ if (result) {
128
+ // Drawing was closed
129
+ this.disableMobileContinuousRendering();
70
130
  this.drawingToolsManager.update();
131
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
71
132
  return {
72
133
  handled: true,
73
- action: IInteractionStrategy_1.InteractionAction.INSERT_START,
134
+ action: IInteractionStrategy_1.InteractionAction.INSERT_END,
74
135
  };
75
136
  }
137
+ else {
138
+ // Only continue insertion if we can still insert points
139
+ if (this.canInsertPoint()) {
140
+ // Continue with new insertion
141
+ this.interactionManager.startInsertion();
142
+ this.drawingToolsManager.update();
143
+ return {
144
+ handled: true,
145
+ action: IInteractionStrategy_1.InteractionAction.INSERT_START,
146
+ };
147
+ }
148
+ else {
149
+ // Can't insert more points, stop insertion
150
+ this.disableMobileContinuousRendering();
151
+ return {
152
+ handled: true,
153
+ action: IInteractionStrategy_1.InteractionAction.NONE,
154
+ };
155
+ }
156
+ }
157
+ }
158
+ // Start insertion immediately (like desktop strategy) - but only if allowed
159
+ if (this.canInsertPoint()) {
160
+ this.isPotentialInsertion = true; // Track that we started an insertion
161
+ this.enableMobileContinuousRendering();
162
+ this.interactionManager.startInsertion();
163
+ return {
164
+ handled: true,
165
+ action: IInteractionStrategy_1.InteractionAction.INSERT_START,
166
+ };
167
+ }
168
+ else {
169
+ // Can't insert points, return without action
170
+ return {
171
+ handled: true,
172
+ action: IInteractionStrategy_1.InteractionAction.NONE,
173
+ };
76
174
  }
77
- // Start insertion immediately (like desktop strategy)
78
- this.isPotentialInsertion = true; // Track that we started an insertion
79
- this.enableMobileContinuousRendering();
80
- this.interactionManager.insertionInteractionHandler.startInsertion(event);
81
- this.drawingToolsManager.update();
82
- return {
83
- handled: true,
84
- action: IInteractionStrategy_1.InteractionAction.INSERT_START,
85
- };
86
175
  }
87
176
  return this.handleSingleTouch(event, ray);
88
177
  }
@@ -90,23 +179,41 @@ class MobileInteractionStrategy {
90
179
  if (this.drawingToolsManager.closed) {
91
180
  return { handled: false };
92
181
  }
93
- this.lastTouchEvent = event;
94
182
  // Handle different move scenarios - check dragging FIRST
95
183
  if (this.isDragging()) {
96
- console.log('[Mobile] onPointerMove - isDragging() returned true, calling handleTouchDrag');
97
184
  return this.handleTouchDrag(event, ray);
98
185
  }
99
- else {
100
- console.log('[Mobile] onPointerMove - isDragging() returned false, helper.dragging:', this.interactionManager.interactionManagerHelper.dragging);
101
- }
102
186
  // Cancel long press if moved too far
103
187
  if (this.hasTouchMovedBeyondThreshold(event)) {
104
188
  this.touchHasMoved = true;
105
- // Cancel insertion if this was a potential insertion that we just started
106
- if (this.isPotentialInsertion && this.interactionManager.insertionInteractionHandler.insertionActive) {
107
- this.interactionManager.insertionInteractionHandler.stopInsertion();
108
- this.disableMobileContinuousRendering();
109
- this.isPotentialInsertion = false;
189
+ // If we have a selected point and aren't dragging yet, start dragging
190
+ if (!this.isDragging() &&
191
+ this.interactionManager.interactionManagerHelper
192
+ .selectedPointIndices.length > 0) {
193
+ const selectedPoints = this.interactionManager.interactionManagerHelper
194
+ .selectedPointIndices;
195
+ if (selectedPoints.length > 0) {
196
+ // Start dragging the selected point(s)
197
+ const draggingStarted = this.interactionManager.interactionManagerHelper.startDragging();
198
+ if (draggingStarted) {
199
+ this.isDraggingPoint = true;
200
+ this.enableMobileCameraFreeze();
201
+ this.cancelLongPress(); // Cancel long press since we're now dragging
202
+ return this.handleTouchDrag(event, ray);
203
+ }
204
+ }
205
+ }
206
+ // Cancel insertion if this was a potential insertion and we've started dragging
207
+ // (indicating user wants to drag, not insert)
208
+ if (this.isPotentialInsertion &&
209
+ this.interactionManager.insertionInteractionHandler
210
+ .insertionActive) {
211
+ // Check if we've started dragging - if so, cancel the insertion
212
+ if (this.isDragging() || this.isDraggingPoint) {
213
+ this.interactionManager.insertionInteractionHandler.stopInsertion();
214
+ this.disableMobileContinuousRendering();
215
+ this.isPotentialInsertion = false;
216
+ }
110
217
  }
111
218
  this.cancelLongPress();
112
219
  }
@@ -124,6 +231,8 @@ class MobileInteractionStrategy {
124
231
  this.cancelLongPress();
125
232
  // Clean up drag state
126
233
  if (this.isDraggingPoint) {
234
+ // Call helper.onUp() to handle closing logic (like desktop)
235
+ this.interactionManager.interactionManagerHelper.onUp();
127
236
  this.isDraggingPoint = false;
128
237
  this.disableMobileCameraFreeze(); // Remove mobile camera freeze
129
238
  // Camera freeze will be automatically removed by the interaction manager
@@ -140,16 +249,27 @@ class MobileInteractionStrategy {
140
249
  if (this.isDragging()) {
141
250
  return this.handleDragEnd(event, ray);
142
251
  }
252
+ // Clean up camera freeze if still active from point selection but no drag occurred
253
+ // (This handles cases where user touches a point but just taps without moving)
254
+ if (!this.isDraggingPoint) {
255
+ this.disableMobileCameraFreeze();
256
+ }
143
257
  return { handled: true, action: IInteractionStrategy_1.InteractionAction.NONE };
144
258
  }
145
259
  onPointerOut() {
146
260
  this.cancelLongPress();
261
+ // Clean up camera freeze if pointer leaves the area
262
+ this.disableMobileCameraFreeze();
147
263
  return {
148
264
  handled: true,
149
265
  action: IInteractionStrategy_1.InteractionAction.NONE,
150
266
  };
151
267
  }
152
268
  startLongPressDetection(event, ray) {
269
+ // Check if we're starting long press on a point
270
+ const distances = this.drawingToolsManager.geometryMathManager.checkPointDistances(ray, this.drawingToolsManager.positionArray);
271
+ const nearPoint = this.findNearestTouchTarget(distances);
272
+ this.longPressPoint = nearPoint; // Store the point for potential deletion
153
273
  this.longPressTimer = window.setTimeout(() => {
154
274
  this.isLongPress = true;
155
275
  this.handleLongPressStart(event, ray);
@@ -160,6 +280,7 @@ class MobileInteractionStrategy {
160
280
  clearTimeout(this.longPressTimer);
161
281
  this.longPressTimer = undefined;
162
282
  }
283
+ this.longPressPoint = undefined; // Reset the long press point
163
284
  }
164
285
  isMultiTouch(event) {
165
286
  // Check if there are multiple active pointers
@@ -172,12 +293,37 @@ class MobileInteractionStrategy {
172
293
  // Mobile-specific point selection with larger touch targets
173
294
  const nearPoint = this.findNearestTouchTarget(distances);
174
295
  if (nearPoint !== undefined) {
175
- this.prepareForDrag(nearPoint, ray);
176
- return {
177
- handled: true,
178
- action: IInteractionStrategy_1.InteractionAction.DRAG_START,
179
- preventDefault: true,
180
- };
296
+ // Check if this is the first point and we can close
297
+ if (nearPoint === 0 && this.canCloseDrawing()) {
298
+ // Close the drawing by setting closeLoop and calling update
299
+ this.drawingToolsManager.geometryState.closeLoop = true;
300
+ // Emit GEOMETRY_CHANGED event for closing
301
+ viewer_shared_services_1.EventEngine.instance.emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, {
302
+ viewportId: this.drawingToolsManager.viewport.id,
303
+ drawingToolId: this.drawingToolsManager.uuid,
304
+ points: this.drawingToolsManager.geometryState.getPointsData(),
305
+ temporary: false,
306
+ fromHistory: false,
307
+ });
308
+ this.disableMobileContinuousRendering();
309
+ this.disableMobileCameraFreeze(); // Clean up camera freeze since interaction is complete
310
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
311
+ return {
312
+ handled: true,
313
+ action: IInteractionStrategy_1.InteractionAction.INSERT_END,
314
+ };
315
+ }
316
+ else {
317
+ // Not first point or can't close, just select for interaction (drag/delete)
318
+ // Select the point but don't start dragging yet
319
+ // This allows taps and long press to still work
320
+ this.selectPointForInteraction(nearPoint, ray);
321
+ return {
322
+ handled: true,
323
+ action: IInteractionStrategy_1.InteractionAction.SELECT,
324
+ preventDefault: true,
325
+ };
326
+ }
181
327
  }
182
328
  return { handled: true, action: IInteractionStrategy_1.InteractionAction.NONE };
183
329
  }
@@ -206,45 +352,102 @@ class MobileInteractionStrategy {
206
352
  return this.handleSingleTap(event, ray);
207
353
  }
208
354
  handleSingleTap(event, ray) {
209
- // Handle insertion finalization (like desktop strategy)
355
+ // Check if we're tapping on an existing point first
356
+ const distances = this.drawingToolsManager.geometryMathManager.checkPointDistances(ray, this.drawingToolsManager.positionArray);
357
+ const nearPoint = this.findNearestTouchTarget(distances);
358
+ // Get selected points from the touch down event
359
+ const selectedPoints = this.interactionManager.interactionManagerHelper
360
+ .selectedPointIndices;
361
+ // If we're in insertion mode and tapped on the first point, close the drawing
362
+ // Use nearPoint instead of selectedPoints since selectedPoints might be cleared
363
+ if (nearPoint !== undefined &&
364
+ nearPoint === 0 &&
365
+ this.interactionManager.insertionInteractionHandler
366
+ .insertionActive &&
367
+ this.canCloseDrawing()) {
368
+ // Close the drawing by tapping the first point
369
+ this.interactionManager.insertionInteractionHandler.stopInsertion();
370
+ this.drawingToolsManager.geometryState.closeLoop = true;
371
+ this.disableMobileContinuousRendering();
372
+ // Emit GEOMETRY_CHANGED event instead of calling update directly
373
+ viewer_shared_services_1.EventEngine.instance.emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, {
374
+ viewportId: this.drawingToolsManager.viewport.id,
375
+ drawingToolId: this.drawingToolsManager.uuid,
376
+ points: this.drawingToolsManager.geometryState.getPointsData(),
377
+ temporary: false,
378
+ fromHistory: false,
379
+ });
380
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
381
+ return {
382
+ handled: true,
383
+ action: IInteractionStrategy_1.InteractionAction.INSERT_END,
384
+ };
385
+ }
386
+ // Handle insertion finalization (mobile modification of desktop strategy)
387
+ // On mobile, we need to finalize points but keep insertion active for continuous drawing
210
388
  if (this.interactionManager.insertionInteractionHandler.insertionActive) {
211
389
  const result = this.interactionManager.insertionInteractionHandler.finalizeInsertion();
212
390
  if (result) {
213
- this.drawingToolsManager.update();
391
+ // Drawing was completed/closed
392
+ // Emit GEOMETRY_CHANGED event instead of calling update directly
393
+ viewer_shared_services_1.EventEngine.instance.emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, {
394
+ viewportId: this.drawingToolsManager.viewport.id,
395
+ drawingToolId: this.drawingToolsManager.uuid,
396
+ points: this.drawingToolsManager.geometryState.getPointsData(),
397
+ temporary: false,
398
+ fromHistory: false,
399
+ });
214
400
  this.disableMobileContinuousRendering();
401
+ this.drawingToolsManager.viewport.render(); // Force immediate render after closing
215
402
  return {
216
403
  handled: true,
217
404
  action: IInteractionStrategy_1.InteractionAction.INSERT_END,
218
405
  };
219
406
  }
220
407
  else {
221
- // Shape not complete, immediately restart insertion (like desktop)
222
- try {
223
- this.enableMobileContinuousRendering();
224
- this.interactionManager.insertionInteractionHandler.startInsertion(event);
225
- this.drawingToolsManager.update();
408
+ // Point was added but drawing not complete
409
+ // On mobile: restart insertion immediately to keep continuous drawing
410
+ if (this.canInsertPoint()) {
411
+ try {
412
+ this.enableMobileContinuousRendering();
413
+ this.interactionManager.insertionInteractionHandler.startInsertion(event);
414
+ // Don't call update() here - let GEOMETRY_CHANGED events handle it
415
+ return {
416
+ handled: true,
417
+ action: IInteractionStrategy_1.InteractionAction.NONE, // Avoid triggering action system that might reset state
418
+ };
419
+ }
420
+ catch (error) {
421
+ console.warn("Failed to restart insertion:", error);
422
+ // Insertion restart failed, continue with fallback
423
+ }
424
+ }
425
+ else {
426
+ // Can't insert more points, stop insertion
427
+ this.disableMobileContinuousRendering();
226
428
  return {
227
429
  handled: true,
228
- action: IInteractionStrategy_1.InteractionAction.NONE, // Avoid triggering action system that might reset state
430
+ action: IInteractionStrategy_1.InteractionAction.NONE,
229
431
  };
230
432
  }
231
- catch (error) {
232
- // Insertion restart failed, continue with fallback
233
- }
234
433
  }
235
434
  }
236
- // Start insertion if not active (like desktop strategy - no auto-start call)
237
- try {
238
- this.enableMobileContinuousRendering();
239
- this.interactionManager.insertionInteractionHandler.startInsertion(event);
240
- this.drawingToolsManager.update();
241
- return {
242
- handled: true,
243
- action: IInteractionStrategy_1.InteractionAction.NONE, // Avoid triggering action system that might reset state
244
- };
245
- }
246
- catch (error) {
247
- // Insertion failed, return default action
435
+ // Start insertion if not active (like desktop strategy) - but only if allowed
436
+ if (!this.interactionManager.insertionInteractionHandler
437
+ .insertionActive &&
438
+ this.canInsertPoint()) {
439
+ try {
440
+ this.enableMobileContinuousRendering();
441
+ this.interactionManager.insertionInteractionHandler.startInsertion(event);
442
+ this.drawingToolsManager.update();
443
+ return {
444
+ handled: true,
445
+ action: IInteractionStrategy_1.InteractionAction.NONE, // Avoid triggering action system that might reset state
446
+ };
447
+ }
448
+ catch (error) {
449
+ // Insertion failed, return default action
450
+ }
248
451
  }
249
452
  return { handled: true, action: IInteractionStrategy_1.InteractionAction.SELECT };
250
453
  }
@@ -274,18 +477,25 @@ class MobileInteractionStrategy {
274
477
  this.triggerHapticFeedback();
275
478
  }
276
479
  handleLongPress(event, ray) {
277
- // Long press actions - context menu or special mode
480
+ // Long press actions - delete point if on existing point
278
481
  this.triggerHapticFeedback();
279
- const distances = this.drawingToolsManager.geometryMathManager.checkPointDistances(ray, this.drawingToolsManager.positionArray);
280
- const nearPoint = this.findNearestTouchTarget(distances);
281
- if (nearPoint !== undefined) {
282
- // Long press on point - show context menu or enter edit mode
482
+ // Check if we have a stored point from the long press start
483
+ if (this.longPressPoint !== undefined) {
484
+ // Delete the point by index directly to avoid ray precision issues
485
+ this.interactionManager.deletionInteractionHandler.deletePointByIndex(this.longPressPoint);
486
+ // Reset long press state
487
+ this.longPressPoint = undefined;
488
+ this.isLongPress = false;
489
+ // Remove camera freeze since long press interaction is complete
490
+ this.disableMobileCameraFreeze();
283
491
  return {
284
492
  handled: true,
285
- action: IInteractionStrategy_1.InteractionAction.CONTEXT_MENU,
493
+ action: IInteractionStrategy_1.InteractionAction.DELETE,
286
494
  preventDefault: true,
287
495
  };
288
496
  }
497
+ // If no point to delete, remove camera freeze and return context menu action
498
+ this.disableMobileCameraFreeze();
289
499
  return { handled: true, action: IInteractionStrategy_1.InteractionAction.CONTEXT_MENU };
290
500
  }
291
501
  triggerHapticFeedback() {
@@ -296,7 +506,6 @@ class MobileInteractionStrategy {
296
506
  }
297
507
  handleTouchDrag(event, ray) {
298
508
  // Touch drag for moving points - similar to mouse drag but with touch-specific behavior
299
- console.log('[Mobile] handleTouchDrag called - helper.dragging:', this.interactionManager.interactionManagerHelper.dragging);
300
509
  this.moveDraggedPoints(ray);
301
510
  return {
302
511
  handled: true,
@@ -356,34 +565,16 @@ class MobileInteractionStrategy {
356
565
  isDragging() {
357
566
  return this.interactionManager.interactionManagerHelper.dragging;
358
567
  }
359
- shouldStartInsertion() {
360
- return (this.drawingToolsManager.settings.general.autoStart &&
361
- !this.interactionManager.insertionInteractionHandler
362
- .insertionActive &&
363
- this.drawingToolsManager.getPointsData().length === 0);
364
- }
365
- prepareForDrag(pointIndex, ray) {
568
+ selectPointForInteraction(pointIndex, ray) {
366
569
  const helper = this.interactionManager.interactionManagerHelper;
367
- // Set up point for dragging: hover -> select -> start dragging
570
+ // Just select the point for potential interaction, but don't start dragging
368
571
  const distances = [{ index: pointIndex, distance: 0 }];
369
- console.log('[Mobile] Preparing to drag point:', pointIndex);
370
- // First set the hovered point (required for startDragging) - IMPORTANT: pass the ray!
572
+ // Set the hovered point and select it
371
573
  helper.checkHover(distances, ray);
372
- console.log('[Mobile] After checkHover, hoveredPoint:', helper.hoveredPoint);
373
- // Then select the point
374
574
  helper.selectPoint(distances);
375
- console.log('[Mobile] After selectPoint, selectedPoints:', helper.selectedPointIndices);
376
- // Start dragging and enable camera freeze for mobile touch dragging
377
- const draggingStarted = helper.startDragging();
378
- console.log('[Mobile] startDragging result:', draggingStarted, 'helper.dragging:', helper.dragging);
379
- if (draggingStarted) {
380
- this.isDraggingPoint = true;
381
- // Add camera freeze flag when dragging starts (both ways to be sure)
382
- if (!this.interactionManager.getCameraFreezeFlag()) {
383
- this.interactionManager.setCameraFreezeFlag();
384
- }
385
- this.enableMobileCameraFreeze(); // Add direct mobile camera freeze
386
- }
575
+ // Enable camera freeze immediately when touching a point since user might move it
576
+ this.enableMobileCameraFreeze();
577
+ // Don't start dragging here - that will happen on movement
387
578
  }
388
579
  moveDraggedPoints(ray) {
389
580
  const helper = this.interactionManager.interactionManagerHelper;
@@ -408,7 +599,8 @@ class MobileInteractionStrategy {
408
599
  */
409
600
  enableMobileContinuousRendering() {
410
601
  if (!this.mobileContinuousRenderingFlag) {
411
- this.mobileContinuousRenderingFlag = this.drawingToolsManager.viewport.addFlag(viewer_1.FLAG_TYPE.CONTINUOUS_RENDERING);
602
+ this.mobileContinuousRenderingFlag =
603
+ this.drawingToolsManager.viewport.addFlag(viewer_1.FLAG_TYPE.CONTINUOUS_RENDERING);
412
604
  }
413
605
  }
414
606
  /**
@@ -420,12 +612,49 @@ class MobileInteractionStrategy {
420
612
  this.mobileContinuousRenderingFlag = undefined;
421
613
  }
422
614
  }
615
+ /**
616
+ * Check if the drawing can be closed (same logic as InsertionInteractionHandler)
617
+ */
618
+ canCloseDrawing() {
619
+ const geometryState = this.drawingToolsManager.geometryState;
620
+ const settings = this.drawingToolsManager.settings;
621
+ const pointCount = geometryState.getPointCount();
622
+ // For closing, check current point count, not point count - 1
623
+ const checkNumberOfPointsResult = geometryState.checkNumberOfPoints(pointCount);
624
+ const canBeClosed = settings.geometry.mode === "lines" &&
625
+ pointCount > 3 &&
626
+ checkNumberOfPointsResult;
627
+ const shouldBeClosed = settings.geometry.close === true &&
628
+ geometryState.closeLoop === false &&
629
+ settings.geometry.autoClose === false;
630
+ return canBeClosed && shouldBeClosed;
631
+ }
632
+ /**
633
+ * Check if insertion should be allowed
634
+ * Returns false if drawing is closed or max points reached
635
+ */
636
+ canInsertPoint() {
637
+ // Don't allow insertion if drawing tools manager is closed
638
+ if (this.drawingToolsManager.closed) {
639
+ return false;
640
+ }
641
+ // Don't allow insertion if the loop is already closed
642
+ if (this.drawingToolsManager.geometryState.closeLoop) {
643
+ return false;
644
+ }
645
+ // Don't allow insertion if we can't add more points (max points reached)
646
+ if (!this.drawingToolsManager.geometryManager.canAddPoint()) {
647
+ return false;
648
+ }
649
+ return true;
650
+ }
423
651
  /**
424
652
  * Enable camera freeze for mobile point dragging
425
653
  */
426
654
  enableMobileCameraFreeze() {
427
655
  if (!this.mobileCameraFreezeFlag) {
428
- this.mobileCameraFreezeFlag = this.drawingToolsManager.viewport.addFlag(viewer_1.FLAG_TYPE.CAMERA_FREEZE);
656
+ this.mobileCameraFreezeFlag =
657
+ this.drawingToolsManager.viewport.addFlag(viewer_1.FLAG_TYPE.CAMERA_FREEZE);
429
658
  }
430
659
  }
431
660
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MobileInteractionStrategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileInteractionStrategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/MobileInteractionStrategy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.features.drawing-tools",
3
- "version": "3.12.15",
3
+ "version": "3.12.16",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -40,16 +40,16 @@
40
40
  "testEnvironment": "node"
41
41
  },
42
42
  "dependencies": {
43
- "@shapediver/viewer": "3.12.15",
44
- "@shapediver/viewer.features.interaction": "3.12.15",
45
- "@shapediver/viewer.rendering-engine.intersection-restriction-engine": "3.12.15",
46
- "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.12.15",
47
- "@shapediver/viewer.shared.math": "3.12.15",
48
- "@shapediver/viewer.shared.node-tree": "3.12.15",
49
- "@shapediver/viewer.shared.services": "3.12.15",
50
- "@shapediver/viewer.shared.types": "3.12.15",
43
+ "@shapediver/viewer": "3.12.16",
44
+ "@shapediver/viewer.features.interaction": "3.12.16",
45
+ "@shapediver/viewer.rendering-engine.intersection-restriction-engine": "3.12.16",
46
+ "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.12.16",
47
+ "@shapediver/viewer.shared.math": "3.12.16",
48
+ "@shapediver/viewer.shared.node-tree": "3.12.16",
49
+ "@shapediver/viewer.shared.services": "3.12.16",
50
+ "@shapediver/viewer.shared.types": "3.12.16",
51
51
  "@types/three": "0.162.0",
52
52
  "three": "0.162.0"
53
53
  },
54
- "gitHead": "c8d5403771205a3771fd4c0d54ff28a0dcd25714"
54
+ "gitHead": "6e3c7ce15a85ce933917a960442e386053f49b5a"
55
55
  }