Przeglądaj źródła

Added constexpr to Float3 and IndexedTriangle(NoMaterial) classes (#801)

This speeds up compilation times for the test case in #800
Jorrit Rouwe 1 rok temu
rodzic
commit
1b006d340e
2 zmienionych plików z 3 dodań i 3 usunięć
  1. 2 2
      Jolt/Geometry/IndexedTriangle.h
  2. 1 1
      Jolt/Math/Float3.h

+ 2 - 2
Jolt/Geometry/IndexedTriangle.h

@@ -16,7 +16,7 @@ public:
 
 	/// Constructor
 					IndexedTriangleNoMaterial() = default;
-					IndexedTriangleNoMaterial(uint32 inI1, uint32 inI2, uint32 inI3)	{ mIdx[0] = inI1; mIdx[1] = inI2; mIdx[2] = inI3; }
+	constexpr		IndexedTriangleNoMaterial(uint32 inI1, uint32 inI2, uint32 inI3) : mIdx { inI1, inI2, inI3 } { }
 
 	/// Check if two triangles are identical
 	bool			operator == (const IndexedTriangleNoMaterial &inRHS) const
@@ -75,7 +75,7 @@ public:
 	using IndexedTriangleNoMaterial::IndexedTriangleNoMaterial;
 
 	/// Constructor
-					IndexedTriangle(uint32 inI1, uint32 inI2, uint32 inI3, uint32 inMaterialIndex) : IndexedTriangleNoMaterial(inI1, inI2, inI3), mMaterialIndex(inMaterialIndex) { }
+	constexpr		IndexedTriangle(uint32 inI1, uint32 inI2, uint32 inI3, uint32 inMaterialIndex) : IndexedTriangleNoMaterial(inI1, inI2, inI3), mMaterialIndex(inMaterialIndex) { }
 
 	/// Check if two triangles are identical
 	bool			operator == (const IndexedTriangle &inRHS) const

+ 1 - 1
Jolt/Math/Float3.h

@@ -17,7 +17,7 @@ public:
 				Float3() = default; ///< Intentionally not initialized for performance reasons
 				Float3(const Float3 &inRHS) = default;
 	Float3 &	operator = (const Float3 &inRHS) = default;
-				Float3(float inX, float inY, float inZ) : x(inX), y(inY), z(inZ) { }
+	constexpr	Float3(float inX, float inY, float inZ) : x(inX), y(inY), z(inZ) { }
 
 	float		operator [] (int inCoordinate) const
 	{