Skip to content

Split into operational classes #2

@elliotwoods

Description

@elliotwoods

We need 3 seperate operational classes:

  1. Grabber acts like ofVideoGrabber (has all usual getters, inherits lots of things, can be drawn to screen, etc)
  2. EventGrabber gives purely frame callbacks (no texture, no getpixels, etc). Gives event calls when frame arrives from capture thread.
  3. BlockingGrabber is for 'wintin thread' operation (whenever you ask for frame, it blocks until new frame is ready)

Then seperately we have the Device interface which is implemented for each camera API.

Then we have DeviceControl interface which includes things like:

  • ROI
  • Triggering
  • PIxelMode

Device inherits interface DeviceControl.

For user at runtime:

  1. Grabber implements DeviceControl
  2. EventGrabber gives a DeviceControl on every callback
  3. BlockingGrabber implements DeviceControl

The user then uses syntax like:

Grabber grabber(new ofxXimea(deviceID));

or perhaps

Grabber grabber;
grabber.init<ofxXimea>(deviceID); ///< this calls an inline templated function

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions