@@ -20,6 +20,10 @@ import { XacroLoader } from 'xacro-parser';
20
20
import { URDFControls } from './controls' ;
21
21
import { URDFRenderer } from './renderer' ;
22
22
23
+ interface URDFColors {
24
+ sky : Color ,
25
+ ground : Color
26
+ }
23
27
24
28
/**
25
29
* A URDF layout to host the URDF viewer
@@ -29,6 +33,7 @@ export class URDFLayout extends PanelLayout {
29
33
private _robotModel : any = null ;
30
34
private _controlsPanel : URDFControls ;
31
35
private _renderer : URDFRenderer ;
36
+ private _colors : URDFColors ;
32
37
private _manager : LoadingManager ;
33
38
private _loader : URDFLoader ;
34
39
private _workingPath : string ;
@@ -44,12 +49,14 @@ export class URDFLayout extends PanelLayout {
44
49
// output area to render execution replies
45
50
this . _host = document . createElement ( 'div' ) ;
46
51
52
+ this . _colors = {
53
+ sky : this . _getThemeColor ( '--jp-layout-color1' ) || new Color ( 0x263238 ) ,
54
+ ground : this . _getThemeColor ( '--jp-layout-color2' ) || new Color ( 0x263238 )
55
+ } ;
56
+
57
+ this . _renderer = new URDFRenderer ( this . _colors . sky , this . _colors . ground ) ;
47
58
this . _controlsPanel = new URDFControls ( ) ;
48
59
49
- const colorSky = this . _getThemeColor ( '--jp-layout-color1' ) || new Color ( 0x263238 ) ;
50
- const colorGround = this . _getThemeColor ( '--jp-layout-color2' ) || new Color ( 0x263238 ) ;
51
- this . _renderer = new URDFRenderer ( colorSky , colorGround ) ;
52
-
53
60
this . _urdfString = '' ;
54
61
this . _workingPath = '' ;
55
62
this . _manager = new LoadingManager ;
@@ -207,7 +214,8 @@ export class URDFLayout extends PanelLayout {
207
214
* Call renderer when scene colors are changed in the controls panel.
208
215
*/
209
216
private _setSceneControls ( ) : void {
210
- const sceneControl = this . _controlsPanel . createSceneControls ( ) ;
217
+ const sceneControl = this . _controlsPanel . createSceneControls (
218
+ this . _colors . sky , this . _colors . ground ) ;
211
219
sceneControl . background . onChange (
212
220
( newColor : number [ ] ) => this . _renderer . setSkyColor ( newColor ) ) ;
213
221
sceneControl . grid . onChange (
0 commit comments