MCPcopy Create free account
hub / github.com/DanielChappuis/reactphysics3d / createTriangleMesh

Method createTriangleMesh

src/engine/PhysicsCommon.cpp:705–722  ·  view source on GitHub ↗

Create a triangle mesh from a TriangleVertexArray The data (vertices, faces indices) are copied from the TriangleVertexArray into the created ConvexMesh. * @param triangleVertexArray A reference to the input TriangleVertexArray * @param messages A reference to the array to stored the messages (warnings, erros, ...) * @return A pointer to the created triangle mesh */

Source from the content-addressed store, hash-verified

703 * @return A pointer to the created triangle mesh
704 */
705TriangleMesh* PhysicsCommon::createTriangleMesh(const TriangleVertexArray& triangleVertexArray, std::vector<Message>& messages) {
706
707 TriangleMesh* mesh = new (mMemoryManager.allocate(MemoryManager::AllocationType::Pool, sizeof(TriangleMesh))) TriangleMesh(mMemoryManager.getHeapAllocator());
708
709 bool isValid = mesh->init(triangleVertexArray, messages);
710
711 if (!isValid) {
712
713 mesh->~TriangleMesh();
714 mMemoryManager.release(MemoryManager::AllocationType::Pool, mesh, sizeof(TriangleMesh));
715
716 return nullptr;
717 }
718
719 mTriangleMeshes.add(mesh);
720
721 return mesh;
722}
723
724// Destroy a triangle mesh
725/**

Callers 4

TestRaycastMethod · 0.80
TestWorldQueriesMethod · 0.80
TestTriangleMeshMethod · 0.80
ConcaveMeshMethod · 0.80

Calls 4

allocateMethod · 0.45
initMethod · 0.45
releaseMethod · 0.45
addMethod · 0.45

Tested by 3

TestRaycastMethod · 0.64
TestWorldQueriesMethod · 0.64
TestTriangleMeshMethod · 0.64