Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exp kees vrtogether pcl110 #10

Open
wants to merge 167 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
fb6a9a7
Added encoding library
shirsub May 22, 2018
61dfdb3
Updated CMake list and modified codec params
shirsub May 23, 2018
661a655
Removed bin
shirsub May 30, 2018
22fe2f4
Updated impl class
shirsub May 30, 2018
d5924af
Updated structure and cmake
shirsub Jun 5, 2018
1c0a724
Fixed CMake for cwi_encode
shirsub Jun 5, 2018
90f09ab
Removed extra CMake files
shirsub Jun 5, 2018
ab64da1
Updated encodeing function to accept point clouds using a void* pointer
shirsub Jun 21, 2018
5be7c05
Removed debug function
shirsub Jun 21, 2018
25ac20f
Fixed smart pointer issue
shirsub Jun 21, 2018
9369823
Changed CMake add_library
shirsub Jul 2, 2018
5b709b9
Renamed decode function
Jul 2, 2018
424b237
Removed boost program options
shirsub Jul 12, 2018
21b016f
Modified boost program options
shirsub Jul 18, 2018
d9998ab
Fixed frame header allignment
shirsub Jul 18, 2018
171ec26
Exposed file read
shirsub Aug 27, 2018
678673e
Removed delete_ply_data
shirsub Aug 27, 2018
c2b8dec
Added timestamp to cloud_codec_v2
Aug 28, 2018
2c584b0
Updated timestamp read from frame header
Aug 28, 2018
394f1ff
Merged the signals API and the unity API
shirsub Nov 13, 2018
cba5e60
Updated to contain reformatting (original from unit branch) and also …
jackjansen Nov 13, 2018
a65b0ef
Print timestamps on entry and exit of encode
shirsub Nov 20, 2018
a9a9ff8
Void * is cast to pcl::pointcloud instead of a boost::shared_ptr base…
shirsub Nov 21, 2018
d476504
Added Debug def for debug messages
shirsub Nov 22, 2018
5d51c4a
Added ifdefs for boost shared pointers and removed unused code
shirsub Nov 22, 2018
e2367d7
Added ifdef for debug info in unity decoder
shirsub Nov 26, 2018
378bf47
Started on new OSX instructions
jackjansen Jan 28, 2019
525e393
Removed some windows-isms
jackjansen Jan 28, 2019
69a0b8b
Another windows-sim.
jackjansen Jan 28, 2019
98a2231
Use PCL_EXPORTS in stead of hard __declspec(dllexport)
jackjansen Jan 30, 2019
606cb49
More instructions
jackjansen Feb 11, 2019
6045a7d
Got rid of strange code that seems to want to override some Windows C…
jackjansen Feb 11, 2019
cdc4cd0
Make all libraries SHARED. Needed because otherwise on Windows they'r…
jackjansen Feb 11, 2019
42fa879
Linux instructions
jackjansen Feb 12, 2019
a6b6ace
Merge
jackjansen Feb 12, 2019
477e5b3
Now that jpeg_io is a shared library it needs to be linked against jp…
jackjansen Feb 12, 2019
80175b1
clang is picky about template instantiation not in a namesapce
jackjansen Feb 12, 2019
fa4dd5a
Typo: CWI_PCL_CODEC_LIBS should be CWI_PCL_CODEC_LIBRARIES
jackjansen Feb 12, 2019
62c8628
Added note about needs :cxx11 error when installing older version of vtk
jackjansen Feb 12, 2019
5b84ac0
Getting started with minimal test harness
jackjansen Feb 13, 2019
f236473
Adding gitignore
jackjansen Feb 13, 2019
1368cb5
Fixed som jpegturbo refs. Still not enough to make it work on mac
jackjansen Feb 13, 2019
dcc7f66
Got started on Windows instructions
jackjansen Feb 14, 2019
a61c2a9
Enable visualisation in evaluate_compression only if ENABLE_VISUALIZA…
jackjansen Feb 14, 2019
60237a6
Don't create shared libs, use set_property() to ensure PIC.
jackjansen Feb 14, 2019
53d47f7
Renamed dllexport/dllimport define
jackjansen Feb 14, 2019
5360f42
Updated win64 build instructions
jackjansen Feb 14, 2019
986a422
Merge pull request #1 from jackjansen/exp-jack-porting
jackjansen Feb 14, 2019
c6e2c01
Moved apps/cwi_encode into toplevel src and include. Getting started …
jackjansen Feb 14, 2019
dedf67b
Boilerplate for encode and decode command line utilities
jackjansen Feb 14, 2019
ec155b8
More bits of boilerplate for the test apps, and all sorts of C++ issu…
jackjansen Feb 14, 2019
a3af206
More baby steps, the encoder tool now compiles.
jackjansen Feb 14, 2019
d0e037c
Encoder tool is getting further, now crashes later because of wrong j…
jackjansen Feb 15, 2019
5d52ccc
Minor cleanup.
jackjansen Feb 15, 2019
1496dca
I think the pointcloud reader problem doesn't exist anymore, so the m…
jackjansen Feb 15, 2019
64b942b
Got rid of boost shared pointer support
jackjansen Feb 15, 2019
aabaeb5
Updated mac instructions for libjpeg-turbo
jackjansen Feb 15, 2019
ee30ad6
Get rid of ply_reader workaround, it seems unneeded currently.
jackjansen Feb 15, 2019
d692877
Added compressed Fons as a test input file
jackjansen Feb 15, 2019
5560f17
Got decoder to work (using boost shared_ptr).
jackjansen Feb 15, 2019
9cb5e2f
Return booleans from the various decoders
jackjansen Feb 15, 2019
da27403
Sigh: all CMakeLists.txt had partial CRLF end of lines. Fixed.
jackjansen Feb 15, 2019
c3944a9
Reverted 64b942bc. Turns out not using shared_ptr will auto-deallocat…
jackjansen Feb 15, 2019
9465f2b
Added space between 2 > because Mac compiler wants it
jackjansen Mar 4, 2019
61844d1
Somewhat rationalised CMakefiles so things are more in line with othe…
jackjansen Mar 4, 2019
1991abf
unistd.h doesn't exist on Windows
jackjansen Mar 4, 2019
664b2e3
We need jpeg-turbo library
jackjansen Mar 4, 2019
19e6685
Getting started on using cwipc_util
jackjansen Mar 4, 2019
c9076a6
Converted more APIs to cwipc
jackjansen Mar 4, 2019
5246530
Fixed up API initial version. To be refined later.
jackjansen Mar 5, 2019
ddcf73f
Enable CI/CD
jackjansen Mar 22, 2019
0d2881e
Merge branch 'exp-jack-gitlab-ci' into 'master'
jackjansen Mar 22, 2019
485fd6e
Merging Jack/Shishir code with Kees code. Might result in code struct…
jackjansen Mar 25, 2019
e448e15
Simplified the instructions
jackjansen Mar 26, 2019
101fb34
We also need to link against the 'normal' jpeg library from jpeg-turbo
jackjansen Mar 27, 2019
2e4907c
Merge branch 'exp-jack-kees-pcl191' of https://baltig.viaccess-orca.c…
jackjansen Mar 27, 2019
cf0b8b8
Merge commit 'ec8f3b1f50b33d25cacb19e1a0ee7693bd19ea98' into exp-jack…
jackjansen Mar 27, 2019
5d4f8c4
Added note from Kees' readme file on where to find sample data.
jackjansen Mar 27, 2019
f26272d
Test on windows again and disallow osx failures
jackjansen Mar 27, 2019
91a8bfe
Oops, put RUN_TESTS in the wrong place.
jackjansen Mar 27, 2019
ed92b87
Added optional timestamp
jackjansen Mar 27, 2019
82ecf3e
Sigh... Need to defines for jpeg-turbo after all...
jackjansen Mar 28, 2019
8bc43db
Revert "We also need to link against the 'normal' jpeg library from j…
jackjansen Mar 28, 2019
e8001ca
Workaround for what seems to be an issue with turbojpeg being linked …
jackjansen Mar 28, 2019
c78b9ba
Initialize some variables to 0: they could be used uninitialized othe…
jackjansen Mar 29, 2019
20995af
Squashed warnings
jackjansen Mar 29, 2019
e587aa5
Added instructions for using the binary installer
jackjansen Mar 29, 2019
fd11158
On Linux we have to add /usr/local/lib to the search path to make fin…
jackjansen Apr 1, 2019
d3e8983
Merge branch 'exp-jack-coder-api' into 'master'
jackjansen Apr 1, 2019
3aab5ae
Added better description of parameters
jackjansen Apr 2, 2019
4a35542
Use Deployment tools to upload and download releases
jackjansen Apr 9, 2019
bf7b5ea
Merge branch 'exp-jack-download-release' into 'master'
jackjansen Apr 9, 2019
7292a4f
Converted examples to new API
jackjansen Apr 13, 2019
977e099
Open cwicpc files in binary mode
jackjansen Apr 13, 2019
586154a
Upped cwipc_util version
jackjansen Apr 15, 2019
48445a1
Use cwipc_util v1.4.2
jackjansen Apr 15, 2019
180d331
Include test data in installer
jackjansen Apr 18, 2019
e994cd1
Step one: getting rid of cwipc_decompress and cwipc_codec
jackjansen Apr 19, 2019
4b89d4b
Fixing issues with passing NULL encoder params
jackjansen Apr 19, 2019
9a644e0
Encoder bypasses evaluate_compression
jackjansen Apr 19, 2019
afee188
Decoder bypasses evaluate_compression
jackjansen Apr 19, 2019
e65ee8b
evaluate_compression bytes the dust
jackjansen Apr 19, 2019
e94a46c
Renaming source file to cwipc_codec.cpp
jackjansen Apr 19, 2019
dc95ab3
One not-so-clean cast to get rid of templating in jpegreader
jackjansen Apr 19, 2019
4c58d6f
Got rid of templating for jpeg reader and writer
jackjansen Apr 20, 2019
bbb95c6
Got rid of libjpeg_io by moving the functionality directly into cloud…
jackjansen Apr 20, 2019
8500820
Started on rationalizing cmakefiles
jackjansen Apr 20, 2019
127d34d
Cleaned out various debug and print options
jackjansen Apr 20, 2019
cc45c2a
Got rid of a whole lot of cmake dead wood
jackjansen Apr 20, 2019
d515e2c
Removing outdated html
jackjansen Apr 20, 2019
d14346b
This file isn't referenced and seems outdated
jackjansen Apr 20, 2019
3717926
File appears outdated
jackjansen Apr 20, 2019
f84d6e1
Added at_gop_boundary() API call (always returning true for now. Move…
jackjansen Apr 20, 2019
975b0c2
Add test for at_gop_boundary
jackjansen Apr 20, 2019
1ad21ed
Use new _stable release feature to get cwipc_util
jackjansen Apr 20, 2019
09c061b
Clean out installation directory before filling it, so our installer …
jackjansen Apr 20, 2019
aff419d
FindEigen is needed, it appears
jackjansen Apr 20, 2019
5a8784e
Didn't work
jackjansen Apr 20, 2019
0115904
Merge branch 'exp-jack-cleanup' into 'master'
jackjansen Apr 20, 2019
d56b0f6
Build against cwipc_util exp-multicam-tiling-1
jackjansen Apr 22, 2019
faaf96f
Replaced PointXYZRGB by abstract PointT in various places.
jackjansen Apr 24, 2019
bf496b7
Added template instantiations for PointXYZRGBMask (aka cwipc_pcl_point)
jackjansen Apr 24, 2019
5640efe
Add cwipc_pcl_additions to the sources
jackjansen Apr 24, 2019
ca4c352
Use exp-multicam-tiling-2 release of cwipc_util
jackjansen Apr 24, 2019
c67f882
Implemented voxel downsampling and tile filtering, unhindered by any …
jackjansen Apr 24, 2019
931245e
Adding test for filter and downsample.
jackjansen Apr 25, 2019
0a56d12
Added some error handling and fixed tests
jackjansen Apr 25, 2019
b2def32
cwipc_util dependency
jackjansen Apr 25, 2019
a5387fd
Added C test program for downsample
jackjansen Apr 26, 2019
18d07c3
Added C test program for tilefilter
jackjansen Apr 26, 2019
ab18979
Added test for octree_depth making a real diffference
jackjansen Apr 27, 2019
4071f25
Added tests for encoder parameters making a real difference
jackjansen Apr 27, 2019
cfd88d8
new cwipc_util
jackjansen Apr 27, 2019
d9a0d34
Added test for empty pointclouds. Fails, currently.
jackjansen Apr 29, 2019
31ba467
Allow encoding of empty pointclouds by putting a single (0,0,0,0,0,0)…
jackjansen Apr 30, 2019
d444165
A pointcloud with a point that single point that is almost (0,0,0,0,0…
jackjansen Apr 30, 2019
c602f24
Added tests for downsampling and filtering empty pointclouds
jackjansen Apr 30, 2019
2fdb7da
New util version
jackjansen May 1, 2019
6d060d1
Check that timestamps survive compression roundtripping
jackjansen May 1, 2019
eb247f7
Better value for timestamp testing
jackjansen May 1, 2019
6a150eb
pointResolution_arg and octreeResolution arg descriptions (descriptio…
jackjansen May 1, 2019
bf469e0
Merge branch 'exp-multicam-tiling' of https://baltig.viaccess-orca.co…
jackjansen May 3, 2019
9a7505a
Next cwipc_util version
jackjansen May 3, 2019
e67b25e
New cwipc_encoder_params structure to prepare for tiling
jackjansen May 6, 2019
6256b16
Reallocate the encoder at each gop boundary
jackjansen May 6, 2019
b9dd873
New release of util
jackjansen May 6, 2019
2456d3f
Typo in documantaion string
jackjansen May 6, 2019
1fc6b71
Rafactored encoder interface to prepare for multiencoder
jackjansen May 6, 2019
f0e55e4
Refactored differently, and added cwipc_encodergroup interface.
jackjansen May 6, 2019
0c0cf7c
Implemented encodergroup, tile filtering and voxelization.
jackjansen May 6, 2019
50a1312
Added minimal test for encodergroup. Also fixed some issues with miss…
jackjansen May 6, 2019
df94543
Now needs utils 8 release
jackjansen May 6, 2019
81ee45f
Duh, apparently made spelling error in --release_name
jackjansen May 10, 2019
29a75ac
Need to remove installed on windows (because of new runner setup)
jackjansen May 10, 2019
5c09b64
util version upped to 9
jackjansen May 13, 2019
f640f00
New util version
jackjansen May 16, 2019
5598be2
Adapted for v2.0 cwipc API with CWIPC_API_VERSION on all factory func…
jackjansen May 22, 2019
5b23716
Build with stable version of cwipc_util
jackjansen May 24, 2019
247ee08
Attempted to write binary compressed pointcloud data using text write…
jackjansen Aug 20, 2019
1fae4ba
Set util tag
jackjansen Oct 1, 2019
39a5143
Documentation fixes
jackjansen Oct 30, 2019
7e43481
Set cellsize after voxelization or tile filtering.
jackjansen Oct 31, 2019
999f391
Merge branch 'master' of https://baltig.viaccess-orca.com:8443/VRT/na…
jackjansen Oct 31, 2019
3e56f23
Attempting to fix CI/CD installers including wrong stuff
jackjansen Dec 20, 2019
fc003e5
Another attempt at fixing faulty installers.
jackjansen Dec 23, 2019
35d68d2
Fixed stupid error that caused builds against outdated cwipc_util
jackjansen Dec 23, 2019
622b652
Adapted s.t. everything compiles with PCL-1.10.0 without errors/warni…
Mar 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build
build-*
__pycache__
*.pyc
134 changes: 134 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
stages:
- build
- test
- deploy

variables:
#REL_CWIPC_UTIL: --release_name v2.1_stable
REL_CWIPC_UTIL: ""
build_linux:
stage: build
tags:
- ubuntu1804
variables:
DEBIAN_FRONTEND: noninteractive
before_script:
# Install and update debian packages
- apt-get update
- apt-get install -y tzdata
- apt-get install -y software-properties-common
- apt-get install -y git
- apt-get install -y cmake
- apt-get install -y libpcl-dev libpcl-common1.8 libpcl-io1.8
- apt-get install -y libturbojpeg0-dev
# Install Deployment repo and dependencies
- apt-get install -y python3-pip
- python3 -m pip install requests mechanize
- mkdir deployment-helpers
- cd deployment-helpers
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@baltig.viaccess-orca.com:8443/VRT/deployment-group/Deployment
- cd ..
# Get and install cwipc_util
- python3 deployment-helpers/Deployment/getReleaseFromGitLab --cicd --project_name cwipc_util $REL_CWIPC_UTIL
- tar --directory /usr/local -xvf cwipc_util_ubuntu1804_*.tgz
script:
- mkdir -p build
- mkdir -p dist-ubuntu1804
- cd build
- cmake ..
- make
- make test
- make install DESTDIR=../dist-ubuntu1804
- cd ..
- tar --directory dist-ubuntu1804/usr/local -cvaf cwipc_codec_ubuntu1804_$CI_BUILD_TAG.tgz .
artifacts:
paths:
- cwipc_codec_ubuntu1804_$CI_BUILD_TAG.tgz

build_osx:
stage: build
tags:
- osx1012
before_script:
- brew install pkg-config || true # brew upgrade pkg-config
- brew install cmake || true # brew upgrade cmake
- brew install jpeg-turbo || true # brew upgrade jpeg-turbo
- brew unlink jpeg
- brew link --force jpeg-turbo
- brew install pcl || true # brew upgrade pcl
# Install Deployment repo and dependencies
- python3 -m pip install requests mechanize
- mkdir deployment-helpers
- cd deployment-helpers
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@baltig.viaccess-orca.com:8443/VRT/deployment-group/Deployment
- cd ..
# Get and install cwipc_util
- python3 deployment-helpers/Deployment/getReleaseFromGitLab --cicd --project_name cwipc_util $REL_CWIPC_UTIL
- tar --directory /usr/local -xvmf cwipc_util_osx1012_*.tgz
script:
- mkdir -p build
- mkdir -p dist-osx1012
- cd build
- cmake ..
- make
- make test
- make install DESTDIR=../dist-osx1012
- cd ..
- tar --directory dist-osx1012/usr/local -z -cvf cwipc_codec_osx1012_$CI_BUILD_TAG.tgz .
artifacts:
paths:
- cwipc_codec_osx1012_$CI_BUILD_TAG.tgz

build_win:
stage: build
tags:
- win10
before_script:
- rm -rf /cygdrive/c/dist-win/installed
- mkdir -p /cygdrive/c/dist-win/installed
# Install Deployment repo and dependencies
- python -m pip install requests mechanize
- mkdir deployment-helpers
- cd deployment-helpers
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@baltig.viaccess-orca.com:8443/VRT/deployment-group/Deployment
- cd ..
# Get and install cwipc_util
- python deployment-helpers/Deployment/getReleaseFromGitLab --cicd --project_name cwipc_util $REL_CWIPC_UTIL
- (zipfile=$PWD/cwipc_util_win1064_*.zip && cd /cygdrive/c/dist-win && unzip $zipfile)
script:
- mkdir -p build
- export ziplocation=$(pwd)/cwipc_codec_win1064_$CI_BUILD_TAG.zip
- cd build
- cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX="C:/dist-win/installed" -DJPEG_Turbo_INCLUDE_DIR="C:/libjpeg-turbo64/include" -DJPEG_Turbo_LIBRARY="C:/libjpeg-turbo64/lib/jpeg.lib"
- cmake --build . --config Release
- cmake --build . --config Release --target RUN_TESTS
- find /cygdrive/c/dist-win -type f -print > previously-installed.txt
- cmake --build . --config Release --target INSTALL
- rm `cat previously-installed.txt`
- (cd /cygdrive/c/dist-win && zip -r $ziplocation installed)
artifacts:
paths:
- cwipc_codec_win1064_$CI_BUILD_TAG.zip

deploy_all:
stage: deploy
tags:
- linux
only:
- tags
dependencies:
- build_linux
- build_osx
- build_win
before_script:
- apt-get update
- apt-get install -y python3-pip
- python3 -m pip install requests
- mkdir deployment-helpers
- cd deployment-helpers
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@baltig.viaccess-orca.com:8443/VRT/deployment-group/Deployment
- cd ..
script:
- mkdir deliverables
- mv cwipc_codec_osx1012_$CI_BUILD_TAG.tgz cwipc_codec_ubuntu1804_$CI_BUILD_TAG.tgz cwipc_codec_win1064_$CI_BUILD_TAG.zip deliverables
- python3 deployment-helpers/Deployment/addReleaseToGitLab --cicd --notag cwipc_codec_osx1012_$CI_BUILD_TAG.tgz cwipc_codec_ubuntu1804_$CI_BUILD_TAG.tgz cwipc_codec_win1064_$CI_BUILD_TAG.zip
6 changes: 6 additions & 0 deletions CMakeFiles/cwipc_codec-config.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include(${SELF_DIR}/cwipc_codec.cmake)
get_filename_component(cwipc_codec_INCLUDE_DIRS "${SELF_DIR}/../../include" ABSOLUTE)
get_filename_component(cwipc_codec_LIBRARY_DIRS "${SELF_DIR}/../../lib" ABSOLUTE)
set(cwipc_codec_LIBRARIES cwipc_codec)
set(cwipc_codec_FOUND TRUE)
126 changes: 27 additions & 99 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,143 +36,71 @@
# POSSIBILITY OF SUCH DAMAGE.

cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
project(CWI_PCL_CODEC)
# -- From: https://stackoverflow.com/questions/16398937/cmake-and-finding-other-projects-and-their-dependencies
# set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
# set(CMAKE_DISABLE_SOURCE_CHANGES ON)
project(cwipc_codec)

# if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
# message(SEND_ERROR "In-source builds are not allowed.")
# endif ()
include(CTest)
include(GNUInstallDirs)

# set(CMAKE_VERBOSE_MAKEFILE ON)
# set(CMAKE_COLOR_MAKEFILE ON)
# Ensure all executable, dll/so and link-library outputs end up in the same directories
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})

# You can set this to '1' if you like a lot of CMake messages, e.g. to find a bug
set (CMAKELISTS_DEBUG 0
CACHE INTERNAL "${PROJECT_NAME}: CMakeLists.txt Debug Flag" FORCE)
#
# Find cwipc_util
#
find_package(cwipc_util REQUIRED)
include_directories(${cwipc_util_INCLUDE_DIRS})
link_directories(${cwipc_util_LIBRARY_DIRS})

set(SUBSYS_NAME cwi_pcl_codec)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/;${CMAKE_MODULE_PATH}")
if(CMAKELISTS_DEBUG)
message("CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}")
set(QUIET_FLAG "")
else(CMAKELISTS_DEBUG)
set(QUIET_FLAG QUIET)
endif(CMAKELISTS_DEBUG)
set(QUIET_FLAG QUIET)

# Use PCL 1.9 (preferred) or 1.8
find_package(PCL 1.9 ${QUIET_FLAG} COMPONENTS common geometry io filters sample_consensus segmentation visualization kdtree features surface octree registration keypoints tracking search recognition)
if(NOT PCL_FOUND)
find_package(PCL 1.8 REQUIRED ${QUIET_FLAG} COMPONENTS common geometry io filters sample_consensus segmentation visualization kdtree features surface octree registration keypoints tracking search recognition)
endif(NOT PCL_FOUND)

if(NOT PCL_ALL_IN_ONE_INSTALLER)
# search for 3rd party packages
if(WIN32)
# Remove 'lib' prefix for shared libraries on Windows
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_C_FLAGS "(/EHsc /UBOOST_NO_EXCEPTIONS")
set(CMAKE_CXX_FLAGS "/EHsc")
set(CMAKE_LD_FLAGS "-g -O0")
# On Windows we have VTK 7.0
find_package(VTK 7.0 REQUIRED ${QUIET_FLAG})
if(NOT VTK_FOUND)
message(ERROR "VTK >= 7.0 found.")
endif(VTK_FOUND)
else(WIN32)
# enable debugging on Linux
set(CMAKE_C_FLAGS "-g -O0")
set(CMAKE_CXX_FLAGS "-g -O0")
set(CMAKE_LD_FLAGS "-g -O0")
# On Ubuntu 16.04 we have VTK 6.0, on MacOSX (brew) VTK 8.1
find_package(VTK 6.0 ${QUIET_FLAG})
if(NOT VTK_FOUND)
find_package(VTK 6.1 ${QUIET_FLAG})
endif(NOT VTK_FOUND)
if(NOT VTK_FOUND)
find_package(VTK 8.0 ${QUIET_FLAG})
endif(NOT VTK_FOUND)
if(NOT VTK_FOUND)
find_package(VTK 8.1 REQUIRED)
endif(NOT VTK_FOUND)
if(NOT VTK_FOUND)
message(ERROR "Neither VTK 6.0, 6.1, 8.0 nor 8.1 found.")
endif(NOT VTK_FOUND)
endif(WIN32)
endif(NOT PCL_ALL_IN_ONE_INSTALLER)

#include(${CMAKE_SOURCE_DIR}/cmake/pcl_find_boost.cmake)
set(BOOST_REQUIRED_MODULES system filesystem thread date_time iostreams chrono program_options)
find_package(Boost 1.47.0 ${QUIET_FLAG} REQUIRED COMPONENTS ${BOOST_REQUIRED_MODULES})
if(NOT Boost_FOUND)
message(ERROR "Boost >= 1.48.0 not found.")
endif(NOT Boost_FOUND)
if(CMAKELISTS_DEBUG)
message("1.Boost_LIBRARIES=" ${Boost_LIBRARIES})
endif(CMAKELISTS_DEBUG)
find_package(Eigen 4.3 ${QUIET_FLAG})
if (NOT Eigen_FOUND)
message(ERROR "Eigen not found)")
endif(NOT Eigen_FOUND)
if(CMAKELISTS_DEBUG)
message(STATUS "Eigen found (include: ${EIGEN_INCLUDE_DIRS}, version: ${EIGEN_VERSION})")
endif(CMAKELISTS_DEBUG)
find_package(Boost 1.47.0 ${QUIET_FLAG} REQUIRED COMPONENTS system filesystem thread date_time iostreams chrono program_options)
find_package(Eigen 4.3 ${QUIET_FLAG} REQUIRED)
find_package(JPEG_Turbo ${QUIET_FLAG} REQUIRED)
if(CMAKELISTS_DEBUG)
message("2.Boost_LIBRARIES=" ${Boost_LIBRARIES})
endif(CMAKELISTS_DEBUG)
if(NOT JPEG_Turbo_FOUND)
message(ERROR "TurboJPEG not found.")
endif(NOT JPEG_Turbo_FOUND)

if(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/io/impl/entropy_range_coder.hpp")
set(PCL_INSTALLED ON CACHE INTERNAL "PCL Installed" FORCE)
endif()

# Expose public includes and libraries to subprojects
set(${PROJECT_NAME}_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/include
${JPEG_Turbo_INCLUDE_DIR}
${VTK_INCLUDE_DIR}
${Boost_INCLUDE_DIR}
${PCL_INCLUDE_DIRS}
${EIGEN_INCLUDE_DIRS}
CACHE INTERNAL "${PROJECT_NAME}: Include Directories" FORCE)
if(CMAKELISTS_DEBUG)
message("${SUBSYS_NAME}-${PROJECT_NAME}_INCLUDE_DIRS: " ${${PROJECT_NAME}_INCLUDE_DIRS})
message("3.Boost_LIBRARIES=" ${Boost_LIBRARIES})
endif(CMAKELISTS_DEBUG)

set(${PROJECT_NAME}_LIBRARY_DIRS ${PROJECT_SOURCE_DIR}/lib
${VTK_LIBRARY_DIR}
${JPEG_Turbo_LIBRARY_DIR}
${Boost_LIBRARY_DIR}
${PCL_LIBRARY_DIRS}
CACHE INTERNAL "${PROJECT_NAME}: Library Directories" FORCE)
if(CMAKELISTS_DEBUG)
message("${SUBSYS_NAME}_LIBRARY_DIRS: " ${${PROJECT_NAME}_LIBRARY_DIRS})
message("${SUBSYS_NAME}_JPEG_Turbo_LIBRARY: " ${JPEG_Turbo_LIBRARY})
message("${SUBSYS_NAME}_VTK_LIBRARIES:" ${VTK_LIBRARIES})
message("${SUBSYS_NAME}_Boost_LIBRARIES: " ${Boost_LIBRARIES})
message("${SUBSYS_NAME}_PCL_LIBRARIES: " ${PCL_LIBRARIES})
endif(CMAKELISTS_DEBUG)

set(${PROJECT_NAME}_LIBRARIES
${JPEG_Turbo_LIBRARY}
${VTK_LIBRARIES}
${Boost_LIBRARIES}
${PCL_LIBRARIES}
CACHE INTERNAL "${PROJECT_NAME}: Libraries" FORCE)
if(CMAKELISTS_DEBUG)
message("${SUBSYS_NAME}-${PROJECT_NAME}_LIBRARIES: " ${${PROJECT_NAME}_LIBRARIES})
endif(CMAKELISTS_DEBUG)

set(${PROJECT_NAME}_DEFINITIONS
${JPEG_Turbo_DEFINITIONS} -DWITH_JPEG8=1
${Boost_DEFINITIONS}
${PCL_DEFINITIONS}
CACHE INTERNAL "${PROJECT_NAME}: Definitions" FORCE)
if(CMAKELISTS_DEBUG)
message("${SUBSYS_NAME}-${PROJECT_NAME}_DEFINITIONS: " ${${PROJECT_NAME}_DEFINITIONS})
endif(CMAKELISTS_DEBUG)

add_definitions( ${${PROJECT_NAME}_DEFINITIONS})
add_subdirectory("jpeg_io")
add_subdirectory("cloud_codec_v2")
add_subdirectory("src")
add_subdirectory("apps/evaluate_compression")
add_subdirectory("apps/cwipc_encode")
add_subdirectory("apps/cwipc_decode")
add_subdirectory("apps/cwipc_downsample")
add_subdirectory("apps/cwipc_tilefilter")
add_subdirectory("python")
add_subdirectory("tests")
72 changes: 36 additions & 36 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
Software License Agreement (BSD License)

Point Cloud Library (PCL) - www.pointclouds.org
Copyright (c) 2009-2012, Willow Garage, Inc.
Copyright (c) 2012-, Open Perception, Inc.
Copyright (c) CodeShop B.V. 2016-
Copyright (c) 2017-, Stichting Centrum Wiskunde en Informatica.

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of the copyright holder(s) nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Software License Agreement (BSD License)
Point Cloud Library (PCL) - www.pointclouds.org
Copyright (c) 2009-2012, Willow Garage, Inc.
Copyright (c) 2012-, Open Perception, Inc.
Copyright (c) CodeShop B.V. 2016-
Copyright (c) 2017-, Stichting Centrum Wiskunde en Informatica.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of the copyright holder(s) nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Loading