瀏覽代碼

Some enums

Lucien Greathouse 6 月之前
父節點
當前提交
3ff31fb0d0
共有 4 個文件被更改,包括 21 次插入17 次删除
  1. 0 10
      JoltC/Enums.h
  2. 9 0
      JoltC/Generated.h
  3. 6 7
      JoltCImpl/JoltC.cpp
  4. 6 0
      input/Enums.h

+ 0 - 10
JoltC/Enums.h

@@ -16,16 +16,6 @@ ENSURE_EQUAL(JPC_DEFAULT_PENETRATION_TOLERANCE, JPH::cDefaultPenetrationToleranc
 ENSURE_EQUAL(JPC_DEFAULT_CONVEX_RADIUS, JPH::cDefaultConvexRadius)
 ENSURE_EQUAL(JPC_CAPSULE_PROJECTION_SLOP, JPH::cCapsuleProjectionSlop)
 
-typedef enum JPC_MotionType: uint8_t {
-	JPC_MOTION_TYPE_STATIC,
-	JPC_MOTION_TYPE_KINEMATIC,
-	JPC_MOTION_TYPE_DYNAMIC,
-} JPC_MotionType;
-
-ENSURE_ENUM_EQ(JPC_MOTION_TYPE_STATIC,    JPH::EMotionType::Static)
-ENSURE_ENUM_EQ(JPC_MOTION_TYPE_KINEMATIC, JPH::EMotionType::Kinematic)
-ENSURE_ENUM_EQ(JPC_MOTION_TYPE_DYNAMIC,   JPH::EMotionType::Dynamic)
-
 typedef enum JPC_MotionQuality: uint8_t {
 	JPC_MOTION_QUALITY_DISCRETE,
 	JPC_MOTION_QUALITY_LINEAR_CAST,

+ 9 - 0
JoltC/Generated.h

@@ -1,6 +1,15 @@
 #pragma once
 // Generated by JoltC-generate
 
+typedef uint8_t JPC_MotionType;
+const JPC_MotionType JPC_MOTION_TYPE_STATIC = 0;
+const JPC_MotionType JPC_MOTION_TYPE_KINEMATIC = 1;
+const JPC_MotionType JPC_MOTION_TYPE_DYNAMIC = 2;
+
+ENSURE_ENUM_EQ(JPC_MOTION_TYPE_STATIC, JPH::EMotionType::Static)
+ENSURE_ENUM_EQ(JPC_MOTION_TYPE_KINEMATIC, JPH::EMotionType::Kinematic)
+ENSURE_ENUM_EQ(JPC_MOTION_TYPE_DYNAMIC, JPH::EMotionType::Dynamic)
+
 typedef uint8_t JPC_ShapeType;
 const JPC_ShapeType JPC_SHAPE_TYPE_CONVEX = 0;
 const JPC_ShapeType JPC_SHAPE_TYPE_COMPOUND = 1;

+ 6 - 7
JoltCImpl/JoltC.cpp

@@ -82,7 +82,6 @@ constexpr auto to_integral(E e) -> typename std::underlying_type<E>::type
 	return static_cast<typename std::underlying_type<E>::type>(e);
 }
 
-ENUM_CONVERSION(JPC_MotionType, JPH::EMotionType)
 ENUM_CONVERSION(JPC_AllowedDOFs, JPH::EAllowedDOFs)
 ENUM_CONVERSION(JPC_Activation, JPH::EActivation)
 ENUM_CONVERSION(JPC_BodyType, JPH::EBodyType)
@@ -1112,7 +1111,7 @@ static JPH::BodyCreationSettings to_jph(const JPC_BodyCreationSettings* settings
 	output.mUserData = settings->UserData;
 	output.mObjectLayer = settings->ObjectLayer;
 	// CollisionGroup
-	output.mMotionType = to_jph(settings->MotionType);
+	output.mMotionType = static_cast<JPH::EMotionType>(settings->MotionType);
 	output.mAllowedDOFs = to_jph(settings->AllowedDOFs);
 	output.mAllowDynamicOrKinematic = settings->AllowDynamicOrKinematic;
 	output.mIsSensor = settings->IsSensor;
@@ -1149,7 +1148,7 @@ JPC_API void JPC_BodyCreationSettings_default(JPC_BodyCreationSettings* settings
 	settings->UserData = defaultSettings.mUserData;
 	settings->ObjectLayer = defaultSettings.mObjectLayer;
 	// CollisionGroup
-	settings->MotionType = to_jpc(defaultSettings.mMotionType);
+	settings->MotionType = static_cast<JPC_MotionType>(defaultSettings.mMotionType);
 	settings->AllowedDOFs = to_jpc(defaultSettings.mAllowedDOFs);
 	settings->AllowDynamicOrKinematic = defaultSettings.mAllowDynamicOrKinematic;
 	settings->IsSensor = defaultSettings.mIsSensor;
@@ -1261,11 +1260,11 @@ JPC_API bool JPC_Body_GetEnhancedInternalEdgeRemovalWithBody(const JPC_Body* sel
 }
 
 JPC_API JPC_MotionType JPC_Body_GetMotionType(const JPC_Body* self) {
-	return to_jpc(to_jph(self)->GetMotionType());
+	return static_cast<JPC_MotionType>(to_jph(self)->GetMotionType());
 }
 
 JPC_API void JPC_Body_SetMotionType(JPC_Body* self, JPC_MotionType inMotionType) {
-	to_jph(self)->SetMotionType(to_jph(inMotionType));
+	to_jph(self)->SetMotionType(static_cast<JPH::EMotionType>(inMotionType));
 }
 
 JPC_API JPC_BroadPhaseLayer JPC_Body_GetBroadPhaseLayer(const JPC_Body* self) {
@@ -1793,11 +1792,11 @@ JPC_API JPC_BodyType JPC_BodyInterface_GetBodyType(const JPC_BodyInterface *self
 }
 
 JPC_API void JPC_BodyInterface_SetMotionType(JPC_BodyInterface *self, JPC_BodyID inBodyID, JPC_MotionType inMotionType, JPC_Activation inActivationMode) {
-	to_jph(self)->SetMotionType(to_jph(inBodyID), to_jph(inMotionType), to_jph(inActivationMode));
+	to_jph(self)->SetMotionType(to_jph(inBodyID), static_cast<JPH::EMotionType>(inMotionType), to_jph(inActivationMode));
 }
 
 JPC_API JPC_MotionType JPC_BodyInterface_GetMotionType(const JPC_BodyInterface *self, JPC_BodyID inBodyID) {
-	return to_jpc(to_jph(self)->GetMotionType(to_jph(inBodyID)));
+	return static_cast<JPC_MotionType>(to_jph(self)->GetMotionType(to_jph(inBodyID)));
 }
 
 JPC_API void JPC_BodyInterface_SetMotionQuality(JPC_BodyInterface *self, JPC_BodyID inBodyID, JPC_MotionQuality inMotionQuality) {

+ 6 - 0
input/Enums.h

@@ -1,3 +1,9 @@
+enum MotionType: uint8_t {
+	Static,
+	Kinematic,
+	Dynamic,
+};
+
 enum ShapeType: uint8_t {
 	Convex,
 	Compound,