export("cgam", "cgamm", "testpar", "incr", "decr", "conc", "conv", "incr.conc", "incr.conv", "decr.conc",
       "decr.conv", "tree", "umbrella", "s", "s.incr", "s.decr", "s.conc", "s.conv", 
       "s.incr.conc", "s.incr.conv", "s.decr.conc", "s.decr.conv", "plotpersp", "plotpersp_control",
       "s.incr.incr", "s.decr.decr", "s.decr.incr", "s.incr.decr", "s.conv.conv", 
       "s.conc.conc", "ShapeSelect", "shapes", "in.or.out", "best.fit", "Ord", "predict.cgam")
import("coneproj", "svDialogs", "lme4", "splines2", "splines")
importFrom("stats", "fitted", "delete.response", "gaussian", "median", "model.frame", "model.matrix", "model.response", "pchisq", "printCoefmat", "pt", "quantile", "rnorm", "rpois", "runif", "as.formula", "sd", "Gamma", "binomial", "coef", "make.link", "rgamma",
"rlogis", "optim", "qnorm", "pbeta", "pf", "qchisq", "uniroot", "nlminb", "rbinom", "arima.sim", "Box.test", "pnorm", "toeplitz")
importFrom("utils", "head", "modifyList")
importFrom("rlang", "enquo", "eval_tidy")
importFrom("dplyr", "case_when", "bind_rows")
importFrom("splines", "bs")
importFrom("parallel", "mclapply")
importFrom("zeallot", `%<-%`)
importFrom("lme4", "lmer")
importFrom("svDialogs", "dlgMessage")
importFrom("statmod", "gauss.quad")
importFrom("stats", "var", "nlminb", "predict", "terms", "reformulate", "vcov")
importFrom("Matrix", "bdiag", "rankMatrix")
importFrom("ggplot2", "ggplot", "geom_line", "facet_wrap", "labs", "theme_minimal")
importFrom("graphics", "lines", "par", "persp", "grid", "legend", "plot", "points", "segments")
importFrom("grDevices", "topo.colors", "cm.colors", "heat.colors", "terrain.colors", "rgb","col2rgb")  
importFrom("quadprog", "solve.QP")
importFrom("MASS", "ginv")

S3method(vcov, cgam)
S3method(plot, cgam)
S3method(summary, cgam)
S3method(print, cgam)
S3method(print, summary.cgam)
S3method(predict, cgam)
S3method(predict, wps)
S3method(predict, trispl)
S3method(fitted, cgam)
S3method(coef, cgam)
S3method(plotpersp, cgam)
S3method(plotpersp, cgamp)

S3method(summary, testpar)

S3method(summary, wps)
S3method(print, summary.wps)
S3method(fitted, wps)
S3method(coef, wps)
S3method(plotpersp, wps)
S3method(plotpersp, wpsp)

#S3method(summary, tri)
#S3method(print, summary.tri)
S3method(fitted, trispl)
S3method(coef, trispl)
S3method(plotpersp, trispl)
S3method(plotpersp, trisplp)

S3method(plot, shapeselect)
#S3method(plot, cgam)

S3method(fitted, cgam.polr)
S3method(coef, cgam.polr)

S3method(predict, cgam)
#S3method(predict, cgam.polr)

S3method(summary, cgam.polr)
S3method(print, summary.cgam.polr)

S3method(anova, cgam)
S3method(print, anova.cgam)

S3method(predict, cgamm)
S3method(summary, cgamm)
S3method(print, summary.cgamm)