Commit Graph

482 Commits

Author SHA1 Message Date
Martin
e6967dfe8b reduced includes by means of static code analysis 2015-11-30 09:48:42 +01:00
Jan Möbius
fbf2469143 Merge branch 'staticc-eh' into 'master'
Added static versions of ArrayKernel::edge_handle and ...::halfedge_handle.



See merge request !30
2015-11-26 13:11:54 +01:00
Hans-Christian Ebke
3fe3657bc8 Added static versions of ArrayKernel::edge_handle and ...::halfedge_handle. 2015-11-26 13:01:53 +01:00
Janis Born
3b5364d3e4 take VectorT argument by reference for non-member vector scalar multiplication (fixes #12) 2015-11-26 12:46:08 +01:00
Jan Möbius
d8d641b9f5 Missing destination 2015-11-26 12:21:50 +01:00
Jan Möbius
56e486a386 Missing dll when building debug and release package 2015-11-26 12:21:13 +01:00
Jan Möbius
6b24398fbc Merge branch 'VS2015_test' into 'master'
Try to get c++11 on visual studio 2015



See merge request !26
2015-11-25 15:03:51 +01:00
Jan Möbius
f907bd9bd5 Switch all checks for c++11 to support vs2015 2015-11-25 13:55:19 +01:00
Janis Born
e36051d571 brace style 2015-11-25 11:21:38 +01:00
Janis Born
d5e6d413f3 implement member and non-member swap for VectorT 2015-11-25 11:19:53 +01:00
Jan Möbius
1b3c350efb Get changes from master for this branch to test cpp11 stuff
Merge branch 'master' into VS2015_test
2015-11-25 09:47:51 +01:00
Hans-Christian Ebke
ec8936bfa6 Introduce ArrayKernel::clean_keep_reservation(). 2015-11-24 01:45:44 +01:00
Jan Möbius
a1ccdd69f8 Merge branch 'vec2_issues' into 'master'
Vec2 issues



See merge request !25
2015-11-23 16:48:43 +01:00
Jan Möbius
509f62e118 Try to get c++11 on visual studio 2015 2015-11-23 15:54:22 +01:00
Janis Born
8488f4ac53 use C++98-compatible template brackets 2015-11-23 15:37:14 +01:00
Janis Born
4c9a6ba5a4 add VectorDimensionsT metaprogram to detect vector dimensions in C++98 2015-11-23 15:33:14 +01:00
Janis Born
b31589b15f fall back to dummy implementation for calc_face_normal on meshes with non-3D points 2015-11-23 15:03:57 +01:00
Janis Born
cf54f40e3e implement VectorT in-place arithmetic operators based on Scalar in-place arithmetic operators 2015-11-23 12:25:07 +01:00
Janis Born
37fc29b59b add begin / end iterators for Vector11T component access 2015-11-23 09:37:08 +01:00
Hans-Christian Ebke
fe3dfade13 C++11: Made VectorT::size_ constexpr. 2015-11-19 22:58:42 +01:00
Hans-Christian Ebke
3ed7079cb8 C++11: Laid foundation for benchmark tests. We need more of them! 2015-11-19 19:53:36 +01:00
Hans-Christian Ebke
61fe9dabef C++11: Making sure VectorT construction from iterator is only instantiated for actual iterators. 2015-11-19 17:59:37 +01:00
Hans-Christian Ebke
cdfd266cab C++11: Using std::inner_product for VectorT::operator|. 2015-11-19 17:32:11 +01:00
Hans-Christian Ebke
14dffb83ce C++11: Made VectorT's constructor from array more general. 2015-11-19 17:31:54 +01:00
Hans-Christian Ebke
580e5526d8 C++11: VectorT now also accepts non-arithmetic types as Scalar. 2015-11-19 15:20:41 +01:00
Hans-Christian Ebke
07fa145057 C++11: Fixed VectorT::normalize_cond() implementation. 2015-11-19 14:09:03 +01:00
Hans-Christian Ebke
784adb9744 C++11: Made VectorT::size() and VectorT::dim() constexpr. 2015-11-19 14:08:42 +01:00
Hans-Christian Ebke
687da4e08f C++11: Added static_asserts to component-wise constructor. 2015-11-19 11:10:28 +01:00
Hans-Christian Ebke
21cc0acab5 C++11: Explicitly defined default copy/move c'tor and operator=. 2015-11-19 11:09:53 +01:00
Hans-Christian Ebke
9bac315198 C++11: Fixed VectorT so it compiles with clang as well. 2015-11-19 10:26:45 +01:00
Hans-Christian Ebke
b0f7f8b0f3 Fixed VectorT::operator| and operator>>. 2015-11-18 15:52:20 +01:00
Hans-Christian Ebke
fc5c715dd3 Merge remote-tracking branch 'remotes/origin/master' 2015-11-18 15:12:38 +01:00
Hans-Christian Ebke
287da20912 C++11: Reimplemented VectorT without macros. 2015-11-18 15:11:48 +01:00
Jan Möbius
59c6c56c45 Unused variables 2015-11-18 15:00:48 +01:00
Jan Möbius
96ba2a3f8b Missing parameter passthrough 2015-11-18 14:55:18 +01:00
Jan Möbius
15a7497729 Updated version flags to 5.1 2015-11-18 14:06:54 +01:00
Janis Born
11c9946934 fix generic VectorT ctor for non float-convertible scalar types 2015-11-17 11:37:23 +01:00
Hans-Christian Ebke
706b065593 C++11: Fixed clang warning about missing braces. 2015-11-12 15:52:49 +01:00
Jan Möbius
4b322f792c Switched Release version to 5.0 and updated changelog 2015-11-11 09:13:10 +01:00
Hans-Christian Ebke
0d619f33d3 C++11: Create version of homogenized() for C++11 branch (without macros). 2015-11-10 16:08:53 +01:00
Hans-Christian Ebke
dfcc98c845 C++11: Do CMake-less C++11 checking. 2015-11-10 15:00:19 +01:00
Hans-Christian Ebke
dda4b41cac C++11: Got rid of narrowing conversion warnings in legacy code.
Added explicit static_cast along with static SFINAE checks to VectorT
constructor.
2015-11-09 22:55:42 +01:00
Hans-Christian Ebke
26914cba92 C++11: Legacy incompatibility fixes for VectorT C++11 features. 2015-11-09 21:21:19 +01:00
Hans-Christian Ebke
c2c627ed4d C++11: Added _htmlColor literal operator.
Allows inline specification of colors in HTML syntax.
2015-11-09 18:51:00 +01:00
Hans-Christian Ebke
97ccb1d641 Modernized VectorT constructors in C++11 branch.
* Less redundancy.
* We can now make some of the VectorT constructors constexpr which is
useful for other features.
2015-11-09 18:46:39 +01:00
Christopher Tenter
2e709ae103 implement more robust algorithm for surface normal computation 2015-11-03 21:27:28 +01:00
Jan Möbius
fa57b1de63 Changed order of typedefs 2015-10-27 14:07:51 +01:00
Martin Marinov
acce6af3c0 Some minor changes to the StatusSet<> docs. 2015-10-23 17:45:29 +01:00
Martin Marinov
552598141c Fixed the most obvious issues with StatusSeT<> and its derivatives. Improved slightly the formatting and added a few lines documentation. 2015-10-23 17:19:06 +01:00
Jan Möbius
f5d2560656 More efficient implementation of opposite_halfedge handle
Old code compiled to
   0x00000000004594a0 <+0>:    lea    -0x1(%rsi),%edx
   0x00000000004594a3 <+3>:    lea    0x1(%rsi),%eax
   0x00000000004594a6 <+6>:    and    $0x1,%esi
   0x00000000004594a9 <+9>:    cmovne %edx,%eax
   0x00000000004594ac <+12>:    retq

New code creates
   0x00000000004594a0 <+0>:    mov    %esi,%eax
   0x00000000004594a2 <+2>:    xor    $0x1,%eax
   0x00000000004594a5 <+5>:    retq

So no conditionals, jumps and fewer instructions

closes #5
2015-10-23 10:25:47 +02:00