OSDN Git Service

fixed issue 1177, WeldJoint#getReferenceAngle()
authorMario Zechner <contact@badlogicgames.com>
Thu, 10 Jan 2013 12:56:47 +0000 (13:56 +0100)
committerMario Zechner <contact@badlogicgames.com>
Thu, 10 Jan 2013 12:56:47 +0000 (13:56 +0100)
13 files changed:
backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/emu/com/badlogic/gdx/physics/box2d/joints/WeldJoint.java
gdx/jni/Android.mk
gdx/jni/build-linux32.xml
gdx/jni/build-linux64.xml
gdx/jni/build-macosx32.xml
gdx/jni/build-windows32.xml
gdx/jni/build-windows32home.xml
gdx/jni/build-windows64.xml
gdx/jni/com.badlogic.gdx.graphics.g2d.Gdx2DPixmap.cpp
gdx/jni/com.badlogic.gdx.graphics.g2d.Gdx2DPixmap.h
gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.cpp [new file with mode: 0755]
gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.h [new file with mode: 0755]
gdx/src/com/badlogic/gdx/physics/box2d/joints/WeldJoint.java

index 9c4179c..bb8cbc0 100644 (file)
@@ -27,4 +27,8 @@ public class WeldJoint extends Joint {
        public WeldJoint (World world, org.jbox2d.dynamics.joints.WeldJoint joint) {\r
                super(world, joint);\r
        }\r
+       \r
+       public float getReferenceAngle () {\r
+               return 0;\r
+       }\r
 }\r
index 3c7a860..6d6666d 100644 (file)
@@ -74,6 +74,7 @@ LOCAL_SRC_FILES := Box2D/Collision/b2BroadPhase.cpp\
        com.badlogic.gdx.physics.box2d.joints.PulleyJoint.cpp\
        com.badlogic.gdx.physics.box2d.joints.RevoluteJoint.cpp\
        com.badlogic.gdx.physics.box2d.joints.RopeJoint.cpp\
+       com.badlogic.gdx.physics.box2d.joints.WeldJoint.cpp\
        com.badlogic.gdx.physics.box2d.joints.WheelJoint.cpp\
        com.badlogic.gdx.physics.box2d.Manifold.cpp\
        com.badlogic.gdx.physics.box2d.PolygonShape.cpp\
index 41e4651..3408d32 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-shared -m32"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index 556429f..f716508 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-shared -m64 -Wl,-wrap,memcpy"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index 5b28269..d3148db 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-shared -arch i386 -arch x86_64 -mmacosx-version-min=10.5"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index 7155187..6597e1a 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-Wl,--kill-at -shared -m32 -static-libgcc -static-libstdc++"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index 64489e8..2ba5861 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-Wl,--kill-at -shared -m32 -static-libgcc -static-libstdc++"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index a5dfec3..3cc899c 100644 (file)
@@ -36,6 +36,7 @@
        <!-- define linker and options -->\r
        <property name="linker" value="${compilerPrefix}g++"/>\r
        <property name="linker-opts" value="-Wl,--kill-at -shared -static-libgcc -static-libstdc++ -m64"/>\r
+       <property name="libraries" value=""/>\r
        \r
        <!-- cleans the build directory, removes all object files and shared libs -->\r
        <target name="clean">\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="g++-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.cpp" to="*.o"/>\r
-                       </chainedmapper>\r
+                               <mapper type="glob" from="*.mm" to="*.o"/>\r
+                       </compositemapper>\r
                </apply>\r
                <apply failonerror="true" executable="${gcc}" dest="${buildDir}" verbose="true">\r
                        <arg line="${gcc-opts}"/>\r
                        <arg value="-o"/>\r
                        <targetfile/>\r
                        <fileset refid="gcc-files"/>\r
-                       <chainedmapper>\r
+                       <compositemapper>\r
                                <mapper type="glob" from="*.c" to="*.o"/>\r
-                       </chainedmapper>\r
+                       </compositemapper>\r
                </apply>\r
        </target>       \r
 \r
        <!-- links the shared library based on the previously compiled object files --> \r
        <target name="link" depends="compile" if="has-compiler">\r
-               <mkdir dir="${libsDir}"/>\r
-               <apply failonerror="true" executable="${linker}" parallel="true" dir="${buildDir}">\r
-                       <arg line="${linker-opts}"/>\r
-                       <arg value="-o"/>\r
-                       <arg path="${libsDir}/${libName}"/>             \r
-                       <fileset dir="${buildDir}">\r
-                               <patternset>\r
-                                       <include name="**/*.o"/>\r
-                               </patternset>\r
-                       </fileset>\r
-               </apply>\r
+               <fileset dir="${buildDir}" id="objFileSet">\r
+                       <patternset>\r
+                               <include name="**/*.o" />\r
+                       </patternset>\r
+               </fileset>\r
+               <pathconvert pathsep=" " property="objFiles" refid="objFileSet" />\r
+               <mkdir dir="${libsDir}" />\r
+               <exec executable="${linker}" failonerror="true" dir="${buildDir}">\r
+                       <arg line="${linker-opts}" />\r
+                       <arg value="-o" />\r
+                       <arg path="${libsDir}/${libName}" />\r
+                       <arg line="${objFiles}"/>\r
+                       <arg line="${libraries}" />\r
+               </exec>\r
        </target>       \r
        \r
        <target name="postcompile" depends="link">\r
index 18d016f..c9c1160 100644 (file)
@@ -169,7 +169,11 @@ JNIEXPORT void JNICALL Java_com_badlogic_gdx_graphics_g2d_Gdx2DPixmap_setScale(J
 
 JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_graphics_g2d_Gdx2DPixmap_getFailureReason(JNIEnv* env, jclass clazz) {
 
-  //@line:325
-  
-                return env->NewStringUTF(gdx2d_get_failure_reason());
+
+//@line:325
+\r
+               gdx2d_get_failure_reason(void);\r
+        
+
 }
+
index 7f1fcad..9d6adef 100644 (file)
@@ -139,11 +139,11 @@ JNIEXPORT void JNICALL Java_com_badlogic_gdx_graphics_g2d_Gdx2DPixmap_setBlend
 JNIEXPORT void JNICALL Java_com_badlogic_gdx_graphics_g2d_Gdx2DPixmap_setScale\r
   (JNIEnv *, jclass, jint);\r
 \r
-  /*\r
  * Class:     com_badlogic_gdx_graphics_g2d_Gdx2DPixmap\r
  * Method:    getFailureReason\r
-   * Signature: (V)S\r
  */\r
+/*\r
+ * Class:     com_badlogic_gdx_graphics_g2d_Gdx2DPixmap\r
+ * Method:    getFailureReason\r
+ * Signature: ()Ljava/lang/String;\r
+ */\r
 JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_graphics_g2d_Gdx2DPixmap_getFailureReason\r
   (JNIEnv *, jclass);\r
 \r
diff --git a/gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.cpp b/gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.cpp
new file mode 100755 (executable)
index 0000000..e37fb02
--- /dev/null
@@ -0,0 +1,12 @@
+#include <com.badlogic.gdx.physics.box2d.joints.WeldJoint.h>
+JNIEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_box2d_joints_WeldJoint_jniGetReferenceAngle(JNIEnv* env, jobject object, jlong addr) {
+
+
+//@line:33
+\r
+               b2WeldJoint* joint = (b2WeldJoint*)addr;\r
+               return joint->GetReferenceAngle();\r
+       
+
+}
+
diff --git a/gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.h b/gdx/jni/com.badlogic.gdx.physics.box2d.joints.WeldJoint.h
new file mode 100755 (executable)
index 0000000..f7e4799
--- /dev/null
@@ -0,0 +1,21 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */\r
+#include <jni.h>\r
+/* Header for class com_badlogic_gdx_physics_box2d_joints_WeldJoint */\r
+\r
+#ifndef _Included_com_badlogic_gdx_physics_box2d_joints_WeldJoint\r
+#define _Included_com_badlogic_gdx_physics_box2d_joints_WeldJoint\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+/*\r
+ * Class:     com_badlogic_gdx_physics_box2d_joints_WeldJoint\r
+ * Method:    jniGetReferenceAngle\r
+ * Signature: (J)F\r
+ */\r
+JNIEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_box2d_joints_WeldJoint_jniGetReferenceAngle\r
+  (JNIEnv *, jobject, jlong);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+#endif\r
index 75bd0e4..b4c6adc 100644 (file)
@@ -25,4 +25,13 @@ public class WeldJoint extends Joint {
        public WeldJoint (World world, long addr) {\r
                super(world, addr);\r
        }\r
+       \r
+       public float getReferenceAngle () {\r
+               return jniGetReferenceAngle(addr);\r
+       }\r
+       \r
+       private native float jniGetReferenceAngle (long addr); /*\r
+               b2WeldJoint* joint = (b2WeldJoint*)addr;\r
+               return joint->GetReferenceAngle();\r
+       */\r
 }\r