@Override public List<CameraModel> getCameraModels() { List<CameraModel> cameraModels = new ArrayList<CameraModel>(); for (GltfModel gltfModel : gltfModels) { cameraModels.addAll(gltfModel.getCameraModels()); } return Collections.unmodifiableList(cameraModels); }
Optionals.of(gltfModel.getSceneModels()) .forEach(this::processSceneModel); logger.fine("Processing scenes DONE...");
GltfAnimations.createModelAnimations(gltfModel.getAnimationModels()); modelAnimations.put(gltfModel, currentModelAnimations); animationManager.addAnimations(currentModelAnimations);
/** * Compute the bounding box of the {@link GltfModel} * * @return The bounding box */ BoundingBox compute() { BoundingBox boundingBox = new BoundingBox(); List<SceneModel> sceneModels = gltfModel.getSceneModels(); for (SceneModel sceneModel : sceneModels) { float rootTransform[] = MathUtils.createIdentity4x4(); computeSceneBoundingBox(sceneModel, rootTransform, boundingBox); } return boundingBox; }
@Override public final void addGltfModel(GltfModel gltfModel) { Objects.requireNonNull(gltfModel, "The gltfModel may not be null"); gltfModels.add(gltfModel); addBeforeRenderTask(() -> createRenderedGltf(gltfModel)); triggerRendering(); // If no external camera has been defined, set the current camera // to be the first camera of the given model. if (externalCamera == null) { List<CameraModel> cameraModels = gltfModel.getCameraModels(); if (!cameraModels.isEmpty()) { CameraModel cameraModel = cameraModels.get(0); setCurrentCameraModel(gltfModel, cameraModel); } } }