1
+ //define(["nbextensions/vpython_libraries/plotly.min",
2
+ // "nbextensions/vpython_libraries/glow.min",
3
+ // "nbextensions/vpython_libraries/jquery-ui.custom.min"], function(Plotly) {
4
+
1
5
import 'script-loader!./vpython_libraries/jquery.min.js' ;
2
6
import 'script-loader!./vpython_libraries/jquery-ui.custom.min.js' ;
3
7
import 'script-loader!./vpython_libraries/glow.min.js' ;
4
8
import 'script-loader!./vpython_libraries/plotly.min.js' ;
5
9
import '../style/jquery-ui.custom.css'
6
10
import '../style/ide.css'
7
11
8
- // Ensure downstream JupyterLab webpack places the fonts and images in predictable locations
9
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/earth_texture.jpg'
10
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/favicon.ico'
11
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/flower_texture.jpg'
12
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/granite_texture.jpg'
13
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/gravel_bumpmap.jpg'
14
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/gravel_texture.jpg'
15
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/metal_texture.jpg'
16
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/NimbusRomNo9L-Med.otf'
17
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/Roboto-Medium.ttf'
18
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rock_bumpmap.jpg'
19
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rock_texture.jpg'
20
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rough_texture.jpg'
21
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/rug_texture.jpg'
22
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stones_bumpmap.jpg'
23
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stones_texture.jpg'
24
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stucco_bumpmap.jpg'
25
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/stucco_texture.jpg'
26
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_old_bumpmap.jpg'
27
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_old_texture.jpg'
28
- import '!!file-loader?name=/vpython_data/[name].[ext]!../vpython_data/wood_texture.jpg'
29
-
30
12
export var comm
31
13
var ws = null
32
14
var isopen = false
33
15
34
16
console . log ( 'START OF GLOWCOMM' )
35
17
36
- export function createWebsocket ( msg , serviceUrl ) {
18
+ export function createWebsocket ( msg ) {
37
19
if ( msg . content . data . wsport !== undefined ) {
38
20
// create websocket instance
39
- var port = msg . content . data . wsport
40
- var uri = msg . content . data . wsuri
41
- var url ;
42
-
43
- if ( document . location . hostname . includes ( "localhost" ) ) {
44
- url = "ws://localhost:" + port + uri ;
45
- }
46
- else {
47
- url = serviceUrl + port + uri ;
48
- }
49
- ws = new WebSocket ( url ) ;
50
- ws . binaryType = "arraybuffer" ;
21
+ var port = msg . content . data . wsport
22
+ var uri = msg . content . data . wsuri
23
+ ws = new WebSocket ( "ws://localhost:" + port + uri ) ;
24
+ ws . binaryType = "arraybuffer" ;
51
25
52
26
// Handle incoming websocket message callback
53
27
ws . onmessage = function ( evt ) {
54
- console . log ( "WebSocket Message Received: " + evt . data )
28
+ console . log ( "WebSocket Message Received: " + evt . data )
55
29
} ;
56
30
57
31
// Close Websocket callback
@@ -69,22 +43,25 @@ export function createWebsocket(msg, serviceUrl) {
69
43
}
70
44
}
71
45
72
- function wscheckfontsloaded ( msg , serviceUrl ) {
46
+ var wsmsg
47
+
48
+ function wscheckfontsloaded ( ) {
73
49
"use strict" ;
74
50
if ( window . __font_sans === undefined || window . __font_serif === undefined ) {
75
- setTimeout ( wscheckfontsloaded , 10 , msg , serviceUrl )
51
+ setTimeout ( wscheckfontsloaded , 10 )
76
52
} else {
77
- createWebsocket ( msg , serviceUrl )
53
+ createWebsocket ( wsmsg )
78
54
}
79
55
}
80
56
81
- export function setupWebsocket ( msg , serviceUrl ) {
57
+ export function setupWebsocket ( msg ) {
82
58
"use strict" ;
83
- wscheckfontsloaded ( msg , serviceUrl )
59
+ wsmsg = msg
60
+ wscheckfontsloaded ( )
84
61
}
85
62
86
- var datadir = '. /static/lab /vpython_data/'
87
- window . Jupyter_VPython = "./static/ lab/vpython_data/" // prefix used by glow.min.js for textures
63
+ var datadir = window . location . href + ' /static/vpython_data/'
64
+ window . Jupyter_VPython = "/ lab/static /vpython_data/" // prefix used by glow.min.js for textures
88
65
89
66
function fontloading ( ) {
90
67
"use strict" ;
@@ -649,7 +626,7 @@ function handle_cmds(dcmds) {
649
626
}
650
627
cfg [ attr ] = ptlist
651
628
} else if ( attr === "axis" && obj == 'arrow' ) {
652
- cfg [ 'axis_and_length' ] = o2vec3 ( val )
629
+ cfg [ 'axis_and_length' ] = o2vec3 ( val )
653
630
} else if ( vlst . indexOf ( attr ) !== - 1 ) {
654
631
cfg [ attr ] = o2vec3 ( val )
655
632
} else if ( triangle_quad . indexOf ( attr ) !== - 1 ) {
@@ -705,6 +682,8 @@ function handle_cmds(dcmds) {
705
682
}
706
683
// creating the objects
707
684
cfg . idx = idx // reinsert idx, having looped thru all other attributes
685
+ // triangle and quad objects should not have a canvas attribute; canvas is provided in the vertex objectsE
686
+ if ( ( obj == 'triangle' || obj == 'quad' ) && cfg . canvas !== undefined ) delete cfg . canvas
708
687
switch ( obj ) {
709
688
case 'box' : { glowObjs [ idx ] = box ( cfg ) ; break }
710
689
case 'sphere' : { glowObjs [ idx ] = sphere ( cfg ) ; break }
@@ -923,7 +902,7 @@ function handle_cmds(dcmds) {
923
902
} // end of cmds (constructors and special data)
924
903
}
925
904
926
- function handle_methods ( dmeth ) {
905
+ async function handle_methods ( dmeth ) {
927
906
"use strict" ;
928
907
//console.log('METHODS')
929
908
for ( var idmeth = 0 ; idmeth < dmeth . length ; idmeth ++ ) { // methods; cmd is ['idx':idx, 'attr':method, 'val':val]
@@ -965,7 +944,7 @@ function handle_methods(dmeth) {
965
944
} else if ( method === "follow" ) {
966
945
obj . camera . follow ( glowObjs [ val ] )
967
946
} else if ( method === "capture" ) {
968
- obj . capture ( val )
947
+ await obj . capture ( val )
969
948
} else if ( method === 'waitfor' ) {
970
949
waitfor_canvas = idx
971
950
waitfor_options = val
@@ -974,10 +953,11 @@ function handle_methods(dmeth) {
974
953
waitfor_canvas = idx
975
954
waitfor_options = 'click'
976
955
if ( val . length > 0 ) {
977
- obj . pause ( val , process_pause )
956
+ await obj . pause ( val )
978
957
} else {
979
- obj . pause ( process_pause )
958
+ await obj . pause ( )
980
959
}
960
+ process_pause ( )
981
961
} else if ( method === 'pick' ) {
982
962
var p = glowObjs [ val ] . mouse . pick ( ) // wait for pick render; val is canvas
983
963
var seg = null
@@ -1039,4 +1019,4 @@ function handle_attrs(dattrs) {
1039
1019
}
1040
1020
console . log ( "END OF GLOWCOMM" )
1041
1021
1042
- //});
1022
+ //});
0 commit comments