Skip to content

Commit 71f2ec4

Browse files
committed
Make lights inherit from the base 3d object so properties are correctly set.
Fixes #81
1 parent 9415747 commit 71f2ec4

File tree

1 file changed

+16
-40
lines changed

1 file changed

+16
-40
lines changed

js/src/jupyter-threejs.js

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ define(["jupyter-js-widgets", "underscore", "three"],
155155

156156
update: function() {
157157
//this.replace_obj(this.new_obj());
158-
//this.update_object_parameters();
158+
this.update_object_parameters();
159159
this.needs_update();
160160
},
161161

@@ -1167,36 +1167,22 @@ define(["jupyter-js-widgets", "underscore", "three"],
11671167
}
11681168
});
11691169

1170-
1171-
var Basic3dObject = Object3dView.extend({
1172-
render: function() {
1173-
this.update();
1174-
return this.obj;
1175-
},
1176-
1177-
update: function() {
1178-
this.replace_obj(this.new_obj());
1179-
Object3dView.prototype.update.call(this);
1180-
}
1181-
});
1182-
1183-
1184-
var AmbientLight = Basic3dObject.extend({
1170+
var AmbientLight = Object3dView.extend({
11851171
new_obj: function() {
11861172
return new THREE.AmbientLight(this.model.get('color'));
11871173
}
11881174
});
11891175

11901176

1191-
var DirectionalLight = Basic3dObject.extend({
1177+
var DirectionalLight = Object3dView.extend({
11921178
new_obj: function() {
11931179
return new THREE.DirectionalLight(this.model.get('color'),
11941180
this.model.get('intensity'));
11951181
}
11961182
});
11971183

11981184

1199-
var PointLight = Basic3dObject.extend({
1185+
var PointLight = Object3dView.extend({
12001186
new_obj: function() {
12011187
return new THREE.PointLight(this.model.get('color'),
12021188
this.model.get('intensity'),
@@ -1205,15 +1191,15 @@ define(["jupyter-js-widgets", "underscore", "three"],
12051191
});
12061192

12071193

1208-
var SpotLight = Basic3dObject.extend({
1194+
var SpotLight = Object3dView.extend({
12091195
new_obj: function() {
12101196
return new THREE.SpotLight(this.model.get('color'),
12111197
this.model.get('intensity'),
12121198
this.model.get('distance'));
12131199
}
12141200
});
12151201

1216-
var HemisphereLight = Basic3dObject.extend({
1202+
var HemisphereLight = Object3dView.extend({
12171203
new_obj: function() {
12181204
return new THREE.HemisphereLight(this.model.get('color'),
12191205
this.model.get('ground_color'),
@@ -1259,17 +1245,21 @@ define(["jupyter-js-widgets", "underscore", "three"],
12591245
}
12601246
});
12611247

1262-
var Basic3dObjectModel = widgets.WidgetModel.extend({
1248+
var Object3dModel = widgets.WidgetModel.extend({
12631249
defaults: _.extend({}, widgets.WidgetModel.prototype.defaults, {
1264-
_model_module: 'jupyter-threejs',
12651250
_view_module: 'jupyter-threejs',
1266-
_model_name: 'Basic3dObjectModel',
1267-
_view_name: 'Basic3dObjectView'
1251+
_model_module: 'jupyter-threejs',
1252+
_view_name: 'Object3dView',
1253+
_model_name: 'Object3dModel'
12681254
})
1255+
}, {
1256+
serializers: _.extend({
1257+
children: { deserialize: widgets.unpack_models }
1258+
}, widgets.WidgetModel.serializers)
12691259
});
12701260

1271-
var LightModel = Basic3dObjectModel.extend({
1272-
defaults: _.extend({}, Basic3dObjectModel.prototype.defaults, {
1261+
var LightModel = Object3dModel.extend({
1262+
defaults: _.extend({}, Object3dModel.prototype.defaults, {
12731263
_model_name: 'LightModel',
12741264
color: 'white'
12751265
})
@@ -1322,18 +1312,6 @@ define(["jupyter-js-widgets", "underscore", "three"],
13221312
})
13231313
}, {}, LightModel.serializers);
13241314

1325-
var Object3dModel = widgets.WidgetModel.extend({
1326-
defaults: _.extend({}, widgets.WidgetModel.prototype.defaults, {
1327-
_view_module: 'jupyter-threejs',
1328-
_model_module: 'jupyter-threejs',
1329-
_view_name: 'Object3dView',
1330-
_model_name: 'Object3dModel'
1331-
})
1332-
}, {
1333-
serializers: _.extend({
1334-
children: { deserialize: widgets.unpack_models }
1335-
}, widgets.WidgetModel.serializers)
1336-
});
13371315

13381316
var ScaledObjectModel = Object3dModel.extend({
13391317
defaults: _.extend({}, Object3dModel.prototype.defaults, {
@@ -1998,8 +1976,6 @@ define(["jupyter-js-widgets", "underscore", "three"],
19981976
EffectModel : EffectModel,
19991977
AnaglyphEffectView : AnaglyphEffectView,
20001978
AnaglyphEffectModel : AnaglyphEffectModel,
2001-
Basic3dObject : Basic3dObject,
2002-
Basic3dObjectModel : Basic3dObjectModel,
20031979
BasicMaterialView : BasicMaterialView,
20041980
BasicMaterialModel : BasicMaterialModel,
20051981
BoxGeometryView : BoxGeometryView,

0 commit comments

Comments
 (0)