# transport NAMESPACE file
#

# Import from standard packages (except for base)
#
importFrom("grDevices", "grey", "heat.colors", "png", "dev.off")
importFrom("graphics", "arrows", "image", "lines", "matplot", "par", "plot",
             "points", "polygon", "segments")
importFrom("methods", "is")
importFrom("stats", "aggregate", "dist", "na.omit", "optim", "rmultinom", "runif")


# Import from other packages
#
# importFrom("ks", "binning", "kde")
# importFrom("animation", "ani.options", "im.convert")
# (apparently not needed for suggested packages)
importFrom(Rcpp, evalCpp)


# Entry points into compiled code
useDynLib(transport, .registration = TRUE)
#useDynLib(transport,
# "primaldual","auction","auctionbf","revsimplex","shortsimplex",
# "decompose_c","aha_phi","aha_dphi","aha_init","aha_free","aha_wasserstein","aha_compute_transport","aha_get_transport",
# "compute_power_diagram","get_power_diagram")
#

# Export all names unless they start with a period
#exportPattern("^[^\\.]")
# exports many internals and NativeSymbolInfos -> undesirable

# The following list was generated by manual deletion of native symbols
# from cat(sort(getNamespaceExports("transport")), sep=",\n")
# Internal functions were commented out

#_transport_SolveHierarchicalTransport,
export(aha,
#aha_compute_transport,
#aha_dphi,
#aha_free,
#aha_get_transport,
#aha_init,
#aha_phi,
#aha_wasserstein,
all.equal.pgrid,
all.equal.pp,
all.equal.wpp,
#auction,
#auctionbf,
compatible,
compatible.pgrid,
compatible.pp,
compatible.wpp,
#create_diagram,
#compute_power_diagram,
#costp2,
#decompose_c,
dedegenerate,
#findblocks,
#fudge,
#get_power_diagram,
#gif.generate,
#image2,
#image3,
northwestcorner,
pgrid,
plot_apollonius,
#plot_pgrid_wpp,
plot.pgrid,
plot.power_diagram,
plot.pp,
plot.wpp,
power_diagram,
pp,
#primaldual,
#print.pgrid,
#print.pp,
#print.wpp,
#refinesol,
#refinesol2,
#res2matrix,
ret_message,
#revsimplex,
russell,
#scalestart,
semidiscrete,
#semidiscrete_p1,
semidiscrete1,
shielding,
#shortsimplex,
#SolveHierarchicalTransport,
subwasserstein,
#summary.pgrid,
#summary.pp,
#summary.wpp,
transport,
transport_apply,
transport_error,
transport_track,
transport.default,
transport.pgrid,
transport.pp,
transport.wpp,
trcontrol,
#triangulate,
wasserstein,
wasserstein1d,
wpp)




# Registering S3 methods
# Not sure if this is necessary for my own generic functions
S3method("plot", "pgrid")
S3method("plot", "power_diagram")
S3method("plot", "pp")
S3method("plot", "wpp")
S3method("print", "pgrid")
S3method("print", "pp")
S3method("print", "wpp")
S3method("summary", "pgrid")
S3method("summary", "pp")
S3method("summary", "wpp")
S3method("all.equal", "pgrid")
S3method("all.equal", "pp")
S3method("all.equal", "wpp")
S3method("compatible", "pgrid")
S3method("compatible", "pp")
S3method("compatible", "wpp")
S3method("transport", "pgrid")
S3method("transport", "pp")
S3method("transport", "wpp")
S3method("transport", "default")

