The combination of
importFrom(<package>, <generic name>)
S3method(<generic name>, <new class>, <new function>)

works fine for me in a toy example.  I don't have OpenGL on my laptop to
test your actual case but I see no reason it wouldn't work.

~G


On Sun, Aug 25, 2013 at 7:29 AM, Hadley Wickham <h.wickham@gmail.com> wrote:

> What I do, which is probably wrong, but at least it works, is export
> the s3 method as a function. i.e. instead of
>
> S3method(genericfunction, myclass)
>
> I do
>
> export(genericfunction.myclass)
>
> Hadley
>
> On Fri, Aug 23, 2013 at 11:01 PM, Gavin Simpson <ucfagls@gmail.com> wrote:
> > Dear List,
> >
> > In one of my packages I have an S3 method for the plot3d generic
> > function from package rgl. I am trying to streamline my Depends
> > entries but don't know how to have
> >
> > plot3d(foo)
> >
> > in the examples section for the plot3d method in my package, without
> > rgl being in Depends.
> >
> > Note that I importFrom(rgl, plotd3d) and register my S3 method via
> > S3Method() in the NAMESPACE.
> >
> > If rgl is not in Depends but in Imports, I see this when checking the
> package
> >
> >> ## 3D plot of data with curve superimposed
> >> plot3d(aber.pc, abernethy2)
> > Error: could not find function "plot3d"
> >
> > I presume this is because rgl's namespace is only loaded but the
> > package is not attached to the search path.
> >
> > Writing R extensions indicates that one can export from a namespace
> > something that was imported from another package namespace. I thought
> > that might help the situation, and now the code doesn't raise an
> > error, I get
> >
> > * checking for missing documentation entries ... WARNING
> > Undocumented code objects:
> >   ‘plot3d’
> > All user-level objects in a package should have documentation entries.
> > See the chapter ‘Writing R documentation files’ in the ‘Writing R
> > Extensions’ manual.
> >
> > as I don't document plot3d() itself.
> >
> > What is the recommended combination of Depends and Imports plus
> > NAMESPACE directives etc that one should use in this situation? Or am
> > I missing something else?
> >
> > I have a similar issue with my package including an S3 method for a
> > generic in the lattice package, so if possible I could get rid of both
> > of these from Depends if I can solve the above issue.
> >
> > Thanks in advance.
> >
> > Gavin
> >
> > --
> > Gavin Simpson
> >
> > ______________________________________________
> > R-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
>
> --
> Chief Scientist, RStudio
> http://had.co.nz/
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Gabriel Becker
Graduate Student
Statistics Department
University of California, Davis

	[[alternative HTML version deleted]]

