Skip to content

Proposal for what to do with this code #20

Open
@almarklein

Description

@almarklein

Purpose

The purpose of this code is to provide:

  • 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_mesh could be put into pylinalg, but are also very much specific to meshes, so I'm now leaning more towards keeping them here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions