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.
 
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.
 
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.
 
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 translate (const SBLength3 &translation, bool immediate=false)
 Translates the camera.
 
void translate (const SBPicometerPerSecond3 &velocity)
 Translates the camera.
 
void center ()
 Centers the camera.
 
void center (const SBNodeIndexer &nodeIndexer)
 Centers the camera.
 
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 ()
 Goes to the top view.
 
void bottomView ()
 Goes to the bottom view.
 
void leftView ()
 Goes to the left view.
 
void rightView ()
 Goes to the right view.
 
void frontView ()
 Goes to the front view.
 
void backView ()
 Goes to the back 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  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
}
 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 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...
 
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.
 
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...
 
- Public Member Functions inherited from SBCReferenceTarget
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
- Static Public Member Functions inherited from SBDDataGraphNode
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