def generate_item_3d_bench(self, item_2d): key = "bench-default-1" item_3d = self.osm.catalog.instance(key) if not item_3d: item_3d = urban.bench(length=2.0) item_3d = self.osm.catalog.add(key, item_3d) coords = item_2d.geom.coords[0] item_3d = item_3d.rotate( [0, 0, item_2d.extra['ddd:angle'] - math.pi / 2]) item_3d = item_3d.translate([coords[0], coords[1], 0.0]) item_3d.name = 'Bench: %s' % item_2d.name item_3d.extra[ '_height_mapping'] = 'terrain_geotiff_incline_elevation_apply' return item_3d
catalog = PrefabCatalog() #catalog.loadall() item = catalog.instance('prefab-lamppost') if not item: item = urban.lamppost() #item = plants.plant(height=10) #item = urban.trafficlights() item = catalog.add('prefab-lamppost', item) item.extra['ddd:static'] = False items.append(item) item = catalog.instance('prefab-bench') if not item: item = urban.bench() #item = plants.plant(height=10) #item = urban.trafficlights() item = catalog.add('prefab-bench', item) item.extra['ddd:static'] = True items.append(item) # All items items = ddd.align.grid(items, space=10.0) items.append(ddd.helper.all()) items.save("lights.json") items.dump() items.save("lights.glb") #catalog.export("/tmp/catalog.glb")
def pipeline_start(pipeline, root): ddd.mats.traffic_signs = ddd.material( name="TrafficSigns", color="#ffffff", #color="#e01010", texture_path=ddd.DATA_DIR + "/materials/traffic-signs-es/traffic_signs_es_0.png", atlas_path=ddd.DATA_DIR + "/materials/traffic-signs-es/traffic_signs_es_0.plist") items = ddd.group3() item = urban.lamppost_high_mast() items.append(item) item = buildings.portal() #item = ddd.meshops.batch_by_material(item) items.append(item) #item.show() item = buildings.door() items.append(item) #item.show() item = buildings.window_with_border() items.append(item) item = common.bar_u() items.append(item) item = urban.waste_container_dome() items.append(item) item = urban.waste_container_with_lid_closed() items.append(item) item = urban.waste_container() items.append(item) item = landscape.ladder_pool() items.append(item) item = sports.golf_flag() items.append(item) item = urban.drinking_water() items.append(item) item = urban.bollard() items.append(item) item = urban.bell() items.append(item) item = urban.fire_hydrant() items.append(item) item = urban.childrens_playground_swingset() items.append(item) item = urban.childrens_playground_sandbox() items.append(item) item = urban.childrens_playground_slide() items.append(item) item = urban.childrens_playground_arc() items.append(item) item = urban.patio_table() items.append(item) item = urban.patio_chair() items.append(item) item = urban.patio_umbrella() items.append(item) item = urban.post_box() items.append(item) item = urban.lamppost() items.append(item) item = urban.busstop_small(text="Bus Stop") items.append(item) item = urban.bench() items.append(item) item = urban.sculpture() items.append(item) item = urban.sculpture_text("Test") item = urban.pedestal(item) items.append(item) item = urban.sculpture_text("Monumental test string", vertical=True, height=12) items.append(item) item = urban.trafficlights() #item = item.rotate([0, 0, (math.pi / 4) - math.pi / 2]) items.append(item) item = urban.fountain() items.append(item) item = urban.wayside_cross() items.append(item) item = urban.trash_bin() items.append(item) item = urban.trash_bin_post() items.append(item) # Road signs item = urban.traffic_sign('stop') items.append(item) #item.show() item = urban.traffic_sign('give_way') items.append(item) #item.show() item = urban.traffic_sign('es:s13') items.append(item) #item.show() item = urban.traffic_sign('es:p1') items.append(item) item = urban.traffic_sign('es:r101') items.append(item) item = urban.traffic_sign('es:r1') items.append(item) item = urban.traffic_sign('es:r2') items.append(item) item = urban.traffic_sign('es:r3') items.append(item) item = urban.traffic_sign('es:r6') items.append(item) item = urban.traffic_sign('es:r402') items.append(item) item = urban.traffic_sign('es:r500') items.append(item) item = urban.traffic_sign('es:r504') items.append(item) #item = urban.traffic_sign('es:r505-b') #items.append(item) item = urban.traffic_sign('es:r505') items.append(item) item = urban.traffic_sign('es:r506') items.append(item) #item.show() ''' # Reduced items_org = items.copy() items = ddd.meshops.reduce(items_org) items = ddd.align.grid(items) items.append(ddd.helper.all()) items.show() items = ddd.meshops.reduce_bounds(items_org) items = ddd.align.grid(items) items.append(ddd.helper.all()) items.show() ''' items = ddd.align.grid(items) items.append(ddd.helper.all()) #items.show() #items.save("/tmp/test.glb") #items = ddd.meshops.batch_by_material(items) #items.dump() items.show() #items.save("/tmp/test.json") pipeline.root = items