SBDDocumentCamera Class Reference

This class describes a camera. More...

Constructors and destructors

 SBDDocumentCamera ()
 Constructs a camera.
 
 SBDDocumentCamera (const std::string &name)
 Constructs a camera with name name.
 
virtual ~SBDDocumentCamera ()
 Destructs the camera.
 

Serialization

bool isSerializable () const
 Returns true.
 
virtual void serialize (SBCSerializer *serializer, const SBNodeIndexer &nodeIndexer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber &classVersionNumber=SBVersionNumber(1, 0, 0)) const
 Serializes the camera.
 
virtual void unserialize (SBCSerializer *serializer, const SBNodeIndexer &nodeIndexer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber &classVersionNumber=SBVersionNumber(1, 0, 0))
 Unserializes the camera.
 

Topology

virtual SBDDocumentCameraclone ()
 Returns a copy of the node and its descendants.
 

Identity

virtual SBDDataGraphNode::Type getType () const
 Returns the type of the data graph node.
 
const std::string & getName () const
 Returns the name of the camera.
 
void setName (const std::string &n)
 Sets the name of the camera. More...
 
SBDDocumentCameragetNextCamera () const
 Returns the next camera in the document.
 
SBDDocumentCameragetPreviousCamera () const
 Returns the previous camera in the document.
 

Coordinates systems

SBPosition3 getFrustumPositionFromWorldPosition (const SBPosition3 &worldPosition) const
 Returns the projection in the frustum of a given world position.
 
SBPosition3 getWorldPositionFromFrustumPosition (const SBPosition3 &frustumPosition) const
 Returns the world position that corresponds to a frustum position.
 

Attributes

bool getOrthographicProjectionFlag () const
 Returns the orthographic projection flag.
 
void setOrthographicProjectionFlag (bool orthographicProjectionFlag)
 Sets the orthographic projection flag.
 
SBPosition3 const & getEyePosition () const
 Returns the position of the eye.
 
void setEyePosition (const SBPosition3 &eyePosition)
 Sets the position of the eye.
 
SBPosition3 const & getHeadPosition () const
 Returns the position of the head.
 
void setHeadPosition (const SBPosition3 &headPosition)
 Sets the position of the head.
 
SBVector3 const & getHeadForwardVector () const
 Returns the forward vector of the head.
 
void setHeadForwardVector (const SBVector3 &headForwardVector)
 Sets the forward vector of the head.
 
SBVector3 const & getHeadUpVector () const
 Returns the up vector of the head.
 
void setHeadUpVector (const SBVector3 &headUpVector)
 Sets the up vector of the head.
 
SBPosition3 const & getTargetPosition () const
 Returns the position of the target.
 
void setTargetPosition (const SBPosition3 &targetPosition)
 Sets the position of the target.
 
SBVector3 const & getUpVector () const
 Returns the up vector.
 
void setUpVector (const SBVector3 &upVector)
 Sets the up vector.
 
SBPosition3 const & getEyeDestination () const
 Returns the destination of the eye.
 
void setEyeDestination (const SBPosition3 &eyeDestination)
 Sets the destination of the eye.
 
SBPosition3 const & getTargetDestination () const
 Returns the destination of the target.
 
void setTargetDestination (const SBPosition3 &targetDestination)
 Sets the destination of the target.
 
SBVector3 const & getUpVectorDestination () const
 Returns the destination of the up vector.
 
void setUpVectorDestination (const SBVector3 &upVectorDestination)
 Sets the destination of the up vector.
 
SBPicometerPerSecond3 const & getEyeVelocity () const
 Returns the velocity of the eye.
 
void setEyeVelocity (const SBPicometerPerSecond3 &eyeVelocity)
 Sets the velocity of the eye.
 
SBPicometerPerSecond3 const & getTargetVelocity () const
 Returns the velocity of the target.
 
void setTargetVelocity (const SBPicometerPerSecond3 &targetVelocity)
 Sets the velocity of the target.
 
SBRadianPerSecond3 const & getRotationVelocity () const
 Returns the rotation velocity.
 
void setRotationVelocity (const SBRadianPerSecond3 &rotationVelocity)
 Sets the rotation velocity.
 
double const * getProjectionMatrix () const
 Returns the projection matrix.
 
double const * getViewMatrix () const
 Returns the view matrix.
 
double const * getViewProjectionMatrix () const
 Returns the view projection matrix.
 
float const * getProjectionMatrixTranspose () const
 Returns the transpose of the projection matrix.
 
float const * getViewMatrixTranspose () const
 Returns the transpose of the view matrix.
 
float const * getViewProjectionMatrixTranspose () const
 Returns the transpose of the view projection matrix.
 
float const * getViewProjectionMatrixTransposeInverse () const
 Returns the inverse of the transpose of the view projection matrix.
 
void setMatrices (float *projectionMatrix, float *viewMatrix, const SBQuantity::length &lengthPerUnit, const SBSpatialTransform &origin)
 Sets the camera matrices.
 
const SBQuantity::lengthgetNearPlane () const
 Returns the near plane.
 
void setNearPlane (const SBQuantity::length &nearPlane)
 Sets the near plane.
 
const SBQuantity::lengthgetFarPlane () const
 Returns the far plane.
 
void setFarPlane (const SBQuantity::length &farPlane)
 Sets the far plane.
 
const SBQuantity::lengthgetClippingPlane () const
 Returns the clipping plane.
 
void setClippingPlane (const SBQuantity::length &clippingPlane)
 Sets the clipping plane.
 
float getFieldOfViewAngleY () const
 Returns the field of view angle.
 
void setFieldOfViewAngleY (float fieldOfViewAngleY)
 Sets the field of view angle.
 
float getAspectRatio () const
 Returns the aspect ratio.
 
void setAspectRatio (float aspectRatio)
 Sets the aspect ratio.
 
SBVector3 getBasisX () const
 Returns the x vector of the camera basis.
 
SBVector3 getBasisY () const
 Returns the y vector of the camera basis.
 
SBVector3 getBasisZ () const
 Returns the z vector of the camera basis.
 
SBSpatialTransform getTransform () const
 
bool getInertiaFlag () const
 Returns the inertia flag.
 
void setInertiaFlag (bool flag)
 Sets the inertia flag.
 

Motion

bool updateState ()
 Updates the state of the camera and returns true if the camera moved.
 
bool isMoving () const
 Returns whether the camera is currently moving.
 
void stop ()
 Stops the camera.
 
void transform (const SBSpatialTransform &transform, bool immediate=false)
 Applies a spatial transform to the camera.
 
void rotate (const SBVector3 &axis, const SBQuantity::dimensionless &angle, bool immediate=false)
 Rotates the camera.
 
void rotate (const SBRadianPerSecond3 &velocity, const SBPosition3 &center)
 Rotates the camera.
 
void rotateLeft (bool immediate=false)
 Rotates the camera 45 degrees left around its target.
 
void rotateRight (bool immediate=false)
 Rotates the camera 45 degrees right around its target.
 
void rotateUp (bool immediate=false)
 Rotates the camera 45 degrees up around its target.
 
void rotateDown (bool immediate=false)
 Rotates the camera 45 degrees down around its target.
 
void rotateClockwise (bool immediate=false)
 Rotates the camera 45 degrees clockwise around its axis.
 
void rotateCounterClockwise (bool immediate=false)
 Rotates the camera 45 degrees counterclockwise around its axis.
 
void translate (const SBLength3 &translation, bool immediate=false)
 Translates the camera.
 
void translate (const SBPicometerPerSecond3 &velocity)
 Translates the camera.
 
void center (bool immediate=false)
 Centers the camera.
 
void center (const SBNodeIndexer &nodeIndexer, bool immediate=false)
 Centers the camera on the indexed nodes.
 
void alignWithAxis (const SBNodeIndexer &nodeIndexer, bool reversed=false)
 Aligns the indexed nodes with the camera axis.
 
void alignWithPlane (const SBNodeIndexer &nodeIndexer, bool reversed=false)
 Aligns the indexed nodes with the camera plane.
 
void zoomIn (const SBQuantity::picometerPerSecond &velocity, const SBPosition3 &center)
 Zooms in.
 
void zoomOut (const SBQuantity::picometerPerSecond &velocity, const SBPosition3 &center)
 Zooms out.
 
void zoomTo (const SBPosition3 &cameraTargetDestination)
 Zooms to a specific destination.
 
void defaultView ()
 Sets the view to default parameters.
 
void topView (bool immediate=false)
 Goes to the top view.
 
void bottomView (bool immediate=false)
 Goes to the bottom view.
 
void leftView (bool immediate=false)
 Goes to the left view.
 
void rightView (bool immediate=false)
 Goes to the right view.
 
void frontView (bool immediate=false)
 Goes to the front view.
 
void backView (bool immediate=false)
 Goes to the back view.
 
void leftBackBottomView (bool immediate=false)
 Goes to the left back bottom view.
 
void leftBackTopView (bool immediate=false)
 Goes to the left back top view.
 
void leftFrontBottomView (bool immediate=false)
 Goes to the left front bottom view.
 
void leftFrontTopView (bool immediate=false)
 Goes to the left front top view.
 
void rightBackBottomView (bool immediate=false)
 Goes to the right back bottom view.
 
void rightBackTopView (bool immediate=false)
 Goes to the right back top view.
 
void rightFrontBottomView (bool immediate=false)
 Goes to the right front bottom view.
 
void rightFrontTopView (bool immediate=false)
 Goes to the right front top view.
 

Messaging

void connectDocumentSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBDocumentEvent *)=0)
 Connects the document signal to a slot.
 
bool documentSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *)) const
 Returns true if and only if the document signal is connected to the slot.
 
void disconnectDocumentSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *))
 Disconnects the document signal from a slot.
 

Debugging

virtual void print (unsigned int offset=0) const
 Prints the camera.
 

Additional Inherited Members

- Public Types inherited from SBDDataGraphNode
enum  RenderingPass {
  RenderingPass::OpaqueGeometry,
  RenderingPass::SelectableGeometry,
  RenderingPass::ShadowingGeometry,
  RenderingPass::TransparentGeometry,
  RenderingPass::Interface,
  RenderingPass::Text
}
 The rendering pass. More...
 
enum  Type {
  Undefined,
  StructuralModel,
  StructuralModelNode,
  StructuralModelConformation,
  Conformation,
  StructuralModelPath,
  Path,
  StructuralModelNodeGroup,
  StructuralGroup,
  StructuralModelNodeRoot,
  Root,
  StructuralModelNodeParticle,
  StructuralParticle,
  StructuralModelNodeAtom,
  Atom,
  StructuralModelNodePseudoAtom,
  PseudoAtom,
  StructuralModelNodeBond,
  Bond,
  StructuralModelNodeResidue,
  Residue,
  StructuralModelNodeSegment,
  Segment,
  StructuralModelNodeProtein,
  Protein,
  StructuralModelNodeChain,
  Chain,
  StructuralModelNodeMolecule,
  Molecule,
  StructuralModelNodeBackbone,
  Backbone,
  StructuralModelNodeSideChain,
  SideChain,
  VisualModel,
  DynamicalModel,
  DynamicalModelParticleSystem,
  ParticleSystem,
  DynamicalModelRigidBodySystem,
  RigidBodySystem,
  DynamicalModelArticulatedBodySystem,
  ArticulatedBodySystem,
  DynamicalModelNode,
  DynamicalNode,
  DynamicalModelNodeGroup,
  DynamicalGroup,
  DynamicalModelNodeRoot,
  DynamicalRoot,
  DynamicalModelNodeParticle,
  DynamicalParticle,
  DynamicalModelNodeRigidBody,
  RigidBody,
  DynamicalModelNodeArticulatedBody,
  ArticulatedBody,
  InteractionModel,
  InteractionModelParticleSystem,
  InteractionModelRigidBodySystem,
  InteractionModelArticulatedBodySystem,
  PropertyModel,
  PropertyModelFunction,
  Simulator,
  SimulatorParticleSystem,
  SimulatorRigidBodySystem,
  SimulatorArticulatedBodySystem,
  StateUpdater,
  StateUpdaterParticleSystem,
  StateUpdaterRigidBodySystem,
  StateUpdaterArticulatedBodySystem,
  DocumentManager,
  Document,
  Folder,
  Camera,
  Label,
  DataGraphNodeGroup,
  NodeGroup,
  Controller,
  ControllerNode,
  Asset
}
 The type of the data graph node. More...
 
- Public Member Functions inherited from SBDDataGraphNode
SBDDataGraphNodegetParent () const
 Returns the parent of the node. More...
 
SBDDataGraphNodegetThisNode () const
 Returns the pointer to this node. More...
 
SBDDataGraphNodegetNextNode () const
 Returns the pointer to the next node in the children of the node's parent. More...
 
SBDDataGraphNodegetPreviousNode () const
 Returns the pointer to the previous node in the children of the node's parent. More...
 
SBDDataGraphNodegetNextNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the next node with type nodeType in the children of the node's parent. More...
 
SBDDataGraphNodegetPreviousNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the previous node with type nodeType in the children of the node's parent. More...
 
SBDDocumentgetDocument () const
 Returns the document the node belongs to. More...
 
virtual bool canAddChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0) const
 Returns whether this node can add node as a child. More...
 
virtual bool canAddChildType (SBDDataGraphNode::Type nodeType) const
 Returns whether this node can add a node with type nodeType as a child. More...
 
virtual bool addChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0)
 Adds a child to the node. More...
 
virtual bool removeChild (SBDDataGraphNode *node)
 Removes a child from the node. More...
 
bool hasOneOf (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if this node is one of the nodes of the nodeIndexer, or is the ancestor of one of them. More...
 
bool isIn (SBDDataGraphNode *node) const
 Returns true if and only if this node is node, or descends from it. More...
 
bool isIn (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if this node is one of the nodes of the nodeIndexer, or descends from one of them. More...
 
bool isIn (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const
 Returns true if and only if this node is one of the nodes of the nodePointerIndexer, or descends from one of them. More...
 
bool isOneOf (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if this node is one of the nodes of the nodeIndexer. More...
 
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const
 Returns true if and only if this node is one of the nodes of the nodePointerIndexer. More...
 
SBDDataGraphNodegetRoot () const
 Returns the root of the hierarchy the node belongs to. More...
 
unsigned int getNodeIndex () const
 Returns the node index (unique in the whole data graph, but non-persistent) More...
 
bool isType (Type type) const
 Returns true when the type of the node corresponds to type.
 
bool isModel () const
 Returns true when the node is a model.
 
bool isStructuralNode () const
 Returns true when the node is a structural node.
 
bool isStructuralModel () const
 Returns true when the node is a structural model.
 
bool isVisualModel () const
 Returns true when the node is a visual model.
 
bool isDynamicalModel () const
 Returns true when the node is a dynamical model.
 
bool isInteractionModel () const
 Returns true when the node is a interaction model.
 
bool isPropertyModel () const
 Returns true when the node is a property model.
 
bool isSimulator () const
 Returns true when the node is a simulator.
 
bool isStructuralParticle () const
 Returns true when the node is a structural particle (an atom or a pseudo-atom)
 
bool isCreated () const
 Returns true if and only if the node is created. More...
 
void create ()
 Creates the node. More...
 
bool isErased () const
 Returns true if and only if the node is erased. More...
 
void erase ()
 Erases the node. More...
 
unsigned int getFlags () const
 Returns the flags. More...
 
unsigned int getInheritedFlags () const
 Returns the inherited flags. More...
 
bool isSelected () const
 Returns whether the node is selected. More...
 
bool getSelected () const
 Returns whether the node is visible.
 
bool getSelectionFlag () const
 Returns the selection flag. More...
 
void setSelectionFlag (bool flag)
 Sets the selection flag. More...
 
bool isVisible () const
 Returns whether the node is visible. More...
 
bool getVisible () const
 Returns whether the node is visible.
 
bool getVisibilityFlag () const
 Returns the visibility flag. More...
 
void setVisibilityFlag (bool flag)
 Sets the visibility flag. More...
 
bool isHighlighted () const
 Returns whether the node is highlighted. More...
 
bool getHighlightingFlag () const
 Returns the highlighting flag. More...
 
void setHighlightingFlag (bool flag)
 Sets the highlighting flag. More...
 
virtual void display (RenderingPass renderingPass)
 Displays the node. More...
 
virtual void display ()
 Displays the node (deprecated) More...
 
virtual void displayForShadow ()
 Displays the node for shadowing purposes (deprecated) More...
 
virtual void displayForSelection ()
 Displays the node for selection purposes (deprecated) More...
 
bool addMaterial (SBDDataGraphNodeMaterial *material)
 Adds a material. More...
 
bool removeMaterial ()
 Removes the material. More...
 
SBDDataGraphNodeMaterialgetMaterial () const
 Returns the material. More...
 
SBDDataGraphNodegetMaterialOwner () const
 Returns the node whose material is inherited. More...
 
void connectBaseSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBBaseEvent *)=0)
 Connects the base signal to a slot. More...
 
bool baseSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *)) const
 Returns true when the base signal is connected to a slot.
 
void disconnectBaseSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *))
 Disconnects the base signal from a slot.
 
virtual void getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false)
 Collects nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with our without dependencies. More...
 
unsigned int countNodes (const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false)
 Collects nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with our without dependencies. More...
 
virtual void forEachNodeDepthFirst (void(*action)(SBDDataGraphNode *node))
 Performs an action on each node.
 
virtual void forEachNodeDepthFirst (SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node))
 Performs an action on each node.
 
- Public Member Functions inherited from SBCReferenceTarget
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
- Static Public Member Functions inherited from SBDDataGraphNode
static void clone (const SBNodeIndexer &sourceNodeIndexer, SBNodeIndexer &destinationNodeIndexer)
 Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones in destinationNodeIndexer. More...
 
static SBDDataGraphNodegetNode (unsigned int nodeIndex)
 Returns the unique node corresponding to the node index nodeIndex. More...
 
static std::string getTypeString (Type type)
 Returns a string describing the type of the data graph node. More...
 
static void forEachNodeInSelection (SBNodeIndexer &nodeIndexer, void(*action)(SBDDataGraphNode *node))
 Performs an action for each node in a selection.
 
static void forEachNodeInSelection (SBNodeIndexer &nodeIndexer, SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node))
 Performs an action for each node in a selection.
 
- Protected Member Functions inherited from SBDDataGraphNode
 SBDDataGraphNode ()
 Builds a data graph node. More...
 
 SBDDataGraphNode (SBDDataGraphNodeData *dataPointer)
 Builds a data graph node.
 
virtual ~SBDDataGraphNode ()
 Destroys the node. More...
 

Detailed Description

The SBDDocumentCamera class implements all mechanisms related to cameras in SAMSON. A camera provides a 3D view of visualizable objects in SAMSON's data graph, and can be easily controled to point to a specific location, zoom in or out, translate, rotate, etc.

The currently active camera can be retrieved through SAMSON::getActiveCamera().

See also
SAMSON.

Short name: SBCamera

Member Function Documentation

◆ setName()

void SBDDocumentCamera::setName ( const std::string &  n)

Set the name of the camera:

activeCamera->setName("Overview camera");

This function is undoable