JSim 2026.06.01-p(1)
Loading...
Searching...
No Matches
math_jni.h
Go to the documentation of this file.
1#pragma once
2#include <jni.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11// Vector3 JNI
12JNIEXPORT jlong JNICALL Java_api_Vector3_nativeCreate(JNIEnv*, jobject, jdouble, jdouble, jdouble);
13JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeNorm(JNIEnv*, jobject, jlong);
14JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeDot(JNIEnv*, jobject, jlong, jlong);
15JNIEXPORT jlong JNICALL Java_api_Vector3_nativeCross(JNIEnv*, jobject, jlong, jlong);
16JNIEXPORT jlong JNICALL Java_api_Vector3_nativeAdd(JNIEnv*, jobject, jlong, jlong);
17JNIEXPORT jlong JNICALL Java_api_Vector3_nativeSub(JNIEnv*, jobject, jlong, jlong);
18JNIEXPORT jlong JNICALL Java_api_Vector3_nativeScale(JNIEnv*, jobject, jlong, jdouble);
19JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetX(JNIEnv*, jobject, jlong);
20JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetY(JNIEnv*, jobject, jlong);
21JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetZ(JNIEnv*, jobject, jlong);
22JNIEXPORT void JNICALL Java_api_Vector3_nativeDelete(JNIEnv*, jobject, jlong);
23
24// Quaternion JNI
25JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeCreate(JNIEnv*, jobject, jdouble, jdouble, jdouble, jdouble);
26JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeFromAxisAngle(JNIEnv*, jclass, jlong, jdouble);
27JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeMultiply(JNIEnv*, jobject, jlong, jlong);
28JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeRotate(JNIEnv*, jobject, jlong, jlong);
29JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeNormalize(JNIEnv*, jobject, jlong);
30JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeConjugate(JNIEnv*, jobject, jlong);
31JNIEXPORT void JNICALL Java_api_Quaternion_nativeDelete(JNIEnv*, jobject, jlong);
32
33// Matrix3 JNI
34JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeCreate(JNIEnv*, jobject);
35JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeFromQuaternion(JNIEnv*, jclass, jlong);
36JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeMultiply(JNIEnv*, jobject, jlong, jlong);
37JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeTransform(JNIEnv*, jobject, jlong, jlong); // matrix * vector
38JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeTranspose(JNIEnv*, jobject, jlong);
39JNIEXPORT void JNICALL Java_api_Matrix3_nativeDelete(JNIEnv*, jobject, jlong);
40
41// Physics JNI (world/body/ball)
42JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateWorld(JNIEnv*, jclass);
43JNIEXPORT void JNICALL Java_api_NativePhysics_nativeDestroyWorld(JNIEnv*, jclass, jlong);
44JNIEXPORT void JNICALL Java_api_NativePhysics_nativeStepWorld(JNIEnv*, jclass, jlong, jdouble);
45
46JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateBody(JNIEnv*, jclass, jlong, jdouble);
47JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodyBoxGeometry(JNIEnv*, jclass, jlong, jdouble, jdouble, jdouble);
48JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodySphereGeometry(JNIEnv*, jclass, jlong, jdouble);
49JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodyPosition(JNIEnv*, jclass, jlong, jdouble, jdouble, jdouble);
50
51JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateBall(JNIEnv*, jclass, jlong);
52JNIEXPORT void JNICALL Java_api_NativePhysics_nativeBallShoot(JNIEnv*, jclass, jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
53JNIEXPORT jdoubleArray JNICALL Java_api_NativePhysics_nativeGetBallState(JNIEnv*, jclass, jlong);
54#ifdef __cplusplus
55}
56#endif
JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetY(JNIEnv *, jobject, jlong)
JNIEXPORT jlong JNICALL Java_api_Vector3_nativeCreate(JNIEnv *, jobject, jdouble, jdouble, jdouble)
JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeTransform(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeCreate(JNIEnv *, jobject, jdouble, jdouble, jdouble, jdouble)
JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeMultiply(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeCreate(JNIEnv *, jobject)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeStepWorld(JNIEnv *, jclass, jlong, jdouble)
JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetZ(JNIEnv *, jobject, jlong)
JNIEXPORT void JNICALL Java_api_Matrix3_nativeDelete(JNIEnv *, jobject, jlong)
JNIEXPORT jlong JNICALL Java_api_Vector3_nativeAdd(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_Vector3_nativeSub(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeNormalize(JNIEnv *, jobject, jlong)
JNIEXPORT jlong JNICALL Java_api_Vector3_nativeScale(JNIEnv *, jobject, jlong, jdouble)
JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateWorld(JNIEnv *, jclass)
JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeFromQuaternion(JNIEnv *, jclass, jlong)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeMultiply(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jdoubleArray JNICALL Java_api_NativePhysics_nativeGetBallState(JNIEnv *, jclass, jlong)
JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeNorm(JNIEnv *, jobject, jlong)
JNIEXPORT void JNICALL Java_api_Vector3_nativeDelete(JNIEnv *, jobject, jlong)
JNIEXPORT void JNICALL Java_api_Quaternion_nativeDelete(JNIEnv *, jobject, jlong)
JNIEXPORT jlong JNICALL Java_api_Matrix3_nativeTranspose(JNIEnv *, jobject, jlong)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodyBoxGeometry(JNIEnv *, jclass, jlong, jdouble, jdouble, jdouble)
JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateBody(JNIEnv *, jclass, jlong, jdouble)
JNIEXPORT jlong JNICALL Java_api_Vector3_nativeCross(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_NativePhysics_nativeCreateBall(JNIEnv *, jclass, jlong)
JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeGetX(JNIEnv *, jobject, jlong)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeConjugate(JNIEnv *, jobject, jlong)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeBallShoot(JNIEnv *, jclass, jlong, jdouble, jdouble, jdouble, jdouble, jdouble, jdouble)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeRotate(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT jlong JNICALL Java_api_Quaternion_nativeFromAxisAngle(JNIEnv *, jclass, jlong, jdouble)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeDestroyWorld(JNIEnv *, jclass, jlong)
JNIEXPORT jdouble JNICALL Java_api_Vector3_nativeDot(JNIEnv *, jobject, jlong, jlong)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodySphereGeometry(JNIEnv *, jclass, jlong, jdouble)
JNIEXPORT void JNICALL Java_api_NativePhysics_nativeSetBodyPosition(JNIEnv *, jclass, jlong, jdouble, jdouble, jdouble)