initial commit. includes PhsyicsBox2dExtension
This commit is contained in:
185
AndEngine/jni/Box2D/Fixture.cpp
Normal file
185
AndEngine/jni/Box2D/Fixture.cpp
Normal file
@@ -0,0 +1,185 @@
|
||||
/**
|
||||
* Copyright 2010 Mario Zechner (contact@badlogicgames.com)
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "Box2D.h"
|
||||
#include "Fixture.h"
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniGetType
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetType
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
b2Shape::Type type = fixture->GetType();
|
||||
switch( type )
|
||||
{
|
||||
case b2Shape::e_circle: return 0;
|
||||
case b2Shape::e_polygon: return 1;
|
||||
default:
|
||||
return b2Shape::e_unknown;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniSetSensor
|
||||
* Signature: (JZ)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniSetSensor
|
||||
(JNIEnv *, jobject, jlong addr, jboolean sensor)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
fixture->SetSensor(sensor);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniIsSensor
|
||||
* Signature: (J)Z
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniIsSensor
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return fixture->IsSensor();
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniSetFilterData
|
||||
* Signature: (JSSS)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniSetFilterData
|
||||
(JNIEnv *, jobject, jlong addr, jshort categoryBits, jshort maskBits, jshort groupIndex)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
b2Filter filter;
|
||||
filter.categoryBits = categoryBits;
|
||||
filter.maskBits = maskBits;
|
||||
filter.groupIndex = groupIndex;
|
||||
fixture->SetFilterData(filter);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniGetFilterData
|
||||
* Signature: (J[S)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetFilterData
|
||||
(JNIEnv *env, jobject, jlong addr, jshortArray filter)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
unsigned short* filterOut = (unsigned short*)env->GetPrimitiveArrayCritical(filter, 0);
|
||||
b2Filter f = fixture->GetFilterData();
|
||||
filterOut[0] = f.maskBits;
|
||||
filterOut[1] = f.categoryBits;
|
||||
filterOut[2] = f.groupIndex;
|
||||
env->ReleasePrimitiveArrayCritical(filter, filterOut, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniSetDensity
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniSetDensity
|
||||
(JNIEnv *, jobject, jlong addr, jfloat density)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
fixture->SetDensity(density);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniGetDensity
|
||||
* Signature: (J)F
|
||||
*/
|
||||
JNIEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetDensity
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return fixture->GetDensity();
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniGetFriction
|
||||
* Signature: (J)F
|
||||
*/
|
||||
JNIEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetFriction
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return fixture->GetFriction();
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniSetFriction
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniSetFriction
|
||||
(JNIEnv *, jobject, jlong addr, jfloat friction)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
fixture->SetFriction(friction);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniGetRestitution
|
||||
* Signature: (J)F
|
||||
*/
|
||||
JNIEXPORT jfloat JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetRestitution
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return fixture->GetRestitution();
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniSetRestitution
|
||||
* Signature: (JF)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniSetRestitution
|
||||
(JNIEnv *, jobject, jlong addr, jfloat restitution)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
fixture->SetRestitution(restitution);
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_badlogic_gdx_physics_box2d_Fixture
|
||||
* Method: jniTestPoint
|
||||
* Signature: (JFF)Z
|
||||
*/
|
||||
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniTestPoint
|
||||
(JNIEnv *, jobject, jlong addr, jfloat x, jfloat y)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return fixture->TestPoint( b2Vec2( x, y ) );
|
||||
}
|
||||
|
||||
JNIEXPORT jlong JNICALL Java_com_badlogic_gdx_physics_box2d_Fixture_jniGetShape
|
||||
(JNIEnv *, jobject, jlong addr)
|
||||
{
|
||||
b2Fixture* fixture = (b2Fixture*)addr;
|
||||
return (jlong)fixture->GetShape();
|
||||
}
|
||||
Reference in New Issue
Block a user