////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// * Adds a new triangle to the database. * \param ref0 [in] vertex reference for the new triangle * \param ref1 [in] vertex reference for the new triangle * \param ref2 [in] vertex reference for the
| 430 | */ |
| 431 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 432 | static void AddTriangle(PxU32 ref0, PxU32 ref1, PxU32 ref2, PxU32 id, AdjTriangle* faces, PxU32& nb_edges, AdjEdge* edges) |
| 433 | { |
| 434 | #ifdef MSH_ADJACENCIES_INCLUDE_TOPOLOGY |
| 435 | // Store vertex-references |
| 436 | faces[id].v[0] = ref0; |
| 437 | faces[id].v[1] = ref1; |
| 438 | faces[id].v[2] = ref2; |
| 439 | #endif |
| 440 | // Reset links |
| 441 | faces[id].mATri[0] = PX_INVALID_U32; |
| 442 | faces[id].mATri[1] = PX_INVALID_U32; |
| 443 | faces[id].mATri[2] = PX_INVALID_U32; |
| 444 | |
| 445 | // Add edge 01 to database |
| 446 | if(ref0<ref1) AddEdge(ref0, ref1, id, nb_edges, edges); |
| 447 | else AddEdge(ref1, ref0, id, nb_edges, edges); |
| 448 | // Add edge 02 to database |
| 449 | if(ref0<ref2) AddEdge(ref0, ref2, id, nb_edges, edges); |
| 450 | else AddEdge(ref2, ref0, id, nb_edges, edges); |
| 451 | // Add edge 12 to database |
| 452 | if(ref1<ref2) AddEdge(ref1, ref2, id, nb_edges, edges); |
| 453 | else AddEdge(ref2, ref1, id, nb_edges, edges); |
| 454 | } |
| 455 | |
| 456 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 457 | /** |