From d5359227ec540b738fc7979a8be37e4a70554ecf Mon Sep 17 00:00:00 2001
From: piacibel <cyrille.piacibello@inria.fr>
Date: Tue, 7 Apr 2015 10:54:10 +0200
Subject: [PATCH] PAI Cmake modified, and header for old api c removed

---
 Addons/CKernelApi/CMakeLists.txt    |   2 +-
 Addons/CKernelApi/Src/CKernelApi.h  | 102 ----------------------------
 Addons/CKernelApi/Src/CScalfmmApi.h |   8 +++
 3 files changed, 9 insertions(+), 103 deletions(-)
 delete mode 100644 Addons/CKernelApi/Src/CKernelApi.h

diff --git a/Addons/CKernelApi/CMakeLists.txt b/Addons/CKernelApi/CMakeLists.txt
index 651acac4e..07083e44d 100644
--- a/Addons/CKernelApi/CMakeLists.txt
+++ b/Addons/CKernelApi/CMakeLists.txt
@@ -40,7 +40,7 @@ if(SCALFMM_ADDON_CKERNELAPI)
         # Install header
         SET(my_include_dirs "Src")
 
-        file( GLOB hpp_in_dir Src/*.hpp )
+        file( GLOB hpp_in_dir Src/*.hpp Src/*.h)
         INSTALL( FILES ${hpp_in_dir} DESTINATION include/ScalFmm/CKernelApi )
 
         file( GLOB_RECURSE source_tests_files Tests/*.c )
diff --git a/Addons/CKernelApi/Src/CKernelApi.h b/Addons/CKernelApi/Src/CKernelApi.h
deleted file mode 100644
index ffe528de2..000000000
--- a/Addons/CKernelApi/Src/CKernelApi.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// ===================================================================================
-// Copyright ScalFmm 2014 I
-// This software is a computer program whose purpose is to compute the FMM.
-//
-// This software is governed by the CeCILL-C and LGPL licenses and
-// abiding by the rules of distribution of free software.
-//
-// 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 and CeCILL-C Licenses for more details.
-// "http://www.cecill.info".
-// "http://www.gnu.org/licenses".
-// ===================================================================================
-//
-#ifndef CKERNELAPI_H
-#define CKERNELAPI_H
-
-/**
- * This file defines the API for the USER.
- * We briefly comment all the functions.
- * The objective of the C Kernel API is to give a quick and easy way
- * to anyone (who can program in C) to implement a kernel.
- * Using C++ is advised but this is a simple alternative.
- */
-
-
-///////////////////////////////////////////////////////////////////////////
-/// Init part
-///////////////////////////////////////////////////////////////////////////
-
-//< For the user an handle is a void*
-typedef void* Scalfmm_Handle;
-
-//< Function to init the cells (should be given by the user when calling Scalfmm_init_cell)
-//< it gives the level of the cell, its morton index, it position in term of box at that level
-//< and the spatial position of its center
-typedef void* (*Callback_init_cell)(int level, long long morton_index, int* tree_position, double* spatial_position);
-//< Function to destroy what have bee initialized by the user (should be give in Scalfmm_dealloc_handle)
-typedef void (*Callback_free_cell)(void*);
-
-//< This function init an handle (and an tree based on the given properties)
-Scalfmm_Handle Scalfmm_init_handle(int treeHeight, double boxWidth, double* boxCenter);
-//< This function should be used to dealloc our handle
-void Scalfmm_dealloc_handle(Scalfmm_Handle handle, Callback_free_cell cellDestroyer);
-
-//< This function should be used to insert an array of particle in the tree
-//< The indexes are the one used on the particles operator
-//< The position of the particles should be composed of one triple per particle:
-//< xyzxyzxyz...
-void Scalfmm_insert_array_of_particles(Scalfmm_Handle handle, FSize nbParticles, int* particleIndexes, double* particleXYZ);
-//< To insert one particle only
-void Scalfmm_one_particle(Scalfmm_Handle handle, int particleIndexe, double x, double y, double z);
-
-//< This function should be called to init the cells
-//< It must be called after all the particles have been inserted!
-void Scalfmm_init_cell(Scalfmm_Handle handle, Callback_init_cell cellInitializer);
-
-
-///////////////////////////////////////////////////////////////////////////
-/// Kernel part
-///////////////////////////////////////////////////////////////////////////
-
-//< These function are the callbacks of the FMM operators
-typedef void (*Callback_P2M)(void* leafCell, FSize nbParticles, const int* particleIndexes, void* userData);
-typedef void (*Callback_M2M)(int level, void* parentCell, int childPosition, void* childCell, void* userData);
-typedef void (*Callback_M2L)(int level, void* targetCell, int sourceCellPosition, void* sourceCell, void* userData);
-typedef void (*Callback_L2L)(int level, void* parentCell, int childPosition, void* childCell, void* userData);
-typedef void (*Callback_L2P)(void* leafCell, FSize nbParticles, int* particleIndexes, void* userData);
-typedef void (*Callback_P2P)(FSize nbParticles, const int* particleIndexes, int nbSourceParticles, const int* sourceParticleIndexes, void* userData);
-typedef void (*Callback_P2PInner)(FSize nbParticles, int* particleIndexes, void* userData);
-
-//< This structure should be filled (or filled with null) to call the FMM
-struct Scalfmm_Kernel_Descriptor {
-    Callback_P2M p2m;
-    Callback_M2M m2m;
-    Callback_M2L m2l;
-    Callback_L2L l2l;
-    Callback_L2P l2p;
-    Callback_P2P p2p;
-    Callback_P2PInner p2pinner;
-};
-
-//< Execute one FMM using the given kernel, the userData is the one given in all the operators as last
-//< parameter.
-void Scalfmm_execute_kernel(Scalfmm_Handle handle, struct Scalfmm_Kernel_Descriptor userKernel, void* userData);
-
-
-///////////////////////////////////////////////////////////////////////////
-/// Util functions
-///////////////////////////////////////////////////////////////////////////
-
-
-//< This function fill the childFullPosition[3] with [-1;1] to know the position of a child relatively to
-//< its position from its parent in term of halph box for this level
-void Scalfmm_utils_parentChildPosition(int childPosition, int* childFullPosition);
-
-//< This function fill the childFullPosition[3] with [-3;3] to know the position of a interaction
-//< cell relatively to its position from the target in term of box
-void Scalfmm_utils_interactionPosition(int interactionPosition, int* srcPosition);
-
-#endif // CKERNELAPI_H
diff --git a/Addons/CKernelApi/Src/CScalfmmApi.h b/Addons/CKernelApi/Src/CScalfmmApi.h
index b7faf932a..b904e050a 100644
--- a/Addons/CKernelApi/Src/CScalfmmApi.h
+++ b/Addons/CKernelApi/Src/CScalfmmApi.h
@@ -524,5 +524,13 @@ void scalfmm_dealloc_handle(scalfmm_handle handle, Callback_free_cell cellDestro
  */
 void scalfmm_reset_tree(scalfmm_handle handle);
 
+/**
+ * @brief This function shouldn't be there !! display information
+ * about the octree built versus the octree hibox want.
+ * @param Handle scalfmm_handle provided by scalfmm_init.
+ * @param Rinflu influence radius for each particle previously
+ * inserted. Tree must be built before calling this function
+ */
+void scalfmm_hibox_Rinflu_display(scalfmm_handle Handle, FSize nbPart, double * Rinflu);
 
 #endif
-- 
GitLab