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


Java JointDef类代码示例

本文整理汇总了Java中org.jbox2d.dynamics.joints.JointDef的典型用法代码示例。如果您正苦于以下问题:Java JointDef类的具体用法?Java JointDef怎么用?Java JointDef使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: newEngineInstance

import org.jbox2d.dynamics.joints.JointDef; //导入依赖的package包/类
@Override
public JointDef newEngineInstance()
{
    RevoluteJointDef jointDef = new RevoluteJointDef();
    jointDef.localAnchorA = localAnchorA.toVec2();
    jointDef.localAnchorB = localAnchorB.toVec2();
    jointDef.enableLimit = limitEnabled;
    if (limitEnabled)
    {
        jointDef.lowerAngle = lowerAngleLimit;
        jointDef.upperAngle = upperAngleLimit;
    }
    jointDef.enableMotor = motorEnabled;
    if (motorEnabled)
    {
        jointDef.motorSpeed = motorSpeed;
        jointDef.maxMotorTorque = maxMotorTorque;
    }
    return jointDef;
}
 
开发者ID:LoDoMa,项目名称:Lime,代码行数:21,代码来源:PhysicsJointRevoluteDefinition.java

示例2: createJoint

import org.jbox2d.dynamics.joints.JointDef; //导入依赖的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

示例3: createJoint

import org.jbox2d.dynamics.joints.JointDef; //导入依赖的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.m_bodyB;
	j.m_edgeA.prev = null;
	j.m_edgeA.next = j.m_bodyA.m_jointList;
	if (j.m_bodyA.m_jointList != null) {
		j.m_bodyA.m_jointList.prev = j.m_edgeA;
	}
	j.m_bodyA.m_jointList = j.m_edgeA;
	
	j.m_edgeB.joint = j;
	j.m_edgeB.other = j.m_bodyA;
	j.m_edgeB.prev = null;
	j.m_edgeB.next = j.m_bodyB.m_jointList;
	if (j.m_bodyB.m_jointList != null) {
		j.m_bodyB.m_jointList.prev = j.m_edgeB;
	}
	j.m_bodyB.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:mleoking,项目名称:PhET,代码行数:66,代码来源:World.java

示例4: newEngineInstance

import org.jbox2d.dynamics.joints.JointDef; //导入依赖的package包/类
public abstract JointDef newEngineInstance(); 
开发者ID:LoDoMa,项目名称:Lime,代码行数:2,代码来源:PhysicsJointTypeDefinition.java


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