From 1dd249c8a777436c9b5fabdd54c3d22541143d98 Mon Sep 17 00:00:00 2001
From: Arnaud Degroote <arnaud.degroote@laas.fr>
Date: Wed, 22 May 2013 14:43:39 +0200
Subject: [PATCH] [wip] Introduce octomap-1.6.0

The OctoMap library implements a 3D occupancy grid mapping approach,
providing data structures and mapping algorithms in C++ particularly
suited for robotics
---
 Makefile          |  1 +
 octomap/DESCR     | 27 ++++++++++++++++++++++++
 octomap/Makefile  | 23 +++++++++++++++++++++
 octomap/PLIST     | 52 +++++++++++++++++++++++++++++++++++++++++++++++
 octomap/depend.mk | 28 +++++++++++++++++++++++++
 octomap/distinfo  |  3 +++
 6 files changed, 134 insertions(+)
 create mode 100644 octomap/DESCR
 create mode 100644 octomap/Makefile
 create mode 100644 octomap/PLIST
 create mode 100644 octomap/depend.mk
 create mode 100644 octomap/distinfo

diff --git a/Makefile b/Makefile
index 643cfa05..a7570d1c 100644
--- a/Makefile
+++ b/Makefile
@@ -48,6 +48,7 @@ SUBDIR+=	MPC_planner-genom
 SUBDIR+=	MPC_DEMTreatment-genom
 SUBDIR+=	msgconnector
 SUBDIR+=	mumps
+SUBDIR+= 	octomap
 SUBDIR+= 	ompl
 SUBDIR+=	oro-view
 SUBDIR+=	poisson
diff --git a/octomap/DESCR b/octomap/DESCR
new file mode 100644
index 00000000..f93aab69
--- /dev/null
+++ b/octomap/DESCR
@@ -0,0 +1,27 @@
+ The OctoMap library implements a 3D occupancy grid mapping approach, providing
+ data structures and mapping algorithms in C++ particularly suited for
+ robotics. The map implementation is based on an octree and is designed to meet
+ the following requirements:
+
+- Full 3D model. The map is able to model arbitrary environments without prior
+  assumptions about it. The representation models occupied areas as well as
+  free space. Unknown areas of the environment are implicitly encoded in the
+  map. While the distinction between free and occupied space is essential for
+  safe robot navigation, information about unknown areas is important, e.g.,
+  for autonomous exploration of an environment.
+- Updatable. It is possible to add new information or sensor readings at any
+  time. Modeling and updating is done in a probabilistic fashion. This accounts
+  for sensor noise or measurements which result from dynamic changes in the
+  environment, e.g., because of dynamic objects. Furthermore, multiple
+  robots are able to contribute to the same map and a previously recorded
+  map is extendable when new areas are explored.
+- Flexible. The extent of the map does not have to be known in advance.
+  Instead, the map is dynamically expanded as needed. The map is
+  multi-resolution so that, for instance, a high-level planner is able to use a
+  coarse map, while a local planner may operate using a fine resolution. This
+  also allows for efficient visualizations which scale from coarse overviews to
+  detailed close-up views.
+- Compact. The map is stored efficiently, both in memory and on disk. It is
+  possible to generate compressed files for later usage or convenient exchange
+  between robots even under bandwidth constraints.
+
diff --git a/octomap/Makefile b/octomap/Makefile
new file mode 100644
index 00000000..f9880f1d
--- /dev/null
+++ b/octomap/Makefile
@@ -0,0 +1,23 @@
+# robotpkg Makefile for:	mapping/octomap
+# Created:			Arnaud Degroote on Wed, 22 May 2013
+#
+
+PKGVERSION=	1.6.0
+DISTNAME=	v${PKGVERSION_NOREV}
+PKGNAME=	octomap-${PKGVERSION}
+
+CATEGORIES=		mapping
+MASTER_SITES=	https://github.com/OctoMap/octomap/archive/
+
+HOMEPAGE=	http://http://octomap.github.io/
+
+COMMENT=	An Efficient Probabilistic 3D Mapping Framework Based on Octrees
+
+LICENSE=	modified-bsd
+
+WRKSRC=     ${WRKDIR}/octomap-${PKGVERSION_NOREV}/octomap
+
+include ../../mk/sysdep/cmake.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/octomap/PLIST b/octomap/PLIST
new file mode 100644
index 00000000..5b8dba71
--- /dev/null
+++ b/octomap/PLIST
@@ -0,0 +1,52 @@
+@comment Wed May 22 14:01:44 CEST 2013
+bin/binvox2bt
+bin/bt2vrml
+bin/compare_octrees
+bin/convert_octree
+bin/edit_octree
+bin/eval_octree_accuracy
+bin/graph2tree
+bin/log2graph
+include/octomap/AbstractOcTree.h
+include/octomap/AbstractOccupancyOcTree.h
+include/octomap/ColorOcTree.h
+include/octomap/CountingOcTree.h
+include/octomap/MapCollection.h
+include/octomap/MapCollection.hxx
+include/octomap/MapNode.h
+include/octomap/MapNode.hxx
+include/octomap/OcTree.h
+include/octomap/OcTreeBase.h
+include/octomap/OcTreeBaseImpl.h
+include/octomap/OcTreeBaseImpl.hxx
+include/octomap/OcTreeBaseSE.h
+include/octomap/OcTreeBaseSE.hxx
+include/octomap/OcTreeDataNode.h
+include/octomap/OcTreeDataNode.hxx
+include/octomap/OcTreeIterator.hxx
+include/octomap/OcTreeKey.h
+include/octomap/OcTreeLUT.h
+include/octomap/OcTreeLUTdefs.h
+include/octomap/OcTreeNode.h
+include/octomap/OcTreeStamped.h
+include/octomap/OccupancyOcTreeBase.h
+include/octomap/OccupancyOcTreeBase.hxx
+include/octomap/Pointcloud.h
+include/octomap/ScanGraph.h
+include/octomap/math/Pose6D.h
+include/octomap/math/Quaternion.h
+include/octomap/math/Utils.h
+include/octomap/math/Vector3.h
+include/octomap/octomap.h
+include/octomap/octomap_deprecated.h
+include/octomap/octomap_timing.h
+include/octomap/octomap_types.h
+include/octomap/octomap_utils.h
+lib/liboctomap.a
+lib/liboctomap.so
+lib/liboctomath.a
+lib/liboctomath.so
+lib/pkgconfig/octomap.pc
+share/octomap/octomap-config-version.cmake
+share/octomap/octomap-config.cmake
+share/octomap/package.xml
diff --git a/octomap/depend.mk b/octomap/depend.mk
new file mode 100644
index 00000000..facea4c4
--- /dev/null
+++ b/octomap/depend.mk
@@ -0,0 +1,28 @@
+# robotpkg depend.mk for:	mapping/octomap
+# Created:			Arnaud Degroote on Wed, 22 May 2013
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+OCTOMAP_DEPEND_MK:=	${OCTOMAP_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		octomap
+endif
+
+ifeq (+,$(OCTOMAP_DEPEND_MK)) # ---------------------------------------------
+
+PREFER.octomap?=		robotpkg
+
+DEPEND_USE+=		octomap
+
+DEPEND_ABI.octomap?=	octomap>=1.6.0
+DEPEND_DIR.octomap?=	../../wip/octomap
+
+SYSTEM_SEARCH.octomap= \
+	include/octomap/octomap.h	\
+	lib/liboctomap.so \
+	'lib/pkgconfig/octomap.pc:/Version/s/[^0-9.]//gp'
+
+endif # OCTOMAP_DEPEND_MK ---------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/octomap/distinfo b/octomap/distinfo
new file mode 100644
index 00000000..dc57c450
--- /dev/null
+++ b/octomap/distinfo
@@ -0,0 +1,3 @@
+SHA1 (v1.6.0.tar.gz) = 7323e0f7f9532bcdbc00fcc453855cae9b6462ea
+RMD160 (v1.6.0.tar.gz) = a9a6567d763f745962465519373726722dc8823e
+Size (v1.6.0.tar.gz) = 1581199 bytes
-- 
GitLab