├── .gitcloned ├── .gitignore ├── CMakeLists.txt ├── Copyright.txt ├── README ├── THANKS ├── UseEmbeddedNestk.cmake.in ├── UseNestk.cmake.in ├── cmake ├── FindCMinpack.cmake ├── FindEigen3.cmake ├── FindFlann.cmake ├── FindFreenect.cmake ├── FindGLEW.cmake ├── FindGSL.cmake ├── FindOpenNI.cmake ├── FindOpenNI2.cmake ├── FindQhull.cmake ├── FindSoftKinetic.cmake ├── FindSoftKineticIisu.cmake ├── FindUSB.cmake ├── LibFindMacros.cmake └── find_nestk_deps.cmake ├── deps ├── .gitignore ├── CMakeLists.txt ├── README.md ├── cmake │ ├── CMakeLists.txt │ ├── FindOPENCL.cmake │ ├── Findlibusb-1.0.cmake │ ├── NestkDepsConfig.cmake.in │ ├── UseNestkDeps.cmake.in │ ├── UseNestkDepsROS.cmake.in │ ├── msvc.cmake │ └── utils.cmake ├── eigen-ros │ ├── .hg_archival.txt │ ├── .hgignore │ ├── .hgtags │ ├── .krazy │ └── unsupported │ │ ├── CMakeLists.txt │ │ ├── Eigen │ │ ├── AdolcForward │ │ ├── AlignedVector3 │ │ ├── AutoDiff │ │ ├── BVH │ │ ├── CMakeLists.txt │ │ ├── CholmodSupport │ │ ├── FFT │ │ ├── IterativeSolvers │ │ ├── MPRealSupport │ │ ├── MatrixFunctions │ │ ├── MoreVectorization │ │ ├── NonLinearOptimization │ │ ├── NumericalDiff │ │ ├── OpenGLSupport │ │ ├── Polynomials │ │ ├── Skyline │ │ ├── SparseExtra │ │ ├── SuperLUSupport │ │ ├── UmfPackSupport │ │ └── src │ │ │ ├── AutoDiff │ │ │ ├── AutoDiffJacobian.h │ │ │ ├── AutoDiffScalar.h │ │ │ ├── AutoDiffVector.h │ │ │ └── CMakeLists.txt │ │ │ ├── BVH │ │ │ ├── BVAlgorithms.h │ │ │ ├── CMakeLists.txt │ │ │ └── KdBVH.h │ │ │ ├── CMakeLists.txt │ │ │ ├── FFT │ │ │ ├── CMakeLists.txt │ │ │ ├── ei_fftw_impl.h │ │ │ └── ei_kissfft_impl.h │ │ │ ├── IterativeSolvers │ │ │ ├── CMakeLists.txt │ │ │ ├── ConstrainedConjGrad.h │ │ │ └── IterationController.h │ │ │ ├── MatrixFunctions │ │ │ ├── CMakeLists.txt │ │ │ ├── MatrixExponential.h │ │ │ ├── MatrixFunction.h │ │ │ ├── MatrixFunctionAtomic.h │ │ │ └── StemFunction.h │ │ │ ├── MoreVectorization │ │ │ ├── CMakeLists.txt │ │ │ └── MathFunctions.h │ │ │ ├── NonLinearOptimization │ │ │ ├── CMakeLists.txt │ │ │ ├── HybridNonLinearSolver.h │ │ │ ├── LevenbergMarquardt.h │ │ │ ├── chkder.h │ │ │ ├── covar.h │ │ │ ├── dogleg.h │ │ │ ├── fdjac1.h │ │ │ ├── lmpar.h │ │ │ ├── qrsolv.h │ │ │ ├── r1mpyq.h │ │ │ ├── r1updt.h │ │ │ └── rwupdt.h │ │ │ ├── NumericalDiff │ │ │ ├── CMakeLists.txt │ │ │ └── NumericalDiff.h │ │ │ ├── Polynomials │ │ │ ├── CMakeLists.txt │ │ │ ├── Companion.h │ │ │ ├── PolynomialSolver.h │ │ │ └── PolynomialUtils.h │ │ │ ├── Skyline │ │ │ ├── CMakeLists.txt │ │ │ ├── SkylineInplaceLU.h │ │ │ ├── SkylineMatrix.h │ │ │ ├── SkylineMatrixBase.h │ │ │ ├── SkylineProduct.h │ │ │ ├── SkylineStorage.h │ │ │ └── SkylineUtil.h │ │ │ └── SparseExtra │ │ │ ├── Amd.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CholmodSupport.h │ │ │ ├── CholmodSupportLegacy.h │ │ │ ├── RandomSetter.h │ │ │ ├── SimplicialCholesky.h │ │ │ ├── Solve.h │ │ │ ├── SparseLDLT.h │ │ │ ├── SparseLDLTLegacy.h │ │ │ ├── SparseLLT.h │ │ │ ├── SparseLU.h │ │ │ ├── SuperLUSupport.h │ │ │ └── UmfPackSupport.h │ │ └── README.txt ├── eigen │ ├── .hg_archival.txt │ ├── .hgignore │ ├── .hgtags │ ├── .krazy │ ├── CMakeLists.txt │ ├── COPYING.GPL │ ├── COPYING.LGPL │ ├── CTestConfig.cmake │ ├── CTestCustom.cmake.in │ ├── Eigen │ │ ├── Array │ │ ├── CMakeLists.txt │ │ ├── Cholesky │ │ ├── Core │ │ ├── Dense │ │ ├── Eigen │ │ ├── Eigen2Support │ │ ├── Eigenvalues │ │ ├── Geometry │ │ ├── Householder │ │ ├── Jacobi │ │ ├── LU │ │ ├── LeastSquares │ │ ├── QR │ │ ├── QtAlignedMalloc │ │ ├── SVD │ │ ├── Sparse │ │ ├── StdDeque │ │ ├── StdList │ │ ├── StdVector │ │ └── src │ │ │ ├── CMakeLists.txt │ │ │ ├── Cholesky │ │ │ ├── CMakeLists.txt │ │ │ ├── LDLT.h │ │ │ └── LLT.h │ │ │ ├── Core │ │ │ ├── Array.h │ │ │ ├── ArrayBase.h │ │ │ ├── ArrayWrapper.h │ │ │ ├── Assign.h │ │ │ ├── BandMatrix.h │ │ │ ├── Block.h │ │ │ ├── BooleanRedux.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommaInitializer.h │ │ │ ├── CwiseBinaryOp.h │ │ │ ├── CwiseNullaryOp.h │ │ │ ├── CwiseUnaryOp.h │ │ │ ├── CwiseUnaryView.h │ │ │ ├── DenseBase.h │ │ │ ├── DenseCoeffsBase.h │ │ │ ├── DenseStorage.h │ │ │ ├── DenseStorageBase.h │ │ │ ├── Diagonal.h │ │ │ ├── DiagonalMatrix.h │ │ │ ├── DiagonalProduct.h │ │ │ ├── Dot.h │ │ │ ├── EigenBase.h │ │ │ ├── Flagged.h │ │ │ ├── ForceAlignedAccess.h │ │ │ ├── Functors.h │ │ │ ├── Fuzzy.h │ │ │ ├── GenericPacketMath.h │ │ │ ├── GlobalFunctions.h │ │ │ ├── IO.h │ │ │ ├── Map.h │ │ │ ├── MapBase.h │ │ │ ├── MathFunctions.h │ │ │ ├── Matrix.h │ │ │ ├── MatrixBase.h │ │ │ ├── MatrixStorage.h │ │ │ ├── NestByValue.h │ │ │ ├── NoAlias.h │ │ │ ├── NumTraits.h │ │ │ ├── PermutationMatrix.h │ │ │ ├── PlainObjectBase.h │ │ │ ├── Product.h │ │ │ ├── ProductBase.h │ │ │ ├── Random.h │ │ │ ├── Redux.h │ │ │ ├── Replicate.h │ │ │ ├── ReturnByValue.h │ │ │ ├── Reverse.h │ │ │ ├── Select.h │ │ │ ├── SelfAdjointView.h │ │ │ ├── SelfCwiseBinaryOp.h │ │ │ ├── SolveTriangular.h │ │ │ ├── StableNorm.h │ │ │ ├── Stride.h │ │ │ ├── Swap.h │ │ │ ├── Transpose.h │ │ │ ├── Transpositions.h │ │ │ ├── TriangularMatrix.h │ │ │ ├── VectorBlock.h │ │ │ ├── VectorwiseOp.h │ │ │ ├── Visitor.h │ │ │ ├── arch │ │ │ │ ├── AltiVec │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Default │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── Settings.h │ │ │ │ ├── NEON │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ └── SSE │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Complex.h │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ └── PacketMath.h │ │ │ ├── products │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CoeffBasedProduct.h │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ ├── GeneralMatrixMatrix.h │ │ │ │ ├── GeneralMatrixMatrixTriangular.h │ │ │ │ ├── GeneralMatrixVector.h │ │ │ │ ├── Parallelizer.h │ │ │ │ ├── SelfadjointMatrixMatrix.h │ │ │ │ ├── SelfadjointMatrixVector.h │ │ │ │ ├── SelfadjointProduct.h │ │ │ │ ├── SelfadjointRank2Update.h │ │ │ │ ├── TriangularMatrixMatrix.h │ │ │ │ ├── TriangularMatrixVector.h │ │ │ │ ├── TriangularSolverMatrix.h │ │ │ │ └── TriangularSolverVector.h │ │ │ └── util │ │ │ │ ├── BlasUtil.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Constants.h │ │ │ │ ├── DisableMSVCWarnings.h │ │ │ │ ├── DisableStupidWarnings.h │ │ │ │ ├── EnableMSVCWarnings.h │ │ │ │ ├── ForwardDeclarations.h │ │ │ │ ├── Macros.h │ │ │ │ ├── Memory.h │ │ │ │ ├── Meta.h │ │ │ │ ├── ReenableStupidWarnings.h │ │ │ │ ├── StaticAssert.h │ │ │ │ └── XprHelper.h │ │ │ ├── Eigen2Support │ │ │ ├── Block.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Cwise.h │ │ │ ├── CwiseOperators.h │ │ │ ├── Geometry │ │ │ │ ├── AlignedBox.h │ │ │ │ ├── All.h │ │ │ │ ├── AngleAxis.h │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Hyperplane.h │ │ │ │ ├── ParametrizedLine.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rotation2D.h │ │ │ │ ├── RotationBase.h │ │ │ │ ├── Scaling.h │ │ │ │ ├── Transform.h │ │ │ │ └── Translation.h │ │ │ ├── LU.h │ │ │ ├── Lazy.h │ │ │ ├── LeastSquares.h │ │ │ ├── Macros.h │ │ │ ├── MathFunctions.h │ │ │ ├── Memory.h │ │ │ ├── Meta.h │ │ │ ├── Minor.h │ │ │ ├── QR.h │ │ │ ├── SVD.h │ │ │ ├── TriangularSolver.h │ │ │ └── VectorBlock.h │ │ │ ├── Eigenvalues │ │ │ ├── CMakeLists.txt │ │ │ ├── ComplexEigenSolver.h │ │ │ ├── ComplexSchur.h │ │ │ ├── EigenSolver.h │ │ │ ├── EigenvaluesCommon.h │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h │ │ │ ├── HessenbergDecomposition.h │ │ │ ├── MatrixBaseEigenvalues.h │ │ │ ├── RealSchur.h │ │ │ ├── SelfAdjointEigenSolver.h │ │ │ └── Tridiagonalization.h │ │ │ ├── Geometry │ │ │ ├── AlignedBox.h │ │ │ ├── AngleAxis.h │ │ │ ├── CMakeLists.txt │ │ │ ├── EulerAngles.h │ │ │ ├── Homogeneous.h │ │ │ ├── Hyperplane.h │ │ │ ├── OrthoMethods.h │ │ │ ├── ParametrizedLine.h │ │ │ ├── Quaternion.h │ │ │ ├── Rotation2D.h │ │ │ ├── RotationBase.h │ │ │ ├── Scaling.h │ │ │ ├── Transform.h │ │ │ ├── Translation.h │ │ │ ├── Umeyama.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Geometry_SSE.h │ │ │ ├── Householder │ │ │ ├── BlockHouseholder.h │ │ │ ├── CMakeLists.txt │ │ │ ├── Householder.h │ │ │ └── HouseholderSequence.h │ │ │ ├── Jacobi │ │ │ ├── CMakeLists.txt │ │ │ └── Jacobi.h │ │ │ ├── LU │ │ │ ├── CMakeLists.txt │ │ │ ├── Determinant.h │ │ │ ├── FullPivLU.h │ │ │ ├── Inverse.h │ │ │ ├── PartialPivLU.h │ │ │ └── arch │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── Inverse_SSE.h │ │ │ ├── QR │ │ │ ├── CMakeLists.txt │ │ │ ├── ColPivHouseholderQR.h │ │ │ ├── FullPivHouseholderQR.h │ │ │ └── HouseholderQR.h │ │ │ ├── SVD │ │ │ ├── CMakeLists.txt │ │ │ ├── JacobiSVD.h │ │ │ └── UpperBidiagonalization.h │ │ │ ├── Sparse │ │ │ ├── AmbiVector.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CompressedStorage.h │ │ │ ├── CoreIterators.h │ │ │ ├── DynamicSparseMatrix.h │ │ │ ├── MappedSparseMatrix.h │ │ │ ├── SparseAssign.h │ │ │ ├── SparseBlock.h │ │ │ ├── SparseCwiseBinaryOp.h │ │ │ ├── SparseCwiseUnaryOp.h │ │ │ ├── SparseDenseProduct.h │ │ │ ├── SparseDiagonalProduct.h │ │ │ ├── SparseDot.h │ │ │ ├── SparseFuzzy.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseMatrixBase.h │ │ │ ├── SparseProduct.h │ │ │ ├── SparseRedux.h │ │ │ ├── SparseSelfAdjointView.h │ │ │ ├── SparseSparseProduct.h │ │ │ ├── SparseTranspose.h │ │ │ ├── SparseTriangularView.h │ │ │ ├── SparseUtil.h │ │ │ ├── SparseVector.h │ │ │ ├── SparseView.h │ │ │ └── TriangularSolver.h │ │ │ ├── StlSupport │ │ │ ├── CMakeLists.txt │ │ │ ├── StdDeque.h │ │ │ ├── StdList.h │ │ │ ├── StdVector.h │ │ │ └── details.h │ │ │ ├── misc │ │ │ ├── CMakeLists.txt │ │ │ ├── Image.h │ │ │ ├── Kernel.h │ │ │ └── Solve.h │ │ │ └── plugins │ │ │ ├── ArrayCwiseBinaryOps.h │ │ │ ├── ArrayCwiseUnaryOps.h │ │ │ ├── BlockMethods.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CommonCwiseBinaryOps.h │ │ │ ├── CommonCwiseUnaryOps.h │ │ │ ├── MatrixCwiseBinaryOps.h │ │ │ └── MatrixCwiseUnaryOps.h │ ├── INSTALL │ ├── cmake │ │ ├── EigenTesting.cmake │ │ ├── FindAdolc.cmake │ │ ├── FindBLAS.cmake │ │ ├── FindCholmod.cmake │ │ ├── FindEigen2.cmake │ │ ├── FindEigen3.cmake │ │ ├── FindFFTW.cmake │ │ ├── FindGLEW.cmake │ │ ├── FindGMP.cmake │ │ ├── FindGSL.cmake │ │ ├── FindGoogleHash.cmake │ │ ├── FindLAPACK.cmake │ │ ├── FindMPFR.cmake │ │ ├── FindStandardMathLibrary.cmake │ │ ├── FindSuperLU.cmake │ │ ├── FindUmfpack.cmake │ │ └── RegexUtils.cmake │ ├── debug │ │ ├── gdb │ │ │ ├── __init__.py │ │ │ └── printers.py │ │ └── msvc │ │ │ └── eigen_autoexp_part.dat │ ├── eigen3.pc.in │ ├── scripts │ │ ├── CMakeLists.txt │ │ ├── buildtests.in │ │ ├── check.in │ │ ├── debug.in │ │ ├── eigen_gen_credits.cpp │ │ ├── eigen_gen_docs │ │ └── release.in │ ├── signature_of_eigen3_matrix_library │ └── unsupported │ │ ├── CMakeLists.txt │ │ ├── Eigen │ │ ├── AdolcForward │ │ ├── AlignedVector3 │ │ ├── AutoDiff │ │ ├── BVH │ │ ├── CMakeLists.txt │ │ ├── CholmodSupport │ │ ├── FFT │ │ ├── IterativeSolvers │ │ ├── MPRealSupport │ │ ├── MatrixFunctions │ │ ├── MoreVectorization │ │ ├── NonLinearOptimization │ │ ├── NumericalDiff │ │ ├── OpenGLSupport │ │ ├── Polynomials │ │ ├── Skyline │ │ ├── SparseExtra │ │ ├── SuperLUSupport │ │ ├── UmfPackSupport │ │ └── src │ │ │ ├── AutoDiff │ │ │ ├── AutoDiffJacobian.h │ │ │ ├── AutoDiffScalar.h │ │ │ ├── AutoDiffVector.h │ │ │ └── CMakeLists.txt │ │ │ ├── BVH │ │ │ ├── BVAlgorithms.h │ │ │ ├── CMakeLists.txt │ │ │ └── KdBVH.h │ │ │ ├── CMakeLists.txt │ │ │ ├── FFT │ │ │ ├── CMakeLists.txt │ │ │ ├── ei_fftw_impl.h │ │ │ └── ei_kissfft_impl.h │ │ │ ├── IterativeSolvers │ │ │ ├── CMakeLists.txt │ │ │ ├── ConstrainedConjGrad.h │ │ │ └── IterationController.h │ │ │ ├── MatrixFunctions │ │ │ ├── CMakeLists.txt │ │ │ ├── MatrixExponential.h │ │ │ ├── MatrixFunction.h │ │ │ ├── MatrixFunctionAtomic.h │ │ │ └── StemFunction.h │ │ │ ├── MoreVectorization │ │ │ ├── CMakeLists.txt │ │ │ └── MathFunctions.h │ │ │ ├── NonLinearOptimization │ │ │ ├── CMakeLists.txt │ │ │ ├── HybridNonLinearSolver.h │ │ │ ├── LevenbergMarquardt.h │ │ │ ├── chkder.h │ │ │ ├── covar.h │ │ │ ├── dogleg.h │ │ │ ├── fdjac1.h │ │ │ ├── lmpar.h │ │ │ ├── qrsolv.h │ │ │ ├── r1mpyq.h │ │ │ ├── r1updt.h │ │ │ └── rwupdt.h │ │ │ ├── NumericalDiff │ │ │ ├── CMakeLists.txt │ │ │ └── NumericalDiff.h │ │ │ ├── Polynomials │ │ │ ├── CMakeLists.txt │ │ │ ├── Companion.h │ │ │ ├── PolynomialSolver.h │ │ │ └── PolynomialUtils.h │ │ │ ├── Skyline │ │ │ ├── CMakeLists.txt │ │ │ ├── SkylineInplaceLU.h │ │ │ ├── SkylineMatrix.h │ │ │ ├── SkylineMatrixBase.h │ │ │ ├── SkylineProduct.h │ │ │ ├── SkylineStorage.h │ │ │ └── SkylineUtil.h │ │ │ └── SparseExtra │ │ │ ├── Amd.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CholmodSupport.h │ │ │ ├── CholmodSupportLegacy.h │ │ │ ├── RandomSetter.h │ │ │ ├── SimplicialCholesky.h │ │ │ ├── Solve.h │ │ │ ├── SparseLDLT.h │ │ │ ├── SparseLDLTLegacy.h │ │ │ ├── SparseLLT.h │ │ │ ├── SparseLU.h │ │ │ ├── SuperLUSupport.h │ │ │ └── UmfPackSupport.h │ │ └── README.txt ├── glew │ ├── CMakeLists.txt │ ├── LICENSE.txt │ ├── include │ │ └── GL │ │ │ ├── glew.h │ │ │ ├── glxew.h │ │ │ └── wglew.h │ └── src │ │ ├── glew.c │ │ ├── glewinfo.c │ │ └── visualinfo.c ├── libfreenect │ ├── .gitignore │ ├── APACHE20 │ ├── CMakeLists.txt │ ├── CONTRIB │ ├── GPL2 │ ├── HACKING │ ├── README.asciidoc │ ├── cmake_modules │ │ ├── FindOS.cmake │ │ ├── FindThreads.cmake │ │ ├── Findlibusb-1.0.cmake │ │ ├── SetupDirectories.cmake │ │ └── UninstallTarget.cmake.in │ ├── doc │ │ ├── Doxyfile │ │ ├── DoxygenMainpage.h │ │ ├── astyle.conf │ │ └── kinect_protocol.asciidoc │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── glpclview.c │ │ ├── glview.c │ │ └── tiltdemo.c │ ├── fakenect │ │ ├── CMakeLists.txt │ │ ├── README │ │ ├── fakenect.c │ │ └── record.c │ ├── include │ │ └── libfreenect.h │ ├── mkcontrib.sh │ ├── platform │ │ ├── linux │ │ │ └── udev │ │ │ │ ├── 51-kinect.rules │ │ │ │ └── README │ │ ├── osx │ │ │ ├── homebrew │ │ │ │ ├── libfreenect.rb │ │ │ │ └── libusb-freenect.rb │ │ │ └── libusb-osx-kinect.diff │ │ └── windows │ │ │ ├── README.TXT │ │ │ ├── inf │ │ │ ├── xbox nui audio │ │ │ │ ├── Xbox_NUI_Audio.cat │ │ │ │ ├── Xbox_NUI_Audio.inf │ │ │ │ ├── amd64 │ │ │ │ │ ├── libusb0.dll │ │ │ │ │ └── libusb0.sys │ │ │ │ ├── ia64 │ │ │ │ │ ├── libusb0.dll │ │ │ │ │ └── libusb0.sys │ │ │ │ ├── libusb-win32-bin-README.txt │ │ │ │ ├── license │ │ │ │ │ └── libusb-win32 │ │ │ │ │ │ └── installer_license.txt │ │ │ │ └── x86 │ │ │ │ │ ├── libusb0.sys │ │ │ │ │ └── libusb0_x86.dll │ │ │ ├── xbox nui camera │ │ │ │ ├── Xbox_NUI_Camera.cat │ │ │ │ ├── Xbox_NUI_Camera.inf │ │ │ │ ├── amd64 │ │ │ │ │ ├── libusb0.dll │ │ │ │ │ └── libusb0.sys │ │ │ │ ├── ia64 │ │ │ │ │ ├── libusb0.dll │ │ │ │ │ └── libusb0.sys │ │ │ │ ├── libusb-win32-bin-README.txt │ │ │ │ ├── license │ │ │ │ │ └── libusb-win32 │ │ │ │ │ │ └── installer_license.txt │ │ │ │ └── x86 │ │ │ │ │ ├── libusb0.sys │ │ │ │ │ └── libusb0_x86.dll │ │ │ └── xbox nui motor │ │ │ │ ├── Xbox_NUI_Motor.cat │ │ │ │ ├── Xbox_NUI_Motor.inf │ │ │ │ ├── amd64 │ │ │ │ ├── libusb0.dll │ │ │ │ └── libusb0.sys │ │ │ │ ├── ia64 │ │ │ │ ├── libusb0.dll │ │ │ │ └── libusb0.sys │ │ │ │ ├── libusb-win32-bin-README.txt │ │ │ │ ├── license │ │ │ │ └── libusb-win32 │ │ │ │ │ └── installer_license.txt │ │ │ │ └── x86 │ │ │ │ ├── libusb0.sys │ │ │ │ └── libusb0_x86.dll │ │ │ ├── libusb10emu │ │ │ └── libusb-1.0 │ │ │ │ ├── libusb.h │ │ │ │ ├── libusbemu.cpp │ │ │ │ ├── libusbemu_internal.h │ │ │ │ ├── libusbemu_threads.h │ │ │ │ └── libusbemu_threads_win32.h │ │ │ ├── stdbool.h │ │ │ └── unistd.h │ ├── src │ │ ├── CMakeLists.txt │ │ ├── cameras.c │ │ ├── core.c │ │ ├── freenect_internal.h │ │ ├── libfreenect.pc.in │ │ ├── tilt.c │ │ ├── usb_libusb10.c │ │ └── usb_libusb10.h │ └── wrappers │ │ ├── actionscript │ │ ├── CMakeLists.txt │ │ ├── org │ │ │ └── as3kinect │ │ │ │ ├── as3kinect.as │ │ │ │ ├── as3kinectDepth.as │ │ │ │ ├── as3kinectMotor.as │ │ │ │ ├── as3kinectSocket.as │ │ │ │ ├── as3kinectUtils.as │ │ │ │ ├── as3kinectVideo.as │ │ │ │ ├── as3kinectWrapper.as │ │ │ │ ├── events │ │ │ │ ├── as3kinectSocketEvent.as │ │ │ │ └── as3kinectWrapperEvent.as │ │ │ │ └── objects │ │ │ │ └── motorData.as │ │ └── server │ │ │ └── as3-server.c │ │ ├── c_sync │ │ ├── CMakeLists.txt │ │ ├── README │ │ ├── libfreenect_sync.c │ │ └── libfreenect_sync.h │ │ ├── cpp │ │ ├── CMakeLists.txt │ │ ├── cppview.cpp │ │ └── libfreenect.hpp │ │ ├── csharp │ │ ├── README │ │ └── src │ │ │ ├── lib │ │ │ ├── Accelerometer.cs │ │ │ ├── AssemblyInfo.cs │ │ │ ├── DepthCamera.cs │ │ │ ├── DepthMap.cs │ │ │ ├── ImageMap.cs │ │ │ ├── Kinect.cs │ │ │ ├── KinectNative.cs │ │ │ ├── LED.cs │ │ │ ├── LogEventArgs.cs │ │ │ ├── Motor.cs │ │ │ ├── SwapBufferCollection.cs │ │ │ ├── VS2008 │ │ │ │ ├── freenectdotnet.csproj │ │ │ │ └── freenectdotnet.sln │ │ │ ├── VS2010 │ │ │ │ ├── freenectdotnet.csproj │ │ │ │ └── freenectdotnet.sln │ │ │ └── VideoCamera.cs │ │ │ └── test │ │ │ ├── ConsoleTest │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Main.cs │ │ │ ├── VS2008 │ │ │ │ ├── ConsoleTest.csproj │ │ │ │ └── ConsoleTest.sln │ │ │ └── VS2010 │ │ │ │ ├── ConsoleTest.csproj │ │ │ │ ├── ConsoleTest.sln │ │ │ │ └── app.config │ │ │ └── KinectDemo │ │ │ ├── MainForm.cs │ │ │ ├── Program.cs │ │ │ ├── VS2008 │ │ │ ├── KinectDemo.csproj │ │ │ └── KinectDemo.sln │ │ │ └── VS2010 │ │ │ ├── KinectDemo.csproj │ │ │ ├── KinectDemo.sln │ │ │ └── app.config │ │ ├── java │ │ ├── .gitignore │ │ ├── README │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── openkinect │ │ │ │ └── freenect │ │ │ │ ├── Context.java │ │ │ │ ├── DepthFormat.java │ │ │ │ ├── DepthHandler.java │ │ │ │ ├── Device.java │ │ │ │ ├── Freenect.java │ │ │ │ ├── LedStatus.java │ │ │ │ ├── LogHandler.java │ │ │ │ ├── LogLevel.java │ │ │ │ ├── TiltStatus.java │ │ │ │ ├── VideoFormat.java │ │ │ │ ├── VideoHandler.java │ │ │ │ └── util │ │ │ │ └── Jdk14LogHandler.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── openkinect │ │ │ └── freenect │ │ │ └── FreenectTest.java │ │ ├── matlab │ │ └── Freenect.m │ │ ├── opencv │ │ ├── CMakeLists.txt │ │ ├── cvdemo.c │ │ ├── libfreenect_cv.c │ │ └── libfreenect_cv.h │ │ ├── python │ │ ├── CMakeLists.txt │ │ ├── README │ │ ├── demo_cv_async.py │ │ ├── demo_cv_sync.py │ │ ├── demo_cv_sync_multi.py │ │ ├── demo_cv_thresh_sweep.py │ │ ├── demo_mp_async.py │ │ ├── demo_mp_sync.py │ │ ├── demo_tilt.py │ │ ├── frame_convert.py │ │ ├── freenect.pyx │ │ └── setup.py │ │ └── ruby │ │ └── ffi-libfreenect │ │ ├── History.txt │ │ ├── LICENSE.txt │ │ ├── README.rdoc │ │ ├── Rakefile │ │ ├── VERSION │ │ ├── examples │ │ ├── record.rb │ │ ├── tilt_led.rb │ │ ├── tilt_nod.rb │ │ └── video_snapshot.rb │ │ ├── lib │ │ ├── ffi │ │ │ └── freenect.rb │ │ ├── freenect.rb │ │ └── freenect │ │ │ ├── context.rb │ │ │ ├── device.rb │ │ │ └── sync.rb │ │ ├── pkg │ │ └── ffi-libfreenect-0.1.1.gem │ │ └── spec │ │ ├── context_spec.rb │ │ ├── device_spec.rb │ │ ├── freenect_spec.rb │ │ ├── spec.opts │ │ └── spec_helper.rb ├── macosx │ └── libusb-7da756e │ │ ├── AUTHORS │ │ ├── CMakeLists.txt │ │ ├── COPYING │ │ ├── README │ │ ├── THANKS │ │ └── libusb-1.0 │ │ ├── CMakeLists.txt │ │ ├── config.h │ │ ├── core.c │ │ ├── descriptor.c │ │ ├── io.c │ │ ├── libusb.h │ │ ├── libusbi.h │ │ ├── os │ │ ├── darwin_usb.c │ │ ├── darwin_usb.h │ │ ├── darwin_usb.h.orig │ │ ├── linux_usbfs.c │ │ ├── linux_usbfs.h │ │ ├── poll_posix.h │ │ ├── poll_windows.c │ │ ├── poll_windows.h │ │ ├── threads_posix.h │ │ ├── threads_windows.c │ │ ├── threads_windows.h │ │ ├── windows_usb.c │ │ └── windows_usb.h │ │ └── sync.c ├── opencl11 │ ├── CL │ │ ├── cl.h │ │ ├── cl.hpp │ │ ├── cl_d3d10.h │ │ ├── cl_ext.h │ │ ├── cl_gl.h │ │ ├── cl_gl_ext.h │ │ ├── cl_platform.h │ │ └── opencl.h │ └── README ├── pmdsdk │ ├── linux │ │ ├── x86-64 │ │ │ ├── include │ │ │ │ ├── pmddatadescription.h │ │ │ │ ├── pmdsdk2.h │ │ │ │ └── pmdsdk2common.h │ │ │ └── lib │ │ │ │ ├── camboardnano.L64.pap │ │ │ │ ├── camboardnanoproc.L64.ppp │ │ │ │ └── libpmdaccess2.so │ │ └── x86 │ │ │ ├── include │ │ │ ├── pmddatadescription.h │ │ │ ├── pmdsdk2.h │ │ │ └── pmdsdk2common.h │ │ │ └── lib │ │ │ ├── camboardnano.L32.pap │ │ │ ├── camboardnanoproc.L32.ppp │ │ │ └── libpmdaccess2.so │ └── windows │ │ ├── x86-64 │ │ ├── include │ │ │ ├── pmddatadescription.h │ │ │ ├── pmdsdk2.h │ │ │ └── pmdsdk2common.h │ │ └── lib │ │ │ ├── camboardnano.W64.pap │ │ │ ├── camboardnanoproc.W64.ppp │ │ │ ├── pmdaccess2.dll │ │ │ └── pmdaccess2.lib │ │ └── x86 │ │ ├── include │ │ ├── pmddatadescription.h │ │ ├── pmdsdk2.h │ │ └── pmdsdk2common.h │ │ └── lib │ │ ├── camboardnano.W32.pap │ │ ├── camboardnanoproc.W32.ppp │ │ ├── pmdaccess2.dll │ │ └── pmdaccess2.lib ├── vectorial │ ├── .gitignore │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README │ ├── bench │ │ ├── add_bench.cpp │ │ ├── bench.cpp │ │ ├── bench.h │ │ ├── dot_bench.cpp │ │ ├── matrix_bench.cpp │ │ └── quad_bench.cpp │ ├── include │ │ └── vectorial │ │ │ ├── config.h │ │ │ ├── mat4f.h │ │ │ ├── simd4f.h │ │ │ ├── simd4f_common.h │ │ │ ├── simd4f_gnu.h │ │ │ ├── simd4f_neon.h │ │ │ ├── simd4f_scalar.h │ │ │ ├── simd4f_sse.h │ │ │ ├── simd4x4f.h │ │ │ ├── simd4x4f_gnu.h │ │ │ ├── simd4x4f_neon.h │ │ │ ├── simd4x4f_scalar.h │ │ │ ├── simd4x4f_sse.h │ │ │ ├── vec2f.h │ │ │ ├── vec3f.h │ │ │ ├── vec4f.h │ │ │ ├── vec_convert.h │ │ │ └── vectorial.h │ ├── spec │ │ ├── spec.cpp │ │ ├── spec.h │ │ ├── spec_helper.h │ │ ├── spec_main.cpp │ │ ├── spec_mat4f.cpp │ │ ├── spec_simd4f.cpp │ │ ├── spec_simd4x4f.cpp │ │ ├── spec_vec2f.cpp │ │ ├── spec_vec3f.cpp │ │ └── spec_vec4f.cpp │ ├── tools │ │ ├── spechelper.m │ │ └── update_spec.rb │ ├── vectorial.sln │ ├── vectorial.vcproj │ └── vectorialbenchmark.vcproj └── win32 │ ├── freeglut │ ├── Copying.txt │ ├── freeglut.dll │ ├── include │ │ └── GL │ │ │ ├── freeglut.h │ │ │ ├── freeglut_ext.h │ │ │ ├── freeglut_std.h │ │ │ └── glut.h │ └── lib │ │ ├── libfreeglut.a │ │ └── libfreeglut_static.a │ ├── glut-msvc │ ├── GL │ │ └── glut.h │ ├── README-win32.txt │ ├── glut.def │ ├── glut32.dll │ ├── glut32.lib │ ├── glut64.dll │ └── glut64.lib │ ├── libusb-1.0 │ ├── AUTHORS.txt │ ├── COPYING_GPL.txt │ ├── COPYING_LGPL.txt │ ├── README.txt │ ├── bin │ │ ├── amd64 │ │ │ ├── install-filter-win.exe │ │ │ ├── install-filter.exe │ │ │ ├── libusb0.dll │ │ │ ├── libusb0.sys │ │ │ ├── testlibusb-win.exe │ │ │ └── testlibusb.exe │ │ ├── ia64 │ │ │ ├── install-filter-win.exe │ │ │ ├── install-filter.exe │ │ │ ├── libusb0.dll │ │ │ ├── libusb0.sys │ │ │ ├── testlibusb-win.exe │ │ │ └── testlibusb.exe │ │ ├── inf-wizard.exe │ │ ├── libusb-win32-bin-README.txt │ │ └── x86 │ │ │ ├── install-filter-win.exe │ │ │ ├── install-filter.exe │ │ │ ├── libusb0.sys │ │ │ ├── libusb0_x86.dll │ │ │ ├── testlibusb-win.exe │ │ │ └── testlibusb.exe │ ├── include │ │ └── usb.h │ ├── installer_license.txt │ ├── lib │ │ ├── bcc │ │ │ └── libusb.lib │ │ ├── dynamic │ │ │ └── libusb_dyn.c │ │ ├── gcc │ │ │ └── libusb.a │ │ ├── msvc │ │ │ └── libusb.lib │ │ ├── msvc_i64 │ │ │ └── libusb.lib │ │ └── msvc_x64 │ │ │ └── libusb.lib │ └── libusb-win32-changelog-1.2.2.0.txt │ └── pthreads │ ├── ANNOUNCE │ ├── BUGS │ ├── CONTRIBUTORS │ ├── COPYING │ ├── COPYING.LIB │ ├── ChangeLog │ ├── FAQ │ ├── MAINTAINERS │ ├── NEWS │ ├── PROGRESS │ ├── README │ ├── README.Borland │ ├── README.CV │ ├── README.NONPORTABLE │ ├── README.Watcom │ ├── README.WinCE │ ├── TODO │ ├── WinCE-PORT │ ├── include │ ├── pthread.h │ ├── sched.h │ └── semaphore.h │ └── lib │ ├── pthreadGC2.dll │ ├── pthreadGCE2.dll │ ├── pthreadVC2.dll │ ├── pthreadVC2.lib │ ├── pthreadVCE2.dll │ ├── pthreadVCE2.lib │ ├── pthreadVSE2.dll │ └── pthreadVSE2.lib ├── doc └── Doxyfile ├── misc ├── add_header.sh ├── git_config └── remove_header.sh ├── ntk ├── CMakeLists.txt ├── aruco │ ├── aruco.h │ ├── board.cpp │ ├── board.h │ ├── boarddetector.cpp │ ├── boarddetector.h │ ├── cameraparameters.cpp │ ├── cameraparameters.h │ ├── cvdrawingutils.cpp │ ├── cvdrawingutils.h │ ├── marker.cpp │ ├── marker.h │ ├── markerdetector.cpp │ └── markerdetector.h ├── camera │ ├── calibration.cpp │ ├── calibration.h │ ├── file_grabber.cpp │ ├── file_grabber.h │ ├── freenect_grabber.cpp │ ├── freenect_grabber.h │ ├── kin4win_grabber.cpp │ ├── kin4win_grabber.h │ ├── multiple_grabber.cpp │ ├── multiple_grabber.h │ ├── opencv_grabber.cpp │ ├── opencv_grabber.h │ ├── openni2_grabber.cpp │ ├── openni2_grabber.h │ ├── openni_grabber.cpp │ ├── openni_grabber.h │ ├── openni_grabber_internals.hxx │ ├── pmd_grabber.cpp │ ├── pmd_grabber.h │ ├── pmd_rgb_grabber.cpp │ ├── pmd_rgb_grabber.h │ ├── rgbd_calibration.cpp │ ├── rgbd_calibration.h │ ├── rgbd_frame_recorder.cpp │ ├── rgbd_frame_recorder.h │ ├── rgbd_grabber.cpp │ ├── rgbd_grabber.h │ ├── rgbd_grabber_factory.cpp │ ├── rgbd_grabber_factory.h │ ├── rgbd_image.cpp │ ├── rgbd_image.h │ ├── rgbd_processor.cpp │ ├── rgbd_processor.h │ ├── softkinetic_grabber.cpp │ ├── softkinetic_grabber.h │ ├── softkinetic_iisu_grabber.cpp │ └── softkinetic_iisu_grabber.h ├── core.h ├── detection │ ├── image_segmentor.cpp │ ├── image_segmentor.h │ ├── object │ │ ├── feature.cpp │ │ ├── feature.h │ │ ├── feature_indexer.cpp │ │ ├── feature_indexer.h │ │ ├── feature_indexer_kdt.cpp │ │ ├── feature_indexer_kdt.h │ │ ├── located_feature.cpp │ │ ├── located_feature.h │ │ ├── object_database.cpp │ │ ├── object_database.h │ │ ├── object_detector.cpp │ │ ├── object_detector.h │ │ ├── object_finder.cpp │ │ ├── object_finder.h │ │ ├── object_match.cpp │ │ ├── object_match.h │ │ ├── object_pose.cpp │ │ ├── object_pose.h │ │ ├── object_tracker.cpp │ │ ├── object_tracker.h │ │ ├── pose_2d.cpp │ │ ├── pose_2d.h │ │ ├── sift_hough.cpp │ │ ├── sift_hough.h │ │ ├── sift_object_detector.cpp │ │ ├── sift_object_detector.h │ │ ├── sift_object_detector_lowe.cpp │ │ ├── sift_object_detector_lowe.h │ │ ├── sift_object_match.cpp │ │ ├── sift_object_match.h │ │ ├── sift_object_match_lowe.cpp │ │ ├── sift_object_match_lowe.h │ │ ├── sift_object_pose_estimator.cpp │ │ ├── sift_object_pose_estimator.h │ │ ├── sift_parameters.cpp │ │ ├── sift_parameters.h │ │ ├── sift_point_match.cpp │ │ ├── sift_point_match.h │ │ ├── task_pool.cpp │ │ ├── task_pool.h │ │ ├── vfh_object_detector.cpp │ │ ├── vfh_object_detector.h │ │ ├── visual_object.cpp │ │ ├── visual_object.h │ │ ├── visual_object_view.cpp │ │ └── visual_object_view.h │ ├── plane_estimator.cpp │ ├── plane_estimator.h │ ├── table_object_detector.h │ └── table_object_detector.hpp ├── geometry │ ├── affine_transform.cpp │ ├── affine_transform.h │ ├── eigen_utils.h │ ├── incremental_pose_estimator.cpp │ ├── incremental_pose_estimator.h │ ├── incremental_pose_estimator_from_markers.cpp │ ├── incremental_pose_estimator_from_markers.h │ ├── incremental_pose_estimator_from_rgb_features.cpp │ ├── incremental_pose_estimator_from_rgb_features.h │ ├── plane.cpp │ ├── plane.h │ ├── polygon.cpp │ ├── polygon.h │ ├── pose_3d.cpp │ ├── pose_3d.h │ ├── pose_3d.hpp │ ├── pose_3d_eigen.h │ ├── pose_graph_optimizer.h │ ├── pose_graph_optimizer_g2o.cpp │ ├── pose_graph_optimizer_g2o.h │ ├── relative_pose_estimator.cpp │ ├── relative_pose_estimator.h │ ├── relative_pose_estimator_from_features.cpp │ ├── relative_pose_estimator_from_features.h │ ├── relative_pose_estimator_from_image.cpp │ ├── relative_pose_estimator_from_image.h │ ├── relative_pose_estimator_icp.cpp │ ├── relative_pose_estimator_icp.h │ ├── relative_pose_estimator_icp.hpp │ ├── relative_pose_estimator_markers.cpp │ ├── relative_pose_estimator_markers.h │ ├── relative_pose_estimator_rgbd_icp.cpp │ ├── relative_pose_estimator_rgbd_icp.h │ ├── relative_pose_estimator_rgbd_icp.hpp │ ├── relative_pose_estimator_tabletop.cpp │ ├── relative_pose_estimator_tabletop.h │ ├── similarity_transform.cpp │ ├── similarity_transform.h │ ├── transformation_estimation_rgbd.cpp │ ├── transformation_estimation_rgbd.h │ └── transformation_estimation_rgbd.hpp ├── gesture │ ├── body_event.cpp │ ├── body_event.h │ ├── ni_utils.h │ ├── skeleton.cpp │ └── skeleton.h ├── gpu │ ├── opencl.cpp │ └── opencl.h ├── gui │ ├── image_widget.cpp │ ├── image_widget.h │ ├── image_window.cpp │ ├── image_window.h │ ├── image_window.ui │ ├── screen_grabber.cpp │ └── screen_grabber.h ├── hub.cpp ├── hub.h ├── hub │ ├── fwd.h │ ├── hub-impl.cpp │ ├── hub-impl.h │ ├── hub.cpp │ ├── hub.h │ ├── impl.h │ ├── outlet-impl.cpp │ ├── outlet-impl.h │ ├── outlet.cpp │ ├── outlet.h │ ├── types.cpp │ ├── types.h │ ├── update.cpp │ ├── update.h │ ├── updates.cpp │ ├── updates.h │ └── updates │ │ ├── image-update.cpp │ │ ├── image-update.h │ │ ├── mesh-update.cpp │ │ ├── mesh-update.h │ │ ├── real-update.cpp │ │ ├── real-update.h │ │ ├── string-update.cpp │ │ ├── string-update.h │ │ ├── strings-update.cpp │ │ └── strings-update.h ├── image │ ├── bilateral_filter.cpp │ ├── bilateral_filter.h │ ├── color_model.cpp │ ├── color_model.h │ ├── feature.cpp │ ├── feature.h │ ├── sift.cpp │ ├── sift.h │ ├── sift_gpu.cpp │ ├── sift_gpu.h │ └── siftgpu │ │ ├── FrameBufferObject.cpp │ │ ├── FrameBufferObject.h │ │ ├── GLTexImage.cpp │ │ ├── GLTexImage.h │ │ ├── GlobalUtil.cpp │ │ ├── GlobalUtil.h │ │ ├── LiteWindow.h │ │ ├── ProgramGLSL.cpp │ │ ├── ProgramGLSL.h │ │ ├── ProgramGPU.cpp │ │ ├── ProgramGPU.h │ │ ├── PyramidGL.cpp │ │ ├── PyramidGL.h │ │ ├── ShaderMan.cpp │ │ ├── ShaderMan.h │ │ ├── SiftGPU.cpp │ │ ├── SiftGPU.h │ │ ├── SiftPyramid.cpp │ │ └── SiftPyramid.h ├── mesh │ ├── grid_rgbd_modeler.cpp │ ├── grid_rgbd_modeler.h │ ├── mesh.cpp │ ├── mesh.h │ ├── mesh_generator.cpp │ ├── mesh_generator.h │ ├── mesh_renderer.cpp │ ├── mesh_renderer.h │ ├── mesh_viewer.cpp │ ├── mesh_viewer.h │ ├── meshfwd.cpp │ ├── meshfwd.h │ ├── pcl_utils.cpp │ ├── pcl_utils.h │ ├── pcl_utils.hpp │ ├── plane_remover.cpp │ ├── plane_remover.h │ ├── ply.cpp │ ├── ply.h │ ├── rgbd_modeler.cpp │ ├── rgbd_modeler.h │ ├── surfels_rgbd_modeler.cpp │ ├── surfels_rgbd_modeler.h │ ├── table_object_rgbd_modeler.cpp │ └── table_object_rgbd_modeler.h ├── ntk.h ├── numeric │ ├── cost_function.cpp │ ├── cost_function.h │ ├── differential_evolution_minimizer.cpp │ ├── differential_evolution_minimizer.h │ ├── differential_evolution_solver.cpp │ ├── differential_evolution_solver.h │ ├── levenberg_marquart_minimizer.cpp │ ├── levenberg_marquart_minimizer.h │ ├── utils.cpp │ └── utils.h ├── projector │ ├── calibration.cpp │ └── calibration.h ├── ros │ ├── ros_rgbd_grabber.cpp │ └── ros_rgbd_grabber.h ├── stats │ ├── distributions.cpp │ ├── distributions.h │ ├── estimation.cpp │ ├── estimation.h │ ├── histogram.cpp │ ├── histogram.h │ ├── hypothesis_testing.cpp │ ├── hypothesis_testing.h │ ├── hypothesis_testing.hxx │ ├── moments.cpp │ ├── moments.h │ └── moments.hxx ├── thread │ ├── event.cpp │ ├── event.h │ ├── utils.cpp │ └── utils.h └── utils │ ├── arg.cpp │ ├── arg.h │ ├── common.h │ ├── debug.cpp │ ├── debug.h │ ├── opencv_utils.cpp │ ├── opencv_utils.h │ ├── parameter_set.cpp │ ├── parameter_set.h │ ├── progressive.cpp │ ├── progressive.h │ ├── qt_utils.cpp │ ├── qt_utils.h │ ├── serializable.h │ ├── sse.cpp │ ├── sse.h │ ├── stl.h │ ├── time.h │ ├── xml_parser.cpp │ ├── xml_parser.h │ ├── xml_serializable.cpp │ └── xml_serializable.h ├── samples ├── CMakeLists.txt ├── align.cpp ├── apply_transform.cpp ├── example_embedded │ ├── CMakeLists.txt │ ├── README │ └── main.cpp ├── example_external │ ├── CMakeLists.txt │ ├── FindNestk.cmake │ ├── README │ └── main.cpp ├── grab_mesh.cpp ├── handpoint_tracking.cpp ├── icp_pcl.cpp ├── image_pose_estimator.cpp ├── kin4win_backend.cpp ├── libfreenect_backend.cpp ├── markers.cpp ├── multiple_kinects.cpp ├── object_recognition.cpp ├── openni_backend.cpp ├── pcl_compatibility.cpp ├── pmd_backend.cpp ├── skeleton_tracking.cpp ├── softkinetic_backend.cpp ├── softkinetic_iisu_backend.cpp ├── sse.cpp ├── sse_normals.cpp ├── synchronized_multiple_kinects.cpp └── table_top_object.cpp ├── templates └── header.tpl └── tests ├── CMakeLists.txt ├── sobel.cl ├── test-algorithm.cpp ├── test-async-grabber.cpp ├── test-distributions.cpp ├── test-estimation.cpp ├── test-features.cpp ├── test-gpu.cpp ├── test-hscolor.cpp ├── test-hypothesis-testing.cpp ├── test-kinect-3d.cpp ├── test-kinect-grabber.cpp ├── test-markers.cpp ├── test-math.cpp ├── test-mesh.cpp ├── test-minimizers.cpp ├── test-multiple-kinect.cpp ├── test-nite.cpp ├── test-opencl-sobel.cpp ├── test-opencv-grabber.cpp ├── test-pcl.cpp ├── test-polygon.cpp ├── test-pose3d.cpp ├── test-serialization.cpp ├── test-siftgpu-server.cpp ├── test-siftgpu.cpp ├── test-stl.cpp ├── test-threads.cpp ├── test-transactions.cpp ├── test-transform.cpp └── test_common.h /.gitcloned: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | HERE="$(dirname $0)" 4 | 5 | export GIT_DIR="$HERE/.git" 6 | 7 | git remote add nburrus git@github.com:nburrus/nestk 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | 3 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | Core library used by RGBDemo to process Kinect data. 2 | Check http://github.com/rgbdemo/nestk for more information. 3 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | * Jorge Garcia Bueno 2 | * Arnaud Ramey 3 | * Diererick/Roxlu 4 | * Christian Parsons 5 | * Silvia Rodriguez 6 | * Cristobal Belles 7 | * Michael Reinhardt 8 | * Alexander Couzens 9 | -------------------------------------------------------------------------------- /cmake/FindSoftKinetic.cmake: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Find SoftKinetic SDK 3 | # 4 | # This sets the following variables: 5 | # SOFTKINETIC_FOUND - True if SOFTKINETIC was found. 6 | # SOFTKINETIC_INCLUDE_DIR - Directories containing the SOFTKINETIC include files. 7 | # SOFTKINETIC_LIBRARY - Libraries needed to use SOFTKINETIC. 8 | 9 | if (CMAKE_SIZEOF_VOID_P EQUAL 8) 10 | set(PROGRAM_FILES_PATHS "$ENV{PROGRAMW6432}/SoftKinetic/DepthSenseSDK") 11 | else () 12 | set(PROGRAM_FILES_PATHS "$ENV{PROGRAMFILES}/SoftKinetic/DepthSenseSDK") 13 | endif() 14 | 15 | find_path(SOFTKINETIC_INCLUDE_DIR DepthSense.hxx 16 | HINTS ${NESTK_ROOT_DIRS_HINTS} "${SOFTKINETIC_ROOT}" "$ENV{SOFTKINETIC_ROOT}" 17 | PATHS "${PROGRAM_FILES_PATHS}" 18 | PATH_SUFFIXES include) 19 | 20 | find_library(SOFTKINETIC_LIBRARY 21 | NAMES DepthSense 22 | HINTS ${NESTK_ROOT_DIRS_HINTS} "${SOFTKINETIC_ROOT}" "$ENV{SOFTKINETIC_ROOT}" 23 | PATHS "${PROGRAM_FILES_PATHS}" 24 | PATH_SUFFIXES lib ) 25 | 26 | include(FindPackageHandleStandardArgs) 27 | find_package_handle_standard_args(SOFTKINETIC DEFAULT_MSG SOFTKINETIC_LIBRARY SOFTKINETIC_INCLUDE_DIR) 28 | mark_as_advanced(SOFTKINETIC_LIBRARY SOFTKINETIC_INCLUDE_DIR) 29 | 30 | if(SOFTKINETIC_FOUND) 31 | message(STATUS "SOFTKINETIC found (include: ${SOFTKINETIC_INCLUDE_DIR}, lib: ${SOFTKINETIC_LIBRARY})") 32 | endif(SOFTKINETIC_FOUND) 33 | -------------------------------------------------------------------------------- /cmake/FindUSB.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find libusb-1.0 2 | # Once done, this will define 3 | # 4 | # USB_FOUND - system has libusb-1.0 5 | # USB_INCLUDE_DIRS - the libusb-1.0 include directories 6 | # USB_LIBRARIES - link these to use libusb-1.0 7 | 8 | include(LibFindMacros) 9 | 10 | # Dependencies 11 | 12 | # Use pkg-config to get hints about paths 13 | libfind_pkg_check_modules(USB_PKGCONF libusb-1.0>=1.0.3) 14 | 15 | # Include dir 16 | find_path(USB_INCLUDE_DIR 17 | NAMES libusb.h 18 | PATHS ${USB_PKGCONF_INCLUDE_DIRS} 19 | ) 20 | 21 | # Finally the library itself 22 | find_library(USB_LIBRARY 23 | NAMES usb-1.0 24 | PATHS ${USB_PKGCONF_LIBRARY_DIRS} 25 | ) 26 | 27 | # Set the include dir variables and the libraries and let libfind_process do the rest. 28 | # NOTE: Singular variables for this library, plural for libraries this this lib depends on. 29 | set(USB_PROCESS_INCLUDES USB_INCLUDE_DIR) 30 | set(USB_PROCESS_LIBS USB_LIBRARY) 31 | libfind_process(USB) 32 | -------------------------------------------------------------------------------- /deps/.gitignore: -------------------------------------------------------------------------------- 1 | CMakeCache.txt 2 | CMakeFiles 3 | Makefile 4 | cmake_install.cmake 5 | install_manifest.txt 6 | -------------------------------------------------------------------------------- /deps/README.md: -------------------------------------------------------------------------------- 1 | rgbd-deps 2 | ========= 3 | 4 | RGBD Dependencies submodule. -------------------------------------------------------------------------------- /deps/cmake/FindOPENCL.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find OpenCL 2 | # Once done this will define 3 | # 4 | # OPENCL_FOUND - system has OpenCL 5 | # OPENCL_INCLUDE_DIR - the OpenCL include directory 6 | # OPENCL_LIBRARIES - link these to use OpenCL 7 | # 8 | # WIN32 should work, but is untested 9 | 10 | IF (WIN32) 11 | 12 | FIND_PATH(OPENCL_INCLUDE_DIR CL/cl.h ) 13 | 14 | # TODO this is only a hack assuming the 64 bit library will 15 | # not be found on 32 bit system 16 | FIND_LIBRARY(OPENCL_LIBRARIES opencl ) 17 | 18 | ELSE (WIN32) 19 | 20 | # Unix style platforms 21 | # We also search for OpenCL in the NVIDIA GPU SDK default location 22 | #SET(OPENCL_INCLUDE_DIR "$ENV{OPENCL_HOME}/common/inc" 23 | # CACHE PATH "path to Opencl Include files") 24 | 25 | #message(***** OPENCL_INCLUDE_DIR: "${OPENCL_INCLUDE_DIR}" ********) 26 | 27 | # does not work. WHY? 28 | #SET(inc $ENV{CUDA_LOCAL}/../OpenCL/common/inc /usr/include) 29 | #FIND_PATH(OPENCL_INCLUDE_DIR CL/cl.h PATHS ${inc} /usr/include ) 30 | 31 | FIND_LIBRARY(OPENCL_LIBRARIES OpenCL ENV LD_LIBRARY_PATH) 32 | 33 | #message(***** OPENCL ENV: "$ENV{GPU_SDK}" ********) 34 | 35 | #~/NVIDIA_GPU_Computing_SDK/OpenCL/common/inc/ 36 | 37 | 38 | ENDIF (WIN32) 39 | 40 | SET( OPENCL_FOUND "NO" ) 41 | IF(OPENCL_LIBRARIES ) 42 | SET( OPENCL_FOUND "YES" ) 43 | ENDIF(OPENCL_LIBRARIES) 44 | 45 | MARK_AS_ADVANCED( 46 | OPENCL_INCLUDE_DIR 47 | ) 48 | -------------------------------------------------------------------------------- /deps/cmake/NestkDepsConfig.cmake.in: -------------------------------------------------------------------------------- 1 | SET(NESTK_DEPS_USE_FILE "@NESTK_DEPS_INSTALL_USE_FILE@") 2 | -------------------------------------------------------------------------------- /deps/cmake/UseNestkDepsROS.cmake.in: -------------------------------------------------------------------------------- 1 | SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${nestk_deps_SOURCE_DIR}/cmake) 2 | 3 | ## Qt stuff. 4 | SET(QT_USE_QTXML 1) 5 | SET(QT_USE_QTSVG 1) 6 | SET(QT_USE_QTOPENGL 1) 7 | SET(QT_USE_QTNETWORK 1) 8 | FIND_PACKAGE(Qt4) 9 | ADD_DEFINITIONS(-DNESTK_USE_QT) 10 | INCLUDE(${QT_USE_FILE}) 11 | IF (NOT QT4_FOUND) 12 | MESSAGE(FATAL_ERROR "Qt4 was not found. Check the QTDIR environment variable.") 13 | ENDIF(NOT QT4_FOUND) 14 | 15 | INCLUDE_DIRECTORIES(${nestk_deps_SOURCE_DIR}/eigen-ros) 16 | 17 | include($ENV{ROS_ROOT}/core/rosbuild/FindPkgConfig.cmake) 18 | pkg_check_modules(GLEW REQUIRED glew) 19 | include_directories(${GLEW_INCLUDE_DIRS}) 20 | link_directories(${GLEW_LIBRARY_DIRS}) 21 | 22 | FIND_PACKAGE(GLUT REQUIRED) 23 | include_directories(${GLUT_INCLUDE_DIRS}) 24 | link_directories(${GLUT_LIBRARY_DIRS}) 25 | 26 | ADD_DEFINITIONS(-DNESTK_USE_GLEW) 27 | ADD_DEFINITIONS(-DNESTK_USE_OPENNI) 28 | ADD_DEFINITIONS(-DNESTK_USE_PCL) 29 | 30 | SET(OPENNI_LIBRARIES OpenNI XnVNite) 31 | -------------------------------------------------------------------------------- /deps/cmake/msvc.cmake: -------------------------------------------------------------------------------- 1 | # Author: Nicolas Tisserand 2 | 3 | MACRO (CHANGE_FLAG VAR_NAME FROM_FLAG TO_FLAG) 4 | STRING(REPLACE ${FROM_FLAG} ${TO_FLAG} TMP ${${VAR_NAME}}) 5 | SET(${VAR_NAME} ${TMP} CACHE STRING "" FORCE) 6 | ENDMACRO(CHANGE_FLAG) 7 | 8 | MACRO (ADD_FLAG VAR_NAME FLAG) 9 | IF (NOT ${VAR_NAME} MATCHES ${FLAG}) 10 | SET(${VAR_NAME} "${${VAR_NAME}} ${FLAG}" CACHE STRING "" FORCE) 11 | ENDIF(NOT ${VAR_NAME} MATCHES ${FLAG}) 12 | ENDMACRO(ADD_FLAG) 13 | 14 | MACRO (USE_STATIC_MSVC_RUNTIME_LIBRARIES) 15 | CHANGE_FLAG(CMAKE_C_FLAGS_DEBUG "/MDd" "/MTd") 16 | CHANGE_FLAG(CMAKE_C_FLAGS_RELEASE "/MD" "/MT") 17 | CHANGE_FLAG(CMAKE_C_FLAGS_MINSIZEREL "/MD" "/MT") 18 | CHANGE_FLAG(CMAKE_C_FLAGS_RELWITHDEBINFO "/MD" "/MT") 19 | 20 | CHANGE_FLAG(CMAKE_CXX_FLAGS_DEBUG "/MDd" "/MTd") 21 | CHANGE_FLAG(CMAKE_CXX_FLAGS_RELEASE "/MD" "/MT") 22 | CHANGE_FLAG(CMAKE_CXX_FLAGS_MINSIZEREL "/MD" "/MT") 23 | CHANGE_FLAG(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD" "/MT") 24 | 25 | # Prevent linker warning when using release builds in debug mode. 26 | ADD_FLAG( CMAKE_EXE_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT") 27 | ADD_FLAG(CMAKE_MODULE_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT") 28 | ADD_FLAG(CMAKE_SHARED_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT") 29 | ENDMACRO(USE_STATIC_MSVC_RUNTIME_LIBRARIES) 30 | -------------------------------------------------------------------------------- /deps/eigen-ros/.hg_archival.txt: -------------------------------------------------------------------------------- 1 | repo: 8a21fd850624c931e448cbcfb38168cb2717c790 2 | node: 5c4180ad827b3f869b13b1d82f5a6ce617d6fcee 3 | branch: default 4 | tag: 3.0-beta2 5 | -------------------------------------------------------------------------------- /deps/eigen-ros/.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | qrc_*cxx 3 | *.orig 4 | *.pyc 5 | *.diff 6 | diff 7 | *.save 8 | save 9 | *.old 10 | *.gmo 11 | *.qm 12 | core 13 | core.* 14 | *.bak 15 | *~ 16 | build* 17 | *.moc.* 18 | *.moc 19 | ui_* 20 | CMakeCache.txt 21 | tags 22 | .*.swp 23 | activity.png 24 | *.out 25 | *.php* 26 | eigen_gen_credits.log 27 | 28 | -------------------------------------------------------------------------------- /deps/eigen-ros/.hgtags: -------------------------------------------------------------------------------- 1 | 2db9468678c6480c9633b6272ff0e3599d1e11a3 2.0-beta3 2 | 375224817dce669b6fa31d920d4c895a63fabf32 2.0-beta1 3 | 3b8120f077865e2a072e10f5be33e1d942b83a06 2.0-rc1 4 | 19dfc0e7666bcee26f7a49eb42f39a0280a3485e 2.0-beta5 5 | 7a7d8a9526f003ffa2430dfb0c2c535b5add3023 2.0-beta4 6 | 7d14ad088ac23769c349518762704f0257f6a39b 2.0.1 7 | b9d48561579fd7d4c05b2aa42235dc9de6484bf2 2.0-beta6 8 | e17630a40408243cb1a51ad0fe3a99beb75b7450 before-hg-migration 9 | eda654d4cda2210ce80719addcf854773e6dec5a 2.0.0 10 | ee9a7c468a9e73fab12f38f02bac24b07f29ed71 2.0-beta2 11 | d49097c25d8049e730c254a2fed725a240ce4858 after-hg-migration 12 | 655348878731bcb5d9bbe0854077b052e75e5237 actual-start-from-scratch 13 | 12a658962d4e6dfdc9a1c350fe7b69e36e70675c 3.0-beta1 14 | -------------------------------------------------------------------------------- /deps/eigen-ros/.krazy: -------------------------------------------------------------------------------- 1 | SKIP /disabled/ 2 | SKIP /bench/ 3 | SKIP /build/ 4 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Eigen) 2 | add_subdirectory(doc EXCLUDE_FROM_ALL) 3 | if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) 4 | add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest 5 | else() 6 | add_subdirectory(test EXCLUDE_FROM_ALL) 7 | endif() 8 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Eigen_HEADERS AdolcForward BVH IterativeSolvers MatrixFunctions MoreVectorization AutoDiff AlignedVector3 Polynomials 2 | CholmodSupport FFT NonLinearOptimization SparseExtra SuperLUSupport UmfPackSupport IterativeSolvers 3 | NumericalDiff Skyline MPRealSupport OpenGLSupport 4 | ) 5 | 6 | install(FILES 7 | ${Eigen_HEADERS} 8 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen COMPONENT Devel 9 | ) 10 | 11 | add_subdirectory(src) 12 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/CholmodSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLMODSUPPORT_MODULE_H 2 | #define EIGEN_CHOLMODSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | namespace Eigen { 13 | 14 | /** \ingroup Unsupported_modules 15 | * \defgroup CholmodSupport_Module Cholmod Support module 16 | * 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | struct Cholmod {}; 24 | #include "src/SparseExtra/CholmodSupportLegacy.h" 25 | #include "src/SparseExtra/CholmodSupport.h" 26 | 27 | 28 | } // namespace Eigen 29 | 30 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 31 | 32 | #endif // EIGEN_CHOLMODSUPPORT_MODULE_H 33 | 34 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/MoreVectorization: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_MOREVECTORIZATION_MODULE_H 2 | #define EIGEN_MOREVECTORIZATION_MODULE_H 3 | 4 | #include 5 | 6 | namespace Eigen { 7 | 8 | /** \ingroup Unsupported_modules 9 | * \defgroup MoreVectorization More vectorization module 10 | */ 11 | 12 | #include "src/MoreVectorization/MathFunctions.h" 13 | 14 | } 15 | 16 | #endif // EIGEN_MOREVECTORIZATION_MODULE_H 17 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/Skyline: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SKYLINE_MODULE_H 2 | #define EIGEN_SKYLINE_MODULE_H 3 | 4 | 5 | #include "Eigen/Core" 6 | 7 | #include "Eigen/src/Core/util/DisableStupidWarnings.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | namespace Eigen { 15 | 16 | /** \ingroup Unsupported_modules 17 | * \defgroup Skyline_Module Skyline module 18 | * 19 | * 20 | * 21 | * 22 | */ 23 | 24 | #include "src/Skyline/SkylineUtil.h" 25 | #include "src/Skyline/SkylineMatrixBase.h" 26 | #include "src/Skyline/SkylineStorage.h" 27 | #include "src/Skyline/SkylineMatrix.h" 28 | #include "src/Skyline/SkylineInplaceLU.h" 29 | #include "src/Skyline/SkylineProduct.h" 30 | 31 | } // namespace Eigen 32 | 33 | #include "Eigen/src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_SKYLINE_MODULE_H 36 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/SuperLUSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SUPERLUSUPPORT_MODULE_H 2 | #define EIGEN_SUPERLUSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | typedef int int_t; 9 | #include 10 | #include 11 | #include 12 | 13 | namespace Eigen { struct SluMatrix; } 14 | 15 | namespace Eigen { 16 | 17 | /** \ingroup Unsupported_modules 18 | * \defgroup SuperLUSupport_Module Super LU support 19 | * 20 | * 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | */ 26 | 27 | struct SuperLU {}; 28 | 29 | #include "src/SparseExtra/SuperLUSupport.h" 30 | 31 | } // namespace Eigen 32 | 33 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_SUPERLUSUPPORT_MODULE_H 36 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/UmfPackSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_UMFPACKSUPPORT_MODULE_H 2 | #define EIGEN_UMFPACKSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | namespace Eigen { 13 | 14 | /** \ingroup Unsupported_modules 15 | * \defgroup UmfPackSupport_Module UmfPack support module 16 | * 17 | * 18 | * 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | struct UmfPack {}; 26 | 27 | #include "src/SparseExtra/UmfPackSupport.h" 28 | 29 | } // namespace Eigen 30 | 31 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 32 | 33 | #endif // EIGEN_UMFPACKSUPPORT_MODULE_H 34 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/AutoDiff/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_AutoDiff_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_AutoDiff_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/AutoDiff COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/BVH/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_BVH_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_BVH_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/BVH COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(AutoDiff) 2 | ADD_SUBDIRECTORY(BVH) 3 | ADD_SUBDIRECTORY(FFT) 4 | ADD_SUBDIRECTORY(IterativeSolvers) 5 | ADD_SUBDIRECTORY(MatrixFunctions) 6 | ADD_SUBDIRECTORY(MoreVectorization) 7 | ADD_SUBDIRECTORY(NonLinearOptimization) 8 | ADD_SUBDIRECTORY(NumericalDiff) 9 | ADD_SUBDIRECTORY(Polynomials) 10 | ADD_SUBDIRECTORY(Skyline) 11 | ADD_SUBDIRECTORY(SparseExtra) 12 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/FFT/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_FFT_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_FFT_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/FFT COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/IterativeSolvers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_IterativeSolvers_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_IterativeSolvers_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/IterativeSolvers COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/MatrixFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MatrixFunctions_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MatrixFunctions_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MatrixFunctions COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/MoreVectorization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MoreVectorization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MoreVectorization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MoreVectorization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/NonLinearOptimization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_NonLinearOptimization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_NonLinearOptimization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/NonLinearOptimization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen-ros/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h: -------------------------------------------------------------------------------- 1 | namespace internal { 2 | 3 | // TODO : move this to GivensQR once there's such a thing in Eigen 4 | 5 | template 6 | void r1mpyq(DenseIndex m, DenseIndex n, Scalar *a, const std::vector > &v_givens, const std::vector > &w_givens) 7 | { 8 | typedef DenseIndex Index; 9 | 10 | /* apply the first set of givens rotations to a. */ 11 | for (Index j = n-2; j>=0; --j) 12 | for (Index i = 0; i 21 | * \endcode 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/Cholesky/LLT.h" 26 | #include "src/Cholesky/LDLT.h" 27 | 28 | } // namespace Eigen 29 | 30 | #include "src/Core/util/ReenableStupidWarnings.h" 31 | 32 | #endif // EIGEN_CHOLESKY_MODULE_H 33 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 34 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | //#include "Sparse" 3 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/Eigenvalues: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_EIGENVALUES_MODULE_H 2 | #define EIGEN_EIGENVALUES_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | #include "LU" 12 | 13 | namespace Eigen { 14 | 15 | /** \defgroup Eigenvalues_Module Eigenvalues module 16 | * 17 | * 18 | * 19 | * This module mainly provides various eigenvalue solvers. 20 | * This module also provides some MatrixBase methods, including: 21 | * - MatrixBase::eigenvalues(), 22 | * - MatrixBase::operatorNorm() 23 | * 24 | * \code 25 | * #include 26 | * \endcode 27 | */ 28 | 29 | #include "src/Eigenvalues/Tridiagonalization.h" 30 | #include "src/Eigenvalues/RealSchur.h" 31 | #include "src/Eigenvalues/EigenSolver.h" 32 | #include "src/Eigenvalues/SelfAdjointEigenSolver.h" 33 | #include "src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h" 34 | #include "src/Eigenvalues/HessenbergDecomposition.h" 35 | #include "src/Eigenvalues/ComplexSchur.h" 36 | #include "src/Eigenvalues/ComplexEigenSolver.h" 37 | #include "src/Eigenvalues/MatrixBaseEigenvalues.h" 38 | 39 | } // namespace Eigen 40 | 41 | #include "src/Core/util/ReenableStupidWarnings.h" 42 | 43 | #endif // EIGEN_EIGENVALUES_MODULE_H 44 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 45 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/Householder: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 2 | #define EIGEN_HOUSEHOLDER_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup Householder_Module Householder module 11 | * This module provides Householder transformations. 12 | * 13 | * \code 14 | * #include 15 | * \endcode 16 | */ 17 | 18 | #include "src/Householder/Householder.h" 19 | #include "src/Householder/HouseholderSequence.h" 20 | #include "src/Householder/BlockHouseholder.h" 21 | 22 | } // namespace Eigen 23 | 24 | #include "src/Core/util/ReenableStupidWarnings.h" 25 | 26 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 27 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 28 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/Jacobi: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_JACOBI_MODULE_H 2 | #define EIGEN_JACOBI_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup Jacobi_Module Jacobi module 11 | * This module provides Jacobi and Givens rotations. 12 | * 13 | * \code 14 | * #include 15 | * \endcode 16 | * 17 | * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation: 18 | * - MatrixBase::applyOnTheLeft() 19 | * - MatrixBase::applyOnTheRight(). 20 | */ 21 | 22 | #include "src/Jacobi/Jacobi.h" 23 | 24 | } // namespace Eigen 25 | 26 | #include "src/Core/util/ReenableStupidWarnings.h" 27 | 28 | #endif // EIGEN_JACOBI_MODULE_H 29 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 30 | 31 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/LU: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_LU_MODULE_H 2 | #define EIGEN_LU_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | namespace Eigen { 9 | 10 | /** \defgroup LU_Module LU module 11 | * This module includes %LU decomposition and related notions such as matrix inversion and determinant. 12 | * This module defines the following MatrixBase methods: 13 | * - MatrixBase::inverse() 14 | * - MatrixBase::determinant() 15 | * 16 | * \code 17 | * #include 18 | * \endcode 19 | */ 20 | 21 | #include "src/misc/Solve.h" 22 | #include "src/misc/Kernel.h" 23 | #include "src/misc/Image.h" 24 | #include "src/LU/FullPivLU.h" 25 | #include "src/LU/PartialPivLU.h" 26 | #include "src/LU/Determinant.h" 27 | #include "src/LU/Inverse.h" 28 | 29 | #if defined EIGEN_VECTORIZE_SSE 30 | #include "src/LU/arch/Inverse_SSE.h" 31 | #endif 32 | 33 | #ifdef EIGEN2_SUPPORT 34 | #include "src/Eigen2Support/LU.h" 35 | #endif 36 | 37 | } // namespace Eigen 38 | 39 | #include "src/Core/util/ReenableStupidWarnings.h" 40 | 41 | #endif // EIGEN_LU_MODULE_H 42 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 43 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/LeastSquares: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_REGRESSION_MODULE_H 2 | #define EIGEN_REGRESSION_MODULE_H 3 | 4 | #ifndef EIGEN2_SUPPORT 5 | #error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT) 6 | #endif 7 | 8 | // exclude from normal eigen3-only documentation 9 | #ifdef EIGEN2_SUPPORT 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include "Eigenvalues" 16 | #include "Geometry" 17 | 18 | namespace Eigen { 19 | 20 | /** \defgroup LeastSquares_Module LeastSquares module 21 | * This module provides linear regression and related features. 22 | * 23 | * \code 24 | * #include 25 | * \endcode 26 | */ 27 | 28 | #include "src/Eigen2Support/LeastSquares.h" 29 | 30 | } // namespace Eigen 31 | 32 | #include "src/Core/util/ReenableStupidWarnings.h" 33 | 34 | #endif // EIGEN2_SUPPORT 35 | 36 | #endif // EIGEN_REGRESSION_MODULE_H 37 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/QR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_QR_MODULE_H 2 | #define EIGEN_QR_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | 12 | namespace Eigen { 13 | 14 | /** \defgroup QR_Module QR module 15 | * 16 | * 17 | * 18 | * This module provides various QR decompositions 19 | * This module also provides some MatrixBase methods, including: 20 | * - MatrixBase::qr(), 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | */ 26 | 27 | #include "src/misc/Solve.h" 28 | #include "src/QR/HouseholderQR.h" 29 | #include "src/QR/FullPivHouseholderQR.h" 30 | #include "src/QR/ColPivHouseholderQR.h" 31 | 32 | #ifdef EIGEN2_SUPPORT 33 | #include "src/Eigen2Support/QR.h" 34 | #endif 35 | 36 | } // namespace Eigen 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #ifdef EIGEN2_SUPPORT 41 | #include "Eigenvalues" 42 | #endif 43 | 44 | #endif // EIGEN_QR_MODULE_H 45 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 46 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/QtAlignedMalloc: -------------------------------------------------------------------------------- 1 | 2 | #ifndef EIGEN_QTMALLOC_MODULE_H 3 | #define EIGEN_QTMALLOC_MODULE_H 4 | 5 | #include "Core" 6 | 7 | #if (!EIGEN_MALLOC_ALREADY_ALIGNED) 8 | 9 | #include "src/Core/util/DisableStupidWarnings.h" 10 | 11 | void *qMalloc(size_t size) 12 | { 13 | return Eigen::internal::aligned_malloc(size); 14 | } 15 | 16 | void qFree(void *ptr) 17 | { 18 | Eigen::internal::aligned_free(ptr); 19 | } 20 | 21 | void *qRealloc(void *ptr, size_t size) 22 | { 23 | void* newPtr = Eigen::internal::aligned_malloc(size); 24 | memcpy(newPtr, ptr, size); 25 | Eigen::internal::aligned_free(ptr); 26 | return newPtr; 27 | } 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif 32 | 33 | #endif // EIGEN_QTMALLOC_MODULE_H 34 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 35 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/SVD: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SVD_MODULE_H 2 | #define EIGEN_SVD_MODULE_H 3 | 4 | #include "QR" 5 | #include "Householder" 6 | #include "Jacobi" 7 | 8 | #include "src/Core/util/DisableStupidWarnings.h" 9 | 10 | namespace Eigen { 11 | 12 | /** \defgroup SVD_Module SVD module 13 | * 14 | * 15 | * 16 | * This module provides SVD decomposition for (currently) real matrices. 17 | * This decomposition is accessible via the following MatrixBase method: 18 | * - MatrixBase::svd() 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | #include "src/misc/Solve.h" 26 | #include "src/SVD/JacobiSVD.h" 27 | #include "src/SVD/UpperBidiagonalization.h" 28 | 29 | #ifdef EIGEN2_SUPPORT 30 | #include "src/Eigen2Support/SVD.h" 31 | #endif 32 | 33 | } // namespace Eigen 34 | 35 | #include "src/Core/util/ReenableStupidWarnings.h" 36 | 37 | #endif // EIGEN_SVD_MODULE_H 38 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 39 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB Eigen_src_subdirectories "*") 2 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 3 | foreach(f ${Eigen_src_subdirectories}) 4 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" ) 5 | add_subdirectory(${f}) 6 | endif() 7 | endforeach() 8 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Cholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Cholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Cholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Cholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(products) 9 | ADD_SUBDIRECTORY(util) 10 | ADD_SUBDIRECTORY(arch) 11 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/arch/AltiVec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_AltiVec_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_AltiVec_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/AltiVec COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(SSE) 2 | ADD_SUBDIRECTORY(AltiVec) 3 | ADD_SUBDIRECTORY(NEON) 4 | ADD_SUBDIRECTORY(Default) 5 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/arch/Default/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_Default_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_Default_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/Default COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/arch/NEON/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_NEON_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_NEON_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/NEON COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/arch/SSE/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_SSE_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_SSE_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/SSE COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/products/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_Product_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_Product_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/products COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_util_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_util_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/util COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/util/DisableMSVCWarnings.h: -------------------------------------------------------------------------------- 1 | 2 | #ifdef _MSC_VER 3 | // 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p)) 4 | // 4101 - unreferenced local variable 5 | // 4127 - conditional expression is constant 6 | // 4181 - qualifier applied to reference type ignored 7 | // 4211 - nonstandard extension used : redefined extern to static 8 | // 4244 - 'argument' : conversion from 'type1' to 'type2', possible loss of data 9 | // 4273 - QtAlignedMalloc, inconsistent DLL linkage 10 | // 4324 - structure was padded due to declspec(align()) 11 | // 4512 - assignment operator could not be generated 12 | // 4522 - 'class' : multiple assignment operators specified 13 | // 4717 - 'function' : recursive on all control paths, function will cause runtime stack overflow 14 | #pragma warning( push ) 15 | #pragma warning( disable : 4100 4101 4127 4181 4211 4244 4273 4324 4512 4522 4717 ) 16 | #endif 17 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/util/EnableMSVCWarnings.h: -------------------------------------------------------------------------------- 1 | 2 | #ifdef _MSC_VER 3 | #pragma warning( pop ) 4 | #endif 5 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED 2 | #undef EIGEN_WARNINGS_DISABLED 3 | 4 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 5 | #ifdef _MSC_VER 6 | #pragma warning( pop ) 7 | #elif defined __INTEL_COMPILER 8 | #pragma warning pop 9 | #elif defined __clang__ 10 | #pragma clang diagnostic pop 11 | #endif 12 | #endif 13 | 14 | #endif // EIGEN_WARNINGS_DISABLED 15 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Eigen2Support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support/Geometry 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Eigenvalues/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_EIGENVALUES_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_EIGENVALUES_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigenvalues COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Eigenvalues/EigenvaluesCommon.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2010 Jitse Niesen 5 | // 6 | // Eigen is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 3 of the License, or (at your option) any later version. 10 | // 11 | // Alternatively, you can redistribute it and/or 12 | // modify it under the terms of the GNU General Public License as 13 | // published by the Free Software Foundation; either version 2 of 14 | // the License, or (at your option) any later version. 15 | // 16 | // Eigen is distributed in the hope that it will be useful, but WITHOUT ANY 17 | // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License or the 19 | // GNU General Public License for more details. 20 | // 21 | // You should have received a copy of the GNU Lesser General Public 22 | // License and a copy of the GNU General Public License along with 23 | // Eigen. If not, see . 24 | 25 | #ifndef EIGEN_EIGENVALUES_COMMON_H 26 | #define EIGEN_EIGENVALUES_COMMON_H 27 | 28 | 29 | 30 | #endif // EIGEN_EIGENVALUES_COMMON_H 31 | 32 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Geometry/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Householder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Householder_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Householder_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Householder COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Jacobi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Jacobi_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Jacobi_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Jacobi COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/LU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/LU/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/QR/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_QR_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_QR_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/QR COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/SVD/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SVD_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SVD_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SVD COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Sparse/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Sparse_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Sparse_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Sparse COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/Sparse/SparseAssign.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/eigen/Eigen/src/Sparse/SparseAssign.h -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/StlSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_StlSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_StlSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/StlSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/misc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_misc_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_misc_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/misc COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/Eigen/src/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_plugins_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_plugins_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/plugins COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/INSTALL: -------------------------------------------------------------------------------- 1 | Installation instructions for Eigen 2 | *********************************** 3 | 4 | Explanation before starting 5 | *************************** 6 | 7 | Eigen consists only of header files, hence there is nothing to compile 8 | before you can use it. Moreover, these header files do not depend on your 9 | platform, they are the same for everybody. 10 | 11 | Method 1. Installing without using CMake 12 | **************************************** 13 | 14 | You can use right away the headers in the Eigen/ subdirectory. In order 15 | to install, just copy this Eigen/ subdirectory to your favorite location. 16 | If you also want the unsupported features, copy the unsupported/ 17 | subdirectory too. 18 | 19 | Method 2. Installing using CMake 20 | ******************************** 21 | 22 | Let's call this directory 'source_dir' (where this INSTALL file is). 23 | Before starting, create another directory which we will call 'build_dir'. 24 | 25 | Do: 26 | 27 | cd build_dir 28 | cmake source_dir 29 | make install 30 | 31 | The "make install" step may require administrator privileges. 32 | 33 | You can adjust the installation destination (the "prefix") 34 | by passing the -DCMAKE_INSTALL_PREFIX=myprefix option to cmake, as is 35 | explained in the message that cmake prints at the end. 36 | -------------------------------------------------------------------------------- /deps/eigen/cmake/FindAdolc.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (ADOLC_INCLUDES AND ADOLC_LIBRARIES) 3 | set(ADOLC_FIND_QUIETLY TRUE) 4 | endif (ADOLC_INCLUDES AND ADOLC_LIBRARIES) 5 | 6 | find_path(ADOLC_INCLUDES 7 | NAMES 8 | adolc/adouble.h 9 | PATHS 10 | $ENV{ADOLCDIR} 11 | ${INCLUDE_INSTALL_DIR} 12 | ) 13 | 14 | find_library(ADOLC_LIBRARIES adolc PATHS $ENV{ADOLCDIR} ${LIB_INSTALL_DIR}) 15 | 16 | include(FindPackageHandleStandardArgs) 17 | find_package_handle_standard_args(ADOLC DEFAULT_MSG 18 | ADOLC_INCLUDES ADOLC_LIBRARIES) 19 | 20 | mark_as_advanced(ADOLC_INCLUDES ADOLC_LIBRARIES) 21 | -------------------------------------------------------------------------------- /deps/eigen/cmake/FindFFTW.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (FFTW_INCLUDES AND FFTW_LIBRARIES) 3 | set(FFTW_FIND_QUIETLY TRUE) 4 | endif (FFTW_INCLUDES AND FFTW_LIBRARIES) 5 | 6 | find_path(FFTW_INCLUDES 7 | NAMES 8 | fftw3.h 9 | PATHS 10 | $ENV{FFTWDIR} 11 | ${INCLUDE_INSTALL_DIR} 12 | ) 13 | 14 | find_library(FFTWF_LIB NAMES fftw3f PATHS $ENV{FFTWDIR} ${LIB_INSTALL_DIR}) 15 | find_library(FFTW_LIB NAMES fftw3 PATHS $ENV{FFTWDIR} ${LIB_INSTALL_DIR}) 16 | set(FFTW_LIBRARIES "${FFTWF_LIB} ${FFTW_LIB}" ) 17 | 18 | find_library(FFTWL_LIB NAMES fftw3l PATHS $ENV{FFTWDIR} ${LIB_INSTALL_DIR}) 19 | 20 | if(FFTWL_LIB) 21 | set(FFTW_LIBRARIES "${FFTW_LIBRARIES} ${FFTWL_LIB}") 22 | endif() 23 | 24 | 25 | message(STATUS "FFTW ${FFTW_LIBRARIES}" ) 26 | 27 | include(FindPackageHandleStandardArgs) 28 | find_package_handle_standard_args(FFTW DEFAULT_MSG 29 | FFTW_INCLUDES FFTW_LIBRARIES) 30 | 31 | mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES) 32 | -------------------------------------------------------------------------------- /deps/eigen/cmake/FindGMP.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the GNU Multiple Precision Arithmetic Library (GMP) 2 | # See http://gmplib.org/ 3 | 4 | if (GMP_INCLUDES AND GMP_LIBRARIES) 5 | set(GMP_FIND_QUIETLY TRUE) 6 | endif (GMP_INCLUDES AND GMP_LIBRARIES) 7 | 8 | find_path(GMP_INCLUDES 9 | NAMES 10 | gmp.h 11 | PATHS 12 | $ENV{GMPDIR} 13 | ${INCLUDE_INSTALL_DIR} 14 | ) 15 | 16 | find_library(GMP_LIBRARIES gmp PATHS $ENV{GMPDIR} ${LIB_INSTALL_DIR}) 17 | 18 | include(FindPackageHandleStandardArgs) 19 | find_package_handle_standard_args(GMP DEFAULT_MSG 20 | GMP_INCLUDES GMP_LIBRARIES) 21 | mark_as_advanced(GMP_INCLUDES GMP_LIBRARIES) 22 | -------------------------------------------------------------------------------- /deps/eigen/cmake/FindGoogleHash.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (GOOGLEHASH_INCLUDES AND GOOGLEHASH_LIBRARIES) 3 | set(GOOGLEHASH_FIND_QUIETLY TRUE) 4 | endif (GOOGLEHASH_INCLUDES AND GOOGLEHASH_LIBRARIES) 5 | 6 | find_path(GOOGLEHASH_INCLUDES 7 | NAMES 8 | google/dense_hash_map 9 | PATHS 10 | ${INCLUDE_INSTALL_DIR} 11 | ) 12 | 13 | if(GOOGLEHASH_INCLUDES) 14 | # let's make sure it compiles with the current compiler 15 | file(WRITE ${CMAKE_BINARY_DIR}/googlehash_test.cpp 16 | "#include \n#include \nint main(int argc, char** argv) { google::dense_hash_map a; google::sparse_hash_map b; return 0;}\n") 17 | try_compile(GOOGLEHASH_COMPILE ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/googlehash_test.cpp OUTPUT_VARIABLE GOOGLEHASH_COMPILE_RESULT) 18 | endif(GOOGLEHASH_INCLUDES) 19 | 20 | include(FindPackageHandleStandardArgs) 21 | find_package_handle_standard_args(GOOGLEHASH DEFAULT_MSG GOOGLEHASH_INCLUDES GOOGLEHASH_COMPILE) 22 | 23 | mark_as_advanced(GOOGLEHASH_INCLUDES) 24 | -------------------------------------------------------------------------------- /deps/eigen/cmake/FindSuperLU.cmake: -------------------------------------------------------------------------------- 1 | 2 | # Umfpack lib usually requires linking to a blas library. 3 | # It is up to the user of this module to find a BLAS and link to it. 4 | 5 | if (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES) 6 | set(SUPERLU_FIND_QUIETLY TRUE) 7 | endif (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES) 8 | 9 | find_path(SUPERLU_INCLUDES 10 | NAMES 11 | supermatrix.h 12 | PATHS 13 | $ENV{SUPERLUDIR} 14 | ${INCLUDE_INSTALL_DIR} 15 | PATH_SUFFIXES 16 | superlu 17 | ) 18 | 19 | find_library(SUPERLU_LIBRARIES superlu PATHS $ENV{SUPERLUDIR} ${LIB_INSTALL_DIR}) 20 | 21 | include(FindPackageHandleStandardArgs) 22 | find_package_handle_standard_args(SUPERLU DEFAULT_MSG 23 | SUPERLU_INCLUDES SUPERLU_LIBRARIES) 24 | 25 | mark_as_advanced(SUPERLU_INCLUDES SUPERLU_LIBRARIES) 26 | -------------------------------------------------------------------------------- /deps/eigen/cmake/RegexUtils.cmake: -------------------------------------------------------------------------------- 1 | function(escape_string_as_regex _str_out _str_in) 2 | STRING(REGEX REPLACE "\\\\" "\\\\\\\\" FILETEST2 "${_str_in}") 3 | STRING(REGEX REPLACE "([.$+*?|-])" "\\\\\\1" FILETEST2 "${FILETEST2}") 4 | STRING(REGEX REPLACE "\\^" "\\\\^" FILETEST2 "${FILETEST2}") 5 | STRING(REGEX REPLACE "\\(" "\\\\(" FILETEST2 "${FILETEST2}") 6 | STRING(REGEX REPLACE "\\)" "\\\\)" FILETEST2 "${FILETEST2}") 7 | STRING(REGEX REPLACE "\\[" "\\\\[" FILETEST2 "${FILETEST2}") 8 | STRING(REGEX REPLACE "\\]" "\\\\]" FILETEST2 "${FILETEST2}") 9 | SET(${_str_out} "${FILETEST2}" PARENT_SCOPE) 10 | endfunction() 11 | 12 | function(test_escape_string_as_regex) 13 | SET(test1 "\\.^$-+*()[]?|") 14 | escape_string_as_regex(test2 "${test1}") 15 | SET(testRef "\\\\\\.\\^\\$\\-\\+\\*\\(\\)\\[\\]\\?\\|") 16 | if(NOT test2 STREQUAL testRef) 17 | message("Error in the escape_string_for_regex function : \n ${test1} was escaped as ${test2}, should be ${testRef}") 18 | endif(NOT test2 STREQUAL testRef) 19 | endfunction() -------------------------------------------------------------------------------- /deps/eigen/debug/gdb/__init__.py: -------------------------------------------------------------------------------- 1 | # Intentionally empty 2 | -------------------------------------------------------------------------------- /deps/eigen/eigen3.pc.in: -------------------------------------------------------------------------------- 1 | Name: Eigen3 2 | Description: A C++ template library for linear algebra: vectors, matrices, and related algorithms 3 | Requires: 4 | Version: ${EIGEN_VERSION_NUMBER} 5 | Libs: 6 | Cflags: -I${INCLUDE_INSTALL_DIR} 7 | -------------------------------------------------------------------------------- /deps/eigen/scripts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | get_property(EIGEN_TESTS_LIST GLOBAL PROPERTY EIGEN_TESTS_LIST) 2 | configure_file(buildtests.in ${CMAKE_BINARY_DIR}/buildtests.sh @ONLY) 3 | 4 | configure_file(check.in ${CMAKE_BINARY_DIR}/check.sh COPYONLY) 5 | configure_file(debug.in ${CMAKE_BINARY_DIR}/debug.sh COPYONLY) 6 | configure_file(release.in ${CMAKE_BINARY_DIR}/release.sh COPYONLY) 7 | -------------------------------------------------------------------------------- /deps/eigen/scripts/buildtests.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $# != 1 || $1 == *help ]] 4 | then 5 | echo "usage: ./check regexp" 6 | echo " Builds tests matching the regexp." 7 | echo " The EIGEN_MAKE_ARGS environment variable allows to pass args to 'make'." 8 | echo " For example, to launch 5 concurrent builds, use EIGEN_MAKE_ARGS='-j5'" 9 | exit 0 10 | fi 11 | 12 | TESTSLIST="@EIGEN_TESTS_LIST@" 13 | targets_to_make=`echo "$TESTSLIST" | egrep "$1" | xargs echo` 14 | 15 | if [ -n "${EIGEN_MAKE_ARGS:+x}" ] 16 | then 17 | make $targets_to_make ${EIGEN_MAKE_ARGS} 18 | else 19 | make $targets_to_make 20 | fi 21 | exit $? 22 | 23 | -------------------------------------------------------------------------------- /deps/eigen/scripts/check.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # check : shorthand for make and ctest -R 3 | 4 | if [[ $# != 1 || $1 == *help ]] 5 | then 6 | echo "usage: ./check regexp" 7 | echo " Builds and runs tests matching the regexp." 8 | echo " The EIGEN_MAKE_ARGS environment variable allows to pass args to 'make'." 9 | echo " For example, to launch 5 concurrent builds, use EIGEN_MAKE_ARGS='-j5'" 10 | echo " The EIGEN_CTEST_ARGS environment variable allows to pass args to 'ctest'." 11 | echo " For example, with CTest 2.8, you can use EIGEN_CTEST_ARGS='-j5'." 12 | exit 0 13 | fi 14 | 15 | if [ -n "${EIGEN_CTEST_ARGS:+x}" ] 16 | then 17 | ./buildtests.sh "$1" && ctest -R "$1" ${EIGEN_CTEST_ARGS} 18 | else 19 | ./buildtests.sh "$1" && ctest -R "$1" 20 | fi 21 | exit $? 22 | -------------------------------------------------------------------------------- /deps/eigen/scripts/debug.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cmake -DCMAKE_BUILD_TYPE=Debug . 4 | -------------------------------------------------------------------------------- /deps/eigen/scripts/eigen_gen_docs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # configuration 4 | # You should call this script with USER set as you want, else some default 5 | # will be used 6 | USER=${USER:-'orzel'} 7 | 8 | # step 1 : build 9 | # todo if 'build is not there, create one: 10 | #mkdir build 11 | (cd build && cmake .. && make -j3 doc) || { echo "make failed"; exit 1; } 12 | #todo: n+1 where n = number of cpus 13 | 14 | #step 2 : upload 15 | # (the '/' at the end of path are very important, see rsync documentation) 16 | rsync -az build/doc/html/ $USER@ssh.tuxfamily.org:eigen/eigen.tuxfamily.org-web/htdocs/dox-devel/ || { echo "upload failed"; exit 1; } 17 | 18 | echo "Uploaded successfully" 19 | 20 | -------------------------------------------------------------------------------- /deps/eigen/scripts/release.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cmake -DCMAKE_BUILD_TYPE=Release . 4 | -------------------------------------------------------------------------------- /deps/eigen/signature_of_eigen3_matrix_library: -------------------------------------------------------------------------------- 1 | This file is just there as a signature to help identify directories containing Eigen3. When writing a script looking for Eigen3, just look for this file. This is especially useful to help disambiguate with Eigen2... 2 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Eigen) 2 | #add_subdirectory(doc EXCLUDE_FROM_ALL) 3 | #if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) 4 | # add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest 5 | #else() 6 | # add_subdirectory(test EXCLUDE_FROM_ALL) 7 | #endif() 8 | 9 | 10 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Eigen_HEADERS AdolcForward BVH IterativeSolvers MatrixFunctions MoreVectorization AutoDiff AlignedVector3 Polynomials 2 | CholmodSupport FFT NonLinearOptimization SparseExtra SuperLUSupport UmfPackSupport IterativeSolvers 3 | NumericalDiff Skyline MPRealSupport OpenGLSupport 4 | ) 5 | 6 | install(FILES 7 | ${Eigen_HEADERS} 8 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen COMPONENT Devel 9 | ) 10 | 11 | add_subdirectory(src) 12 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/CholmodSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLMODSUPPORT_MODULE_H 2 | #define EIGEN_CHOLMODSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | namespace Eigen { 13 | 14 | /** \ingroup Unsupported_modules 15 | * \defgroup CholmodSupport_Module Cholmod Support module 16 | * 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | struct Cholmod {}; 24 | #include "src/SparseExtra/CholmodSupportLegacy.h" 25 | #include "src/SparseExtra/CholmodSupport.h" 26 | 27 | 28 | } // namespace Eigen 29 | 30 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 31 | 32 | #endif // EIGEN_CHOLMODSUPPORT_MODULE_H 33 | 34 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/MoreVectorization: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_MOREVECTORIZATION_MODULE_H 2 | #define EIGEN_MOREVECTORIZATION_MODULE_H 3 | 4 | #include 5 | 6 | namespace Eigen { 7 | 8 | /** \ingroup Unsupported_modules 9 | * \defgroup MoreVectorization More vectorization module 10 | */ 11 | 12 | #include "src/MoreVectorization/MathFunctions.h" 13 | 14 | } 15 | 16 | #endif // EIGEN_MOREVECTORIZATION_MODULE_H 17 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/Skyline: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SKYLINE_MODULE_H 2 | #define EIGEN_SKYLINE_MODULE_H 3 | 4 | 5 | #include "Eigen/Core" 6 | 7 | #include "Eigen/src/Core/util/DisableStupidWarnings.h" 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | namespace Eigen { 15 | 16 | /** \ingroup Unsupported_modules 17 | * \defgroup Skyline_Module Skyline module 18 | * 19 | * 20 | * 21 | * 22 | */ 23 | 24 | #include "src/Skyline/SkylineUtil.h" 25 | #include "src/Skyline/SkylineMatrixBase.h" 26 | #include "src/Skyline/SkylineStorage.h" 27 | #include "src/Skyline/SkylineMatrix.h" 28 | #include "src/Skyline/SkylineInplaceLU.h" 29 | #include "src/Skyline/SkylineProduct.h" 30 | 31 | } // namespace Eigen 32 | 33 | #include "Eigen/src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_SKYLINE_MODULE_H 36 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/SuperLUSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SUPERLUSUPPORT_MODULE_H 2 | #define EIGEN_SUPERLUSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | typedef int int_t; 9 | #include 10 | #include 11 | #include 12 | 13 | namespace Eigen { struct SluMatrix; } 14 | 15 | namespace Eigen { 16 | 17 | /** \ingroup Unsupported_modules 18 | * \defgroup SuperLUSupport_Module Super LU support 19 | * 20 | * 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | */ 26 | 27 | struct SuperLU {}; 28 | 29 | #include "src/SparseExtra/SuperLUSupport.h" 30 | 31 | } // namespace Eigen 32 | 33 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 34 | 35 | #endif // EIGEN_SUPERLUSUPPORT_MODULE_H 36 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/UmfPackSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_UMFPACKSUPPORT_MODULE_H 2 | #define EIGEN_UMFPACKSUPPORT_MODULE_H 3 | 4 | #include "SparseExtra" 5 | 6 | #include "../../Eigen/src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | namespace Eigen { 13 | 14 | /** \ingroup Unsupported_modules 15 | * \defgroup UmfPackSupport_Module UmfPack support module 16 | * 17 | * 18 | * 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | struct UmfPack {}; 26 | 27 | #include "src/SparseExtra/UmfPackSupport.h" 28 | 29 | } // namespace Eigen 30 | 31 | #include "../../Eigen/src/Core/util/ReenableStupidWarnings.h" 32 | 33 | #endif // EIGEN_UMFPACKSUPPORT_MODULE_H 34 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/AutoDiff/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_AutoDiff_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_AutoDiff_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/AutoDiff COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/BVH/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_BVH_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_BVH_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/BVH COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(AutoDiff) 2 | ADD_SUBDIRECTORY(BVH) 3 | ADD_SUBDIRECTORY(FFT) 4 | ADD_SUBDIRECTORY(IterativeSolvers) 5 | ADD_SUBDIRECTORY(MatrixFunctions) 6 | ADD_SUBDIRECTORY(MoreVectorization) 7 | ADD_SUBDIRECTORY(NonLinearOptimization) 8 | ADD_SUBDIRECTORY(NumericalDiff) 9 | ADD_SUBDIRECTORY(Polynomials) 10 | ADD_SUBDIRECTORY(Skyline) 11 | ADD_SUBDIRECTORY(SparseExtra) 12 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/FFT/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_FFT_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_FFT_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/FFT COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/IterativeSolvers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_IterativeSolvers_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_IterativeSolvers_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/IterativeSolvers COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/MatrixFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MatrixFunctions_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MatrixFunctions_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MatrixFunctions COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/MoreVectorization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MoreVectorization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MoreVectorization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MoreVectorization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/NonLinearOptimization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_NonLinearOptimization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_NonLinearOptimization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/NonLinearOptimization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /deps/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h: -------------------------------------------------------------------------------- 1 | namespace internal { 2 | 3 | // TODO : move this to GivensQR once there's such a thing in Eigen 4 | 5 | template 6 | void r1mpyq(DenseIndex m, DenseIndex n, Scalar *a, const std::vector > &v_givens, const std::vector > &w_givens) 7 | { 8 | typedef DenseIndex Index; 9 | 10 | /* apply the first set of givens rotations to a. */ 11 | for (Index j = n-2; j>=0; --j) 12 | for (Index i = 0; i CONTRIB 4 | echo >> CONTRIB 5 | 6 | # note: some exclusions to clean up botched git author tags that got fixed in 7 | # later commits, hopefully we'll be more careful about this in the future 8 | git log --format='%aN <%aE>' | sort | uniq | grep -E -v \ 9 | 'brandyn@router|sl203|mwise@bvo|richmattes|kai.*none' | sort >> CONTRIB 10 | -------------------------------------------------------------------------------- /deps/libfreenect/platform/linux/udev/51-kinect.rules: -------------------------------------------------------------------------------- 1 | # ATTR{product}=="Xbox NUI Motor" 2 | SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666" 3 | 4 | # ATTR{product}=="Xbox NUI Audio" 5 | SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666" 6 | 7 | # ATTR{product}=="Xbox NUI Camera" 8 | SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666" 9 | 10 | -------------------------------------------------------------------------------- /deps/libfreenect/platform/linux/udev/README: -------------------------------------------------------------------------------- 1 | Simply place this file in /etc/udev/rules.d and you'll no longer need 2 | to run your apps as root. 3 | -------------------------------------------------------------------------------- /deps/libfreenect/platform/osx/homebrew/libfreenect.rb: -------------------------------------------------------------------------------- 1 | require 'formula' 2 | 3 | class Libfreenect 2 | 3 | 4 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/csharp/src/test/KinectDemo/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace KinectDemo 5 | { 6 | public class Program 7 | { 8 | public Program () 9 | { 10 | 11 | } 12 | 13 | /// 14 | /// Driver 15 | /// 16 | /// 17 | /// A 18 | /// 19 | public static void Main (string[] args) 20 | { 21 | Application.Run(new MainForm()); 22 | } 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/csharp/src/test/KinectDemo/VS2010/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/.gitignore: -------------------------------------------------------------------------------- 1 | .classpath 2 | .project 3 | .settings/ 4 | target/ 5 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/README: -------------------------------------------------------------------------------- 1 | libfreenect for Java 2 | ==================== 3 | 4 | This is an API decided to be familiar to most Java developers. Where 5 | possible, the native library details have been hidden from view. 6 | 7 | The entry point into the API is the Freenect.createContext() static 8 | factory method. This will initialize and return a Context which you 9 | can then use to query for and interact with supported devices, like 10 | the Microsoft Kinect. The the Javadoc for further details. 11 | 12 | Building the library 13 | ==================== 14 | 15 | This project is built with Maven and uses the standard maven build 16 | phases. See http://maven.apache.org/ for more details. 17 | 18 | Quick start for Ubuntu: 19 | 20 | sudo apt-get install maven2 21 | mvn package 22 | 23 | Using the library 24 | ================= 25 | 26 | The library requires a platform installed shared library of libfreenect 27 | to be present in a standard location on the system. This is typically 28 | /usr/lib or /usr/local/lib on unix-like platforms. dYou may also be able 29 | to place the library in current directory to be loaded, but this is not 30 | recommended. 31 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/Context.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | public interface Context { 4 | int numDevices(); 5 | void setLogHandler(LogHandler handler); 6 | void setLogLevel(LogLevel level); 7 | Device openDevice(int index); 8 | void shutdown(); 9 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/DepthFormat.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | 4 | public enum DepthFormat { 5 | D11BIT(0, Freenect.FREENECT_FRAME_W, Freenect.FREENECT_FRAME_H, Freenect.FREENECT_DEPTH_11BIT_SIZE), 6 | D10BIT(1, Freenect.FREENECT_FRAME_W, Freenect.FREENECT_FRAME_H, Freenect.FREENECT_DEPTH_10BIT_SIZE), 7 | D11BIT_PACKED(2, Freenect.FREENECT_FRAME_W, Freenect.FREENECT_FRAME_H, Freenect.FREENECT_DEPTH_11BIT_PACKED_SIZE), 8 | D10BIT_PACKED(3, Freenect.FREENECT_FRAME_W, Freenect.FREENECT_FRAME_H, Freenect.FREENECT_DEPTH_10BIT_PACKED_SIZE); 9 | private int value; 10 | private int frameSize; 11 | private int width; 12 | private int height; 13 | 14 | private DepthFormat(int value, int width, int height, int frameSize) { 15 | this.value = value; 16 | this.width = width; 17 | this.height = height; 18 | this.frameSize = frameSize; 19 | } 20 | public int intValue() { 21 | return value; 22 | } 23 | public int getWidth() { 24 | return width; 25 | } 26 | public int getHeight() { 27 | return height; 28 | } 29 | public int getFrameSize() { 30 | return frameSize; 31 | } 32 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/DepthHandler.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public interface DepthHandler { 6 | void onFrameReceived(DepthFormat format, ByteBuffer frame, int timestamp); 7 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/Device.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | 4 | 5 | public interface Device { 6 | double[] getAccel(); 7 | int setLed(LedStatus status); 8 | void refreshTiltState(); 9 | double getTiltAngle(); 10 | int setTiltAngle(double angle); 11 | TiltStatus getTiltStatus(); 12 | void setDepthFormat(DepthFormat fmt); 13 | void setVideoFormat(VideoFormat fmt); 14 | int startDepth(DepthHandler handler); 15 | int startVideo(VideoHandler handler); 16 | int stopDepth(); 17 | int stopVideo(); 18 | void close(); 19 | public abstract int getDeviceIndex(); 20 | } 21 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/LedStatus.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | public enum LedStatus { 4 | OFF(0), 5 | GREEN(1), 6 | RED(2), 7 | YELLOW(3), 8 | BLINK_YELLOW(4), 9 | BLINK_GREEN(5), 10 | BLINK_RED_YELLOW(6); 11 | private final int value; 12 | 13 | private LedStatus(int value) { 14 | this.value = value; 15 | } 16 | 17 | public int intValue() { 18 | return value; 19 | } 20 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/LogHandler.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | public interface LogHandler { 4 | void onMessage(Device dev, LogLevel level, String msg); 5 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/LogLevel.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public enum LogLevel { 7 | FATAL(0), 8 | ERROR(1), 9 | WARNING(2), 10 | NOTICE(3), 11 | INFO(4), 12 | DEBUG(5), 13 | SPEW(6), 14 | FLOOD(7); 15 | 16 | private static final Map MAP = new HashMap(8); 17 | static { 18 | for (LogLevel value : values()) { 19 | MAP.put(value.intValue(), value); 20 | } 21 | } 22 | 23 | private final int value; 24 | 25 | private LogLevel(int value) { 26 | this.value = value; 27 | } 28 | 29 | public int intValue() { 30 | return value; 31 | } 32 | 33 | public static LogLevel fromInt(int value) { 34 | return MAP.get(value); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/TiltStatus.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public enum TiltStatus { 7 | STOPPED(0), 8 | LIMIT(1), 9 | MOVING(4); 10 | private final int value; 11 | 12 | static final Map MAP = new HashMap(3); 13 | static { 14 | for (TiltStatus ts : TiltStatus.values()) { 15 | MAP.put(ts.intValue(), ts); 16 | } 17 | } 18 | 19 | private TiltStatus(int value) { 20 | this.value = value; 21 | } 22 | 23 | public int intValue() { 24 | return value; 25 | } 26 | 27 | public static TiltStatus fromInt(int value) { 28 | return MAP.get(value); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/VideoHandler.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public interface VideoHandler { 6 | void onFrameReceived(VideoFormat format, ByteBuffer frame, int timestamp); 7 | } -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/java/src/main/java/org/openkinect/freenect/util/Jdk14LogHandler.java: -------------------------------------------------------------------------------- 1 | package org.openkinect.freenect.util; 2 | 3 | import java.util.EnumMap; 4 | import java.util.logging.Level; 5 | import java.util.logging.Logger; 6 | 7 | import org.openkinect.freenect.Device; 8 | import org.openkinect.freenect.LogHandler; 9 | import org.openkinect.freenect.LogLevel; 10 | 11 | public class Jdk14LogHandler implements LogHandler { 12 | 13 | private final Logger logger = Logger.getLogger("freenect"); 14 | private final EnumMap levelMap = new EnumMap(LogLevel.class); 15 | 16 | public Jdk14LogHandler() { 17 | logger.setLevel(Level.ALL); 18 | levelMap.put(LogLevel.FATAL, Level.SEVERE); 19 | levelMap.put(LogLevel.ERROR, Level.SEVERE); 20 | levelMap.put(LogLevel.WARNING, Level.WARNING); 21 | levelMap.put(LogLevel.NOTICE, Level.CONFIG); 22 | levelMap.put(LogLevel.INFO, Level.INFO); 23 | levelMap.put(LogLevel.DEBUG, Level.FINE); 24 | levelMap.put(LogLevel.SPEW, Level.FINER); 25 | levelMap.put(LogLevel.FLOOD, Level.FINEST); 26 | } 27 | 28 | @Override 29 | public void onMessage(Device dev, LogLevel level, String msg) { 30 | logger.log(levelMap.get(level), "device " + dev.getDeviceIndex() + ": " + msg); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/opencv/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ###################################################################################### 2 | # OpenCV Interface 3 | ###################################################################################### 4 | add_library (freenect_cv SHARED libfreenect_cv.c) 5 | set_target_properties (freenect_cv PROPERTIES 6 | VERSION ${PROJECT_VER} 7 | SOVERSION ${PROJECT_APIVER}) 8 | 9 | target_link_libraries (freenect_cv freenect_sync cv) 10 | 11 | install (TARGETS freenect_cv 12 | DESTINATION "${PROJECT_LIBRARY_INSTALL_DIR}") 13 | install (FILES "libfreenect_cv.h" 14 | DESTINATION ${PROJECT_INCLUDE_INSTALL_DIR}) 15 | 16 | add_executable(cvdemo cvdemo.c) 17 | target_link_libraries(cvdemo freenect freenect_sync freenect_cv cv highgui) 18 | install (TARGETS cvdemo 19 | DESTINATION bin) -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/opencv/libfreenect_cv.c: -------------------------------------------------------------------------------- 1 | #include "libfreenect.h" 2 | #include "libfreenect_cv.h" 3 | 4 | IplImage *freenect_sync_get_depth_cv(int index) 5 | { 6 | static IplImage *image = 0; 7 | static char *data = 0; 8 | if (!image) image = cvCreateImageHeader(cvSize(640,480), 16, 1); 9 | unsigned int timestamp; 10 | if (freenect_sync_get_depth(&data, ×tamp, index, FREENECT_DEPTH_11BIT)) 11 | return NULL; 12 | cvSetData(image, data, 640*2); 13 | return image; 14 | } 15 | 16 | IplImage *freenect_sync_get_rgb_cv(int index) 17 | { 18 | static IplImage *image = 0; 19 | static char *data = 0; 20 | if (!image) image = cvCreateImageHeader(cvSize(640,480), 8, 3); 21 | unsigned int timestamp; 22 | if (freenect_sync_get_video(&data, ×tamp, index, FREENECT_VIDEO_RGB)) 23 | return NULL; 24 | cvSetData(image, data, 640*3); 25 | return image; 26 | } 27 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/opencv/libfreenect_cv.h: -------------------------------------------------------------------------------- 1 | #ifndef FREENECT_CV_H 2 | #define FREENECT_CV_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | 10 | IplImage *freenect_sync_get_depth_cv(int index); 11 | IplImage *freenect_sync_get_rgb_cv(int index); 12 | 13 | #ifdef __cplusplus 14 | } 15 | #endif 16 | 17 | #endif -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ###################################################################################### 2 | # Python extension builder 3 | ###################################################################################### 4 | 5 | include(FindPythonInterp) 6 | include(FindPythonLibs) 7 | 8 | find_program(CYTHON_EXECUTABLE cython) 9 | 10 | # Figure out installation path 11 | execute_process(COMMAND 12 | ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" 13 | OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) 14 | 15 | # How to Cython the .pyx file 16 | add_custom_command(OUTPUT freenect.c 17 | COMMAND ${CYTHON_EXECUTABLE} -o freenect.c "${CMAKE_CURRENT_SOURCE_DIR}/freenect.pyx") 18 | list(APPEND ADDITIONAL_MAKE_CLEAN_FILES freenect.c) 19 | 20 | # Compile the extension 21 | add_library(cython_freenect MODULE freenect.c) 22 | set_target_properties(cython_freenect PROPERTIES 23 | PREFIX "" 24 | OUTPUT_NAME "freenect" 25 | LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) 26 | target_link_libraries(cython_freenect freenect_sync) 27 | include_directories(${PYTHON_INCLUDE_PATH} ../c_sync/) 28 | 29 | # Install the extension 30 | install(TARGETS cython_freenect 31 | DESTINATION ${PYTHON_SITE_PACKAGES}) 32 | 33 | # TODO: decide on what to do with demo_ scripts and were to install 34 | # them 35 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_cv_async.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import freenect 3 | import cv 4 | import frame_convert 5 | 6 | cv.NamedWindow('Depth') 7 | cv.NamedWindow('RGB') 8 | keep_running = True 9 | 10 | 11 | def display_depth(dev, data, timestamp): 12 | global keep_running 13 | cv.ShowImage('Depth', frame_convert.pretty_depth_cv(data)) 14 | if cv.WaitKey(10) == 27: 15 | keep_running = False 16 | 17 | 18 | def display_rgb(dev, data, timestamp): 19 | global keep_running 20 | cv.ShowImage('RGB', frame_convert.video_cv(data)) 21 | if cv.WaitKey(10) == 27: 22 | keep_running = False 23 | 24 | 25 | def body(*args): 26 | if not keep_running: 27 | raise freenect.Kill 28 | 29 | 30 | print('Press ESC in window to stop') 31 | freenect.runloop(depth=display_depth, 32 | video=display_rgb, 33 | body=body) 34 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_cv_sync.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import freenect 3 | import cv 4 | import frame_convert 5 | 6 | cv.NamedWindow('Depth') 7 | cv.NamedWindow('Video') 8 | print('Press ESC in window to stop') 9 | 10 | 11 | def get_depth(): 12 | return frame_convert.pretty_depth_cv(freenect.sync_get_depth()[0]) 13 | 14 | 15 | def get_video(): 16 | return frame_convert.video_cv(freenect.sync_get_video()[0]) 17 | 18 | 19 | while 1: 20 | cv.ShowImage('Depth', get_depth()) 21 | cv.ShowImage('Video', get_video()) 22 | if cv.WaitKey(10) == 27: 23 | break 24 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_cv_sync_multi.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """This goes through each kinect on your system, grabs one frame and 3 | displays it. Uncomment the commented line to shut down after each frame 4 | if your system can't handle it (will get very low FPS but it should work). 5 | This will keep trying indeces until it finds one that doesn't work, then it 6 | starts from 0. 7 | """ 8 | import freenect 9 | import cv 10 | import frame_convert 11 | 12 | cv.NamedWindow('Depth') 13 | cv.NamedWindow('Video') 14 | ind = 0 15 | print('%s\nPress ESC to stop' % __doc__) 16 | 17 | 18 | def get_depth(ind): 19 | return frame_convert.pretty_depth_cv(freenect.sync_get_depth(ind)[0]) 20 | 21 | 22 | def get_video(ind): 23 | return frame_convert.video_cv(freenect.sync_get_video(ind)[0]) 24 | 25 | 26 | while 1: 27 | print(ind) 28 | try: 29 | depth = get_depth(ind) 30 | video = get_video(ind) 31 | except TypeError: 32 | ind = 0 33 | continue 34 | ind += 1 35 | cv.ShowImage('Depth', depth) 36 | cv.ShowImage('Video', video) 37 | if cv.WaitKey(10) == 27: 38 | break 39 | #freenect.sync_stop() # NOTE: Uncomment if your machine can't handle it 40 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_cv_thresh_sweep.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Sweeps throught the depth image showing 100 range at a time""" 3 | import freenect 4 | import cv 5 | import numpy as np 6 | import time 7 | 8 | cv.NamedWindow('Depth') 9 | 10 | 11 | def disp_thresh(lower, upper): 12 | depth, timestamp = freenect.sync_get_depth() 13 | depth = 255 * np.logical_and(depth > lower, depth < upper) 14 | depth = depth.astype(np.uint8) 15 | image = cv.CreateImageHeader((depth.shape[1], depth.shape[0]), 16 | cv.IPL_DEPTH_8U, 17 | 1) 18 | cv.SetData(image, depth.tostring(), 19 | depth.dtype.itemsize * depth.shape[1]) 20 | cv.ShowImage('Depth', image) 21 | cv.WaitKey(10) 22 | 23 | 24 | lower = 0 25 | upper = 100 26 | max_upper = 2048 27 | while upper < max_upper: 28 | print('%d < depth < %d' % (lower, upper)) 29 | disp_thresh(lower, upper) 30 | time.sleep(.1) 31 | lower += 20 32 | upper += 20 33 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_mp_async.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import freenect 3 | import matplotlib.pyplot as mp 4 | import signal 5 | import frame_convert 6 | 7 | mp.ion() 8 | image_rgb = None 9 | image_depth = None 10 | keep_running = True 11 | 12 | 13 | def display_depth(dev, data, timestamp): 14 | global image_depth 15 | data = frame_convert.pretty_depth(data) 16 | mp.gray() 17 | mp.figure(1) 18 | if image_depth: 19 | image_depth.set_data(data) 20 | else: 21 | image_depth = mp.imshow(data, interpolation='nearest', animated=True) 22 | mp.draw() 23 | 24 | 25 | def display_rgb(dev, data, timestamp): 26 | global image_rgb 27 | mp.figure(2) 28 | if image_rgb: 29 | image_rgb.set_data(data) 30 | else: 31 | image_rgb = mp.imshow(data, interpolation='nearest', animated=True) 32 | mp.draw() 33 | 34 | 35 | def body(*args): 36 | if not keep_running: 37 | raise freenect.Kill 38 | 39 | 40 | def handler(signum, frame): 41 | global keep_running 42 | keep_running = False 43 | 44 | 45 | print('Press Ctrl-C in terminal to stop') 46 | signal.signal(signal.SIGINT, handler) 47 | freenect.runloop(depth=display_depth, 48 | video=display_rgb, 49 | body=body) 50 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_mp_sync.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import freenect 3 | import matplotlib.pyplot as mp 4 | import frame_convert 5 | import signal 6 | 7 | keep_running = True 8 | 9 | 10 | def get_depth(): 11 | return frame_convert.pretty_depth(freenect.sync_get_depth()[0]) 12 | 13 | 14 | def get_video(): 15 | return freenect.sync_get_video()[0] 16 | 17 | 18 | def handler(signum, frame): 19 | """Sets up the kill handler, catches SIGINT""" 20 | global keep_running 21 | keep_running = False 22 | 23 | 24 | mp.ion() 25 | mp.gray() 26 | mp.figure(1) 27 | image_depth = mp.imshow(get_depth(), interpolation='nearest', animated=True) 28 | mp.figure(2) 29 | image_rgb = mp.imshow(get_video(), interpolation='nearest', animated=True) 30 | print('Press Ctrl-C in terminal to stop') 31 | signal.signal(signal.SIGINT, handler) 32 | 33 | while keep_running: 34 | mp.figure(1) 35 | image_depth.set_data(get_depth()) 36 | mp.figure(2) 37 | image_rgb.set_data(get_video()) 38 | mp.draw() 39 | mp.waitforbuttonpress(0.01) 40 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/demo_tilt.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import freenect 3 | import time 4 | import random 5 | import signal 6 | 7 | keep_running = True 8 | last_time = 0 9 | 10 | 11 | def body(dev, ctx): 12 | global last_time 13 | if not keep_running: 14 | raise freenect.Kill 15 | if time.time() - last_time < 3: 16 | return 17 | last_time = time.time() 18 | led = random.randint(0, 6) 19 | tilt = random.randint(0, 30) 20 | freenect.set_led(dev, led) 21 | freenect.set_tilt_degs(dev, tilt) 22 | print('led[%d] tilt[%d] accel[%s]' % (led, tilt, freenect.get_accel(dev))) 23 | 24 | 25 | def handler(signum, frame): 26 | """Sets up the kill handler, catches SIGINT""" 27 | global keep_running 28 | keep_running = False 29 | print('Press Ctrl-C in terminal to stop') 30 | signal.signal(signal.SIGINT, handler) 31 | freenect.runloop(body=body) 32 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/python/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from distutils.core import setup 3 | from distutils.extension import Extension 4 | from Cython.Distutils import build_ext 5 | 6 | ext_modules = [Extension("freenect", ["freenect.pyx"], 7 | libraries=['usb-1.0', 'freenect', 'freenect_sync'], 8 | runtime_library_dirs=['/usr/local/lib', '/usr/local/lib64', '/usr/lib/'], 9 | extra_compile_args=['-fPIC', '-I', '../../include/', 10 | '-I', '/usr/include/libusb-1.0/', 11 | '-I', '/usr/local/include/libusb-1.0', 12 | '-I', '/usr/local/include', 13 | '-I', '../c_sync/'])] 14 | setup( 15 | name = 'freenect', 16 | cmdclass = {'build_ext': build_ext}, 17 | ext_modules = ext_modules 18 | ) 19 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/History.txt: -------------------------------------------------------------------------------- 1 | == 0.1.1 / 2010-12-22 2 | * Initial release version 3 | 4 | == 0.1.0 / 2010-12-13 5 | * Initial packaged version 6 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2010 Josh Grunzweig & Eric Monti 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/VERSION: -------------------------------------------------------------------------------- 1 | 0.1.1 2 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/examples/tilt_nod.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | 4 | $: << File.expand_path(File.join(File.dirname(__FILE__), "../lib")) 5 | 6 | require 'freenect' 7 | 8 | ctx = Freenect.init 9 | unless ctx.num_devices() > 0 10 | STDERR.puts "No kinect device detected" 11 | exit 1 12 | end 13 | 14 | dev = ctx[0] 15 | dev.set_led(:blink_red_yellow) 16 | 17 | 3.times do 18 | dev.set_tilt_degrees(15) 19 | sleep 2 20 | dev.set_tilt_degrees(-15) 21 | sleep 2 22 | end 23 | dev.set_tilt_degrees(0.0) 24 | 25 | dev.set_led(:off) 26 | dev.close 27 | ctx.shutdown 28 | 29 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/lib/freenect.rb: -------------------------------------------------------------------------------- 1 | 2 | # we may one day have a native extension for bindings... for now only 3 | # ffi/freenect exists 4 | require 'ffi/freenect' 5 | require 'freenect/context' 6 | require 'freenect/device' 7 | 8 | module Freenect 9 | include FFI::Freenect 10 | 11 | def self.init(*args) 12 | Context.new(*args) 13 | end 14 | 15 | def self.lookup_video_format(fmt) 16 | return (fmt.is_a?(Numeric) ? fmt : FFI::Freenect::VIDEO_FORMATS[fmt]) 17 | end 18 | 19 | def self.lookup_video_size(fmt) 20 | l_fmt = (fmt.is_a?(Numeric) ? FFI::Freenect::VIDEO_FORMATS[fmt] : fmt) 21 | if l_fmt.nil? or (sz = FFI::Freenect::VIDEO_SIZES[l_fmt]).nil? 22 | return nil 23 | else 24 | return sz 25 | end 26 | end 27 | 28 | def self.lookup_depth_format(fmt) 29 | return (fmt.is_a?(Numeric) ? fmt : FFI::Freenect::DEPTH_FORMATS[fmt]) 30 | end 31 | 32 | def self.lookup_depth_size(fmt) 33 | l_fmt = (fmt.is_a?(Numeric) ? FFI::Freenect::DEPTH_FORMATS[fmt] : fmt) 34 | if l_fmt.nil? or (sz = FFI::Freenect::DEPTH_SIZES[l_fmt]).nil? 35 | return nil 36 | else 37 | return sz 38 | end 39 | end 40 | end 41 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/pkg/ffi-libfreenect-0.1.1.gem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/libfreenect/wrappers/ruby/ffi-libfreenect/pkg/ffi-libfreenect-0.1.1.gem -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/spec/spec.opts: -------------------------------------------------------------------------------- 1 | --format specdoc 2 | --color 3 | -------------------------------------------------------------------------------- /deps/libfreenect/wrappers/ruby/ffi-libfreenect/spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | SPEC_DIR = File.expand_path(File.dirname(__FILE__)) 2 | 3 | $LOAD_PATH.unshift(SPEC_DIR) 4 | $LOAD_PATH.unshift(File.join(SPEC_DIR, '..', 'lib')) 5 | 6 | require 'freenect' 7 | require 'spec' 8 | require 'spec/autorun' 9 | 10 | Spec::Runner.configure do |config| 11 | end 12 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/AUTHORS: -------------------------------------------------------------------------------- 1 | Copyright (C) 2007-2009 Daniel Drake 2 | Copyright (c) 2001 Johannes Erdfelt 3 | Copyright (C) 2008-2010 Nathan Hjelm 4 | Copyright (C) 2009-2010 Pete Batard 5 | Copyright (C) 2010 Michael Plante 6 | 7 | Other contributors: 8 | Alex Vatchenko 9 | Artem Egorkine 10 | Aurelien Jarno 11 | Bastien Nocera 12 | David Engraf 13 | David Moore 14 | Felipe Balbi 15 | Francesco Montorsi 16 | Hans Ulrich Niedermann 17 | Hoi-Ho Chan 18 | Ludovic Rousseau 19 | Martin Koegler 20 | Mikhail Gusarov 21 | Peter Stuge 22 | Rob Walker 23 | Toby Peterson 24 | Vasily Khoruzhick 25 | 26 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.6) 2 | 3 | PROJECT(libusb) 4 | 5 | FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation) 6 | FIND_LIBRARY(IOKIT_LIBRARY IOKit) 7 | 8 | SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 9 | SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) 10 | 11 | ADD_SUBDIRECTORY(libusb-1.0) 12 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/README: -------------------------------------------------------------------------------- 1 | libusb 2 | ====== 3 | 4 | libusb is a library for USB device access from Linux userspace. 5 | It is written in C and licensed under the LGPL-2.1 (see COPYING). 6 | 7 | libusb is abstracted internally in such a way that it can hopefully 8 | be ported to other operating systems. See the PORTING file for some 9 | information, if you fancy a challenge :) 10 | 11 | libusb homepage: 12 | http://libusb.sourceforge.net 13 | 14 | Developers will wish to consult the API documentation: 15 | http://libusb.sourceforge.net/api-1.0/ 16 | 17 | Use the mailing list for questions, comments, etc: 18 | https://sourceforge.net/mailarchive/forum.php?forum_name=libusb-devel 19 | 20 | - Daniel Drake 21 | (use the mailing list rather than mailing developers directly) 22 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/THANKS: -------------------------------------------------------------------------------- 1 | Development contributors are listed in the AUTHORS file. Other community 2 | members who have made significant contributions in other areas are listed 3 | in this file: 4 | 5 | Alan Stern 6 | Ludovic Rousseau 7 | Tim Roberts 8 | Xiaofan Chen 9 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/libusb-1.0/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | PROJECT(libusb) 2 | 3 | SET(sources 4 | libusbi.h 5 | config.h 6 | core.c 7 | descriptor.c 8 | io.c 9 | sync.c 10 | os/darwin_usb.c 11 | os/darwin_usb.h 12 | os/threads_posix.h 13 | os/poll_posix.h 14 | ) 15 | 16 | SET_DIRECTORY_PROPERTIES(PROPERTIES 17 | COMPILE_DEFINITIONS "NDEBUG") 18 | 19 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 20 | ADD_LIBRARY(usb SHARED ${sources}) 21 | TARGET_LINK_LIBRARIES(usb ${IOKIT_LIBRARY} ${COREFOUNDATION_LIBRARY}) 22 | set_target_properties ( usb PROPERTIES 23 | ARCHIVE_OUTPUT_DIRECTORY "${LIBRARY_OUTPUT_PATH}" 24 | RUNTIME_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}") 25 | -------------------------------------------------------------------------------- /deps/macosx/libusb-7da756e/libusb-1.0/os/poll_posix.h: -------------------------------------------------------------------------------- 1 | #ifndef __LIBUSB_POLL_POSIX_H__ 2 | #define __LIBUSB_POLL_POSIX_H__ 3 | 4 | #include 5 | #include 6 | #define usbi_write write 7 | #define usbi_read read 8 | #define usbi_close close 9 | #define usbi_pipe pipe 10 | #define usbi_poll poll 11 | 12 | #endif /* __LIBUSB_POLL_POSIX_H__ */ 13 | -------------------------------------------------------------------------------- /deps/opencl11/README: -------------------------------------------------------------------------------- 1 | OpenCL 1.1 Header files downloaded from 2 | http://www.khronos.org/registry/cl/ 3 | 4 | 5 | Minor modification made to cl.hpp starting on line 1448 6 | Added an extra constructor for Context that allows OpenGL sharing on Mac OS X 7 | -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86-64/lib/camboardnano.L64.pap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86-64/lib/camboardnano.L64.pap -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86-64/lib/camboardnanoproc.L64.ppp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86-64/lib/camboardnanoproc.L64.ppp -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86-64/lib/libpmdaccess2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86-64/lib/libpmdaccess2.so -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86/lib/camboardnano.L32.pap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86/lib/camboardnano.L32.pap -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86/lib/camboardnanoproc.L32.ppp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86/lib/camboardnanoproc.L32.ppp -------------------------------------------------------------------------------- /deps/pmdsdk/linux/x86/lib/libpmdaccess2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/linux/x86/lib/libpmdaccess2.so -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86-64/lib/camboardnano.W64.pap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86-64/lib/camboardnano.W64.pap -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86-64/lib/camboardnanoproc.W64.ppp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86-64/lib/camboardnanoproc.W64.ppp -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86-64/lib/pmdaccess2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86-64/lib/pmdaccess2.dll -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86-64/lib/pmdaccess2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86-64/lib/pmdaccess2.lib -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86/lib/camboardnano.W32.pap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86/lib/camboardnano.W32.pap -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86/lib/camboardnanoproc.W32.ppp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86/lib/camboardnanoproc.W32.ppp -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86/lib/pmdaccess2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86/lib/pmdaccess2.dll -------------------------------------------------------------------------------- /deps/pmdsdk/windows/x86/lib/pmdaccess2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/pmdsdk/windows/x86/lib/pmdaccess2.lib -------------------------------------------------------------------------------- /deps/vectorial/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.orig 3 | specsuite-* 4 | -------------------------------------------------------------------------------- /deps/vectorial/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------------------------------------- 2 | # CMake file for libpng. See root CMakeLists.txt 3 | # 4 | # ---------------------------------------------------------------------------- 5 | project(vectorial) 6 | 7 | # List of C++ files: 8 | 9 | include_directories("${CMAKE_CURRENT_SOURCE_DIR}") 10 | 11 | file(GLOB lib_hdrs include/vectorial/*.h) 12 | 13 | # ---------------------------------------------------------------------------------- 14 | # Define the library target: 15 | # ---------------------------------------------------------------------------------- 16 | 17 | install(FILES ${lib_hdrs} DESTINATION include/vectorial) 18 | -------------------------------------------------------------------------------- /deps/vectorial/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 Mikko Lehtonen. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are 4 | permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this list of 7 | conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, this list 10 | of conditions and the following disclaimer in the documentation and/or other materials 11 | provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 17 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 20 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 21 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 22 | POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /deps/vectorial/bench/add_bench.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "bench.h" 3 | #include 4 | 5 | #include 6 | #include "vectorial/vec4f.h" 7 | 8 | #define NUM (81920) 9 | #define ITER 100 10 | using namespace vectorial; 11 | 12 | namespace { 13 | vec4f* alloc_vec4f(size_t n) { 14 | void *ptr = memalign(n*sizeof(vec4f), 16); 15 | return static_cast(ptr); 16 | } 17 | } 18 | 19 | 20 | 21 | static vec4f * a; 22 | static vec4f * b; 23 | static vec4f * c; 24 | 25 | 26 | 27 | 28 | void add_func() { 29 | 30 | vec4f* vectorial_restrict aa = a; 31 | vec4f* vectorial_restrict bb = b; 32 | vec4f* vectorial_restrict cc = c; 33 | 34 | for(size_t i = 0; i < NUM; ++i) 35 | { 36 | cc[i] = aa[i] + bb[i]; 37 | } 38 | } 39 | 40 | void add_bench() { 41 | 42 | a = alloc_vec4f(NUM); 43 | b = alloc_vec4f(NUM); 44 | c = alloc_vec4f(NUM); 45 | 46 | 47 | for(size_t i = 0; i < NUM; ++i) 48 | { 49 | a[i]=vec4f(i,i,i,i); 50 | b[i]=vec4f(NUM-i, NUM-i, NUM-i, NUM-i); 51 | } 52 | 53 | profile("add", add_func, ITER, NUM); 54 | 55 | memfree(a); 56 | memfree(b); 57 | memfree(c); 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /deps/vectorial/bench/dot_bench.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "bench.h" 3 | #include 4 | 5 | #include 6 | #include "vectorial/vec4f.h" 7 | 8 | #define NUM (81920) 9 | #define ITER 100 10 | using namespace vectorial; 11 | 12 | namespace { 13 | vec4f* alloc_vec4f(size_t n) { 14 | void *ptr = memalign(n*sizeof(vec4f), 16); 15 | return static_cast(ptr); 16 | } 17 | } 18 | 19 | 20 | 21 | static vec4f * a; 22 | static vec4f * b; 23 | static float * c; 24 | 25 | 26 | 27 | 28 | void dot_func() { 29 | 30 | vec4f* vectorial_restrict aa = a; 31 | vec4f* vectorial_restrict bb = b; 32 | float* vectorial_restrict cc = c; 33 | 34 | for(size_t i = 0; i < NUM; ++i) 35 | { 36 | cc[i] = dot(aa[i], bb[i]); 37 | } 38 | } 39 | 40 | void dot_bench() { 41 | 42 | a = alloc_vec4f(NUM); 43 | b = alloc_vec4f(NUM); 44 | c = static_cast(malloc(NUM * sizeof(float))); 45 | 46 | 47 | for(size_t i = 0; i < NUM; ++i) 48 | { 49 | a[i]=vec4f(i,i,i,i); 50 | b[i]=vec4f(NUM-i, NUM-i, NUM-i, NUM-i); 51 | } 52 | 53 | profile("dot", dot_func, ITER, NUM); 54 | 55 | memfree(a); 56 | memfree(b); 57 | memfree(c); 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /deps/vectorial/bench/matrix_bench.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "bench.h" 3 | #include 4 | 5 | #include 6 | #include "vectorial/simd4x4f.h" 7 | 8 | #define NUM (819200) 9 | #define ITER 100 10 | //using namespace vectorial; 11 | 12 | namespace { 13 | simd4x4f* alloc_vec4x4f(size_t n) { 14 | void *ptr = memalign(n*sizeof(simd4x4f), 16); 15 | return static_cast(ptr); 16 | } 17 | } 18 | 19 | 20 | 21 | static simd4x4f * a; 22 | static simd4x4f * b; 23 | static simd4x4f * c; 24 | 25 | 26 | 27 | 28 | void matrix_func() { 29 | 30 | simd4x4f* vectorial_restrict aa = a; 31 | simd4x4f* vectorial_restrict bb = b; 32 | simd4x4f* vectorial_restrict cc = c; 33 | 34 | for(size_t i = 0; i < NUM; ++i) 35 | { 36 | simd4x4f_matrix_mul(&aa[i], &bb[i], &bb[i]); 37 | } 38 | } 39 | 40 | void matrix_bench() { 41 | 42 | a = alloc_vec4x4f(NUM); 43 | b = alloc_vec4x4f(NUM); 44 | c = alloc_vec4x4f(NUM); 45 | 46 | 47 | for(size_t i = 0; i < NUM; ++i) 48 | { 49 | simd4f v = simd4f_create(i,i,i,i); 50 | simd4f vi = simd4f_create(NUM-i,NUM-i,NUM-i,NUM-i); 51 | a[i]=simd4x4f_create(v,v,v,v); 52 | b[i]=simd4x4f_create(vi,vi,vi,vi); 53 | } 54 | 55 | profile("matrix mul", matrix_func, ITER, NUM); 56 | 57 | memfree(a); 58 | memfree(b); 59 | memfree(c); 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/simd4f.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | 7 | #ifndef VECTORIAL_SIMD4F_H 8 | #define VECTORIAL_SIMD4F_H 9 | 10 | #ifndef VECTORIAL_CONFIG_H 11 | #include "vectorial/config.h" 12 | #endif 13 | 14 | 15 | #ifdef VECTORIAL_SCALAR 16 | #include "simd4f_scalar.h" 17 | #elif defined(VECTORIAL_SSE) 18 | #include "simd4f_sse.h" 19 | #elif defined(VECTORIAL_GNU) 20 | #include "simd4f_gnu.h" 21 | #elif defined(VECTORIAL_NEON) 22 | #include "simd4f_neon.h" 23 | #else 24 | #error No implementation defined 25 | #endif 26 | 27 | #include "simd4f_common.h" 28 | 29 | 30 | 31 | #ifdef __cplusplus 32 | 33 | #ifdef VECTORIAL_OSTREAM 34 | #include 35 | 36 | vectorial_inline std::ostream& operator<<(std::ostream& os, const simd4f& v) { 37 | os << "simd4f(" << simd4f_get_x(v) << ", " 38 | << simd4f_get_y(v) << ", " 39 | << simd4f_get_z(v) << ", " 40 | << simd4f_get_w(v) << ")"; 41 | return os; 42 | } 43 | #endif 44 | 45 | #endif 46 | 47 | 48 | 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/simd4x4f_gnu.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_SIMD4X4F_GNU_H 7 | #define VECTORIAL_SIMD4X4F_GNU_H 8 | 9 | 10 | 11 | vectorial_inline void simd4x4f_transpose_inplace(simd4x4f* s) { 12 | const _simd4f_union sx = { s->x }; 13 | const _simd4f_union sy = { s->y }; 14 | const _simd4f_union sz = { s->z }; 15 | const _simd4f_union sw = { s->w }; 16 | 17 | const simd4f dx = { sx.f[0], sy.f[0], sz.f[0], sw.f[0] }; 18 | const simd4f dy = { sx.f[1], sy.f[1], sz.f[1], sw.f[1] }; 19 | const simd4f dz = { sx.f[2], sy.f[2], sz.f[2], sw.f[2] }; 20 | const simd4f dw = { sx.f[3], sy.f[3], sz.f[3], sw.f[3] }; 21 | 22 | s->x = dx; 23 | s->y = dy; 24 | s->z = dz; 25 | s->w = dw; 26 | 27 | } 28 | 29 | vectorial_inline void simd4x4f_transpose(const simd4x4f *s, simd4x4f *out) { 30 | *out=*s; 31 | simd4x4f_transpose_inplace(out); 32 | } 33 | 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/simd4x4f_neon.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_SIMD4X4F_NEON_H 7 | #define VECTORIAL_SIMD4X4F_NEON_H 8 | 9 | 10 | vectorial_inline void simd4x4f_transpose_inplace(simd4x4f* s) { 11 | const _simd4f_union sx = { s->x }; 12 | const _simd4f_union sy = { s->y }; 13 | const _simd4f_union sz = { s->z }; 14 | const _simd4f_union sw = { s->w }; 15 | 16 | const simd4f dx = simd4f_create( sx.f[0], sy.f[0], sz.f[0], sw.f[0] ); 17 | const simd4f dy = simd4f_create( sx.f[1], sy.f[1], sz.f[1], sw.f[1] ); 18 | const simd4f dz = simd4f_create( sx.f[2], sy.f[2], sz.f[2], sw.f[2] ); 19 | const simd4f dw = simd4f_create( sx.f[3], sy.f[3], sz.f[3], sw.f[3] ); 20 | 21 | s->x = dx; 22 | s->y = dy; 23 | s->z = dz; 24 | s->w = dw; 25 | 26 | } 27 | 28 | vectorial_inline void simd4x4f_transpose(const simd4x4f *s, simd4x4f *out) { 29 | *out=*s; 30 | simd4x4f_transpose_inplace(out); 31 | } 32 | 33 | 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/simd4x4f_scalar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_SIMD4X4F_SCALAR_H 7 | #define VECTORIAL_SIMD4X4F_SCALAR_H 8 | 9 | 10 | vectorial_inline void simd4x4f_transpose_inplace(simd4x4f *s) { 11 | simd4x4f d=*s; 12 | s->x.x = d.x.x; 13 | s->x.y = d.y.x; 14 | s->x.z = d.z.x; 15 | s->x.w = d.w.x; 16 | 17 | s->y.x = d.x.y; 18 | s->y.y = d.y.y; 19 | s->y.z = d.z.y; 20 | s->y.w = d.w.y; 21 | 22 | s->z.x = d.x.z; 23 | s->z.y = d.y.z; 24 | s->z.z = d.z.z; 25 | s->z.w = d.w.z; 26 | 27 | s->w.x = d.x.w; 28 | s->w.y = d.y.w; 29 | s->w.z = d.z.w; 30 | s->w.w = d.w.w; 31 | 32 | } 33 | 34 | vectorial_inline void simd4x4f_transpose(const simd4x4f *s, simd4x4f *out) { 35 | *out=*s; 36 | simd4x4f_transpose_inplace(out); 37 | } 38 | 39 | 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/simd4x4f_sse.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_SIMD4X4F_SSE_H 7 | #define VECTORIAL_SIMD4X4F_SSE_H 8 | 9 | 10 | 11 | vectorial_inline void simd4x4f_transpose_inplace(simd4x4f *s) { 12 | _MM_TRANSPOSE4_PS(s->x, s->y, s->z, s->w); 13 | } 14 | 15 | vectorial_inline void simd4x4f_transpose(const simd4x4f *s, simd4x4f *out) { 16 | *out=*s; 17 | simd4x4f_transpose_inplace(out); 18 | } 19 | 20 | 21 | 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/vec_convert.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_VEC_CONVERT_H 7 | #define VECTORIAL_VEC_CONVERT_H 8 | 9 | 10 | namespace vectorial { 11 | 12 | inline vec3f vec4f::xyz() const { return vec3f(value); } 13 | inline vec2f vec4f::xy() const { return vec2f(value); } 14 | 15 | inline vec4f vec3f::xyz0() const { return vec4f(simd4f_zero_w(value)); } 16 | inline vec4f vec3f::xyz1() const { return xyz0() + vec4f(0.0f, 0.0f, 0.0f, 1.0f); } 17 | inline vec4f vec3f::xyzw(float w) const { return xyz0() + vec4f(0.0f, 0.0f, 0.0f, w); } 18 | inline vec3f vec3f::xyz() const { return vec3f(value); } 19 | inline vec3f vec3f::xy0() const { return vec3f(value) * vec3f(1.0f, 1.0f, 0.0f); } 20 | inline vec2f vec3f::xy() const { return vec2f(value); } 21 | 22 | inline vec4f vec2f::xy00() const { return vec4f(simd4f_zero_zw(value)); } 23 | inline vec4f vec2f::xy01() const { return xy00() + vec4f(0.0f, 0.0f, 0.0f, 1.0f); } 24 | inline vec4f vec2f::xyzw(float z, float w) const { return xy00() + vec4f(0.0f, 0.0f, z, w); } 25 | inline vec3f vec2f::xy0() const { return vec3f(simd4f_zero_zw(value)); } 26 | inline vec2f vec2f::xy() const { return vec2f(value); } 27 | 28 | } 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /deps/vectorial/include/vectorial/vectorial.h: -------------------------------------------------------------------------------- 1 | /* 2 | Vectorial 3 | Copyright (c) 2010 Mikko Lehtonen 4 | Licensed under the terms of the two-clause BSD License (see LICENSE) 5 | */ 6 | #ifndef VECTORIAL_VECTORIAL_H 7 | #define VECTORIAL_VECTORIAL_H 8 | 9 | 10 | #include "vectorial/vec2f.h" 11 | #include "vectorial/vec3f.h" 12 | #include "vectorial/vec4f.h" 13 | 14 | #include "vectorial/vec_convert.h" 15 | 16 | #include "vectorial/mat4f.h" 17 | 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /deps/vectorial/tools/update_spec.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | SPECHELPER = File.join(File.dirname(__FILE__), "spechelper.m") 4 | def octave_eval(str, type) 5 | puts "evalling (#{type}): #{str}" 6 | ret = `octave --quiet --eval 'source("#{SPECHELPER}"); spec_formatter(#{str}, "#{type}")'` 7 | puts " = #{ret.strip}" 8 | ret 9 | end 10 | 11 | 12 | ARGV.each do |fn| 13 | str = File.read(fn) 14 | str.gsub!(%r{(// octave (\w+):)(.*?)\n(.*?\n)}) do |match| 15 | e = octave_eval($3, $2) 16 | 17 | [$1, $3, "\n", e, "\n"].join 18 | end 19 | File.open(fn, "w") do |f| 20 | f.write str 21 | end 22 | 23 | end 24 | 25 | -------------------------------------------------------------------------------- /deps/win32/freeglut/freeglut.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/freeglut/freeglut.dll -------------------------------------------------------------------------------- /deps/win32/freeglut/include/GL/freeglut.h: -------------------------------------------------------------------------------- 1 | #ifndef __FREEGLUT_H__ 2 | #define __FREEGLUT_H__ 3 | 4 | /* 5 | * freeglut.h 6 | * 7 | * The freeglut library include file 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 10 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 12 | * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 13 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 14 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 15 | */ 16 | 17 | #include "freeglut_std.h" 18 | #include "freeglut_ext.h" 19 | 20 | /*** END OF FILE ***/ 21 | 22 | #endif /* __FREEGLUT_H__ */ 23 | -------------------------------------------------------------------------------- /deps/win32/freeglut/include/GL/glut.h: -------------------------------------------------------------------------------- 1 | #ifndef __GLUT_H__ 2 | #define __GLUT_H__ 3 | 4 | /* 5 | * glut.h 6 | * 7 | * The freeglut library include file 8 | * 9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 10 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 11 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 12 | * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 13 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 14 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 15 | */ 16 | 17 | #include "freeglut_std.h" 18 | 19 | /*** END OF FILE ***/ 20 | 21 | #endif /* __GLUT_H__ */ 22 | -------------------------------------------------------------------------------- /deps/win32/freeglut/lib/libfreeglut.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/freeglut/lib/libfreeglut.a -------------------------------------------------------------------------------- /deps/win32/freeglut/lib/libfreeglut_static.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/freeglut/lib/libfreeglut_static.a -------------------------------------------------------------------------------- /deps/win32/glut-msvc/glut32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/glut-msvc/glut32.dll -------------------------------------------------------------------------------- /deps/win32/glut-msvc/glut32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/glut-msvc/glut32.lib -------------------------------------------------------------------------------- /deps/win32/glut-msvc/glut64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/glut-msvc/glut64.dll -------------------------------------------------------------------------------- /deps/win32/glut-msvc/glut64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/glut-msvc/glut64.lib -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | 2 | Library, Test Programs: 3 | 4 | Stephan Meyer, 5 | Johannes Erdfelt, 6 | Thomas Sailer, 7 | 8 | Drivers, Installer: 9 | 10 | Stephan Meyer, 11 | Travis Robinson, 12 | 13 | Testing, Technical support: 14 | 15 | Xiaofan Chen, 16 | 17 | -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This is libusb-win32 (http://libusb-win32.sourceforge.net) version 1.2.2.0. 3 | Libusb-win32 is a library that allows userspace application to access USB 4 | devices on Windows operation systems (Win2k, WinXP, Vista, Win7). 5 | It is derived from and fully API compatible to libusb available at 6 | http://libusb.sourceforge.net. 7 | 8 | For more information visit the project's web site at: 9 | 10 | http://libusb-win32.sourceforge.net 11 | http://sourceforge.net/projects/libusb-win32 12 | 13 | -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/install-filter-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/install-filter-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/install-filter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/install-filter.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/libusb0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/libusb0.dll -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/libusb0.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/libusb0.sys -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/testlibusb-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/testlibusb-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/amd64/testlibusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/amd64/testlibusb.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/install-filter-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/install-filter-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/install-filter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/install-filter.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/libusb0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/libusb0.dll -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/libusb0.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/libusb0.sys -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/testlibusb-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/testlibusb-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/ia64/testlibusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/ia64/testlibusb.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/inf-wizard.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/inf-wizard.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/libusb-win32-bin-README.txt: -------------------------------------------------------------------------------- 1 | libusb-win32-bin v1.2.2.0 (10/02/2010) - [Package Information] 2 | 3 | ALL ARCHITECTURES: 4 | x86\libusb0_x86.dll: x86 32-bit library. Must be renamed to libusb0.dll 5 | On 64 bit, Installs to Windows\syswow64\libusb0.dll. 6 | On 32 bit, Installs to Windows\system32\libusb0.dll. 7 | 8 | x86\inf-wizard.exe: inf-wizard application with embedded libusb-win32 9 | v1.2.2.0 binaries. 10 | 11 | X86 ONLY ARCHITECTURES: 12 | x86\libusb0.sys: x86 32-bit driver. 13 | Installs to Windows\system32\drivers\libusb0.sys 14 | 15 | AMD64-INTEL64 ONLY ARCHITECTURES: 16 | amd64\libusb0.sys: x64 64-bit driver. 17 | Installs to Windows\system32\drivers\libusb0.sys 18 | 19 | amd64\libusb0.dll: x64 64-bit library. 20 | Installs to Windows\system32\libusb0.dll 21 | 22 | IA64 ONLY ARCHITECTURES: 23 | ia64\libusb0.sys: IA64 64-bit driver. 24 | Installs to Windows\system32\drivers\libusb0.sys 25 | 26 | ia64\libusb0.dll: IA64 64-bit library. 27 | Installs to Windows\system32\libusb0.dll 28 | -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/install-filter-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/install-filter-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/install-filter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/install-filter.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/libusb0.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/libusb0.sys -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/libusb0_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/libusb0_x86.dll -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/testlibusb-win.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/testlibusb-win.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/bin/x86/testlibusb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/bin/x86/testlibusb.exe -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/lib/bcc/libusb.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/lib/bcc/libusb.lib -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/lib/gcc/libusb.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/lib/gcc/libusb.a -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/lib/msvc/libusb.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/lib/msvc/libusb.lib -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/lib/msvc_i64/libusb.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/lib/msvc_i64/libusb.lib -------------------------------------------------------------------------------- /deps/win32/libusb-1.0/lib/msvc_x64/libusb.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/libusb-1.0/lib/msvc_x64/libusb.lib -------------------------------------------------------------------------------- /deps/win32/pthreads/MAINTAINERS: -------------------------------------------------------------------------------- 1 | CVS Repository maintainers 2 | 3 | Ross Johnson rpj@ise.canberra.edu.au 4 | Ben Elliston bje@cygnus.com 5 | -------------------------------------------------------------------------------- /deps/win32/pthreads/PROGRESS: -------------------------------------------------------------------------------- 1 | Please see the ANNOUNCE file "Level of Standards Conformance" 2 | or the web page: 3 | 4 | http://sources.redhat.com/pthreads-win32/conformance.html 5 | -------------------------------------------------------------------------------- /deps/win32/pthreads/README.WinCE: -------------------------------------------------------------------------------- 1 | WinCE port 2 | ---------- 3 | (See the file WinCE-PORT for a detailed explanation.) 4 | 5 | Make sure you define "WINCE" amongst your compiler flags (eg. -DWINCE). 6 | The config.h file will define all the necessary defines for you. 7 | -------------------------------------------------------------------------------- /deps/win32/pthreads/TODO: -------------------------------------------------------------------------------- 1 | Things that aren't done yet 2 | --------------------------- 3 | 4 | 1. Implement PTHREAD_PROCESS_SHARED for semaphores, mutexes, 5 | condition variables, read/write locks, barriers. 6 | 7 | 8 | -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadGC2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadGC2.dll -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadGCE2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadGCE2.dll -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVC2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVC2.dll -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVC2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVC2.lib -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVCE2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVCE2.dll -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVCE2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVCE2.lib -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVSE2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVSE2.dll -------------------------------------------------------------------------------- /deps/win32/pthreads/lib/pthreadVSE2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rgbdemo/nestk/235d2b8661f58d0cd0399898d0f476adc7b79571/deps/win32/pthreads/lib/pthreadVSE2.lib -------------------------------------------------------------------------------- /misc/add_header.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | file=$1 4 | 5 | cp "$file" "$file".bak 6 | cat ../templates/header.tpl "$file".bak > "$file" 7 | -------------------------------------------------------------------------------- /misc/git_config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = false 5 | logallrefupdates = true 6 | ignorecase = true 7 | [svn-remote "uc3m"] 8 | url = https://handle2.uc3m.es/nestk 9 | fetch = trunk:refs/remotes/uc3m/trunk 10 | branches = branches/*:refs/remotes/uc3m/* 11 | tags = tags/*:refs/remotes/tags/uc3m/* 12 | [svn-remote "manctl"] 13 | url = svn+ssh://dev.manctl.com/src/modules/libs/trunk 14 | fetch = nestk:refs/remotes/manctl/trunk 15 | branches = branches/*:refs/remotes/manctl/* 16 | tags = tags/*:refs/remotes/tags/manctl/* 17 | [remote "github"] 18 | fetch = +refs/heads/*:refs/remotes/github/* 19 | url = git@github.com:nburrus/nestk.git 20 | push = github-unstable:unstable 21 | [branch "github"] 22 | remote = github 23 | merge = refs/heads/master 24 | [branch "github-unstable"] 25 | remote = github 26 | merge = refs/heads/unstable 27 | -------------------------------------------------------------------------------- /misc/remove_header.sh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | perl -0777 -pi.bak -e '$_ =~ s{^/\*.*?\*/.*?#ifndef}{#ifndef}s' *.h || echo "No h" 4 | perl -0777 -pi.bak -e '$_ =~ s{^/\*.*?\*/.}{}s' *.cpp || echo "No cpp" 5 | perl -0777 -pi.bak -e '$_ =~ s{^/\*.*?\*/.}{}s' *.hpp || echo "No hpp." 6 | -------------------------------------------------------------------------------- /ntk/aruco/aruco.h: -------------------------------------------------------------------------------- 1 | /** 2 | * ArUco: Augmented Reality library from the University of Cordoba 3 | * 4 | * ArUco is a minimal C++ library for detection of Augmented Reality 5 | * markers based on OpenCv exclusively. 6 | * 7 | * It is an educational project to show student how to detect augmented 8 | * reality markers and it is provided under BSD license. 9 | * 10 | * This software is released under BSD license, see 11 | * http://www.uco.es/investiga/grupos/ava/node/26 for details. 12 | */ 13 | 14 | #include "markerdetector.h" 15 | #include "boarddetector.h" 16 | #include "cvdrawingutils.h" 17 | -------------------------------------------------------------------------------- /ntk/aruco/cvdrawingutils.h: -------------------------------------------------------------------------------- 1 | /** 2 | * ArUco: Augmented Reality library from the University of Cordoba 3 | * 4 | * ArUco is a minimal C++ library for detection of Augmented Reality 5 | * markers based on OpenCv exclusively. 6 | * 7 | * It is an educational project to show student how to detect augmented 8 | * reality markers and it is provided under BSD license. 9 | * 10 | * This software is released under BSD license, see 11 | * http://www.uco.es/investiga/grupos/ava/node/26 for details. 12 | */ 13 | 14 | #ifndef _ArUco_DrawUtils_H_ 15 | #define _ArUco_DrawUtils_H_ 16 | #include "aruco.h" 17 | 18 | namespace aruco 19 | { 20 | /**\brief A set of functions to draw in opencv images 21 | */ 22 | class CvDrawingUtils 23 | { 24 | public: 25 | 26 | static void draw3dAxis(cv::Mat &Image,Marker &m,CameraParameters &CP); 27 | 28 | static void draw3dCube(cv::Mat &Image,Marker &m,CameraParameters &CP); 29 | 30 | static void draw3dAxis(cv::Mat &Image,Board &m,CameraParameters &CP); 31 | 32 | static void draw3dCube(cv::Mat &Image,Board &m,CameraParameters &CP); 33 | 34 | }; 35 | } 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /ntk/detection/object/object_detector.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #include "object_detector.h" 21 | #include "object_database.h" 22 | #include "visual_object.h" 23 | 24 | using namespace ntk; 25 | using namespace cv; 26 | 27 | namespace ntk 28 | { 29 | 30 | ObjectDetector :: ObjectDetector() : m_is_running(false), m_no_multiple_instances(true) 31 | {} 32 | 33 | ObjectDetector :: ~ObjectDetector() 34 | {} 35 | 36 | void ObjectDetector :: setAnalyzedImage(const RGBDImage& image) 37 | { 38 | image.copyTo(m_data.image); 39 | } 40 | 41 | } // end of avs 42 | -------------------------------------------------------------------------------- /ntk/geometry/incremental_pose_estimator.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #include "incremental_pose_estimator.h" 22 | 23 | bool ntk::IncrementalPoseEstimatorFromFile::estimateCurrentPose() 24 | { 25 | ntk_ensure(m_new_image.hasDirectory(), "Only works in fake mode!"); 26 | m_current_pose.parseAvsFile((m_new_image.directory() + "/relative_pose.avs").c_str()); 27 | return true; 28 | } 29 | 30 | bool ntk::IncrementalPoseEstimatorFromDelta::estimateCurrentPose() 31 | { 32 | m_current_pose.applyTransformAfter(m_delta_pose); 33 | return true; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /ntk/geometry/pose_3d.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #ifndef NESTK_GEOMETRY_POSE_3D_HPP 21 | # define NESTK_GEOMETRY_POSE_3D_HPP 22 | 23 | # include 24 | # include 25 | 26 | namespace ntk 27 | { 28 | 29 | class EigenIsometry3dHolder 30 | { 31 | public: 32 | EigenIsometry3dHolder() 33 | : camera_transform (0) 34 | , inv_camera_transform (0) 35 | , projective_transform (0) 36 | {} 37 | 38 | Eigen::Isometry3d* camera_transform; 39 | Eigen::Isometry3d* inv_camera_transform; 40 | Eigen::Projective3d* projective_transform; 41 | }; 42 | 43 | } // ntk 44 | 45 | #endif // NESTK_GEOMETRY_POSE_3D_HPP 46 | -------------------------------------------------------------------------------- /ntk/geometry/relative_pose_estimator_from_features.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #include "relative_pose_estimator_from_features.h" 21 | 22 | #include 23 | 24 | using cv::Vec3f; 25 | using cv::Point3f; 26 | 27 | namespace ntk 28 | { 29 | 30 | bool RelativePoseEstimatorFromFeatures :: 31 | estimateNewPose() 32 | { 33 | // FIXME: implement using PCL. 34 | return false; 35 | } 36 | 37 | } // ntk 38 | -------------------------------------------------------------------------------- /ntk/geometry/relative_pose_estimator_icp.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #ifndef NESTK_USE_PCL 22 | # error NESTK_USE_PCL should be defined! 23 | # define NESTK_USE_PCL 24 | #endif 25 | 26 | #include "relative_pose_estimator_icp.hpp" 27 | 28 | #include 29 | 30 | template class ntk::RelativePoseEstimatorICP; 31 | template class ntk::RelativePoseEstimatorICP; 32 | template class ntk::RelativePoseEstimatorICPWithNormals; 33 | // template class ntk::RelativePoseEstimatorGICP; 34 | -------------------------------------------------------------------------------- /ntk/geometry/relative_pose_estimator_rgbd_icp.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #include "relative_pose_estimator_rgbd_icp.h" 21 | #include "relative_pose_estimator_rgbd_icp.hpp" 22 | 23 | #include 24 | 25 | namespace ntk 26 | { 27 | 28 | template class RelativePoseEstimatorRGBDICP; 29 | 30 | } // ntk 31 | -------------------------------------------------------------------------------- /ntk/geometry/transformation_estimation_rgbd.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #include "transformation_estimation_rgbd.h" 22 | #include "transformation_estimation_rgbd.hpp" 23 | 24 | #ifdef HAVE_PCL_GREATER_THAN_1_6_0 25 | 26 | namespace ntk 27 | { 28 | 29 | // template 30 | // class TransformationEstimationRGBD; 31 | 32 | template 33 | class TransformationEstimationRGBD; 34 | 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /ntk/gesture/ni_utils.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #ifndef NTK_GESTURE_NI_UTILS_H 21 | #define NTK_GESTURE_NI_UTILS_H 22 | 23 | inline cv::Point3f toPoint3f(const XnPoint3D& p) 24 | { 25 | return cv::Point3f(p.X, p.Y, p.Z); 26 | } 27 | 28 | inline XnPoint3D toXnPoint3D(const cv::Point3f& p) 29 | { 30 | XnPoint3D xp; 31 | xp.X = p.x; 32 | xp.Y = p.y; 33 | xp.Z = p.z; 34 | return xp; 35 | } 36 | 37 | #endif // NTK_GESTURE_NI_UTILS_H 38 | -------------------------------------------------------------------------------- /ntk/gui/image_window.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ImageWindow 4 | 5 | 6 | 7 | 0 8 | 0 9 | 800 10 | 600 11 | 12 | 13 | 14 | MainWindow 15 | 16 | 17 | 18 | 19 | 20 | 0 21 | 0 22 | 800 23 | 26 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | ntk::ImageWidget 32 | QWidget 33 |
ntk/gui/image_widget.h
34 | 1 35 |
36 |
37 | 38 | 39 |
40 | -------------------------------------------------------------------------------- /ntk/gui/screen_grabber.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #include "screen_grabber.h" 22 | 23 | namespace ntk 24 | { 25 | 26 | ScreenGrabber :: ScreenGrabber(const std::string& dir_name) 27 | : m_frame_count(0), m_dir(dir_name.c_str()) 28 | { 29 | m_dir.mkpath("."); 30 | } 31 | 32 | void ScreenGrabber :: reset() 33 | { 34 | m_frame_count = 0; 35 | } 36 | 37 | void ScreenGrabber :: saveFrame(const QPixmap& pixmap) 38 | { 39 | pixmap.save(m_dir.absoluteFilePath(QString("frame%1.png").arg(m_frame_count, 4, 10, QChar('0')))); 40 | ++m_frame_count; 41 | } 42 | 43 | } // ntk 44 | -------------------------------------------------------------------------------- /ntk/gui/screen_grabber.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #ifndef NTK_GUI_SCREENGRABBER_H 21 | #define NTK_GUI_SCREENGRABBER_H 22 | 23 | #include 24 | 25 | #include 26 | #include 27 | 28 | namespace ntk 29 | { 30 | 31 | class ScreenGrabber 32 | { 33 | public: 34 | ScreenGrabber(const std::string& dir_name); 35 | 36 | public: 37 | void reset(); 38 | void saveFrame(const QPixmap& pixmap); 39 | 40 | private: 41 | int m_frame_count; 42 | QDir m_dir; 43 | }; 44 | 45 | } // ntk 46 | 47 | #endif // NTK_GUI_SCREENGRABBER_H 48 | -------------------------------------------------------------------------------- /ntk/hub/outlet-impl.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #include "outlet-impl.h" 21 | 22 | namespace ntk { namespace hub { 23 | 24 | } } 25 | -------------------------------------------------------------------------------- /ntk/hub/update.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #include "update.h" 21 | 22 | namespace ntk { namespace hub { 23 | 24 | Hub::Update::Update (QString name) 25 | : name(name) 26 | { 27 | 28 | } 29 | 30 | Hub::Update::~Update () 31 | { 32 | 33 | } 34 | 35 | } } 36 | -------------------------------------------------------------------------------- /ntk/hub/updates.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #include "updates.h" 21 | -------------------------------------------------------------------------------- /ntk/hub/updates.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #ifndef NTK_HUB_UPDATES_H 21 | # define NTK_HUB_UPDATES_H 22 | 23 | #include "updates/real-update.h" 24 | #include "updates/string-update.h" 25 | #include "updates/strings-update.h" 26 | #include "updates/image-update.h" 27 | #include "updates/mesh-update.h" 28 | 29 | #endif // !NTK_HUB_UPDATES_H 30 | -------------------------------------------------------------------------------- /ntk/hub/updates/real-update.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #ifndef NTK_HUB_UPDATES_REAL_UPDATE_H 21 | # define NTK_HUB_UPDATES_REAL_UPDATE_H 22 | 23 | #include "hub/update.h" 24 | #include 25 | 26 | namespace ntk { namespace hub { 27 | 28 | class Hub::SetRealUpdate : public Hub::Update 29 | { 30 | public: 31 | SetRealUpdate (String name, Real progress); 32 | 33 | public: 34 | virtual void updateHub (Hub& hub); 35 | virtual void updateOutlet (Outlet& outlet); 36 | 37 | public: 38 | Real value; 39 | }; 40 | 41 | } } 42 | 43 | #endif // !NTK_HUB_UPDATES_REAL_UPDATE_H 44 | 45 | -------------------------------------------------------------------------------- /ntk/hub/updates/string-update.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #ifndef NTK_HUB_UPDATES_STRING_UPDATE_H 21 | # define NTK_HUB_UPDATES_STRING_UPDATE_H 22 | 23 | #include "hub/update.h" 24 | #include 25 | 26 | namespace ntk { namespace hub { 27 | 28 | class Hub::SetStringUpdate : public Hub::Update 29 | { 30 | public: 31 | SetStringUpdate (String name, String newValue); 32 | 33 | public: 34 | virtual void updateHub (Hub& hub); 35 | virtual void updateOutlet (Outlet& outlet); 36 | 37 | public: 38 | QString newValue; 39 | }; 40 | 41 | } } 42 | 43 | #endif // !NTK_HUB_UPDATES_STRING_UPDATE_H 44 | -------------------------------------------------------------------------------- /ntk/image/color_model.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #ifndef NTK_COLORMODEL_H_ 21 | # define NTK_COLORMODEL_H_ 22 | 23 | # include 24 | 25 | // TODO: use mixture of gaussians? 26 | class HSColorModel 27 | { 28 | public: 29 | HSColorModel() {} 30 | ~HSColorModel() { } 31 | 32 | public: 33 | void show(cv::Mat3b& display) const; 34 | void build(const cv::Mat3b& model_image, const cv::Mat1b& mask); 35 | double likelihood(int h_value, int s_value) const; 36 | void backProject(const cv::Mat3b& bgr_image, cv::Mat1f& likelihood_image) const; 37 | 38 | private: 39 | cv::Mat_ m_histogram; 40 | }; 41 | 42 | #endif // ndef NTK_COLORMODEL_H_ 43 | -------------------------------------------------------------------------------- /ntk/mesh/meshfwd.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #include "meshfwd.h" 21 | 22 | namespace ntk { 23 | 24 | void dummy (const Mesh&, MeshPtr, MeshConstPtr); 25 | 26 | } 27 | 28 | #include "mesh.h" 29 | 30 | namespace ntk { 31 | 32 | void dummy (const Mesh&, MeshPtr, MeshConstPtr) {} 33 | 34 | } 35 | -------------------------------------------------------------------------------- /ntk/mesh/meshfwd.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Tisserand 18 | */ 19 | 20 | #ifndef NTK_MESH_MESHFWD_H 21 | # define NTK_MESH_MESHFWD_H 22 | 23 | namespace ntk { 24 | template < typename Instance > class Ptr; 25 | class Mesh; 26 | typedef ntk::Ptr< Mesh> MeshPtr; 27 | typedef ntk::Ptr MeshConstPtr; 28 | } 29 | 30 | #endif // !NTK_MESH_MESHFWD_H 31 | -------------------------------------------------------------------------------- /ntk/numeric/cost_function.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #include "cost_function.h" 22 | 23 | namespace ntk 24 | { 25 | 26 | double CostFunction :: outputNorm(const std::vector& input) const 27 | { 28 | std::vector output(m_output_dim); 29 | evaluate(input, output); 30 | double err = 0; 31 | foreach_idx(i, output) 32 | { 33 | err += output[i]*output[i]; 34 | } 35 | err = sqrt(err); 36 | return err; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /ntk/utils/progressive.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | 21 | #include "progressive.h" 22 | #include "debug.h" 23 | 24 | void ntk::ProgressiveImpl::progress(const char* message, float percent, const char* id) const 25 | { 26 | emit progressChanged(QString(message), percent, id); 27 | } 28 | -------------------------------------------------------------------------------- /ntk/utils/sse.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Nicolas Burrus 18 | */ 19 | 20 | #include "sse.h" 21 | 22 | #include 23 | 24 | namespace ntk 25 | { 26 | 27 | VectorialProjector::VectorialProjector(const Pose3D &pose) 28 | { 29 | sse_proj = toSSE(pose.cvProjectionMatrix()); 30 | sse_unproj = toSSE(pose.cvInvProjectionMatrix()); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /samples/example_embedded/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | PROJECT(example_internal) 4 | 5 | SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR} CACHE STATIC "Module path") 6 | SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 7 | SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) 8 | 9 | SET(NESTK_USE_PCL 1) 10 | SET(NESTK_USE_OPENNI 1) 11 | ADD_SUBDIRECTORY(nestk) 12 | INCLUDE(${NESTK_EMBEDDED_USE_FILE}) 13 | 14 | ADD_EXECUTABLE(main main.cpp) 15 | TARGET_LINK_LIBRARIES(main nestk) 16 | -------------------------------------------------------------------------------- /samples/example_embedded/README: -------------------------------------------------------------------------------- 1 | Example of using nestk as an embedded library, in a nestk subfolder. 2 | 3 | Put nestk as a subdirectory (e.g. using a symlink to the parent directory) 4 | and you should be able to compile this example, e.g.: 5 | 6 | ln -s ../../../nestk . 7 | mkdir build 8 | cmake .. 9 | make 10 | -------------------------------------------------------------------------------- /samples/example_external/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | PROJECT(example_external) 4 | 5 | SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR} CACHE STATIC "Module path") 6 | 7 | FIND_PACKAGE(Nestk REQUIRED) 8 | INCLUDE(${NESTK_USE_FILE}) 9 | 10 | ADD_EXECUTABLE(main main.cpp) 11 | TARGET_LINK_LIBRARIES(main ${NESTK_LIBRARIES}) 12 | -------------------------------------------------------------------------------- /samples/example_external/README: -------------------------------------------------------------------------------- 1 | Example of using nestk as an external library, installed on the system. 2 | -------------------------------------------------------------------------------- /templates/header.tpl: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2013 ManCTL SARL 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program. If not, see . 16 | * 17 | * Author: Unknown 18 | */ 19 | 20 | -------------------------------------------------------------------------------- /tests/sobel.cl: -------------------------------------------------------------------------------- 1 | const sampler_t sampler = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST; 2 | 3 | __kernel void sobel_rgb(read_only image2d_t src, write_only image2d_t dst) 4 | { 5 | int x = (int)get_global_id(0); int y = (int)get_global_id(1); 6 | if (x >= get_image_width(src) || y >= get_image_height(src)) return; 7 | 8 | float4 p00 = read_imagef(src, sampler, (int2)(x - 1, y-1)); 9 | float4 p10 = read_imagef(src, sampler, (int2)(x, y-1)); 10 | float4 p20 = read_imagef(src, sampler, (int2)(x + 1, y-1)); 11 | 12 | float4 p01 = read_imagef(src, sampler, (int2)(x - 1, y)); 13 | float4 p21 = read_imagef(src, sampler, (int2)(x + 1, y)); 14 | 15 | float4 p02 = read_imagef(src, sampler, (int2)(x - 1, y+1)); 16 | float4 p12 = read_imagef(src, sampler, (int2)(x, y+1)); 17 | 18 | float4 p22 = read_imagef(src, sampler, (int2)(x + 1, y + 1)); 19 | float3 gx = -p00.xyz + p20.xyz + 2.0f * (p21.xyz - p01.xyz) - p02.xyz + p22.xyz; 20 | float3 gy = -p00.xyz - p20.xyz + 2.0f * (p12.xyz - p10.xyz) + p02.xyz + p22.xyz; 21 | float3 norm = gx * gx + gy * gy; 22 | float3 g = native_sqrt(norm.x+norm.y+norm.z); 23 | write_imagef(dst, (int2)(x, y), (float4)(g.x, g.y, g.z, 1.0f)); 24 | } 25 | -------------------------------------------------------------------------------- /tests/test-algorithm.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | struct Predicate 9 | { 10 | bool operator() (int a, int b) const 11 | { return 3*a == b || b*3==a; } 12 | }; 13 | 14 | bool test_keep_maximal() 15 | { 16 | std::set s; 17 | s.insert(2); 18 | s.insert(8); 19 | s.insert(4); 20 | s.insert(7); 21 | s.insert(3); 22 | s.insert(9); 23 | s.insert(10); 24 | s.insert(12); 25 | 26 | std::set output; 27 | Predicate pred; 28 | ntk::keep_maximal_among_sorted_objects(std::inserter(output, output.begin()), 29 | s.begin(), s.end(), pred); 30 | 31 | if (output.size() != s.size() - 2) return false; 32 | if (output.find(3) != output.end()) return false; 33 | if (output.find(4) != output.end()) return false; 34 | return true; 35 | } 36 | 37 | int main() 38 | { 39 | bool ok = true; 40 | ok &= test_keep_maximal(); 41 | if (!ok) return 1; 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /tests/test-hscolor.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | using namespace ntk; 8 | using namespace cv; 9 | 10 | int main(int argc, char** argv) 11 | { 12 | if (argc != 3) 13 | { 14 | std::cerr << "Usage: test-hscolor model_image.png new_image.png" << std::endl; 15 | exit(1); 16 | } 17 | 18 | const char* ref_image_name = argv[1]; 19 | const char* new_image_name = argv[2]; 20 | 21 | cv::Mat3b ref_image = imread(ref_image_name); 22 | cv::Mat3b new_image = imread(new_image_name); 23 | 24 | HSColorModel model; 25 | model.build(ref_image, Mat1b() /* empty mask, use all image */); 26 | cv::Mat3b display_img; 27 | model.show(display_img); 28 | imshow("Histogram", display_img); 29 | cv::waitKey(0); 30 | 31 | cv::Mat1f likelihood_image; 32 | model.backProject(new_image, likelihood_image); 33 | cv::Mat1b output; 34 | imwrite_normalized("likehood.png", likelihood_image); 35 | threshold(likelihood_image, output, 0.2, 255, cv::THRESH_BINARY); 36 | imwrite("output.png", output); 37 | } 38 | -------------------------------------------------------------------------------- /tests/test-opencl-sobel.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace cv; 5 | 6 | int main() 7 | { 8 | cv::Mat3f im = imread("test.png"); 9 | ntk::CL cl; 10 | cl.setup(); 11 | cl::Kernel kernel = cl.loadKernel("sobel.cl", "sobel_rgb"); 12 | 13 | try { 14 | 15 | cl::ImageFormat format (CL_RGBA, CL_UNORM_INT8); 16 | cl::Image2D image_in (cl.context, 17 | CL_MEM_READ_ONLY, 18 | format, 19 | im.cols, 20 | im.rows); 21 | cl::Image2D image_out (cl.context, 22 | CL_MEM_WRITE_ONLY, 23 | format, 24 | im.cols, 25 | im.rows); 26 | 27 | kernel.setArg(0, image_in); 28 | kernel.setArg(1, image_out); 29 | 30 | cl::size_t<3> origin; origin[0] = origin[1] = origin[2] = 0; 31 | cl::size_t<3> region; region[0] = im.cols; region[1] = im.rows; region[2] = 1; 32 | int err = cl.queue.enqueueReadImage(image_in, CL_TRUE, origin, region, 0, 0, im.ptr()); 33 | printf("cl::enqueueReadImage: %s\n", ntk::oclErrorString(err)); 34 | } 35 | catch (cl::Error er) 36 | { 37 | printf("ERROR: %s(%s)\n", er.what(), ntk::oclErrorString(er.err())); 38 | } 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /tests/test-opencv-grabber.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | using namespace ntk; 6 | using namespace cv; 7 | 8 | int main() 9 | { 10 | // Create a grabber with the specified image size. 11 | OpencvGrabber grabber(cv::Size(640, 480)); 12 | 13 | // Connect with the camera, opencv id is 0 14 | grabber.connectToDevice(0 /* camera id */); 15 | 16 | // Start the grabbing thread 17 | grabber.start(); 18 | 19 | // New opencv window 20 | namedWindow("color"); 21 | RGBDProcessor processor; 22 | RGBDImage current_frame; 23 | 24 | while (true) 25 | { 26 | // Wait for the grabber to have a new image 27 | grabber.waitForNextFrame(); 28 | 29 | // Get the new image 30 | grabber.copyImageTo(current_frame); 31 | 32 | // Process the raw data 33 | processor.processImage(current_frame); 34 | 35 | // Show the framerate 36 | int fps = grabber.frameRate(); 37 | cv::putText(current_frame.rgbRef(), 38 | cv::format("%d fps", fps), 39 | Point(10,20), 0, 0.5, Scalar(255,0,0,255)); 40 | 41 | // Display the image 42 | imshow("color", current_frame.rgb()); 43 | cv::waitKey(10); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /tests/test-serialization.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | struct Foo 12 | { 13 | int a, b; 14 | }; 15 | 16 | template 17 | StreamType & operator<< (StreamType& stream, const Foo& f) 18 | { 19 | stream << f.a << ntk::sep() << f.b; 20 | return stream; 21 | } 22 | 23 | template 24 | StreamType & operator>> (StreamType& stream, Foo& f) 25 | { 26 | stream >> f.a >> f.b; 27 | return stream; 28 | } 29 | 30 | QDebug operator << (QDebug stream, const Foo& f) 31 | { 32 | stream << f.a << f.b; 33 | return stream; 34 | } 35 | 36 | int main() 37 | { 38 | Foo f; f.a = 42; f.b = 51; 39 | QString s; 40 | 41 | { 42 | QTextStream textstream(&s); 43 | textstream << f; 44 | Foo g; 45 | textstream >> g; 46 | ntk_assert(g.a == 42 && g.b == 51, "Bad textstream."); 47 | qDebug() << g; 48 | } 49 | 50 | QBuffer buffer; buffer.open(QIODevice::ReadWrite); 51 | { 52 | QDataStream datastream(&buffer); 53 | datastream << f; 54 | } 55 | qDebug() << buffer.data(); 56 | buffer.seek(0); 57 | 58 | { 59 | QDataStream datastream(&buffer); 60 | Foo g; 61 | datastream >> g; 62 | ntk_assert(g.a == 42 && g.b == 51, "Bad datastream."); 63 | qDebug() << g; 64 | } 65 | 66 | return 0; 67 | } 68 | -------------------------------------------------------------------------------- /tests/test-siftgpu-server.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | using namespace cv; 6 | using namespace ntk; 7 | 8 | int main(int argc, char** argv) 9 | { 10 | ntk::ntk_debug_level = 1; 11 | 12 | GPUSiftServer server; 13 | server.run(); 14 | 15 | GPUSiftClient client; 16 | 17 | for (int i = 1; i < argc; ++i) 18 | { 19 | cv::Mat1b img = imread(argv[i], 0); 20 | ntk_ensure(img.data, "Could not read image"); 21 | std::vector keypoints; 22 | std::vector descriptors; 23 | client(img, Mat(), keypoints, descriptors); 24 | cv::Mat3b debug_img; 25 | drawKeypoints(img, keypoints, debug_img); 26 | imshow("sift", debug_img); 27 | waitKey(0); 28 | } 29 | 30 | server.stop(); 31 | } 32 | -------------------------------------------------------------------------------- /tests/test-siftgpu.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | int main(int argc, char** argv) 6 | { 7 | ntk_ensure(argc == 2, "Usage: test-sift-gpu image"); 8 | 9 | SiftGPU* sift = ntk::getSiftGPUInstance(); 10 | ntk_assert(sift, "Could not get sift gpu"); 11 | 12 | std::vector descriptors; 13 | std::vector keypoints; 14 | 15 | cv::Mat1b image = cv::imread(argv[1], 0); 16 | ntk_ensure(image.data, "Could not load image"); 17 | 18 | for (int i = 0; i < 100; ++i) 19 | { 20 | int t1 = cv::getTickCount(); 21 | 22 | if(!sift->RunSIFT(image)) 23 | ntk_throw_exception("Could not run sift on test.jpg"); 24 | 25 | int n_features = sift->GetFeatureNum(); 26 | std::cout << "Nb points: " << n_features << std::endl; 27 | 28 | keypoints.resize(n_features); 29 | descriptors.resize(128*n_features); 30 | 31 | sift->GetFeatureVector(&keypoints[0], &descriptors[0]); 32 | 33 | int t2 = cv::getTickCount(); 34 | std::cout << 1000.0*(t2-t1)/cv::getTickFrequency() << " ms" << std::endl; 35 | } 36 | 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /tests/test-stl.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | using namespace ntk; 9 | 10 | int main() 11 | { 12 | std::map m; 13 | m["hello"] = "bonjour"; 14 | m["bye"] = "au revoir"; 15 | 16 | { 17 | key_iterator< std::map::const_iterator > it (m.begin()); 18 | for (; it != m.end(); ++it) 19 | std::cout << it->c_str() << std::endl; 20 | } 21 | 22 | { 23 | value_iterator< std::map::const_iterator > it (m.begin()); 24 | for (; it != m.end(); ++it) 25 | std::cout << (*it).c_str() << std::endl; 26 | } 27 | 28 | return 0; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /tests/test-threads.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | using namespace ntk; 6 | 7 | cv::RNG rng; 8 | 9 | struct Functor : public QThread 10 | { 11 | virtual void run() 12 | { 13 | ntk::sleep(rng(5000)); 14 | std::cout << "hello world" << std::endl; 15 | } 16 | }; 17 | 18 | int main() 19 | { 20 | static const int n_threads = 100; 21 | 22 | Functor functors[n_threads]; 23 | 24 | for (int i = 0; i < n_threads; ++i) 25 | { 26 | functors[i].start(); 27 | } 28 | 29 | for (int i = 0; i < n_threads; ++i) 30 | { 31 | functors[i].wait(); 32 | } 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tests/test_common.h: -------------------------------------------------------------------------------- 1 | #ifndef TESTS_TEST_COMMON_H 2 | #define TESTS_TEST_COMMON_H 3 | 4 | #include 5 | 6 | #define NTK_TEST_FLOAT_EQ(Value, Ref) test_float_eq(#Value, Value, Ref) 7 | 8 | namespace ntk 9 | { 10 | 11 | inline bool test_float_eq(const char* value_name, float value, float ref) 12 | { 13 | ntk_dbg(1) << "[TEST " << value_name << "] " << value << " == " << ref; 14 | bool ok = (flt_eq(value, ref, 1e-3f)); 15 | ntk_ensure(ok, "Test failed"); 16 | return ok; 17 | } 18 | 19 | } 20 | 21 | #endif // TESTS_TEST_COMMON_H 22 | --------------------------------------------------------------------------------