Class SBDDocumentAnimation#
ClassList > SBDDocumentAnimation
This class describes an animation. More...
#include <SBDDocumentAnimation.hpp>
Inherits the following classes: SBDDataGraphNode
Public Types#
| Type | Name |
|---|---|
| enum | Category The category of the animation. |
Public Types inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name |
|---|---|
| enum | RenderingPass The rendering pass. |
| enum | Type The type of the data graph node. |
Public Functions#
| Type | Name |
|---|---|
| SBDDocumentAnimation () Constructs an animation. |
|
| SBDDocumentAnimation (const std::string & name, const SBNodeIndexer & nodeIndexer, double currentFrame=0.0) Constructs an animation with name name from the nodes innodeIndexer at framecurrentFrame . |
|
| SBDDocumentAnimation (const std::string & name, const SBNodeIndexer & nodeIndexer, double currentFrame, const SBValueMap & parameterMap) Constructs an animation with name name from the nodes innodeIndexer at framecurrentFrame and with the given parametersparameterMap . |
|
| bool | addKeyframe (double frame) Adds a keyframe at frame frame . |
| virtual bool | canAddKeyframe (double frame) const Returns whether it is possible to add a keyframe at frame frame . |
| virtual bool | canMoveKeyframe (double fromFrame, double toFrame) const Returns whether it is possible to move the keyframe from frame fromFrame to frametoFrame . |
| virtual bool | canRemoveKeyframe (double frame) const Returns whether it is possible to remove the keyframe at frame frame . |
| void | changed () Emits the AnimationChanged event from the owning node. |
| virtual SBDDocumentAnimation * | clone () override Returns a copy of the animation and its descendants. |
| void | connectDocumentSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDocumentEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBDocumentEvent *) nextFunctionPointer=0) Connects the document signal to a slot. |
| void | disconnectDocumentSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDocumentEvent *) functionPointer) Disconnects the document signal from a slot. |
| virtual void | display (SBNode::RenderingPass renderingPass) override Displays the animation. |
| bool | documentSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDocumentEvent *) functionPointer) const Returns true if and only if the document signal is connected to the slot. |
| virtual void | editKeyframe (double frame) Called to edit the keyframe at frame frame . |
| double | getBeginKeyframe () const Returns the first keyframe, or zero if there are no key frames. |
| virtual Category | getCategory () const Returns the category of the animation. |
| std::string | getCategoryString (bool humanReadable=false) const Returns a string describing the category of the animation. |
| virtual void | getContextMenuActions (SBVector< SBGAction * > & actionVector) Returns the context menu actions. |
| double | getEndKeyframe () const Returns the last keyframe, or zero if there are no key frames. |
| virtual void | getIntervalActions (unsigned int intervalIndex, SBVector< SBGAction * > & actionVector) Returns the interval's actions. |
| virtual void | getIntervalColors (unsigned int intervalIndex, SBVector< SBColor > & intervalColorVector, SBVector< float > & intervalPositionVector) Returns the vectors of colors and corresponding positions (in [0,1]) for interval intervalIndex . |
| int | getIntervalIndex (double keyframe) const Returns the index of interval which contains the keyframe (-1 if the keyframe is not in an interval) |
| virtual void | getKeyframeActions (unsigned int keyframeIndex, SBVector< SBGAction * > & actionVector) Returns the keyframe's actions. |
| virtual void | getKeyframeColor (unsigned int keyframeIndex, SBColor & keyframeColor) Returns the color of keyframe keyframeIndex . |
| int | getKeyframeIndex (double keyframe) const Returns the index of keyframe in the vector of keyframes (-1 if the keyframe is not present) |
| void | getKeyframes (SBVector< double > & sortedKeyframeVector) const Returns the vector of keyframes sorted in increasing order. |
| SBDDocumentAnimation * | getNextAnimation () const Returns the next animation. |
| unsigned int | getNumberOfKeyframes () const Returns the number of keyframes. |
| SBDDocumentAnimation * | getPreviousAnimation () const Returns the previous animation. |
| virtual SBDDataGraphNode::Type | getType () override const Returns the data graph node type. |
| bool | hasKeyframe (double frame) const Returns whether the animation has a keyframe at frame frame . |
| bool | hasKeyframes () const Returns whether the animation has keyframes. |
| virtual bool | isSelectionDependent () const Returns true when the animation's actions depend on the current selection. |
| virtual bool | isSerializable () override const Returns false by default. |
| bool | moveKeyframe (double fromFrame, double toFrame) Moves the keyframe from frame fromFrame to frametoFrame . |
| virtual void | onKeyframeAdded (double frame) Called after a keyframe has been added at frame frame . |
| virtual void | onKeyframeMoved (double fromFrame, double toFrame) Called after a keyframe has been moved from frame fromFrame to frametoFrame . |
| virtual void | onKeyframeRemoved (double frame) Called after a keyframe has been removed at frame frame . |
| virtual void | print (unsigned int offset=0) override const Prints the animation. |
| bool | removeKeyframe (double frame) Removes the keyframe at frame frame . |
| virtual void | serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const Serializes the animation. |
| virtual void | setCurrentFrame (double currentFrame, const SBVector< double > & sortedKeyframeVector) Sets the current frame. |
| virtual void | unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override Unserializes the animation. |
| virtual | ~SBDDocumentAnimation () Destructs the animation. |
Public Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name |
|---|---|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCClassProxy *, GetProxy) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, This) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetParent) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetThis) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetNextNode) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetPreviousNode) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDocument *, GetDocument) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetRoot) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetNodeIndex) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode::Type, GetType) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetSelectionFlag) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetLockedFlag) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetVisibilityFlag) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetHighlightingFlag) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetFlags) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetName) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetClass) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetElement) |
|
| SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCContainerUUID, GetElementUUID) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, All) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, None) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsAtom) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBond) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralNode) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisualModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsMesh) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLight) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsInteractionModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsDynamicalModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsPropertyModel) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSimulator) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBallAndStick) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLicorice) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVanDerWaals) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCartoon) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsRibbon) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsTube) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsGaussianSurface) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventAccessibleSurface) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventExcludedSurface) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, HasMaterial) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, OwnsMaterial) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLocked) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSerializable) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCreated) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsErased) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSelected) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisible) |
|
| SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsHighlighted) |
|
| SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, IsType, SBDDataGraphNode::Type) |
|
| SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, HasOneOf, SBNodeIndexer) |
|
| virtual bool | addChild (SBDDataGraphNode * node, SBDDataGraphNode * nextNode=nullptr) Adds a child to the node. |
| bool | addMaterial (SBDDataGraphNodeMaterial * material) Adds a material. |
| bool | baseSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) const Returns true when the base signal is connected to a slot. |
| virtual bool | canAddChild (const SBDDataGraphNode * node, const SBDDataGraphNode * nextNode=nullptr) const Returns whether this node can add node as a child. |
| virtual bool | canAddChildType (SBDDataGraphNode::Type nodeType) const Returns whether this node can add a node with type nodeType as a child. |
| bool | canAddMaterial () const Returns whether can add a material to the node based on its type. |
| virtual bool | canHaveDescendantType (SBDDataGraphNode::Type nodeType) const Returns whether this node can have a node with type nodeType as a descendant. |
| virtual SBDDataGraphNode * | clone () Returns a copy of the node and its descendants. |
| void | connectBaseSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBBaseEvent *) nextFunctionPointer=0) Connects the base signal to a slot. |
| unsigned int | countNodes (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Counts nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies. |
| unsigned int | countNodes (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Counts nodes based on a selectionPredicate and avisitPredicate , with or without dependencies. |
| void | create () Creates the node. |
| bool | descendsFrom (const SBDDataGraphNode * node) const Returns true if and only if this node isnode , or descends from it. |
| bool | descendsFrom (const SBNodeIndexer & nodeIndexer) const Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them. |
| bool | descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them. |
| void | disconnectBaseSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) Disconnects the base signal from a slot. |
| virtual void | display (RenderingPass renderingPass) Displays the node. |
| virtual void | display () Displays the node (deprecated) |
| virtual void | displayForSelection () Displays the node for selection purposes (deprecated) |
| virtual void | displayForShadow () Displays the node for shadowing purposes (deprecated) |
| void | erase () Erases the node. |
| virtual void | forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) Performs the action on this node. |
| virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs the objects 'saction on this node. |
| unsigned int | getDefaultOpacity () const Returns the default opacity. |
| unsigned int | getDefaultTransparency () const Returns the default transparency. |
| SBDDocument * | getDocument () const Returns the document the node belongs to. |
| virtual unsigned int | getFlags () const Returns the flags. |
| virtual std::string | getHierarchyString (const std::string & separator=" / ", bool includeNodeType=false) const Returns a string with hierarchical information on the node and its parents names. |
| bool | getHighlightingFlag () const Returns the highlighting flag. |
| virtual unsigned int | getInheritedFlags () const Returns the inherited flags. |
| float | getInheritedOpacity () const Returns the cumulative opacity, when taking into account the ascendants. |
| float | getInheritedTransparency () const Returns the cumulative transparency, when taking into account the ascendants. |
| virtual bool | getLockedFlag () const Returns the locked flag. |
| SBDDataGraphNodeMaterial * | getMaterial () const Returns the material. |
| SBDDataGraphNode * | getMaterialOwner () const Returns the node whose material is inherited. |
| unsigned int | getMaximumOpacity () const Returns the maximum opacity. |
| unsigned int | getMaximumTransparency () const Returns the maximum transparency. |
| unsigned int | getMinimumOpacity () const Returns the minimum opacity. |
| unsigned int | getMinimumTransparency () const Returns the minimum transparency. |
| virtual SBQuantity::mass | getMolecularWeight () Returns the molecular weight. |
| virtual std::string const & | getName () const Returns the name of the node. |
| SBDDataGraphNode * | getNextNode () const Returns the pointer to the next node in the children of the node's parent. |
| SBDDataGraphNode * | getNextNode (SBDDataGraphNode::Type nodeType) const Returns the pointer to the next node with type nodeType in the children of the node's parent. |
| unsigned int | getNodeIndex () const Returns the node index (unique in the whole data graph, but non-persistent) |
| SBUUID | getNodeUUID () const Returns the node UUID. |
| virtual void | getNodes (SBNodeIndexer & nodeIndexer, SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies. |
| virtual void | getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies. |
| virtual unsigned int | getNumberOfAtoms () Returns the number of atoms. |
| virtual unsigned int | getNumberOfCarbons () Returns the number of carbons. |
| virtual unsigned int | getNumberOfChains () Returns the number of chains. |
| virtual unsigned int | getNumberOfCoarseGrainedAtoms () Returns the number of coarse-grained atoms. |
| virtual unsigned int | getNumberOfHydrogens () Returns the number of hydrogens. |
| virtual unsigned int | getNumberOfMolecules () Returns the number of molecules. |
| virtual unsigned int | getNumberOfNitrogens () Returns the number of nitrogens. |
| virtual unsigned int | getNumberOfOtherAtoms () Returns the number of other atoms. |
| virtual unsigned int | getNumberOfOxygens () Returns the number of oxygens. |
| virtual unsigned int | getNumberOfResidues () Returns the number of residues. |
| virtual unsigned int | getNumberOfSegments () Returns the number of segments. |
| virtual unsigned int | getNumberOfStructuralGroups () Returns the number of structural groups. |
| virtual unsigned int | getNumberOfStructuralModels () Returns the number of structural models. |
| virtual unsigned int | getNumberOfSulfurs () Returns the number of sulfurs. |
| virtual unsigned int | getOpacity () const Returns the opacity. |
| unsigned int | getOpacitySingleStep () const Returns the opacity single step. |
| std::string | getOpacitySuffix () const Returns the opacity suffix. |
| SBDDataGraphNode * | getParent () const Returns the parent of the node. |
| SBDDataGraphNode * | getPreviousNode () const Returns the pointer to the previous node in the children of the node's parent. |
| SBDDataGraphNode * | getPreviousNode (SBDDataGraphNode::Type nodeType) const Returns the pointer to the previous node with type nodeType in the children of the node's parent. |
| SBDDataGraphNode * | getRoot () const Returns the root of the hierarchy the node belongs to. |
| bool | getSelected () const Returns whether the node is selected. |
| bool | getSelectionFlag () const Returns the selection flag. |
| virtual int | getSumOfFormalCharges () Returns the sum of formal charges. |
| virtual float | getSumOfPartialCharges () Returns the sum of partial charges. |
| SBDDataGraphNode * | getThisNode () const Returns the pointer to this node. |
| virtual unsigned int | getTransparency () const Returns the transparency. |
| unsigned int | getTransparencySingleStep () const Returns the transparency single step. |
| std::string | getTransparencySuffix () const Returns the transparency suffix. |
| virtual Type | getType () const Returns the type of the data graph node. |
| std::string | getTypeString (bool humanReadable=false) const Returns a string describing the type of the data graph node. |
| bool | getVisibilityFlag () const Returns the visibility flag. |
| bool | getVisible () const Returns whether the node is visible. |
| bool | hasMaterial () const Returns whether the node has a material (by itself, or inherited) |
| virtual bool | hasNode (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Returns whether the node has nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies. |
| virtual bool | hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Returns whether the node has nodes based on a selectionPredicate and avisitPredicate , with or without dependencies. |
| bool | hasOneOf (const SBNodeIndexer & nodeIndexer) const Returns true if and only if this node is one of the nodes of thenodeIndexer , or is the ancestor of one of them, or is a group that stores one of them. |
| bool | hasOpacityRange () const Returns whether the node has the opacity range. |
| bool | hasTransparencyRange () const Returns whether the node has the transparency range. |
| bool | isAtom () const Returns true when the node is an atom. |
| bool | isBallAndStick () const Returns true when the node is the default ball-and-stick visual model. |
| bool | isBond () const Returns true when the node is a bond. |
| bool | isCartoon () const Returns true when the node is the default cartoon visual model. |
| bool | isCreated () const Returns true if and only if the node is created. |
| bool | isDynamicalModel () const Returns true when the node is a dynamical model. |
| bool | isErased () const Returns true if and only if the node is erased. |
| bool | isGaussianSurface () const Returns true when the node is the default Gaussian surface visual model. |
| bool | isHighlighted () const Returns whether the node is highlighted. |
| bool | isIn (const SBDDataGraphNode * node) const Returns true if and only if this node isnode , or descends from it, or belongs to a group stored innode . |
| bool | isIn (const SBNodeIndexer & nodeIndexer) const Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them, or belongs to a group stored in one of the nodes of thenodeIndexer . |
| bool | isIn (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them, or belongs to a group stored in of the nodes of thenodePointerIndexer . |
| bool | isInteractionModel () const Returns true when the node is a interaction model. |
| bool | isLicorice () const Returns true when the node is the default licorice visual model. |
| bool | isLight () const Returns true when the node is a light. |
| virtual bool | isLocked () const Returns whether the node is locked. |
| bool | isMesh () const Returns true when the node is a mesh. |
| bool | isModel () const Returns true when the node is a model. |
| bool | isOneOf (const SBNodeIndexer & nodeIndexer) const Returns true if and only if this node is one of the nodes of thenodeIndexer . |
| bool | isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns true if and only if this node is one of the nodes of thenodePointerIndexer . |
| bool | isPropertyModel () const Returns true when the node is a property model. |
| bool | isRibbon () const Returns true when the node is the default ribbon visual model. |
| bool | isSelected () const Returns whether the node is selected. |
| virtual bool | isSerializable () const Returns true when the class is serializable. |
| bool | isSimulator () const Returns true when the node is a simulator. |
| bool | isSolventAccessibleSurface () const Returns true when the node is the default solvent accessible surface visual model. |
| bool | isSolventExcludedSurface () const Returns true when the node is the default solvent excluded surface visual model. |
| bool | isStructuralModel () const Returns true when the node is a structural model. |
| bool | isStructuralNode () const Returns true when the node is a structural node. |
| bool | isTube () const Returns true when the node is the default tube visual model. |
| bool | isType (Type type) const Returns true when the type of the node corresponds totype . |
| bool | isVanDerWaals () const Returns true when the node is the default van der Waals visual model. |
| bool | isVisible () const Returns whether the node is visible. |
| bool | isVisualModel () const Returns true when the node is a visual model. |
| bool | ownsMaterial () const Returns whether the node owns a material. |
| virtual void | print (unsigned int offset=0) const Prints some debugging information. |
| virtual bool | removeChild (SBDDataGraphNode * node) Removes a child from the node. |
| bool | removeMaterial () Removes the material. |
| void | removeMaterialsFromDescendants () Removes materials from all nodes that descend from this node, but it does not remove the material from the node itself. |
| 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 node. |
| void | setHighlightingFlag (bool flag) Sets the highlighting flag. |
| virtual void | setLockedFlag (bool flag) Sets the locked flag. |
| virtual void | setName (const std::string & name) Sets the name of the node. |
| virtual void | setOpacity (unsigned int opacity) Sets the opacity. |
| void | setSelectionFlag (bool flag) Sets the selection flag. |
| virtual void | setTransparency (unsigned int transparency) Sets the transparency. |
| void | setVisibilityFlag (bool flag) Sets the visibility flag. |
| virtual void | unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) Unserializes the node. |
Public Functions inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTarget () Builds the reference target. |
|
| unsigned int | getMemoryFootprint () const Returns the memory footprint. |
| void | printReferencesToOwners () const Prints the references to the owners of this reference target. |
| virtual | ~SBCReferenceTarget () Destructor. |
Public Static Functions#
| Type | Name |
|---|---|
| std::string | getCategoryString (Category category, bool humanReadable=false) Returns a string describing the category of the animation. |
Public Static Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name |
|---|---|
| bool | canAddMaterial (SBDDataGraphNode::Type nodeType) Returns whether can add a material to a node of type nodeType . |
| void | clone (const SBNodeIndexer & sourceNodeIndexer, SBNodeIndexer & destinationNodeIndexer) Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones indestinationNodeIndexer . |
| void | forEachNodeInSelection (SBNodeIndexer & nodeIndexer, void(*)(SBDDataGraphNode *node) action) Performs the action for each node innodeIndexer __ |
| void | forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs the objects 'saction for each node innodeIndexer __ |
| SBDDataGraphNode * | getNode (unsigned int nodeIndex) Returns the unique node corresponding to the node index nodeIndex . |
| std::string | getTypeString (Type type, bool humanReadable=false) Returns a string describing the type of the data graph node. |
Protected Attributes inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTargetData * | dataPointer A pointer to the private data. |
Protected Functions#
| Type | Name |
|---|---|
| SBDDocumentAnimation (SBDDocumentAnimationData * dataPointer) Constructs an animation from existing data. |
Protected Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name |
|---|---|
| SBDDataGraphNode () Builds a data graph node. |
|
| SBDDataGraphNode (SBDDataGraphNodeData * dataPointer) Builds a data graph node. |
|
| virtual | ~SBDDataGraphNode () Destroys the node. |
Protected Functions inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTarget (SBCReferenceTargetData * dataPointer) Protected constructor. |
|
| void | removeAllReferenceOwners () Stops all the reference owners from referencing this reference target. |
Detailed Description#
This class describes an animation in SAMSON.
Please refer to Animations for more information.
Short name: SBAnimation
See also: Animations
Public Types Documentation#
enum Category#
The category of the animation.
enum SBDDocumentAnimation::Category {
Entrance = 1,
Highlight = 2,
Motion = 3,
Exit = 4,
Camera = 5,
Other = 6
};
Public Functions Documentation#
function SBDDocumentAnimation [1/4]#
Constructs an animation.
Default constructs an empty animation.
Constructs a new animation object with default settings.
function SBDDocumentAnimation [2/4]#
Constructs an animation with name name from the nodes innodeIndexer at framecurrentFrame .
SBDDocumentAnimation::SBDDocumentAnimation (
const std::string & name,
const SBNodeIndexer & nodeIndexer,
double currentFrame=0.0
)
Constructs an animation with a name, node indexer, and current frame.
Initializes an animation with the given name, based on the nodes in nodeIndexer at the specified currentFrame.
Parameters:
nameThe name of the animation.nodeIndexerIndexer of the nodes to include in the animation.currentFrameThe frame at which the animation starts.
function SBDDocumentAnimation [3/4]#
Constructs an animation with name name from the nodes innodeIndexer at framecurrentFrame and with the given parametersparameterMap .
SBDDocumentAnimation::SBDDocumentAnimation (
const std::string & name,
const SBNodeIndexer & nodeIndexer,
double currentFrame,
const SBValueMap & parameterMap
)
Constructs an animation with name, node indexer, current frame, and parameters.
Initializes an animation with the given name, based on the nodes in nodeIndexer at the specified currentFrame and using the provided parameters.
Parameters:
nameThe name of the animation.nodeIndexerIndexer of the nodes to include in the animation.currentFrameThe frame at which the animation starts.parameterMapMap of parameters for the animation.
function addKeyframe#
Adds a keyframe at frame frame .
Adds a new keyframe at the specified frame.
If a keyframe already exists at the frame, the operation fails. The addition can be undone.
Parameters:
frameFrame at which to add the keyframe.
Returns:
true if the keyframe was added; otherwise false.
function canAddKeyframe#
Returns whether it is possible to add a keyframe at frame frame .
Determines whether a keyframe can be added at the specified frame.
By default this implementation returns false. Derived classes may override to provide specific criteria.
Parameters:
frameTarget frame for the new keyframe.
Returns:
true if a keyframe can be added at frame; otherwise false.
function canMoveKeyframe#
Returns whether it is possible to move the keyframe from frame fromFrame to frametoFrame .
Determines whether a keyframe can be moved from one frame to another.
Checks that the source keyframe exists and the destination frame does not already contain a keyframe, and that the move would not violate ordering constraints.
Parameters:
fromFrameFrame of the keyframe to move.toFrameDesired destination frame.
Returns:
true if the keyframe can be moved; otherwise false.
function canRemoveKeyframe#
Returns whether it is possible to remove the keyframe at frame frame .
Determines whether a keyframe can be removed from the specified frame.
By default this implementation returns false. Derived classes may override to provide specific criteria.
Parameters:
frameFrame of the keyframe to be removed.
Returns:
true if a keyframe can be removed from frame; otherwise false.
function changed#
Emits the AnimationChanged event from the owning node.
Emits a signal indicating that the animation has changed.
Notifies observers that the animation state has been modified.
function clone#
Returns a copy of the animation and its descendants.
Creates a copy of the animation and its descendants.
Returns a newly allocated animation that is a clone of this one.
Returns:
Pointer to the cloned animation.
Implements SBDDataGraphNode::clone
function connectDocumentSignalToSlot#
Connects the document signal to a slot.
void SBDDocumentAnimation::connectDocumentSignalToSlot (
SBCReferenceTarget * referenceTarget,
void(SBCReferenceTarget::*)( SBDocumentEvent *) functionPointer,
SBCReferenceTarget * nextReferenceTarget=0,
void(SBCReferenceTarget::*)( SBDocumentEvent *) nextFunctionPointer=0
)
Connects the animation's document signal to a slot.
Allows an external object to receive events from the animation.
Parameters:
referenceTargetTarget object whose member function will be connected.functionPointerPointer to the member function to be called on signal emission.nextReferenceTargetOptional target for a chained connection.nextFunctionPointerOptional member function for the chained connection.
function disconnectDocumentSignalFromSlot#
Disconnects the document signal from a slot.
void SBDDocumentAnimation::disconnectDocumentSignalFromSlot (
SBCReferenceTarget * referenceTarget,
void(SBCReferenceTarget::*)( SBDocumentEvent *) functionPointer
)
Disconnects the animation's document signal from a slot.
Parameters:
referenceTargetTarget object whose slot will be disconnected.functionPointerMember function pointer of the slot to disconnect.
function display#
Displays the animation.
Renders the animation for the specified rendering pass.
Parameters:
renderingPassThe rendering pass to use.
Implements SBDDataGraphNode::display
function documentSignalIsConnectedToSlot#
Returns true if and only if the document signal is connected to the slot.
bool SBDDocumentAnimation::documentSignalIsConnectedToSlot (
SBCReferenceTarget * referenceTarget,
void(SBCReferenceTarget::*)( SBDocumentEvent *) functionPointer
) const
Checks whether the document signal is connected to a specific slot.
Parameters:
referenceTargetTarget object to check.functionPointerMember function pointer to check.
Returns:
true if the signal is connected to the specified slot; otherwise false.
function editKeyframe#
Called to edit the keyframe at frame frame .
Initiates editing of the specified keyframe.
Derived classes may provide a UI for editing.
Parameters:
frameFrame of the keyframe to edit.
function getBeginKeyframe#
Returns the first keyframe, or zero if there are no key frames.
Retrieves the earliest keyframe value.
Returns:
The smallest keyframe value, or 0.0 if there are no keyframes.
function getCategory#
Returns the category of the animation.
Returns the category of this animation.
Returns:
The animation's category enumeration value.
function getCategoryString [1/2]#
Returns a string describing the category of the animation.
Returns a string representation of the animation's category.
Provides either a human‑readable or a compact string based on the flag.
Parameters:
humanReadableIftrue, returns a human‑readable string; otherwise a compact identifier.
Returns:
String describing the category.
function getContextMenuActions#
Returns the context menu actions.
Fills a vector with actions for the animation's context menu.
Parameters:
actionVectorVector that will receive the context menu actions.
function getEndKeyframe#
Returns the last keyframe, or zero if there are no key frames.
Retrieves the latest keyframe value.
Returns:
The largest keyframe value, or 0.0 if there are no keyframes.
function getIntervalActions#
Returns the interval's actions.
virtual void SBDDocumentAnimation::getIntervalActions (
unsigned int intervalIndex,
SBVector< SBGAction * > & actionVector
)
Fills a vector with actions for a specific interval.
Parameters:
intervalIndexIndex of the interval.actionVectorVector that will receive the interval actions.
function getIntervalColors#
Returns the vectors of colors and corresponding positions (in [0,1]) for interval intervalIndex .
virtual void SBDDocumentAnimation::getIntervalColors (
unsigned int intervalIndex,
SBVector< SBColor > & intervalColorVector,
SBVector< float > & intervalPositionVector
)
Retrieves colors for an interval and optional position data.
Provides the colors used for the interval. If multiple colors are provided, the optional position vector can specify their relative positions.
Parameters:
intervalIndexIndex of the interval to query.intervalColorVectorOutput vector that receives the colors for the interval.intervalPositionVectorOptional output vector that receives the positions (in [0,1]) for each color. If the size does not match the color vector size, positions are ignored and colors are distributed uniformly.
function getIntervalIndex#
Returns the index of interval which contains the keyframe (-1 if the keyframe is not in an interval)
Returns the index of the interval containing a given keyframe.
Intervals are defined between consecutive keyframes. The function returns the interval index that contains the specified keyframe.
Parameters:
keyframeThe keyframe value to locate.
Returns:
Zero‑based interval index, or -1 if the keyframe is outside all intervals.
function getKeyframeActions#
Returns the keyframe's actions.
virtual void SBDDocumentAnimation::getKeyframeActions (
unsigned int keyframeIndex,
SBVector< SBGAction * > & actionVector
)
Fills a vector with actions for a specific keyframe.
Parameters:
keyframeIndexIndex of the keyframe.actionVectorVector that will receive the keyframe actions.
function getKeyframeColor#
Returns the color of keyframe keyframeIndex .
virtual void SBDDocumentAnimation::getKeyframeColor (
unsigned int keyframeIndex,
SBColor & keyframeColor
)
Retrieves the color associated with a keyframe.
Parameters:
keyframeIndexIndex of the keyframe whose color is requested.keyframeColorOutput parameter that receives the keyframe color.
function getKeyframeIndex#
Returns the index of keyframe in the vector of keyframes (-1 if the keyframe is not present)
Returns the index of a keyframe in the sorted keyframe list.
Parameters:
keyframeValue of the keyframe to locate.
Returns:
Zero‑based index of the keyframe, or -1 if the keyframe does not exist.
function getKeyframes#
Returns the vector of keyframes sorted in increasing order.
Retrieves all keyframes sorted in increasing order.
Fills the provided vector with the animation's keyframes sorted from smallest to largest.
Parameters:
sortedKeyframeVectorVector that will receive the sorted keyframes.
function getNextAnimation#
Returns the next animation.
Returns the next animation in the data graph.
Traverses the sibling nodes to find the next node of type Animation.
Returns:
Pointer to the next animation, or nullptr if none is found.
function getNumberOfKeyframes#
Returns the number of keyframes.
Retrieves the total number of keyframes in the animation.
Returns:
Number of keyframes.
function getPreviousAnimation#
Returns the previous animation.
Returns the previous animation in the data graph.
Traverses the sibling nodes to find the previous node of type Animation.
Returns:
Pointer to the previous animation, or nullptr if none is found.
function getType#
Returns the data graph node type.
Returns the node type of this animation.
Returns:
SBNode::Animation.
Implements SBDDataGraphNode::getType
function hasKeyframe#
Returns whether the animation has a keyframe at frame frame .
Checks whether a keyframe exists at the given frame.
Parameters:
frameFrame to check for a keyframe.
Returns:
true if a keyframe exists at frame; otherwise false.
function hasKeyframes#
Returns whether the animation has keyframes.
Checks whether the animation contains any keyframes.
Returns:
true if at least one keyframe exists; otherwise false.
function isSelectionDependent#
Returns true when the animation's actions depend on the current selection.
Indicates whether the animation's actions depend on the current selection.
Returns:
true if actions are selection‑dependent; otherwise false.
function isSerializable#
Returns false by default.
Determines whether the animation can be serialized.
Returns true if the animation supports serialization; otherwise returns false.
Returns:
true if serializable, false otherwise.
Implements SBDDataGraphNode::isSerializable
function moveKeyframe#
Moves the keyframe from frame fromFrame to frametoFrame .
Moves a keyframe from one frame to another.
The source keyframe must exist and the destination frame must be free. The move can be undone.
Parameters:
fromFrameSource frame of the keyframe.toFrameDestination frame for the keyframe.
Returns:
true if the keyframe was moved; otherwise false.
function onKeyframeAdded#
Called after a keyframe has been added at frame frame .
Called after a keyframe has been added.
Derived classes may override to perform additional actions.
Parameters:
frameFrame of the added keyframe.
function onKeyframeMoved#
Called after a keyframe has been moved from frame fromFrame to frametoFrame .
Called after a keyframe has been moved.
Derived classes may override to perform additional actions.
Parameters:
fromFrameOriginal frame of the keyframe.toFrameNew frame of the keyframe.
function onKeyframeRemoved#
Called after a keyframe has been removed at frame frame .
Called after a keyframe has been removed.
Derived classes may override to perform additional actions.
Parameters:
frameFrame of the removed keyframe.
function print#
Prints the animation.
Prints debugging information for the animation.
Outputs the animation's name and other details with an indentation offset.
Parameters:
offsetNumber of tab characters to prepend to each line.
Implements SBDDataGraphNode::print
function removeKeyframe#
Removes the keyframe at frame frame .
Removes the keyframe at the specified frame.
If no keyframe exists at the frame, the operation fails. The removal can be undone.
Parameters:
frameFrame of the keyframe to remove.
Returns:
true if the keyframe was removed; otherwise false.
function serialize#
Serializes the animation.
virtual void SBDDocumentAnimation::serialize (
SBCSerializer * serializer,
const SBNodeIndexer & nodeIndexer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override const
Writes the animation's data to the given serializer.
Parameters:
serializerSerializer to write the data to.nodeIndexerIndexer of the nodes to include in the serialization.sdkVersionNumberSDK version number for compatibility.classVersionNumberClass version number for compatibility.
Implements SBDDataGraphNode::serialize
function setCurrentFrame#
Sets the current frame.
virtual void SBDDocumentAnimation::setCurrentFrame (
double currentFrame,
const SBVector< double > & sortedKeyframeVector
)
Sets the current frame of the animation.
This method can be overridden to update animation state based on the current frame.
Parameters:
currentFrameThe frame to set as current.sortedKeyframeVectorSorted vector of keyframes.
function unserialize#
Unserializes the animation.
virtual void SBDDocumentAnimation::unserialize (
SBCSerializer * serializer,
const SBNodeIndexer & nodeIndexer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override
Deserializes the animation.
Reads the animation's data from the given serializer.
Parameters:
serializerSerializer to read the data from.nodeIndexerIndexer of the nodes to include in the deserialization.sdkVersionNumberSDK version number for compatibility.classVersionNumberClass version number for compatibility.
Implements SBDDataGraphNode::unserialize
function ~SBDDocumentAnimation#
Destructs the animation.
Destroys the animation.
Releases any resources held by the animation.
Public Static Functions Documentation#
function getCategoryString [2/2]#
Returns a string describing the category of the animation.
static std::string SBDDocumentAnimation::getCategoryString (
Category category,
bool humanReadable=false
)
Returns a string for a given animation category.
Provides either a human‑readable or a compact string based on the flag.
Parameters:
categoryThe animation category to describe.humanReadableIftrue, returns a human‑readable string; otherwise a compact identifier.
Returns:
String describing the specified category.
Protected Functions Documentation#
function SBDDocumentAnimation [4/4]#
Constructs an animation from existing data.
Creates an animation object using the provided internal data pointer.
Parameters:
dataPointerPointer to the animation's data structure.