Search in sources :

Example 21 with Curve

use of com.jme3.scene.shape.Curve in project jmonkeyengine by jMonkeyEngine.

the class MotionPath method CreateCatmullRomPath.

private Geometry CreateCatmullRomPath() {
    Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
    mat.getAdditionalRenderState().setWireframe(true);
    mat.setColor("Color", ColorRGBA.Blue);
    Geometry lineGeometry = new Geometry("line", new Curve(spline, 10));
    lineGeometry.setMaterial(mat);
    return lineGeometry;
}
Also used : Geometry(com.jme3.scene.Geometry) Curve(com.jme3.scene.shape.Curve) Material(com.jme3.material.Material)

Example 22 with Curve

use of com.jme3.scene.shape.Curve in project jmonkeyengine by jMonkeyEngine.

the class MotionPath method setCurveTension.

/**
     * sets the tension of the curve (only for catmull rom) 0.0 will give a linear curve, 1.0 a round curve
     * @param curveTension
     */
public void setCurveTension(float curveTension) {
    spline.setCurveTension(curveTension);
    if (debugNode != null) {
        Node parent = debugNode.getParent();
        debugNode.removeFromParent();
        debugNode.detachAllChildren();
        debugNode = null;
        attachDebugNode(parent);
    }
}
Also used : Node(com.jme3.scene.Node)

Example 23 with Curve

use of com.jme3.scene.shape.Curve in project jmonkeyengine by jMonkeyEngine.

the class FbxNode method connectObjectProperty.

@Override
public void connectObjectProperty(FbxObject object, String property) {
    // (FbxAnimCurveNode)
    if (object instanceof FbxAnimCurveNode) {
        FbxAnimCurveNode curveNode = (FbxAnimCurveNode) object;
        if (property.equals("Lcl Translation") || property.equals("Lcl Rotation") || property.equals("Lcl Scaling")) {
            List<FbxAnimCurveNode> curveNodes = propertyToAnimCurveMap.get(property);
            if (curveNodes == null) {
                curveNodes = new ArrayList<FbxAnimCurveNode>();
                curveNodes.add(curveNode);
                propertyToAnimCurveMap.put(property, curveNodes);
            }
            curveNodes.add(curveNode);
            // Make sure the curve knows about it animating
            // this node as well. 
            curveNode.addInfluencedNode(this, property);
        } else {
            logger.log(Level.WARNING, "Animating the property ''{0}'' is not " + "supported. Ignoring.", property);
        }
    } else {
        unsupportedConnectObjectProperty(object, property);
    }
}
Also used : FbxAnimCurveNode(com.jme3.scene.plugins.fbx.anim.FbxAnimCurveNode)

Aggregations

Vector3f (com.jme3.math.Vector3f)14 Pointer (com.jme3.scene.plugins.blender.file.Pointer)8 Structure (com.jme3.scene.plugins.blender.file.Structure)6 Curve (com.jme3.scene.shape.Curve)5 ArrayList (java.util.ArrayList)4 Quaternion (com.jme3.math.Quaternion)3 Spline (com.jme3.math.Spline)3 Geometry (com.jme3.scene.Geometry)3 FileBlockHeader (com.jme3.scene.plugins.blender.file.FileBlockHeader)3 Face (com.jme3.scene.plugins.blender.meshes.Face)3 FloatBuffer (java.nio.FloatBuffer)3 BoneTrack (com.jme3.animation.BoneTrack)2 SpatialTrack (com.jme3.animation.SpatialTrack)2 Material (com.jme3.material.Material)2 Node (com.jme3.scene.Node)2 BlenderInputStream (com.jme3.scene.plugins.blender.file.BlenderInputStream)2 DynamicArray (com.jme3.scene.plugins.blender.file.DynamicArray)2 MeshHelper (com.jme3.scene.plugins.blender.meshes.MeshHelper)2 TemporalMesh (com.jme3.scene.plugins.blender.meshes.TemporalMesh)2 BoundingBox (com.jme3.bounding.BoundingBox)1