com.ardor3d.scenegraph.Node.getWorldBound()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(4.8k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中com.ardor3d.scenegraph.Node.getWorldBound()方法的一些代码示例,展示了Node.getWorldBound()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.getWorldBound()方法的具体详情如下:
包路径:com.ardor3d.scenegraph.Node
类名称:Node
方法名:getWorldBound

Node.getWorldBound介绍

暂无

代码示例

代码示例来源:origin: com.ardor3d/ardor3d-core

_frustumIntersects = ((_parent != null && _parent.getWorldBound() != null) ? _parent._frustumIntersects
    : Camera.FrustumIntersect.Intersects);

代码示例来源:origin: Renanse/Ardor3D

_frustumIntersects = ((_parent != null && _parent.getWorldBound() != null) ? _parent._frustumIntersects
    : Camera.FrustumIntersect.Intersects);

代码示例来源:origin: Renanse/Ardor3D

@Override
public void draw(final Renderer r) {
  if (_timer != null && _redrawRate > 0) {
    _elapsed += _timer.getTimePerFrame();
  }
  if (_tRenderer == null) {
    init(r);
  }
  if (_cam == null) {
    _cam = Camera.getCurrentCamera();
    _tRenderer.getCamera().setFrustum(_cam.getFrustumNear(), _cam.getFrustumFar(), _cam.getFrustumLeft(),
        _cam.getFrustumRight(), _cam.getFrustumTop(), _cam.getFrustumBottom());
    _tRenderer.getCamera().setFrame(_cam.getLocation(), _cam.getLeft(), _cam.getUp(), _cam.getDirection());
  }
  if (_doUpdate && (!_haveDrawn || shouldDoUpdate(_cam)) && _targetScene.getWorldBound() != null) {
    final BoundingVolume b = _targetScene.getWorldBound();
    _center.set(b.getCenter());
    updateCameraLookat();
    calculateImposter();
    updateCameraLookat();
    updateCameraFrustum();
    renderImposter();
    _haveDrawn = true;
  }
  _imposterQuad.draw(r);
}

代码示例来源:origin: com.ardor3d/ardor3d-core

@Override
public void draw(final Renderer r) {
  if (_timer != null && _redrawRate > 0) {
    _elapsed += _timer.getTimePerFrame();
  }
  if (_tRenderer == null) {
    init(r);
  }
  if (_cam == null) {
    _cam = Camera.getCurrentCamera();
    _tRenderer.getCamera().setFrustum(_cam.getFrustumNear(), _cam.getFrustumFar(), _cam.getFrustumLeft(),
        _cam.getFrustumRight(), _cam.getFrustumTop(), _cam.getFrustumBottom());
    _tRenderer.getCamera().setFrame(_cam.getLocation(), _cam.getLeft(), _cam.getUp(), _cam.getDirection());
  }
  if (_doUpdate && (!_haveDrawn || shouldDoUpdate(_cam)) && _targetScene.getWorldBound() != null) {
    final BoundingVolume b = _targetScene.getWorldBound();
    _center.set(b.getCenter());
    updateCameraLookat();
    calculateImposter();
    updateCameraLookat();
    updateCameraFrustum();
    renderImposter();
    _haveDrawn = true;
  }
  _imposterQuad.draw(r);
}

代码示例来源:origin: com.ardor3d/ardor3d-core

public static void findCollisions(final Spatial spatial, final Spatial scene, final CollisionResults results) {
  if (spatial == scene || spatial.getWorldBound() == null
      || !spatial.getSceneHints().isPickingHintEnabled(PickingHint.Collidable)
      || !scene.getSceneHints().isPickingHintEnabled(PickingHint.Collidable)) {
    return;
  }
  if (spatial instanceof Node) {
    final Node node = (Node) spatial;
    if (node.getWorldBound().intersects(scene.getWorldBound())) {
      // further checking needed.
      for (int i = 0; i < node.getNumberOfChildren(); i++) {
        PickingUtil.findCollisions(node.getChild(i), scene, results);
      }
    }
  } else if (spatial instanceof Mesh) {
    final Mesh mesh = (Mesh) spatial;
    if (mesh.getWorldBound().intersects(scene.getWorldBound())) {
      if (scene instanceof Node) {
        final Node parent = (Node) scene;
        for (int i = 0; i < parent.getNumberOfChildren(); i++) {
          PickingUtil.findCollisions(mesh, parent.getChild(i), results);
        }
      } else {
        results.addCollision(mesh, (Mesh) scene);
      }
    }
  }
}

代码示例来源:origin: Renanse/Ardor3D

public static void findCollisions(final Spatial spatial, final Spatial scene, final CollisionResults results) {
  if (spatial == scene || spatial.getWorldBound() == null
      || !spatial.getSceneHints().isPickingHintEnabled(PickingHint.Collidable)
      || !scene.getSceneHints().isPickingHintEnabled(PickingHint.Collidable)) {
    return;
  }
  if (spatial instanceof Node) {
    final Node node = (Node) spatial;
    if (node.getWorldBound().intersects(scene.getWorldBound())) {
      // further checking needed.
      for (int i = 0; i < node.getNumberOfChildren(); i++) {
        PickingUtil.findCollisions(node.getChild(i), scene, results);
      }
    }
  } else if (spatial instanceof Mesh) {
    final Mesh mesh = (Mesh) spatial;
    if (mesh.getWorldBound().intersects(scene.getWorldBound())) {
      if (scene instanceof Node) {
        final Node parent = (Node) scene;
        for (int i = 0; i < parent.getNumberOfChildren(); i++) {
          PickingUtil.findCollisions(mesh, parent.getChild(i), results);
        }
      } else {
        results.addCollision(mesh, (Mesh) scene);
      }
    }
  }
}

代码示例来源:origin: com.ardor3d/ardor3d-core

final Node node = (Node) spatial;
if (node.getWorldBound().intersects(scene.getWorldBound())) {
  if (node.getNumberOfChildren() == 0 && !checkPrimitives) {
    return true;

代码示例来源:origin: Renanse/Ardor3D

final Node node = (Node) spatial;
if (node.getWorldBound().intersects(scene.getWorldBound())) {
  if (node.getNumberOfChildren() == 0 && !checkPrimitives) {
    return true;

代码示例来源:origin: Renanse/Ardor3D

private void calculateImposter() {
  final BoundingVolume worldBound = _targetScene.getWorldBound();
  _center.set(worldBound.getCenter());

代码示例来源:origin: com.ardor3d/ardor3d-core

private void calculateImposter() {
  final BoundingVolume worldBound = _targetScene.getWorldBound();
  _center.set(worldBound.getCenter());

相关文章