useDynLib(ToxicR, .registration=TRUE)
exportPattern("^[[:alpha:]]+")
importFrom(Rcpp, evalCpp)
importFrom(forcats,fct_reorder)

###############################
# Necessary Packages
###############################
import(tidyverse)

importFrom(doBy, summaryBy)
#import(doBy)
import(multcomp)
import(shiny)
import(scales)
import(ggplot2)
importFrom(dplyr,"filter","%>%","select","mutate")



importFrom("stats", "aov", "as.formula", "coefficients", "cor.test",
             "density", "lm", "pchisq", "pgamma", "pnorm", "qnorm",
             "quantile", "sd", "splinefun", "var")

# Added two additional package 2012/12/08 SL
import(ggridges)
###############################

#register all of the S3 methods for the print commands
#and the plot commands etc. 

S3method(print, ntp.polyk, .print_polyk_ntp )

# Summary Methods
S3method(summary, BMDcont_fit_maximized ,.summary_continuous_max)
S3method(print,summary_continuous_max  ,.print_summary_continuous_max)
S3method(summary, BMDdich_fit_maximized ,.summary_dichotomous_max)
S3method(print,summary_dichotomous_max  ,.print_summary_dichotomous_max)

S3method(summary,BMDcont_fit_MCMC , .summary_continuous_mcmc)
S3method(summary,BMDdich_fit_MCMC , .summary_continuous_mcmc)
S3method(print,summary_mcmc  , .print_summary_continuous_mcmc)

S3method(summary,BMDcontinuous_MA_laplace , .summary_ma_max)
S3method(summary,BMDcontinuous_MA_mcmc , .summary_ma_mcmc)
S3method(summary,BMDdichotomous_MA_laplace , .summary_ma_max)
S3method(summary,BMDdichotomous_MA_mcmc , .summary_ma_mcmc)
S3method(print,ma_summary_max,.print_summary_ma )
S3method(print,ma_summary_mcmc,.print_summary_ma )

S3method(summary , ntp.shirley,  .summary_ntpshirley)
S3method(summary , ntp.williams, .summary_ntpwilliams)
S3method(summary , ntp.dunn,  .summary_ntpdunn)
S3method(summary , ntp.dunnett, .summary_ntpdunnett)
#Predict Methods

S3method(predict,BMDdich_fit_maximized, .dichotomous_predict_model)
S3method(predict,BMDcont_fit_maximized, .continuous_predict_model)
S3method(predict,BMDcont_fit_MCMC, .continuous_predict_model_mcmc)
S3method(predict,BMDdich_fit_MCMC, .dichotomous_predict_model_mcmc)


# Base plot for single case

S3method(plot,  BMDdich_fit_MCMC, .plot.BMDdich_fit_MCMC)
S3method(plot,  BMDdich_fit_maximized, .plot.BMDdich_fit_maximized)

# Base plot for single case

S3method(plot, BMDcont_fit_MCMC,      .plot.BMDcont_fit_MCMC)
S3method(plot, BMDcont_fit_maximized, .plot.BMDcont_fit_maximized)


# Base plot for MA case
S3method(plot, BMDcontinuous_MA, .plot.BMDcontinuous_MA)
S3method(plot, BMDdichotomous_MA, .plot.BMDdichotomous_MA) 

S3method(cleveland_plot, BMDdichotomous_MA, .cleveland_plot.BMDdichotomous_MA) 
S3method(cleveland_plot, BMDcontinuous_MA, .cleveland_plot.BMDcontinous_MA) 


# Model Average plot for MCMC
S3method(MAdensity_plot, BMDdichotomous_MA_mcmc, .plot.density.BMDdichotomous_MA_MCMC)
S3method(MAdensity_plot, BMDcontinuous_MA_mcmc, .plot.density.BMDcontinous_MA_MCMC)



