当前位置: 首页>>代码示例>>Java>>正文


Java Joint.getBodyB方法代码示例

本文整理汇总了Java中org.jbox2d.dynamics.joints.Joint.getBodyB方法的典型用法代码示例。如果您正苦于以下问题:Java Joint.getBodyB方法的具体用法?Java Joint.getBodyB怎么用?Java Joint.getBodyB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jbox2d.dynamics.joints.Joint的用法示例。


在下文中一共展示了Joint.getBodyB方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: drawJoint

import org.jbox2d.dynamics.joints.Joint; //导入方法依赖的package包/类
private void drawJoint(Joint joint) {
  Body bodyA = joint.getBodyA();
  Body bodyB = joint.getBodyB();
  Transform xf1 = bodyA.getTransform();
  Transform xf2 = bodyB.getTransform();
  Vec2 x1 = xf1.p;
  Vec2 x2 = xf2.p;
  Vec2 p1 = pool.popVec2();
  Vec2 p2 = pool.popVec2();
  joint.getAnchorA(p1);
  joint.getAnchorB(p2);

  color.set(0.5f, 0.8f, 0.8f);

  switch (joint.getType()) {
  // TODO djm write after writing joints
    case DISTANCE:
      m_debugDraw.drawSegment(p1, p2, color);
      break;

    case PULLEY: {
      PulleyJoint pulley = (PulleyJoint) joint;
      Vec2 s1 = pulley.getGroundAnchorA();
      Vec2 s2 = pulley.getGroundAnchorB();
      m_debugDraw.drawSegment(s1, p1, color);
      m_debugDraw.drawSegment(s2, p2, color);
      m_debugDraw.drawSegment(s1, s2, color);
    }
      break;
    case CONSTANT_VOLUME:
    case MOUSE:
      // don't draw this
      break;
    default:
      m_debugDraw.drawSegment(x1, p1, color);
      m_debugDraw.drawSegment(p1, p2, color);
      m_debugDraw.drawSegment(x2, p2, color);
  }
  pool.pushVec2(2);
}
 
开发者ID:jfcameron,项目名称:G2Dj,代码行数:41,代码来源:World.java

示例2: drawJoint

import org.jbox2d.dynamics.joints.Joint; //导入方法依赖的package包/类
private void drawJoint(Joint joint) {
	Body bodyA = joint.getBodyA();
	Body bodyB = joint.getBodyB();
	Transform xf1 = bodyA.getTransform();
	Transform xf2 = bodyB.getTransform();
	Vec2 x1 = xf1.position;
	Vec2 x2 = xf2.position;
	Vec2 p1 = pool.popVec2();
	Vec2 p2 = pool.popVec2();
	joint.getAnchorA(p1);
	joint.getAnchorB(p2);
	
	color.set(0.5f, 0.8f, 0.8f);
	
	switch (joint.getType()) {
		// TODO djm write after writing joints
		case DISTANCE :
			m_debugDraw.drawSegment(p1, p2, color);
			break;
		
		case PULLEY : {
			PulleyJoint pulley = (PulleyJoint) joint;
			Vec2 s1 = pulley.getGroundAnchorA();
			Vec2 s2 = pulley.getGroundAnchorB();
			m_debugDraw.drawSegment(s1, p1, color);
			m_debugDraw.drawSegment(s2, p2, color);
			m_debugDraw.drawSegment(s1, s2, color);
		}
			break;
		case CONSTANT_VOLUME :
		case MOUSE :
			// don't draw this
			break;
		default :
			m_debugDraw.drawSegment(x1, p1, color);
			m_debugDraw.drawSegment(p1, p2, color);
			m_debugDraw.drawSegment(x2, p2, color);
	}
	pool.pushVec2(2);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:41,代码来源:World.java

示例3: drawJoint

import org.jbox2d.dynamics.joints.Joint; //导入方法依赖的package包/类
private void drawJoint(Joint joint) {
  Body bodyA = joint.getBodyA();
  Body bodyB = joint.getBodyB();
  Transform xf1 = bodyA.getTransform();
  Transform xf2 = bodyB.getTransform();
  Vector2 x1 = xf1.p;
  Vector2 x2 = xf2.p;
  Vector2 p1 = pool.popVec2();
  Vector2 p2 = pool.popVec2();
  joint.getAnchorA(p1);
  joint.getAnchorB(p2);

  color.set(0.5f, 0.8f, 0.8f);

  switch (joint.getType()) {
  // TODO djm write after writing joints
    case DISTANCE:
      m_debugDraw.drawSegment(p1, p2, color);
      break;

    case PULLEY: {
      PulleyJoint pulley = (PulleyJoint) joint;
      Vector2 s1 = pulley.getGroundAnchorA();
      Vector2 s2 = pulley.getGroundAnchorB();
      m_debugDraw.drawSegment(s1, p1, color);
      m_debugDraw.drawSegment(s2, p2, color);
      m_debugDraw.drawSegment(s1, s2, color);
    }
      break;
    case CONSTANT_VOLUME:
    case MOUSE:
      // don't draw this
      break;
    default:
      m_debugDraw.drawSegment(x1, p1, color);
      m_debugDraw.drawSegment(p1, p2, color);
      m_debugDraw.drawSegment(x2, p2, color);
  }
  pool.pushVec2(2);
}
 
开发者ID:pianoman373,项目名称:Point-Engine,代码行数:41,代码来源:World.java

示例4: createJoint

import org.jbox2d.dynamics.joints.Joint; //导入方法依赖的package包/类
/**
 * create a joint to constrain bodies together. No reference to the definition is retained. This
 * may cause the connected bodies to cease colliding.
 * 
 * @warning This function is locked during callbacks.
 * @param def
 * @return
 */
public Joint createJoint(JointDef def) {
  assert (isLocked() == false);
  if (isLocked()) {
    return null;
  }

  Joint j = Joint.create(this, def);

  // Connect to the world list.
  j.m_prev = null;
  j.m_next = m_jointList;
  if (m_jointList != null) {
    m_jointList.m_prev = j;
  }
  m_jointList = j;
  ++m_jointCount;

  // Connect to the bodies' doubly linked lists.
  j.m_edgeA.joint = j;
  j.m_edgeA.other = j.getBodyB();
  j.m_edgeA.prev = null;
  j.m_edgeA.next = j.getBodyA().m_jointList;
  if (j.getBodyA().m_jointList != null) {
    j.getBodyA().m_jointList.prev = j.m_edgeA;
  }
  j.getBodyA().m_jointList = j.m_edgeA;

  j.m_edgeB.joint = j;
  j.m_edgeB.other = j.getBodyA();
  j.m_edgeB.prev = null;
  j.m_edgeB.next = j.getBodyB().m_jointList;
  if (j.getBodyB().m_jointList != null) {
    j.getBodyB().m_jointList.prev = j.m_edgeB;
  }
  j.getBodyB().m_jointList = j.m_edgeB;

  Body bodyA = def.bodyA;
  Body bodyB = def.bodyB;

  // If the joint prevents collisions, then flag any contacts for filtering.
  if (def.collideConnected == false) {
    ContactEdge edge = bodyB.getContactList();
    while (edge != null) {
      if (edge.other == bodyA) {
        // Flag the contact for filtering at the next time step (where either
        // body is awake).
        edge.contact.flagForFiltering();
      }

      edge = edge.next;
    }
  }

  // Note: creating a joint doesn't wake the bodies.

  return j;
}
 
开发者ID:jfcameron,项目名称:G2Dj,代码行数:66,代码来源:World.java

示例5: display

import org.jbox2d.dynamics.joints.Joint; //导入方法依赖的package包/类
static public void display(PGraphics pg, Joint joint){
  Body bodyA = joint.getBodyA();
  Body bodyB = joint.getBodyB();
  Transform xfA = bodyA.getTransform();
  Transform xfB = bodyB.getTransform();
  Vec2 posA = xfA.p;
  Vec2 posB = xfB.p;
  Vec2 ancA = new Vec2();
  Vec2 ancB = new Vec2();
  joint.getAnchorA(ancA);
  joint.getAnchorB(ancB);

  JointType type = joint.getType();
  
  switch (type) {

    case DISTANCE:
      line(pg, ancA, ancB);
      break;

    case PULLEY: 
      PulleyJoint pulley = (PulleyJoint) joint;
      Vec2 gancA = pulley.getGroundAnchorA();
      Vec2 gancB = pulley.getGroundAnchorB();
      line(pg, gancA, ancA);
      line(pg, gancB, ancB);
      line(pg, gancA, gancB);
      break;
      
    case CONSTANT_VOLUME:
      line(pg, ancA, ancB);
      break;
      
    case MOUSE:
      line(pg, ancA, ancB);
      break;
      
    default:
      line(pg, posA, ancA);
      line(pg, ancA, ancB);
      line(pg, posB, ancB);
  }
}
 
开发者ID:diwi,项目名称:LiquidFunProcessing,代码行数:44,代码来源:DwDebugDraw.java


注:本文中的org.jbox2d.dynamics.joints.Joint.getBodyB方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。