Просмотр исходного кода

Classes added that represent new constraints in blender. Classes have no implementation yet, they simply exist so that the loaded models will not crash when they use them.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9587 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
Kae..pl 13 лет назад
Родитель
Сommit
e9af2e4dc4

+ 4 - 0
engine/src/blender/com/jme3/scene/plugins/blender/constraints/ConstraintHelper.java

@@ -47,6 +47,10 @@ public class ConstraintHelper extends AbstractBlenderHelper {
 		constraintClasses.put("bSplineIKConstraint", ConstraintSplineInverseKinematic.class);
 		constraintClasses.put("bDampTrackConstraint", ConstraintDampTrack.class);
 		constraintClasses.put("bPivotConstraint", ConstraintDampTrack.class);
+		//Blender 2.56+
+		constraintClasses.put("bTrackToConstraint", ConstraintTrackTo.class);
+		constraintClasses.put("bSameVolumeConstraint", ConstraintSameVolume.class);
+		constraintClasses.put("bTransLikeConstraint", ConstraintTransLike.class);
 	}
 	
 	/**

+ 45 - 0
engine/src/blender/com/jme3/scene/plugins/blender/constraints/ConstraintSameVolume.java

@@ -0,0 +1,45 @@
+package com.jme3.scene.plugins.blender.constraints;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import com.jme3.scene.plugins.blender.BlenderContext;
+import com.jme3.scene.plugins.blender.animations.Ipo;
+import com.jme3.scene.plugins.blender.exceptions.BlenderFileException;
+import com.jme3.scene.plugins.blender.file.Structure;
+
+/**
+ * This class represents 'Same volume' constraint type in blender.
+ * 
+ * @author Marcin Roguski (Kaelthas)
+ */
+/*package*/ class ConstraintSameVolume extends Constraint {
+	private static final Logger LOGGER = Logger.getLogger(ConstraintSameVolume.class.getName());
+	
+	/**
+	 * This constructor creates the constraint instance.
+	 * 
+	 * @param constraintStructure
+	 *            the constraint's structure (bConstraint clss in blender 2.49).
+	 * @param ownerOMA
+	 *            the old memory address of the constraint owner
+	 * @param influenceIpo
+	 *            the ipo curve of the influence factor
+	 * @param blenderContext
+	 *            the blender context
+	 * @throws BlenderFileException
+	 *             this exception is thrown when the blender file is somehow
+	 *             corrupted
+	 */
+	public ConstraintSameVolume(Structure constraintStructure, Long ownerOMA,
+			Ipo influenceIpo, BlenderContext blenderContext)
+			throws BlenderFileException {
+		super(constraintStructure, ownerOMA, influenceIpo, blenderContext);
+	}
+
+	@Override
+	protected void bakeConstraint() {
+		// TODO: implement 'Same volume' constraint
+		LOGGER.log(Level.WARNING, "'Same volume' constraint NOT implemented!");
+	}
+}

+ 45 - 0
engine/src/blender/com/jme3/scene/plugins/blender/constraints/ConstraintTrackTo.java

@@ -0,0 +1,45 @@
+package com.jme3.scene.plugins.blender.constraints;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import com.jme3.scene.plugins.blender.BlenderContext;
+import com.jme3.scene.plugins.blender.animations.Ipo;
+import com.jme3.scene.plugins.blender.exceptions.BlenderFileException;
+import com.jme3.scene.plugins.blender.file.Structure;
+
+/**
+ * This class represents 'Track to' constraint type in blender.
+ * 
+ * @author Marcin Roguski (Kaelthas)
+ */
+/* package */class ConstraintTrackTo extends Constraint {
+	private static final Logger LOGGER = Logger.getLogger(ConstraintTrackTo.class.getName());
+
+	/**
+	 * This constructor creates the constraint instance.
+	 * 
+	 * @param constraintStructure
+	 *            the constraint's structure (bConstraint clss in blender 2.49).
+	 * @param ownerOMA
+	 *            the old memory address of the constraint owner
+	 * @param influenceIpo
+	 *            the ipo curve of the influence factor
+	 * @param blenderContext
+	 *            the blender context
+	 * @throws BlenderFileException
+	 *             this exception is thrown when the blender file is somehow
+	 *             corrupted
+	 */
+	public ConstraintTrackTo(Structure constraintStructure, Long ownerOMA,
+			Ipo influenceIpo, BlenderContext blenderContext)
+			throws BlenderFileException {
+		super(constraintStructure, ownerOMA, influenceIpo, blenderContext);
+	}
+
+	@Override
+	protected void bakeConstraint() {
+		// TODO: implement 'Track to' constraint
+		LOGGER.log(Level.WARNING, "'Track to' constraint NOT implemented!");
+	}
+}

+ 45 - 0
engine/src/blender/com/jme3/scene/plugins/blender/constraints/ConstraintTransLike.java

@@ -0,0 +1,45 @@
+package com.jme3.scene.plugins.blender.constraints;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import com.jme3.scene.plugins.blender.BlenderContext;
+import com.jme3.scene.plugins.blender.animations.Ipo;
+import com.jme3.scene.plugins.blender.exceptions.BlenderFileException;
+import com.jme3.scene.plugins.blender.file.Structure;
+
+/**
+ * This class represents 'Trans like' constraint type in blender.
+ * 
+ * @author Marcin Roguski (Kaelthas)
+ */
+/*package*/ class ConstraintTransLike extends Constraint {
+	private static final Logger LOGGER = Logger.getLogger(ConstraintTransLike.class.getName());
+	
+	/**
+	 * This constructor creates the constraint instance.
+	 * 
+	 * @param constraintStructure
+	 *            the constraint's structure (bConstraint clss in blender 2.49).
+	 * @param ownerOMA
+	 *            the old memory address of the constraint owner
+	 * @param influenceIpo
+	 *            the ipo curve of the influence factor
+	 * @param blenderContext
+	 *            the blender context
+	 * @throws BlenderFileException
+	 *             this exception is thrown when the blender file is somehow
+	 *             corrupted
+	 */
+	public ConstraintTransLike(Structure constraintStructure, Long ownerOMA,
+			Ipo influenceIpo, BlenderContext blenderContext)
+			throws BlenderFileException {
+		super(constraintStructure, ownerOMA, influenceIpo, blenderContext);
+	}
+
+	@Override
+	protected void bakeConstraint() {
+		// TODO: implement 'Trans like' constraint
+		LOGGER.log(Level.WARNING, "'Trans like' constraint NOT implemented!");
+	}
+}