summaryrefslogtreecommitdiffstats
path: root/cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h
blob: 220bf6713507f045a760c6beddd1fde2d8831627 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- ../../vcglib/vcg/space/deprecated_point.h.orig	2014-04-01 17:10:03.000000000 +0200
+++ ../../vcglib/vcg/space/deprecated_point.h	2015-01-24 23:55:25.000000000 +0100
@@ -59,6 +59,10 @@
 #include <vcg/math/base.h>
 #include <vcg/space/space.h>
 
+#if defined(__FreeBSD__) && __FreeBSD_version < 1000000
+#define static_assert(cond,msg) typedef char static_assertion_##__FILE__##__LINE__[(cond)?1:-1]
+#endif
+
 namespace vcg {
 
     namespace ndim{
@@ -164,14 +168,14 @@
 	}
   inline const S &X() const { return _v[0]; }
     inline const S &Y() const { return _v[1]; }
-    inline const S &Z() const { static_assert(N>2); return _v[2]; }
+    inline const S &Z() const { static_assert(N>2, "No Z coordinate in R² space"); return _v[2]; }
      /// W is in any case the last coordinate.
      /// (in a 2D point, W() == Y(). In a 3D point, W()==Z()
      ///  in a 4D point, W() is a separate component)
     inline const S &W() const { return _v[N-1]; }
     inline S &X() { return _v[0]; }
     inline S &Y() { return _v[1]; }
-    inline S &Z() { static_assert(N>2); return _v[2]; }
+    inline S &Z() { static_assert(N>2, "No Z coordinate in R² space"); return _v[2]; }
     inline S &W() { return _v[N-1]; }
     inline const S * V() const
     {
OpenPOWER on IntegriCloud