Place the camera
cellucid_camera_set.RdSet the camera of a view (views with linked cameras follow); a camera gesture records one of these.
Arguments
- viewer
A viewer
cellucid_view()orcellucid_serve()returned.- view
A view: "View N" as the Compare views list numbers its rows (the live view is View 1 while it is shown, the kept views follow in the order they were kept). Text. Required.
- camera
A camera: its navigation mode, and its orbit and free-fly poses (the one the mode drives is used). A named list. Required.
navigationMode"orbit", "planar" or "free" (free-fly). One of
"orbit","planar","free". Required.orbitA named list. Required.
radiusA number (more than 0). Required.
targetA vector or list of a number (at least 3 items, at most 3 items). Required.
targetRadiusA number (more than 0). Required.
thetaA number. 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 camera.set (Camera). 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: 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_camera_set(viewer, camera = list(freefly = list(pitch = 0,
position = c(0, 0, 0), yaw = 0), navigationMode = "orbit",
orbit = list(phi = 0, radius = 1, target = c(0,
0, 0), targetRadius = 1, theta = 0)), view = "View 1")
print(request)
# cellucid_action_result(request) waits for its outcome.
cellucid_stop(viewer)
}