Commit Graph

364 Commits

Author SHA1 Message Date
Max Lyon
8f214b0189 let opposite_face_handle and find_halfedge return smart handles 2020-01-29 17:00:53 +01:00
Max Lyon
58b0fd5f48 explicitly export Handles because SmartHandles need to be exported and have Handles as base 2019-12-13 16:05:26 +01:00
Max Lyon
33f4941d66 normalize normal at end of calc_vertex_normal_correct 2019-12-06 11:16:54 +01:00
Max Lyon
6284fb4fc9 add calc_normal method for all elements returning calc_face_normal, average of vertex normals, calc_halfedge_normal, and calc_vertex_normal_correct respectively 2019-12-06 11:16:34 +01:00
Max Lyon
a1a82331e3 add calc_centroid methods for all elements returning calc_face_centroid, calc_edge_midpoint and point respectively 2019-12-06 11:14:27 +01:00
Max Lyon
0572ae5662 rename variables to not hide function 2019-11-29 09:52:53 +01:00
Max Lyon
5149aba8cd Merge branch 'master' into smart_range_improvement 2019-11-28 13:42:39 +01:00
Max Lyon
9c806888c0 more const related fixes in SmartRange 2019-11-28 13:42:17 +01:00
Max Lyon
8fa5f36d13 make SmartRange sum and avg compatible with Eigen vectors 2019-11-28 11:50:03 +01:00
Max Lyon
04e798920d use decay instead of remove_reference to also remove constness in SmartRanges 2019-11-28 11:49:37 +01:00
Max Lyon
e36e508f0b call const version of end to make cppcheck happy 2019-11-27 13:28:00 +01:00
Max Lyon
f1e0588ba2 remove unused variable 2019-11-27 13:27:28 +01:00
Max Lyon
65cafaf17c add method that returns first element of a smart range that fulfills a condition 2019-11-22 11:02:50 +01:00
Max Lyon
2b8a59e2e1 add method that converts smart range to set 2019-11-22 11:02:31 +01:00
Max Lyon
b0276d485a add documentation for any_of and all_of 2019-11-06 13:02:01 +01:00
Max Lyon
4c15ff6e60 add any of and all of to smart ranges 2019-11-06 12:59:57 +01:00
Max Lyon
3a2791c436 update documentation 2019-11-06 11:41:41 +01:00
Max Lyon
ab353c8dd0 Define a MeshHandle to simplify some template programming 2019-11-05 15:29:11 +01:00
Max Lyon
3d1ae7d787 return const property handle to points property in AttribKernel 2019-11-05 15:28:55 +01:00
Max Lyon
c6daa6bcb2 move inline implementation of polyconnectivity into its own file 2019-11-05 13:29:08 +01:00
Max Lyon
a1b3260477 Merge branch 'PropertyManagerRefactoring' into SmartRanges
# Conflicts:
#	src/OpenMesh/Core/Mesh/PolyConnectivity.hh
2019-11-05 13:25:14 +01:00
Max Lyon
c861a0e84d add method to get points property handle in AttribKernel 2019-10-31 14:32:24 +01:00
Max Lyon
3d648b23b3 add elements and all_elements methods that return the range corresponding to the template argument 2019-10-31 14:01:50 +01:00
Max Lyon
34b2e958e1 add convenience function n_elements returning n_vertices, n_halfedges, n_edges, or n_faces depending on the template argument 2019-10-31 13:59:54 +01:00
Max Lyon
ef65cf870d fix copy paste error 2019-10-22 10:37:35 +02:00
Max Lyon
a15f247a6f add default mesh types using default doublet traits 2019-10-22 10:08:40 +02:00
Max Lyon
651e8cf966 add default trait that uses double precision 2019-10-22 10:08:22 +02:00
Max Lyon
660e46db24 fix iterator type 2019-10-18 14:29:52 +02:00
Max Lyon
56c1348493 make more functions return smart handles 2019-10-17 14:55:25 +02:00
Max Lyon
a3fbdcb937 let add_vertex and add_face return smart handles 2019-10-17 14:28:20 +02:00
Max Lyon
bd33706300 fix infinite recursion 2019-10-17 13:47:08 +02:00
Max Lyon
3b21aa14fb make smart handles more compatible with mixing old api 2019-10-17 12:56:48 +02:00
Max Lyon
1948883fd1 update min and max functions on ranges and add minmax function 2019-10-07 13:06:15 +02:00
Max Lyon
05332c70c1 dllexport SmartHandles 2019-10-07 10:58:18 +02:00
Max Lyon
7c804acef1 for the cost of adding SmartHandles.cc with weird include order make smart ranges smarter by letting them know their smart handle types 2019-09-27 17:08:09 +02:00
Max Lyon
b5b708a6ba smart range improvements 2019-09-27 16:34:20 +02:00
Max Lyon
f71696f294 allow PropertyManagers to be used in smart ranges 2019-09-27 14:45:20 +02:00
Max Lyon
aa91a88f7b add first version of smart ranges 2019-09-27 14:12:22 +02:00
Max Lyon
011a53e7ba let handle function of circulator return smart handle 2019-09-27 12:55:57 +02:00
Max Lyon
8446eaee6f fix more issues for debug builds 2019-09-27 10:38:56 +02:00
Max Lyon
16ca9b363e fix circulator return value in debug mode 2019-09-27 09:38:09 +02:00
Max Lyon
b62d846f32 let circulators return smart handles 2019-09-27 09:29:27 +02:00
Max Lyon
253c9b6afa let iterators return smart handles 2019-09-26 11:14:31 +02:00
Max Lyon
89f0dcbb51 add documentation 2019-09-25 13:21:17 +02:00
Max Lyon
010a8a0b41 inline smart handle methods for better performance 2019-09-25 13:12:31 +02:00
Max Lyon
92cdc795c7 add unit tests for smart handles 2019-09-25 12:19:30 +02:00
Max Lyon
844de4145c avoid diamond inheritance and add range and convenience functions 2019-09-25 09:52:18 +02:00
Max Lyon
04ba56511b make smarthandle methods const 2019-09-25 09:04:29 +02:00
Max Lyon
f948a16ce2 add first version of smart handles 2019-09-25 08:47:34 +02:00
Jan Möbius
37523c16d0 Fixed vectorize warning 2019-08-28 11:00:42 +02:00