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
Hello there,
I am not sure if this is the place to ask questions about Open Volume Mesh. But i couldn't find any other mailing list. Hence i am posting here.
I am trying to create a mesh of type OpenVolumeMesh::GeometricTetrahedralMeshV3d HalfFaceMesh;
To this, i am adding tetrahedrons as follows
OpenVolumeMesh::CellPropertyT< unsigned int > TetSphereAssociativeProperty = HalfFaceMesh.request_cell_property< unsigned int >("TET_SPHERE_ASSOCIATION_ID");
int num_vol_elements = nglib::Ng_GetNE(CurrentMesh);
unsigned int tetra_cnt = 1;
for(unsigned int tetra = 0; tetra < num_vol_elements; ++tetra)
{
int CoordinateArray[4];
nglib::Ng_GetVolumeElement(CurrentMesh, tetra + 1, CoordinateArray);
long v1 = CoordinateArray[0];
long v2 = CoordinateArray[1];
long v3 = CoordinateArray[2];
long v4 = CoordinateArray[3];
VertexHandle _v1 = HalfFaceMesh.add_vertex(meshPointToVector3D(v1));
VertexHandle _v2 = HalfFaceMesh.add_vertex(meshPointToVector3D(v2));
VertexHandle _v3 = HalfFaceMesh.add_vertex(meshPointToVector3D(v3));
VertexHandle _v4 = HalfFaceMesh.add_vertex(meshPointToVector3D(v4));
CellHandle current_cell = HalfFaceMesh.add_cell(_v1, _v2, _v3, _v4);
TetSphereAssociativeProperty[current_cell] = tetra_cnt;
++tetra_cnt;
}
The issue is when i try to get neighbors of a particular tetrahedron, i run into issues.
I have tried CellCellIterator and it gives me nothing. So i wrote the code to do it in the most naive way possible also (i know its quadratic).
std::set< CellHandle > getUniqueNeighbouringTetsForGivenTets(CellHandle input_tetrahedron)
{
std::set< CellHandle > matching_cells;
std::set< FaceHandle > matching_faces = getFacesForGivenCell(input_tetrahedron);
HalfFaceMesh.enable_bottom_up_incidences(true);
for(auto mf_iter = matching_faces.begin(); mf_iter != matching_faces.end(); ++mf_iter)
{
for(CellIterator c_it = HalfFaceMesh.cells_begin(); c_it != HalfFaceMesh.cells_end(); ++c_it)
{
if(*c_it != input_tetrahedron)
{
std::set< FaceHandle > intermediate_matching_faces = getFacesForGivenCell(*c_it);
for(auto mff_iter = intermediate_matching_faces.begin(); mff_iter != intermediate_matching_faces.end(); ++mff_iter)
{
if(*mff_iter == *mf_iter)
{
matching_cells.emplace(*c_it);
}
}
}
}
}
return matching_cells;
}
I still do not get any neighbours at all. It almost seems like the neighbors are not associated automatically and basically one of the half faces of every face is just some garbage with an id -1.
Should i manually establish the half face connectivity between adjacent cells while building a mesh in open volume mesh ?
This was not the case in OpenMesh where we simply add polygons and edges are automatically split into half edges.
I am stuck and any help would be appreciated. Thanks in advance.
Kind regards,
S Vijai Kumar
Sent with [ProtonMail](https://protonmail.com) Secure Email.
Hi all,
Is there any feature related to mesh parametrization in OpenMesh?
I'm thinking in conformal mapping, distortion analysis or most isometric
parametrization, related to texture coordinates generation.
Thanks in advance!
--
Jordi Torres
Hi,
there is no integrated function to join two Meshes. However in
OpenFlipper there is a plugin which joins two meshes. So you might want
to get the code from the merge plugin in OpenFlipper.
Best,
Jan Möbius
On 07.06.19 22:37, Matthew Buchanan wrote:
> Hi,
>
>
>
> I was browsing the mailing list archive for other questions like this,
> but I found no results with an answer.
>
> I am trying to write a program that adds together multiple OFF meshes
> into one, but there doesn’t seem to be a function or operation that does
> this.
>
> Is there a reliable way to combine two or more meshes into one using
> OpenMesh?
>
>
>
> -Matt
>
>
> _______________________________________________
> 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
>
--
Jan Möbius
Department of Computer Science VIII
Aachen University of Technology (RWTH)
Ahornstrasse 55, 52074 Aachen, Germany
Phone ++49 (0)241 80-21802
Fax ++49 (0)241 80-22899
mailto:moebius@cs.rwth-aachen.de
http://www.rwth-graphics.de
Hi,
I am developing a photorgrammetry library OpenMVS
<https://github.com/cdcseacave/openMVS> and I am looking at your library to
repair the generated meshes. OpenMesh seems to have support for mesh
decimation, smoothing, hole filling, but I searched all documentation and
code and I didn't find if it is able to repair non-manifold meshes.
Is OpenMesh able to import a non-manifold mesh and convert it to manifold
mesh with as little deformation as possible (for example not simply
removing all faces to a non-manifold vertex, but try to repair the surface
at that point)?
Thank you,
Dan
Dear Open mesh developers,
In the introduction to OpenMesh in the following website:
https://www.openmesh.org/intro/
reference is made to the paper:
Botsch, Mario; S. Steinberg; S. Bischoff; L. Kobbelt: OpenMesh - a
generic and efficient polygon mesh data structure, 1st OpenSG Symposium,
2002. <http://www.graphics.rwth-aachen.de/media/papers/openmesh1.pdf>
In this article it is reported that:
/Our current OpenMesh implementation can handle complex vertices, but
does at the moment not support complex edges. (Complex edges are
characterized by belonging to more than two faces.)/
I need to make meshes like the one on the right in the figure below. For
example: more than two faces have the same side in common. Since the
article mentioned dates back to 2002, I wanted to ask you if OpenMesh
can now handle these type of meshes.
undefined
I also read what is reported in the OpenVolumeMesh project and found
that this tool allows you to manage meshes composed of volume elements
and somehow generalizes Openmesh, allowing you to represent more complex
geometries. In my work, I don't have to manage volumes but I have to
manage surfaces that have branches (in particular I model fractures in
the materials).
Thanks in advance.
Best regards,
Carlo Peruzzo
--
Carlo Peruzzo,
Doctoral Assistant
École Polytechnique Fédérale de Lausanne (EPFL), Switzerland
+41 21 69 37647
EPFL-ENAC-IIC-GEL
GC B1 385 (Bâtiment GC)
Station 18
Lausanne CH 1015
http://gel.epfl.ch
Hi,
I was browsing the mailing list archive for other questions like this, but I found no results with an answer.
I am trying to write a program that adds together multiple OFF meshes into one, but there doesn’t seem to be a function or operation that does this.
Is there a reliable way to combine two or more meshes into one using OpenMesh?
-Matt
HI There,
Good to have a Openmesh library ,Its helping a lot .
But I have encountered with a problem where I am unable to execute the
openmesh c++ program.I have installed the openmesh from the source .
I am getting the errors when I am trying to run the sample building cube
problem in openmesh .I have run it with command (g++ -o out cube.cc).I have
encountered the errors which was given in the attachment.
Please provide me how can i run the sample program and also how can i
integrate the openmesh with the cgal c++ library.
Thanks in advance.
Thanks and Regards
V.Vamsikrishna
student