Commit Graph

940 Commits

Author SHA1 Message Date
Max Lyon
337fb4571d add methods to import to set positions and normals from doubles 2020-02-05 22:12:53 +01:00
Max Lyon
2356364085 add methods to export the check if positions or normals are double and get them as doubles 2020-02-05 22:11:10 +01:00
Max Lyon
f626837ad3 add method to explicitely clone named properties 2020-02-05 19:12:21 +01:00
Max Lyon
8f214b0189 let opposite_face_handle and find_halfedge return smart handles 2020-01-29 17:00:53 +01:00
Jan Möbius
54ad994617 Merge branch 'EigenDecimator' into 'master'
Eigen decimator

See merge request OpenMesh/OpenMesh!244
2020-01-06 14:42:48 +01:00
Max Lyon
52d3ad9332 templatize NormalConeT over Vector instead of Scalar to allow for other types of vectors (eg Eigen) 2019-12-19 14:04:59 +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
ee752ce996 fix unsed variables in writers 2019-12-09 11:15:09 +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
14b9279d5a add struct to HandleToPropHandle to get an MPropHandle from a MeshHandle 2019-12-03 09:52:40 +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
Janis Born
e7c5fbde32 fix dynamic_cast in PropertyManager::getMesh 2019-11-26 16:50:47 +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
05c0159387 fix property manager property access for bool properties 2019-11-22 11:00:17 +01:00
Max Lyon
2237321c1c fix non-member min and max functions 2019-11-08 09:49:42 +01:00
Max Lyon
eae634fe94 add method to move construct vector from array 2019-11-06 14:16:25 +01:00
Max Lyon
96fb20fdeb for better backwards compatibility add second template parameter to makePropertyManagerFromExisting(orNew) 2019-11-06 14:04:55 +01:00
Max Lyon
4160fc42d8 for better backwards compatibility add retain function which does nothing to property manager 2019-11-06 14:04:29 +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
c246854397 Merge remote-tracking branch 'origin/PropertyManagerRefactoring' into SmartRanges
# Conflicts:
#	src/OpenMesh/Core/Utils/PropertyManager.hh
2019-11-05 18:16:57 +01:00
Max Lyon
5a06a63e92 fix typo 2019-11-05 18:12:37 +01:00
Max Lyon
c4e7125c97 allow adding temporary properties on const meshes 2019-11-05 15:30:05 +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
794b49976b fix swap of property managers 2019-11-05 10:21:09 +01:00
Max Lyon
b813fffe8b remove pre c++11 code 2019-11-05 09:40:57 +01:00
Max Lyon
fb91dead5b move propertymanager initial_value back to front to fix bool properties 2019-11-05 09:40:48 +01:00
Max Lyon
9b14efaa6d fix property manager for mesh properties 2019-10-31 17:56:37 +01:00
Max Lyon
3c52a27615 rework property manager 2019-10-31 15:27:34 +01:00
Max Lyon
c861a0e84d add method to get points property handle in AttribKernel 2019-10-31 14:32:24 +01:00
Max Lyon
de529269b5 remove second template argument off PropertyManager 2019-10-31 14:24:54 +01:00
Max Lyon
8bc5491c5c add Handle typedef to PropHandleT that specifies the corresponding element handle type 2019-10-31 14:02:43 +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