Skip to contents

Let views that show the same embedding share one camera, or give each view its own.

Usage

cellucid_view_cameras_link(viewer, linked)

Arguments

viewer

A viewer cellucid_view() or cellucid_serve() returned.

linked

true to link, false to unlink. TRUE or FALSE. Required.

Value

A cellucid_action_request, at once and invisibly: the action is sent now, or when the viewer's channel opens. cellucid_action_result(request) returns its outcome (what it did, as names, counts and ids), or NULL when it had nothing to report; request$step is the history step it made.

Details

The viewer's action view.cameras.link (Views). It changes what the viewer shows: one step of the viewer's history, labelled as R's, undone like any other. The state it can change: views, camera.

See also

cellucid_act() sends any action by its type, and cellucid_action_result() collects its answer.

Examples

if (interactive() && requireNamespace("SeuratObject", quietly = TRUE)) {
  data("pbmc_small", package = "SeuratObject")
  viewer <- cellucid_view(SeuratObject::UpdateSeuratObject(pbmc_small))
  request <- cellucid_view_cameras_link(viewer, linked = FALSE)
  print(request)
  # cellucid_action_result(request) waits for its outcome.
  cellucid_stop(viewer)
}