Consistency
This commit is contained in:
		| @@ -23,44 +23,48 @@ | ||||
|  | ||||
| struct b3QClothMesh : public b3ClothMesh | ||||
| { | ||||
| 	b3ClothMeshMesh qMesh; | ||||
|  | ||||
| 	~b3QClothMesh() | ||||
| 	{ | ||||
| 		free(vertices); | ||||
| 		free(triangles); | ||||
| 	} | ||||
| 	b3StackArray<b3Vec3, 256> clothVertices; | ||||
| 	b3StackArray<b3ClothMeshTriangle, 256> clothTriangles; | ||||
| 	b3ClothMeshMesh clothMesh; | ||||
|  | ||||
| 	b3QClothMesh() | ||||
| 	{ | ||||
| 		vertices = clothVertices.Begin(); | ||||
| 		vertexCount = 0; | ||||
| 		triangles = clothTriangles.Begin(); | ||||
| 		triangleCount = 0; | ||||
| 		meshCount = 1; | ||||
| 		meshes = &clothMesh; | ||||
| 		sewingLineCount = 0; | ||||
| 		sewingLines = nullptr; | ||||
| 	} | ||||
|  | ||||
| 	void SetAsSphere(float32 radius = 1.0f) | ||||
| 	{ | ||||
| 		smMesh mesh; | ||||
| 		smCreateMesh(mesh, 2); | ||||
|  | ||||
| 		vertexCount = mesh.vertexCount; | ||||
| 		vertices = (b3Vec3*) malloc(vertexCount * sizeof(b3Vec3)); | ||||
| 		clothVertices.Resize(mesh.vertexCount); | ||||
| 		for (u32 i = 0; i < mesh.vertexCount; ++i) | ||||
| 		{ | ||||
| 			vertices[i] = mesh.vertices[i]; | ||||
| 			clothVertices[i] = radius * mesh.vertices[i]; | ||||
| 		} | ||||
| 		 | ||||
| 		triangleCount = mesh.indexCount / 3; | ||||
| 		triangles = (b3ClothMeshTriangle*) malloc(triangleCount * sizeof(b3ClothMeshTriangle)); | ||||
| 		for (u32 i = 0; i < triangleCount; ++i) | ||||
|  | ||||
| 		clothTriangles.Resize(mesh.indexCount / 3); | ||||
| 		for (u32 i = 0; i < mesh.indexCount / 3; ++i) | ||||
| 		{ | ||||
| 			triangles[i].v1 = mesh.indices[3 * i + 0]; | ||||
| 			triangles[i].v2 = mesh.indices[3 * i + 1]; | ||||
| 			triangles[i].v3 = mesh.indices[3 * i + 2]; | ||||
| 		} | ||||
|  | ||||
| 		qMesh.startTriangle = 0; | ||||
| 		qMesh.triangleCount = triangleCount; | ||||
| 		qMesh.startVertex = 0; | ||||
| 		qMesh.vertexCount = vertexCount; | ||||
| 		clothMesh.startTriangle = 0; | ||||
| 		clothMesh.triangleCount = clothTriangles.Count(); | ||||
| 		clothMesh.startVertex = 0; | ||||
| 		clothMesh.vertexCount = clothVertices.Count(); | ||||
|  | ||||
| 		meshCount = 1; | ||||
| 		meshes = &qMesh; | ||||
| 		sewingLineCount = 0; | ||||
| 		sewingLines = nullptr; | ||||
| 		vertexCount = clothVertices.Count(); | ||||
| 		triangleCount = clothTriangles.Count(); | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| @@ -69,10 +73,11 @@ class SoftBody : public Test | ||||
| public: | ||||
| 	SoftBody() | ||||
| 	{ | ||||
| 		// Scale and translate the cloth mesh upwards | ||||
| 		m_mesh.SetAsSphere(2.0f); | ||||
|  | ||||
| 		// Translate the cloth mesh upwards | ||||
| 		for (u32 i = 0; i < m_mesh.vertexCount; ++i) | ||||
| 		{ | ||||
| 			m_mesh.vertices[i] *= 2.0f; | ||||
| 			m_mesh.vertices[i].y += 10.0f; | ||||
| 		} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user