Compare commits

..
1 Commits
Author SHA1 Message Date
Ling ZhanandGitHub 6aad2bf6c3 update bullet, physx for debug draw (#419) (#423) 2023-09-25 17:25:05 +08:00
19 changed files with 26975 additions and 24497 deletions
File diff suppressed because one or more lines are too long
+17 -1
View File
@@ -42,6 +42,8 @@ declare namespace Bullet {
// constraints // constraints
TypedConstraint_getFixedBody(): ptr; TypedConstraint_getFixedBody(): ptr;
TypedConstraint_getDbgDrawSize(): number;
TypedConstraint_setDbgDrawSize(p: ptr, dbgDrawSize: number): void;
HingeConstraint_new(ptr0: ptr, ptr1: ptr, ptr2: ptr, ptr3: ptr): ptr; HingeConstraint_new(ptr0: ptr, ptr1: ptr, ptr2: ptr, ptr3: ptr): ptr;
HingeConstraint_setFrames(ptr0: ptr, ptr1: ptr, ptr2: ptr): void; HingeConstraint_setFrames(ptr0: ptr, ptr1: ptr, ptr2: ptr): void;
HingeConstraint_setLimit(p: ptr, low: number, upper: number, softness: number, biasFactor: number, relaxationFactor: number): void; HingeConstraint_setLimit(p: ptr, low: number, upper: number, softness: number, biasFactor: number, relaxationFactor: number): void;
@@ -208,6 +210,8 @@ declare namespace Bullet {
CollisionWorld_removeCollisionObject(p: ptr, body: ptr): void; CollisionWorld_removeCollisionObject(p: ptr, body: ptr): void;
CollisionWorld_rayTest(p: ptr, p0: ptr, p1: ptr, p2: ptr): void; CollisionWorld_rayTest(p: ptr, p0: ptr, p1: ptr, p2: ptr): void;
CollisionWorld_convexSweepTest(p: ptr, castShape: ptr, from: ptr, to: ptr, resultCallback: ptr, allowedCcdPenetration: ptr): void; CollisionWorld_convexSweepTest(p: ptr, castShape: ptr, from: ptr, to: ptr, resultCallback: ptr, allowedCcdPenetration: ptr): void;
CollisionWorld_setDebugDrawer(p: ptr, drawer: ptr): void;
CollisionWorld_debugDrawWorld(p: ptr): void;
ccDiscreteDynamicsWorld_new(dispatcher: ptr, pairCache: ptr, solver: ptr): ptr; ccDiscreteDynamicsWorld_new(dispatcher: ptr, pairCache: ptr, solver: ptr): ptr;
ccDiscreteDynamicsWorld_setAllowSleep(p: ptr, v: boolean): void; ccDiscreteDynamicsWorld_setAllowSleep(p: ptr, v: boolean): void;
@@ -220,6 +224,18 @@ declare namespace Bullet {
DynamicsWorld_addAction(p: ptr, action: ptr): void; DynamicsWorld_addAction(p: ptr, action: ptr): void;
DynamicsWorld_removeAction(p: ptr, action: ptr): void; DynamicsWorld_removeAction(p: ptr, action: ptr): void;
DebugDraw_new(): ptr;
DebugDraw_setDebugMode(p: ptr, debugMode: number): void;
DebugDraw_getDebugMode(p: ptr): number;
DebugDraw_setActiveObjectColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setDeactiveObjectColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setWantsDeactivationObjectColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setDisabledDeactivationObjectColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setDisabledSimulationObjectColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setAABBColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setContactPointColor(p: ptr, r: number, g: number, b: number): void;
DebugDraw_setConstraintLimitColor(p: ptr, r: number, g: number, b: number): void;
RayCallback_hasHit(p: ptr): boolean; RayCallback_hasHit(p: ptr): boolean;
ConvexCallback_hasHit(p: ptr): boolean; ConvexCallback_hasHit(p: ptr): boolean;
@@ -263,7 +279,7 @@ declare namespace Bullet {
ControllerHit_getHitMotionLength(p: ptr): number; //CCT hit Motion length ControllerHit_getHitMotionLength(p: ptr): number; //CCT hit Motion length
ControllerShapeHit_getHitShape(p: ptr): ptr; ControllerShapeHit_getHitShape(p: ptr): ptr;
ControllerShapeHit_getHitCollisionObject(p: ptr): ptr; ControllerShapeHit_getHitCollisionObject(p: ptr): ptr;
CharacterController_move(ptrCCT: ptr, ptrMovement: ptr, minDist: number, deltaTime: number):number; CharacterController_move(ptrCCT: ptr, ptrMovement: ptr, minDist: number, deltaTime: number): number;
CharacterController_getPosition(ptrCCT: ptr); CharacterController_getPosition(ptrCCT: ptr);
CharacterController_setContactOffset(ptrCCT: ptr, v: number); CharacterController_setContactOffset(ptrCCT: ptr, v: number);
CharacterController_setStepOffset(ptrCCT: ptr, v: number); CharacterController_setStepOffset(ptrCCT: ptr, v: number);
Binary file not shown.
+21 -24
View File
@@ -1,4 +1,3 @@
interface Vec3 { interface Vec3 {
x: number, y: number, z: number x: number, y: number, z: number
} }
@@ -17,7 +16,7 @@ interface FilterData {
declare namespace phy { declare namespace phy {
/// Base /// /// Base ///
const physics: Physics const physics: Physics;
abstract class Physics { abstract class Physics {
private constructor () private constructor ()
createCooking (cp: CookingParams): Cooking createCooking (cp: CookingParams): Cooking
@@ -350,8 +349,6 @@ declare namespace phy {
/// Joints /// /// Joints ///
/// Extensions /// /// Extensions ///
interface Spring { interface Spring {
@@ -615,22 +612,22 @@ declare namespace phy {
class SceneQueryHit { class SceneQueryHit {
private constructor () private constructor ()
actor: RigidActor actor: RigidActor;
shape: Shape shape: Shape;
faceIndex: number faceIndex: number;
} }
class RayCastHit { class RayCastHit {
private constructor () private constructor ()
actor: RigidActor actor: RigidActor;
shape: Shape shape: Shape;
faceIndex: number faceIndex: number;
u: number u: number;
v: number v: number;
normal: Vec3 normal: Vec3;
position: Vec3 position: Vec3;
distance: number distance: number;
flags: number flags: number;
} }
type preFilter = (filterData: FilterData, shape: Shape, actor: RigidActor, hitFlags: number) => QueryHitType type preFilter = (filterData: FilterData, shape: Shape, actor: RigidActor, hitFlags: number) => QueryHitType
@@ -942,15 +939,19 @@ declare namespace phy {
*/ */
eRIGID_DYNAMIC, eRIGID_DYNAMIC,
eARTICULATION_LINK eARTICULATION_LINK
} }
enum ActorFlag { enum ActorFlag {
/** /**
/** \brief Enable debug renderer for this actor
\brief Disables scene gravity for this actor @see PxScene.getRenderBuffer() PxRenderBuffer PxVisualizationParameter
*/ */
eVISUALIZATION = (1 << 0),
/**
\brief Disables scene gravity for this actor
*/
eDISABLE_GRAVITY = (1 << 1), eDISABLE_GRAVITY = (1 << 1),
/** /**
@@ -1149,8 +1150,6 @@ declare namespace phy {
PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm
PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used. PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used.
/** /**
\brief Quantizes the input vertices using the k-means clustering \brief Quantizes the input vertices using the k-means clustering
@@ -1194,7 +1193,6 @@ declare namespace phy {
*/ */
eFAST_INERTIA_COMPUTATION = (1 << 7), eFAST_INERTIA_COMPUTATION = (1 << 7),
/** /**
\brief Convex hull input vertices are shifted to be around origin to provide better computation stability. \brief Convex hull input vertices are shifted to be around origin to provide better computation stability.
It is recommended to provide input vertices around the origin, otherwise use this flag to improve It is recommended to provide input vertices around the origin, otherwise use this flag to improve
@@ -1351,7 +1349,6 @@ declare namespace phy {
*/ */
eARTICULATION = 4, eARTICULATION = 4,
} }
enum FilterObjectFlag { enum FilterObjectFlag {
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@@ -22,10 +22,3 @@
#define %module_macro(m) %feature("module_macro","m") #define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method #define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,7 +22,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count $js_check_arg_count
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%} SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -61,7 +62,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true; CC_UNUSED bool ok = true;
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
%} %}
@@ -84,20 +86,19 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates") %fragment ("js_dtor", "templates")
%{ %{
static bool $jswrapper(se::State& s) { static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke. * - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
@@ -105,7 +106,6 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{ %{
static bool $jswrapper(se::State& s) static bool $jswrapper(se::State& s)
{ {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}
Binary file not shown.
@@ -22,10 +22,3 @@
#define %module_macro(m) %feature("module_macro","m") #define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method #define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,7 +22,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count $js_check_arg_count
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%} SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -61,7 +62,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true; CC_UNUSED bool ok = true;
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
%} %}
@@ -84,20 +86,19 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates") %fragment ("js_dtor", "templates")
%{ %{
static bool $jswrapper(se::State& s) { static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke. * - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
@@ -105,7 +106,6 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{ %{
static bool $jswrapper(se::State& s) static bool $jswrapper(se::State& s)
{ {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}
+4 -2
View File
@@ -139,5 +139,7 @@ glslang (Built using https://github.com/YunHsiao/glslang/tree/build)
linux: 11.5.0 linux: 11.5.0
openharmony:11.5.0 (commit: 1978c76) openharmony:11.5.0 (commit: 1978c76)
swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.7 ) swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.6 )
all: cocos-v1.1.7 (commit: 7969da2) win64: cocos-v1.1.6 (commit: f52be17)
mac: cocos-v1.1.6 (commit: f52be17)
linux: cocos-v1.1.6 (commit: f52be17)
Binary file not shown.
@@ -22,10 +22,3 @@
#define %module_macro(m) %feature("module_macro","m") #define %module_macro(m) %feature("module_macro","m")
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method #define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
%define %virtual_inherit(klass)
%feature("virtual_inherit", "1") klass;
%typemap(in) klass *self
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
if (nullptr == $1) return true;%}
%enddef
@@ -22,7 +22,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
$js_check_arg_count $js_check_arg_count
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%} SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
@@ -61,7 +62,8 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
CC_UNUSED bool ok = true; CC_UNUSED bool ok = true;
$jslocals $jslocals
$jscode $jscode
$js_set_private_object auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
s.thisObject()->setPrivateObject(ptr);
return true; return true;
} }
%} %}
@@ -84,20 +86,19 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%fragment ("js_dtor", "templates") %fragment ("js_dtor", "templates")
%{ %{
static bool $jswrapper(se::State& s) { static bool $jswrapper(se::State& s) {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* js_dtor: template for a destructor wrapper * js_dtor: template for a destructor wrapper
* - $classname_mangled: mangled class name * - $jsmangledname: mangled class name
* - $jstype: class type * - $jstype: class type
* - ${destructor_action}: The custom destructor action to invoke. * - ${destructor_action}: The custom destructor action to invoke.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
@@ -105,7 +106,6 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
%{ %{
static bool $jswrapper(se::State& s) static bool $jswrapper(se::State& s)
{ {
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
return true; return true;
} }
SE_BIND_FINALIZE_FUNC($jswrapper) %} SE_BIND_FINALIZE_FUNC($jswrapper) %}