📄 nodemanager.java
字号:
package cn.bz.util;
import java.io.FileNotFoundException;
import java.util.List;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import com.sun.j3d.loaders.IncorrectFormatException;
import com.sun.j3d.loaders.ParsingErrorException;
import com.sun.j3d.loaders.Scene;
import com.sun.j3d.loaders.objectfile.ObjectFile;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class NodeManager {
/*
* 该方法主要用来遍历节点,,比如说在一个房子里要添加多个家居时.可以用这个方法.
* 添加多个结点到场景中
*/
public void addNotes(SimpleUniverse u, List all)
{
//u.getViewingPlatform().setNominalViewingTransform();
// 设置观察者的位置为缺省位置
for(int i = 0; i < all.size(); i++)
{
BranchGroup bg = (BranchGroup)all.get(i);
//生成一个场景图分支,在其中定义分支的形体、材质、灯光等信息
u.addBranchGraph(bg);
//把场景放入虚拟空间中
}
}
//添加一个结点到场景中
public void addNote(SimpleUniverse u, BranchGroup bg)
{
u.addBranchGraph(bg);
}
/**
* 传入一个文件(obj文件路径,即可得到一个bg结点)
* @param filename
* @return
*/
public BranchGroup getObj(String filename)
{
BranchGroup bg = null;
int flags = ObjectFile.RESIZE;
ObjectFile f = new ObjectFile(flags, (float)(49.0 * Math.PI / 180.0));
Scene s = null;
try {
s = f.load(filename);
bg = s.getSceneGroup();
}
catch (FileNotFoundException e) {
System.err.println(e);
System.exit(1);
}
catch (ParsingErrorException e) {
System.err.println(e);
System.exit(1);
}
catch (IncorrectFormatException e) {
System.err.println(e);
System.exit(1);
}
return bg;
}
/**
* 封装一个TG结点
* @param filename
* @param transform3D
* @return
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -