Hello everyone.
I noticed that the OBJWriter and PLYWriter use hardcoded "float" and
"Vec3f" variables instead of the type traits of the mesh.
It would be nice when these routines would follow the type traits. I
explicitely use double in my type traits, as some of my algorithms do
not converge with single precision.
with kind regards,
Alexander Schier
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(a)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(a)gmail.com>
> *Sent:* Thursday, October 31, 2019 4:59:51 PM
> *To:* Dielen, Alexander Michael
> *Cc:* openmesh(a)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
> <https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python/commit/ec…>
> the ability to "lock
> <https://www.openmesh.org/media/Documentations/OpenMesh-6.1-Documentation/a0…>"
> vertices. Do you know if there is a new way of doing so or why that
> functionality was removed?
> <https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python/commit/ec…>
>
> Best regards,
> Jesse
>
>
>
> On Thu, Oct 31, 2019 at 5:15 AM Dielen, Alexander Michael <
> alexander.dielen(a)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(a)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(a)gmail.com
>> _______________________________________________
>> OpenMesh mailing list -- openmesh(a)lists.rwth-aachen.de
>> To unsubscribe send an email to openmesh-leave(a)lists.rwth-aachen.de
>> https://lists.rwth-aachen.de/postorius/lists/openmesh.lists.rwth-aachen.de
>>
>>
>>
>
> --
> Jesse Vander Does
> 424-465-0285 | jvanderdoes(a)gmail.com
>
--
Jesse Vander Does
424-465-0285 | jvanderdoes(a)gmail.com
For memory conservation purposes I would like to utilize the documented
option to not store the previous halfedge handle in the Halfedge struct.
Removing the above trait doesn't accomplish this, and ArrayItems.hh is
hard-coded to use the version with the previous handle:
//TODO: should be selected with config.h define
typedef Halfedge_with_prev Halfedge;
typedef GenProg::Bool2Type<true> HasPrevHalfedge;
This code is the same at the start of the Git repo from around 10 years
ago. Does anyone know why this option was removed, or if there are any
fundamental reasons it wouldn't still work?
As an aside, I was surprised to see there is no specialization for triangle
meshes for the non-stored previous handle, since for triangle meshes it is
just two next dereferences. I guess this option was never really used.
Thanks,
Steve
Hi,
OpenFlipper 4.1 (Latest windows build) will crash every time I select "Fill
Holes" with a certain mesh that seems quite straight forward.
If anyone is interested in tracking this down I can provide the STL file.
Andrew
Hello,
When I have a vprop_handle and a vhandle, can I directly get the
information
associated to the vhandle, or do I necessarily need also a mesh object mesh
in order to call:
omesh.property(vprop_handle, vhandle)
Best,
Andreas
Hello OpenMesh Team,
Thanks for developing OpenMesh and all of its features !
We got a problem when we try to switch to Eigen::vector3d as data type,
specifiing the mesh as desribed in
https://www.openmesh.org/media/Documentations/OpenMesh-Doc-Latest/a04077.ht…
always leads to an Error
C2440 '<function-style-cast>': cannot convert from 'const
Eigen::Matrix<double,3,1,0,3,1>' to 'OpenMesh::NormalConeT<double>'
(compiling source file
include\OpenMesh\Tools\Decimater\ModNormalDeviationT.hh 224
Line 224 of ModNormalDeviationT.hh
merge(NormalCone(mesh_.normal(*vf_it)));
there a Eigen::Vector3d can not be converted to a scalar. When i switch
back from Eigen representaion, everything works.
We are using Visual Studio 2017 an OpenMesh 8.0.
Thanks and best regards,
Matthias Hackel
--
Matthias Hackel
Mabotic - Robotics & Automation
Bonner Strasse 4
51379 Leverkusen, Germany
phone: +49(0)2171-3944591
fax: +49(0)2171-5823632
mobile: +49(0)175-4069307
email: hackel(a)mabotic.de
Web: http://www.mabotic.de
Diese Nachricht (E-Mail) enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte umgehend den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren als auch die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This message (e-mail) may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender in return and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is hereby strictly forbidden.
Hi,
Thanks for the good work on the OpenMesh Decimation Framework. I have two questions to check:
1. Is it possible to add support for mesh with texture coordinates. It means that while decimation, the algorithm will also take the texture coordinates change(UV shell/island shape) into consideration. In short, it not only maintains the geometry, but also tries to preserve the seam line?
Something similar to Seam Aware Decimation: "https://cragl.cs.gmu.edu/seamless/", https://github.com/songrun/SeamAwareDecimater
2. If it is, how hard(how much effect) is it to add this kind of support, can you give a direction on it?
Thanks & Regards,
Spencer
Hello, I am a researcher for mesh processing, and I'm using your openmesh library. thanks for your development working, but I got a bug when I run you official code, "building a cube" [http://www.openmesh.org/media/Documentations/OpenMesh-Doc-Latest/a04088.html]. No matter whether I type codes by myself or copy your example code , there will always be a bug saying that there is a unexpectation occurring, that there is visiting conflict in posision 0x00000000000000.
[cid:image001.png@01D5A9F1.FBAB55E0]
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
<https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python/commit/ec…>
the ability to "lock
<https://www.openmesh.org/media/Documentations/OpenMesh-6.1-Documentation/a0…>"
vertices. Do you know if there is a new way of doing so or why that
functionality was removed?
<https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python/commit/ec…>
Best regards,
Jesse
On Thu, Oct 31, 2019 at 5:15 AM Dielen, Alexander Michael <
alexander.dielen(a)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(a)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(a)gmail.com
> _______________________________________________
> OpenMesh mailing list -- openmesh(a)lists.rwth-aachen.de
> To unsubscribe send an email to openmesh-leave(a)lists.rwth-aachen.de
> https://lists.rwth-aachen.de/postorius/lists/openmesh.lists.rwth-aachen.de
>
>
>
--
Jesse Vander Does
424-465-0285 | jvanderdoes(a)gmail.com