- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
======================================================================-====*/
+
#ifndef CLITKCOMMON_H
#define CLITKCOMMON_H
-/**
- -------------------------------------------------------------------
- * @file clitkCommon.h
- * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
- * @date 17 May 2006 07:57:56
-
- * @brief
-
- -------------------------------------------------------------------*/
// clitk include
-
#include "clitkConfiguration.h"
#include "clitkPortability.h"
// display
#define DD(a) std::cout << #a " = [ " << a << " ]" << std::endl;
#define DDV(a,n) { std::cout << #a " = [ "; for(unsigned int _i_=0; _i_<n; _i_++) { std::cout << a[_i_] << " "; }; std::cout << " ]" << std::endl;}
+template<class T>
+void _print_container(T const& a)
+ { for(typename T::const_iterator i=a.begin();i!=a.end();++i) { std::cout << *i << " "; };}
+#define DDS(a) { std::cout << #a " = [ "; _print_container(a) ; std::cout << " ]" << std::endl;}
//--------------------------------------------------------------------
// when everything goes wrong
// GGO with modified struct name
#define GGO(ggo_filename, args_info) \
args_info_##ggo_filename args_info; \
- cmdline_parser2(argc, argv, &args_info, 1, 1, 0); \
+ cmdline_parser_##ggo_filename##2(argc, argv, &args_info, 1, 1, 0); \
if (args_info.config_given) \
- cmdline_parser_configfile (args_info.config_arg, &args_info, 0, 0, 1); \
- else cmdline_parser(argc, argv, &args_info);
+ cmdline_parser_##ggo_filename##_configfile (args_info.config_arg, &args_info, 0, 0, 1); \
+ else cmdline_parser_##ggo_filename(argc, argv, &args_info);
//--------------------------------------------------------------------
// skip line with #
void openFileForReading(std::ifstream & is, const std::string & filename);
void openFileForWriting(std::ofstream & os, const std::string & filename);
+ //--------------------------------------------------------------------
+ void readDoubleFromFile(const std::string & filename, std::vector<double> & list);
+
//--------------------------------------------------------------------
double cotan(double i);
double invcotan(double i);