• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java VehicleWheel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



VehicleWheel类属于com.jme3.bullet.objects包,在下文中一共展示了VehicleWheel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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;
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:19,代码来源:PrimitiveTreeNodeFactory.java


示例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));
    });
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:20,代码来源:RemoveVehicleWheelOperation.java


示例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));
    });
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:20,代码来源:AddVehicleWheelOperation.java


示例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;
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:21,代码来源:WheelElementModelPropertyControl.java


示例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);
    }
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:38,代码来源:DefaultControlPropertyBuilder.java


示例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));
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:15,代码来源:RemoveVehicleWheelAction.java


示例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;
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:17,代码来源:RemoveVehicleWheelOperation.java


示例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));
    });
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:13,代码来源:RemoveVehicleWheelOperation.java


示例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));
    });
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:13,代码来源:AddVehicleWheelOperation.java


示例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;
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder,代码行数:9,代码来源:VehicleWheelTreeNode.java


示例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);
    }
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:13,代码来源:VehicleControl.java


示例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);
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:31,代码来源:VehicleEditorController.java


示例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());
        }
    }
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:28,代码来源:VehicleEditorController.java


示例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();
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:14,代码来源:SuspensionSettings.java


示例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());
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:10,代码来源:SuspensionSettings.java


示例16: createNodes

import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected Node[] createNodes(Object key) {
    if (key instanceof VehicleWheel) {
        VehicleWheel assetKey = (VehicleWheel) key;
        return new Node[]{new JmeVehicleWheel(control, assetKey)};
    }
    return null;
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:9,代码来源:JmeVehicleControl.java


示例17: JmeVehicleWheel

import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
public JmeVehicleWheel(VehicleControl vehicle, VehicleWheel wheel) {
    super(Children.LEAF);
    this.vehicle=vehicle;
    this.wheel = wheel;
    getLookupContents().add(wheel);
    getLookupContents().add(this);
    setName("Wheel");
}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:9,代码来源:JmeVehicleWheel.java


示例18: createSheet

import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected Sheet createSheet() {
    //TODO: multithreading..
    Sheet sheet = Sheet.createDefault();
    Sheet.Set set = Sheet.createPropertiesSet();
    set.setDisplayName("VehicleWheel");
    set.setName(Light.class.getName());
    VehicleWheel obj = wheel;
    if (obj == null) {
        return sheet;
    }

    set.put(makeProperty(obj, Vector3f.class, "getLocation", "Location"));
    set.put(makeProperty(obj, Vector3f.class, "getAxle", "Axis"));
    set.put(makeProperty(obj, Vector3f.class, "getDirection", "Direction"));
    set.put(makeProperty(obj, boolean.class, "isFrontWheel", "setFrontWheel", "Front Wheel"));
    set.put(makeProperty(obj, float.class, "getFrictionSlip", "setFrictionSlip", "Friction Slip"));
    set.put(makeProperty(obj, float.class, "getMaxSuspensionForce", "setMaxSuspensionForce", "Max Suspension Force"));
    set.put(makeProperty(obj, float.class, "getMaxSuspensionTravelCm", "setMaxSuspensionTravelCm", "Max Suspension Travel"));
    set.put(makeProperty(obj, float.class, "getRadius", "setRadius", "Radius"));
    set.put(makeProperty(obj, float.class, "getRestLength", "setRestLength", "Rest Length"));
    set.put(makeProperty(obj, float.class, "getRollInfluence", "setRollInfluence", "Roll Influence"));
    set.put(makeProperty(obj, float.class, "getSuspensionStiffness", "setSuspensionStiffness", "Suspension Stiffness"));
    set.put(makeProperty(obj, float.class, "getWheelsDampingCompression", "setWheelsDampingCompression", "Damping Compression"));
    set.put(makeProperty(obj, float.class, "getWheelsDampingRelaxation", "setWheelsDampingRelaxation", "Damping Relaxation"));

    sheet.put(set);
    return sheet;

}
 
开发者ID:jMonkeyEngine,项目名称:sdk,代码行数:31,代码来源:JmeVehicleWheel.java


示例19: checkAndUpdateVehicle

import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
private void checkAndUpdateVehicle() {

        final int numWheels = body.getNumWheels();

        suspensionNode.detachAllChildren();

        for (int i = 0; i < numWheels; i++) {

            final VehicleWheel physicsVehicleWheel = body.getWheel(i);

            final Vector3f location = new Vector3f(physicsVehicleWheel.getLocation());
            final Vector3f direction = new Vector3f(physicsVehicleWheel.getDirection());
            direction.normalizeLocal();

            final Vector3f axle = new Vector3f(physicsVehicleWheel.getAxle());
            axle.normalizeLocal();
            axle.multLocal(0.3f);

            final float restLength = physicsVehicleWheel.getRestLength();
            final float radius = physicsVehicleWheel.getRadius();

            final Arrow locArrow = new Arrow(location);
            final Arrow axleArrow = new Arrow(axle);
            final Arrow wheelArrow = new Arrow(direction.multLocal(radius));
            final Arrow dirArrow = new Arrow(direction.multLocal(restLength));

            final Geometry locGeom = new Geometry("WheelLocationDebugShape" + i, locArrow);
            final Geometry dirGeom = new Geometry("WheelDirectionDebugShape" + i, dirArrow);
            final Geometry axleGeom = new Geometry("WheelAxleDebugShape" + i, axleArrow);
            final Geometry wheelGeom = new Geometry("WheelRadiusDebugShape" + i, wheelArrow);

            dirGeom.setLocalTranslation(location);
            axleGeom.setLocalTranslation(location.add(direction));
            wheelGeom.setLocalTranslation(location.add(direction));

            locGeom.setMaterial(debugAppState.getDebugMagenta());
            dirGeom.setMaterial(debugAppState.getDebugMagenta());
            axleGeom.setMaterial(debugAppState.getDebugMagenta());
            wheelGeom.setMaterial(debugAppState.getDebugMagenta());

            suspensionNode.attachChild(locGeom);
            suspensionNode.attachChild(dirGeom);
            suspensionNode.attachChild(axleGeom);
            suspensionNode.attachChild(wheelGeom);
        }
    }
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder-extension,代码行数:47,代码来源:BulletVehicleDebugControl.java


示例20: controlUpdate

import com.jme3.bullet.objects.VehicleWheel; //导入依赖的package包/类
@Override
protected void controlUpdate(final float tpf) {
    checkAndUpdateVehicle();

    for (int i = 0; i < body.getNumWheels(); i++) {

        final VehicleWheel physicsVehicleWheel = body.getWheel(i);

        final Vector3f location = new Vector3f(physicsVehicleWheel.getLocation());
        final Vector3f direction = new Vector3f(physicsVehicleWheel.getDirection());
        direction.normalizeLocal();

        final Vector3f axle = new Vector3f(physicsVehicleWheel.getAxle());
        axle.normalizeLocal();
        axle.multLocal(0.3f);

        final float restLength = physicsVehicleWheel.getRestLength();
        final float radius = physicsVehicleWheel.getRadius();

        final Geometry locGeom = (Geometry) suspensionNode.getChild("WheelLocationDebugShape" + i);
        final Geometry dirGeom = (Geometry) suspensionNode.getChild("WheelDirectionDebugShape" + i);
        final Geometry axleGeom = (Geometry) suspensionNode.getChild("WheelAxleDebugShape" + i);
        final Geometry wheelGeom = (Geometry) suspensionNode.getChild("WheelRadiusDebugShape" + i);

        final Arrow locArrow = (Arrow) locGeom.getMesh();
        locArrow.setArrowExtent(location);

        final Arrow axleArrow = (Arrow) axleGeom.getMesh();
        axleArrow.setArrowExtent(axle);

        final Arrow wheelArrow = (Arrow) wheelGeom.getMesh();
        wheelArrow.setArrowExtent(direction.multLocal(radius));

        final Arrow dirArrow = (Arrow) dirGeom.getMesh();
        dirArrow.setArrowExtent(direction.multLocal(restLength));

        dirGeom.setLocalTranslation(location);
        axleGeom.setLocalTranslation(location.addLocal(direction));
        wheelGeom.setLocalTranslation(location);
    }

    final Vector3f physicsLocation = body.getPhysicsLocation(physicalLocation);
    final Quaternion physicsRotation = body.getPhysicsRotation(physicalRotation);

    applyPhysicsTransform(physicsLocation, physicsRotation);
}
 
开发者ID:JavaSaBr,项目名称:jmonkeybuilder-extension,代码行数:47,代码来源:BulletVehicleDebugControl.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SingletonSet类代码示例发布时间:2022-05-22
下一篇:
Java WeakHashMap类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap