File tree Expand file tree Collapse file tree 2 files changed +16
-1
lines changed
Sources/Widgets/Widgets3D/AngleWidget Expand file tree Collapse file tree 2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change 1
1
import macro from 'vtk.js/Sources/macros' ;
2
2
import { add } from 'vtk.js/Sources/Common/Core/Math' ;
3
+ import vtkBoundingBox from 'vtk.js/Sources/Common/DataModel/BoundingBox' ;
3
4
import vtkPointPicker from 'vtk.js/Sources/Rendering/Core/PointPicker' ;
4
5
5
6
const MAX_POINTS = 3 ;
@@ -11,6 +12,18 @@ export default function widgetBehavior(publicAPI, model) {
11
12
const picker = vtkPointPicker . newInstance ( ) ;
12
13
picker . setPickFromList ( 1 ) ;
13
14
15
+ publicAPI . getBounds = ( ) =>
16
+ model . widgetState
17
+ . getHandleList ( )
18
+ . reduce (
19
+ ( bounds , handle ) =>
20
+ vtkBoundingBox . inflate (
21
+ vtkBoundingBox . addPoint ( bounds , ...handle . getOrigin ( ) ) ,
22
+ publicAPI . getScaleInPixels ( ) ? 0 : handle . getScale1 ( ) / 2
23
+ ) ,
24
+ [ ...vtkBoundingBox . INIT_BOUNDS ]
25
+ ) ;
26
+
14
27
// --------------------------------------------------------------------------
15
28
// Display 2D
16
29
// --------------------------------------------------------------------------
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ widgetManager.setRenderer(renderer);
42
42
const widget = vtkAngleWidget . newInstance ( ) ;
43
43
// widget.placeWidget(cube.getOutputData().getBounds());
44
44
45
- widgetManager . addWidget ( widget ) ;
45
+ const widgetInView = widgetManager . addWidget ( widget ) ;
46
46
47
47
renderer . resetCamera ( ) ;
48
48
widgetManager . enablePicking ( ) ;
@@ -54,6 +54,8 @@ fullScreenRenderer.getInteractor().render();
54
54
55
55
fullScreenRenderer . addController ( controlPanel ) ;
56
56
57
+ widgetInView . onEndInteractionEvent ( ( ) => renderer . resetCameraClippingRange ( ) ) ;
58
+
57
59
widget . getWidgetState ( ) . onModified ( ( ) => {
58
60
document . querySelector ( '#angle' ) . innerText = widget . getAngle ( ) ;
59
61
} ) ;
You can’t perform that action at this time.
0 commit comments