Устаревшее Java-приложение читает файлы CAD X3D и пропускает геометрические данные.Я искал в Интернете и искал " практический совет / рекомендации экспертов " для фрагментов кода компонента или Java для чтения файлов X3D.
Спасибо
Образецкод:
public Element loadGraphicsFile(File graphicsFile) throws Exception {
Element sceneRoot = null;
InputStream stream = null;
try {
String fileName = graphicsFile.getName();
if(fileName.endsWith(".gz") || fileName.endsWith(".x3dz")) {
stream = new GZIPInputStream(new FileInputStream(graphicsFile));
}
else {
stream = new FileInputStream(graphicsFile);
}
SAXBuilder builder = new SAXBuilder();
Document fileDocument = builder.build(stream);
Element docRoot = fileDocument.getRootElement(); // <X3D/>
Element topSceneRoot = docRoot.getChild("Scene"); // <Scene>
sceneRoot = topSceneRoot.getChild("Transform"); // <Transform>
Element tempRoot = sceneRoot.getChild("Transform"); // Nested <Transform>
if(tempRoot != null) { //some (CATIA?) have 2nd transform level
sceneRoot = tempRoot;
} finally {
if(stream != null) stream.close();
}
return sceneRoot;
}
}