@@ -298,8 +298,6 @@ reader
298
298
image . imageMapper . onModified ( update ) ;
299
299
// trigger initial update
300
300
update ( ) ;
301
-
302
- // readyAll();
303
301
} ) ;
304
302
305
303
// register readyAll to resize event
@@ -370,14 +368,11 @@ function initializeHandle(handle) {
370
368
handle . onStartInteractionEvent ( ( ) => {
371
369
painter . startStroke ( ) ;
372
370
} ) ;
373
-
374
371
handle . onEndInteractionEvent ( ( ) => {
375
372
painter . endStroke ( ) ;
376
373
} ) ;
377
374
}
378
375
379
- initializeHandle ( scene . paintHandle ) ;
380
-
381
376
scene . paintHandle . onStartInteractionEvent ( ( ) => {
382
377
painter . startStroke ( ) ;
383
378
painter . addPoint ( widgets . paintWidget . getWidgetState ( ) . getTrueOrigin ( ) ) ;
@@ -386,82 +381,91 @@ scene.paintHandle.onStartInteractionEvent(() => {
386
381
scene . paintHandle . onInteractionEvent ( ( ) => {
387
382
painter . addPoint ( widgets . paintWidget . getWidgetState ( ) . getTrueOrigin ( ) ) ;
388
383
} ) ;
384
+ initializeHandle ( scene . paintHandle ) ;
389
385
390
- initializeHandle ( scene . rectangleHandle ) ;
391
-
392
- scene . rectangleHandle . onInteractionEvent ( ( ) => {
393
- const rectangleHandle = scene . rectangleHandle
394
- . getWidgetState ( )
395
- . getRectangleHandle ( ) ;
386
+ scene . rectangleHandle . onEndInteractionEvent ( ( pointPlaced ) => {
387
+ if ( pointPlaced ) {
388
+ const rectangleHandle = scene . rectangleHandle
389
+ . getWidgetState ( )
390
+ . getRectangleHandle ( ) ;
396
391
397
- painter . paintRectangle (
398
- rectangleHandle . getOrigin ( ) ,
399
- rectangleHandle . getCorner ( )
400
- ) ;
392
+ painter . paintRectangle (
393
+ rectangleHandle . getOrigin ( ) ,
394
+ rectangleHandle . getCorner ( )
395
+ ) ;
396
+ }
401
397
} ) ;
398
+ initializeHandle ( scene . rectangleHandle ) ;
402
399
403
- initializeHandle ( scene . ellipseHandle ) ;
404
-
405
- scene . ellipseHandle . onInteractionEvent ( ( ) => {
406
- const center = scene . ellipseHandle
407
- . getWidgetState ( )
408
- . getEllipseHandle ( )
409
- . getOrigin ( ) ;
410
- const point2 = scene . ellipseHandle
411
- . getWidgetState ( )
412
- . getPoint2Handle ( )
413
- . getOrigin ( ) ;
414
-
415
- const corner = [
416
- center [ 0 ] - point2 [ 0 ] ,
417
- center [ 1 ] - point2 [ 1 ] ,
418
- center [ 2 ] - point2 [ 2 ] ,
419
- ] ;
420
- painter . paintEllipse ( center , corner ) ;
400
+ scene . ellipseHandle . onEndInteractionEvent ( ( pointPlaced ) => {
401
+ if ( pointPlaced ) {
402
+ const center = scene . ellipseHandle
403
+ . getWidgetState ( )
404
+ . getEllipseHandle ( )
405
+ . getOrigin ( ) ;
406
+ const point2 = scene . ellipseHandle
407
+ . getWidgetState ( )
408
+ . getPoint2Handle ( )
409
+ . getOrigin ( ) ;
410
+
411
+ let corner = [ ] ;
412
+
413
+ if (
414
+ scene . ellipseHandle . isBehaviorActive (
415
+ BehaviorCategory . RATIO ,
416
+ ShapeBehavior [ BehaviorCategory . RATIO ] . FIXED
417
+ )
418
+ ) {
419
+ const radius = vec3 . distance ( center , point2 ) ;
420
+ corner = [ radius , radius , radius ] ;
421
+ } else {
422
+ corner = [
423
+ center [ 0 ] - point2 [ 0 ] ,
424
+ center [ 1 ] - point2 [ 1 ] ,
425
+ center [ 2 ] - point2 [ 2 ] ,
426
+ ] ;
427
+ }
428
+
429
+ painter . paintEllipse ( center , corner ) ;
430
+ }
421
431
} ) ;
432
+ initializeHandle ( scene . ellipseHandle ) ;
422
433
423
- initializeHandle ( scene . circleHandle ) ;
424
-
425
- scene . circleHandle . onInteractionEvent ( ( ) => {
426
- const center = scene . circleHandle
427
- . getWidgetState ( )
428
- . getEllipseHandle ( )
429
- . getOrigin ( ) ;
430
- const point2 = scene . circleHandle
431
- . getWidgetState ( )
432
- . getPoint1Handle ( )
433
- . getOrigin ( ) ;
434
-
435
- const radius = vec3 . distance ( center , point2 ) ;
434
+ scene . circleHandle . onEndInteractionEvent ( ( pointPlaced ) => {
435
+ if ( pointPlaced ) {
436
+ const center = scene . circleHandle
437
+ . getWidgetState ( )
438
+ . getEllipseHandle ( )
439
+ . getOrigin ( ) ;
440
+ const point2 = scene . circleHandle
441
+ . getWidgetState ( )
442
+ . getPoint2Handle ( )
443
+ . getOrigin ( ) ;
436
444
437
- const corner = [ radius , radius , radius ] ;
438
- painter . paintEllipse ( center , corner ) ;
439
- } ) ;
445
+ const radius = vec3 . distance ( center , point2 ) ;
440
446
441
- scene . splineHandle . onStartInteractionEvent ( ( ) => {
442
- painter . startStroke ( ) ;
447
+ const corner = [ radius , radius , radius ] ;
448
+ painter . paintEllipse ( center , corner ) ;
449
+ }
443
450
} ) ;
451
+ initializeHandle ( scene . circleHandle ) ;
444
452
445
453
scene . splineHandle . onEndInteractionEvent ( ( ) => {
446
454
const points = scene . splineHandle . getPoints ( ) ;
447
455
painter . paintPolygon ( points ) ;
448
- painter . endStroke ( ) ;
449
456
450
457
scene . splineHandle . reset ( ) ;
451
458
scene . splineHandle . updateRepresentationForRender ( ) ;
452
459
scene . widgetManager . grabFocus ( widgets . splineWidget ) ;
453
460
} ) ;
454
-
455
- scene . polygonHandle . onStartInteractionEvent ( ( ) => {
456
- painter . startStroke ( ) ;
457
- } ) ;
461
+ initializeHandle ( scene . splineHandle ) ;
458
462
459
463
scene . polygonHandle . onEndInteractionEvent ( ( ) => {
460
464
const points = scene . polygonHandle . getPoints ( ) ;
461
465
painter . paintPolygon ( points ) ;
462
- painter . endStroke ( ) ;
463
466
464
467
scene . polygonHandle . reset ( ) ;
465
468
scene . polygonHandle . updateRepresentationForRender ( ) ;
466
469
scene . widgetManager . grabFocus ( widgets . polygonWidget ) ;
467
470
} ) ;
471
+ initializeHandle ( scene . polygonHandle ) ;
0 commit comments