Hey Alex,

Sorry to bring this email thread back from the dead. Any chance you could publish this latest work to pip?

Best regards,
Jesse

On Wed, Nov 13, 2019 at 5:35 PM Dielen, Alexander Michael <alexander.dielen@rwth-aachen.de> wrote:

Hi,

our intention was to hide the StatusInfo class from python, but this made it impossible to mark vertices as locked.

I added a way to specify locked vertices like this:


mesh = om.read_trimesh("bunny.stl")

for vh in mesh.vertices():
    if mesh.point(vh)[2] > 0:
        mesh.set_vertex_property("locked", vh, True)

decimater = om.TriMeshDecimater(mesh)
mod = om.TriMeshModQuadricHandle()
decimater.add(mod)
decimater.initialize()

decimater.decimate(10000, locked_vertex_propname="locked")

mesh.garbage_collection()
om.write_mesh("decimated_bunny.ply", mesh)


Best regards,
Alex


From: Jesse Vander Does <jvanderdoes@gmail.com>
Sent: Thursday, October 31, 2019 4:59:51 PM
To: Dielen, Alexander Michael
Cc: openmesh@lists.rwth-aachen.de
Subject: Re: [OpenMesh] Python - Bulk Add Points
 
Wow, thank you! That worked great. Those methods have made it really easy to move between OpenMesh and TriMesh (https://trimsh.org/) which provides more import options and a scene graph. Combining these two libraries really makes for a very powerful python API.

My goal is to use OpenMesh for decimation. The next thing I bumped into was that the python API appears to have removed the ability to "lock" vertices. Do you know if there is a new way of doing so or why that functionality was removed?

Best regards,
Jesse



On Thu, Oct 31, 2019 at 5:15 AM Dielen, Alexander Michael <alexander.dielen@rwth-aachen.de> wrote:
Hi,

I added the functions Isaak mentioned earlier. If you build from source, there are now three ways to add vertices and faces to a mesh using numpy arrays:

1. Using the mesh constructor as described by Isaak: mesh = om.TriMesh(points, face_vertex_indices). Here points is an array of vertex coordinates with shape (n, 3) and face_vertex_indices is an array of vertex indices with shape (m, 3) where each row defines a triangle.

2. By passing an array of vertex coordinates to mesh.add_vertices() or by passing an array of face_vertex_indices to mesh.add_faces().

3. By first calling mesh.resize_points(n) and then directly modifying the array returned by mesh.points().

Best regards,
Alex


On 30. Oct 2019, at 18:15, Jesse Vander Does <jvanderdoes@gmail.com> wrote:

Hello OpenMesh,

I would like to be able to quickly copy a numpy array of vertices and faces into a TriMesh. After some digging I found this task https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python/issues/18 which suggests assigning multiple points by doing `m.points()[:] = p`. I can't, however, figure out how to resize the points array without using `add_point` or `new_vertex`.

Any help would be much appreciated.

As an aside, it would be great to be able to post and comment on issues. Is there a reason the project is managed such that gitlab project is readonly?

Best regards,
--
Jesse Vander Does
424-465-0285 | jvanderdoes@gmail.com
_______________________________________________
OpenMesh mailing list -- openmesh@lists.rwth-aachen.de
To unsubscribe send an email to openmesh-leave@lists.rwth-aachen.de
https://lists.rwth-aachen.de/postorius/lists/openmesh.lists.rwth-aachen.de



--
Jesse Vander Does
424-465-0285 | jvanderdoes@gmail.com


--
Jesse Vander Does
424-465-0285 | jvanderdoes@gmail.com