OpenMesh issueshttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues2018-06-19T07:12:01Zhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/22Add complex face handling to ply reader.2018-06-19T07:12:01ZJan Möbiusmoebius@cs.rwth-aachen.deAdd complex face handling to ply reader.Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/57Add SmartTagger to OpenMesh2018-10-30T09:20:21ZJan Möbiusmoebius@cs.rwth-aachen.deAdd SmartTagger to OpenMesh@born@bornOpenMesh 8.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/13Add some more unittests to cover the following functions2017-05-01T10:16:22ZJan Möbiusmoebius@cs.rwth-aachen.deAdd some more unittests to cover the following functions all writers: binary_size(BaseExporter& _be, Options _opt)
- jacobi smoother with C1 continuity
- some function in IOmanager
- McDecimaterT<Mesh>::decimate_constraints_only
- PolyConnectivity::is_collapse_ok
- PolyConnectivity::is_s... all writers: binary_size(BaseExporter& _be, Options _opt)
- jacobi smoother with C1 continuity
- some function in IOmanager
- McDecimaterT<Mesh>::decimate_constraints_only
- PolyConnectivity::is_collapse_ok
- PolyConnectivity::is_simple_link(EdgeHandle _eh)/ PolyConnectivity::is_simply_connected(FaceHandle _fh)
- PolyConnectivity::remove_edge(EdgeHandle _eh) / PolyConnectivity::insert_edge(HalfedgeHandle _prev_heh, HalfedgeHandle _next_heh) / void PolyConnectivity::reinsert_edge(EdgeHandle _eh) / PolyConnectivity::split_edge/PolyConnectivity::split_edge_copy
- PolyConnectivity::triangulate()
- ArrayKernel::assign_connectivity
- TriConnectivity::vertex_split/ TriConnectivity::insert_loop / TriConnectivity::insert_edge / TriConnectivity::split_copyOpenMesh 6.0https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/55add the TriangleBSPTree to OpenMesh2018-06-05T11:48:45ZJanis Bornadd the TriangleBSPTree to OpenMeshSpatial queries on meshes seem to be a common task [(see question here)](https://stackoverflow.com/questions/50696430/find-neighbours-inside-query-in-openmesh).
ACG provides a TriangleBSPTree which seems to work well for this purpose, b...Spatial queries on meshes seem to be a common task [(see question here)](https://stackoverflow.com/questions/50696430/find-neighbours-inside-query-in-openmesh).
ACG provides a TriangleBSPTree which seems to work well for this purpose, but ACG is not bundled with OpenMesh. Should we migrate the TriangleBSPTree from ACG to OpenMesh?https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/47Binary STL Files are recogniced as ASCII2017-09-26T13:42:04ZMartin SchultzBinary STL Files are recogniced as ASCII```
[...] in the function _STLReader_::check_stl_type() (STLReader.cc file) you assume that a STL is encoded in ASCII format by looking for the keyword solid, i.e., line 476:
//check for ascii keyword solid
if(strnicmp("solid",&l...```
[...] in the function _STLReader_::check_stl_type() (STLReader.cc file) you assume that a STL is encoded in ASCII format by looking for the keyword solid, i.e., line 476:
//check for ascii keyword solid
if(strnicmp("solid",&line[firstChar],5) == 0)
{
return STLA;
}
The problem is that also some binary STL files start with the "solid" keyword, and it seems the standard allows it, at least looking at the first references I've found:
https://people.sc.fsu.edu/~jburkardt/data/stla/stla.html
https://people.sc.fsu.edu/~jburkardt/data/stlb/stlb.html
[...]
a workaround solution could be to look for the keyword "facet" in place of the keyword "solid" [...]
by Alberto Pretto
```
Related to: https://www.graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/merge_requests/83
example file to trigger this issue:
[sportellino.stl](/uploads/7a3200439fbb8bff53dad0527d10a5f0/sportellino.stl)https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/73Bug in PropertyT<bool> restore function2021-01-25T14:58:48ZJan Möbiusmoebius@cs.rwth-aachen.deBug in PropertyT<bool> restore functionI stumbled across a pretty infuriating bug in OpenMesh 8.0 (I think it still might exist
in 8.1) in the `restore` function for `PropertyT<bool>` (`Property.hh`) (though this
issue may exist elsewhere quite possibly...).
The issue occurs...I stumbled across a pretty infuriating bug in OpenMesh 8.0 (I think it still might exist
in 8.1) in the `restore` function for `PropertyT<bool>` (`Property.hh`) (though this
issue may exist elsewhere quite possibly...).
The issue occurs at the beginning of the for loop where the bit packing happens (around
line 313). The problematic statement is `_istr >> bits;`
The problem is `std::istream` by default skips white space characters
(https://en.cppreference.com/w/cpp/io/manip/skipws), so if one of the bytes in the stream
being restored happens to be 0x20 (32 - 'space' character), it will be skipped,
leading to the stream getting out of sync with the bytes read (I was able to track this
down using lots of `_is.tellg();` calls).
I've made a minimal change in Property.hh to ensure white space characters aren't
skipped: `_istr >> std::noskipws;` right before the for loop. There might be a
better more central place to enable this setting but it resolves the bug for us for now.
If anyone has any feedback on the best place for this fix I'd love to know!Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/3calling vv_range on valence 0 vertices causes a crash2017-10-27T14:34:54ZMartin Schultzcalling vv_range on valence 0 vertices causes a crashWhen you call vv_range on a vertexhandle of a vertex with valence 0 OpenMesh will crash as vv_range uses the circulatorRange which uses cvv_end and cvv_begin which are marked as deprecated.
I propose to use cvv_cwend and cvv_cwbegin w...When you call vv_range on a vertexhandle of a vertex with valence 0 OpenMesh will crash as vv_range uses the circulatorRange which uses cvv_end and cvv_begin which are marked as deprecated.
I propose to use cvv_cwend and cvv_cwbegin which are mentioned in the documentation to be used instead of the deprecated one.Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/43Cannot compile OpenMesh with unittests enabled2017-06-29T08:32:21ZMartin SchultzCannot compile OpenMesh with unittests enabledI can not compile OpenMesh with the unittests enabled on our lab machines.
I am getting compile errors from :
```
gtest-message.h:191
internal::StringStreamToString(ss_.get());
undefined reference to StringStreamToString(ss_.get());
``...I can not compile OpenMesh with the unittests enabled on our lab machines.
I am getting compile errors from :
```
gtest-message.h:191
internal::StringStreamToString(ss_.get());
undefined reference to StringStreamToString(ss_.get());
```
The default gtest library is selected by cmake as
/ACG/acgdev/gcc-4.7-x86_64/gtest/
but since the lab machines have been updated the gcc --version command states the compiler version is 6.3.0. I tried using the gtest library from /ACG/acgdev/gcc-4.9-x86_64/gtest/ but it gives the same error.
Is this caused by incompatibilities of the older gcc versions / libraries built with it?Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/31Cannot write binary stl files2017-05-01T10:16:22ZMartin SchultzCannot write binary stl filesWhen a mesh is saved as a binary stl file, the file contains no data.
Only the header "binary stl file" followed by whitespaces is written When a mesh is saved as a binary stl file, the file contains no data.
Only the header "binary stl file" followed by whitespaces is written Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/41Check Clear/Clean2018-06-19T07:11:23ZJan Möbiusmoebius@cs.rwth-aachen.deCheck Clear/CleanClear should remove all additional properties. Clean should keep the properties.Clear should remove all additional properties. Clean should keep the properties.OpenMesh 8.0Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/17Check for possible double swap in om writers2017-05-01T10:16:22ZJan Möbiusmoebius@cs.rwth-aachen.deCheck for possible double swap in om writersOpenMesh 6.0Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/20Check OBJ writer patch2017-05-01T10:16:22ZJan Möbiusmoebius@cs.rwth-aachen.deCheck OBJ writer patchPlease check the patch applied in branch obj_mat_file
* The material file's name for “name.obj” was “nam.obj” (off by
one) and
* a white space was missing between the color components (0.10.20.3
instead of 0.1 0.2 0.3).
Please check the patch applied in branch obj_mat_file
* The material file's name for “name.obj” was “nam.obj” (off by
one) and
* a white space was missing between the color components (0.10.20.3
instead of 0.1 0.2 0.3).
Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/1Check reader parallelizability2017-10-27T14:34:54ZJan Möbiusmoebius@cs.rwth-aachen.deCheck reader parallelizabilityPlease check the readers for static variables, that could prevent them from being used simultaniously on different meshes.Please check the readers for static variables, that could prevent them from being used simultaniously on different meshes.OpenMesh 5.0Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/6Compiler Error in status flags2017-10-27T14:34:54ZJan Möbiusmoebius@cs.rwth-aachen.deCompiler Error in status flagsThere seems to be a compiler error in ArrayKernel.hh Line 711
The clear function is never defined with an parameter. Not sure if this function gets called anywhere. I guess it was intended that the code swaps the erase element with th...There seems to be a compiler error in ArrayKernel.hh Line 711
The clear function is never defined with an parameter. Not sure if this function gets called anywhere. I guess it was intended that the code swaps the erase element with the last one in the vector and then pop it at the back to achieve O(1) complexity while std::vector would move all elements. Just a quick guess.
We need a unittest to build this part.
Seems to be a windows compiler triggerring the error.
/Core/Mesh/ArrayKernel.hh(704): error: too many arguments in function call
OpenMesh 5.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/23conversion between tri meshes and poly meshes2017-05-01T10:16:22ZJanis Bornconversion between tri meshes and poly meshesTo my knowledge, there are no methods to convert back and forth between triangle and polygon meshes.
The conversion from tri mesh to poly mesh should be straightforward as no modifications are required.
The conversion from poly mes...To my knowledge, there are no methods to convert back and forth between triangle and polygon meshes.
The conversion from tri mesh to poly mesh should be straightforward as no modifications are required.
The conversion from poly mesh to tri mesh requires to perform some kind of triangulation (i.e., `PolyConnectivity::triangulate`). It will also create some new mesh entities (edges, halfedges) which will have no meaningful property values.Janis BornJanis Bornhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/35Converting tri- polymesh leaves standard propertyhandles uninitialized2017-05-01T10:16:22ZMartin SchultzConverting tri- polymesh leaves standard propertyhandles uninitializedwhen a mesh is converted from poly to tri or vice versa, the standard propertyhandles are not initialized.
e.g. points_ is -135.
Handles should be initialized after conversion. For the refcounting i recommend to set refcounters of the ...when a mesh is converted from poly to tri or vice versa, the standard propertyhandles are not initialized.
e.g. points_ is -135.
Handles should be initialized after conversion. For the refcounting i recommend to set refcounters of the converted mesh to 1 if the property was set.Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/48Copy constructor adding face status twice?2017-11-08T10:18:45ZJan Möbiusmoebius@cs.rwth-aachen.deCopy constructor adding face status twice?Konkret tritt das Problem beim Löschen der face properties auf.
Ich habe den Verdacht, dass eine doppelte face status property die Ursache für das Problem ist.
Nach meiner Einschätzgun erzeugt der copy constructor eines tri mesh erzeug...Konkret tritt das Problem beim Löschen der face properties auf.
Ich habe den Verdacht, dass eine doppelte face status property die Ursache für das Problem ist.
Nach meiner Einschätzgun erzeugt der copy constructor eines tri mesh erzeugt die face status property doppelt:
IGM::TriMesh triMesh(quadMesh);
Der status property ist bereits vorhanden, jedoch ist der Referenzzähler auf 0 gesetzt, so dass diese doppelt
erzeugt wird.OpenMesh 7.0Martin SchultzMartin Schultzhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/12CPPCHECK Hint2017-10-27T14:34:54ZJan Möbiusmoebius@cs.rwth-aachen.deCPPCHECK Hint[OpenMesh/Core/Geometry/VectorT.hh:254]: (performance) Function parameter '_v' should be passed by reference.
[OpenMesh/Core/Geometry/VectorT.hh:254]: (performance) Function parameter '_v' should be passed by reference.
Janis BornJanis Bornhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/65Crash in subdivider after a vertex has been deleted2019-04-09T14:18:48ZJan Möbiusmoebius@cs.rwth-aachen.deCrash in subdivider after a vertex has been deletedOpenMesh 8.1Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/issues/15Create a more usefull example for the mesh decimater2017-06-30T14:05:35ZJan Möbiusmoebius@cs.rwth-aachen.deCreate a more usefull example for the mesh decimaterThe current doc only contains how to setup the decimation order without any constraint on the quality. We should extend the example with a module controlling the decimation quality.The current doc only contains how to setup the decimation order without any constraint on the quality. We should extend the example with a module controlling the decimation quality.Daniel GotzenDaniel Gotzen