com.jme3.scene.Mesh.collideWith()方法的使用及代码示例

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

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

Mesh.collideWith介绍

[英]Handles collision detection, internal use only. User code should only use collideWith() on scene graph elements such as Spatials.
[中]处理碰撞检测,仅供内部使用。用户代码应仅在场景图形元素(如空间)上使用collideWith()。

代码示例

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

terrainBlock.collideWith(ray, Matrix4f.IDENTITY, bbox, results);

代码示例来源:origin: org.jmonkeyengine/jme3-core

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: info.projectkyoto/mms-engine

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: us.ihmc.thirdparty.jme/jme3-terrain

terrainBlock.collideWith(ray, Matrix4f.IDENTITY, bbox, results);

相关文章