Skip to content
On this page

class SceneCamera ​

SceneCamera is the camera node in the Simplygon scene graph. SceneCamera contains settings that specify how the camera works and it contains a number of views for that type of camera. A view is a combination of a CameraPosition and a TargetPosition. The SceneCamera can contain any number of views but every element in TargetPositions has to correspond to a tuple element in CameraPosition. TargetPositions is not needed if the camera is set to being omni directional.

Properties ​

PropertyDescription
CameraTypeThe camera type. Perspective - A regular camera that uses the FieldOfView. Omnidirectional - An omni directional camera view all directions from its position and ignores the TargetPositions and FieldOfView. Orthographic - Orthographic cameras render the scene in a direction determined by the vector from CameraPositions to TargetPositions, it uses OrthographicCameraPixelSize and ignores the FieldOfView and UseNormalizedCoordinates.
FieldOfViewThe field of view (in radians) of the camera.
IsModifiedIf set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph. (Inherited from SceneNode)
IsVisibleThe IsVisible flag. If set, the node is visible. (Inherited from SceneNode)
NameThe name of the SceneCamera object. (Inherited from Object)
NodeGUIDThe unique id for this node. (Inherited from SceneNode)
OriginalNameThe OriginalName parameter which can be used to specify the original name of a node, for debugging of merging purposes. This parameter is not copied or cloned, and is not used internally by Simplygon. (Inherited from SceneNode)
OrthographicCameraPixelSizeSpecifies/Gets the length of the side of a square pixel if the camera type is Orthographic.
PixelFieldOfViewDetermines the resolution by specifying the field of view per pixel (both vertically and horizontally) if the camera type is Perspective or Omnidirectional. For instance, if the camera type is Perspective and has PI/2 radians field of view (for the entire camera) and the pixel field of view is (PI/2)/512 the camera will have 512x512 pixels.
UseNormalizedCoordinatesNormalized coordinates means that the coordinates are relative to the scene: the origin is in the center of the scene and 1 unit length is the distance of the scene radius. This can be used to have cameras in front of or above the scene for instance without having to know the coordinates of the scene. If set to false, then absolute coordinates will be used instead.

Methods ​

MethodDescription
AddChildAdds a child node to this node. If the child is already a child of another node, it is removed from this node. (Inherited from SceneNode)
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
CalculateExtentsCalculates the axis-aligned bounding box of the node and all its children. If the node tree contains no geometric data, or all data is hidden, the bounding box is not calculated, and the method returns false. (Inherited from SceneNode)
CreateChildMeshCreates a SceneMesh node as a child node to this node. (Inherited from SceneNode)
CreateChildPlaneCreates a ScenePlane node as a child node to this node. (Inherited from SceneNode)
EvaluateDefaultGlobalTransformationEvaluates the default global transformation of the node, regardless of node animation. (Inherited from SceneNode)
FindNamedChildFinds the first child that has the name. (Inherited from SceneNode)
GetCameraPositionsCameraPositions is an IRealArray (with tuple size 3) where each tuple is a 3d camera position.
GetChildGet a pointer to the i:th child of this node. (Inherited from SceneNode)
GetChildCountThe number of direct children of this node. (Inherited from SceneNode)
GetClassGet the name of the SceneCamera class. (Inherited from Object)
GetInfThe inferior (minimum) extent of the node. (Inherited from SceneNode)
GetNumberOfViewsReturns the number of views.
GetParentThe parent node of this node. (Inherited from SceneNode)
GetPathThe path to this node in the scene. Please note that only paths where each node has a name can be used to get to the node using the path. (Inherited from SceneNode)
GetRelativeTransformThe relative transformation of this node. (Inherited from SceneNode)
GetSceneThe scene object of the node. (Inherited from SceneNode)
GetSupThe superior (maximum) extent of the node. (Inherited from SceneNode)
GetTargetPositionsTargetPositions is an IRealArray (with tuple size 3) where each tuple is a 3d camera target position.
HasChildReturns true if the node has the specified child. (Inherited from SceneNode)
IsAReturns true if SceneCamera is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the SceneCamera object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the SceneCamera object is valid. (Inherited from Object)
NewCopyDeep copies this node tree (this node and all the descendants of this node) and returns the copy top node. Please note that the copy is not added to any scene, and can be added anywhere. Also note that the clone shares all data pointers with the original nodes, such as geometry data objects. (Inherited from SceneNode)
NonNullReturns true if the SceneCamera object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the SceneCamera object to the log. (Inherited from Object)
RemoveChildRemoves a child from the node. (Inherited from SceneNode)
RemoveChildrenRemoves all children of this node. (Inherited from SceneNode)
RemoveFromParentRemoves this node from its parent. (Inherited from SceneNode)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetCustomSphereCameraPathCreates a set of camera views placed on a custom sphere around the center of the scene.
ValidateCameraValidates the camera properties. Asserts on invalid properties.

Static methods ​

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast makes sure the input object is of a class that can be cast into spSceneCamera, and if this is the case, returns the object cast into spSceneCamera. (Inherited from Object)

Properties details ​

CameraType ​

The camera type. Perspective - A regular camera that uses the FieldOfView. Omnidirectional - An omni directional camera view all directions from its position and ignores the TargetPositions and FieldOfView. Orthographic - Orthographic cameras render the scene in a direction determined by the vector from CameraPositions to TargetPositions, it uses OrthographicCameraPixelSize and ignores the FieldOfView and UseNormalizedCoordinates.

FieldOfView ​

The field of view (in radians) of the camera.

IsModified ​

If set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph.

IsVisible ​

The IsVisible flag. If set, the node is visible.

Name ​

The name of the SceneCamera object. (Inherited from Object)

NodeGUID ​

The unique id for this node.

OriginalName ​

The OriginalName parameter which can be used to specify the original name of a node, for debugging of merging purposes. This parameter is not copied or cloned, and is not used internally by Simplygon.

OrthographicCameraPixelSize ​

Specifies/Gets the length of the side of a square pixel if the camera type is Orthographic.

PixelFieldOfView ​

Determines the resolution by specifying the field of view per pixel (both vertically and horizontally) if the camera type is Perspective or Omnidirectional. For instance, if the camera type is Perspective and has PI/2 radians field of view (for the entire camera) and the pixel field of view is (PI/2)/512 the camera will have 512x512 pixels.

UseNormalizedCoordinates ​

Normalized coordinates means that the coordinates are relative to the scene: the origin is in the center of the scene and 1 unit length is the distance of the scene radius. This can be used to have cameras in front of or above the scene for instance without having to know the coordinates of the scene. If set to false, then absolute coordinates will be used instead.

Methods details ​

AddChild ​

Adds a child node to this node. If the child is already a child of another node, it is removed from this node.

AddObserver ​

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

CalculateExtents ​

Calculates the axis-aligned bounding box of the node and all its children. If the node tree contains no geometric data, or all data is hidden, the bounding box is not calculated, and the method returns false.

CreateChildMesh ​

Creates a SceneMesh node as a child node to this node.

CreateChildPlane ​

Creates a ScenePlane node as a child node to this node.

EvaluateDefaultGlobalTransformation ​

Evaluates the default global transformation of the node, regardless of node animation.

FindNamedChild ​

Finds the first child that has the name.

GetCameraPositions ​

CameraPositions is an IRealArray (with tuple size 3) where each tuple is a 3d camera position.

GetChild ​

Get a pointer to the i:th child of this node.

GetChildCount ​

The number of direct children of this node.

GetClass ​

Get the name of the SceneCamera class. (Inherited from Object)

GetInf ​

The inferior (minimum) extent of the node.

GetNumberOfViews ​

Returns the number of views.

GetParent ​

The parent node of this node.

GetPath ​

The path to this node in the scene. Please note that only paths where each node has a name can be used to get to the node using the path.

GetRelativeTransform ​

The relative transformation of this node.

GetScene ​

The scene object of the node.

GetSup ​

The superior (maximum) extent of the node.

GetTargetPositions ​

TargetPositions is an IRealArray (with tuple size 3) where each tuple is a 3d camera target position.

HasChild ​

Returns true if the node has the specified child.

IsA ​

Returns true if SceneCamera is a or is a descendant of the class named as the type parameter. (Inherited from Object)

IsNull ​

Returns true if the SceneCamera object is invalid. (Inherited from Object)

IsSameObjectAs ​

Returns true if the SceneCamera object is valid. (Inherited from Object)

NewCopy ​

Deep copies this node tree (this node and all the descendants of this node) and returns the copy top node. Please note that the copy is not added to any scene, and can be added anywhere. Also note that the clone shares all data pointers with the original nodes, such as geometry data objects.

NonNull ​

Returns true if the SceneCamera object is valid. (Inherited from Object)

PrintInfo ​

Prints the content/info of the SceneCamera object to the log. (Inherited from Object)

RemoveChild ​

Removes a child from the node.

RemoveChildren ​

Removes all children of this node.

RemoveFromParent ​

Removes this node from its parent.

RemoveObserver ​

Removes a previously added observer object. (Inherited from Object)

SetCustomSphereCameraPath ​

Creates a set of camera views placed on a custom sphere around the center of the scene.

ValidateCamera ​

Validates the camera properties. Asserts on invalid properties.

Static methods details ​

IsClassA ​

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

SafeCast ​

SafeCast makes sure the input object is of a class that can be cast into spSceneCamera, and if this is the case, returns the object cast into spSceneCamera. (Inherited from Object)