gganimintproto: Create a new gganimintproto object

View source: R/gganimintproto.r

gganimintprotoR Documentation

Create a new gganimintproto object


gganimintproto is inspired by the proto package, but it has some important differences. Notably, it cleanly supports cross-package inheritance, and has faster performance.


gganimintproto(`_class` = NULL, `_inherit` = NULL, ...)

gganimintproto_parent(parent, self)



Class name to assign to the object. This is stored as the class attribute of the object. If NULL (the default), no class name will be added to the object.


gganimintproto object to inherit from. If NULL, don't inherit from any object.


A list of members in the gganimintproto object.

parent, self

Access parent class parent of object self.

Calling gganimintproto methods

gganimintproto methods can take an optional self argument: if it is present, it is a regular method; if it's absent, it's a "static" method (i.e. it doesn't use any fields).

Imagine you have a gganimintproto object Adder, which has a method addx = function(self, n) n + self$x. Then, to call this function, you would use Adder$addx(10) – the self is passed in automatically by the wrapper function. self be located anywhere in the function signature, although customarily it comes first.

Calling methods in a parent

To explicitly call a methods in a parent, use gganimintproto_parent(Parent, self).

animint2 documentation built on July 9, 2023, 6:11 p.m.