本文整理汇总了Java中com.jme3.bullet.objects.VehicleWheel类的典型用法代码示例。如果您正苦于以下问题:Java VehicleWheel类的具体用法?Java VehicleWheel怎么用?Java VehicleWheel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
VehicleWheel类属于com.jme3.bullet.objects包,在下文中一共展示了VehicleWheel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createFor
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
@FXThread
public <T, V extends TreeNode<T>> @Nullable V createFor(@Nullable final T element, final long objectId) {
if (element instanceof Vector3f) {
return unsafeCast(new PositionTreeNode((Vector3f) element, objectId));
} else if (element instanceof VertexBuffer) {
return unsafeCast(new VertexBufferTreeNode((VertexBuffer) element, objectId));
} else if (element instanceof Buffer) {
return unsafeCast(new BufferTreeNode((Buffer) element, objectId));
} else if (element instanceof VehicleWheel) {
return unsafeCast(new VehicleWheelTreeNode((VehicleWheel) element, objectId));
} else if (element instanceof MotionPath) {
return unsafeCast(new MotionPathTreeNode((MotionPath) element, objectId));
}
return null;
}
示例2: redoImpl
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected void redoImpl(@NotNull final ModelChangeConsumer editor) {
EXECUTOR_MANAGER.addJMETask(() -> {
for (int i = 0, length = control.getNumWheels(); i < length; i++) {
final VehicleWheel wheel = control.getWheel(i);
if (wheel == createdWheel) {
control.removeWheel(i);
break;
}
}
final VehicleWheel toRemove = notNull(createdWheel);
this.createdWheel = null;
EXECUTOR_MANAGER.addFXTask(() -> editor.notifyFXRemovedChild(control, toRemove));
});
}
示例3: undoImpl
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected void undoImpl(@NotNull final ModelChangeConsumer editor) {
EXECUTOR_MANAGER.addJMETask(() -> {
for (int i = 0, length = control.getNumWheels(); i < length; i++) {
final VehicleWheel wheel = control.getWheel(i);
if (wheel == createdWheel) {
control.removeWheel(i);
break;
}
}
final VehicleWheel toRemove = notNull(createdWheel);
this.createdWheel = null;
EXECUTOR_MANAGER.addFXTask(() -> editor.notifyFXRemovedChild(control, toRemove));
});
}
示例4: checkSpatial
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
/**
* Check a spatial to have a edited wheel.
*
* @param spatial the spatial.
* @return true if the spatial has this wheel.
*/
private boolean checkSpatial(@NotNull final Spatial spatial) {
final VehicleControl control = spatial.getControl(VehicleControl.class);
if (control == null) return false;
final int numWheels = control.getNumWheels();
for (int i = 0; i < numWheels; i++) {
final VehicleWheel wheel = control.getWheel(i);
if (wheel == getEditObject()) return true;
}
return false;
}
示例5: buildForImpl
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
@FXThread
protected void buildForImpl(@NotNull final Object object, @Nullable final Object parent,
@NotNull final VBox container, @NotNull final ModelChangeConsumer changeConsumer) {
if (object instanceof AbstractCinematicEvent) {
build((AbstractCinematicEvent) object, container, changeConsumer);
} else if (object instanceof VehicleWheel) {
build((VehicleWheel) object, container, changeConsumer);
} else if (object instanceof Animation) {
build((Animation) object, container, changeConsumer);
}
if (!(object instanceof Control)) return;
if (object instanceof AbstractControl) {
build((AbstractControl) object, container, changeConsumer);
}
super.buildForImpl(object, parent, container, changeConsumer);
if (object instanceof SkeletonControl) {
build((SkeletonControl) object, container, changeConsumer);
} else if (object instanceof CharacterControl) {
build((CharacterControl) object, container, changeConsumer);
} else if (object instanceof RigidBodyControl) {
build((RigidBodyControl) object, container, changeConsumer);
} else if (object instanceof VehicleControl) {
build((VehicleControl) object, container, changeConsumer);
} else if (object instanceof MotionEvent) {
build((MotionEvent) object, container, changeConsumer);
}
if (object instanceof PhysicsRigidBody) {
build((PhysicsRigidBody) object, container, changeConsumer);
}
}
示例6: process
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@FXThread
@Override
protected void process() {
final TreeNode<?> node = getNode();
final Object element = node.getElement();
final TreeNode<?> nodeParent = notNull(node.getParent());
final VehicleControl vehicleControl = (VehicleControl) nodeParent.getElement();
final VehicleWheel vehicleWheel = (VehicleWheel) element;
final NodeTree<ModelChangeConsumer> nodeTree = getNodeTree();
final ChangeConsumer changeConsumer = notNull(nodeTree.getChangeConsumer());
changeConsumer.execute(new RemoveVehicleWheelOperation(vehicleControl, vehicleWheel));
}
示例7: RemoveVehicleWheelOperation
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
/**
* Instantiates a new Remove vehicle wheel operation.
*
* @param control the control
* @param wheel the wheel
*/
public RemoveVehicleWheelOperation(@NotNull final VehicleControl control, @NotNull final VehicleWheel wheel) {
this.control = control;
this.connectionPoint = wheel.getLocation();
this.direction = wheel.getDirection();
this.axle = wheel.getAxle();
this.restLength = wheel.getRestLength();
this.wheelRadius = wheel.getRadius();
this.isFrontWheel = wheel.isFrontWheel();
this.createdWheel = wheel;
}
示例8: undoImpl
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected void undoImpl(@NotNull final ModelChangeConsumer editor) {
EXECUTOR_MANAGER.addJMETask(() -> {
final VehicleWheel vehicleWheel = control.addWheel(connectionPoint, direction, axle, restLength,
wheelRadius, isFrontWheel);
this.createdWheel = vehicleWheel;
EXECUTOR_MANAGER.addFXTask(() -> editor.notifyFXAddedChild(control, vehicleWheel, -1, false));
});
}
示例9: redoImpl
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected void redoImpl(@NotNull final ModelChangeConsumer editor) {
EXECUTOR_MANAGER.addJMETask(() -> {
final VehicleWheel vehicleWheel = control.addWheel(connectionPoint, direction, axle, restLength,
wheelRadius, isFrontWheel);
this.createdWheel = vehicleWheel;
EXECUTOR_MANAGER.addFXTask(() -> editor.notifyFXAddedChild(control, vehicleWheel, -1, true));
});
}
示例10: getName
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
@FromAnyThread
public @NotNull String getName() {
final VehicleWheel element = getElement();
final Spatial wheelSpatial = element.getWheelSpatial();
return wheelSpatial != null ? Messages.MODEL_FILE_EDITOR_NODE_WHEEL + " [" + wheelSpatial.getName() + "]" :
Messages.MODEL_FILE_EDITOR_NODE_WHEEL;
}
示例11: setApplyPhysicsLocal
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
/**
* When set to true, the physics coordinates will be applied to the local
* translation of the Spatial
* @param applyPhysicsLocal
*/
public void setApplyPhysicsLocal(boolean applyPhysicsLocal) {
motionState.setApplyPhysicsLocal(applyPhysicsLocal);
for (Iterator<VehicleWheel> it = wheels.iterator(); it.hasNext();) {
VehicleWheel vehicleWheel = it.next();
vehicleWheel.setApplyLocal(applyPhysicsLocal);
}
}
示例12: VehicleEditorController
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
public VehicleEditorController(JmeSpatial jmeRootNode, BinaryModelDataObject currentFileObject) {
this.jmeRootNode = jmeRootNode;
this.currentFileObject = currentFileObject;
rootNode = jmeRootNode.getLookup().lookup(Node.class);
toolsNode = new Node("ToolsNode");
toolController = new SceneToolController(toolsNode, currentFileObject.getLookup().lookup(ProjectAssetManager.class));
toolController.setShowSelection(true);
result = Utilities.actionsGlobalContext().lookupResult(JmeSpatial.class);
result.addLookupListener(this);
toolsNode.addLight(new DirectionalLight());
Node track = (Node) new DesktopAssetManager(true).loadModel("Models/Racetrack/Raceway.j3o");
track.getChild("Grass").getControl(RigidBodyControl.class).setPhysicsLocation(new Vector3f(30, -1, 0));
track.getChild("Grass").getControl(RigidBodyControl.class).setPhysicsRotation(new Quaternion().fromAngleAxis(FastMath.HALF_PI * 0.68f, Vector3f.UNIT_Y).toRotationMatrix());
track.getChild("Road").getControl(RigidBodyControl.class).setPhysicsLocation(new Vector3f(30, 0, 0));
track.getChild("Road").getControl(RigidBodyControl.class).setPhysicsRotation(new Quaternion().fromAngleAxis(FastMath.HALF_PI * 0.68f, Vector3f.UNIT_Y).toRotationMatrix());
toolsNode.attachChild(track);
bulletState = new BulletAppState();
result2 = Utilities.actionsGlobalContext().lookupResult(VehicleWheel.class);
LookupListener listener = new LookupListener() {
public void resultChanged(LookupEvent ev) {
for (Iterator<? extends VehicleWheel> it = result2.allInstances().iterator(); it.hasNext();) {
VehicleWheel wheel = it.next();
toolController.updateSelection(wheel.getWheelSpatial());
}
}
};
result2.addLookupListener(listener);
}
示例13: doApplyWheelData
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
public void doApplyWheelData(VehicleControl control, int wheels, SuspensionSettings settings) {
for (int i = 0; i < control.getNumWheels(); i++) {
VehicleWheel wheel = control.getWheel(i);
switch (wheels) {
case 0:
break;
case 1:
if (!wheel.isFrontWheel()) {
continue;
}
break;
case 2:
if (wheel.isFrontWheel()) {
continue;
}
break;
}
wheel.setRestLength(settings.getRestLength());
wheel.setMaxSuspensionForce(settings.getMaxForce());
wheel.setSuspensionStiffness(settings.getStiffness());
wheel.setRollInfluence(settings.getRollInfluence());
wheel.setWheelsDampingCompression(settings.getCompression());
wheel.setWheelsDampingRelaxation(settings.getRelease());
// wheel.setRadius(settings.getRadius());
wheel.setFrictionSlip(settings.getFriction());
}
}
示例14: SuspensionSettings
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
public SuspensionSettings(VehicleWheel wheel) {
this.direction.set(wheel.getDirection());
this.axle.set(wheel.getAxle());
this.frontWheel = wheel.isFrontWheel();
this.radius = wheel.getRadius();
this.restLength = wheel.getRestLength();
this.maxForce = wheel.getMaxSuspensionForce();
this.stiffness = wheel.getSuspensionStiffness();
this.rollInfluence = wheel.getRollInfluence();
this.compression = wheel.getWheelsDampingCompression();
this.release = wheel.getWheelsDampingRelaxation();
this.friction = wheel.getFrictionSlip();
}
示例15: applyData
import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
public void applyData(VehicleWheel wheel){
wheel.setRadius(getRadius());
wheel.setFrictionSlip(getFriction());
wheel.setRollInfluence(getRollInfluence());
wheel.setMaxSuspensionForce(getMaxForce());
wheel.setSuspensionStiffness(getStiffness());
wheel.setWheelsDampingCompression(getCompression());
wheel.setWheelsDampingRelaxation(getRelease());
}