## compiled code
useDynLib(analogue)

## Imports
##
## vegan
importFrom(vegan,
           pasteCall, eigenvals, tolerance, scores, ordirgl,
           cca, rda, vegdist, wisconsin, decostand)
## mgcv
importFrom(mgcv,
           gam, s, smoothCon, mono.con, pcls, Predict.matrix)
## MASS
importFrom(MASS, dose.p)
## lattice
##   -- need here *only* those funs that we define S3 methods for
##      not the functions from lattice we use as they are covered
##      by Depends: lattice in DESCRIPTION
importFrom(lattice,
           densityplot,
           dotplot,
           histogram,
           xyplot,
           current.panel.limits,
           panel.axis,
           which.packet,
           axis.default,
           trellis.par.get,
           panel.refline,
           panel.grid,
           panel.lines,
           panel.points,
           panel.polygon,
           panel.abline)
## stats
import(stats)
## utils
importFrom(utils, head, tail)
## graphics
import(graphics)
## grid
importFrom(grid,
           convertWidth,
           gpar,
           grid.layout,
           grobWidth,
           frameGrob,
           placeGrob,
           rectGrob,
           textGrob,
           unit,
           unit.c)
## brglm
importFrom(brglm,
           brglm,
           brglm.control)
## rgl
## importFrom(rgl,
##            plot3d,
##            lines3d,
##            decorate3d)

## princurve
importFrom(princurve,
           get.lam)

## Exports
export(
    ## export generics imported from lattice
    densityplot,
    dotplot,
    histogram,

    ## export analogue functions
    analog,
    bayesF,
    bootstrap,
    caterpillar,
    caterpillarPlot,
    chooseTaxa,
    cma,
    compare,
    crossval,
    deshrink,
    dissim,
    dissimilarities,
    distance, oldDistance, ## oldDistance is the original R-only code
                                        #distance3,
                                        #distanceX,
    evenSample,
    fuse,
    getK,
    gradientDist,
    join,
    logitreg,
    mat,
    mcarlo,
    minDC,
    n2,
    optima,
    panel.Loess,
    panel.Stratiplot,
    pcr,
    performance,
    plot3d.prcurve,
    Plot3d,
    prcurve, ##randomWA,
    reconPlot,
    residLen,
    RMSEP,
    splitSample,
    rankDC,
    roc,
    smoothSpline,
    smoothGAM,
    sppResponse,
    Stratiplot,
    stdError,
    timetrack,
    tran,
    varExpl,
    wa,
    weightedCor,
    "setK<-",
    Hellinger,
    ChiSquare
    )

### S3 Methods
##
## main user-visible functions
S3method(analog, default)
S3method(analog, distance)
S3method(bootstrap, default)
S3method(bootstrap, mat)
S3method(bootstrap, wa)
S3method(chooseTaxa, default)
S3method(cma, analog)
S3method(cma, default)
S3method(cma, predict.mat)
S3method(cma, mat)
S3method(compare, default)
S3method(crossval, pcr)
S3method(crossval, wa)
S3method(densityplot, residLen)
S3method(dissimilarities, analog)
S3method(dissimilarities, mat)
S3method(distance, default)
S3method(distance, join)
S3method(oldDistance, default)
S3method(oldDistance, join)
#S3method(distance3, default)
S3method(eigenvals, pcr)
S3method(fuse, dist)
S3method(fuse, matrix)
S3method(getK, default)
S3method(getK, mat)
S3method(getK, bootstrap.mat)
S3method(getK, predict.mat)
S3method(gradientDist, default)
S3method(gradientDist, cca)
S3method(gradientDist, prcurve)
S3method(head, join)
S3method(hist, residLen)
S3method(histogram, residLen)
S3method(logitreg, default)
S3method(logitreg, analog)
S3method(mat, default)
S3method(mat, formula)
S3method(mcarlo, default)
S3method(mcarlo, mat)
S3method(mcarlo, analog)
S3method(minDC, default)
S3method(minDC, predict.mat)
S3method(minDC, analog)
S3method(minDC, wa)
S3method(n2, default)
S3method(optima, default)
S3method(pcr, default)
S3method(pcr, formula)
S3method(performance, bootstrap.wa)
S3method(performance, crossval)
S3method(performance, predict.wa)
S3method(performance, pcr)
S3method(performance, wa)
S3method(RMSEP, default)
S3method(RMSEP, mat)
S3method(RMSEP, bootstrap.mat)
S3method(RMSEP, bootstrap.wa)
##S3method(randomWA, default)
S3method(roc, default)
S3method(roc, analog)
S3method(roc, mat)
S3method(scores, prcurve)
S3method(scores, timetrack)
S3method(sppResponse, prcurve)
S3method(stdError, mat)
S3method(stdError, predict.mat)
S3method("setK<-", default)
S3method("setK<-", mat)
S3method(tail, join)
S3method(tolerance, default)
S3method(tran, default)
S3method(tran, formula)
S3method(varExpl, default)
S3method(varExpl, cca)
S3method(varExpl, prcurve)
S3method(wa, default)
S3method(wa, formula)
S3method(weightedCor, default)
## fitted, predict, coef etc
S3method(coef, pcr)
S3method(coef, wa)
S3method(fitted, pcr)
S3method(fitted, prcurve)
S3method(fitted, bootstrap.mat)
S3method(fitted, logitreg)
S3method(fitted, mat)
S3method(fitted, timetrack)
S3method(fitted, wa)
S3method(predict, logitreg)
S3method(predict, mat)
S3method(predict, pcr)
S3method(predict, prcurve)
S3method(predict, timetrack)
S3method(predict, wa)
S3method(residuals, bootstrap.mat)
S3method(residuals, mat)
S3method(residuals, pcr)
S3method(residuals, prcurve)
## plotting
S3method(caterpillarPlot, default)
S3method(caterpillarPlot, data.frame)
S3method(caterpillarPlot, wa)
S3method(dotplot, rankDC)
S3method(plot, minDC)
S3method(plot, bayesF)
S3method(plot, cma)
S3method(plot, dissimilarities)
S3method(plot, evenSample)
S3method(plot, gradientDist)
S3method(lines, gradientDist)
S3method(points, gradientDist)
S3method(plot, logitreg)
S3method(plot, mat)
S3method(plot, mcarlo)
S3method(plot, prcurve)
S3method(lines, prcurve)
S3method(plot, rankDC)
S3method(plot, residLen)
S3method(plot, roc)
S3method(plot, sppResponse)
S3method(plot, timetrack)
S3method(points, timetrack)
S3method(plot, wa)
S3method(plot, weightedCor)
##S3method(plot3d, prcurve)
S3method(reconPlot, default)
S3method(reconPlot, predict.mat)
S3method(reconPlot, predict.wa)
S3method(screeplot, bootstrap.mat)
S3method(screeplot, mat)
S3method(screeplot, pcr)
S3method(Stratiplot, default)
S3method(Stratiplot, formula)
## print
S3method(print, analog)
S3method(print, bayesF)
S3method(print, bootstrap.mat)
S3method(print, bootstrap.wa)
S3method(print, cma)
S3method(print, crossval)
S3method(print, evenSample)
S3method(print, fitted.bootstrap.mat)
S3method(print, fitted.mat)
S3method(print, logitreg)
S3method(print, mat)
S3method(print, mcarlo)
S3method(print, minDC)
S3method(print, optima)
S3method(print, pcr)
S3method(print, performance)
S3method(print, prcurve)
S3method(print, predict.mat)
S3method(print, predict.wa)
S3method(print, rankDC)
S3method(print, residLen)
S3method(print, residuals.bootstrap.mat)
S3method(print, residuals.mat)
S3method(print, roc)
S3method(print, stdError)
S3method(print, summary.analog)
S3method(print, summary.bootstrap.mat)
S3method(print, summary.cma)
S3method(print, summary.logitreg)
S3method(print, summary.mat)
S3method(print, summary.predict.mat)
S3method(print, summary.roc)
S3method(print, timetrack)
S3method(print, tolerance)
S3method(print, wa)
S3method(print, weightedCor)
## summary
S3method(summary, analog)
S3method(summary, bootstrap.mat)
S3method(summary, cma)
S3method(summary, logitreg)
S3method(summary, mat)
S3method(summary, predict.mat)
S3method(summary, roc)
## utilities
S3method(as.data.frame, optima)
S3method(as.data.frame, tolerance)
