// Generated by cpp11: do not edit by hand
// clang-format off


#include "cpp11/declarations.hpp"
#include <R_ext/Visibility.h>

// cactusTree.cpp
cpp11::writable::doubles_matrix<> cactusTree(cpp11::integers parent, cpp11::integers order, cpp11::doubles weight, double scale, double overlap, bool upright);
extern "C" SEXP _ggraph_cactusTree(SEXP parent, SEXP order, SEXP weight, SEXP scale, SEXP overlap, SEXP upright) {
  BEGIN_CPP11
    return cpp11::as_sexp(cactusTree(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(order), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(weight), cpp11::as_cpp<cpp11::decay_t<double>>(scale), cpp11::as_cpp<cpp11::decay_t<double>>(overlap), cpp11::as_cpp<cpp11::decay_t<bool>>(upright)));
  END_CPP11
}
// circlePack.cpp
cpp11::sexp pack(cpp11::doubles areas);
extern "C" SEXP _ggraph_pack(SEXP areas) {
  BEGIN_CPP11
    return cpp11::as_sexp(pack(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(areas)));
  END_CPP11
}
// circlePack.cpp
cpp11::writable::doubles_matrix<> circlePackLayout(cpp11::integers parent, cpp11::doubles weight);
extern "C" SEXP _ggraph_circlePackLayout(SEXP parent, SEXP weight) {
  BEGIN_CPP11
    return cpp11::as_sexp(circlePackLayout(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(weight)));
  END_CPP11
}
// dendrogram.cpp
cpp11::writable::doubles dendrogram_spread(cpp11::list_of<cpp11::integers> graph, cpp11::integers starts, cpp11::doubles y, cpp11::logicals leaf, bool repel, double pad, double ratio);
extern "C" SEXP _ggraph_dendrogram_spread(SEXP graph, SEXP starts, SEXP y, SEXP leaf, SEXP repel, SEXP pad, SEXP ratio) {
  BEGIN_CPP11
    return cpp11::as_sexp(dendrogram_spread(cpp11::as_cpp<cpp11::decay_t<cpp11::list_of<cpp11::integers>>>(graph), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(starts), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(y), cpp11::as_cpp<cpp11::decay_t<cpp11::logicals>>(leaf), cpp11::as_cpp<cpp11::decay_t<bool>>(repel), cpp11::as_cpp<cpp11::decay_t<double>>(pad), cpp11::as_cpp<cpp11::decay_t<double>>(ratio)));
  END_CPP11
}
// forceBundle.cpp
cpp11::writable::data_frame force_bundle_iter(cpp11::doubles_matrix<> edges_xy, double K, int C, int P, int P_rate, double S, int I, double I_rate, double compatibility_threshold, double eps);
extern "C" SEXP _ggraph_force_bundle_iter(SEXP edges_xy, SEXP K, SEXP C, SEXP P, SEXP P_rate, SEXP S, SEXP I, SEXP I_rate, SEXP compatibility_threshold, SEXP eps) {
  BEGIN_CPP11
    return cpp11::as_sexp(force_bundle_iter(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles_matrix<>>>(edges_xy), cpp11::as_cpp<cpp11::decay_t<double>>(K), cpp11::as_cpp<cpp11::decay_t<int>>(C), cpp11::as_cpp<cpp11::decay_t<int>>(P), cpp11::as_cpp<cpp11::decay_t<int>>(P_rate), cpp11::as_cpp<cpp11::decay_t<double>>(S), cpp11::as_cpp<cpp11::decay_t<int>>(I), cpp11::as_cpp<cpp11::decay_t<double>>(I_rate), cpp11::as_cpp<cpp11::decay_t<double>>(compatibility_threshold), cpp11::as_cpp<cpp11::decay_t<double>>(eps)));
  END_CPP11
}
// hTree.cpp
cpp11::writable::doubles_matrix<> hTree(cpp11::integers parent, cpp11::integers order);
extern "C" SEXP _ggraph_hTree(SEXP parent, SEXP order) {
  BEGIN_CPP11
    return cpp11::as_sexp(hTree(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(order)));
  END_CPP11
}
// iciclePlot.cpp
cpp11::writable::doubles_matrix<> partitionTree(cpp11::integers parent, cpp11::integers order, cpp11::doubles weight, cpp11::doubles height);
extern "C" SEXP _ggraph_partitionTree(SEXP parent, SEXP order, SEXP weight, SEXP height) {
  BEGIN_CPP11
    return cpp11::as_sexp(partitionTree(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(order), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(weight), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(height)));
  END_CPP11
}
// lineCutter.cpp
cpp11::writable::data_frame cut_lines(cpp11::doubles x, cpp11::doubles y, cpp11::integers id, cpp11::doubles start_width, cpp11::doubles start_height, cpp11::doubles end_width, cpp11::doubles end_height, cpp11::strings start_type, cpp11::strings end_type);
extern "C" SEXP _ggraph_cut_lines(SEXP x, SEXP y, SEXP id, SEXP start_width, SEXP start_height, SEXP end_width, SEXP end_height, SEXP start_type, SEXP end_type) {
  BEGIN_CPP11
    return cpp11::as_sexp(cut_lines(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(x), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(y), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(id), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(start_width), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(start_height), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(end_width), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(end_height), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(start_type), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(end_type)));
  END_CPP11
}
// pathAttr.cpp
cpp11::writable::data_frame pathAttr(cpp11::integers group, cpp11::doubles alpha, cpp11::doubles width, cpp11::strings lty, cpp11::strings colour, int ngroups);
extern "C" SEXP _ggraph_pathAttr(SEXP group, SEXP alpha, SEXP width, SEXP lty, SEXP colour, SEXP ngroups) {
  BEGIN_CPP11
    return cpp11::as_sexp(pathAttr(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(group), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(alpha), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(width), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(lty), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(colour), cpp11::as_cpp<cpp11::decay_t<int>>(ngroups)));
  END_CPP11
}
// treemap.cpp
cpp11::writable::doubles_matrix<> splitTreemap(cpp11::integers parent, cpp11::integers order, cpp11::doubles weight, double width, double height);
extern "C" SEXP _ggraph_splitTreemap(SEXP parent, SEXP order, SEXP weight, SEXP width, SEXP height) {
  BEGIN_CPP11
    return cpp11::as_sexp(splitTreemap(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(order), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(weight), cpp11::as_cpp<cpp11::decay_t<double>>(width), cpp11::as_cpp<cpp11::decay_t<double>>(height)));
  END_CPP11
}
// unrooted.cpp
cpp11::writable::doubles_matrix<> unrooted(cpp11::integers parent, cpp11::integers order, cpp11::doubles length, bool daylight, double tol, double rotation_mod, int maxiter);
extern "C" SEXP _ggraph_unrooted(SEXP parent, SEXP order, SEXP length, SEXP daylight, SEXP tol, SEXP rotation_mod, SEXP maxiter) {
  BEGIN_CPP11
    return cpp11::as_sexp(unrooted(cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(parent), cpp11::as_cpp<cpp11::decay_t<cpp11::integers>>(order), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(length), cpp11::as_cpp<cpp11::decay_t<bool>>(daylight), cpp11::as_cpp<cpp11::decay_t<double>>(tol), cpp11::as_cpp<cpp11::decay_t<double>>(rotation_mod), cpp11::as_cpp<cpp11::decay_t<int>>(maxiter)));
  END_CPP11
}

extern "C" {
static const R_CallMethodDef CallEntries[] = {
    {"_ggraph_cactusTree",        (DL_FUNC) &_ggraph_cactusTree,         6},
    {"_ggraph_circlePackLayout",  (DL_FUNC) &_ggraph_circlePackLayout,   2},
    {"_ggraph_cut_lines",         (DL_FUNC) &_ggraph_cut_lines,          9},
    {"_ggraph_dendrogram_spread", (DL_FUNC) &_ggraph_dendrogram_spread,  7},
    {"_ggraph_force_bundle_iter", (DL_FUNC) &_ggraph_force_bundle_iter, 10},
    {"_ggraph_hTree",             (DL_FUNC) &_ggraph_hTree,              2},
    {"_ggraph_pack",              (DL_FUNC) &_ggraph_pack,               1},
    {"_ggraph_partitionTree",     (DL_FUNC) &_ggraph_partitionTree,      4},
    {"_ggraph_pathAttr",          (DL_FUNC) &_ggraph_pathAttr,           6},
    {"_ggraph_splitTreemap",      (DL_FUNC) &_ggraph_splitTreemap,       5},
    {"_ggraph_unrooted",          (DL_FUNC) &_ggraph_unrooted,           7},
    {NULL, NULL, 0}
};
}

extern "C" attribute_visible void R_init_ggraph(DllInfo* dll){
  R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
  R_useDynamicSymbols(dll, FALSE);
  R_forceSymbols(dll, TRUE);
}
