useDynLib(gRain)

exportPattern("^[[:alpha:]]+")

importFrom(Rcpp, evalCpp)

importFrom(stats, simulate)

import(methods)

import(gRbase)

importFrom(graph, edges, nodes)
#importMethodsFrom(graph, plot)


importFrom("graphics", "plot")
importFrom("stats", "runif", "terms", "xtabs")
importFrom("utils", "str")

importFrom(igraph, igraph.from.graphNEL, V, "V<-", layout.graphopt)

S3method(compile, CPTgrain)
S3method(compile, POTgrain)
S3method(compile, grain)

S3method(grain, CPTspec)
S3method(grain, POTspec)
S3method(grain, dModel)
S3method(grain, graphNEL)
S3method(iplot, grain)
S3method(nodeNames, grain)
S3method(nodeStates, grain)
S3method(plot, grain)
S3method(predict, grain)
S3method(print, CPTspec)
S3method(print, POTspec)

S3method(print, cptable)
S3method(print, grain)
S3method(print, grainEvidence_)
S3method(print, grainJEvidence_)
S3method(printlist, default)
S3method(printlist, list)

S3method(propagate, grain)
S3method(querygrain, grain)
S3method(splitVec, default)
S3method(splitVec, list)

S3method(summary, CPTspec)
S3method(summary, grain)
S3method(update, CPTgrain)
S3method(valueLabels, cptable)
S3method(valueLabels, table)
S3method(varNames, cptable)
S3method(varNames, table)


S3method(simulate, grain)


