/** * write a 3D object in the dsf file * * @param object a xplane dsf object * @throws Osm2xpBusinessException */ private void writeObjectToDsf(XplaneDsfObject object) throws Osm2xpBusinessException { String objectDsfText = object.asObjDsfText(); writer.write(objectDsfText, GeomUtils.cleanCoordinatePoint(object.getOsmPolygon().getCenter())); // stats StatsHelper.addObjectType(dsfObjectsProvider.getObjectsList().get(object.getDsfIndex()), stats); }
private void processLightObject(OsmPolygon poly) { if (XplaneOptionsHelper.getOptions().isGenerateLights()) { XplaneDsfObject object = dsfObjectsProvider.getRandomDsfLightObject(poly); if (object != null) { object.setPolygon(poly); try { writeObjectToDsf(object); } catch (Osm2xpBusinessException e) { } } } }
/** * choose and write a 3D object in the dsf file. * * @param polygon osm polygon. * @return true if a 3D object has been written in the dsf file. */ private boolean process3dObject(OsmPolygon osmPolygon) { Boolean result = false; if (XplaneOptionsHelper.getOptions().isGenerateObj()) { // simplify shape if checked and if necessary if (GuiOptionsHelper.getOptions().isSimplifyShapes() && !osmPolygon.isSimplePolygon()) { osmPolygon.simplifyPolygon(); } XplaneDsfObject object = dsfObjectsProvider.getRandomDsfObject(osmPolygon); if (object != null) { object.setPolygon(osmPolygon); try { writeObjectToDsf(object); result = true; } catch (Osm2xpBusinessException e) { result = false; } } } return result; }