
import(methods)
importFrom(graphics, plot, hist)
import(sp)
#importFrom("sp", bbox, Spatial, SpatialGrid, SpatialGridDataFrame, plot)
import(raster)
#import(gpclib)
#importFrom("gpclib", intersect)  #this takes care of the plot warning
import(rgeos)


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


export(.StemEnv)            #for now, eventually hide it <<*******
export(initRandomSeed, transparentColorBase)

export(sampleLogs, boltDimensions, taperInterpolate, sampleTrees)
export(bboxCheck, bboxToPoly, bboxSum)
export(spCircle)

export(izGridConstruct) #for now, eventually hide it?
export(gridCellEnhance) #ibid



#
# Classes export section...
#
#Stem & StemContainer...
exportClasses(Stem, downLog,   standingTree)
exportClasses(StemContainer, downLogs, standingTrees)
#ArealSampling...
exportClasses(ArealSampling, circularPlot, pointRelascope, perpendicularDistance,
              distanceLimited, angleGauge, lineSegment)
#Tract...
exportClasses(Tract, bufferedTract)
#InclusionZone & izContainer...
exportClasses(InclusionZone, InclusionZoneGrid, csFullInclusionZoneGrid,
              downLogIZ, standUpIZ, sausageIZ, chainSawIZ,
              pointRelascopeIZ, perpendicularDistanceIZ, omnibusPDSIZ,
              distanceLimitedMCIZ, distanceLimitedIZ,
              distanceLimitedPDSIZ, omnibusDLPDSIZ, hybridDLPDSIZ)
exportClasses(standingTreeIZ, circularPlotIZ, horizontalPointIZ, horizontalLineIZ)
exportClasses(izContainer, downLogIZs,  standingTreeIZs)
#sampSurf...
exportClasses(sampSurf)
#monte...
exportClasses(montePop, monteSample, monteNTSample, monteBSSample, monte)



#
# methods export section...
#

#export required for all methods with external generics...
exportMethods(plot, summary, show, hist)
exportMethods(bbox, perimeter, plot3D, area)

#and for all internal methods/generics...
#Stem & StemContainer constructors...
exportMethods(downLog, downLogs,   standingTree, standingTrees)
#ArealSampling constructors...
exportMethods(circularPlot, pointRelascope, perpendicularDistance, distanceLimited,
              angleGauge, lineSegment)
#InclusionZone & izContainer constructors...
exportMethods(standUpIZ, sausageIZ, chainSawIZ, pointRelascopeIZ,
              perpendicularDistanceIZ, omnibusPDSIZ,
              distanceLimitedMCIZ, distanceLimitedIZ,
              distanceLimitedPDSIZ, omnibusDLPDSIZ, hybridDLPDSIZ)
exportMethods(circularPlotIZ, horizontalPointIZ, horizontalLineIZ)
#izContainer constructors...
exportMethods(izContainer, downLogIZs,  standingTreeIZs)
#Tract constructors...
exportMethods(Tract, bufferedTract)
#InclusionZoneGrid constructors...
exportMethods(izGrid, izGridCSFull)
exportMethods(heapIZ)
#sampSurf constructors...
exportMethods(sampSurf)
#exportMethods(Plot)
#monte constructors...
exportMethods(montePop, monte, monteNTSample, monteBSSample)





