Web Analytics Made Easy - Statcounter
Skip to content

Class SBMStructuralModelPath#

ClassList > SBMStructuralModelPath

This class describes a structural path (trajectory) More...

  • #include <SBMStructuralModelPath.hpp>

Inherits the following classes: SBDDataGraphNode

Public Types#

Type Name
enum AnimationType
Path animation types.

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
SBMStructuralModelPath ()
Constructs a path.
SBMStructuralModelPath (const std::string & name, const SBNodeIndexer & nodeIndexer=SBNodeIndexer())
Constructs a path with name name from the conformations innodeIndexer .
SBMStructuralModelPath (const std::string & name, const SBNodeIndexer & nodeIndexer, SBVector< SBVector< SBPosition3 > * > * positionData, SBVector< SBQuantity::energy > * energyData=nullptr, SBVector< SBQuantity::time > * timeData=nullptr, SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr, SBVector< SBVector< SBForce3 > * > * forceData=nullptr, SBVector< SBUnitCell > * unitCellData=nullptr, SBVector< SBQuantity::mass > * massData=nullptr)
Constructs a path with name name from the atoms innodeIndexer .
virtual bool add (SBConformation * conformation)
Adds a frame to the path.
virtual bool add (SBMStructuralModelPath * path)
Adds frames to the path.
virtual bool add (SBVector< SBPosition3 > * positionData, const SBQuantity::energy & energy=SBQuantity::energy::zero, const SBQuantity::time & time=SBQuantity::time::zero, SBVector< SBVelocity3 > * velocityData=nullptr, SBVector< SBForce3 > * forceData=nullptr)
Adds a frame to the path.
virtual bool add (SBVector< SBVector< SBPosition3 > * > * positionData, SBVector< SBQuantity::energy > * energyData=nullptr, SBVector< SBQuantity::time > * timeData=nullptr, SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr, SBVector< SBVector< SBForce3 > * > * forceData=nullptr)
Adds frames to the path.
bool addAtom (SBAtom * atom, SBVector< SBPosition3 > * atomPositionVector=nullptr, SBVector< SBVelocity3 > * atomVelocityVector=nullptr, SBVector< SBForce3 > * atomForceVector=nullptr)
Adds an atom to the path.
void clearSourceFileName ()
Clears the name of the file associated to the path.
virtual SBMStructuralModelPath * clone () override
Returns a copy of the node and its descendants.
virtual SBMStructuralModelPath * copy (unsigned int firstStep, unsigned int lastStep)
Copies frames from the path to create a new path.
virtual void createConformation (unsigned int step, SBNodeIndexer & conformationIndexer) const
Create a conformation corresponding to a specific step .
virtual void createConformations (SBNodeIndexer & conformationIndexer) const
Create conformations corresponding to all steps.
virtual void createStructuralModels (unsigned int step, SBNodeIndexer & structuralModelIndexer) const
Create structural models corresponding to a specific step .
virtual void createStructuralModels (SBNodeIndexer & structuralModelIndexer) const
Create structural models corresponding to all steps.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) override
Performs the action on this path node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override
Performs the object 'saction on this path node.
virtual bool getAnimationFlag () const
Returns the animation flag.
virtual AnimationType getAnimationType () const
Returns the animation type.
virtual SBPointerIndexer< SBAtom > const * getAtomIndexer () const
Returns the atoms for which a position is saved.
virtual SBQuantity::energy getCurrentEnergy () const
Returns the current energy.
virtual unsigned int getCurrentStep () const
Returns the current step along the path.
virtual SBQuantity::time getCurrentTime () const
Returns the current time.
virtual bool getEnergy (unsigned int step, SBQuantity::energy & energy) const
Retrieves the energy for a specific step .
virtual SBVector< SBQuantity::energy > * getEnergyData () const
Returns the energy data.
virtual bool getForce (unsigned int step, unsigned int atomIndex, SBForce3 & force) const
Retrieves the force of atom atomIndex and stores it inforce for a specificstep .
virtual bool getForce (unsigned int step, SBAtom * atom, SBForce3 & force) const
Retrieves the force of atom atom and stores it inforce for a specificstep .
virtual SBVector< SBVector< SBForce3 > * > * getForceData () const
Returns the force data.
virtual bool getForwardFlag () const
Returns the forward flag, which indicates when the animation is moving forward.
virtual bool getMass (unsigned int atomIndex, SBQuantity::mass & mass) const
Retrieves the mass of atom atomIndex .
virtual bool getMass (SBAtom * atom, SBQuantity::mass & mass) const
Retrieves the mass of atom atom .
virtual SBVector< SBQuantity::mass > * getMassData () const
Returns the mass data.
SBMStructuralModelPath * getNextPath () const
Returns the next path in the document.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override 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) override const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfAtoms () const
Returns the number of atoms for which a position is saved.
virtual unsigned int getNumberOfSteps () const
Returns the number of steps in the path.
virtual bool getPosition (unsigned int step, unsigned int atomIndex, SBPosition3 & position) const
Retrieves the position of atom atomIndex and stores it inposition for a specificstep .
virtual bool getPosition (unsigned int step, SBAtom * atom, SBPosition3 & position) const
Retrieves the position of atom atom and stores it inposition for a specificstep .
virtual SBVector< SBVector< SBPosition3 > * > * getPositionData () const
Returns the position data.
SBMStructuralModelPath * getPreviousPath () const
Returns the previous path in the document.
virtual unsigned int getSmoothingWindowSize () const
Returns the size of the smoothing window.
const std::string & getSourceFileName () const
Returns the name of the file associated to the path.
virtual SBQuantity::second const & getStepDuration () const
Returns the step duration.
virtual unsigned int getStride () const
Returns the animation stride.
virtual bool getTime (unsigned int step, SBQuantity::time & time) const
Retrieves the time for a specific step .
virtual SBVector< SBQuantity::time > * getTimeData () const
Returns the time data.
virtual SBNode::Type getType () override const
Returns the data graph node type.
virtual bool getUnitCell (unsigned int step, SBUnitCell & unitCell) const
Retrieves the unit cell for a specific step .
virtual SBVector< SBUnitCell > * getUnitCellData () const
Returns the unit-cell data.
virtual bool getUnwrappedPosition (unsigned int step, unsigned int atomIndex, SBPosition3 & position) const
Retrieves the unwrapped position of atom atomIndex for a specificstep .
virtual bool getUnwrappedPosition (unsigned int step, SBAtom * atom, SBPosition3 & position) const
Retrieves the unwrapped position of atom atom for a specificstep .
virtual bool getVelocity (unsigned int step, unsigned int atomIndex, SBVelocity3 & velocity) const
Retrieves the velocity of atom atomIndex and stores it invelocity for a specificstep .
virtual bool getVelocity (unsigned int step, SBAtom * atom, SBVelocity3 & velocity) const
Retrieves the velocity of atom atom and stores it invelocity for a specificstep .
virtual SBVector< SBVector< SBVelocity3 > * > * getVelocityData () const
Returns the velocity data.
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for 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) override const
Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasSourceFileName () const
Returns true when the path has the source file name set.
virtual bool insert (unsigned int step, SBConformation * conformation)
Inserts a frame in the path at position step .
virtual bool insert (unsigned int step, SBMStructuralModelPath * path)
Inserts frames in the path at position step .
virtual bool insert (unsigned int step, SBVector< SBPosition3 > * positionData, const SBQuantity::energy & energy=SBQuantity::energy::zero, const SBQuantity::time & time=SBQuantity::time::zero, SBVector< SBVelocity3 > * velocityData=nullptr, SBVector< SBForce3 > * forceData=nullptr)
Inserts a frame in the path at position step .
virtual bool insert (unsigned int step, SBVector< SBVector< SBPosition3 > * > * positionData, SBVector< SBQuantity::energy > * energyData=nullptr, SBVector< SBQuantity::time > * timeData=nullptr, SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr, SBVector< SBVector< SBForce3 > * > * forceData=nullptr)
Inserts frames in the path at position step .
bool insertAtom (unsigned int atomIndex, SBAtom * atom, SBVector< SBPosition3 > * atomPositionVector=nullptr, SBVector< SBVelocity3 > * atomVelocityVector=nullptr, SBVector< SBForce3 > * atomForceVector=nullptr)
Inserts an atom at indexatomIndex to the path.
virtual bool isSerializable () override const
Returns true __
virtual bool makeWholeAllSteps ()
Reconstructs bond-connected components across periodic boundaries for all steps.
virtual bool makeWholeStep (unsigned int step)
Reconstructs bond-connected components across periodic boundaries for a specific step .
virtual void print (unsigned int offset=0) override const
Prints the path.
virtual SBConformation * remove (unsigned int step)
Remove a frame from the path to create a conformation.
virtual SBMStructuralModelPath * remove (unsigned int firstStep, unsigned int lastStep)
Removes frames from the path to create a new path.
bool removeAtom (SBAtom * atom)
Removes an atom from the path.
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 path.
virtual void setAnimationFlag (bool animationFlag)
Sets the animation flag.
virtual void setAnimationType (AnimationType animationType)
Sets the animation type.
virtual void setCurrentStep (unsigned int currentStep)
Sets the current step along the path.
virtual bool setEnergy (unsigned int step, const SBQuantity::energy & energy)
Sets the energy for a specific step .
virtual void setEnergyData (SBVector< SBQuantity::energy > * energyData)
Sets the energy data.
virtual bool setForce (unsigned int step, unsigned int atomIndex, const SBForce3 & force)
Sets the force of atom atomIndex toforce for a specificstep .
virtual bool setForce (unsigned int step, SBAtom * atom, const SBForce3 & force)
Sets the force of atom atom toforce for a specificstep .
virtual void setForceData (SBVector< SBVector< SBForce3 > * > * forceData)
Sets the force data.
virtual void setForwardFlag (bool forwardFlag)
Sets the forward flag, which indicates when the animation is moving forward.
virtual bool setMass (unsigned int atomIndex, const SBQuantity::mass & mass)
Sets the mass of atom atomIndex .
virtual bool setMass (SBAtom * atom, const SBQuantity::mass & mass)
Sets the mass of atom atom .
virtual void setMassData (SBVector< SBQuantity::mass > * massData)
Sets the mass data.
virtual bool setPosition (unsigned int step, unsigned int atomIndex, const SBPosition3 & position)
Sets the position of atom atomIndex toposition for a specificstep .
virtual bool setPosition (unsigned int step, SBAtom * atom, const SBPosition3 & position)
Sets the position of atom atom toposition for a specificstep .
virtual void setPositionData (SBVector< SBVector< SBPosition3 > * > * positionData)
Sets the position data.
virtual void setSmoothingWindowSize (unsigned int smoothingWindowSize)
Sets the size of the smoothing window.
void setSourceFileName (const std::string & fileName)
Sets the name of the file associated to the path.
virtual void setStepDuration (const SBQuantity::second & stepDuration)
Sets the step duration.
virtual void setStride (unsigned int stride)
Sets the animation stride.
virtual bool setTime (unsigned int step, const SBQuantity::time & time)
Sets the time for a specific step .
virtual void setTimeData (SBVector< SBQuantity::time > * timeData)
Sets the time data.
virtual bool setUnitCell (unsigned int step, const SBUnitCell & unitCell)
Sets the unit cell for a specific step .
virtual void setUnitCellData (SBVector< SBUnitCell > * unitCellData)
Sets the unit-cell data.
virtual bool setVelocity (unsigned int step, unsigned int atomIndex, const SBVelocity3 & velocity)
Sets the velocity of atom atomIndex tovelocity for a specificstep .
virtual bool setVelocity (unsigned int step, SBAtom * atom, const SBVelocity3 & velocity)
Sets the velocity of atom atom tovelocity for a specificstep .
virtual void setVelocityData (SBVector< SBVector< SBVelocity3 > * > * velocityData)
Sets the velocity data.
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 path.
virtual bool unwrap ()
Unwraps the trajectory over time using successive minimum-image displacements.
virtual void updateState ()
Updates the state along the path according to the animation parameters.
virtual bool wrapAllSteps (bool keepConnectedComponentsWhole=true)
Wraps the positions of all steps into their primary unit cells.
virtual bool wrapStep (unsigned int step, bool keepConnectedComponentsWhole=true)
Wraps the positions of a specific step into the primary unit cell.
virtual ~SBMStructuralModelPath ()
Destructs the path.

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 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 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 a structural path, i.e.

a set of positions of atoms. In SAMSON, the user may name and save a structural path. Stored paths appear in the document view, and the user may thus restore structural paths by right-clicking on them.

Short name: SBPath

See also: SBDDocument

Public Types Documentation#

enum AnimationType#

Path animation types.

enum SBMStructuralModelPath::AnimationType {
    Once = 1,
    Loop = 2,
    Bounce = 3
};


Public Functions Documentation#

function SBMStructuralModelPath [1/3]#

Constructs a path.

SBMStructuralModelPath::SBMStructuralModelPath () 

Constructs an empty structural path.

Creates a new SBMStructuralModelPath instance with no name and no associated atoms.


function SBMStructuralModelPath [2/3]#

Constructs a path with name name from the conformations innodeIndexer .

SBMStructuralModelPath::SBMStructuralModelPath (
    const std::string & name,
    const SBNodeIndexer & nodeIndexer=SBNodeIndexer ()
) 

Constructs a structural path with a given name and set of atoms.

Creates a SBMStructuralModelPath using the specified name and atom indexer.

Parameters:

  • name The name of the path.
  • nodeIndexer The indexer that provides the atoms (conformations) to be included in the path.

function SBMStructuralModelPath [3/3]#

Constructs a path with name name from the atoms innodeIndexer .

SBMStructuralModelPath::SBMStructuralModelPath (
    const std::string & name,
    const SBNodeIndexer & nodeIndexer,
    SBVector< SBVector< SBPosition3 > * > * positionData,
    SBVector< SBQuantity::energy > * energyData=nullptr,
    SBVector< SBQuantity::time > * timeData=nullptr,
    SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr,
    SBVector< SBVector< SBForce3 > * > * forceData=nullptr,
    SBVector< SBUnitCell > * unitCellData=nullptr,
    SBVector< SBQuantity::mass > * massData=nullptr
) 

Constructs a structural path with detailed data.

Creates a SBMStructuralModelPath with the specified name, atom indexer, and optional position, energy, time, velocity, and force data.

Parameters:

  • name The name of the path.
  • nodeIndexer The indexer that provides the atoms to be included in the path.
  • positionData Pointer to a vector of position vectors for each step; each inner vector holds the positions of all atoms for that step.
  • energyData Pointer to a vector of energy values for each step (optional).
  • timeData Pointer to a vector of time values for each step (optional).
  • velocityData Pointer to a vector of velocity vectors for each step (optional).
  • forceData Pointer to a vector of force vectors for each step (optional).
  • unitCellData Pointer to a vector of unit cells for each step (optional).
  • massData Pointer to a vector of masses for each atom (optional).

function add [1/4]#

Adds a frame to the path.

virtual bool SBMStructuralModelPath::add (
    SBConformation * conformation
) 

Adds a step to the path by copying information from a conformation.

The conformation needs to have all information that the path has. For example, if the path has velocity data, then the conformation needs to have velocity data as well. Furthermore, all atoms indexed by the path need be indexed by the conformation as well (but the conformation may have more information than necessary). Since all information is copied, the conformation may be deleted afterwards.

Parameters:

  • conformation The conformation to copy data from.

Returns:

true on success, false otherwise.


function add [2/4]#

Adds frames to the path.

virtual bool SBMStructuralModelPath::add (
    SBMStructuralModelPath * path
) 

Adds frames to the path by copying information from another path.

The provided path needs to have all information that this path has. For example, if this path has velocity data, then the provided path needs to have velocity data as well. Furthermore, all atoms indexed by this path need be indexed by the provided path as well (but the provided path may have more information than necessary). Since all information is copied, the provided path may be deleted afterwards.

Parameters:

  • path The source path to copy frames from.

Returns:

true on success, false otherwise.


function add [3/4]#

Adds a frame to the path.

virtual bool SBMStructuralModelPath::add (
    SBVector< SBPosition3 > * positionData,
    const SBQuantity::energy & energy=SBQuantity::energy::zero,
    const SBQuantity::time & time=SBQuantity::time::zero,
    SBVector< SBVelocity3 > * velocityData=nullptr,
    SBVector< SBForce3 > * forceData=nullptr
) 

Adds a step to the path using the provided data vectors.

All necessary information has to be provided. For example, if the path has velocity data, then velocity data must be provided. Furthermore, the size of the provided vectors must be equal to the number of atoms indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

Parameters:

  • positionData Vector of positions for each atom.
  • energy Energy value for the step.
  • time Time value for the step.
  • velocityData Optional vector of velocities for each atom.
  • forceData Optional vector of forces for each atom.

Returns:

true on success, false otherwise.


function add [4/4]#

Adds frames to the path.

virtual bool SBMStructuralModelPath::add (
    SBVector< SBVector< SBPosition3 > * > * positionData,
    SBVector< SBQuantity::energy > * energyData=nullptr,
    SBVector< SBQuantity::time > * timeData=nullptr,
    SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr,
    SBVector< SBVector< SBForce3 > * > * forceData=nullptr
) 

Adds steps to the path using the provided multi-step data vectors.

All necessary information has to be provided. For example, if the path has velocity data, then velocity data must be provided. Furthermore, the size of the provided vectors must be equal to the number of atoms indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

Parameters:

  • positionData Vector of vectors of positions for each atom at each step.
  • energyData Optional vector of energy values for each step.
  • timeData Optional vector of time values for each step.
  • velocityData Optional vector of vectors of velocities for each atom at each step.
  • forceData Optional vector of vectors of forces for each atom at each step.

Returns:

true on success, false otherwise.


function addAtom#

Adds an atom to the path.

bool SBMStructuralModelPath::addAtom (
    SBAtom * atom,
    SBVector< SBPosition3 > * atomPositionVector=nullptr,
    SBVector< SBVelocity3 > * atomVelocityVector=nullptr,
    SBVector< SBForce3 > * atomForceVector=nullptr
) 

Adds an atom to the path.

It expects position, velocity and force data to fill the path data. For example, if the path contains one hundred steps (frames) in the position data, then the size of the position vector atomPositionVector should be one hundred, since each frame will need to have one new position inserted, corresponding to the inserted atom. The atom is added at the end of the path indexer.

Parameters:

  • atom Pointer to the atom to add.
  • atomPositionVector Optional vector of positions for the atom across steps.
  • atomVelocityVector Optional vector of velocities for the atom across steps.
  • atomForceVector Optional vector of forces for the atom across steps.

Returns:

true when insertion is successful; otherwise false.


function clearSourceFileName#

Clears the name of the file associated to the path.

void SBMStructuralModelPath::clearSourceFileName () 

Clears the source file name associated with the path.


function clone#

Returns a copy of the node and its descendants.

virtual SBMStructuralModelPath * SBMStructuralModelPath::clone () override

Creates a copy of this path node and its descendants.

Returns:

Pointer to the cloned SBMStructuralModelPath.

Implements SBDDataGraphNode::clone


function copy#

Copies frames from the path to create a new path.

virtual SBMStructuralModelPath * SBMStructuralModelPath::copy (
    unsigned int firstStep,
    unsigned int lastStep
) 

Creates a deep copy of a range of steps from the path.

Copies all the frames between (and including) steps firstStep and lastStep into a new SBMStructuralModelPath instance. The original path remains unchanged. Returns nullptr if the parameters are invalid or required data is missing.

Parameters:

  • firstStep Index of the first step to copy (inclusive).
  • lastStep Index of the last step to copy (inclusive).

Returns:

Pointer to a new SBMStructuralModelPath containing the copied frames, or nullptr on failure.


function createConformation#

Create a conformation corresponding to a specific step .

virtual void SBMStructuralModelPath::createConformation (
    unsigned int step,
    SBNodeIndexer & conformationIndexer
) const

Creates a conformation for a specific step and adds it to the provided node indexer.

Parameters:

  • step The step index for which to create the conformation.
  • conformationIndexer The node indexer to which the new conformation will be added.

function createConformations#

Create conformations corresponding to all steps.

virtual void SBMStructuralModelPath::createConformations (
    SBNodeIndexer & conformationIndexer
) const

Creates conformations for all steps and adds them to the provided node indexer.

Parameters:

  • conformationIndexer The node indexer to which the new conformations will be added.

function createStructuralModels [1/2]#

Create structural models corresponding to a specific step .

virtual void SBMStructuralModelPath::createStructuralModels (
    unsigned int step,
    SBNodeIndexer & structuralModelIndexer
) const

Creates structural models for a specific step and adds them to the provided node indexer.

Parameters:

  • step The step index for which to create the structural models.
  • structuralModelIndexer The node indexer to which the new structural models will be added.

function createStructuralModels [2/2]#

Create structural models corresponding to all steps.

virtual void SBMStructuralModelPath::createStructuralModels (
    SBNodeIndexer & structuralModelIndexer
) const

Creates structural models for all steps and adds them to the provided node indexer.

Parameters:

  • structuralModelIndexer The node indexer to which the new structural models will be added.

function forEachNodeDepthFirst [1/2]#

Performs the action on this path node.

virtual void SBMStructuralModelPath::forEachNodeDepthFirst (
    void(*)( SBDDataGraphNode *node) action
) override

Executes an action for this path node in a depth‑first traversal.

Parameters:

  • action Function pointer that takes a pointer to a SBDDataGraphNode and performs an operation.

Implements SBDDataGraphNode::forEachNodeDepthFirst


function forEachNodeDepthFirst [2/2]#

Performs the object 'saction on this path node.

virtual void SBMStructuralModelPath::forEachNodeDepthFirst (
    SBCClass * object,
    void(SBCClass::*)( SBDDataGraphNode *node) action
) override

Executes a member function for this path node in a depth‑first traversal.

Parameters:

  • object Pointer to the object whose member function will be invoked.
  • action Pointer to the member function of object that takes a SBDDataGraphNode* argument.

Implements SBDDataGraphNode::forEachNodeDepthFirst


function getAnimationFlag#

Returns the animation flag.

virtual bool SBMStructuralModelPath::getAnimationFlag () const

Returns the animation flag indicating whether animation is active.

Returns:

true if animation is active, false otherwise.


function getAnimationType#

Returns the animation type.

virtual AnimationType SBMStructuralModelPath::getAnimationType () const

Returns:

The current animation type.


function getAtomIndexer#

Returns the atoms for which a position is saved.

virtual SBPointerIndexer< SBAtom > const * SBMStructuralModelPath::getAtomIndexer () const

Returns a constant pointer to the atom indexer associated with the path.

Returns:

Pointer to a constant SBPointerIndexer<SBAtom>.


function getCurrentEnergy#

Returns the current energy.

virtual SBQuantity::energy SBMStructuralModelPath::getCurrentEnergy () const

Returns the current energy of the path.

Returns:

The current energy value, possibly smoothed over a window.


function getCurrentStep#

Returns the current step along the path.

virtual unsigned int SBMStructuralModelPath::getCurrentStep () const

Returns the current step of the path animation.

Returns:

The current step index.


function getCurrentTime#

Returns the current time.

virtual SBQuantity::time SBMStructuralModelPath::getCurrentTime () const

Returns the current time of the path.

This function returns the time associated with the current step of the path. If smoothing is enabled, the returned value is the average over the smoothing window.

Returns:

The current time value (zero if no time data is available or the current step is invalid).


function getEnergy#

Retrieves the energy for a specific step .

virtual bool SBMStructuralModelPath::getEnergy (
    unsigned int step,
    SBQuantity::energy & energy
) const

Retrieves the energy value for a specific step of the path.

Retrieves the energy value for the specified step, applying smoothing if the smoothing window is set.

Parameters:

  • step Index of the step from which to retrieve the energy.
  • energy Output parameter that receives the energy value.

Returns:

true if the energy was successfully retrieved; false if the energy data is unavailable or the step index is out of range.


function getEnergyData#

Returns the energy data.

virtual SBVector< SBQuantity::energy > * SBMStructuralModelPath::getEnergyData () const

Retrieves the container of energy data for the path.

Returns:

Pointer to the vector of energy values for each step, or nullptr if not set.


function getForce [1/2]#

Retrieves the force of atom atomIndex and stores it inforce for a specificstep .

virtual bool SBMStructuralModelPath::getForce (
    unsigned int step,
    unsigned int atomIndex,
    SBForce3 & force
) const

Retrieves the force of a specific atom at a given step.

Parameters:

  • step Index of the step from which to retrieve the force.
  • atomIndex Index of the atom within the atom indexer.
  • atomForce Output parameter that receives the force of the specified atom.

Returns:

true if the force was successfully retrieved; false if the force data is unavailable, the step index is out of range, or the atom index is invalid.


function getForce [2/2]#

Retrieves the force of atom atom and stores it inforce for a specificstep .

virtual bool SBMStructuralModelPath::getForce (
    unsigned int step,
    SBAtom * atom,
    SBForce3 & force
) const

Retrieves the force of a specific atom at a given step.

Parameters:

  • step Index of the step from which to retrieve the force.
  • atom Pointer to the atom for which to retrieve the force.
  • atomForce Output parameter that receives the force of the specified atom.

Returns:

true if the force was successfully retrieved; false if the force data is unavailable, the step index is out of range, or the atom is not found in the indexer.


function getForceData#

Returns the force data.

virtual SBVector< SBVector< SBForce3 > * > * SBMStructuralModelPath::getForceData () const

Retrieves a pointer to the vector containing per‑step force vectors for each atom.

Returns:

Pointer to the force data vector, or nullptr if no force data is set.


function getForwardFlag#

Returns the forward flag, which indicates when the animation is moving forward.

virtual bool SBMStructuralModelPath::getForwardFlag () const

Returns the forward flag indicating the direction of animation.

Returns:

true if animation is moving forward, false if moving backward.


function getMass [1/2]#

Retrieves the mass of atom atomIndex .

virtual bool SBMStructuralModelPath::getMass (
    unsigned int atomIndex,
    SBQuantity::mass & mass
) const

Retrieves the mass of a specific atom by index.

Parameters:

  • atomIndex Index of the atom.
  • mass Output parameter that receives the mass.

Returns:

true if the mass was successfully retrieved; otherwise false.


function getMass [2/2]#

Retrieves the mass of atom atom .

virtual bool SBMStructuralModelPath::getMass (
    SBAtom * atom,
    SBQuantity::mass & mass
) const

Retrieves the mass of a specific atom.

Parameters:

  • atom Pointer to the atom.
  • mass Output parameter that receives the mass.

Returns:

true if the mass was successfully retrieved; otherwise false.


function getMassData#

Returns the mass data.

virtual SBVector< SBQuantity::mass > * SBMStructuralModelPath::getMassData () const

Retrieves the mass data.

Returns:

Pointer to the vector of masses for each atom, or nullptr if not set.


function getNextPath#

Returns the next path in the document.

SBMStructuralModelPath * SBMStructuralModelPath::getNextPath () const

Retrieves the next path node in the document, if any.

Returns:

Pointer to the next SBMStructuralModelPath, or nullptr if none exists.


function getNodes [1/2]#

Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.

virtual void SBMStructuralModelPath::getNodes (
    SBNodeIndexer & nodeIndexer,
    SBNode::Type nodeType,
    bool selectedNodesOnly=false,
    const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(),
    bool includeDependencies=false
) override const

Collects nodes of a given type into an indexer.

The function adds nodes of type nodeType to nodeIndexer. If selectedNodesOnly is true, only selected nodes are considered. The optional visitPredicate determines whether a node should be visited, and includeDependencies controls whether dependent nodes (e.g., atoms) are also collected.

Parameters:

  • nodeIndexer The indexer that will receive the collected nodes.
  • nodeType The type of nodes to collect.
  • selectedNodesOnly If true, only selected nodes are added; otherwise all nodes of the specified type are added.
  • visitPredicate Predicate that determines whether a node should be visited.
  • includeDependencies If true, dependent nodes (e.g., atoms) are also collected.

Implements SBDDataGraphNode::getNodes


function getNodes [2/2]#

Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.

virtual void SBMStructuralModelPath::getNodes (
    SBNodeIndexer & nodeIndexer,
    const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(),
    const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(),
    bool includeDependencies=false
) override const

Collects nodes that satisfy a selection predicate into an indexer.

The function adds nodes for which selectionPredicate evaluates to true to nodeIndexer. The optional visitPredicate determines whether a node should be visited, and includeDependencies controls whether dependent nodes are also collected.

Parameters:

  • nodeIndexer The indexer that will receive the collected nodes.
  • selectionPredicate Predicate used to select nodes.
  • visitPredicate Predicate that determines whether a node should be visited.
  • includeDependencies If true, dependent nodes are also collected.

Implements SBDDataGraphNode::getNodes


function getNumberOfAtoms#

Returns the number of atoms for which a position is saved.

virtual unsigned int SBMStructuralModelPath::getNumberOfAtoms () const

Returns the number of atoms.

Returns:

Number of atoms.


function getNumberOfSteps#

Returns the number of steps in the path.

virtual unsigned int SBMStructuralModelPath::getNumberOfSteps () const

The number of steps corresponds to the number of position frames stored in the path.

Returns:

The number of steps.


function getPosition [1/2]#

Retrieves the position of atom atomIndex and stores it inposition for a specificstep .

virtual bool SBMStructuralModelPath::getPosition (
    unsigned int step,
    unsigned int atomIndex,
    SBPosition3 & position
) const

Retrieves the position of an atom at a given step.

If smoothing is enabled, the position is averaged over a window of steps.

Parameters:

  • step Index of the step.
  • atomIndex Index of the atom.
  • atomPosition Reference to a SBPosition3 that receives the atom position.

Returns:

true if the position was successfully retrieved, false otherwise.


function getPosition [2/2]#

Retrieves the position of atom atom and stores it inposition for a specificstep .

virtual bool SBMStructuralModelPath::getPosition (
    unsigned int step,
    SBAtom * atom,
    SBPosition3 & position
) const

Retrieves the position of a specific atom at a given step.

If smoothing is enabled, the position is averaged over a window of steps.

Parameters:

  • step Index of the step.
  • atom Pointer to the atom.
  • atomPosition Reference to a SBPosition3 that receives the atom position.

Returns:

true if the position was successfully retrieved, false otherwise.


function getPositionData#

Returns the position data.

virtual SBVector< SBVector< SBPosition3 > * > * SBMStructuralModelPath::getPositionData () const

Retrieves the container of position data for the path.

Returns:

Pointer to the vector of position vectors for each step, or nullptr if not set.


function getPreviousPath#

Returns the previous path in the document.

SBMStructuralModelPath * SBMStructuralModelPath::getPreviousPath () const

Retrieves the previous path node in the document, if any.

Returns:

Pointer to the previous SBMStructuralModelPath, or nullptr if none exists.


function getSmoothingWindowSize#

Returns the size of the smoothing window.

virtual unsigned int SBMStructuralModelPath::getSmoothingWindowSize () const

Returns the size of the smoothing window used for position smoothing.

Returns:

The smoothing window size.


function getSourceFileName#

Returns the name of the file associated to the path.

const std::string & SBMStructuralModelPath::getSourceFileName () const

Retrieves the source file name associated with the path.

Returns:

The source file name if set; otherwise a default empty string.


function getStepDuration#

Returns the step duration.

virtual SBQuantity::second const & SBMStructuralModelPath::getStepDuration () const

Returns:

The step duration as a time quantity.


function getStride#

Returns the animation stride.

virtual unsigned int SBMStructuralModelPath::getStride () const

Returns:

The stride value.


function getTime#

Retrieves the time for a specific step .

virtual bool SBMStructuralModelPath::getTime (
    unsigned int step,
    SBQuantity::time & time
) const

Retrieves the time value for a specific step of the path.

Retrieves the time value for the specified step, applying smoothing if the smoothing window is set.

Parameters:

  • step Index of the step from which to retrieve the time.
  • time Output parameter that receives the time value.

Returns:

true if the time was successfully retrieved; false if the time data is unavailable or the step index is out of range.


function getTimeData#

Returns the time data.

virtual SBVector< SBQuantity::time > * SBMStructuralModelPath::getTimeData () const

Retrieves a pointer to the vector containing time values for each step.

Returns:

Pointer to the time data vector, or nullptr if no time data is set.


function getType#

Returns the data graph node type.

virtual SBNode::Type SBMStructuralModelPath::getType () override const

Returns the node type of this object.

Returns:

The node type SBNode::Path.

Implements SBDDataGraphNode::getType


function getUnitCell#

Retrieves the unit cell for a specific step .

virtual bool SBMStructuralModelPath::getUnitCell (
    unsigned int step,
    SBUnitCell & unitCell
) const

Retrieves the unit cell for a specific step.

Parameters:

  • step Index of the step.
  • unitCell Output parameter that receives the unit cell.

Returns:

true if the unit cell was successfully retrieved; otherwise false.


function getUnitCellData#

Returns the unit-cell data.

virtual SBVector< SBUnitCell > * SBMStructuralModelPath::getUnitCellData () const

Retrieves the unit-cell data.

Returns:

Pointer to the vector of unit cells for each step, or nullptr if not set.


function getUnwrappedPosition [1/2]#

Retrieves the unwrapped position of atom atomIndex for a specificstep .

virtual bool SBMStructuralModelPath::getUnwrappedPosition (
    unsigned int step,
    unsigned int atomIndex,
    SBPosition3 & position
) const

Parameters:

  • step The step index.
  • atomIndex The atom index.
  • position The output position.

Returns:

true if the position was successfully retrieved; otherwise false.


function getUnwrappedPosition [2/2]#

Retrieves the unwrapped position of atom atom for a specificstep .

virtual bool SBMStructuralModelPath::getUnwrappedPosition (
    unsigned int step,
    SBAtom * atom,
    SBPosition3 & position
) const

Parameters:

  • step The step index.
  • atom The atom pointer.
  • position The output position.

Returns:

true if the position was successfully retrieved; otherwise false.


function getVelocity [1/2]#

Retrieves the velocity of atom atomIndex and stores it invelocity for a specificstep .

virtual bool SBMStructuralModelPath::getVelocity (
    unsigned int step,
    unsigned int atomIndex,
    SBVelocity3 & velocity
) const

Retrieves the velocity of a specific atom at a given step.

Retrieves the velocity of the specified atom at the given step, applying smoothing if configured.

Parameters:

  • step Index of the step from which to retrieve the velocity.
  • atomIndex Index of the atom within the atom indexer.
  • atomVelocity Output parameter that receives the velocity of the specified atom.

Returns:

true if the velocity was successfully retrieved; false if the velocity data is unavailable, the step index is out of range, or the atom index is invalid.


function getVelocity [2/2]#

Retrieves the velocity of atom atom and stores it invelocity for a specificstep .

virtual bool SBMStructuralModelPath::getVelocity (
    unsigned int step,
    SBAtom * atom,
    SBVelocity3 & velocity
) const

Retrieves the velocity of a specific atom at a given step.

Retrieves the velocity of the given atom at the specified step, applying smoothing if configured.

Parameters:

  • step Index of the step from which to retrieve the velocity.
  • atom Pointer to the atom for which to retrieve the velocity.
  • atomVelocity Output parameter that receives the velocity of the specified atom.

Returns:

true if the velocity was successfully retrieved; false if the velocity data is unavailable, the step index is out of range, or the atom is not found in the indexer.


function getVelocityData#

Returns the velocity data.

virtual SBVector< SBVector< SBVelocity3 > * > * SBMStructuralModelPath::getVelocityData () const

Retrieves a pointer to the vector containing per‑step velocity vectors for each atom.

Returns:

Pointer to the velocity data vector, or nullptr if no velocity data is set.


function hasNode [1/2]#

Checks for nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.

virtual bool SBMStructuralModelPath::hasNode (
    SBNode::Type nodeType,
    bool selectedNodesOnly=false,
    const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(),
    bool includeDependencies=false
) override const

Checks whether the path contains a node of a given type.

The function returns true if a node of type nodeType is found. If selectedNodesOnly is true, only selected nodes are considered. The optional visitPredicate determines whether a node should be visited, and includeDependencies controls whether dependent nodes are also examined.

Parameters:

  • nodeType The type of node to search for.
  • selectedNodesOnly If true, only selected nodes are considered.
  • visitPredicate Predicate that determines whether a node should be visited.
  • includeDependencies If true, dependent nodes are also examined.

Returns:

true if a matching node exists; otherwise false.

Implements SBDDataGraphNode::hasNode


function hasNode [2/2]#

Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.

virtual bool SBMStructuralModelPath::hasNode (
    const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(),
    const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(),
    bool includeDependencies=false
) override const

Checks whether the path contains any node satisfying a selection predicate.

The function returns true if a node for which selectionPredicate evaluates to true is found. The optional visitPredicate determines whether a node should be visited, and includeDependencies controls whether dependent nodes are also examined.

Parameters:

  • selectionPredicate Predicate used to select nodes.
  • visitPredicate Predicate that determines whether a node should be visited.
  • includeDependencies If true, dependent nodes are also examined.

Returns:

true if a matching node exists; otherwise false.

Implements SBDDataGraphNode::hasNode


function hasSourceFileName#

Returns true when the path has the source file name set.

bool SBMStructuralModelPath::hasSourceFileName () const

Checks whether the path has a source file name set.

Returns:

true if a source file name is associated with the path; otherwise false.


function insert [1/4]#

Inserts a frame in the path at position step .

virtual bool SBMStructuralModelPath::insert (
    unsigned int step,
    SBConformation * conformation
) 

Inserts a step to the path at the specified position by copying information from a conformation.

The conformation must contain all information that the path stores (positions, velocities, forces, etc.). Additionally, all atoms indexed by the path must also be indexed by the conformation (the conformation may contain additional atoms). The required data is copied into the path, after which the conformation can be safely deleted.

Parameters:

  • step Position at which to insert the new step.
  • conformation The conformation from which to copy the data.

Returns:

true if the insertion succeeded, false otherwise.


function insert [2/4]#

Inserts frames in the path at position step .

virtual bool SBMStructuralModelPath::insert (
    unsigned int step,
    SBMStructuralModelPath * path
) 

Inserts a deep copy of the provided path at the given step.

This function inserts a deep copy of the provided path at a given step. All necessary information has to be provided. For example, if this path has velocity data, then the provided path must contain velocity data as well. Note that the provided path may have more information than necessary, and may index more atoms than necessary. In that case, only the necessary information is copied. Since all passed information is copied, the provided path may be deleted after the function returns.

Parameters:

  • step The index at which to insert the copied data from path.
  • path Pointer to the source path to be copied.

Returns:

true if the insertion succeeded, false otherwise.


function insert [3/4]#

Inserts a frame in the path at position step .

virtual bool SBMStructuralModelPath::insert (
    unsigned int step,
    SBVector< SBPosition3 > * positionData,
    const SBQuantity::energy & energy=SBQuantity::energy::zero,
    const SBQuantity::time & time=SBQuantity::time::zero,
    SBVector< SBVelocity3 > * velocityData=nullptr,
    SBVector< SBForce3 > * forceData=nullptr
) 

Inserts a step into the path at the specified position.

This function inserts a step to the path at position step. All necessary information has to be provided. For example, if the path has velocity data, then velocity data must be provided. Furthermore, the size of the provided vectors must be equal to the number of atoms indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

Parameters:

  • step The index at which to insert the new step.
  • positionData Pointer to the vector of positions for each atom for the new step. Must be non-null if the path stores positions.
  • energy The energy value for the new step.
  • time The time value for the new step.
  • velocityData Pointer to the vector of velocities for each atom for the new step. Must be non-null if the path stores velocities.
  • forceData Pointer to the vector of forces for each atom for the new step. Must be non-null if the path stores forces.

Returns:

true if the insertion succeeded, false otherwise.


function insert [4/4]#

Inserts frames in the path at position step .

virtual bool SBMStructuralModelPath::insert (
    unsigned int step,
    SBVector< SBVector< SBPosition3 > * > * positionData,
    SBVector< SBQuantity::energy > * energyData=nullptr,
    SBVector< SBQuantity::time > * timeData=nullptr,
    SBVector< SBVector< SBVelocity3 > * > * velocityData=nullptr,
    SBVector< SBVector< SBForce3 > * > * forceData=nullptr
) 

Inserts multiple steps into the path at the specified position.

This function inserts steps to the path at position step. All necessary information has to be provided. For example, if the path has velocity data, then velocity data must be provided. Furthermore, the size of the provided vectors must be equal to the number of atoms indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

Parameters:

  • step The index at which to start inserting the new steps.
  • positionData Pointer to a vector of position vectors for each new step. Must be non-null if the path stores positions.
  • energyData Pointer to a vector of energy values for each new step. Must be non-null if the path stores energies.
  • timeData Pointer to a vector of time values for each new step. Must be non-null if the path stores times.
  • velocityData Pointer to a vector of velocity vectors for each new step. Must be non-null if the path stores velocities.
  • forceData Pointer to a vector of force vectors for each new step. Must be non-null if the path stores forces.

Returns:

true if the insertion succeeded, false otherwise.


function insertAtom#

Inserts an atom at indexatomIndex to the path.

bool SBMStructuralModelPath::insertAtom (
    unsigned int atomIndex,
    SBAtom * atom,
    SBVector< SBPosition3 > * atomPositionVector=nullptr,
    SBVector< SBVelocity3 > * atomVelocityVector=nullptr,
    SBVector< SBForce3 > * atomForceVector=nullptr
) 

Inserts an atom into the path at a specified index.

It expects position, velocity and force data to fill the path data. For example, if the path contains one hundred steps (frames) in the position data, then the size of the position vector atomPositionVector should be one hundred, since each frame will need to have one new position inserted, corresponding to the inserted atom. The atom is inserted at position atomIndex in the path indexer.

Parameters:

  • atomIndex Index at which the atom will be inserted.
  • atom Pointer to the atom to insert.
  • atomPositionVector Optional vector of positions for the atom across steps.
  • atomVelocityVector Optional vector of velocities for the atom across steps.
  • atomForceVector Optional vector of forces for the atom across steps.

Returns:

true when insertion is successful; otherwise false.


function isSerializable#

Returns true __

virtual bool SBMStructuralModelPath::isSerializable () override const

Indicates whether the path can be serialized.

This method always returns true for SBMStructuralModelPath.

Returns:

True, indicating that the path supports serialization.

Implements SBDDataGraphNode::isSerializable


function makeWholeAllSteps#

Reconstructs bond-connected components across periodic boundaries for all steps.

virtual bool SBMStructuralModelPath::makeWholeAllSteps () 

Returns:

true if the operation completed; otherwise false.


function makeWholeStep#

Reconstructs bond-connected components across periodic boundaries for a specific step .

virtual bool SBMStructuralModelPath::makeWholeStep (
    unsigned int step
) 

Parameters:

  • step The step index.

Returns:

true if the operation completed; otherwise false.


function print#

Prints the path.

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

Prints a human‑readable representation of the path to standard output.

The function prints the number of atoms, source file name, and optionally the position, energy, time, velocity, and force data for each step. Each line is prefixed with a number of tab characters specified by offset.

Parameters:

  • offset Number of tab characters used for indentation of each printed line.

Implements SBDDataGraphNode::print


function remove [1/2]#

Remove a frame from the path to create a conformation.

virtual SBConformation * SBMStructuralModelPath::remove (
    unsigned int step
) 

Removes a single step from the path and returns it as a new conformation.

Extracts the position, energy, time, velocity, and force data for the specified step, creates a new SBConformation object containing this data, removes the step from the path, and returns the created conformation. If the step index is out of range or required data is missing, returns nullptr.

Parameters:

  • step Index of the step to remove (zero‑based).

Returns:

Pointer to the newly created SBConformation, or nullptr if removal fails.


function remove [2/2]#

Removes frames from the path to create a new path.

virtual SBMStructuralModelPath * SBMStructuralModelPath::remove (
    unsigned int firstStep,
    unsigned int lastStep
) 

Removes a range of steps from the path and returns them as a new path.

Creates a deep copy of all the frames between (and including) steps firstStep and lastStep, deletes the corresponding frames in this path, and returns a new SBMStructuralModelPath containing the copied frames. Returns nullptr if the parameters are invalid or required data is missing.

Parameters:

  • firstStep Index of the first step to remove (inclusive).
  • lastStep Index of the last step to remove (inclusive).

Returns:

Pointer to a new SBMStructuralModelPath containing the removed steps, *nullptr on failure.


function removeAtom#

Removes an atom from the path.

bool SBMStructuralModelPath::removeAtom (
    SBAtom * atom
) 

Removes the specified atom from the path and deletes its associated position, velocity, and force data for each step.

Parameters:

  • atom Pointer to the atom to be removed.

Returns:

true if the atom was successfully removed, false otherwise.


function serialize#

Serializes the path.

virtual void SBMStructuralModelPath::serialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override const

Serializes the structural path to a serializer.

Writes the path's data, including name, source file name, atom list, and any associated position, energy, time, velocity, and force data, as well as animation parameters, to the provided serializer.

Parameters:

  • serializer The serializer used to write the path data.
  • nodeIndexer The node indexer used to resolve atom references.
  • sdkVersionNumber The version of the SDK for compatibility checks; defaults to the current SDK version.
  • classVersionNumber The version of the class for compatibility; defaults to version 1.0.0.

Implements SBDDataGraphNode::serialize


function setAnimationFlag#

Sets the animation flag.

virtual void SBMStructuralModelPath::setAnimationFlag (
    bool animationFlag
) 

Sets the animation flag indicating whether animation is active.

Parameters:

  • animationFlag True to enable animation, false to disable.

function setAnimationType#

Sets the animation type.

virtual void SBMStructuralModelPath::setAnimationType (
    AnimationType animationType
) 

Parameters:

  • animationType The animation type to set.

function setCurrentStep#

Sets the current step along the path.

virtual void SBMStructuralModelPath::setCurrentStep (
    unsigned int currentStep
) 

Sets the current step of the path animation.

Parameters:

  • currentStep The step index to set as current.

function setEnergy#

Sets the energy for a specific step .

virtual bool SBMStructuralModelPath::setEnergy (
    unsigned int step,
    const SBQuantity::energy & energy
) 

Sets the energy value for a specific step of the path.

Parameters:

  • step Index of the step for which to set the energy.
  • energy Energy value to assign to the specified step.

Returns:

true if the energy was successfully set; false if the energy data is unavailable or the step index is out of range.


function setEnergyData#

Sets the energy data.

virtual void SBMStructuralModelPath::setEnergyData (
    SBVector< SBQuantity::energy > * energyData
) 

Sets the container of energy data for the path.

Parameters:

  • energyData Pointer to the new energy data container.

function setForce [1/2]#

Sets the force of atom atomIndex toforce for a specificstep .

virtual bool SBMStructuralModelPath::setForce (
    unsigned int step,
    unsigned int atomIndex,
    const SBForce3 & force
) 

Sets the force of a specific atom at a given step.

Parameters:

  • step Index of the step for which to set the force.
  • atomIndex Index of the atom within the atom indexer.
  • atomForce Force value to assign to the specified atom at the given step.

Returns:

true if the force was successfully set; false if the force data is unavailable, the step index is out of range, or the atom index is invalid.


function setForce [2/2]#

Sets the force of atom atom toforce for a specificstep .

virtual bool SBMStructuralModelPath::setForce (
    unsigned int step,
    SBAtom * atom,
    const SBForce3 & force
) 

Sets the force of a specific atom at a given step.

Parameters:

  • step Index of the step for which to set the force.
  • atom Pointer to the atom for which to set the force.
  • atomForce Force value to assign to the specified atom at the given step.

Returns:

true if the force was successfully set; false if the force data is unavailable, the step index is out of range, or the atom is not found in the indexer.


function setForceData#

Sets the force data.

virtual void SBMStructuralModelPath::setForceData (
    SBVector< SBVector< SBForce3 > * > * forceData
) 

Sets the force data vector for the path.

Parameters:

  • forceData Pointer to a vector of per‑step force vectors to associate with the path.

function setForwardFlag#

Sets the forward flag, which indicates when the animation is moving forward.

virtual void SBMStructuralModelPath::setForwardFlag (
    bool forwardFlag
) 

Sets the forward flag indicating the direction of animation.

Parameters:

  • forwardFlag True to set animation moving forward, false for backward.

function setMass [1/2]#

Sets the mass of atom atomIndex .

virtual bool SBMStructuralModelPath::setMass (
    unsigned int atomIndex,
    const SBQuantity::mass & mass
) 

Sets the mass of a specific atom by index.

Parameters:

  • atomIndex Index of the atom.
  • mass Mass to assign.

Returns:

true if the mass was successfully updated; otherwise false.


function setMass [2/2]#

Sets the mass of atom atom .

virtual bool SBMStructuralModelPath::setMass (
    SBAtom * atom,
    const SBQuantity::mass & mass
) 

Sets the mass of a specific atom.

Parameters:

  • atom Pointer to the atom.
  • mass Mass to assign.

Returns:

true if the mass was successfully updated; otherwise false.


function setMassData#

Sets the mass data.

virtual void SBMStructuralModelPath::setMassData (
    SBVector< SBQuantity::mass > * massData
) 

Parameters:

  • massData Pointer to the mass data.

function setPosition [1/2]#

Sets the position of atom atomIndex toposition for a specificstep .

virtual bool SBMStructuralModelPath::setPosition (
    unsigned int step,
    unsigned int atomIndex,
    const SBPosition3 & position
) 

Sets the position of an atom at a specific step.

Parameters:

  • step Index of the step.
  • atomIndex Index of the atom.
  • atomPosition The new position to set for the atom.

Returns:

true if the position was successfully set, false otherwise.


function setPosition [2/2]#

Sets the position of atom atom toposition for a specificstep .

virtual bool SBMStructuralModelPath::setPosition (
    unsigned int step,
    SBAtom * atom,
    const SBPosition3 & position
) 

Sets the position of a specific atom at a specific step.

Parameters:

  • step Index of the step.
  • atom Pointer to the atom.
  • atomPosition The new position to set for the atom.

Returns:

true if the position was successfully set, false otherwise.


function setPositionData#

Sets the position data.

virtual void SBMStructuralModelPath::setPositionData (
    SBVector< SBVector< SBPosition3 > * > * positionData
) 

Sets the container of position data for the path.

Parameters:

  • positionData Pointer to the new position data container.

function setSmoothingWindowSize#

Sets the size of the smoothing window.

virtual void SBMStructuralModelPath::setSmoothingWindowSize (
    unsigned int smoothingWindowSize
) 

Sets the size of the smoothing window used for position smoothing.

Parameters:

  • smoothingWindowSize The new smoothing window size.

function setSourceFileName#

Sets the name of the file associated to the path.

void SBMStructuralModelPath::setSourceFileName (
    const std::string & fileName
) 

Sets the source file name for the path.

Parameters:

  • fileName The new source file name to associate with the path.

function setStepDuration#

Sets the step duration.

virtual void SBMStructuralModelPath::setStepDuration (
    const SBQuantity::second & stepDuration
) 

Parameters:

  • stepDuration The step duration to set.

function setStride#

Sets the animation stride.

virtual void SBMStructuralModelPath::setStride (
    unsigned int stride
) 

Parameters:

  • stride The stride value to set.

function setTime#

Sets the time for a specific step .

virtual bool SBMStructuralModelPath::setTime (
    unsigned int step,
    const SBQuantity::time & time
) 

Sets the time value for a specific step of the path.

Parameters:

  • step Index of the step for which to set the time.
  • time Time value to assign to the specified step.

Returns:

true if the time was successfully set; false if the time data is unavailable or the step index is out of range.


function setTimeData#

Sets the time data.

virtual void SBMStructuralModelPath::setTimeData (
    SBVector< SBQuantity::time > * timeData
) 

Sets the time data vector for the path.

Parameters:

  • timeData Pointer to a vector of time values to associate with the path.

function setUnitCell#

Sets the unit cell for a specific step .

virtual bool SBMStructuralModelPath::setUnitCell (
    unsigned int step,
    const SBUnitCell & unitCell
) 

Sets the unit cell for a specific step.

Parameters:

  • step Index of the step.
  • unitCell The unit cell to assign.

Returns:

true if the unit cell was successfully updated; otherwise false.


function setUnitCellData#

Sets the unit-cell data.

virtual void SBMStructuralModelPath::setUnitCellData (
    SBVector< SBUnitCell > * unitCellData
) 

Parameters:

  • unitCellData Pointer to the unit-cell data.

function setVelocity [1/2]#

Sets the velocity of atom atomIndex tovelocity for a specificstep .

virtual bool SBMStructuralModelPath::setVelocity (
    unsigned int step,
    unsigned int atomIndex,
    const SBVelocity3 & velocity
) 

Sets the velocity of a specific atom at a given step.

Parameters:

  • step Index of the step for which to set the velocity.
  • atomIndex Index of the atom within the atom indexer.
  • atomVelocity Velocity value to assign to the specified atom at the given step.

Returns:

true if the velocity was successfully set; false if the velocity data is unavailable, the step index is out of range, or the atom index is invalid.


function setVelocity [2/2]#

Sets the velocity of atom atom tovelocity for a specificstep .

virtual bool SBMStructuralModelPath::setVelocity (
    unsigned int step,
    SBAtom * atom,
    const SBVelocity3 & velocity
) 

Sets the velocity of a specific atom at a given step.

Parameters:

  • step Index of the step for which to set the velocity.
  • atom Pointer to the atom for which to set the velocity.
  • atomVelocity Velocity value to assign to the specified atom at the given step.

Returns:

true if the velocity was successfully set; false if the velocity data is unavailable, the step index is out of range, or the atom is not found in the indexer.


function setVelocityData#

Sets the velocity data.

virtual void SBMStructuralModelPath::setVelocityData (
    SBVector< SBVector< SBVelocity3 > * > * velocityData
) 

Sets the velocity data vector for the path.

Parameters:

  • velocityData Pointer to a vector of per‑step velocity vectors to associate with the path.

function unserialize#

Unserializes the path.

virtual void SBMStructuralModelPath::unserialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override

Unserializes the structural model path from a serializer.

Restores the path's data, including its name, source file name, atom list, and associated position, energy, time, velocity, and force arrays. The function supports both legacy and current serialization formats based on the SDK and class version numbers.

Parameters:

  • serializer Pointer to the serializer from which data is read.
  • nodeIndexer Indexer that maps node indices to node pointers, used to resolve atom references.
  • sdkVersionNumber Version of the SDK that wrote the data, influencing how the data is interpreted.
  • classVersionNumber Version of the class serialization format.

Implements SBDDataGraphNode::unserialize


function unwrap#

Unwraps the trajectory over time using successive minimum-image displacements.

virtual bool SBMStructuralModelPath::unwrap () 

Returns:

true if the operation completed; otherwise false.


function updateState#

Updates the state along the path according to the animation parameters.

virtual void SBMStructuralModelPath::updateState () 

Updates the current state of the path based on the animation parameters.

This function advances the current step according to the stride and animation type, and updates atom positions accordingly.


function wrapAllSteps#

Wraps the positions of all steps into their primary unit cells.

virtual bool SBMStructuralModelPath::wrapAllSteps (
    bool keepConnectedComponentsWhole=true
) 

Parameters:

  • keepConnectedComponentsWhole Whether to keep bond-connected components whole while wrapping.

Returns:

true if the operation completed; otherwise false.


function wrapStep#

Wraps the positions of a specific step into the primary unit cell.

virtual bool SBMStructuralModelPath::wrapStep (
    unsigned int step,
    bool keepConnectedComponentsWhole=true
) 

Parameters:

  • step The step index.
  • keepConnectedComponentsWhole Whether to keep bond-connected components whole while wrapping.

Returns:

true if the operation completed; otherwise false.


function ~SBMStructuralModelPath#

Destructs the path.

virtual SBMStructuralModelPath::~SBMStructuralModelPath () 

Destroys the structural path.

Performs necessary cleanup before the SBMStructuralModelPath object is destroyed.