本文整理了Java中com.jme3.scene.Spatial.breadthFirstTraversal()
方法的一些代码示例,展示了Spatial.breadthFirstTraversal()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Spatial.breadthFirstTraversal()
方法的具体详情如下:
包路径:com.jme3.scene.Spatial
类名称:Spatial
方法名:breadthFirstTraversal
[英]Visit each scene graph element ordered by BFS
[中]访问BFS订购的每个场景图形元素
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
/**
* Visit each scene graph element ordered by BFS
* @param visitor
*/
public void breadthFirstTraversal(SceneGraphVisitor visitor) {
Queue<Spatial> queue = new LinkedList<Spatial>();
queue.add(this);
while (!queue.isEmpty()) {
Spatial s = queue.poll();
visitor.visit(s);
s.breadthFirstTraversal(visitor, queue);
}
}
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
public static void generateParallel(Spatial scene, ExecutorService executor) {
final Set<Mesh> meshes = new HashSet<Mesh>();
scene.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
代码示例来源:origin: net.sf.phat/phat-core
public static Map<String,Spatial> getAllSpatialWithId(Spatial rootNode, final Map<String,Spatial> store) {
SceneGraphVisitor visitor = new SceneGraphVisitor() {
@Override
public void visit(Spatial spat) {
String id = spat.getUserData("ID");
if (id != null) {
store.put(id, spat);
}
}
};
rootNode.breadthFirstTraversal(visitor);
return store;
}
代码示例来源:origin: tonihele/OpenKeeper
/**
* Reset translation of spatial and all children
*
* @param spatial the spatial to reset
*/
public static void resetSpatial(Spatial spatial) {
/*
if (spatial instanceof Node) {
for (Spatial subSpat : ((Node) spatial).getChildren()) {
subSpat.setLocalTranslation(0, 0, 0);
}
} else {
spatial.setLocalTranslation(0, 0, 0);
}
*/
spatial.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
spatial.setLocalTranslation(0, 0, 0);
}
});
}
代码示例来源:origin: tonihele/OpenKeeper
private void animate(Spatial object, final boolean randomizeAnimation) {
// Animate
object.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
AnimControl animControl = spatial.getControl(AnimControl.class);
if (animControl != null) {
AnimChannel channel = animControl.createChannel();
channel.setAnim("anim");
channel.setLoopMode(LoopMode.Loop);
if (randomizeAnimation) {
channel.setSpeed(FastMath.nextRandomInt(6, 10) / 10f);
channel.setTime(FastMath.nextRandomFloat() * channel.getAnimMaxTime());
}
// Don't batch animated objects, seems not to work
object.setBatchHint(Spatial.BatchHint.Never);
}
}
});
}
代码示例来源:origin: net.sf.phat/phat-core
public static List<Spatial> getSpatialsByRole(Spatial rootNode, final String targetRol) {
final List<Spatial> result = new ArrayList<Spatial>();
SceneGraphVisitor visitor = new SceneGraphVisitor() {
@Override
public void visit(Spatial spat) {
String rol = spat.getUserData("ROLE");
if (rol != null && rol.equals(targetRol)) {
result.add(spat);
}
}
};
rootNode.breadthFirstTraversal(visitor);
return result;
}
代码示例来源:origin: org.jmonkeyengine/jme3-core
/**
* Visit each scene graph element ordered by BFS
* @param visitor
*/
public void breadthFirstTraversal(SceneGraphVisitor visitor) {
Queue<Spatial> queue = new LinkedList<Spatial>();
queue.add(this);
while (!queue.isEmpty()) {
Spatial s = queue.poll();
visitor.visit(s);
s.breadthFirstTraversal(visitor, queue);
}
}
代码示例来源:origin: info.projectkyoto/mms-engine
/**
* Visit each scene graph element ordered by BFS
* @param visitor
*/
public void breadthFirstTraversal(SceneGraphVisitor visitor) {
Queue<Spatial> queue = new LinkedList<Spatial>();
queue.add(this);
while (!queue.isEmpty()) {
Spatial s = queue.poll();
visitor.visit(s);
s.breadthFirstTraversal(visitor, queue);
}
}
代码示例来源:origin: org.jmonkeyengine/jme3-core
public static void generateParallel(Spatial scene, ExecutorService executor) {
final Set<Mesh> meshes = new HashSet<Mesh>();
scene.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
代码示例来源:origin: tonihele/OpenKeeper
public static void generateParallel(Spatial scene, ExecutorService executor) {
final Set<Mesh> meshes = new HashSet<Mesh>();
scene.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
代码示例来源:origin: tonihele/OpenKeeper
tile.breadthFirstTraversal(new SceneGraphVisitor() {
@Override
public void visit(Spatial spatial) {
内容来源于网络,如有侵权,请联系作者删除!