public SDFWorldLoader(InputStream inputStream, List<String> resourceDirectories) throws FileNotFoundException, JAXBException { jaxbSDFLoader = new JaxbSDFLoader(inputStream, resourceDirectories, null); for (GeneralizedSDFRobotModel generalizedSDFRobotModel : jaxbSDFLoader.getGeneralizedSDFRobotModels()) { String name = generalizedSDFRobotModel.getName(); visuals.put(name, new SDFModelVisual(generalizedSDFRobotModel)); } for (Road road : jaxbSDFLoader.getRoads()) { visuals.put(road.getName(), new SDFRoadVisual(road)); } }
public SDFRoadVisual(Road road) double width = Double.parseDouble(road.getWidth()); Point3D endLeft = new Point3D(); Point3D endRight = new Point3D(); for(int i = 0 ; i < road.getPoints().size() - 1; i++) Point3D start = new Point3D(ModelFileLoaderConversionsHelper.stringToVector3d(road.getPoints().get(i))); Point3D end = new Point3D(ModelFileLoaderConversionsHelper.stringToVector3d(road.getPoints().get(i+1))); if(i < road.getPoints().size() - 2) Point3D endNext = new Point3D(ModelFileLoaderConversionsHelper.stringToVector3d(road.getPoints().get(i+2))); Vector3D directionNext = getDirection(startNext, endNext); Vector3D nextSide = getPerpendicularVectorOfLength(width, directionNext);
public SDFWorldLoader(InputStream inputStream, List<String> resourceDirectories) throws FileNotFoundException, JAXBException { jaxbSDFLoader = new JaxbSDFLoader(inputStream, resourceDirectories, null); for (GeneralizedSDFRobotModel generalizedSDFRobotModel : jaxbSDFLoader.getGeneralizedSDFRobotModels()) { String name = generalizedSDFRobotModel.getName(); visuals.put(name, new SDFModelVisual(generalizedSDFRobotModel)); } for (Road road : jaxbSDFLoader.getRoads()) { visuals.put(road.getName(), new SDFRoadVisual(road)); } }