OpenMesh merge requestshttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests2023-11-14T07:57:20Zhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/339Add Edge circulators2023-11-14T07:57:20ZJanis BornAdd Edge circulatorsAdds Edge-Halfedge, Edge-Vertex, and Edge-Face circulators (and corresponding circulator ranges). These are especially useful in combination with smart ranges and their associated functional programming style. For example:
```cpp
int val...Adds Edge-Halfedge, Edge-Vertex, and Edge-Face circulators (and corresponding circulator ranges). These are especially useful in combination with smart ranges and their associated functional programming style. For example:
```cpp
int valence_after_collapse(SmartEdgeHandle _eh)
{
return _eh.vertices().sum([&](auto _vh) { return _vh.valence(); }) - 2;
}
```
Their iteration behaviour is defined as follows:
## Edge-Halfedge circulator
```cpp
for (auto heh : eh.halfedges()) {
// ...
}
```
is the same as
```cpp
for (int i = 0; i < 2; ++i) {
auto heh = eh.halfedge(i);
// ...
}
```
## Edge-Vertex circulator
```cpp
for (auto vh : eh.vertices()) {
// ...
}
```
is the same as
```cpp
for (int i = 0; i < 2; ++i) {
auto vh = eh.vertex(i);
// ...
}
```
## Edge-Face circulator
```cpp
for (auto fh : eh.faces()) {
// ...
}
```
is the same as
```cpp
for (int i = 0; i < 2; ++i) {
auto fh = eh.halfedge(i).face();
if (fh.is_valid()) {
// ...
}
}
```
## Notes
One additional change was adding a default argument to `PolyConnectivity::halfedge_handle`, i.e.
```cpp
mesh.halfedge_handle(eh)
```
is now equivalent to
```cpp
mesh.halfedge_handle(eh, 0)
```
This greatly simplifies the implementation of the Generic Circulator, which can now call `halfedge_handle()` on any center element type to obtain a starting halfedge.Janis BornJanis Bornhttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/246New Gitlab CI assemble version2020-02-04T11:29:34ZJohannes LenzenNew Gitlab CI assemble versionVersion upgrade from 3 to 3.2Version upgrade from 3 to 3.2Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/229Finished Docker build system2019-10-29T08:30:36ZJohannes LenzenFinished Docker build systemRewritten gitlab ci tasks and introduced docker based build system for linux and mac targetRewritten gitlab ci tasks and introduced docker based build system for linux and mac targetJan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/135Boost range support (Thanks to Bastian Pranzas for the patch)2017-06-27T13:38:11ZJan Möbiusmoebius@cs.rwth-aachen.deBoost range support (Thanks to Bastian Pranzas for the patch)OpenMesh 7.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/132Triangle Mesh 1->4 split2017-05-31T11:01:45ZJan Möbiusmoebius@cs.rwth-aachen.deTriangle Mesh 1->4 splitSplit a triangle into 4 triangles by splitting all edges at their midpoint and then retriangulateSplit a triangle into 4 triangles by splitting all edges at their midpoint and then retriangulateOpenMesh 7.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/131Respect vector Traits in Quadric2017-04-26T13:34:46ZJan Möbiusmoebius@cs.rwth-aachen.deRespect vector Traits in QuadricRespect vector Traits in QuadricRespect vector Traits in QuadricOpenMesh 7.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/114OM Writer: Added Mark to the format header to identify end of stream correctl...2016-12-27T07:55:07ZJan Möbiusmoebius@cs.rwth-aachen.deOM Writer: Added Mark to the format header to identify end of stream correctly (……Thanks to Jamie Kydd for the patch)…Thanks to Jamie Kydd for the patch)OpenMesh 7.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/75Hash functions2016-07-11T08:24:47ZJan Möbiusmoebius@cs.rwth-aachen.deHash functionsOpenMesh 6.2Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/71Handle nr newlines2016-05-30T14:31:08ZJan Möbiusmoebius@cs.rwth-aachen.deHandle nr newlinesOpenMesh 6.1Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/69Throw error when no readers are available2016-05-30T14:27:56ZJan Möbiusmoebius@cs.rwth-aachen.deThrow error when no readers are availableOpenMesh 6.1Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/32Om6 code reduction2015-11-30T12:19:34ZJan Möbiusmoebius@cs.rwth-aachen.deOm6 code reductionReduce number of includesReduce number of includesOpenMesh 6.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/31Om5.1 code reduction2015-11-30T11:12:17ZJan Möbiusmoebius@cs.rwth-aachen.deOm5.1 code reductionSignificant reduction of includesSignificant reduction of includesOpenMesh 5.1Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/23Cpp112015-11-23T15:47:26ZHans-Christian EbkeCpp11OpenMesh 6.0Jan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.dehttps://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/merge_requests/19Fixed warnings in unit tests due to unused variables2015-11-11T13:52:11ZJan Möbiusmoebius@cs.rwth-aachen.deFixed warnings in unit tests due to unused variablesFixed Warnings in UnittestsFixed Warnings in UnittestsJan Möbiusmoebius@cs.rwth-aachen.deJan Möbiusmoebius@cs.rwth-aachen.de