在使用iobject java时我需要将缓存数据放入新建的工作空间中,我使用的场景定位方法是ensureVisible,但是有时候他的定位效果(保存的工作空间在桌面端打开后点击场景后定位的效果)和idesktopX桌面单独双击场景图层的定位效果不同,请帮忙查找一下原因
这是我的代码
scene.setWorkspace(workspace);
String sceneName = workspace.getScenes().get(0);
scene.open(sceneName);
Layer3Ds layer3Ds = scene.getLayers();
Rectangle2D maxbounds = null;
if (layer3Ds.getCount() == 1) {
scene.ensureVisible(layer3Ds.get(0));
} else {
for (int i = 0; i < layer3Ds.getCount(); i++) {
Layer3D layer3D = layer3Ds.get(i);
Rectangle2D rectangle2D = layer3D.getBounds();
if (maxbounds == null) {
maxbounds = rectangle2D;
}
maxbounds.union(rectangle2D);
}
if (maxbounds != null) {
scene.ensureVisible(maxbounds, 1);
}
}
workspace.getScenes().setSceneXML(sceneName, scene.toXML());//修改场景名为sceneName的场景内容
workspace.save();