cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.3k stars 905 forks source link

Using OpenMVS as a third party library #332

Closed jianweike closed 6 years ago

jianweike commented 6 years ago

Specifications like the version of the project, operating system, and hardware

Ubuntu 16.04, Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz

Steps to reproduce the problem

I have built and installed openMVS (make, make install). Here is my CmakeLists.txt: cmake_minimum_required(VERSION 3.5) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) project(example) find_package(OpenMVS CONFIG REQUIRED) include_directories(${OpenMVS_INCLUDE_DIRS}) add_executable(example main.cpp) target_link_libraries(example ${OpenMVS_LIBRARIES})

Then I got errors: [ 50%] Building CXX object CMakeFiles/example.dir/main.cpp.o In file included from /usr/local/include/OpenMVS/Common/Types.h:2730:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Types.inl:666:33: error: ‘Eigen’ does not name a type FORCEINLINE bool ISFINITE(const Eigen::Matrix<TYPE,R,C>& m) ^ /usr/local/include/OpenMVS/Common/Types.inl:666:46: error: expected unqualified-id before ‘<’ token FORCEINLINE bool ISFINITE(const Eigen::Matrix<TYPE,R,C>& m) ^ /usr/local/include/OpenMVS/Common/Types.inl:666:46: error: expected ‘)’ before ‘<’ token /usr/local/include/OpenMVS/Common/Types.inl:666:46: error: expected initializer before ‘<’ token In file included from /usr/local/include/OpenMVS/Common/Rotation.h:586:0, from /usr/local/include/OpenMVS/Common/Types.h:2731, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Rotation.inl: In member function ‘SEACAVE::TRMatrixBase::Vec SEACAVE::TRMatrixBase::GetRotationAxisAngle() const’: /usr/local/include/OpenMVS/Common/Rotation.inl:1312:2: error: ‘Eigen’ has not been declared Eigen::AngleAxis aa; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1312:19: error: ‘T’ was not declared in this scope Eigen::AngleAxis aa; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1312:22: error: ‘aa’ was not declared in this scope Eigen::AngleAxis aa; ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2732:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Sphere.h: At global scope: /usr/local/include/OpenMVS/Common/Sphere.h:30:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/Sphere.h:32:2: error: ‘POINT’ does not name a type POINT center; // sphere center point ^ /usr/local/include/OpenMVS/Common/Sphere.h:38:23: error: ‘POINT’ does not name a type inline TSphere(const POINT& c, TYPE r) : center(c), radius(r) {} ^ /usr/local/include/OpenMVS/Common/Sphere.h:39:23: error: ‘POINT’ does not name a type inline TSphere(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:39:40: error: ‘POINT’ does not name a type inline TSphere(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:39:57: error: ‘POINT’ does not name a type inline TSphere(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:41:24: error: ‘POINT’ does not name a type inline void Set(const POINT& c, TYPE r); ^ /usr/local/include/OpenMVS/Common/Sphere.h:42:24: error: ‘POINT’ does not name a type inline void Set(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:42:41: error: ‘POINT’ does not name a type inline void Set(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:42:58: error: ‘POINT’ does not name a type inline void Set(const POINT& p1, const POINT& p2, const POINT& p3); ^ /usr/local/include/OpenMVS/Common/Sphere.h:47:29: error: ‘POINT’ does not name a type inline UINT Classify(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Sphere.h: In constructor ‘SEACAVE::TSphere<TYPE, DIMS>::TSphere(const int&, TYPE)’: /usr/local/include/OpenMVS/Common/Sphere.h:38:43: error: class ‘SEACAVE::TSphere<TYPE, DIMS>’ does not have any field named ‘center’ inline TSphere(const POINT& c, TYPE r) : center(c), radius(r) {} ^ In file included from /usr/local/include/OpenMVS/Common/Sphere.h:51:0, from /usr/local/include/OpenMVS/Common/Types.h:2732, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Sphere.inl: At global scope: /usr/local/include/OpenMVS/Common/Sphere.inl:15:42: error: ‘POINT’ does not name a type inline TSphere<TYPE,DIMS>::TSphere(const POINT& p1, const POINT& p2, const POIN ^ /usr/local/include/OpenMVS/Common/Sphere.inl:15:59: error: ‘POINT’ does not name a type inline TSphere<TYPE,DIMS>::TSphere(const POINT& p1, const POINT& p2, const POIN ^ /usr/local/include/OpenMVS/Common/Sphere.inl:15:76: error: ‘POINT’ does not name a type TSphere<TYPE,DIMS>::TSphere(const POINT& p1, const POINT& p2, const POINT& p3) ^ /usr/local/include/OpenMVS/Common/Sphere.inl:23:43: error: ‘POINT’ does not name a type inline void TSphere<TYPE,DIMS>::Set(const POINT& c, TYPE r) ^ /usr/local/include/OpenMVS/Common/Sphere.inl: In member function ‘void SEACAVE::TSphere<TYPE, DIMS>::Set(const int&, TYPE)’: /usr/local/include/OpenMVS/Common/Sphere.inl:25:2: error: ‘center’ was not declared in this scope center = c; ^ /usr/local/include/OpenMVS/Common/Sphere.inl: At global scope: /usr/local/include/OpenMVS/Common/Sphere.inl:29:44: error: ‘POINT’ does not name a type inline void TSphere<TYPE, DIMS>::Set(const POINT& p1, const POINT& p2, const PO ^ /usr/local/include/OpenMVS/Common/Sphere.inl:29:61: error: ‘POINT’ does not name a type inline void TSphere<TYPE, DIMS>::Set(const POINT& p1, const POINT& p2, const PO ^ /usr/local/include/OpenMVS/Common/Sphere.inl:29:78: error: ‘POINT’ does not name a type oid TSphere<TYPE, DIMS>::Set(const POINT& p1, const POINT& p2, const POINT& p3) ^ /usr/local/include/OpenMVS/Common/Sphere.inl: In member function ‘void SEACAVE::TSphere<TYPE, DIMS>::Set(const int&, const int&, const int&)’: /usr/local/include/OpenMVS/Common/Sphere.inl:32:19: error: request for member ‘squaredNorm’ in ‘(p1 - p2)’, which is of non-class type ‘int’ TYPE A((p1 - p2).squaredNorm()); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:33:19: error: request for member ‘squaredNorm’ in ‘(p2 - p3)’, which is of non-class type ‘int’ TYPE B((p2 - p3).squaredNorm()); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:34:19: error: request for member ‘squaredNorm’ in ‘(p3 - p1)’, which is of non-class type ‘int’ TYPE C((p3 - p1).squaredNorm()); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:37:8: error: ‘POINT’ does not name a type const POINT a(&p3), b(&p1), c(&p2); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:38:40: error: ‘b’ was not declared in this scope if (B < C) std::swap(B, C), std::swap(b, c); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:38:43: error: ‘c’ was not declared in this scope if (B < C) std::swap(B, C), std::swap(b, c); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:39:40: error: ‘a’ was not declared in this scope if (A < B) std::swap(A, B), std::swap(a, b); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:39:43: error: ‘b’ was not declared in this scope if (A < B) std::swap(A, B), std::swap(a, b); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:45:3: error: ‘center’ was not declared in this scope center = (b + c) / TYPE(2); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:45:14: error: ‘b’ was not declared in this scope center = (b + c) / TYPE(2); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:45:19: error: ‘c’ was not declared in this scope center = (b + c) / TYPE(2); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:50:9: error: ‘POINT’ does not name a type const POINT alpha(a - c), beta(b - c); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:51:9: error: ‘POINT’ does not name a type const POINT alphaXbeta(alpha.cross(beta)); ^ /usr/local/include/OpenMVS/Common/Sphere.inl:52:3: error: ‘center’ was not declared in this scope center = (beta alpha.squaredNorm() - alpha beta.squaredNorm()).cross(alph ^ /usr/local/include/OpenMVS/Common/Sphere.inl:52:13: error: ‘beta’ was not declared in this scope center = (beta alpha.squaredNorm() - alpha beta.squaredNorm()).cross(alph ^ /usr/local/include/OpenMVS/Common/Sphere.inl:52:20: error: ‘alpha’ was not declared in this scope center = (beta alpha.squaredNorm() - alpha beta.squaredNorm()).cross(alph ^ /usr/local/include/OpenMVS/Common/Sphere.inl:52:76: error: ‘alphaXbeta’ was not declared in this scope r = (beta alpha.squaredNorm() - alpha beta.squaredNorm()).cross(alphaXbeta) ^ /usr/local/include/OpenMVS/Common/Sphere.inl:53:44: error: ‘c’ was not declared in this scope (alphaXbeta.squaredNorm() TYPE(2)) + *c; ^ /usr/local/include/OpenMVS/Common/Sphere.inl: At global scope: /usr/local/include/OpenMVS/Common/Sphere.inl:74:49: error: ‘POINT’ does not name a type inline UINT TSphere<TYPE, DIMS>::Classify(const POINT& p) const ^ /usr/local/include/OpenMVS/Common/Sphere.inl: In member function ‘UINT SEACAVE::TSphere<TYPE, DIMS>::Classify(const int&) const’: /usr/local/include/OpenMVS/Common/Sphere.inl:76:7: error: ‘center’ was not declared in this scope if ((center - p).squaredNorm() > SQUARE(radius)) ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2733:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.h: At global scope: /usr/local/include/OpenMVS/Common/AABB.h:30:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/AABB.h:31:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,DIMS,Eigen::RowMajor> MATRIX; ^ /usr/local/include/OpenMVS/Common/AABB.h:36:2: error: ‘POINT’ does not name a type POINT ptMin, ptMax; // box extreme points ^ /usr/local/include/OpenMVS/Common/AABB.h:42:21: error: ‘POINT’ does not name a type inline TAABB(const POINT& _pt); ^ /usr/local/include/OpenMVS/Common/AABB.h:43:21: error: ‘POINT’ does not name a type inline TAABB(const POINT& _ptMin, const POINT& _ptMax); ^ /usr/local/include/OpenMVS/Common/AABB.h:43:42: error: ‘POINT’ does not name a type inline TAABB(const POINT& _ptMin, const POINT& _ptMax); ^ /usr/local/include/OpenMVS/Common/AABB.h:44:21: error: ‘POINT’ does not name a type inline TAABB(const POINT& center, const TYPE& radius); ^ /usr/local/include/OpenMVS/Common/AABB.h:51:24: error: ‘POINT’ does not name a type inline void Set(const POINT& _pt); ^ /usr/local/include/OpenMVS/Common/AABB.h:52:24: error: ‘POINT’ does not name a type inline void Set(const POINT& _ptMin, const POINT& _ptMax); ^ /usr/local/include/OpenMVS/Common/AABB.h:52:45: error: ‘POINT’ does not name a type inline void Set(const POINT& _ptMin, const POINT& _ptMax); ^ /usr/local/include/OpenMVS/Common/AABB.h:53:24: error: ‘POINT’ does not name a type inline void Set(const POINT& center, const TYPE& radius); ^ /usr/local/include/OpenMVS/Common/AABB.h:62:28: error: ‘POINT’ does not name a type void InsertFull(const POINT&); ^ /usr/local/include/OpenMVS/Common/AABB.h:63:24: error: ‘POINT’ does not name a type void Insert(const POINT&); ^ /usr/local/include/OpenMVS/Common/AABB.h:66:30: error: ‘POINT’ does not name a type inline void Translate(const POINT&); ^ /usr/local/include/OpenMVS/Common/AABB.h:67:30: error: ‘MATRIX’ does not name a type inline void Transform(const MATRIX&); ^ /usr/local/include/OpenMVS/Common/AABB.h:69:9: error: ‘POINT’ does not name a type inline POINT GetCenter() const; ^ /usr/local/include/OpenMVS/Common/AABB.h:70:24: error: ‘POINT’ has not been declared inline void GetCenter(POINT&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:72:9: error: ‘POINT’ does not name a type inline POINT GetSize() const; ^ /usr/local/include/OpenMVS/Common/AABB.h:73:22: error: ‘POINT’ has not been declared inline void GetSize(POINT&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:75:32: error: ‘POINT’ has not been declared inline void GetCorner(BYTE i, POINT&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:76:9: error: ‘POINT’ does not name a type inline POINT GetCorner(BYTE i) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:77:25: error: ‘POINT’ has not been declared inline void GetCorners(POINT pts[numCorners]) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:82:24: error: ‘POINT’ does not name a type bool Intersects(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:83:32: error: ‘POINT’ does not name a type bool IntersectsComplete(const POINT&, TYPE) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:84:32: error: ‘POINT’ does not name a type bool IntersectsComplete(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h:87:25: error: ‘POINT’ does not name a type unsigned SplitBy(const POINT&, TAABB [numChildren], unsigned&) const; ^ /usr/local/include/OpenMVS/Common/AABB.h: In member function ‘TYPE& SEACAVE::TAABB<TYPE, DIMS>::operator’: /usr/local/include/OpenMVS/Common/AABB.h:89:66: error: ‘ptMin’ was not declared in this scope inline TYPE& operator [] (BYTE i) { ASSERT(i<numScalar); return ptMin.data()[i ^ /usr/local/include/OpenMVS/Common/AABB.h: In member function ‘TYPE SEACAVE::TAABB<TYPE, DIMS>::operator const’: /usr/local/include/OpenMVS/Common/AABB.h:90:71: error: ‘ptMin’ was not declared in this scope nline TYPE operator [] (BYTE i) const { ASSERT(i<numScalar); return ptMin.data( ^ In file included from /usr/local/include/OpenMVS/Common/AABB.h:95:0, from /usr/local/include/OpenMVS/Common/Types.h:2733, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.inl: In constructor ‘SEACAVE::TAABB<TYPE, DIMS>::TAABB(bool)’: /usr/local/include/OpenMVS/Common/AABB.inl:17:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMin’ ptMin(POINT::Constant(std::numeric_limits::max())), ^ /usr/local/include/OpenMVS/Common/AABB.inl:17:8: error: ‘POINT’ has not been declared ptMin(POINT::Constant(std::numeric_limits::max())), ^ /usr/local/include/OpenMVS/Common/AABB.inl:18:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMax’ ptMax(POINT::Constant(std::numeric_limits::lowest())) ^ /usr/local/include/OpenMVS/Common/AABB.inl:18:8: error: ‘POINT’ has not been declared ptMax(POINT::Constant(std::numeric_limits::lowest())) ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:22:38: error: ‘POINT’ does not name a type inline TAABB<TYPE,DIMS>::TAABB(const POINT& _pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In constructor ‘SEACAVE::TAABB<TYPE, DIMS>::TAABB(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:24:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMin’ ptMin(_pt), ptMax(_pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl:24:14: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMax’ ptMin(_pt), ptMax(_pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:28:38: error: ‘POINT’ does not name a type inline TAABB<TYPE,DIMS>::TAABB(const POINT& _ptMin, const POINT& _ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl:28:59: error: ‘POINT’ does not name a type inline TAABB<TYPE,DIMS>::TAABB(const POINT& _ptMin, const POINT& _ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In constructor ‘SEACAVE::TAABB<TYPE, DIMS>::TAABB(const int&, const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:30:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMin’ ptMin(_ptMin), ptMax(_ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl:30:17: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMax’ ptMin(_ptMin), ptMax(_ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:34:38: error: ‘POINT’ does not name a type inline TAABB<TYPE,DIMS>::TAABB(const POINT& center, const TYPE& radius) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In constructor ‘SEACAVE::TAABB<TYPE, DIMS>::TAABB(const int&, const TYPE&)’: /usr/local/include/OpenMVS/Common/AABB.inl:36:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMin’ ptMin(center-POINT::Constant(radius)), ptMax(center+POINT::Constant(radius)) ^ /usr/local/include/OpenMVS/Common/AABB.inl:36:15: error: ‘POINT’ has not been declared ptMin(center-POINT::Constant(radius)), ptMax(center+POINT::Constant(radius)) ^ /usr/local/include/OpenMVS/Common/AABB.inl:36:41: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMax’ ptMin(center-POINT::Constant(radius)), ptMax(center+POINT::Constant(radius)) ^ /usr/local/include/OpenMVS/Common/AABB.inl:36:54: error: ‘POINT’ has not been declared ptMin(center-POINT::Constant(radius)), ptMax(center+POINT::Constant(radius)) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In constructor ‘SEACAVE::TAABB<TYPE, DIMS>::TAABB(const SEACAVE::TAABB<CTYPE, DIMS>&)’: /usr/local/include/OpenMVS/Common/AABB.inl:49:2: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMin’ ptMin(rhs.ptMin.template cast()), ptMax(rhs.ptMax.template cast()) ^ /usr/local/include/OpenMVS/Common/AABB.inl:49:42: error: class ‘SEACAVE::TAABB<TYPE, DIMS>’ does not have any field named ‘ptMax’ ptMin(rhs.ptMin.template cast()), ptMax(rhs.ptMax.template cast()) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Reset()’: /usr/local/include/OpenMVS/Common/AABB.inl:58:2: error: ‘ptMin’ was not declared in this scope ptMin = POINT::Constant(std::numeric_limits::max()); ^ /usr/local/include/OpenMVS/Common/AABB.inl:58:10: error: ‘POINT’ has not been declared ptMin = POINT::Constant(std::numeric_limits::max()); ^ /usr/local/include/OpenMVS/Common/AABB.inl:59:2: error: ‘ptMax’ was not declared in this scope ptMax = POINT::Constant(std::numeric_limits::lowest()); ^ /usr/local/include/OpenMVS/Common/AABB.inl:59:10: error: ‘POINT’ has not been declared ptMax = POINT::Constant(std::numeric_limits::lowest()); ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:62:41: error: ‘POINT’ does not name a type inline void TAABB<TYPE,DIMS>::Set(const POINT& _pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Set(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:64:2: error: ‘ptMin’ was not declared in this scope ptMin = ptMax = _pt; ^ /usr/local/include/OpenMVS/Common/AABB.inl:64:10: error: ‘ptMax’ was not declared in this scope ptMin = ptMax = _pt; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:67:41: error: ‘POINT’ does not name a type inline void TAABB<TYPE,DIMS>::Set(const POINT& _ptMin, const POINT& _ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl:67:62: error: ‘POINT’ does not name a type inline void TAABB<TYPE,DIMS>::Set(const POINT& _ptMin, const POINT& _ptMax) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Set(const int&, const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:69:2: error: ‘ptMin’ was not declared in this scope ptMin = _ptMin; ^ /usr/local/include/OpenMVS/Common/AABB.inl:70:2: error: ‘ptMax’ was not declared in this scope ptMax = _ptMax; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:73:41: error: ‘POINT’ does not name a type inline void TAABB<TYPE,DIMS>::Set(const POINT& center, const TYPE& radius) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Set(const int&, const TYPE&)’: /usr/local/include/OpenMVS/Common/AABB.inl:75:2: error: ‘ptMin’ was not declared in this scope ptMin = center-POINT::Constant(radius); ^ /usr/local/include/OpenMVS/Common/AABB.inl:75:17: error: ‘POINT’ has not been declared ptMin = center-POINT::Constant(radius); ^ /usr/local/include/OpenMVS/Common/AABB.inl:76:2: error: ‘ptMax’ was not declared in this scope ptMax = center+POINT::Constant(radius); ^ /usr/local/include/OpenMVS/Common/AABB.inl:76:17: error: ‘POINT’ has not been declared ptMax = center+POINT::Constant(radius); ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Set(const TPoint, size_t)’: /usr/local/include/OpenMVS/Common/AABB.inl:83:2: error: ‘ptMin’ was not declared in this scope ptMin = ptMax = pts[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:83:10: error: ‘ptMax’ was not declared in this scope ptMin = ptMax = pts[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘bool SEACAVE::TAABB<TYPE, DIMS>::IsEmpty() const’: /usr/local/include/OpenMVS/Common/AABB.inl:94:7: error: ‘ptMin’ was not declared in this scope if (ptMin[i] > ptMax[i]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:94:18: error: ‘ptMax’ was not declared in this scope if (ptMin[i] > ptMax[i]) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Enlarge(TYPE)’: /usr/local/include/OpenMVS/Common/AABB.inl:104:2: error: ‘ptMin’ was not declared in this scope ptMin.array() -= x; ^ /usr/local/include/OpenMVS/Common/AABB.inl:105:2: error: ‘ptMax’ was not declared in this scope ptMax.array() += x; ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::EnlargePercent(TYPE)’: /usr/local/include/OpenMVS/Common/AABB.inl:110:2: error: ‘ptMin’ was not declared in this scope ptMin = x; ^ /usr/local/include/OpenMVS/Common/AABB.inl:111:2: error: ‘ptMax’ was not declared in this scope ptMax = x; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:117:41: error: prototype for ‘typename SEACAVE::TAABB<TYPE, DIMS>::POINT SEACAVE::TAABB<TYPE, DIMS>::GetCenter() const’ does not match any in class ‘SEACAVE::TAABB<TYPE, DIMS>’ inline typename TAABB<TYPE,DIMS>::POINT TAABB<TYPE,DIMS>::GetCenter() const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2733:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.h:70:14: error: candidate is: void SEACAVE::TAABB<TYPE, DIMS>::GetCenter(int&) const inline void GetCenter(POINT&) const; ^ In file included from /usr/local/include/OpenMVS/Common/AABB.h:95:0, from /usr/local/include/OpenMVS/Common/Types.h:2733, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.inl:122:41: error: variable or field ‘GetCenter’ declared void inline void TAABB<TYPE,DIMS>::GetCenter(POINT& ptCenter) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:122:41: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/AABB.inl:122:48: error: ‘ptCenter’ was not declared in this scope inline void TAABB<TYPE,DIMS>::GetCenter(POINT& ptCenter) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:130:41: error: prototype for ‘typename SEACAVE::TAABB<TYPE, DIMS>::POINT SEACAVE::TAABB<TYPE, DIMS>::GetSize() const’ does not match any in class ‘SEACAVE::TAABB<TYPE, DIMS>’ inline typename TAABB<TYPE,DIMS>::POINT TAABB<TYPE,DIMS>::GetSize() const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2733:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.h:73:14: error: candidate is: void SEACAVE::TAABB<TYPE, DIMS>::GetSize(int&) const inline void GetSize(POINT&) const; ^ In file included from /usr/local/include/OpenMVS/Common/AABB.h:95:0, from /usr/local/include/OpenMVS/Common/Types.h:2733, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/AABB.inl:135:39: error: variable or field ‘GetSize’ declared void inline void TAABB<TYPE,DIMS>::GetSize(POINT& ptSize) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:135:39: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/AABB.inl:135:46: error: ‘ptSize’ was not declared in this scope inline void TAABB<TYPE,DIMS>::GetSize(POINT& ptSize) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:143:49: error: ‘POINT’ has not been declared inline void TAABB<TYPE,DIMS>::GetCorner(BYTE i, POINT& ptCorner) const ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::GetCorner(BYTE, int&) const’: /usr/local/include/OpenMVS/Common/AABB.inl:147:13: error: expression cannot be used as a function ptCorner(0) = operator; ^ /usr/local/include/OpenMVS/Common/AABB.inl:150:13: error: expression cannot be used as a function ptCorner(0) = operator[]((i/2)2 + 0); ^ /usr/local/include/OpenMVS/Common/AABB.inl:151:13: error: expression cannot be used as a function ptCorner(1) = operator[]((i%2)2 + 1); ^ /usr/local/include/OpenMVS/Common/AABB.inl:154:13: error: expression cannot be used as a function ptCorner(0) = operator[]((i/4)3 + 0); ^ /usr/local/include/OpenMVS/Common/AABB.inl:155:13: error: expression cannot be used as a function ptCorner(1) = operator3 + 1); ^ /usr/local/include/OpenMVS/Common/AABB.inl:156:13: error: expression cannot be used as a function ptCorner(2) = operator[]((i%2)3 + 2); ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:160:41: error: prototype for ‘typename SEACAVE::TAABB<TYPE, DIMS>::POINT SEACAVE::TAABB<TYPE, DIMS>::GetCorner(BYTE) const’ does not match any in class ‘SEACAVE::TAABB<TYPE, DIMS>’ inline typename TAABB<TYPE,DIMS>::POINT TAABB<TYPE,DIMS>::GetCorner(BYTE i) con ^ /usr/local/include/OpenMVS/Common/AABB.inl:143:13: error: candidate is: void SEACAVE::TAABB<TYPE, DIMS>::GetCorner(BYTE, int&) const inline void TAABB<TYPE,DIMS>::GetCorner(BYTE i, POINT& ptCorner) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:167:42: error: variable or field ‘GetCorners’ declared void inline void TAABB<TYPE,DIMS>::GetCorners(POINT pts[numCorners]) const ^ /usr/local/include/OpenMVS/Common/AABB.inl:167:42: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/AABB.inl:177:47: error: ‘POINT’ does not name a type inline void TAABB<TYPE,DIMS>::Translate(const POINT& d) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Translate(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:179:2: error: ‘ptMin’ was not declared in this scope ptMin += d; ^ /usr/local/include/OpenMVS/Common/AABB.inl:180:2: error: ‘ptMax’ was not declared in this scope ptMax += d; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:187:47: error: ‘MATRIX’ does not name a type inline void TAABB<TYPE,DIMS>::Transform(const MATRIX& m) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Transform(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:189:2: error: ‘ptMin’ was not declared in this scope ptMin = m ptMin; ^ /usr/local/include/OpenMVS/Common/AABB.inl:190:2: error: ‘ptMax’ was not declared in this scope ptMax = m ptMax; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:197:41: error: ‘POINT’ does not name a type void TAABB<TYPE,DIMS>::InsertFull(const POINT& pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::InsertFull(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:199:6: error: ‘ptMin’ was not declared in this scope if (ptMin[0] > pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:199:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[0] > pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:200:18: error: invalid types ‘const int[int]’ for array subscript ptMin[0] = pt[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:201:6: error: ‘ptMax’ was not declared in this scope if (ptMax[0] < pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:201:21: error: invalid types ‘const int[int]’ for array subscript if (ptMax[0] < pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:202:18: error: invalid types ‘const int[int]’ for array subscript ptMax[0] = pt[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:205:6: error: ‘ptMin’ was not declared in this scope if (ptMin[1] > pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:205:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[1] > pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:206:18: error: invalid types ‘const int[int]’ for array subscript ptMin[1] = pt[1]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:207:6: error: ‘ptMax’ was not declared in this scope if (ptMax[1] < pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:207:21: error: invalid types ‘const int[int]’ for array subscript if (ptMax[1] < pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:208:18: error: invalid types ‘const int[int]’ for array subscript ptMax[1] = pt[1]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:212:6: error: ‘ptMin’ was not declared in this scope if (ptMin[2] > pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:212:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[2] > pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:213:18: error: invalid types ‘const int[int]’ for array subscript ptMin[2] = pt[2]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:214:6: error: ‘ptMax’ was not declared in this scope if (ptMax[2] < pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:214:21: error: invalid types ‘const int[int]’ for array subscript if (ptMax[2] < pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:215:18: error: invalid types ‘const int[int]’ for array subscript ptMax[2] = pt[2]; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:220:37: error: ‘POINT’ does not name a type void TAABB<TYPE,DIMS>::Insert(const POINT& pt) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Insert(const int&)’: /usr/local/include/OpenMVS/Common/AABB.inl:222:6: error: ‘ptMin’ was not declared in this scope if (ptMin[0] > pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:222:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[0] > pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:223:18: error: invalid types ‘const int[int]’ for array subscript ptMin[0] = pt[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:224:11: error: ‘ptMax’ was not declared in this scope else if (ptMax[0] < pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:224:26: error: invalid types ‘const int[int]’ for array subscript else if (ptMax[0] < pt[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:225:18: error: invalid types ‘const int[int]’ for array subscript ptMax[0] = pt[0]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:228:6: error: ‘ptMin’ was not declared in this scope if (ptMin[1] > pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:228:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[1] > pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:229:18: error: invalid types ‘const int[int]’ for array subscript ptMin[1] = pt[1]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:230:11: error: ‘ptMax’ was not declared in this scope else if (ptMax[1] < pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:230:26: error: invalid types ‘const int[int]’ for array subscript else if (ptMax[1] < pt[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:231:18: error: invalid types ‘const int[int]’ for array subscript ptMax[1] = pt[1]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:235:6: error: ‘ptMin’ was not declared in this scope if (ptMin[2] > pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:235:21: error: invalid types ‘const int[int]’ for array subscript if (ptMin[2] > pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:236:18: error: invalid types ‘const int[int]’ for array subscript ptMin[2] = pt[2]; ^ /usr/local/include/OpenMVS/Common/AABB.inl:237:11: error: ‘ptMax’ was not declared in this scope else if (ptMax[2] < pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:237:26: error: invalid types ‘const int[int]’ for array subscript else if (ptMax[2] < pt[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:238:18: error: invalid types ‘const int[int]’ for array subscript ptMax[2] = pt[2]; ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘void SEACAVE::TAABB<TYPE, DIMS>::Insert(const SEACAVE::TAABB<TYPE, DIMS>&)’: /usr/local/include/OpenMVS/Common/AABB.inl:247:6: error: ‘ptMin’ was not declared in this scope if (ptMin[0] > aabb.ptMin[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:249:6: error: ‘ptMax’ was not declared in this scope if (ptMax[0] < aabb.ptMax[0]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:253:6: error: ‘ptMin’ was not declared in this scope if (ptMin[1] > aabb.ptMin[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:255:6: error: ‘ptMax’ was not declared in this scope if (ptMax[1] < aabb.ptMax[1]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:260:6: error: ‘ptMin’ was not declared in this scope if (ptMin[2] > aabb.ptMin[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl:262:6: error: ‘ptMax’ was not declared in this scope if (ptMax[2] < aabb.ptMax[2]) ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘bool SEACAVE::TAABB<TYPE, DIMS>::Intersects(const SEACAVE::TAABB<TYPE, DIMS>&) const’: /usr/local/include/OpenMVS/Common/AABB.inl:273:22: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[0] < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:274:23: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[0] >= ptMax[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:276:22: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[1] < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:277:23: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[1] >= ptMax[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:280:22: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[2] < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:281:23: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[2] >= ptMax[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘bool SEACAVE::TAABB<TYPE, DIMS>::IntersectsComplete(const SEACAVE::TAABB<TYPE, DIMS>&, TYPE) const’: /usr/local/include/OpenMVS/Common/AABB.inl:288:32: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[0]+tolerance < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:289:22: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[0] > ptMax[0]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:291:32: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[1]+tolerance < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:292:22: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[1] > ptMax[1]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:295:32: error: ‘ptMin’ was not declared in this scope if (aabb.ptMax[2]+tolerance < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:296:22: error: ‘ptMax’ was not declared in this scope if (aabb.ptMin[2] > ptMax[2]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:309:41: error: ‘POINT’ does not name a type bool TAABB<TYPE,DIMS>::Intersects(const POINT& pt) const ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘bool SEACAVE::TAABB<TYPE, DIMS>::Intersects(const int&) const’: /usr/local/include/OpenMVS/Common/AABB.inl:311:10: error: invalid types ‘const int[int]’ for array subscript if (pt[0] < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:311:14: error: ‘ptMin’ was not declared in this scope if (pt[0] < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:312:10: error: invalid types ‘const int[int]’ for array subscript if (pt[0] >= ptMax[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:312:15: error: ‘ptMax’ was not declared in this scope if (pt[0] >= ptMax[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:314:10: error: invalid types ‘const int[int]’ for array subscript if (pt[1] < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:314:14: error: ‘ptMin’ was not declared in this scope if (pt[1] < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:315:10: error: invalid types ‘const int[int]’ for array subscript if (pt[1] >= ptMax[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:315:15: error: ‘ptMax’ was not declared in this scope if (pt[1] >= ptMax[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:318:10: error: invalid types ‘const int[int]’ for array subscript if (pt[2] < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:318:14: error: ‘ptMin’ was not declared in this scope if (pt[2] < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:319:10: error: invalid types ‘const int[int]’ for array subscript if (pt[2] >= ptMax[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:319:15: error: ‘ptMax’ was not declared in this scope if (pt[2] >= ptMax[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:324:49: error: ‘POINT’ does not name a type bool TAABB<TYPE,DIMS>::IntersectsComplete(const POINT& pt, TYPE tolerance) cons ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘bool SEACAVE::TAABB<TYPE, DIMS>::IntersectsComplete(const int&, TYPE) const’: /usr/local/include/OpenMVS/Common/AABB.inl:326:10: error: invalid types ‘const int[int]’ for array subscript if (pt[0]+tolerance < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:326:24: error: ‘ptMin’ was not declared in this scope if (pt[0]+tolerance < ptMin[0]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:327:10: error: invalid types ‘const int[int]’ for array subscript if (pt[0] > ptMax[0]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:327:14: error: ‘ptMax’ was not declared in this scope if (pt[0] > ptMax[0]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:329:10: error: invalid types ‘const int[int]’ for array subscript if (pt[1]+tolerance < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:329:24: error: ‘ptMin’ was not declared in this scope if (pt[1]+tolerance < ptMin[1]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:330:10: error: invalid types ‘const int[int]’ for array subscript if (pt[1] > ptMax[1]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:330:14: error: ‘ptMax’ was not declared in this scope if (pt[1] > ptMax[1]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:333:10: error: invalid types ‘const int[int]’ for array subscript if (pt[2]+tolerance < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:333:24: error: ‘ptMin’ was not declared in this scope if (pt[2]+tolerance < ptMin[2]) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:334:10: error: invalid types ‘const int[int]’ for array subscript if (pt[2] > ptMax[2]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl:334:14: error: ‘ptMax’ was not declared in this scope if (pt[2] > ptMax[2]+tolerance) return false; ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:339:49: error: ‘POINT’ does not name a type bool TAABB<TYPE,DIMS>::IntersectsComplete(const POINT& pt) const ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘unsigned int SEACAVE::TAABB<TYPE, DIMS>::SplitBy(TYPE, int, SEACAVE::TAABB<TYPE, DIMS>) const’: /usr/local/include/OpenMVS/Common/AABB.inl:352:11: error: ‘ptMin’ was not declared in this scope if (d >= ptMin[a] && d < ptMax[a]) { ^ /usr/local/include/OpenMVS/Common/AABB.inl:352:27: error: ‘ptMax’ was not declared in this scope if (d >= ptMin[a] && d < ptMax[a]) { ^ /usr/local/include/OpenMVS/Common/AABB.inl: At global scope: /usr/local/include/OpenMVS/Common/AABB.inl:368:42: error: ‘POINT’ does not name a type unsigned TAABB<TYPE,DIMS>::SplitBy(const POINT& pt, TAABB child[numChildren], u ^ /usr/local/include/OpenMVS/Common/AABB.inl: In member function ‘unsigned int SEACAVE::TAABB<TYPE, DIMS>::SplitBy(const int&, SEACAVE::TAABB<TYPE, DIMS>, unsigned int&) const’: /usr/local/include/OpenMVS/Common/AABB.inl:374:22: error: invalid types ‘const int[int]’ for array subscript size = SplitBy(pt[a], a, child); ^ /usr/local/include/OpenMVS/Common/AABB.inl:381:53: error: invalid types ‘const int[int]’ for array subscript n += child[(idxFirst+b)%numChildren].SplitBy(pt[a], a, child+((idxFirst+size ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2734:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.h: At global scope: /usr/local/include/OpenMVS/Common/OBB.h:36:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/OBB.h:37:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,DIMS,Eigen::RowMajor> MATRIX; ^ /usr/local/include/OpenMVS/Common/OBB.h:41:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<ITYPE,DIMS,1> TRIANGLE; ^ /usr/local/include/OpenMVS/Common/OBB.h:45:2: error: ‘MATRIX’ does not name a type MATRIX m_rot; // rotation matrix of the transformation (orthonormal axes) ^ /usr/local/include/OpenMVS/Common/OBB.h:46:2: error: ‘POINT’ does not name a type POINT m_pos; // translation of the transformation (center-point) ^ /usr/local/include/OpenMVS/Common/OBB.h:47:2: error: ‘POINT’ does not name a type POINT m_ext; // bounding box extents (half axis length) ^ /usr/local/include/OpenMVS/Common/OBB.h:52:20: error: ‘POINT’ does not name a type inline TOBB(const POINT pts, size_t n); ^ /usr/local/include/OpenMVS/Common/OBB.h:53:20: error: ‘POINT’ does not name a type inline TOBB(const POINT pts, size_t n, const TRIANGLE tris, size_t s); ^ /usr/local/include/OpenMVS/Common/OBB.h:53:48: error: ‘TRIANGLE’ does not name a type inline TOBB(const POINT pts, size_t n, const TRIANGLE tris, size_t s); ^ /usr/local/include/OpenMVS/Common/OBB.h:55:24: error: ‘POINT’ does not name a type inline void Set(const POINT pts, size_t n); // build from points ^ /usr/local/include/OpenMVS/Common/OBB.h:56:24: error: ‘POINT’ does not name a type inline void Set(const POINT pts, size_t n, const TRIANGLE tris, size_t s); / ^ /usr/local/include/OpenMVS/Common/OBB.h:56:52: error: ‘TRIANGLE’ does not name a type inline void Set(const POINT pts, size_t n, const TRIANGLE tris, size_t s); / ^ /usr/local/include/OpenMVS/Common/OBB.h:57:24: error: ‘MATRIX’ does not name a type inline void Set(const MATRIX& C, const POINT pts, size_t n); // build from co ^ /usr/local/include/OpenMVS/Common/OBB.h:57:41: error: ‘POINT’ does not name a type inline void Set(const MATRIX& C, const POINT pts, size_t n); // build from co ^ /usr/local/include/OpenMVS/Common/OBB.h:58:32: error: ‘MATRIX’ does not name a type inline void SetRotation(const MATRIX& C); // build rotation only from covarian ^ /usr/local/include/OpenMVS/Common/OBB.h:59:30: error: ‘POINT’ does not name a type inline void SetBounds(const POINT pts, size_t n); // build size and center on ^ /usr/local/include/OpenMVS/Common/OBB.h:62:29: error: ‘POINT’ does not name a type inline void BuildAdd(const POINT&); // add a new point to the online build ^ /usr/local/include/OpenMVS/Common/OBB.h:68:30: error: ‘POINT’ does not name a type inline void Translate(const POINT&); ^ /usr/local/include/OpenMVS/Common/OBB.h:69:30: error: ‘MATRIX’ does not name a type inline void Transform(const MATRIX&); ^ /usr/local/include/OpenMVS/Common/OBB.h:71:9: error: ‘POINT’ does not name a type inline POINT GetCenter() const; ^ /usr/local/include/OpenMVS/Common/OBB.h:72:24: error: ‘POINT’ has not been declared inline void GetCenter(POINT&) const; ^ /usr/local/include/OpenMVS/Common/OBB.h:74:9: error: ‘POINT’ does not name a type inline POINT GetSize() const; ^ /usr/local/include/OpenMVS/Common/OBB.h:75:22: error: ‘POINT’ has not been declared inline void GetSize(POINT&) const; ^ /usr/local/include/OpenMVS/Common/OBB.h:77:25: error: ‘POINT’ has not been declared inline void GetCorners(POINT pts[numCorners]) const; ^ /usr/local/include/OpenMVS/Common/OBB.h: In member function ‘TYPE& SEACAVE::TOBB<TYPE, DIMS>::operator’: /usr/local/include/OpenMVS/Common/OBB.h:82:66: error: ‘m_rot’ was not declared in this scope inline TYPE& operator [] (BYTE i) { ASSERT(i<numScalar); return m_rot.data()[i ^ /usr/local/include/OpenMVS/Common/OBB.h: In member function ‘TYPE SEACAVE::TOBB<TYPE, DIMS>::operator const’: /usr/local/include/OpenMVS/Common/OBB.h:83:71: error: ‘m_rot’ was not declared in this scope nline TYPE operator [] (BYTE i) const { ASSERT(i<numScalar); return m_rot.data( ^ In file included from /usr/local/include/OpenMVS/Common/OBB.h:88:0, from /usr/local/include/OpenMVS/Common/Types.h:2734, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:15:36: error: ‘POINT’ does not name a type inline TOBB<TYPE,DIMS>::TOBB(const POINT pts, size_t n) ^ /usr/local/include/OpenMVS/Common/OBB.inl:20:36: error: ‘POINT’ does not name a type inline TOBB<TYPE,DIMS>::TOBB(const POINT pts, size_t n, const TRIANGLE tris, ^ /usr/local/include/OpenMVS/Common/OBB.inl:20:64: error: ‘TRIANGLE’ does not name a type inline TOBB<TYPE,DIMS>::TOBB(const POINT pts, size_t n, const TRIANGLE tris, ^ /usr/local/include/OpenMVS/Common/OBB.inl:35:40: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::Set(const POINT pts, size_t n) ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::Set(const int, size_t)’: /usr/local/include/OpenMVS/Common/OBB.inl:44:2: error: ‘POINT’ was not declared in this scope POINT mu(POINT::Zero()); ^ /usr/local/include/OpenMVS/Common/OBB.inl:47:9: error: ‘POINT’ does not name a type const POINT& p = pts[i]; ^ /usr/local/include/OpenMVS/Common/OBB.inl:48:3: error: ‘mu’ was not declared in this scope mu += p; ^ /usr/local/include/OpenMVS/Common/OBB.inl:48:9: error: ‘p’ was not declared in this scope mu += p; ^ /usr/local/include/OpenMVS/Common/OBB.inl:57:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxx = (cxx - mu(0)mu(0)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:57:19: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /usr/local/include/OpenMVS/Common/OBB.inl:57:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxx = (cxx - mu(0)mu(0)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:58:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxy = (cxy - mu(0)mu(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:58:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxy = (cxy - mu(0)mu(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:59:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxz = (cxz - mu(0)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:59:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cxz = (cxz - mu(0)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:60:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cyy = (cyy - mu(1)mu(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:60:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cyy = (cyy - mu(1)mu(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:61:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cyz = (cyz - mu(1)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:61:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] cyz = (cyz - mu(1)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:62:19: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] czz = (czz - mu(2)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:62:25: error: there are no arguments to ‘mu’ that depend on a template parameter, so a declaration of ‘mu’ must be available [-fpermissive] czz = (czz - mu(2)mu(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:65:2: error: ‘MATRIX’ was not declared in this scope MATRIX C; ^ /usr/local/include/OpenMVS/Common/OBB.inl:66:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:66:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:66:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:67:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:67:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:67:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:68:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:68:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:68:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:71:6: error: ‘C’ was not declared in this scope Set(C, pts, n); ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:80:40: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::Set(const POINT pts, size_t n, const TRIANGLE tr ^ /usr/local/include/OpenMVS/Common/OBB.inl:80:68: error: ‘TRIANGLE’ does not name a type inline void TOBB<TYPE,DIMS>::Set(const POINT pts, size_t n, const TRIANGLE tr ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::Set(const int, size_t, const int, size_t)’: /usr/local/include/OpenMVS/Common/OBB.inl:86:2: error: ‘POINT’ was not declared in this scope POINT mu(POINT::Zero()); ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl:90:3: error: expression cannot be used as a function ASSERT(trisi<n && trisi<n && trisi<n); ^ /usr/local/include/OpenMVS/Common/OBB.inl:90:3: error: expression cannot be used as a function ASSERT(trisi<n && trisi<n && trisi<n); ^ /usr/local/include/OpenMVS/Common/OBB.inl:90:3: error: expression cannot be used as a function ASSERT(trisi<n && trisi<n && trisi<n); ^ In file included from /usr/local/include/OpenMVS/Common/OBB.h:88:0, from /usr/local/include/OpenMVS/Common/Types.h:2734, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl:91:9: error: ‘POINT’ does not name a type const POINT& p = pts[trisi]; ^ /usr/local/include/OpenMVS/Common/OBB.inl:92:9: error: ‘POINT’ does not name a type const POINT& q = pts[trisi]; ^ /usr/local/include/OpenMVS/Common/OBB.inl:93:9: error: ‘POINT’ does not name a type const POINT& r = pts[trisi]; ^ /usr/local/include/OpenMVS/Common/OBB.inl:94:9: error: ‘POINT’ does not name a type const POINT mui = (p+q+r)/TYPE(3); ^ /usr/local/include/OpenMVS/Common/OBB.inl:95:20: error: ‘q’ was not declared in this scope const TYPE Ai = (q-p).cross(r-p).normalize()/TYPE(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:95:22: error: ‘p’ was not declared in this scope const TYPE Ai = (q-p).cross(r-p).normalize()/TYPE(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:95:31: error: ‘r’ was not declared in this scope const TYPE Ai = (q-p).cross(r-p).normalize()/TYPE(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:96:3: error: ‘mu’ was not declared in this scope mu += muiAi; ^ /usr/local/include/OpenMVS/Common/OBB.inl:96:9: error: ‘mui’ was not declared in this scope mu += muiAi; ^ /usr/local/include/OpenMVS/Common/OBB.inl:111:2: error: ‘mu’ was not declared in this scope mu /= Am; ^ /usr/local/include/OpenMVS/Common/OBB.inl:119:2: error: ‘MATRIX’ was not declared in this scope MATRIX C; ^ /usr/local/include/OpenMVS/Common/OBB.inl:120:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0)=cxx; C(0,1)=cxy; C(0,2)=cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:120:19: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0)=cxx; C(0,1)=cxy; C(0,2)=cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:120:31: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0)=cxx; C(0,1)=cxy; C(0,2)=cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:121:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0)=cxy; C(1,1)=cyy; C(1,2)=cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:121:19: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0)=cxy; C(1,1)=cyy; C(1,2)=cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:121:31: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0)=cxy; C(1,1)=cyy; C(1,2)=cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:122:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0)=cxz; C(1,2)=cyz; C(2,2)=czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:122:19: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0)=cxz; C(1,2)=cyz; C(2,2)=czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:122:31: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0)=cxz; C(1,2)=cyz; C(2,2)=czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:125:6: error: ‘C’ was not declared in this scope Set(C, pts, n); ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:130:40: error: ‘MATRIX’ does not name a type inline void TOBB<TYPE,DIMS>::Set(const MATRIX& C, const POINT pts, size_t n) ^ /usr/local/include/OpenMVS/Common/OBB.inl:130:57: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::Set(const MATRIX& C, const POINT pts, size_t n) ^ /usr/local/include/OpenMVS/Common/OBB.inl:140:48: error: ‘MATRIX’ does not name a type inline void TOBB<TYPE,DIMS>::SetRotation(const MATRIX& C) ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::SetRotation(const int&)’: /usr/local/include/OpenMVS/Common/OBB.inl:143:8: error: ‘Eigen’ does not name a type const Eigen::EigenSolver es(C); ^ /usr/local/include/OpenMVS/Common/OBB.inl:144:6: error: ‘es’ was not declared in this scope if (es.info() != Eigen::Success) ^ /usr/local/include/OpenMVS/Common/OBB.inl:144:19: error: ‘Eigen’ has not been declared if (es.info() != Eigen::Success) ^ /usr/local/include/OpenMVS/Common/OBB.inl:146:8: error: ‘MATRIX’ does not name a type const MATRIX eigvec(es.eigenvectors().real()); ^ /usr/local/include/OpenMVS/Common/OBB.inl:147:8: error: ‘POINT’ does not name a type const POINT eigval(es.eigenvalues().real()); ^ /usr/local/include/OpenMVS/Common/OBB.inl: In lambda function: /usr/local/include/OpenMVS/Common/OBB.inl:150:18: error: there are no arguments to ‘eigval’ that depend on a template parameter, so a declaration of ‘eigval’ must be available [-fpermissive] return eigval(i) < eigval(j); ^ /usr/local/include/OpenMVS/Common/OBB.inl:150:30: error: there are no arguments to ‘eigval’ that depend on a template parameter, so a declaration of ‘eigval’ must be available [-fpermissive] return eigval(i) < eigval(j); ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::SetRotation(const int&)’: /usr/local/include/OpenMVS/Common/OBB.inl:155:2: error: ‘m_rot’ was not declared in this scope m_rot.row(0) = eigvec.col(indices[0]); ^ /usr/local/include/OpenMVS/Common/OBB.inl:155:17: error: ‘eigvec’ was not declared in this scope m_rot.row(0) = eigvec.col(indices[0]); ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:167:46: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::SetBounds(const POINT pts, size_t n) ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::SetBounds(const int, size_t)’: /usr/local/include/OpenMVS/Common/OBB.inl:170:2: error: ‘m_rot’ was not declared in this scope ASSERT(ISEQUAL((m_rotm_rot.transpose()).trace(), TYPE(3)) && ISEQUAL(m_rot.de ^ In file included from /usr/local/include/OpenMVS/Common/OBB.h:88:0, from /usr/local/include/OpenMVS/Common/Types.h:2734, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl:174:2: error: ‘POINT’ was not declared in this scope POINT minim(tmax, tmax, tmax), maxim(-tmax, -tmax, -tmax); ^ /usr/local/include/OpenMVS/Common/OBB.inl:176:9: error: ‘POINT’ does not name a type const POINT p_prime(m_rot pts[i]); ^ /usr/local/include/OpenMVS/Common/OBB.inl:177:14: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(0) > p_prime(0)) minim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:177:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(0) > p_prime(0)) minim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:177:37: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(0) > p_prime(0)) minim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:177:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(0) > p_prime(0)) minim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:178:14: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(1) > p_prime(1)) minim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:178:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(1) > p_prime(1)) minim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:178:37: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(1) > p_prime(1)) minim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:178:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(1) > p_prime(1)) minim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:179:14: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(2) > p_prime(2)) minim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:179:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(2) > p_prime(2)) minim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:179:37: error: there are no arguments to ‘minim’ that depend on a template parameter, so a declaration of ‘minim’ must be available [-fpermissive] if (minim(2) > p_prime(2)) minim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:179:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (minim(2) > p_prime(2)) minim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:180:14: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(0) < p_prime(0)) maxim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:180:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(0) < p_prime(0)) maxim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:180:37: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(0) < p_prime(0)) maxim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:180:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(0) < p_prime(0)) maxim(0) = p_prime(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:181:14: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(1) < p_prime(1)) maxim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:181:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(1) < p_prime(1)) maxim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:181:37: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(1) < p_prime(1)) maxim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:181:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(1) < p_prime(1)) maxim(1) = p_prime(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:182:14: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(2) < p_prime(2)) maxim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:182:27: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(2) < p_prime(2)) maxim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:182:37: error: there are no arguments to ‘maxim’ that depend on a template parameter, so a declaration of ‘maxim’ must be available [-fpermissive] if (maxim(2) < p_prime(2)) maxim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:182:50: error: there are no arguments to ‘p_prime’ that depend on a template parameter, so a declaration of ‘p_prime’ must be available [-fpermissive] if (maxim(2) < p_prime(2)) maxim(2) = p_prime(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:188:8: error: ‘POINT’ does not name a type const POINT center((maxim+minim)TYPE(0.5)); ^ /usr/local/include/OpenMVS/Common/OBB.inl:189:2: error: ‘m_pos’ was not declared in this scope m_pos = m_rot.transpose() center; ^ /usr/local/include/OpenMVS/Common/OBB.inl:189:30: error: ‘center’ was not declared in this scope m_pos = m_rot.transpose() center; ^ /usr/local/include/OpenMVS/Common/OBB.inl:190:2: error: ‘m_ext’ was not declared in this scope m_ext = (maxim-minim)TYPE(0.5); ^ /usr/local/include/OpenMVS/Common/OBB.inl:190:11: error: ‘maxim’ was not declared in this scope m_ext = (maxim-minim)TYPE(0.5); ^ /usr/local/include/OpenMVS/Common/OBB.inl:190:17: error: ‘minim’ was not declared in this scope m_ext = (maxim-minim)TYPE(0.5); ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::BuildBegin()’: /usr/local/include/OpenMVS/Common/OBB.inl:198:2: error: ‘m_rot’ was not declared in this scope m_rot = MATRIX::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl:198:10: error: ‘MATRIX’ has not been declared m_rot = MATRIX::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl:199:2: error: ‘m_pos’ was not declared in this scope m_pos = POINT::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl:199:10: error: ‘POINT’ has not been declared m_pos = POINT::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl:200:2: error: ‘m_ext’ was not declared in this scope m_ext = POINT::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl:200:10: error: ‘POINT’ has not been declared m_ext = POINT::Zero(); ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:203:45: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::BuildAdd(const POINT& p) ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::BuildAdd(const int&)’: /usr/local/include/OpenMVS/Common/OBB.inl:206:2: error: ‘m_pos’ was not declared in this scope m_pos += p; ^ /usr/local/include/OpenMVS/Common/OBB.inl:208:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(0,0) += p(0)p(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:208:19: error: expression cannot be used as a function m_rot(0,0) += p(0)p(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:208:24: error: expression cannot be used as a function m_rot(0,0) += p(0)p(0); ^ /usr/local/include/OpenMVS/Common/OBB.inl:209:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(0,1) += p(0)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:209:19: error: expression cannot be used as a function m_rot(0,1) += p(0)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:209:24: error: expression cannot be used as a function m_rot(0,1) += p(0)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:210:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(0,2) += p(0)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:210:19: error: expression cannot be used as a function m_rot(0,2) += p(0)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:210:24: error: expression cannot be used as a function m_rot(0,2) += p(0)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:211:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(1,0) += p(1)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:211:19: error: expression cannot be used as a function m_rot(1,0) += p(1)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:211:24: error: expression cannot be used as a function m_rot(1,0) += p(1)p(1); ^ /usr/local/include/OpenMVS/Common/OBB.inl:212:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(1,1) += p(1)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:212:19: error: expression cannot be used as a function m_rot(1,1) += p(1)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:212:24: error: expression cannot be used as a function m_rot(1,1) += p(1)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:213:11: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] m_rot(1,2) += p(2)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:213:19: error: expression cannot be used as a function m_rot(1,2) += p(2)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:213:24: error: expression cannot be used as a function m_rot(1,2) += p(2)p(2); ^ /usr/local/include/OpenMVS/Common/OBB.inl:215:16: error: ‘m_ext’ was not declared in this scope ++(((size_t)m_ext.data())); ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::BuildEnd()’: /usr/local/include/OpenMVS/Common/OBB.inl:220:42: error: ‘m_ext’ was not declared in this scope const TYPE invN(TYPE(1)/TYPE(((size_t)m_ext.data()))); ^ /usr/local/include/OpenMVS/Common/OBB.inl:221:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE cxx = (m_rot(0,0) - m_pos(0)m_pos(0)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:221:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxx = (m_rot(0,0) - m_pos(0)m_pos(0)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:221:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxx = (m_rot(0,0) - m_pos(0)m_pos(0)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:222:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE cxy = (m_rot(0,1) - m_pos(0)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:222:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxy = (m_rot(0,1) - m_pos(0)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:222:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxy = (m_rot(0,1) - m_pos(0)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:223:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE cxz = (m_rot(0,2) - m_pos(0)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:223:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxz = (m_rot(0,2) - m_pos(0)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:223:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cxz = (m_rot(0,2) - m_pos(0)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:224:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE cyy = (m_rot(1,0) - m_pos(1)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:224:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cyy = (m_rot(1,0) - m_pos(1)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:224:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cyy = (m_rot(1,0) - m_pos(1)m_pos(1)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:225:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE cyz = (m_rot(1,1) - m_pos(1)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:225:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cyz = (m_rot(1,1) - m_pos(1)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:225:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE cyz = (m_rot(1,1) - m_pos(1)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:226:29: error: there are no arguments to ‘m_rot’ that depend on a template parameter, so a declaration of ‘m_rot’ must be available [-fpermissive] const TYPE czz = (m_rot(1,2) - m_pos(2)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:226:40: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE czz = (m_rot(1,2) - m_pos(2)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:226:49: error: there are no arguments to ‘m_pos’ that depend on a template parameter, so a declaration of ‘m_pos’ must be available [-fpermissive] const TYPE czz = (m_rot(1,2) - m_pos(2)m_pos(2)invN)invN; ^ /usr/local/include/OpenMVS/Common/OBB.inl:229:2: error: ‘MATRIX’ was not declared in this scope MATRIX C; ^ /usr/local/include/OpenMVS/Common/OBB.inl:230:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:230:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:230:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(0,0) = cxx; C(0,1) = cxy; C(0,2) = cxz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:231:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:231:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:231:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(1,0) = cxy; C(1,1) = cyy; C(1,2) = cyz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:232:7: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:232:21: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:232:35: error: there are no arguments to ‘C’ that depend on a template parameter, so a declaration of ‘C’ must be available [-fpermissive] C(2,0) = cxz; C(2,1) = cyz; C(2,2) = czz; ^ /usr/local/include/OpenMVS/Common/OBB.inl:233:14: error: ‘C’ was not declared in this scope SetRotation(C); ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::Enlarge(TYPE)’: /usr/local/include/OpenMVS/Common/OBB.inl:241:2: error: ‘m_ext’ was not declared in this scope m_ext.array() -= x; ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::EnlargePercent(TYPE)’: /usr/local/include/OpenMVS/Common/OBB.inl:246:2: error: ‘m_ext’ was not declared in this scope m_ext = x; ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:252:40: error: prototype for ‘typename SEACAVE::TOBB<TYPE, DIMS>::POINT SEACAVE::TOBB<TYPE, DIMS>::GetCenter() const’ does not match any in class ‘SEACAVE::TOBB<TYPE, DIMS>’ inline typename TOBB<TYPE,DIMS>::POINT TOBB<TYPE,DIMS>::GetCenter() const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2734:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.h:72:14: error: candidate is: void SEACAVE::TOBB<TYPE, DIMS>::GetCenter(int&) const inline void GetCenter(POINT&) const; ^ In file included from /usr/local/include/OpenMVS/Common/OBB.h:88:0, from /usr/local/include/OpenMVS/Common/Types.h:2734, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl:257:40: error: variable or field ‘GetCenter’ declared void inline void TOBB<TYPE,DIMS>::GetCenter(POINT& ptCenter) const ^ /usr/local/include/OpenMVS/Common/OBB.inl:257:40: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/OBB.inl:257:47: error: ‘ptCenter’ was not declared in this scope inline void TOBB<TYPE,DIMS>::GetCenter(POINT& ptCenter) const ^ /usr/local/include/OpenMVS/Common/OBB.inl:265:40: error: prototype for ‘typename SEACAVE::TOBB<TYPE, DIMS>::POINT SEACAVE::TOBB<TYPE, DIMS>::GetSize() const’ does not match any in class ‘SEACAVE::TOBB<TYPE, DIMS>’ inline typename TOBB<TYPE,DIMS>::POINT TOBB<TYPE,DIMS>::GetSize() const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2734:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.h:75:14: error: candidate is: void SEACAVE::TOBB<TYPE, DIMS>::GetSize(int&) const inline void GetSize(POINT&) const; ^ In file included from /usr/local/include/OpenMVS/Common/OBB.h:88:0, from /usr/local/include/OpenMVS/Common/Types.h:2734, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/OBB.inl:270:38: error: variable or field ‘GetSize’ declared void inline void TOBB<TYPE,DIMS>::GetSize(POINT& ptSize) const ^ /usr/local/include/OpenMVS/Common/OBB.inl:270:38: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/OBB.inl:270:45: error: ‘ptSize’ was not declared in this scope inline void TOBB<TYPE,DIMS>::GetSize(POINT& ptSize) const ^ /usr/local/include/OpenMVS/Common/OBB.inl:278:41: error: variable or field ‘GetCorners’ declared void inline void TOBB<TYPE,DIMS>::GetCorners(POINT pts[numCorners]) const ^ /usr/local/include/OpenMVS/Common/OBB.inl:278:41: error: ‘POINT’ was not declared in this scope /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘SEACAVE::TOBB<TYPE, DIMS>::AABB SEACAVE::TOBB<TYPE, DIMS>::GetAABB() const’: /usr/local/include/OpenMVS/Common/OBB.inl:311:9: error: ‘POINT’ does not name a type const POINT pEAxis[2] = { ^ /usr/local/include/OpenMVS/Common/OBB.inl:316:4: error: ‘m_pos’ was not declared in this scope m_pos - pEAxis[0] - pEAxis[1], ^ /usr/local/include/OpenMVS/Common/OBB.inl:316:12: error: ‘pEAxis’ was not declared in this scope m_pos - pEAxis[0] - pEAxis[1], ^ /usr/local/include/OpenMVS/Common/OBB.inl:321:9: error: ‘POINT’ does not name a type const POINT pEAxis[3] = { ^ /usr/local/include/OpenMVS/Common/OBB.inl:327:4: error: ‘m_pos’ was not declared in this scope m_pos - pEAxis[0] - pEAxis[1] - pEAxis[2], ^ /usr/local/include/OpenMVS/Common/OBB.inl:327:12: error: ‘pEAxis’ was not declared in this scope m_pos - pEAxis[0] - pEAxis[1] - pEAxis[2], ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘TYPE SEACAVE::TOBB<TYPE, DIMS>::GetVolume() const’: /usr/local/include/OpenMVS/Common/OBB.inl:339:9: error: ‘m_ext’ was not declared in this scope return m_ext.prod()numCorners; ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:346:46: error: ‘POINT’ does not name a type inline void TOBB<TYPE,DIMS>::Translate(const POINT& d) ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::Translate(const int&)’: /usr/local/include/OpenMVS/Common/OBB.inl:348:2: error: ‘m_pos’ was not declared in this scope m_pos += d; ^ /usr/local/include/OpenMVS/Common/OBB.inl: At global scope: /usr/local/include/OpenMVS/Common/OBB.inl:355:46: error: ‘MATRIX’ does not name a type inline void TOBB<TYPE,DIMS>::Transform(const MATRIX& m) ^ /usr/local/include/OpenMVS/Common/OBB.inl: In member function ‘void SEACAVE::TOBB<TYPE, DIMS>::Transform(const int&)’: /usr/local/include/OpenMVS/Common/OBB.inl:357:2: error: ‘m_rot’ was not declared in this scope m_rot = m m_rot; ^ /usr/local/include/OpenMVS/Common/OBB.inl:358:2: error: ‘m_pos’ was not declared in this scope m_pos = m m_pos; ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2735:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Plane.h: At global scope: /usr/local/include/OpenMVS/Common/Plane.h:30:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> VECTOR; ^ /usr/local/include/OpenMVS/Common/Plane.h:31:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/Plane.h:35:2: error: ‘VECTOR’ does not name a type VECTOR m_vN; // plane normal vector ^ /usr/local/include/OpenMVS/Common/Plane.h:41:22: error: ‘VECTOR’ does not name a type inline TPlane(const VECTOR&, TYPE); ^ /usr/local/include/OpenMVS/Common/Plane.h:42:22: error: ‘VECTOR’ does not name a type inline TPlane(const VECTOR&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:42:37: error: ‘POINT’ does not name a type inline TPlane(const VECTOR&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:43:22: error: ‘POINT’ does not name a type inline TPlane(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:43:36: error: ‘POINT’ does not name a type inline TPlane(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:43:50: error: ‘POINT’ does not name a type inline TPlane(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:46:24: error: ‘VECTOR’ does not name a type inline void Set(const VECTOR&, TYPE); ^ /usr/local/include/OpenMVS/Common/Plane.h:47:24: error: ‘VECTOR’ does not name a type inline void Set(const VECTOR&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:47:39: error: ‘POINT’ does not name a type inline void Set(const VECTOR&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:48:24: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:48:38: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:48:52: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Plane.h:53:29: error: ‘POINT’ does not name a type inline TYPE Distance(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Plane.h:54:32: error: ‘POINT’ does not name a type inline TYPE DistanceAbs(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Plane.h:56:29: error: ‘POINT’ does not name a type inline UINT Classify(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Plane.h:61:24: error: ‘POINT’ does not name a type bool Intersects(const POINT& p0, const POINT& p1, const POINT& p2) const; ^ /usr/local/include/OpenMVS/Common/Plane.h:61:41: error: ‘POINT’ does not name a type bool Intersects(const POINT& p0, const POINT& p1, const POINT& p2) const; ^ /usr/local/include/OpenMVS/Common/Plane.h:61:58: error: ‘POINT’ does not name a type bool Intersects(const POINT& p0, const POINT& p1, const POINT& p2) const; ^ /usr/local/include/OpenMVS/Common/Plane.h: In member function ‘TYPE& SEACAVE::TPlane<TYPE, DIMS>::operator’: /usr/local/include/OpenMVS/Common/Plane.h:65:62: error: ‘m_vN’ was not declared in this scope inline TYPE& operator [] (BYTE i) { ASSERT(i<=DIMS); return m_vN.data()[i]; } ^ /usr/local/include/OpenMVS/Common/Plane.h: In member function ‘TYPE SEACAVE::TPlane<TYPE, DIMS>::operator const’: /usr/local/include/OpenMVS/Common/Plane.h:66:67: error: ‘m_vN’ was not declared in this scope inline TYPE operator [] (BYTE i) const { ASSERT(i<=DIMS); return m_vN.data()[i ^ /usr/local/include/OpenMVS/Common/Plane.h: At global scope: /usr/local/include/OpenMVS/Common/Plane.h:79:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,4,4,Eigen::RowMajor> MATRIX4x4; ^ /usr/local/include/OpenMVS/Common/Plane.h:80:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,3,4,Eigen::RowMajor> MATRIX3x4; ^ /usr/local/include/OpenMVS/Common/Plane.h:81:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,4,1> VECTOR4; ^ /usr/local/include/OpenMVS/Common/Plane.h:82:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,3,1> VECTOR; ^ /usr/local/include/OpenMVS/Common/Plane.h:83:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,3,1> POINT; ^ /usr/local/include/OpenMVS/Common/Plane.h:93:24: error: ‘MATRIX4x4’ does not name a type inline TFrustum(const MATRIX4x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:94:24: error: ‘MATRIX3x4’ does not name a type inline TFrustum(const MATRIX3x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:94:9: error: ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&)’ cannot be overloaded inline TFrustum(const MATRIX3x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:93:9: error: with ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&)’ inline TFrustum(const MATRIX4x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:95:24: error: ‘MATRIX4x4’ does not name a type inline TFrustum(const MATRIX4x4&, TYPE width, TYPE height, TYPE near=TYPE(0.00 ^ /usr/local/include/OpenMVS/Common/Plane.h:96:24: error: ‘MATRIX3x4’ does not name a type inline TFrustum(const MATRIX3x4&, TYPE width, TYPE height, TYPE near=TYPE(0.00 ^ /usr/local/include/OpenMVS/Common/Plane.h:96:9: error: ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&, TYPE, TYPE, TYPE, TYPE)’ cannot be overloaded inline TFrustum(const MATRIX3x4&, TYPE width, TYPE height, TYPE near=TYPE(0.00 ^ /usr/local/include/OpenMVS/Common/Plane.h:95:9: error: with ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&, TYPE, TYPE, TYPE, TYPE)’ inline TFrustum(const MATRIX4x4&, TYPE width, TYPE height, TYPE near=TYPE(0.00 ^ /usr/local/include/OpenMVS/Common/Plane.h:98:37: error: ‘MATRIX4x4’ does not name a type template void Set(const MATRIX4x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:99:37: error: ‘MATRIX3x4’ does not name a type template void Set(const MATRIX3x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:99:27: error: ‘template<class TYPE, int DIMS> template void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&)’ cannot be overloaded template void Set(const MATRIX3x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:98:27: error: with ‘template<class TYPE, int DIMS> template void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&)’ template void Set(const MATRIX4x4&); ^ /usr/local/include/OpenMVS/Common/Plane.h:100:17: error: ‘MATRIX4x4’ does not name a type void Set(const MATRIX4x4&, TYPE width, TYPE height, TYPE near=TYPE(0.0001), TY ^ /usr/local/include/OpenMVS/Common/Plane.h:101:17: error: ‘MATRIX3x4’ does not name a type void Set(const MATRIX3x4&, TYPE width, TYPE height, TYPE near=TYPE(0.0001), TY ^ /usr/local/include/OpenMVS/Common/Plane.h:101:7: error: ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&, TYPE, TYPE, TYPE, TYPE)’ cannot be overloaded void Set(const MATRIX3x4&, TYPE width, TYPE height, TYPE near=TYPE(0.0001), TY ^ /usr/local/include/OpenMVS/Common/Plane.h:100:7: error: with ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&, TYPE, TYPE, TYPE, TYPE)’ void Set(const MATRIX4x4&, TYPE width, TYPE height, TYPE near=TYPE(0.0001), TY ^ /usr/local/include/OpenMVS/Common/Plane.h:103:22: error: ‘POINT’ does not name a type UINT Classify(const POINT&) const; ^ In file included from /usr/local/include/OpenMVS/Common/Plane.h:113:0, from /usr/local/include/OpenMVS/Common/Types.h:2735, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Plane.inl:16:40: error: ‘VECTOR’ does not name a type inline TPlane<TYPE,DIMS>::TPlane(const VECTOR& vN, TYPE fD) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In constructor ‘SEACAVE::TPlane<TYPE, DIMS>::TPlane(const int&, TYPE)’: /usr/local/include/OpenMVS/Common/Plane.inl:18:2: error: class ‘SEACAVE::TPlane<TYPE, DIMS>’ does not have any field named ‘m_vN’ m_vN(vN), m_fD(fD) ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:23:40: error: ‘VECTOR’ does not name a type inline TPlane<TYPE,DIMS>::TPlane(const VECTOR& vN, const POINT& p) ^ /usr/local/include/OpenMVS/Common/Plane.inl:23:58: error: ‘POINT’ does not name a type inline TPlane<TYPE,DIMS>::TPlane(const VECTOR& vN, const POINT& p) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In constructor ‘SEACAVE::TPlane<TYPE, DIMS>::TPlane(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Plane.inl:25:2: error: class ‘SEACAVE::TPlane<TYPE, DIMS>’ does not have any field named ‘m_vN’ m_vN(vN), m_fD(-vN.dot(p)) ^ /usr/local/include/OpenMVS/Common/Plane.inl:25:21: error: request for member ‘dot’ in ‘vN’, which is of non-class type ‘const int’ m_vN(vN), m_fD(-vN.dot(p)) ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:30:40: error: ‘POINT’ does not name a type inline TPlane<TYPE,DIMS>::TPlane(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Plane.inl:30:57: error: ‘POINT’ does not name a type inline TPlane<TYPE,DIMS>::TPlane(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Plane.inl:30:74: error: ‘POINT’ does not name a type ne TPlane<TYPE,DIMS>::TPlane(const POINT& p0, const POINT& p1, const POINT& p2) ^ /usr/local/include/OpenMVS/Common/Plane.inl:43:42: error: ‘VECTOR’ does not name a type inline void TPlane<TYPE,DIMS>::Set(const VECTOR& vN, TYPE fD) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TPlane<TYPE, DIMS>::Set(const int&, TYPE)’: /usr/local/include/OpenMVS/Common/Plane.inl:45:2: error: ‘m_vN’ was not declared in this scope m_vN = vN; ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:49:42: error: ‘VECTOR’ does not name a type inline void TPlane<TYPE,DIMS>::Set(const VECTOR& vN, const POINT& p) ^ /usr/local/include/OpenMVS/Common/Plane.inl:49:60: error: ‘POINT’ does not name a type inline void TPlane<TYPE,DIMS>::Set(const VECTOR& vN, const POINT& p) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TPlane<TYPE, DIMS>::Set(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Plane.inl:51:2: error: ‘m_vN’ was not declared in this scope m_vN = vN; ^ /usr/local/include/OpenMVS/Common/Plane.inl:52:13: error: request for member ‘dot’ in ‘vN’, which is of non-class type ‘const int’ m_fD = -vN.dot(p); ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:55:42: error: ‘POINT’ does not name a type inline void TPlane<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const POIN ^ /usr/local/include/OpenMVS/Common/Plane.inl:55:59: error: ‘POINT’ does not name a type inline void TPlane<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const POIN ^ /usr/local/include/OpenMVS/Common/Plane.inl:55:76: error: ‘POINT’ does not name a type void TPlane<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const POINT& p2) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TPlane<TYPE, DIMS>::Set(const int&, const int&, const int&)’: /usr/local/include/OpenMVS/Common/Plane.inl:57:8: error: ‘VECTOR’ does not name a type const VECTOR vcEdge1 = p1 - p0; ^ /usr/local/include/OpenMVS/Common/Plane.inl:58:8: error: ‘VECTOR’ does not name a type const VECTOR vcEdge2 = p2 - p0; ^ /usr/local/include/OpenMVS/Common/Plane.inl:59:2: error: ‘m_vN’ was not declared in this scope m_vN = vcEdge1.cross(vcEdge2).normalized(); ^ /usr/local/include/OpenMVS/Common/Plane.inl:59:9: error: ‘vcEdge1’ was not declared in this scope m_vN = vcEdge1.cross(vcEdge2).normalized(); ^ /usr/local/include/OpenMVS/Common/Plane.inl:59:23: error: ‘vcEdge2’ was not declared in this scope m_vN = vcEdge1.cross(vcEdge2).normalized(); ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TPlane<TYPE, DIMS>::Set(const TYPE)’: /usr/local/include/OpenMVS/Common/Plane.inl:65:8: error: ‘Eigen’ does not name a type const Eigen::Map vN(p); ^ /usr/local/include/OpenMVS/Common/Plane.inl:66:25: error: ‘vN’ was not declared in this scope const TYPE invD(INVERT(vN.norm())); ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TPlane<TYPE, DIMS>::Negate()’: /usr/local/include/OpenMVS/Common/Plane.inl:75:2: error: ‘m_vN’ was not declared in this scope m_vN = -m_vN; ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:90:47: error: ‘POINT’ does not name a type inline TYPE TPlane<TYPE,DIMS>::Distance(const POINT& p) const ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘TYPE SEACAVE::TPlane<TYPE, DIMS>::Distance(const int&) const’: /usr/local/include/OpenMVS/Common/Plane.inl:92:9: error: ‘m_vN’ was not declared in this scope return m_vN.dot(p) + m_fD; ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:95:50: error: ‘POINT’ does not name a type inline TYPE TPlane<TYPE,DIMS>::DistanceAbs(const POINT& p) const ^ /usr/local/include/OpenMVS/Common/Plane.inl:104:47: error: ‘POINT’ does not name a type inline UINT TPlane<TYPE,DIMS>::Classify(const POINT& p) const ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘bool SEACAVE::TPlane<TYPE, DIMS>::Clip(const RAY&, TYPE, SEACAVE::TPlane<TYPE, DIMS>::RAY, SEACAVE::TPlane<TYPE, DIMS>::RAY) const’: /usr/local/include/OpenMVS/Common/Plane.inl:130:2: error: ‘POINT’ was not declared in this scope POINT ptHit = POINT::ZERO; ^ /usr/local/include/OpenMVS/Common/Plane.inl:133:47: error: ‘ptHit’ was not declared in this scope if (!ray.Intersects(this, false, fL, NULL, &ptHit)) ^ /usr/local/include/OpenMVS/Common/Plane.inl:141:19: error: ‘ptHit’ was not declared in this scope if (pF) pF->Set(ptHit, ray.m_vDir); ^ /usr/local/include/OpenMVS/Common/Plane.inl:146:19: error: ‘ptHit’ was not declared in this scope if (pB) pB->Set(ptHit, ray.m_vDir); ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘bool SEACAVE::TPlane<TYPE, DIMS>::Intersects(const SEACAVE::TPlane<TYPE, DIMS>&, SEACAVE::TPlane<TYPE, DIMS>::RAY&) const’: /usr/local/include/OpenMVS/Common/Plane.inl:161:8: error: ‘VECTOR’ does not name a type const VECTOR vCross(m_vN.cross(plane.m_vN)); ^ /usr/local/include/OpenMVS/Common/Plane.inl:162:24: error: ‘vCross’ was not declared in this scope const TYPE fSqrLength(vCross.squaredNorm()); ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Plane.inl:178:2: error: ‘m_vN’ was not declared in this scope ASSERT(ISEQUAL(m_vN.norm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/Common/Plane.h:113:0, from /usr/local/include/OpenMVS/Common/Types.h:2735, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:196:42: error: ‘POINT’ does not name a type bool TPlane<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POIN ^ /usr/local/include/OpenMVS/Common/Plane.inl:196:59: error: ‘POINT’ does not name a type bool TPlane<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POIN ^ /usr/local/include/OpenMVS/Common/Plane.inl:196:76: error: ‘POINT’ does not name a type lane<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& p2) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘bool SEACAVE::TPlane<TYPE, DIMS>::Intersects(const AABB&) const’: /usr/local/include/OpenMVS/Common/Plane.inl:213:2: error: ‘POINT’ was not declared in this scope POINT Vmin, Vmax; ^ /usr/local/include/OpenMVS/Common/Plane.inl:216:12: error: there are no arguments to ‘m_vN’ that depend on a template parameter, so a declaration of ‘m_vN’ must be available [-fpermissive] if (m_vN(0) >= TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Plane.inl:217:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(0) = aabb.ptMin(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:218:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(0) = aabb.ptMax(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:221:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(0) = aabb.ptMax(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:222:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(0) = aabb.ptMin(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:226:12: error: there are no arguments to ‘m_vN’ that depend on a template parameter, so a declaration of ‘m_vN’ must be available [-fpermissive] if (m_vN(1) >= TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Plane.inl:227:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(1) = aabb.ptMin(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:228:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(1) = aabb.ptMax(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:231:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(1) = aabb.ptMax(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:232:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(1) = aabb.ptMin(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:236:12: error: there are no arguments to ‘m_vN’ that depend on a template parameter, so a declaration of ‘m_vN’ must be available [-fpermissive] if (m_vN(2) >= TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Plane.inl:237:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(2) = aabb.ptMin(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:238:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(2) = aabb.ptMax(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:241:9: error: there are no arguments to ‘Vmin’ that depend on a template parameter, so a declaration of ‘Vmin’ must be available [-fpermissive] Vmin(2) = aabb.ptMax(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:242:9: error: there are no arguments to ‘Vmax’ that depend on a template parameter, so a declaration of ‘Vmax’ must be available [-fpermissive] Vmax(2) = aabb.ptMin(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:245:8: error: ‘m_vN’ was not declared in this scope if (((m_vN Vmin) + m_fD) > TYPE(0)) ^ /usr/local/include/OpenMVS/Common/Plane.inl:245:15: error: ‘Vmin’ was not declared in this scope if (((m_vN Vmin) + m_fD) > TYPE(0)) ^ /usr/local/include/OpenMVS/Common/Plane.inl:248:8: error: ‘m_vN’ was not declared in this scope if (((m_vN Vmax) + m_fD) >= TYPE(0)) ^ /usr/local/include/OpenMVS/Common/Plane.inl:248:15: error: ‘Vmax’ was not declared in this scope if (((m_vN Vmax) + m_fD) >= TYPE(0)) ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:260:44: error: ‘MATRIX4x4’ does not name a type inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX4x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:265:44: error: ‘MATRIX3x4’ does not name a type inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX3x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:265:8: error: redefinition of ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&)’ inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX3x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:260:8: note: ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&)’ previously declared here inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX4x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:270:44: error: ‘MATRIX4x4’ does not name a type inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX4x4& m, TYPE w, TYPE h, TYPE n ^ /usr/local/include/OpenMVS/Common/Plane.inl:275:44: error: ‘MATRIX3x4’ does not name a type inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX3x4& m, TYPE w, TYPE h, TYPE n ^ /usr/local/include/OpenMVS/Common/Plane.inl:275:8: error: redefinition of ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&, TYPE, TYPE, TYPE, TYPE)’ inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX3x4& m, TYPE w, TYPE h, TYPE n ^ /usr/local/include/OpenMVS/Common/Plane.inl:270:8: note: ‘SEACAVE::TFrustum<TYPE, DIMS>::TFrustum(const int&, TYPE, TYPE, TYPE, TYPE)’ previously declared here inline TFrustum<TYPE,DIMS>::TFrustum(const MATRIX4x4& m, TYPE w, TYPE h, TYPE n ^ /usr/local/include/OpenMVS/Common/Plane.inl:288:37: error: ‘MATRIX4x4’ does not name a type void TFrustum<TYPE,DIMS>::Set(const MATRIX4x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&)’: /usr/local/include/OpenMVS/Common/Plane.inl:291:22: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[0].Set(-(m.col(3)+m.col(0))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:291:31: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[0].Set(-(m.col(3)+m.col(0))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:294:22: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[1].Set(-(m.col(3)-m.col(0))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:294:31: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[1].Set(-(m.col(3)-m.col(0))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:297:22: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[2].Set(-(m.col(3)+m.col(1))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:297:31: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[2].Set(-(m.col(3)+m.col(1))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:300:22: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[3].Set(-(m.col(3)-m.col(1))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:300:31: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[3].Set(-(m.col(3)-m.col(1))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:303:29: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[4].Set(MODE ? -(m.col(3)+m.col(2)) : -m.col(2)); ^ /usr/local/include/OpenMVS/Common/Plane.inl:303:38: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[4].Set(MODE ? -(m.col(3)+m.col(2)) : -m.col(2)); ^ /usr/local/include/OpenMVS/Common/Plane.inl:303:51: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[4].Set(MODE ? -(m.col(3)+m.col(2)) : -m.col(2)); ^ /usr/local/include/OpenMVS/Common/Plane.inl:306:22: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[5].Set(-(m.col(3)-m.col(2))); ^ /usr/local/include/OpenMVS/Common/Plane.inl:306:31: error: request for member ‘col’ in ‘m’, which is of non-class type ‘const int’ m_planes[5].Set(-(m.col(3)-m.col(2))); ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:311:37: error: ‘MATRIX3x4’ does not name a type void TFrustum<TYPE,DIMS>::Set(const MATRIX3x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:311:6: error: redefinition of ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&)’ void TFrustum<TYPE,DIMS>::Set(const MATRIX3x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:288:6: note: ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&)’ previously declared here void TFrustum<TYPE,DIMS>::Set(const MATRIX4x4& m) ^ /usr/local/include/OpenMVS/Common/Plane.inl:370:37: error: ‘MATRIX4x4’ does not name a type void TFrustum<TYPE,DIMS>::Set(const MATRIX4x4& m, TYPE w, TYPE h, TYPE n, TYPE ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&, TYPE, TYPE, TYPE, TYPE)’: /usr/local/include/OpenMVS/Common/Plane.inl:372:8: error: ‘VECTOR4’ does not name a type const VECTOR4 ltn(0,0,n,1), rtn(wn,0,n,1), lbn(0,hn,n,1), rbn(wn,hn,n,1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:373:8: error: ‘VECTOR4’ does not name a type const VECTOR4 ltf(0,0,f,1), rtf(wf,0,f,1), lbf(0,hf,f,1), rbf(wf,hf,f,1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:374:8: error: ‘MATRIX4x4’ does not name a type const MATRIX4x4 inv(m.inverse()); ^ /usr/local/include/OpenMVS/Common/Plane.inl:375:8: error: ‘VECTOR4’ does not name a type const VECTOR4 ltn3D(invltn), rtn3D(invrtn), lbn3D(invlbn), rbn3D(invrbn); ^ /usr/local/include/OpenMVS/Common/Plane.inl:376:8: error: ‘VECTOR4’ does not name a type const VECTOR4 ltf3D(invltf), rtf3D(invrtf), lbf3D(invlbf), rbf3D(invrbf); ^ /usr/local/include/OpenMVS/Common/Plane.inl:377:18: error: ‘ltn3D’ was not declared in this scope m_planes[0].Set(ltn3D.template topRows<3>(), ltf3D.template topRows<3>(), lbf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:377:47: error: ‘ltf3D’ was not declared in this scope m_planes[0].Set(ltn3D.template topRows<3>(), ltf3D.template topRows<3>(), lbf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:377:76: error: ‘lbf3D’ was not declared in this scope es[0].Set(ltn3D.template topRows<3>(), ltf3D.template topRows<3>(), lbf3D.templ ^ /usr/local/include/OpenMVS/Common/Plane.inl:379:18: error: ‘rtn3D’ was not declared in this scope m_planes[1].Set(rtn3D.template topRows<3>(), rbf3D.template topRows<3>(), rtf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:379:47: error: ‘rbf3D’ was not declared in this scope m_planes[1].Set(rtn3D.template topRows<3>(), rbf3D.template topRows<3>(), rtf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:379:76: error: ‘rtf3D’ was not declared in this scope es[1].Set(rtn3D.template topRows<3>(), rbf3D.template topRows<3>(), rtf3D.templ ^ /usr/local/include/OpenMVS/Common/Plane.inl:381:47: error: ‘rtf3D’ was not declared in this scope m_planes[2].Set(ltn3D.template topRows<3>(), rtf3D.template topRows<3>(), ltf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:383:18: error: ‘lbn3D’ was not declared in this scope m_planes[3].Set(lbn3D.template topRows<3>(), lbf3D.template topRows<3>(), rbf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:383:76: error: ‘rbf3D’ was not declared in this scope es[3].Set(lbn3D.template topRows<3>(), lbf3D.template topRows<3>(), rbf3D.templ ^ /usr/local/include/OpenMVS/Common/Plane.inl:385:47: error: ‘lbn3D’ was not declared in this scope m_planes[4].Set(ltn3D.template topRows<3>(), lbn3D.template topRows<3>(), rbn3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:385:76: error: ‘rbn3D’ was not declared in this scope es[4].Set(ltn3D.template topRows<3>(), lbn3D.template topRows<3>(), rbn3D.templ ^ /usr/local/include/OpenMVS/Common/Plane.inl:387:47: error: ‘rtf3D’ was not declared in this scope m_planes[5].Set(ltf3D.template topRows<3>(), rtf3D.template topRows<3>(), rbf3 ^ /usr/local/include/OpenMVS/Common/Plane.inl:387:76: error: ‘rbf3D’ was not declared in this scope es[5].Set(ltf3D.template topRows<3>(), rtf3D.template topRows<3>(), rbf3D.templ ^ /usr/local/include/OpenMVS/Common/Plane.inl: At global scope: /usr/local/include/OpenMVS/Common/Plane.inl:390:37: error: ‘MATRIX3x4’ does not name a type void TFrustum<TYPE,DIMS>::Set(const MATRIX3x4& m, TYPE w, TYPE h, TYPE n, TYPE ^ /usr/local/include/OpenMVS/Common/Plane.inl:390:6: error: redefinition of ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&, TYPE, TYPE, TYPE, TYPE)’ void TFrustum<TYPE,DIMS>::Set(const MATRIX3x4& m, TYPE w, TYPE h, TYPE n, TYPE ^ /usr/local/include/OpenMVS/Common/Plane.inl:370:6: note: ‘void SEACAVE::TFrustum<TYPE, DIMS>::Set(const int&, TYPE, TYPE, TYPE, TYPE)’ previously declared here void TFrustum<TYPE,DIMS>::Set(const MATRIX4x4& m, TYPE w, TYPE h, TYPE n, TYPE ^ /usr/local/include/OpenMVS/Common/Plane.inl:406:42: error: ‘POINT’ does not name a type UINT TFrustum<TYPE,DIMS>::Classify(const POINT& p) const ^ /usr/local/include/OpenMVS/Common/Plane.inl: In member function ‘UINT SEACAVE::TFrustum<TYPE, DIMS>::Classify(const AABB&) const’: /usr/local/include/OpenMVS/Common/Plane.inl:457:3: error: ‘POINT’ was not declared in this scope POINT ptPlaneMin, ptPlaneMax; ^ /usr/local/include/OpenMVS/Common/Plane.inl:461:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(0) = aabb.ptMin(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:462:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(0) = aabb.ptMax(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:464:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(0) = aabb.ptMax(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:465:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(0) = aabb.ptMin(0); ^ /usr/local/include/OpenMVS/Common/Plane.inl:469:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(1) = aabb.ptMin(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:470:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(1) = aabb.ptMax(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:472:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(1) = aabb.ptMax(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:473:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(1) = aabb.ptMin(1); ^ /usr/local/include/OpenMVS/Common/Plane.inl:477:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(2) = aabb.ptMin(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:478:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(2) = aabb.ptMax(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:480:16: error: there are no arguments to ‘ptPlaneMin’ that depend on a template parameter, so a declaration of ‘ptPlaneMin’ must be available [-fpermissive] ptPlaneMin(2) = aabb.ptMax(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:481:16: error: there are no arguments to ‘ptPlaneMax’ that depend on a template parameter, so a declaration of ‘ptPlaneMax’ must be available [-fpermissive] ptPlaneMax(2) = aabb.ptMin(2); ^ /usr/local/include/OpenMVS/Common/Plane.inl:484:22: error: ‘ptPlaneMin’ was not declared in this scope if (plane.m_vN.dot(ptPlaneMin) > -plane.m_fD) ^ /usr/local/include/OpenMVS/Common/Plane.inl:487:22: error: ‘ptPlaneMax’ was not declared in this scope if (plane.m_vN.dot(ptPlaneMax) >= -plane.m_fD) ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2736:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.h: At global scope: /usr/local/include/OpenMVS/Common/Ray.h:29:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> VECTOR; ^ /usr/local/include/OpenMVS/Common/Ray.h:30:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/Ray.h:35:2: error: ‘POINT’ does not name a type POINT a, b, c; // triangle vertices ^ /usr/local/include/OpenMVS/Common/Ray.h:40:25: error: ‘POINT’ does not name a type inline TTriangle(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:40:39: error: ‘POINT’ does not name a type inline TTriangle(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:40:53: error: ‘POINT’ does not name a type inline TTriangle(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:42:24: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:42:38: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:42:52: error: ‘POINT’ does not name a type inline void Set(const POINT&, const POINT&, const POINT&); ^ /usr/local/include/OpenMVS/Common/Ray.h:47:15: error: ‘POINT’ does not name a type inline const POINT& operator [] (BYTE i) const { ASSERT(i<3); return (&a)[i]; ^ /usr/local/include/OpenMVS/Common/Ray.h:48:9: error: ‘POINT’ does not name a type inline POINT& operator [] (BYTE i) { ASSERT(i<3); return (&a)[i]; } ^ /usr/local/include/OpenMVS/Common/Ray.h:60:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS+1,DIMS+1,Eigen::RowMajor> MATRIX; ^ /usr/local/include/OpenMVS/Common/Ray.h:61:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> VECTOR; ^ /usr/local/include/OpenMVS/Common/Ray.h:62:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT; ^ /usr/local/include/OpenMVS/Common/Ray.h:70:2: error: ‘VECTOR’ does not name a type VECTOR m_vDir; // ray direction (normalized) ^ /usr/local/include/OpenMVS/Common/Ray.h:71:2: error: ‘POINT’ does not name a type POINT m_pOrig; // ray origin ^ /usr/local/include/OpenMVS/Common/Ray.h:76:20: error: ‘POINT’ does not name a type inline TRay(const POINT& pOrig, const VECTOR& vDir); ^ /usr/local/include/OpenMVS/Common/Ray.h:76:40: error: ‘VECTOR’ does not name a type inline TRay(const POINT& pOrig, const VECTOR& vDir); ^ /usr/local/include/OpenMVS/Common/Ray.h:77:20: error: ‘POINT’ does not name a type inline TRay(const POINT& pt0, const POINT& pt1, bool bPoints); ^ /usr/local/include/OpenMVS/Common/Ray.h:77:38: error: ‘POINT’ does not name a type inline TRay(const POINT& pt0, const POINT& pt1, bool bPoints); ^ /usr/local/include/OpenMVS/Common/Ray.h:79:24: error: ‘POINT’ does not name a type inline void Set(const POINT& pOrig, const VECTOR& vDir); ^ /usr/local/include/OpenMVS/Common/Ray.h:79:44: error: ‘VECTOR’ does not name a type inline void Set(const POINT& pOrig, const VECTOR& vDir); ^ /usr/local/include/OpenMVS/Common/Ray.h:80:34: error: ‘POINT’ does not name a type inline void SetFromPoints(const POINT& pt0, const POINT& pt1); ^ /usr/local/include/OpenMVS/Common/Ray.h:80:52: error: ‘POINT’ does not name a type inline void SetFromPoints(const POINT& pt0, const POINT& pt1); ^ /usr/local/include/OpenMVS/Common/Ray.h:81:37: error: ‘POINT’ does not name a type inline TYPE SetFromPointsLen(const POINT& pt0, const POINT& pt1); ^ /usr/local/include/OpenMVS/Common/Ray.h:81:55: error: ‘POINT’ does not name a type inline TYPE SetFromPointsLen(const POINT& pt0, const POINT& pt1); ^ /usr/local/include/OpenMVS/Common/Ray.h:82:32: error: ‘MATRIX’ does not name a type inline void DeTransform(const MATRIX&); // move to matrix space ^ /usr/local/include/OpenMVS/Common/Ray.h:88:24: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:88:38: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:88:52: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:90:24: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:90:38: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:90:52: error: ‘POINT’ does not name a type bool Intersects(const POINT&, const POINT&, const POINT&, ^ /usr/local/include/OpenMVS/Common/Ray.h:93:15: error: ‘POINT’ has not been declared TYPE t, POINT pPtHit) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:95:9: error: ‘POINT’ does not name a type inline POINT Intersects(const PLANE& plane) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:97:24: error: ‘POINT’ has not been declared TYPE fL, TYPE t, POINT pPtHit) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:107:35: error: ‘POINT’ has not been declared bool Intersects(const TRay& ray, POINT& p) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:109:40: error: ‘POINT’ has not been declared bool IntersectsAprox(const TRay& ray, POINT& p) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:110:41: error: ‘POINT’ has not been declared bool IntersectsAprox2(const TRay& ray, POINT& p) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:116:29: error: ‘POINT’ does not name a type inline TYPE Classify(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:117:9: error: ‘POINT’ does not name a type inline POINT ProjectPoint(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:118:24: error: ‘POINT’ does not name a type bool DistanceSq(const POINT&, TYPE&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:119:22: error: ‘POINT’ does not name a type bool Distance(const POINT&, TYPE&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:120:24: error: ‘POINT’ does not name a type TYPE DistanceSq(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:121:22: error: ‘POINT’ does not name a type TYPE Distance(const POINT&) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:123:25: error: ‘MATRIX’ does not name a type TRay operator (const MATRIX&) const; // matrix multiplication ^ /usr/local/include/OpenMVS/Common/Ray.h:124:34: error: ‘MATRIX’ does not name a type inline TRay& operator = (const MATRIX&); // matrix multiplication ^ /usr/local/include/OpenMVS/Common/Ray.h: In member function ‘TYPE& SEACAVE::TRay<TYPE, DIMS>::operator’: /usr/local/include/OpenMVS/Common/Ray.h:126:58: error: ‘m_vDir’ was not declared in this scope inline TYPE& operator [] (BYTE i) { ASSERT(i<6); return m_vDir.data()[i]; } ^ /usr/local/include/OpenMVS/Common/Ray.h: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::operator const’: /usr/local/include/OpenMVS/Common/Ray.h:127:63: error: ‘m_vDir’ was not declared in this scope inline TYPE operator [] (BYTE i) const { ASSERT(i<6); return m_vDir.data()[i]; ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:15:46: error: ‘POINT’ does not name a type inline TTriangle<TYPE,DIMS>::TTriangle(const POINT& p0, const POINT& p1, const ^ /usr/local/include/OpenMVS/Common/Ray.inl:15:63: error: ‘POINT’ does not name a type inline TTriangle<TYPE,DIMS>::TTriangle(const POINT& p0, const POINT& p1, const ^ /usr/local/include/OpenMVS/Common/Ray.inl:15:80: error: ‘POINT’ does not name a type iangle<TYPE,DIMS>::TTriangle(const POINT& p0, const POINT& p1, const POINT& p2) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In constructor ‘SEACAVE::TTriangle<TYPE, DIMS>::TTriangle(const int&, const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:17:2: error: class ‘SEACAVE::TTriangle<TYPE, DIMS>’ does not have any field named ‘a’ a(p0), b(p1), c(p2) ^ /usr/local/include/OpenMVS/Common/Ray.inl:17:9: error: class ‘SEACAVE::TTriangle<TYPE, DIMS>’ does not have any field named ‘b’ a(p0), b(p1), c(p2) ^ /usr/local/include/OpenMVS/Common/Ray.inl:17:16: error: class ‘SEACAVE::TTriangle<TYPE, DIMS>’ does not have any field named ‘c’ a(p0), b(p1), c(p2) ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:24:45: error: ‘POINT’ does not name a type inline void TTriangle<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const P ^ /usr/local/include/OpenMVS/Common/Ray.inl:24:62: error: ‘POINT’ does not name a type inline void TTriangle<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const P ^ /usr/local/include/OpenMVS/Common/Ray.inl:24:79: error: ‘POINT’ does not name a type id TTriangle<TYPE,DIMS>::Set(const POINT& p0, const POINT& p1, const POINT& p2) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘void SEACAVE::TTriangle<TYPE, DIMS>::Set(const int&, const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:26:2: error: ‘a’ was not declared in this scope a = p0; ^ /usr/local/include/OpenMVS/Common/Ray.inl:27:2: error: ‘b’ was not declared in this scope b = p1; ^ /usr/local/include/OpenMVS/Common/Ray.inl:28:2: error: ‘c’ was not declared in this scope c = p2; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘SEACAVE::TTriangle<TYPE, DIMS>::AABB SEACAVE::TTriangle<TYPE, DIMS>::GetAABB() const’: /usr/local/include/OpenMVS/Common/Ray.inl:37:30: error: there are no arguments to ‘operator[]’ that depend on a template parameter, so a declaration of ‘operator[]’ must be available [-fpermissive] return AABB(& operator [] (0), 3); ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘SEACAVE::TTriangle<TYPE, DIMS>::PLANE SEACAVE::TTriangle<TYPE, DIMS>::GetPlane() const’: /usr/local/include/OpenMVS/Common/Ray.inl:43:15: error: ‘a’ was not declared in this scope return PLANE(a, b, c); ^ /usr/local/include/OpenMVS/Common/Ray.inl:43:18: error: ‘b’ was not declared in this scope return PLANE(a, b, c); ^ /usr/local/include/OpenMVS/Common/Ray.inl:43:21: error: ‘c’ was not declared in this scope return PLANE(a, b, c); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:51:36: error: ‘POINT’ does not name a type inline TRay<TYPE,DIMS>::TRay(const POINT& pOrig, const VECTOR& vDir) ^ /usr/local/include/OpenMVS/Common/Ray.inl:51:56: error: ‘VECTOR’ does not name a type inline TRay<TYPE,DIMS>::TRay(const POINT& pOrig, const VECTOR& vDir) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In constructor ‘SEACAVE::TRay<TYPE, DIMS>::TRay(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:53:2: error: class ‘SEACAVE::TRay<TYPE, DIMS>’ does not have any field named ‘m_vDir’ m_vDir(vDir), m_pOrig(pOrig) ^ /usr/local/include/OpenMVS/Common/Ray.inl:53:16: error: class ‘SEACAVE::TRay<TYPE, DIMS>’ does not have any field named ‘m_pOrig’ m_vDir(vDir), m_pOrig(pOrig) ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:55:2: error: ‘m_vDir’ was not declared in this scope ASSERT(ISEQUAL(m_vDir.squaredNorm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:58:36: error: ‘POINT’ does not name a type inline TRay<TYPE,DIMS>::TRay(const POINT& pt0, const POINT& pt1, bool /bPoints ^ /usr/local/include/OpenMVS/Common/Ray.inl:58:54: error: ‘POINT’ does not name a type inline TRay<TYPE,DIMS>::TRay(const POINT& pt0, const POINT& pt1, bool /bPoints ^ /usr/local/include/OpenMVS/Common/Ray.inl: In constructor ‘SEACAVE::TRay<TYPE, DIMS>::TRay(const int&, const int&, bool)’: /usr/local/include/OpenMVS/Common/Ray.inl:60:2: error: class ‘SEACAVE::TRay<TYPE, DIMS>’ does not have any field named ‘m_vDir’ m_vDir((pt1-pt0).normalized()), m_pOrig(pt0) ^ /usr/local/include/OpenMVS/Common/Ray.inl:60:19: error: request for member ‘normalized’ in ‘(pt1 - pt0)’, which is of non-class type ‘int’ m_vDir((pt1-pt0).normalized()), m_pOrig(pt0) ^ /usr/local/include/OpenMVS/Common/Ray.inl:60:34: error: class ‘SEACAVE::TRay<TYPE, DIMS>’ does not have any field named ‘m_pOrig’ m_vDir((pt1-pt0).normalized()), m_pOrig(pt0) ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:67:40: error: ‘POINT’ does not name a type inline void TRay<TYPE,DIMS>::Set(const POINT& pOrig, const VECTOR& vDir) ^ /usr/local/include/OpenMVS/Common/Ray.inl:67:60: error: ‘VECTOR’ does not name a type inline void TRay<TYPE,DIMS>::Set(const POINT& pOrig, const VECTOR& vDir) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘void SEACAVE::TRay<TYPE, DIMS>::Set(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:69:2: error: ‘m_vDir’ was not declared in this scope m_vDir = vDir; ^ /usr/local/include/OpenMVS/Common/Ray.inl:70:2: error: ‘m_pOrig’ was not declared in this scope m_pOrig = pOrig; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:74:50: error: ‘POINT’ does not name a type inline void TRay<TYPE,DIMS>::SetFromPoints(const POINT& pt0, const POINT& pt1) ^ /usr/local/include/OpenMVS/Common/Ray.inl:74:68: error: ‘POINT’ does not name a type inline void TRay<TYPE,DIMS>::SetFromPoints(const POINT& pt0, const POINT& pt1) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘void SEACAVE::TRay<TYPE, DIMS>::SetFromPoints(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:76:2: error: ‘m_vDir’ was not declared in this scope m_vDir = (pt1-pt0).normalized(); ^ /usr/local/include/OpenMVS/Common/Ray.inl:76:21: error: request for member ‘normalized’ in ‘(pt1 - pt0)’, which is of non-class type ‘int’ m_vDir = (pt1-pt0).normalized(); ^ /usr/local/include/OpenMVS/Common/Ray.inl:77:2: error: ‘m_pOrig’ was not declared in this scope m_pOrig = pt0; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:80:53: error: ‘POINT’ does not name a type inline TYPE TRay<TYPE,DIMS>::SetFromPointsLen(const POINT& pt0, const POINT& pt ^ /usr/local/include/OpenMVS/Common/Ray.inl:80:71: error: ‘POINT’ does not name a type line TYPE TRay<TYPE,DIMS>::SetFromPointsLen(const POINT& pt0, const POINT& pt1) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::SetFromPointsLen(const int&, const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:82:2: error: ‘m_vDir’ was not declared in this scope m_vDir = pt1-pt0; ^ /usr/local/include/OpenMVS/Common/Ray.inl:86:2: error: ‘m_pOrig’ was not declared in this scope m_pOrig = pt0; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:94:48: error: ‘MATRIX’ does not name a type inline void TRay<TYPE,DIMS>::DeTransform(const MATRIX& _m) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘void SEACAVE::TRay<TYPE, DIMS>::DeTransform(const int&)’: /usr/local/include/OpenMVS/Common/Ray.inl:97:2: error: ‘MATRIX’ was not declared in this scope MATRIX m(_m); ^ /usr/local/include/OpenMVS/Common/Ray.inl:100:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,4,1> VECTOR4; ^ /usr/local/include/OpenMVS/Common/Ray.inl:101:8: error: ‘VECTOR4’ does not name a type const VECTOR4 vcOrig(m_pOrig[0]-m(3,0), m_pOrig[1]-m(3,1), m_pOrig[2]-m(3,2)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:104:7: error: there are no arguments to ‘m’ that depend on a template parameter, so a declaration of ‘m’ must be available [-fpermissive] m(3,0) = m(3,1) = m(3,2) = TYPE(0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:104:16: error: there are no arguments to ‘m’ that depend on a template parameter, so a declaration of ‘m’ must be available [-fpermissive] m(3,0) = m(3,1) = m(3,2) = TYPE(0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:104:25: error: there are no arguments to ‘m’ that depend on a template parameter, so a declaration of ‘m’ must be available [-fpermissive] m(3,0) = m(3,1) = m(3,2) = TYPE(0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:107:8: error: ‘MATRIX’ does not name a type const MATRIX mInv = m.inverse(); ^ /usr/local/include/OpenMVS/Common/Ray.inl:108:2: error: ‘m_pOrig’ was not declared in this scope m_pOrig = vcOrig mInv; ^ /usr/local/include/OpenMVS/Common/Ray.inl:108:12: error: ‘vcOrig’ was not declared in this scope m_pOrig = vcOrig mInv; ^ /usr/local/include/OpenMVS/Common/Ray.inl:108:21: error: ‘mInv’ was not declared in this scope m_pOrig = vcOrig mInv; ^ /usr/local/include/OpenMVS/Common/Ray.inl:109:2: error: ‘m_vDir’ was not declared in this scope m_vDir = VECTOR4(m_vDir) mInv; ^ /usr/local/include/OpenMVS/Common/Ray.inl:109:25: error: there are no arguments to ‘VECTOR4’ that depend on a template parameter, so a declaration of ‘VECTOR4’ must be available [-fpermissive] m_vDir = VECTOR4(m_vDir) mInv; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:116:50: error: ‘MATRIX’ does not name a type TRay<TYPE,DIMS> TRay<TYPE,DIMS>::operator(const MATRIX& m) const ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘SEACAVE::TRay<TYPE, DIMS> SEACAVE::TRay<TYPE, DIMS>::operator(const int&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:119:20: error: ‘m_pOrig’ was not declared in this scope ray.SetFromPoints(m_pOrigm, (m_pOrig+m_vDir)m); ^ /usr/local/include/OpenMVS/Common/Ray.inl:119:40: error: ‘m_vDir’ was not declared in this scope ray.SetFromPoints(m_pOrigm, (m_pOrig+m_vDir)m); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:123:59: error: ‘MATRIX’ does not name a type inline TRay<TYPE,DIMS>& TRay<TYPE,DIMS>::operator=(const MATRIX& m) ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const TRIANGLE&, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:136:8: error: ‘VECTOR’ does not name a type const VECTOR edge1(tri.b - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:137:8: error: ‘VECTOR’ does not name a type const VECTOR edge2(tri.c - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:140:8: error: ‘VECTOR’ does not name a type const VECTOR pvec(m_vDir.cross(edge2)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:141:17: error: ‘edge1’ was not declared in this scope const TYPE det(edge1.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:141:27: error: ‘pvec’ was not declared in this scope const TYPE det(edge1.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:146:8: error: ‘VECTOR’ does not name a type const VECTOR tvec(m_pOrig - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:147:15: error: ‘tvec’ was not declared in this scope const TYPE u(tvec.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:151:8: error: ‘VECTOR’ does not name a type const VECTOR qvec(tvec.cross(edge1)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:152:15: error: ‘m_vDir’ was not declared in this scope const TYPE v(m_vDir.dot(qvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:152:26: error: ‘qvec’ was not declared in this scope const TYPE v(m_vDir.dot(qvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:157:9: error: ‘edge2’ was not declared in this scope t = (edge2.dot(qvec)) / det; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const TRIANGLE&, TYPE, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:169:8: error: ‘VECTOR’ does not name a type const VECTOR edge1(tri.b - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:170:8: error: ‘VECTOR’ does not name a type const VECTOR edge2(tri.c - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:173:8: error: ‘VECTOR’ does not name a type const VECTOR pvec(m_vDir.cross(edge2)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:174:17: error: ‘edge1’ was not declared in this scope const TYPE det(edge1.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:174:27: error: ‘pvec’ was not declared in this scope const TYPE det(edge1.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:179:8: error: ‘VECTOR’ does not name a type const VECTOR tvec(m_pOrig - tri.a); ^ /usr/local/include/OpenMVS/Common/Ray.inl:180:15: error: ‘tvec’ was not declared in this scope const TYPE u(tvec.dot(pvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:184:8: error: ‘VECTOR’ does not name a type const VECTOR qvec(tvec.cross(edge1)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:185:15: error: ‘m_vDir’ was not declared in this scope const TYPE v(m_vDir.dot(qvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:185:26: error: ‘qvec’ was not declared in this scope const TYPE v(m_vDir.dot(qvec)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:190:9: error: ‘edge2’ was not declared in this scope t = (edge2.dot(qvec)) / det; ^ /usr/local/include/OpenMVS/Common/Ray.inl:196:8: error: ‘edge2’ was not declared in this scope if ((edge2.dot(qvec)) / det > fL) return false; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:206:40: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Ray.inl:206:57: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Ray.inl:206:74: error: ‘POINT’ does not name a type TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& p2, ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const int&, const int&, const int&, bool, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:208:8: error: ‘VECTOR’ does not name a type const VECTOR edge1(p1 - p0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:209:8: error: ‘VECTOR’ does not name a type const VECTOR edge2(p2 - p0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:212:8: error: ‘VECTOR’ does not name a type const VECTOR pvec = m_vDir.cross(edge2); ^ /usr/local/include/OpenMVS/Common/Ray.inl:213:19: error: ‘edge1’ was not declared in this scope const TYPE det = edge1.dot(pvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:213:29: error: ‘pvec’ was not declared in this scope const TYPE det = edge1.dot(pvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:218:8: error: ‘VECTOR’ does not name a type const VECTOR tvec = m_pOrig - p0; ^ /usr/local/include/OpenMVS/Common/Ray.inl:219:17: error: ‘tvec’ was not declared in this scope const TYPE u = tvec pvec; ^ /usr/local/include/OpenMVS/Common/Ray.inl:223:8: error: ‘VECTOR’ does not name a type const VECTOR qvec = tvec.cross(edge1); ^ /usr/local/include/OpenMVS/Common/Ray.inl:224:17: error: ‘m_vDir’ was not declared in this scope const TYPE v = m_vDir.dot(qvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:224:28: error: ‘qvec’ was not declared in this scope const TYPE v = m_vDir.dot(qvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:229:9: error: ‘edge2’ was not declared in this scope t = (edge2.dot(qvec)) / det; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:239:40: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Ray.inl:239:57: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Ray.inl:239:74: error: ‘POINT’ does not name a type TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& p2, ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const int&, const int&, const int&, bool, TYPE, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:241:8: error: ‘VECTOR’ does not name a type const VECTOR edge1(p1 - p0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:242:8: error: ‘VECTOR’ does not name a type const VECTOR edge2(p2 - p0); ^ /usr/local/include/OpenMVS/Common/Ray.inl:245:8: error: ‘VECTOR’ does not name a type const VECTOR pvec = m_vDir.cross(edge2); ^ /usr/local/include/OpenMVS/Common/Ray.inl:246:19: error: ‘edge1’ was not declared in this scope const TYPE det = edge1.dot(pvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:246:29: error: ‘pvec’ was not declared in this scope const TYPE det = edge1.dot(pvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:251:8: error: ‘VECTOR’ does not name a type const VECTOR tvec = m_pOrig - p0; ^ /usr/local/include/OpenMVS/Common/Ray.inl:252:17: error: ‘tvec’ was not declared in this scope const TYPE u = tvec.dot(pvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:256:8: error: ‘VECTOR’ does not name a type const VECTOR qvec = tvec.cross(edge1); ^ /usr/local/include/OpenMVS/Common/Ray.inl:257:17: error: ‘m_vDir’ was not declared in this scope const TYPE v = m_vDir.dot(qvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:257:28: error: ‘qvec’ was not declared in this scope const TYPE v = m_vDir.dot(qvec); ^ /usr/local/include/OpenMVS/Common/Ray.inl:262:9: error: ‘edge2’ was not declared in this scope t = (edge2.dot(qvec)) / det; ^ /usr/local/include/OpenMVS/Common/Ray.inl:268:8: error: ‘edge2’ was not declared in this scope if ((edge2.dot(qvec)) / det > fL) return false; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SPHERE&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:289:8: error: ‘VECTOR’ does not name a type const VECTOR a(sphere.center - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:290:6: error: ‘a’ was not declared in this scope t = a.dot(m_vDir); ^ /usr/local/include/OpenMVS/Common/Ray.inl:290:12: error: ‘m_vDir’ was not declared in this scope t = a.dot(m_vDir); ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:306:6: error: ‘m_vDir’ was not declared in this scope if (m_vDir[0] == TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Ray.inl:307:7: error: ‘m_pOrig’ was not declared in this scope if (m_pOrig[0] < aabb.ptMin[0] || m_pOrig[0] > aabb.ptMax[0]) ^ /usr/local/include/OpenMVS/Common/Ray.inl:311:26: error: ‘m_pOrig’ was not declared in this scope _min = (aabb.ptMin[0]-m_pOrig[0])/m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:314:26: error: ‘m_pOrig’ was not declared in this scope _min = (aabb.ptMax[0]-m_pOrig[0])/m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:320:6: error: ‘m_vDir’ was not declared in this scope if (m_vDir[1] == TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Ray.inl:321:7: error: ‘m_pOrig’ was not declared in this scope if (m_pOrig[1] < aabb.ptMin[1] || m_pOrig[1] > aabb.ptMax[1]) ^ /usr/local/include/OpenMVS/Common/Ray.inl:326:28: error: ‘m_pOrig’ was not declared in this scope newmin = (aabb.ptMin[1]-m_pOrig[1])/m_vDir[1]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:329:28: error: ‘m_pOrig’ was not declared in this scope newmin = (aabb.ptMax[1]-m_pOrig[1])/m_vDir[1]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:353:6: error: ‘m_vDir’ was not declared in this scope if (m_vDir[2] == TYPE(0)) { ^ /usr/local/include/OpenMVS/Common/Ray.inl:354:7: error: ‘m_pOrig’ was not declared in this scope if (m_pOrig[2] < aabb.ptMin[2] || m_pOrig[2] > aabb.ptMax[2]) ^ /usr/local/include/OpenMVS/Common/Ray.inl:359:28: error: ‘m_pOrig’ was not declared in this scope newmin = (aabb.ptMin[2]-m_pOrig[2])/m_vDir[2]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:362:28: error: ‘m_pOrig’ was not declared in this scope newmin = (aabb.ptMax[2]-m_pOrig[2])/m_vDir[2]; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:403:13: error: ‘m_vDir’ was not declared in this scope if (ISZERO(m_vDir[0])) { ^ /usr/local/include/OpenMVS/Common/Ray.inl:404:8: error: ‘m_pOrig’ was not declared in this scope if ((m_pOrig[0] < aabb.ptMin[0]) || ^ /usr/local/include/OpenMVS/Common/Ray.inl:408:24: error: ‘m_pOrig’ was not declared in this scope t0 = (aabb.ptMin[0] - m_pOrig[0]) / m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:408:38: error: ‘m_vDir’ was not declared in this scope t0 = (aabb.ptMin[0] - m_pOrig[0]) / m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&, TYPE, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:460:13: error: ‘m_vDir’ was not declared in this scope if (ISZERO(m_vDir[0])) { ^ /usr/local/include/OpenMVS/Common/Ray.inl:461:8: error: ‘m_pOrig’ was not declared in this scope if ((m_pOrig[0] < aabb.ptMin[0]) || ^ /usr/local/include/OpenMVS/Common/Ray.inl:465:24: error: ‘m_pOrig’ was not declared in this scope t0 = (aabb.ptMin[0] - m_pOrig[0]) / m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl:465:38: error: ‘m_vDir’ was not declared in this scope t0 = (aabb.ptMin[0] - m_pOrig[0]) / m_vDir[0]; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const OBB&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:527:8: error: ‘POINT’ does not name a type const POINT vP = obb.m_pos - m_pOrig; ^ /usr/local/include/OpenMVS/Common/Ray.inl:530:25: error: ‘vP’ was not declared in this scope e = obb.m_rot.row(0) vP; ^ /usr/local/include/OpenMVS/Common/Ray.inl:531:25: error: ‘m_vDir’ was not declared in this scope f = obb.m_rot.row(0) m_vDir; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const OBB&, TYPE, TYPE) const’: /usr/local/include/OpenMVS/Common/Ray.inl:595:8: error: ‘POINT’ does not name a type const POINT vP = obb.m_pos - m_pOrig; ^ /usr/local/include/OpenMVS/Common/Ray.inl:598:25: error: ‘vP’ was not declared in this scope e = obb.m_rot.row(0) vP; ^ /usr/local/include/OpenMVS/Common/Ray.inl:599:25: error: ‘m_vDir’ was not declared in this scope f = obb.m_rot.row(0) m_vDir; ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:662:75: error: ‘POINT’ has not been declared Ray<TYPE,DIMS>::Intersects(const PLANE& plane, bool bCull, TYPE t, POINT pPtH ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const PLANE&, bool, TYPE, int) const’: /usr/local/include/OpenMVS/Common/Ray.inl:664:31: error: ‘m_vDir’ was not declared in this scope const TYPE Vd(plane.m_vN.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:675:32: error: ‘m_pOrig’ was not declared in this scope const TYPE Vo(-plane.Distance(m_pOrig)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::IntersectsDist(const PLANE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:695:31: error: ‘m_vDir’ was not declared in this scope const TYPE Vd(plane.m_vN.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:696:32: error: ‘m_pOrig’ was not declared in this scope const TYPE Vo(-plane.Distance(m_pOrig)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:700:40: error: prototype for ‘typename SEACAVE::TRay<TYPE, DIMS>::POINT SEACAVE::TRay<TYPE, DIMS>::Intersects(const PLANE&) const’ does not match any in class ‘SEACAVE::TRay<TYPE, DIMS>’ inline typename TRay<TYPE,DIMS>::POINT TRay<TYPE,DIMS>::Intersects(const PLANE& ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2736:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.h:108:7: error: candidates are: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, TYPE&, TYPE&) const bool Intersects(const TRay& ray, TYPE& s1, TYPE& s2) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:107:7: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, int&) const bool Intersects(const TRay& ray, POINT& p) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:106:7: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, TYPE&) const bool Intersects(const TRay& ray, TYPE& s) const; ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:589:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const OBB&, TYPE, TYPE) const bool TRay<TYPE,DIMS>::Intersects(const OBB& obb, TYPE fL, TYPE t) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:521:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const OBB&, TYPE&) const bool TRay<TYPE,DIMS>::Intersects(const OBB& obb, TYPE& t) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:513:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const OBB&) const bool TRay<TYPE,DIMS>::Intersects(const OBB& obb) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:453:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&, TYPE, TYPE) const bool TRay<TYPE,DIMS>::Intersects(const AABB &aabb, TYPE fL, TYPE t) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:396:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&, TYPE&) const bool TRay<TYPE,DIMS>::Intersects(const AABB &aabb, TYPE& t) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:301:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const AABB&) const bool TRay<TYPE,DIMS>::Intersects(const AABB &aabb) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:287:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SPHERE&, TYPE&) const bool TRay<TYPE,DIMS>::Intersects(const SPHERE& sphere, TYPE& t) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:278:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SPHERE&) const bool TRay<TYPE,DIMS>::Intersects(const SPHERE& sphere) const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2736:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.h:96:7: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const PLANE&, bool, TYPE, TYPE, int) const bool Intersects(const PLANE& plane, bool bCull, ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:662:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const PLANE&, bool, TYPE, int) const bool TRay<TYPE,DIMS>::Intersects(const PLANE& plane, bool bCull, TYPE t, POINT ^ /usr/local/include/OpenMVS/Common/Ray.inl:239:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const int&, const int&, const int&, bool, TYPE, TYPE) const bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ /usr/local/include/OpenMVS/Common/Ray.inl:206:6: error: bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const int&, const int&, const int&, bool, TYPE) const bool TRay<TYPE,DIMS>::Intersects(const POINT& p0, const POINT& p1, const POINT& ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2736:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.h:87:7: error: template<class TYPE, int DIMS> template bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const TRIANGLE&, TYPE, TYPE) const bool Intersects(const TRIANGLE&, TYPE fL, TYPE t) const; ^ /usr/local/include/OpenMVS/Common/Ray.h:85:7: error: template<class TYPE, int DIMS> template bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const TRIANGLE&, TYPE) const bool Intersects(const TRIANGLE&, TYPE t) const; ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:709:84: error: ‘POINT’ has not been declared DIMS>::Intersects(const PLANE& plane, bool bCull, TYPE fL, TYPE t, POINT pPtH ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const PLANE&, bool, TYPE, TYPE, int) const’: /usr/local/include/OpenMVS/Common/Ray.inl:711:33: error: ‘m_vDir’ was not declared in this scope const TYPE Vd = plane.m_vN.dot(m_vDir); ^ /usr/local/include/OpenMVS/Common/Ray.inl:722:32: error: ‘m_pOrig’ was not declared in this scope const TYPE Vo(-plane.Distance(m_pOrig)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:749:8: error: ‘POINT’ does not name a type const POINT dir(ray.m_pOrig - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:750:8: error: ‘POINT’ does not name a type const POINT n(m_vDir.cross(ray.m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:751:14: error: ‘dir’ was not declared in this scope if (!ISZERO(dir.dot(n))) ^ /usr/local/include/OpenMVS/Common/Ray.inl:751:22: error: ‘n’ was not declared in this scope if (!ISZERO(dir.dot(n))) ^ /usr/local/include/OpenMVS/Common/Ray.inl:753:6: error: ‘dir’ was not declared in this scope s = dir.cross(ray.m_vDir).dot(n) / n.squaredNorm(); ^ /usr/local/include/OpenMVS/Common/Ray.inl:753:32: error: ‘n’ was not declared in this scope s = dir.cross(ray.m_vDir).dot(n) / n.squaredNorm(); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:758:51: error: ‘POINT’ has not been declared bool TRay<TYPE,DIMS>::Intersects(const TRay& ray, POINT& p) const ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, int&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:765:6: error: ‘m_pOrig’ was not declared in this scope p = m_pOrig + m_vDir s; ^ /usr/local/include/OpenMVS/Common/Ray.inl:765:16: error: ‘m_vDir’ was not declared in this scope p = m_pOrig + m_vDir s; ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Intersects(const SEACAVE::TRay<TYPE, DIMS>&, TYPE&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:775:34: error: ‘m_vDir’ was not declared in this scope const TYPE d4321(ray.m_vDir.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:781:8: error: ‘POINT’ does not name a type const POINT dir(m_pOrig - ray.m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:782:19: error: ‘dir’ was not declared in this scope const TYPE d1321(dir.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:792:56: error: ‘POINT’ has not been declared bool TRay<TYPE,DIMS>::IntersectsAprox(const TRay& ray, POINT& p) const ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::IntersectsAprox(const SEACAVE::TRay<TYPE, DIMS>&, int&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:797:8: error: ‘POINT’ does not name a type const POINT P1 = m_pOrig + m_vDir s1; ^ /usr/local/include/OpenMVS/Common/Ray.inl:798:8: error: ‘POINT’ does not name a type const POINT P2 = ray.m_pOrig + ray.m_vDir s2; ^ /usr/local/include/OpenMVS/Common/Ray.inl:799:7: error: ‘P1’ was not declared in this scope p = (P1+P2)TYPE(0.5); ^ /usr/local/include/OpenMVS/Common/Ray.inl:799:10: error: ‘P2’ was not declared in this scope p = (P1+P2)TYPE(0.5); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:805:57: error: ‘POINT’ has not been declared bool TRay<TYPE,DIMS>::IntersectsAprox2(const TRay& ray, POINT& p) const ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::CosAngle(const SEACAVE::TRay<TYPE, DIMS>&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:822:2: error: ‘m_vDir’ was not declared in this scope ASSERT(ISEQUAL(m_vDir.norm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Coplanar(const SEACAVE::TRay<TYPE, DIMS>&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:830:8: error: ‘POINT’ does not name a type const POINT dir(ray.m_pOrig - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:831:8: error: ‘POINT’ does not name a type const POINT n(m_vDir.cross(ray.m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:832:16: error: ‘dir’ was not declared in this scope return ISZERO(dir.dot(n)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:832:24: error: ‘n’ was not declared in this scope return ISZERO(dir.dot(n)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Parallel(const SEACAVE::TRay<TYPE, DIMS>&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:838:16: error: ‘m_vDir’ was not declared in this scope return ISZERO(m_vDir.cross(ray.m_vDir).norm()); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:846:45: error: ‘POINT’ does not name a type inline TYPE TRay<TYPE,DIMS>::Classify(const POINT& pt) const ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::Classify(const int&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:848:2: error: ‘m_vDir’ was not declared in this scope ASSERT(ISEQUAL(m_vDir.norm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:849:8: error: ‘VECTOR’ does not name a type const VECTOR a(pt - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:850:9: error: ‘a’ was not declared in this scope return a.dot(m_vDir); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:853:76: error: ‘POINT’ does not name a type typename TRay<TYPE,DIMS>::POINT TRay<TYPE,DIMS>::ProjectPoint(const POINT& pt) ^ /usr/local/include/OpenMVS/Common/Ray.inl:853:87: error: no ‘typename SEACAVE::TRay<TYPE, DIMS>::POINT SEACAVE::TRay<TYPE, DIMS>::ProjectPoint(const int&) const’ member function declared in class ‘SEACAVE::TRay<TYPE, DIMS>’ ame TRay<TYPE,DIMS>::POINT TRay<TYPE,DIMS>::ProjectPoint(const POINT& pt) const ^ /usr/local/include/OpenMVS/Common/Ray.inl:863:40: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::DistanceSq(const POINT& pt, TYPE& d) const ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::DistanceSq(const int&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:865:8: error: ‘VECTOR’ does not name a type const VECTOR a(pt - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:866:21: error: ‘a’ was not declared in this scope const TYPE LenACos(a.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:866:27: error: ‘m_vDir’ was not declared in this scope const TYPE LenACos(a.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:874:38: error: ‘POINT’ does not name a type bool TRay<TYPE,DIMS>::Distance(const POINT& pt, TYPE& d) const ^ /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘bool SEACAVE::TRay<TYPE, DIMS>::Distance(const int&, TYPE&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:876:8: error: ‘VECTOR’ does not name a type const VECTOR a(pt - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:877:21: error: ‘a’ was not declared in this scope const TYPE LenACos(a.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl:877:27: error: ‘m_vDir’ was not declared in this scope const TYPE LenACos(a.dot(m_vDir)); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:886:40: error: ‘POINT’ does not name a type TYPE TRay<TYPE,DIMS>::DistanceSq(const POINT& pt) const ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl: In member function ‘TYPE SEACAVE::TRay<TYPE, DIMS>::DistanceSq(const int&) const’: /usr/local/include/OpenMVS/Common/Ray.inl:888:2: error: ‘m_vDir’ was not declared in this scope ASSERT(ISEQUAL(m_vDir.norm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/Common/Ray.h:132:0, from /usr/local/include/OpenMVS/Common/Types.h:2736, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Ray.inl:889:8: error: ‘VECTOR’ does not name a type const VECTOR a(pt - m_pOrig); ^ /usr/local/include/OpenMVS/Common/Ray.inl:890:8: error: ‘VECTOR’ does not name a type const VECTOR b(a - m_vDir); ^ /usr/local/include/OpenMVS/Common/Ray.inl:891:9: error: ‘b’ was not declared in this scope return b.cross(a).squaredNorm(); ^ /usr/local/include/OpenMVS/Common/Ray.inl:891:17: error: ‘a’ was not declared in this scope return b.cross(a).squaredNorm(); ^ /usr/local/include/OpenMVS/Common/Ray.inl: At global scope: /usr/local/include/OpenMVS/Common/Ray.inl:894:38: error: ‘POINT’ does not name a type TYPE TRay<TYPE,DIMS>::Distance(const POINT& pt) const ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2737:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.h:55:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT_TYPE; ^ /usr/local/include/OpenMVS/Common/Octree.h:60:3: error: ‘POINT_TYPE’ does not name a type POINT_TYPE center; // center of the current cell ^ /usr/local/include/OpenMVS/Common/Octree.h:78:37: error: ‘POINT_TYPE’ does not name a type inline unsigned ComputeChild(const POINT_TYPE& item) const; ^ /usr/local/include/OpenMVS/Common/Octree.h:79:28: error: ‘POINT_TYPE’ has not been declared static void ComputeCenter(POINT_TYPE []); ^ /usr/local/include/OpenMVS/Common/Octree.h:87:15: error: ‘POINT_TYPE’ does not name a type inline const POINT_TYPE& GetCenter() const { return Node().center; } ^ In file included from /usr/local/include/OpenMVS/Common/Octree.h:249:0, from /usr/local/include/OpenMVS/Common/Types.h:2737, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.inl:70:70: error: ‘POINT_TYPE’ does not name a type nline unsigned TOctreeCell<TYPE,DIMS,DATA_TYPE>::ComputeChild(const POINT_TYPE& ^ /usr/local/include/OpenMVS/Common/Octree.inl: In member function ‘unsigned int SEACAVE::TOctreeCell<TYPE, DIMS, DATA_TYPE>::ComputeChild(const int&) const’: /usr/local/include/OpenMVS/Common/Octree.inl:74:12: error: invalid types ‘const int[int]’ for array subscript if (item[0] >= Node().center[0]) ^ /usr/local/include/OpenMVS/Common/Octree.inl:77:12: error: invalid types ‘const int[int]’ for array subscript if (item[1] >= Node().center[1]) ^ /usr/local/include/OpenMVS/Common/Octree.inl:80:12: error: invalid types ‘const int[int]’ for array subscript if (item[2] >= Node().center[2]) ^ /usr/local/include/OpenMVS/Common/Octree.inl: At global scope: /usr/local/include/OpenMVS/Common/Octree.inl:87:54: error: variable or field ‘ComputeCenter’ declared void void TOctreeCell<TYPE,DIMS,DATA_TYPE>::ComputeCenter(POINT_TYPE centers[]) ^ /usr/local/include/OpenMVS/Common/Octree.inl:87:54: error: ‘POINT_TYPE’ was not declared in this scope In file included from /usr/local/include/OpenMVS/Common/Octree.h:249:0, from /usr/local/include/OpenMVS/Common/Types.h:2737, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.inl: In function ‘bool SEACAVE::OctreeTest(unsigned int, unsigned int, bool)’: /usr/local/include/OpenMVS/Common/Octree.inl:575:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,DIMS,1> POINT_TYPE; ^ /usr/local/include/OpenMVS/Common/Octree.inl:576:25: error: ‘POINT_TYPE’ was not declared in this scope typedef SEACAVE::cList<POINT_TYPE,const POINT_TYPE&,0> TestArr; ^ /usr/local/include/OpenMVS/Common/Octree.inl:576:55: error: template argument 1 is invalid typedef SEACAVE::cList<POINT_TYPE,const POINT_TYPE&,0> TestArr; ^ /usr/local/include/OpenMVS/Common/Octree.inl:576:55: error: template argument 2 is invalid /usr/local/include/OpenMVS/Common/Octree.inl:580:11: error: ‘Eigen’ has not been declared aabb.Set(Eigen::Map(ptMinData), Eigen::Map ^ /usr/local/include/OpenMVS/Common/Octree.inl:580:22: error: expected primary-expression before ‘const’ aabb.Set(Eigen::Map(ptMinData), Eigen::Map ^ /usr/local/include/OpenMVS/Common/Octree.inl:580:52: error: ‘Eigen’ has not been declared aabb.Set(Eigen::Map(ptMinData), Eigen::Map ^ /usr/local/include/OpenMVS/Common/Octree.inl:580:63: error: expected primary-expression before ‘const’ aabb.Set(Eigen::Map(ptMinData), Eigen::Map ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:367:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: qualified-id in declaration before ‘i’ FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: expected ‘;’ before ‘i’ /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: ‘i’ was not declared in this scope /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: ‘iSize’ was not declared in this scope FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: request for member ‘GetSize’ in ‘items’, which is of non-class type ‘TestArr {aka int}’ FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: expected ‘)’ before ‘;’ token FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:593:3: error: ‘i’ was not declared in this scope FOREACH(i, items) ^ In file included from /usr/local/include/OpenMVS/Common/Octree.h:249:0, from /usr/local/include/OpenMVS/Common/Types.h:2737, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.inl:594:18: error: ‘j’ was not declared in this scope for (int j=0; j<DIMS; ++j) ^ /usr/local/include/OpenMVS/Common/Octree.inl:597:14: error: expected ‘;’ before ‘pt’ POINT_TYPE pt; ^ /usr/local/include/OpenMVS/Common/Octree.inl:598:7: error: there are no arguments to ‘pt’ that depend on a template parameter, so a declaration of ‘pt’ must be available [-fpermissive] pt(0) = RAND()%ROUND2INT(ptMaxData[0]); ^ /usr/local/include/OpenMVS/Common/Octree.inl:599:21: error: there are no arguments to ‘pt’ that depend on a template parameter, so a declaration of ‘pt’ must be available [-fpermissive] if (DIMS > 1) pt(1) = RAND()%ROUND2INT(ptMaxData[1]); ^ /usr/local/include/OpenMVS/Common/Octree.inl:600:21: error: there are no arguments to ‘pt’ that depend on a template parameter, so a declaration of ‘pt’ must be available [-fpermissive] if (DIMS > 2) pt(2) = RAND()%ROUND2INT(ptMaxData[2]); ^ /usr/local/include/OpenMVS/Common/Octree.inl:605:25: error: ‘pt’ was not declared in this scope tree.Collect(indices, pt, radius); ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:367:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Octree.inl:611:3: error: qualified-id in declaration before ‘i’ FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:611:3: error: expected ‘;’ before ‘i’ /usr/local/include/OpenMVS/Common/Octree.inl:611:3: error: ‘iSize’ was not declared in this scope FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:611:3: error: request for member ‘GetSize’ in ‘items’, which is of non-class type ‘TestArr {aka int}’ FOREACH(i, items) ^ /usr/local/include/OpenMVS/Common/Octree.inl:611:3: error: expected ‘)’ before ‘;’ token FOREACH(i, items) ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2738:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Util.inl: At global scope: /usr/local/include/OpenMVS/Common/Util.inl:119:36: error: ‘Eigen’ does not name a type inline bool IsRotationMatrix(const Eigen::Matrix<TYPE,3,3,O>& R) { ^ /usr/local/include/OpenMVS/Common/Util.inl:119:49: error: expected unqualified-id before ‘<’ token inline bool IsRotationMatrix(const Eigen::Matrix<TYPE,3,3,O>& R) { ^ /usr/local/include/OpenMVS/Common/Util.inl:119:49: error: expected ‘)’ before ‘<’ token /usr/local/include/OpenMVS/Common/Util.inl:119:49: error: expected initializer before ‘<’ token /usr/local/include/OpenMVS/Common/Util.inl: In function ‘void SEACAVE::RayPoint_3x4_2_3(const TYPE1, const TYPE2, TYPE1)’: /usr/local/include/OpenMVS/Common/Util.inl:212:2: error: ‘Eigen’ has not been declared Eigen::Map< const Eigen::Matrix<TYPE1,3,4> > mP(P); ^ /usr/local/include/OpenMVS/Common/Util.inl:212:14: error: expected primary-expression before ‘const’ Eigen::Map< const Eigen::Matrix<TYPE1,3,4> > mP(P); ^ /usr/local/include/OpenMVS/Common/Util.inl:213:8: error: ‘Eigen’ does not name a type const Eigen::Matrix<TYPE1,3,3> mM(mP.template topLeftCorner<3,3>()); ^ /usr/local/include/OpenMVS/Common/Util.inl:215:18: error: ‘mM’ was not declared in this scope InvertMatrix3x3(mM.data(), M); ^ /usr/local/include/OpenMVS/Common/Util.inl: In function ‘TYPE SEACAVE::ComputeCoveredArea(const TYPE, size_t, const TYPE, int)’: /usr/local/include/OpenMVS/Common/Util.inl:825:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,1,n,Eigen::RowMajor> Vector; ^ /usr/local/include/OpenMVS/Common/Util.inl:826:10: error: ‘Eigen’ does not name a type typedef Eigen::Map<const Vector,Eigen::Unaligned> MapVector; ^ /usr/local/include/OpenMVS/Common/Util.inl:827:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,Eigen::Dynamic,n,Eigen::RowMajor> Matrix; ^ /usr/local/include/OpenMVS/Common/Util.inl:828:10: error: ‘Eigen’ does not name a type typedef Eigen::Map<const Matrix,Eigen::Unaligned,Eigen::OuterStride<> > MapMat ^ /usr/local/include/OpenMVS/Common/Util.inl:829:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<unsigned,s,s,Eigen::RowMajor> MatrixSurface; ^ /usr/local/include/OpenMVS/Common/Util.inl:830:8: error: ‘MapMatrix’ does not name a type const MapMatrix points(values, size, n, Eigen::OuterStride<>(stride)); ^ /usr/local/include/OpenMVS/Common/Util.inl:831:8: error: ‘Vector’ does not name a type const Vector norm = MapVector(bound); ^ /usr/local/include/OpenMVS/Common/Util.inl:832:8: error: ‘Vector’ does not name a type const Vector offset(Vector::Constant(bCentered ? TYPE(0.5) : TYPE(0))); ^ /usr/local/include/OpenMVS/Common/Util.inl:833:2: error: ‘MatrixSurface’ was not declared in this scope MatrixSurface surface; ^ /usr/local/include/OpenMVS/Common/Util.inl:834:2: error: ‘surface’ was not declared in this scope surface.setZero(); ^ /usr/local/include/OpenMVS/Common/Util.inl:836:9: error: ‘Vector’ does not name a type const Vector point((points.row(i).cwiseQuotient(norm)+offset)TYPE(s)); ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Util.inl:837:3: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] ASSERT((point(0)>=0 && point(0)<s) && (point(1)>=0 && point(1)<s)); ^ /usr/local/include/OpenMVS/Common/Util.inl:837:3: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] ASSERT((point(0)>=0 && point(0)<s) && (point(1)>=0 && point(1)<s)); ^ /usr/local/include/OpenMVS/Common/Util.inl:837:3: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] ASSERT((point(0)>=0 && point(0)<s) && (point(1)>=0 && point(1)<s)); ^ /usr/local/include/OpenMVS/Common/Util.inl:837:3: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] ASSERT((point(0)>=0 && point(0)<s) && (point(1)>=0 && point(1)<s)); ^ In file included from /usr/local/include/OpenMVS/Common/Types.h:2738:0, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Util.inl:838:28: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] surface(FLOOR2INT(point(0)), FLOOR2INT(point(1))) = 1; ^ /usr/local/include/OpenMVS/Common/Util.inl:838:49: error: there are no arguments to ‘point’ that depend on a template parameter, so a declaration of ‘point’ must be available [-fpermissive] surface(FLOOR2INT(point(0)), FLOOR2INT(point(1))) = 1; ^ /usr/local/include/OpenMVS/Common/Util.inl: In function ‘void SEACAVE::ComputeCovarianceMatrix(const TYPE, size_t, TYPE, int)’: /usr/local/include/OpenMVS/Common/Util.inl:849:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,1,n,Eigen::RowMajor> Vector; ^ /usr/local/include/OpenMVS/Common/Util.inl:850:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,Eigen::Dynamic,n,Eigen::RowMajor> Matrix; ^ /usr/local/include/OpenMVS/Common/Util.inl:851:10: error: ‘Eigen’ does not name a type typedef Eigen::Map<const Matrix,Eigen::Unaligned,Eigen::OuterStride<> > MapMat ^ /usr/local/include/OpenMVS/Common/Util.inl:852:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<TYPE,n,n,Eigen::RowMajor> MatrixOut; ^ /usr/local/include/OpenMVS/Common/Util.inl:853:10: error: ‘Eigen’ does not name a type typedef Eigen::Map MapMatrixOut; ^ /usr/local/include/OpenMVS/Common/Util.inl:854:8: error: ‘MapMatrix’ does not name a type const MapMatrix points(values, size, n, Eigen::OuterStride<>(stride)); ^ /usr/local/include/OpenMVS/Common/Util.inl:855:8: error: ‘Vector’ does not name a type const Vector mean(points.colwise().sum() (TYPE(1)/size)); ^ /usr/local/include/OpenMVS/Common/Util.inl:856:8: error: ‘Matrix’ does not name a type const Matrix transPoints(points.rowwise() - mean); ^ /usr/local/include/OpenMVS/Common/Util.inl:857:2: error: ‘MapMatrixOut’ was not declared in this scope MapMatrixOut mapCov(cov); ^ /usr/local/include/OpenMVS/Common/Util.inl:858:2: error: ‘mapCov’ was not declared in this scope mapCov = transPoints.transpose() transPoints (TYPE(1)/(size-1)); ^ /usr/local/include/OpenMVS/Common/Util.inl:858:11: error: ‘transPoints’ was not declared in this scope mapCov = transPoints.transpose() transPoints (TYPE(1)/(size-1)); ^ /usr/local/include/OpenMVS/Common/Util.inl: In function ‘TYPE SEACAVE::FitPlane(const SEACAVE::TPoint3, size_t, SEACAVE::TPlane<TYPE, 3>&)’: /usr/local/include/OpenMVS/Common/Util.inl:1282:8: error: ‘Eigen’ does not name a type const Eigen::Map< const Eigen::Matrix<TYPE,Eigen::Dynamic,3,Eigen::RowMajor> > ^ /usr/local/include/OpenMVS/Common/Util.inl:1283:24: error: ‘vPoints’ was not declared in this scope const TPoint3 c(vPoints.colwise().mean()); ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:2: error: ‘Eigen’ has not been declared Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:20: error: expected primary-expression before ‘,’ token Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:25: error: ‘Eigen’ has not been declared Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:44: error: ‘Eigen’ has not been declared Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:62: error: expected primary-expression before ‘,’ token Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:67: error: ‘Eigen’ has not been declared Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMaj ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:83: error: ‘::Zero’ has not been declared x<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMajor>::Zero()); ^ /usr/local/include/OpenMVS/Common/Util.inl:1289:91: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] x<TYPE,3,3,Eigen::RowMajor> A(Eigen::Matrix<TYPE,3,3,Eigen::RowMajor>::Zero()); ^ /usr/local/include/OpenMVS/Common/Util.inl:1292:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(0,0) += X.xX.x; ^ /usr/local/include/OpenMVS/Common/Util.inl:1293:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(1,0) += X.xX.y; ^ /usr/local/include/OpenMVS/Common/Util.inl:1294:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(1,1) += X.yX.y; ^ /usr/local/include/OpenMVS/Common/Util.inl:1295:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(2,0) += X.xX.z; ^ /usr/local/include/OpenMVS/Common/Util.inl:1296:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(2,1) += X.yX.z; ^ /usr/local/include/OpenMVS/Common/Util.inl:1297:8: error: there are no arguments to ‘A’ that depend on a template parameter, so a declaration of ‘A’ must be available [-fpermissive] A(2,2) += X.zX.z; ^ /usr/local/include/OpenMVS/Common/Util.inl:1301:8: error: ‘Eigen’ does not name a type const Eigen::SelfAdjointEigenSolver< Eigen::Matrix<TYPE,3,3,Eigen::RowMajor> > ^ In file included from /usr/include/c++/5/cassert:43:0, from /usr/local/include/opencv2/flann/index_testing.h:35, from /usr/local/include/opencv2/flann/autotuned_index.h:38, from /usr/local/include/opencv2/flann/all_indices.h:43, from /usr/local/include/opencv2/flann/flann_base.hpp:43, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /usr/local/include/OpenMVS/Common/Types.h:143, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Util.inl:1302:2: error: ‘es’ was not declared in this scope ASSERT(ISEQUAL(es.eigenvectors().col(0).norm(), TYPE(1))); ^ In file included from /usr/local/include/OpenMVS/MVS/Scene.h:38:0, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:5: /usr/local/include/OpenMVS/MVS/DepthMap.h: At global scope: /usr/local/include/OpenMVS/MVS/DepthMap.h:191:10: error: ‘Eigen’ does not name a type typedef Eigen::Matrix<float,nTexels,1> TexelVec; ^ /usr/local/include/OpenMVS/MVS/DepthMap.h:218:2: error: ‘TexelVec’ does not name a type TexelVec texels0; // ^ /usr/local/include/OpenMVS/MVS/DepthMap.h:219:2: error: ‘TexelVec’ does not name a type TexelVec texels1; ^ In file included from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:5:0: /usr/local/include/OpenMVS/MVS/Scene.h:71:36: error: ‘ARCHIVE_TYPE’ has not been declared bool Save(const String& fileName, ARCHIVE_TYPE type=ARCHIVE_BINARY_ZIP) const; ^ /usr/local/include/OpenMVS/MVS/Scene.h:71:54: error: ‘ARCHIVE_BINARY_ZIP’ was not declared in this scope bool Save(const String& fileName, ARCHIVE_TYPE type=ARCHIVE_BINARY_ZIP) const; ^ In file included from /usr/local/include/OpenMVS/Common/Rotation.h:586:0, from /usr/local/include/OpenMVS/Common/Types.h:2731, from /usr/local/include/OpenMVS/Common/Common.h:176, from /usr/local/include/OpenMVS/MVS/Common.h:42, from /home/jianwei/Documents/OpenMVS-3rd/main.cpp:4: /usr/local/include/OpenMVS/Common/Rotation.inl: In instantiation of ‘void SEACAVE::TRMatrixBase::SetRotationAxisAngle(const Vec&) [with TYPE = double; SEACAVE::TRMatrixBase::Vec = SEACAVE::TMatrix<double, 3, 1>]’: /usr/local/include/OpenMVS/Common/Rotation.inl:547:22: required from ‘SEACAVE::TRMatrixBase::TRMatrixBase(const Vec&) [with TYPE = double; SEACAVE::TRMatrixBase::Vec = SEACAVE::TMatrix<double, 3, 1>]’ /usr/local/include/OpenMVS/Common/Rotation.inl:1254:29: required from ‘void SEACAVE::TRMatrixBase::Apply(const Vec&) [with TYPE = double; SEACAVE::TRMatrixBase::Vec = SEACAVE::TMatrix<double, 3, 1>]’ /usr/local/include/OpenMVS/MVS/Camera.h:89:29: required from here /usr/local/include/OpenMVS/Common/Rotation.inl:1214:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ const TYPE x2 = rot.xrot.x; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1214:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ /usr/local/include/OpenMVS/Common/Rotation.inl:1215:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ const TYPE y2 = rot.yrot.y; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1215:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ /usr/local/include/OpenMVS/Common/Rotation.inl:1216:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ const TYPE z2 = rot.zrot.z; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1216:23: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ /usr/local/include/OpenMVS/Common/Rotation.inl:1226:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[1] = rot.xrot.yct - rot.zst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1226:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ /usr/local/include/OpenMVS/Common/Rotation.inl:1226:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[1] = rot.xrot.yct - rot.zst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1227:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[2] = rot.zrot.xct + rot.yst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1227:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ /usr/local/include/OpenMVS/Common/Rotation.inl:1227:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[2] = rot.zrot.xct + rot.yst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1228:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[3] = rot.xrot.yct + rot.zst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1228:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ /usr/local/include/OpenMVS/Common/Rotation.inl:1228:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[3] = rot.xrot.yct + rot.zst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1230:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[5] = rot.yrot.zct - rot.xst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1230:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ /usr/local/include/OpenMVS/Common/Rotation.inl:1230:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[5] = rot.yrot.zct - rot.xst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1231:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[6] = rot.zrot.xct - rot.yst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1231:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ /usr/local/include/OpenMVS/Common/Rotation.inl:1231:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[6] = rot.zrot.xct - rot.yst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1232:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[7] = rot.yrot.zct + rot.xst; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1232:17: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ /usr/local/include/OpenMVS/Common/Rotation.inl:1232:34: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[7] = rot.yrot.zct + rot.x*st; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1237:11: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[1] =-rot.z; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1238:10: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[2] = rot.y; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1239:10: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘z’ val[3] = rot.z; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1241:11: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[5] =-rot.x; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1242:11: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘y’ val[6] =-rot.y; ^ /usr/local/include/OpenMVS/Common/Rotation.inl:1243:10: error: ‘const Vec {aka const class SEACAVE::TMatrix<double, 3, 1>}’ has no member named ‘x’ val[7] = rot.x; ^ CMakeFiles/example.dir/build.make:62: recipe for target 'CMakeFiles/example.dir/main.cpp.o' failed make[2]: [CMakeFiles/example.dir/main.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/example.dir/all' failed make[1]: [CMakeFiles/example.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

I also followed [https://github.com/cdcseacave/openMVS/issues/320](this post), but it doesn't seem to help.

cdcseacave commented 6 years ago

the OpenMVS dependencies are not found, like Eigen; the library mode was never tested, if you think you set up everything ok, pls finetune the cmake scripts to solve these issues

jianweike commented 6 years ago

Thanks for your quick reply. As did in CMakeList.txt in the Openmvs, I set ${CMAKE_MODULE_PATH}$ to the modules downloaded before installing OpenMVS, and add the following lines: FIND_PACKAGE(Boost ${SYSTEM_PACKAGE_REQUIRED} COMPONENTS iostreams program_options system serialization) if(Boost_FOUND) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) ADD_DEFINITIONS(${Boost_DEFINITIONS} -D_USE_BOOST) LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) SET(_USE_BOOST TRUE) endif()

FIND_PACKAGE(Eigen ${SYSTEM_PACKAGE_REQUIRED}) if(EIGEN_FOUND) INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS}) ADD_DEFINITIONS(${EIGEN_DEFINITIONS} -D_USE_EIGEN) SET(_USE_EIGEN TRUE) endif()

FIND_PACKAGE(OpenCV ${SYSTEM_PACKAGE_REQUIRED}) if(OpenCV_FOUND) INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}) ADD_DEFINITIONS(${OpenCV_DEFINITIONS}) SET(_USE_OPENCV TRUE) MESSAGE(STATUS "OpenCV ${OpenCV_VERSION} found (include: ${OpenCV_INCLUDE_DIRS})") else() MESSAGE("-- Can't find OpenCV. Please specify OpenCV directory using OpenCV_DIR variable") endif()

Now the program compiles fine except I got warnings: /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 2, 1>’: /usr/local/include/OpenMVS/Common/Util.inl:1167:29: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 2, 1>’: /usr/local/include/OpenMVS/Common/Common.h:285:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 3, 1>’: /usr/local/include/OpenMVS/Common/Common.h:286:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 4, 1>’: /usr/local/include/OpenMVS/Common/Common.h:287:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 2, 2>’: /usr/local/include/OpenMVS/Common/Common.h:288:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 3, 3>’: /usr/local/include/OpenMVS/Common/Common.h:289:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 3, 4>’: /usr/local/include/OpenMVS/Common/Common.h:290:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<float, 4, 4>’: /usr/local/include/OpenMVS/Common/Common.h:291:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 3, 1>’: /usr/local/include/OpenMVS/Common/Common.h:294:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 4, 1>’: /usr/local/include/OpenMVS/Common/Common.h:295:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 2, 2>’: /usr/local/include/OpenMVS/Common/Common.h:296:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 3, 3>’: /usr/local/include/OpenMVS/Common/Common.h:297:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 3, 4>’: /usr/local/include/OpenMVS/Common/Common.h:298:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] /usr/local/include/OpenMVS/Common/Types.h: In instantiation of ‘class SEACAVE::TMatrix<double, 4, 4>’: /usr/local/include/OpenMVS/Common/Common.h:299:1: required from here cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare] cc1plus: warning: enumeral mismatch in conditional expression: ‘Eigen::StorageOptions’ vs ‘Eigen::Default_t’ [-Wenum-compare]

FYI, I enable c++11 in my cmake script: set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON)

cdcseacave commented 6 years ago

I never seen this error before. OpenMVS compiles fine, with no warning?

As for the cmake script, I am not an expert, but ideally all those dependencies should be ported by findpackage(OpenMVS) so the real solution to this is to modify OpenMVS install part of the cmake scripts to include all dependencies that were used to build the library.