vrCameraService

class vrCameraService

(Inherits vrBaseService)

Interface to access cameras and viewpoints in VRED.

This is the basic interface to access, create or delete cameras and viewpoints. It also provides functionality to access the camera graph by using vrCameraService.getCameraRoot().

These are some basic examples how to work on the camera graph:

#add a group node
groupNode = vrCameraService.createCameraGroup("group1")

#search for the group node in the camera graph
groupNode = vrNodeService.findNode("group1", root=vrCameraService.getCameraRoot())

#create a new camera below that group
cameraNode = vrCameraService.createCamera("NewCamera", cameraGraphParentNode=groupNode)

#delete the camera and group again
vrNodeService.removeNodes([groupNode, cameraNode])

Functions

vrCameraService.copiedNodesAvailable()

Indicates if there are nodes in the internal copy buffer.

Nodes can be copied with vrCameraService.copyNodes(nodes).

Returns:True if there are any nodes in the copy buffer, False otherwise.
Return type:bool
vrCameraService.copyNodes(nodes)

Add nodes to the internal copy buffer.

This adds nodes to the internal copy buffer from where they then can be used with vrCameraService.pasteAttributes(cameras, option) or vrCameraService.pasteNodes(targetNodes). The copy buffer is always cleared first when this function is called. The copied nodes must be in the camera tree.

Parameters:nodes (List[vrdNode]) – The nodes to be copied
vrCameraService.createCamera(name, mode=vrCameraTypes.ProjectionPerspective, constraint=vrCameraTypes.ConstraintNone, sceneGraphParentNode=vrdNode(), cameraGraphParentNode=vrdNode())

Creates a new camera.

Parameters:
  • name (string) – The name for the camera.
  • mode (vrCameraTypes.CameraProjectionMode) – Defines the mode (e.g. perspective or orthographic) of the created camera.
  • constraint (vrCameraTypes.CameraConstraint) – Defines if a constraint should be applied to the created camera.
  • sceneGraphParentNode (vrdNode) – This scene graph node is used as a parent for the created camera (scene root is default).
  • cameraGraphParentNode (vrdNode) – This camera graph node is used as a parent for the created camera (camera root is default).
Returns:

Created camera (always returns the camera tree node).

Return type:

vrdCameraNode

vrCameraService.createCameraGroup(name, cameraGraphParentNode=vrdNode())

Creates a new camera group.

Parameters:
  • name (string) – The name used for new created group.
  • cameraGraphParentNode (vrdNode) – Group will be created as child of this group, group has to be a child of the camera root. If no parent is given, the camera root is used.
Returns:

Created camera group

Return type:

vrdNode

vrCameraService.createCameraTrack(name, cameraNode=vrdCameraNode())

Creates a new camera track.

Parameters:
  • name (string) – The name of the new created node.
  • cameraNode (vrdCameraNode) – Camera to add the new created node (if not given, active camera will be used).
Returns:

Created camera track

Return type:

vrdCameraTrackNode

vrCameraService.createViewpoint(name, cameraTrack=vrdCameraTrackNode())

Creates a new viewpoint.

Parameters:
  • name (string) – The name for the new created viewpoint.
  • cameraTrack (vrdCameraTrackNode) – Defines parent for the new created viewpoint. If no camera track is given, first the default camera track of the active camera is used. If there is also no default camera track, a new track will be created.
Returns:

Created viewpoint (in camera tree)

Return type:

vrdViewpointNode

vrCameraService.duplicateNode(node)

Creates a copy of a camera tree node (including its children).

Parameters:node (vrdNode) –
Returns:Returns the duplicated node.
Return type:vrdNode
vrCameraService.getActiveCamera(useCameraGraph=False)

Returns the active camera of the currently active viewport.

Parameters:useCameraGraph (bool) – If True the camera from the camera graph is returned. If False the scene tree camera is returned.
Returns:Camera node
Return type:vrdCameraNode
vrCameraService.getAllCameraTracks()

Returns the list of all camera tracks.

Returns:List of camera tracks
Return type:List[vrdCameraTrackNode]
vrCameraService.getAllViewpoints()

Returns the list of all viewpoints.

Returns:List of viewpoints
Return type:List[vrdViewpointNode]
vrCameraService.getCamera(name, useCameraGraph=False)

Returns the first camera with the given name.

Parameters:
  • name (string) – The name of camera (case sensitive).
  • useCameraGraph (bool) – If True the camera from the camera graph is returned. If False the scene tree camera is returned.
Returns:

Camera node

Return type:

vrdCameraNode

vrCameraService.getCameraNames()

Returns a list with the names of all cameras.

Returns:List of camera names
Return type:List[string]
vrCameraService.getCameraRoot()

Returns the root node of cameras, that contains all cameras, camera tracks and viewpoints.

Returns:Root node
Return type:vrdNode
vrCameraService.getCameras(useCameraGraph=False)

Returns the list of all cameras (not including viewpoints or camera tracks).

Parameters:useCameraGraph (bool) –
Returns:List of cameras
Return type:List[vrdCameraNode]
vrCameraService.getSelectedNodes()

Returns the nodes currently selected in camera editor.

Returns:Selected nodes
Return type:List[vrdNode]
vrCameraService.getViewpoint(name)

Returns the first viewpoint with the given name.

Parameters:name (string) –
Returns:Viewpoint node
Return type:vrdViewpointNode
vrCameraService.getViewpointCreationMode()

Returns if tracking transformation should be included in viewpoint transformation.

Returns:
Return type:vrCameraTypes.ViewpointCreationMode
vrCameraService.load(filename)

Load camera related nodes.

Supported formats / file extensions:

‘.xml’: Adds contained cameras and viewpoints
‘.vpb’, ‘.osb’, ‘.vpe’: Adds contained camera structure including camera groups, tracks and viewpoints
‘.wrl’: Adds camera animation
‘.views’: Add contained viewpoints
‘.jpg’, ‘.jpeg’, ‘.png’, ‘.tif’, ‘.tiff’, ‘.exr’: Will create camera from contained meta data
Parameters:filename (string) – File containing camera related nodes.
Returns:Returns the list of loaded nodes.
Return type:List[vrdNode]
vrCameraService.pasteAttributes(cameras, option=vrCameraTypes.PasteOption.PasteAllAttributes)

Paste attributes of nodes.

This function allows to copy groups of attributes (or all) from the first camera in the internal copy buffer to all camera nodes given in ‘cameras’.

The copy buffer needs to be filled first with vrCameraService.copyNodes(nodes).

Parameters:
vrCameraService.pasteNodes(targetNodes)

Paste nodes from the internal copy buffer.

This adds a copy of every node in the internal copy buffer as a child of every node given in targetNodes.

Parameters:targetNodes (List[vrdNode]) – The target nodes where nodes should be pasted to.
Returns:The pasted nodes
Return type:List[vrdNode]
vrCameraService.saveCameras(nodes, filename)

Save cameras and viewpoints to an .xml file (no hierarchy, groups or tracks supported).

Parameters:
  • nodes (List[vrdNode]) – List of cameras and viewpoints.
  • filename (string) – File to save nodes (only ‘.xml’ files are supported).
Returns:

Return True on success.

Return type:

bool

vrCameraService.saveNodes(nodes, filename)

Save nodes including children (tracks, groups, viewpoints) to .osb file.

Parameters:
  • nodes (List[vrdNode]) – List of nodes.
  • filename (string) – Filename to use (only ‘.osb’ files are supported).
Returns:

Return True on success.

Return type:

bool

vrCameraService.saveViewpoints(filename)

Save all viewpoints to ‘.xml’ file.

Parameters:filename (string) – File to save nodes (only ‘.xml’ files are supported).
Returns:Return True on success
Return type:bool
vrCameraService.setSelectedNodes(nodes)

Sets the selection in camera editor.

Parameters:nodes (List[vrdNode]) – Nodes to be selected
vrCameraService.setViewpointCreationMode(mode)

Defines if tracking transformation should be included in viewpoint transformation.

Parameters:mode (vrCameraTypes.ViewpointCreationMode) – Add or ignore tracking transformation when creating viewpoints.
vrCameraService.zoomToNodes(nodes)

Zoom to the given nodes.

Parameters:nodes (List[vrdNode]) – A list of nodes that should be in view

Signals

vrCameraService.selectionChanged(nodes)

Notifies about selection changes of camera editor.

Parameters:nodes (List[vrdNode]) – The currently selected nodes