Browse Source

Bind CollideShapeSettings default, fix ShapeCastSettings default missing fields

Lucien Greathouse 4 months ago
parent
commit
3ccf7c7e91
2 changed files with 10 additions and 15 deletions
  1. 2 0
      JoltC/Functions.h
  2. 8 15
      JoltCImpl/JoltC.cpp

+ 2 - 0
JoltC/Functions.h

@@ -1406,6 +1406,8 @@ typedef struct JPC_NarrowPhaseQuery_CastShapeArgs {
 
 JPC_API void JPC_NarrowPhaseQuery_CastShape(const JPC_NarrowPhaseQuery* self, JPC_NarrowPhaseQuery_CastShapeArgs* args);
 
+JPC_API void JPC_CollideShapeSettings_default(JPC_CollideShapeSettings* object);
+
 typedef struct JPC_NarrowPhaseQuery_CollideShapeArgs {
 	const JPC_Shape *Shape;
 	JPC_Vec3 ShapeScale;

+ 8 - 15
JoltCImpl/JoltC.cpp

@@ -2547,21 +2547,9 @@ JPC_API bool JPC_NarrowPhaseQuery_CastRay(const JPC_NarrowPhaseQuery* self, JPC_
 	return hit;
 }
 
-JPC_API void JPC_ShapeCastSettings_default(JPC_ShapeCastSettings* settings) {
-	JPH::ShapeCastSettings defaultSettings{};
-
-	// JPH::CollideSettingsBase
-	// EActiveEdgeMode ActiveEdgeMode;
-	// ECollectFacesMode CollectFacesMode;
-	settings->CollisionTolerance = defaultSettings.mCollisionTolerance;
-	settings->PenetrationTolerance = defaultSettings.mPenetrationTolerance;
-	settings->ActiveEdgeMovementDirection = to_jpc(defaultSettings.mActiveEdgeMovementDirection);
-
-	// JPH::ShapeCastSettings
-	settings->BackFaceModeTriangles = static_cast<JPC_BackFaceMode>(defaultSettings.mBackFaceModeTriangles);
-	settings->BackFaceModeConvex = static_cast<JPC_BackFaceMode>(defaultSettings.mBackFaceModeConvex);
-	settings->UseShrunkenShapeAndConvexRadius = defaultSettings.mUseShrunkenShapeAndConvexRadius;
-	settings->ReturnDeepestPoint = defaultSettings.mReturnDeepestPoint;
+JPC_API void JPC_ShapeCastSettings_default(JPC_ShapeCastSettings* object) {
+	JPH::ShapeCastSettings default{};
+	*object = to_jpc(default);
 }
 
 JPC_API void JPC_NarrowPhaseQuery_CastShape(const JPC_NarrowPhaseQuery* self, JPC_NarrowPhaseQuery_CastShapeArgs* args) {
@@ -2608,6 +2596,11 @@ JPC_API void JPC_NarrowPhaseQuery_CastShape(const JPC_NarrowPhaseQuery* self, JP
 		*shapeFilter);
 }
 
+JPC_API void JPC_CollideShapeSettings_default(JPC_CollideShapeSettings* object) {
+	JPH::CollideShapeSettings default{};
+	*object = to_jpc(default);
+}
+
 JPC_API void JPC_NarrowPhaseQuery_CollideShape(const JPC_NarrowPhaseQuery* self, JPC_NarrowPhaseQuery_CollideShapeArgs* args) {
 	JPH::CollideShapeSettings settings = to_jph(args->Settings);