You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A data structure (DynamicMesh) that represents a mesh that can be modified in-place, while effectively tracking the changes.
A library of (low-level) functions to measure things on a mesh or calculate specific changes to apply to a mesh.
High level interaction (in the form of examples?) to perform specific tasks, at this point limited to mesh morphing.
Main code
I propose to keep the main code in a separate repo, and release it as a separate library. One reason being that at some points we're close to hit the performance boundary of using pure Python, so it's not unlikely that we want to implemen Cythonized code paths for some tasks later.
Code that can be put somewhere else
The DynamicMeshGeometry inherits from gfx.Geometry and the gfxmorph.MeshChangeTracker. It's place seems more natural here.
The smooth_sphere_geometry seems like a shape worth having in pygfx, since it represents a smooth sphere with few vertices. The solid_tetrahedon is less useful for visualization.
The volume_of_triangle and volume_of_closed_meshcould be put into pylinalg, but are also very much specific to meshes, so I'm now leaning more towards keeping them here.
The text was updated successfully, but these errors were encountered:
I'd say we can find more of these fundamental computational geometry functions such as volume_of_triangle and volume_of_closed_mesh in gfxmorph, but also in pygfx actually (e.g. to compute vertex and face normals), and we can put all of those together in a new library "pycompgeo", like we discussed a while ago.
This will improve code organization across the board and make it easier to optimize those functions, e.g. using cython.
Purpose
The purpose of this code is to provide:
DynamicMesh
) that represents a mesh that can be modified in-place, while effectively tracking the changes.Main code
I propose to keep the main code in a separate repo, and release it as a separate library. One reason being that at some points we're close to hit the performance boundary of using pure Python, so it's not unlikely that we want to implemen Cythonized code paths for some tasks later.
Code that can be put somewhere else
DynamicMeshGeometry
inherits fromgfx.Geometry
and thegfxmorph.MeshChangeTracker
. It's place seems more natural here.smooth_sphere_geometry
seems like a shape worth having in pygfx, since it represents a smooth sphere with few vertices. Thesolid_tetrahedon
is less useful for visualization.volume_of_triangle
andvolume_of_closed_mesh
could be put into pylinalg, but are also very much specific to meshes, so I'm now leaning more towards keeping them here.The text was updated successfully, but these errors were encountered: