From b1ed12bfec529f61ee06560d05b8fcb144382fcf Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sat, 13 Jun 2015 22:17:32 +0200 Subject: [PATCH] Compilation error fixes for older GCC/CLang compilers Avoid data type re-declaration, it's not really working on current FreeBSD's 9 system and CLang-3.0 from OSX. This is not a good idea to do such sort of copy-paste anyway. If someone knows better way of dealing with this please go ahead and correct the code :) --- .../blender/blenkernel/intern/data_transfer_intern.h | 7 ++----- source/blender/blenlib/BLI_astar.h | 9 +++++++++ source/blender/blenlib/intern/astar.c | 12 ------------ 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/source/blender/blenkernel/intern/data_transfer_intern.h b/source/blender/blenkernel/intern/data_transfer_intern.h index dec27d2a056..501b749b464 100644 --- a/source/blender/blenkernel/intern/data_transfer_intern.h +++ b/source/blender/blenkernel/intern/data_transfer_intern.h @@ -31,6 +31,8 @@ #ifndef __DATA_TRANSFER_INTERN_H__ #define __DATA_TRANSFER_INTERN_H__ +#include "BKE_customdata.h" /* For cd_datatransfer_interp */ + struct CustomDataTransferLayerMap; struct CustomData; struct ListBase; @@ -38,11 +40,6 @@ struct ListBase; float data_transfer_interp_float_do( const int mix_mode, const float val_dst, const float val_src, const float mix_factor); -/* Copied from BKE_customdata.h :( */ -typedef void (*cd_datatransfer_interp)( - const struct CustomDataTransferLayerMap *laymap, void *dest, - const void **sources, const float *weights, const int count, const float mix_factor); - void data_transfer_layersmapping_add_item( struct ListBase *r_map, const int data_type, const int mix_mode, const float mix_factor, const float *mix_weights, diff --git a/source/blender/blenlib/BLI_astar.h b/source/blender/blenlib/BLI_astar.h index b99a2534d33..5e9434a1d56 100644 --- a/source/blender/blenlib/BLI_astar.h +++ b/source/blender/blenlib/BLI_astar.h @@ -86,6 +86,15 @@ void BLI_astar_solution_init(BLI_AStarGraph *as_graph, BLI_AStarSolution *as_sol void BLI_astar_solution_clear(BLI_AStarSolution *as_solution); void BLI_astar_solution_free(BLI_AStarSolution *as_solution); +/** + * Callback computing the current cost (distance) to next node, and the estimated overall cost to destination node + * (A* expects this estimation to always be less or equal than actual shortest path from next node to destination one). + * + * \param link the graph link between current node and next one. + * \param node_idx_curr current node index. + * \param node_idx_next next node index. + * \param node_idx_dst destination node index. + */ typedef float (*astar_f_cost)(BLI_AStarGraph *as_graph, BLI_AStarSolution *as_solution, BLI_AStarGNLink *link, const int node_idx_curr, const int node_idx_next, const int node_idx_dst); diff --git a/source/blender/blenlib/intern/astar.c b/source/blender/blenlib/intern/astar.c index 311d6dd89ae..21d974de1c4 100644 --- a/source/blender/blenlib/intern/astar.c +++ b/source/blender/blenlib/intern/astar.c @@ -164,18 +164,6 @@ void BLI_astar_solution_free(BLI_AStarSolution *as_solution) } } -/** - * Callback computing the current cost (distance) to next node, and the estimated overall cost to destination node - * (A* expects this estimation to always be less or equal than actual shortest path from next node to destination one). - * - * \param link the graph link between current node and next one. - * \param node_idx_curr current node index. - * \param node_idx_next next node index. - * \param node_idx_dst destination node index. - */ -typedef float (*astar_f_cost)(BLI_AStarGraph *as_graph, BLI_AStarSolution *as_solution, BLI_AStarGNLink *link, - const int node_idx_curr, const int node_idx_next, const int node_idx_dst); - /** * Init an A* graph. Total number of nodes must be known. *