octomap_types.h
Go to the documentation of this file.
00001 /*
00002  * OctoMap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees
00003  * http://octomap.github.com/
00004  *
00005  * Copyright (c) 2009-2013, K.M. Wurm and A. Hornung, University of Freiburg
00006  * All rights reserved.
00007  * License: New BSD
00008  *
00009  * Redistribution and use in source and binary forms, with or without
00010  * modification, are permitted provided that the following conditions are met:
00011  *
00012  *     * Redistributions of source code must retain the above copyright
00013  *       notice, this list of conditions and the following disclaimer.
00014  *     * Redistributions in binary form must reproduce the above copyright
00015  *       notice, this list of conditions and the following disclaimer in the
00016  *       documentation and/or other materials provided with the distribution.
00017  *     * Neither the name of the University of Freiburg nor the names of its
00018  *       contributors may be used to endorse or promote products derived from
00019  *       this software without specific prior written permission.
00020  *
00021  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00022  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00023  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00024  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00025  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00026  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00027  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00028  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00029  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00030  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00031  * POSSIBILITY OF SUCH DAMAGE.
00032  */
00033 
00034 #ifndef OCTOMAP_TYPES_H
00035 #define OCTOMAP_TYPES_H
00036 
00037 #include <stdio.h>
00038 #include <vector>
00039 #include <list>
00040 
00041 #include <octomap/math/Vector3.h>
00042 #include <octomap/math/Pose6D.h>
00043 #include <octomap/octomap_deprecated.h>
00044 
00045 namespace octomap {
00046 
00048   typedef octomath::Vector3               point3d;
00050   typedef octomath::Pose6D                pose6d;
00051 
00052   typedef std::vector<octomath::Vector3>  point3d_collection;
00053   typedef std::list<octomath::Vector3>    point3d_list;
00054 
00056   typedef std::pair<point3d, double> OcTreeVolume;
00057 
00058 }
00059 
00060   //Macros for compiling with an without ROS (for output logging)
00061   #ifdef OCTOMAP_ROS
00062     #include <ros/ros.h>
00063 
00064     #define OCTOMAP_DEBUG         ROS_DEBUG
00065     #define OCTOMAP_DEBUG_STR     ROS_DEBUG_STREAM
00066     #define OCTOMAP_WARNING       ROS_WARN
00067     #define OCTOMAP_WARNING_STR   ROS_WARN_STREAM
00068     #define OCTOMAP_ERROR         ROS_ERROR
00069     #define OCTOMAP_ERROR_STR     ROS_ERROR_STREAM
00070 
00071   #else
00072     // no debug output if not in debug mode:
00073     #ifdef NDEBUG
00074       #ifndef OCTOMAP_NODEBUGOUT
00075         #define OCTOMAP_NODEBUGOUT
00076       #endif
00077     #endif
00078 
00079     #ifdef OCTOMAP_NODEBUGOUT
00080       #define OCTOMAP_DEBUG(...)       (void)0
00081       #define OCTOMAP_DEBUG_STR(...)   (void)0
00082     #else
00083       #define OCTOMAP_DEBUG(...)        fprintf(stderr, __VA_ARGS__), fflush(stderr)
00084       #define OCTOMAP_DEBUG_STR(args)   std::cerr << args << std::endl
00085     #endif
00086 
00087     #define OCTOMAP_WARNING(...)      fprintf(stderr, "WARNING: "), fprintf(stderr, __VA_ARGS__), fflush(stderr)
00088     #define OCTOMAP_WARNING_STR(args) std::cerr << "WARNING: " << args << std::endl
00089     #define OCTOMAP_ERROR(...)        fprintf(stderr, "ERROR: "), fprintf(stderr, __VA_ARGS__), fflush(stderr)
00090     #define OCTOMAP_ERROR_STR(args)   std::cerr << "ERROR: " << args << std::endl
00091   #endif
00092 
00093 
00094 #endif


octomap
Author(s): Kai M. Wurm , Armin Hornung
autogenerated on Thu Feb 11 2016 23:50:59