Web Analytics Made Easy - Statcounter
Skip to content

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#

See 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#

See 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#

See 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.

SBDDocumentAnimation::SBDDocumentAnimation () 

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:

  • name The name of the animation.
  • nodeIndexer Indexer of the nodes to include in the animation.
  • currentFrame The 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:

  • name The name of the animation.
  • nodeIndexer Indexer of the nodes to include in the animation.
  • currentFrame The frame at which the animation starts.
  • parameterMap Map of parameters for the animation.

function addKeyframe#

Adds a keyframe at frame frame .

bool SBDDocumentAnimation::addKeyframe (
    double 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:

  • frame Frame 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 .

virtual bool SBDDocumentAnimation::canAddKeyframe (
    double frame
) const

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:

  • frame Target 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 .

virtual bool SBDDocumentAnimation::canMoveKeyframe (
    double fromFrame,
    double toFrame
) const

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:

  • fromFrame Frame of the keyframe to move.
  • toFrame Desired 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 .

virtual bool SBDDocumentAnimation::canRemoveKeyframe (
    double frame
) const

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:

  • frame Frame 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.

void SBDDocumentAnimation::changed () 

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.

virtual SBDDocumentAnimation * SBDDocumentAnimation::clone () override

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:

  • referenceTarget Target object whose member function will be connected.
  • functionPointer Pointer to the member function to be called on signal emission.
  • nextReferenceTarget Optional target for a chained connection.
  • nextFunctionPointer Optional 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:

  • referenceTarget Target object whose slot will be disconnected.
  • functionPointer Member function pointer of the slot to disconnect.

function display#

Displays the animation.

virtual void SBDDocumentAnimation::display (
    SBNode::RenderingPass renderingPass
) override

Renders the animation for the specified rendering pass.

Parameters:

  • renderingPass The 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:

  • referenceTarget Target object to check.
  • functionPointer Member 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 .

virtual void SBDDocumentAnimation::editKeyframe (
    double frame
) 

Initiates editing of the specified keyframe.

Derived classes may provide a UI for editing.

Parameters:

  • frame Frame of the keyframe to edit.

function getBeginKeyframe#

Returns the first keyframe, or zero if there are no key frames.

double SBDDocumentAnimation::getBeginKeyframe () const

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.

virtual Category SBDDocumentAnimation::getCategory () const

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.

std::string SBDDocumentAnimation::getCategoryString (
    bool humanReadable=false
) const

Returns a string representation of the animation's category.

Provides either a human‑readable or a compact string based on the flag.

Parameters:

  • humanReadable If true, returns a human‑readable string; otherwise a compact identifier.

Returns:

String describing the category.


function getContextMenuActions#

Returns the context menu actions.

virtual void SBDDocumentAnimation::getContextMenuActions (
    SBVector< SBGAction * > & actionVector
) 

Fills a vector with actions for the animation's context menu.

Parameters:

  • actionVector Vector that will receive the context menu actions.

function getEndKeyframe#

Returns the last keyframe, or zero if there are no key frames.

double SBDDocumentAnimation::getEndKeyframe () const

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:

  • intervalIndex Index of the interval.
  • actionVector Vector 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:

  • intervalIndex Index of the interval to query.
  • intervalColorVector Output vector that receives the colors for the interval.
  • intervalPositionVector Optional 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)

int SBDDocumentAnimation::getIntervalIndex (
    double keyframe
) const

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:

  • keyframe The 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:

  • keyframeIndex Index of the keyframe.
  • actionVector Vector 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:

  • keyframeIndex Index of the keyframe whose color is requested.
  • keyframeColor Output 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)

int SBDDocumentAnimation::getKeyframeIndex (
    double keyframe
) const

Returns the index of a keyframe in the sorted keyframe list.

Parameters:

  • keyframe Value 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.

void SBDDocumentAnimation::getKeyframes (
    SBVector< double > & sortedKeyframeVector
) const

Retrieves all keyframes sorted in increasing order.

Fills the provided vector with the animation's keyframes sorted from smallest to largest.

Parameters:

  • sortedKeyframeVector Vector that will receive the sorted keyframes.

function getNextAnimation#

Returns the next animation.

SBDDocumentAnimation * SBDDocumentAnimation::getNextAnimation () const

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.

unsigned int SBDDocumentAnimation::getNumberOfKeyframes () const

Retrieves the total number of keyframes in the animation.

Returns:

Number of keyframes.


function getPreviousAnimation#

Returns the previous animation.

SBDDocumentAnimation * SBDDocumentAnimation::getPreviousAnimation () const

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.

virtual SBDDataGraphNode::Type SBDDocumentAnimation::getType () override const

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 .

bool SBDDocumentAnimation::hasKeyframe (
    double frame
) const

Checks whether a keyframe exists at the given frame.

Parameters:

  • frame Frame to check for a keyframe.

Returns:

true if a keyframe exists at frame; otherwise false.


function hasKeyframes#

Returns whether the animation has keyframes.

bool SBDDocumentAnimation::hasKeyframes () const

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.

virtual bool SBDDocumentAnimation::isSelectionDependent () const

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.

virtual bool SBDDocumentAnimation::isSerializable () override const

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 .

bool SBDDocumentAnimation::moveKeyframe (
    double fromFrame,
    double toFrame
) 

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:

  • fromFrame Source frame of the keyframe.
  • toFrame Destination 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 .

virtual void SBDDocumentAnimation::onKeyframeAdded (
    double frame
) 

Called after a keyframe has been added.

Derived classes may override to perform additional actions.

Parameters:

  • frame Frame of the added keyframe.

function onKeyframeMoved#

Called after a keyframe has been moved from frame fromFrame to frametoFrame .

virtual void SBDDocumentAnimation::onKeyframeMoved (
    double fromFrame,
    double toFrame
) 

Called after a keyframe has been moved.

Derived classes may override to perform additional actions.

Parameters:

  • fromFrame Original frame of the keyframe.
  • toFrame New frame of the keyframe.

function onKeyframeRemoved#

Called after a keyframe has been removed at frame frame .

virtual void SBDDocumentAnimation::onKeyframeRemoved (
    double frame
) 

Called after a keyframe has been removed.

Derived classes may override to perform additional actions.

Parameters:

  • frame Frame of the removed keyframe.

function print#

Prints the animation.

virtual void SBDDocumentAnimation::print (
    unsigned int offset=0
) override const

Prints debugging information for the animation.

Outputs the animation's name and other details with an indentation offset.

Parameters:

  • offset Number of tab characters to prepend to each line.

Implements SBDDataGraphNode::print


function removeKeyframe#

Removes the keyframe at frame frame .

bool SBDDocumentAnimation::removeKeyframe (
    double frame
) 

Removes the keyframe at the specified frame.

If no keyframe exists at the frame, the operation fails. The removal can be undone.

Parameters:

  • frame Frame 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:

  • serializer Serializer to write the data to.
  • nodeIndexer Indexer of the nodes to include in the serialization.
  • sdkVersionNumber SDK version number for compatibility.
  • classVersionNumber Class 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:

  • currentFrame The frame to set as current.
  • sortedKeyframeVector Sorted 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:

  • serializer Serializer to read the data from.
  • nodeIndexer Indexer of the nodes to include in the deserialization.
  • sdkVersionNumber SDK version number for compatibility.
  • classVersionNumber Class version number for compatibility.

Implements SBDDataGraphNode::unserialize


function ~SBDDocumentAnimation#

Destructs the animation.

virtual SBDDocumentAnimation::~SBDDocumentAnimation () 

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:

  • category The animation category to describe.
  • humanReadable If true, 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.

SBDDocumentAnimation::SBDDocumentAnimation (
    SBDDocumentAnimationData * dataPointer
) 

Creates an animation object using the provided internal data pointer.

Parameters:

  • dataPointer Pointer to the animation's data structure.