pro mggrpropertyanimator::getProperty, nframes=nframes, _ref_extra=e
compile_opt strictarr
if (arg_present(nframes)) then nframes = self.properties->count()
if (n_elements(e) gt 0) then self->mggranimator::getProperty, _extra=e
end
pro mggrpropertyanimator::addProperty, name, value
compile_opt strictarr
oproperty = obj_new('MGgrProperty', name, value)
self.properties->add, oproperty
end
pro mggrpropertyanimator::apply, frame=frame
compile_opt strictarr
index = frame - self.startFrame
if ((index ge self.properties->count()) or (index lt 0)) then return
oproperty = self.properties->get(position=index)
oproperty->apply, self.target
end
pro mggrpropertyanimator::cleanup
compile_opt strictarr
obj_destroy, self.properties
self->mggranimator::cleanup
end
function mggrpropertyanimator::init, _extra=e
compile_opt strictarr
if (~self->mggranimator::init(_extra=e)) then return, 0
self.properties = obj_new('IDL_Container')
return, 1
end
pro mggrpropertyanimator__define
compile_opt strictarr
define = { MGgrPropertyAnimator, inherits MGgrAnimator, $
properties : obj_new() $
}
end