@@ -207,9 +207,6 @@ function createCloneConfig(name, tags) {
207
207
208
208
AFRAME . registerComponent ( 'managed-street' , {
209
209
schema : {
210
- width : {
211
- type : 'number'
212
- } ,
213
210
length : {
214
211
type : 'number' ,
215
212
default : 60
@@ -221,28 +218,9 @@ AFRAME.registerComponent('managed-street', {
221
218
sourceValue : {
222
219
type : 'string'
223
220
} ,
224
- sourceId : {
225
- type : 'string'
226
- } ,
227
221
synchronize : {
228
222
type : 'boolean' ,
229
223
default : false
230
- } ,
231
- showVehicles : {
232
- type : 'boolean' ,
233
- default : true
234
- } ,
235
- showStriping : {
236
- type : 'boolean' ,
237
- default : true
238
- } ,
239
- enableAlignment : {
240
- type : 'boolean' ,
241
- default : true
242
- } ,
243
- showGround : {
244
- type : 'boolean' ,
245
- default : true
246
224
}
247
225
} ,
248
226
init : function ( ) {
@@ -253,10 +231,10 @@ AFRAME.registerComponent('managed-street', {
253
231
this . refreshFromSource = this . refreshFromSource . bind ( this ) ;
254
232
this . onSegmentWidthChanged = this . onSegmentWidthChanged . bind ( this ) ;
255
233
256
- if ( this . data . enableAlignment && ! this . el . hasAttribute ( 'street-align' ) ) {
234
+ if ( ! this . el . hasAttribute ( 'street-align' ) ) {
257
235
this . el . setAttribute ( 'street-align' , '' ) ;
258
236
}
259
- if ( this . data . showGround && ! this . el . hasAttribute ( 'street-ground' ) ) {
237
+ if ( ! this . el . hasAttribute ( 'street-ground' ) ) {
260
238
this . el . setAttribute ( 'street-ground' , '' ) ;
261
239
}
262
240
if ( ! this . el . hasAttribute ( 'street-label' ) ) {
@@ -347,7 +325,7 @@ AFRAME.registerComponent('managed-street', {
347
325
const totalWidth = this . managedEntities . reduce ( ( sum , segment ) => {
348
326
return sum + ( segment . getAttribute ( 'street-segment' ) . width || 0 ) ;
349
327
} , 0 ) ;
350
- this . el . setAttribute ( 'managed-street' , 'width' , totalWidth ) ;
328
+ this . actualWidth = totalWidth ;
351
329
352
330
// If we have a previous segment, check if we need to add stripe separators
353
331
// TODO: Check striping here in the future
@@ -410,6 +388,7 @@ AFRAME.registerComponent('managed-street', {
410
388
oldValue : event . detail . oldWidth ,
411
389
newValue : event . detail . newWidth
412
390
} ) ;
391
+ this . refreshManagedEntities ( ) ;
413
392
} ,
414
393
update : function ( oldData ) {
415
394
const data = this . data ;
@@ -472,7 +451,6 @@ AFRAME.registerComponent('managed-street', {
472
451
this . actualWidth = this . managedEntities . reduce ( ( sum , segment ) => {
473
452
return sum + ( segment . getAttribute ( 'street-segment' ) ?. width || 0 ) ;
474
453
} , 0 ) ;
475
- console . log ( 'actual width' , this . actualWidth ) ;
476
454
} ,
477
455
parseStreetObject : function ( streetObject ) {
478
456
// reset and delete all existing entities
@@ -483,7 +461,6 @@ AFRAME.registerComponent('managed-street', {
483
461
'data-layer-name' ,
484
462
'Managed Street • ' + streetObject . name
485
463
) ;
486
- this . el . setAttribute ( 'managed-street' , 'width' , streetObject . width ) ;
487
464
this . el . setAttribute ( 'managed-street' , 'length' , streetObject . length ) ;
488
465
489
466
for ( let i = 0 ; i < streetObject . segments . length ; i ++ ) {
@@ -739,18 +716,12 @@ AFRAME.registerComponent('managed-street', {
739
716
const streetmixName = streetmixResponseObject . name ;
740
717
741
718
this . el . setAttribute ( 'data-layer-name' , 'Street • ' + streetmixName ) ;
742
- const streetWidth = streetmixSegments . reduce (
743
- ( streetWidth , segmentData ) => streetWidth + segmentData . width ,
744
- 0
745
- ) ;
746
- this . el . setAttribute ( 'managed-street' , 'width' , streetWidth ) ;
719
+ // const streetWidth = streetmixSegments.reduce(
720
+ // (streetWidth, segmentData) => streetWidth + segmentData.width,
721
+ // 0
722
+ // );
747
723
748
- const segmentEls = parseStreetmixSegments (
749
- streetmixSegments ,
750
- data . showStriping ,
751
- data . length ,
752
- data . showVehicles
753
- ) ;
724
+ const segmentEls = parseStreetmixSegments ( streetmixSegments , data . length ) ;
754
725
this . el . append ( ...segmentEls ) ;
755
726
756
727
this . pendingEntities = segmentEls ;
@@ -938,7 +909,7 @@ function supportCheck(segmentType, segmentVariantString) {
938
909
939
910
// OLD: takes a street's `segments` (array) from streetmix and a `streetElementId` (string) and places objects to make up a street with all segments
940
911
// NEW: takes a `segments` (array) from streetmix and return an element and its children which represent the 3D street scene
941
- function parseStreetmixSegments ( segments , showStriping , length , showVehicles ) {
912
+ function parseStreetmixSegments ( segments , length ) {
942
913
// create and center offset to center the street around global x position of 0
943
914
const segmentEls = [ ] ;
944
915
@@ -1010,19 +981,17 @@ function parseStreetmixSegments(segments, showStriping, length, showVehicles) {
1010
981
// get the mixin id for the vehicle (is it a trolley or a tram?)
1011
982
const objectMixinId =
1012
983
segments [ i ] . type === 'streetcar' ? 'trolley' : 'tram' ;
1013
- if ( showVehicles ) {
1014
- segmentParentEl . setAttribute (
1015
- 'street-generated-clones' ,
1016
- `mode: random; model: ${ objectMixinId } ; length: ${ length } ; spacing: 20; direction: ${ direction } ; count: 1;`
1017
- ) ;
1018
- }
984
+ segmentParentEl . setAttribute (
985
+ 'street-generated-clones' ,
986
+ `mode: random; model: ${ objectMixinId } ; length: ${ length } ; spacing: 20; direction: ${ direction } ; count: 1;`
987
+ ) ;
1019
988
segmentParentEl . setAttribute (
1020
989
'street-generated-rail' ,
1021
990
`length: ${ length } ; gauge: ${ segments [ i ] . type === 'streetcar' ? 1067 : 1435 } ;`
1022
991
) ;
1023
992
} else if ( segments [ i ] . type === 'turn-lane' ) {
1024
993
segmentPreset = 'drive-lane' ; // use normal drive lane road material
1025
- if ( showVehicles && variantList [ 1 ] !== 'shared' ) {
994
+ if ( variantList [ 1 ] !== 'shared' ) {
1026
995
segmentParentEl . setAttribute (
1027
996
'street-generated-clones' ,
1028
997
`mode: random;
@@ -1162,29 +1131,24 @@ function parseStreetmixSegments(segments, showStriping, length, showVehicles) {
1162
1131
segmentPreset = 'bus-lane' ;
1163
1132
// get the color for a bus lane
1164
1133
segmentColor = getSegmentColor ( variantList [ 1 ] ) ;
1165
-
1166
- if ( showVehicles ) {
1167
- segmentParentEl . setAttribute (
1168
- 'street-generated-clones' ,
1169
- `mode: random; model: bus; length: ${ length } ; spacing: 15; direction: ${ direction } ; count: 1;`
1170
- ) ;
1171
- }
1134
+ segmentParentEl . setAttribute (
1135
+ 'street-generated-clones' ,
1136
+ `mode: random; model: bus; length: ${ length } ; spacing: 15; direction: ${ direction } ; count: 1;`
1137
+ ) ;
1172
1138
segmentParentEl . setAttribute (
1173
1139
'street-generated-stencil' ,
1174
1140
`stencils: word-only, word-taxi, word-bus; length: ${ length } ; spacing: 40; padding: 10; direction: ${ direction } `
1175
1141
) ;
1176
1142
} else if ( segments [ i ] . type === 'drive-lane' ) {
1177
- if ( showVehicles ) {
1178
- segmentParentEl . setAttribute (
1179
- 'street-generated-clones' ,
1180
- `mode: random;
1181
- modelsArray: sedan-rig, box-truck-rig, self-driving-waymo-car, suv-rig, motorbike;
1182
- length: ${ length } ;
1183
- spacing: 7.3;
1184
- direction: ${ direction } ;
1185
- count: ${ getRandomIntInclusive ( 2 , 4 ) } ;`
1186
- ) ;
1187
- }
1143
+ segmentParentEl . setAttribute (
1144
+ 'street-generated-clones' ,
1145
+ `mode: random;
1146
+ modelsArray: sedan-rig, box-truck-rig, self-driving-waymo-car, suv-rig, motorbike;
1147
+ length: ${ length } ;
1148
+ spacing: 7.3;
1149
+ direction: ${ direction } ;
1150
+ count: ${ getRandomIntInclusive ( 2 , 4 ) } ;`
1151
+ ) ;
1188
1152
} else if ( segments [ i ] . type === 'food-truck' ) {
1189
1153
segmentPreset = 'drive-lane' ;
1190
1154
segmentParentEl . setAttribute (
@@ -1193,14 +1157,12 @@ function parseStreetmixSegments(segments, showStriping, length, showVehicles) {
1193
1157
) ;
1194
1158
} else if ( segments [ i ] . type === 'flex-zone' ) {
1195
1159
segmentPreset = 'parking-lane' ;
1196
- if ( showVehicles ) {
1197
- const objectMixinId =
1198
- variantList [ 0 ] === 'taxi' ? 'sedan-taxi-rig' : 'sedan-rig' ;
1199
- segmentParentEl . setAttribute (
1200
- 'street-generated-clones' ,
1201
- `mode: random; model: ${ objectMixinId } ; length: ${ length } ; spacing: 6; direction: ${ direction } ; count: 4;`
1202
- ) ;
1203
- }
1160
+ const objectMixinId =
1161
+ variantList [ 0 ] === 'taxi' ? 'sedan-taxi-rig' : 'sedan-rig' ;
1162
+ segmentParentEl . setAttribute (
1163
+ 'street-generated-clones' ,
1164
+ `mode: random; model: ${ objectMixinId } ; length: ${ length } ; spacing: 6; direction: ${ direction } ; count: 4;`
1165
+ ) ;
1204
1166
segmentParentEl . setAttribute (
1205
1167
'street-generated-stencil' ,
1206
1168
`stencils: word-loading-small, word-only-small; length: ${ length } ; spacing: 40; padding: 10; direction: ${ direction } `
@@ -1426,7 +1388,7 @@ function parseStreetmixSegments(segments, showStriping, length, showVehicles) {
1426
1388
let previousSegment = segments [ i - 1 ] ;
1427
1389
let separatorMixinId = getSeparatorMixinId ( previousSegment , currentSegment ) ;
1428
1390
1429
- if ( separatorMixinId && showStriping ) {
1391
+ if ( separatorMixinId ) {
1430
1392
segmentParentEl . setAttribute (
1431
1393
'street-generated-striping' ,
1432
1394
`striping: ${ separatorMixinId } ; length: ${ length } ; segmentWidth: ${ segmentWidthInMeters } ;`
0 commit comments