Mesh ==== .. image:: /images/dragon_mesh_face.png :width: 75% .. image:: /images/dragon_mesh_profile.png :width: 75% Properties : * Made of a list of ND points * Made of a list of ND cells : * a 2D cell is made of a LuT of 3 points or more. All points must be coplanars. * a 3D cell is made of a LuT of 4 or more points. * 2D cell example : .. image:: /images/mesh_cell_2D.png :width: 50% * 3D cell example : .. image:: /images/mesh_cell_3D.png :width: 50% Optionnal : * Can compute the energy for a cell from the points and their orders. * Can compute the normal (and triangle orientation, useful to orient resulting vectors in physical computation like collisions) from : * a given LuT * the given order of the points * Made of a LuT cell -> value * Made of a LuT edge -> value * Made of a LuT vertice -> value * Made of a dynamic rendering function which can deduce : * cell value from edges or/and vertices. * edges value from cell or/and vertices. * vertice value from cell or/and edges. Must to have utilities : * Should be able to give the boudning box quickly. * An image of mesh shall be able to tell if it is convex or concave. * Detecting if a point is located within the mesh Nice to have utilities : * For concave mesh : implement a quick convex decomposition of the mesh. * Remesh * Split by a plane * Merging two meshes * Hole detection * Detecting if a mesh colides another mesh * Uniformazing the mesh size