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 SBDDocumentCamera * | clone () |
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... | |
SBDDocumentCamera * | getNextCamera () const |
Returns the next camera in the document. | |
SBDDocumentCamera * | getPreviousCamera () 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::length & | getNearPlane () const |
Returns the near plane. | |
void | setNearPlane (const SBQuantity::length &nearPlane) |
Sets the near plane. | |
const SBQuantity::length & | getFarPlane () const |
Returns the far plane. | |
void | setFarPlane (const SBQuantity::length &farPlane) |
Sets the far plane. | |
const SBQuantity::length & | getClippingPlane () 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 ¢er) |
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 ¢er) |
Zooms in. | |
void | zoomOut (const SBQuantity::picometerPerSecond &velocity, const SBPosition3 ¢er) |
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 | |
SBDDataGraphNode * | getParent () const |
Returns the parent of the node. More... | |
SBDDataGraphNode * | getThisNode () const |
Returns the pointer to this node. More... | |
SBDDataGraphNode * | getNextNode () const |
Returns the pointer to the next node in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode () const |
Returns the pointer to the previous node in the children of the node's parent. More... | |
SBDDataGraphNode * | getNextNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the next node with type nodeType in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the previous node with type nodeType in the children of the node's parent. More... | |
SBDDocument * | getDocument () 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... | |
SBDDataGraphNode * | getRoot () 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... | |
SBDDataGraphNodeMaterial * | getMaterial () const |
Returns the material. More... | |
SBDDataGraphNode * | getMaterialOwner () 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 SBDDataGraphNode * | getNode (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... | |
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().
Short name: SBCamera
void SBDDocumentCamera::setName | ( | const std::string & | n | ) |
Set the name of the camera:
This function is undoable