From 0169079bd1c3ce69690153321fb09c3647b9d930 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 20 Sep 2011 16:24:50 +0000 Subject: Get rid of c++ in blenkernel and modifiers Also use guarded allocations for navmesh stuff. --- extern/recastnavigation/CMakeLists.txt | 12 ++++++---- extern/recastnavigation/recast-capi.cpp | 37 +++++++++++++++++++++++++++++ extern/recastnavigation/recast-capi.h | 42 +++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 extern/recastnavigation/recast-capi.cpp create mode 100644 extern/recastnavigation/recast-capi.h (limited to 'extern/recastnavigation') diff --git a/extern/recastnavigation/CMakeLists.txt b/extern/recastnavigation/CMakeLists.txt index 1af01b1b427..660b881dd07 100644 --- a/extern/recastnavigation/CMakeLists.txt +++ b/extern/recastnavigation/CMakeLists.txt @@ -25,7 +25,7 @@ # ***** END GPL LICENSE BLOCK ***** set(INC - Recast/Include + Recast/Include Detour/Include ) @@ -34,6 +34,10 @@ set(INC_SYS ) set(SRC + recast-capi.cpp + recast-capi.h + + Detour/Source/DetourCommon.cpp Detour/Source/DetourNode.cpp Detour/Source/DetourStatNavMesh.cpp @@ -47,7 +51,7 @@ set(SRC Detour/Include/DetourStatNavMeshBuilder.h Detour/Include/DetourTileNavMesh.h Detour/Include/DetourTileNavMeshBuilder.h - + Recast/Source/Recast.cpp Recast/Source/RecastContour.cpp Recast/Source/RecastFilter.cpp @@ -57,10 +61,10 @@ set(SRC Recast/Source/RecastRasterization.cpp Recast/Source/RecastRegion.cpp Recast/Source/RecastTimer.cpp - + Recast/Include/Recast.h Recast/Include/RecastLog.h - Recast/Include/RecastTimer.h + Recast/Include/RecastTimer.h ) blender_add_lib(extern_recastnavigation "${SRC}" "${INC}" "${INC_SYS}") diff --git a/extern/recastnavigation/recast-capi.cpp b/extern/recastnavigation/recast-capi.cpp new file mode 100644 index 00000000000..52c4cdc90ed --- /dev/null +++ b/extern/recastnavigation/recast-capi.cpp @@ -0,0 +1,37 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2011 Blender Foundation. + * All rights reserved. + * + * Contributor(s): Sergey Sharybin + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "recast-capi.h" + +#include +#include "Recast.h" + +int recast_buildMeshAdjacency(unsigned short* polys, const int npolys, + const int nverts, const int vertsPerPoly) +{ + return (int) buildMeshAdjacency(polys, npolys, nverts, vertsPerPoly); +} diff --git a/extern/recastnavigation/recast-capi.h b/extern/recastnavigation/recast-capi.h new file mode 100644 index 00000000000..0d20fdf9981 --- /dev/null +++ b/extern/recastnavigation/recast-capi.h @@ -0,0 +1,42 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2011 Blender Foundation. + * All rights reserved. + * + * Contributor(s): Sergey Sharybin + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef RECAST_C_API_H +#define RECAST_C_API_H + +#ifdef __cplusplus +extern "C" { +#endif + +int recast_buildMeshAdjacency(unsigned short* polys, const int npolys, + const int nverts, const int vertsPerPoly); + +#ifdef __cplusplus +} +#endif + +#endif // RECAST_C_API_H -- cgit v1.2.3