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#
| 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#
| 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#
| 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.
Public Functions Documentation#
function SBMStructuralModelPath [1/3]#
Constructs a path.
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:
nameThe name of the path.nodeIndexerThe 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:
nameThe name of the path.nodeIndexerThe indexer that provides the atoms to be included in the path.positionDataPointer to a vector of position vectors for each step; each inner vector holds the positions of all atoms for that step.energyDataPointer to a vector of energy values for each step (optional).timeDataPointer to a vector of time values for each step (optional).velocityDataPointer to a vector of velocity vectors for each step (optional).forceDataPointer to a vector of force vectors for each step (optional).unitCellDataPointer to a vector of unit cells for each step (optional).massDataPointer to a vector of masses for each atom (optional).
function add [1/4]#
Adds a frame to the path.
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:
conformationThe conformation to copy data from.
Returns:
true on success, false otherwise.
function add [2/4]#
Adds frames to the 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:
pathThe 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:
positionDataVector of positions for each atom.energyEnergy value for the step.timeTime value for the step.velocityDataOptional vector of velocities for each atom.forceDataOptional 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:
positionDataVector of vectors of positions for each atom at each step.energyDataOptional vector of energy values for each step.timeDataOptional vector of time values for each step.velocityDataOptional vector of vectors of velocities for each atom at each step.forceDataOptional 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:
atomPointer to the atom to add.atomPositionVectorOptional vector of positions for the atom across steps.atomVelocityVectorOptional vector of velocities for the atom across steps.atomForceVectorOptional 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.
Clears the source file name associated with the path.
function clone#
Returns a copy of the node and its descendants.
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:
firstStepIndex of the first step to copy (inclusive).lastStepIndex 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:
stepThe step index for which to create the conformation.conformationIndexerThe 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:
conformationIndexerThe 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:
stepThe step index for which to create the structural models.structuralModelIndexerThe 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:
structuralModelIndexerThe 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:
actionFunction pointer that takes a pointer to aSBDDataGraphNodeand 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:
objectPointer to the object whose member function will be invoked.actionPointer to the member function ofobjectthat takes aSBDDataGraphNode*argument.
Implements SBDDataGraphNode::forEachNodeDepthFirst
function getAnimationFlag#
Returns the animation flag.
Returns the animation flag indicating whether animation is active.
Returns:
true if animation is active, false otherwise.
function getAnimationType#
Returns the animation type.
Returns:
The current animation type.
function getAtomIndexer#
Returns the atoms for which a position is saved.
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.
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.
Returns the current step of the path animation.
Returns:
The current step index.
function getCurrentTime#
Returns the current time.
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:
stepIndex of the step from which to retrieve the energy.energyOutput 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.
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:
stepIndex of the step from which to retrieve the force.atomIndexIndex of the atom within the atom indexer.atomForceOutput 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:
stepIndex of the step from which to retrieve the force.atomPointer to the atom for which to retrieve the force.atomForceOutput 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.
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.
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:
atomIndexIndex of the atom.massOutput 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 .
Retrieves the mass of a specific atom.
Parameters:
atomPointer to the atom.massOutput parameter that receives the mass.
Returns:
true if the mass was successfully retrieved; otherwise false.
function getMassData#
Returns the mass data.
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.
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:
nodeIndexerThe indexer that will receive the collected nodes.nodeTypeThe type of nodes to collect.selectedNodesOnlyIftrue, only selected nodes are added; otherwise all nodes of the specified type are added.visitPredicatePredicate that determines whether a node should be visited.includeDependenciesIftrue, 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:
nodeIndexerThe indexer that will receive the collected nodes.selectionPredicatePredicate used to select nodes.visitPredicatePredicate that determines whether a node should be visited.includeDependenciesIftrue, dependent nodes are also collected.
Implements SBDDataGraphNode::getNodes
function getNumberOfAtoms#
Returns the number of atoms for which a position is saved.
Returns the number of atoms.
Returns:
Number of atoms.
function getNumberOfSteps#
Returns the number of steps in the path.
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:
stepIndex of the step.atomIndexIndex of the atom.atomPositionReference 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:
stepIndex of the step.atomPointer to the atom.atomPositionReference to a SBPosition3 that receives the atom position.
Returns:
true if the position was successfully retrieved, false otherwise.
function getPositionData#
Returns the position data.
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.
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.
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.
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.
Returns:
The step duration as a time quantity.
function getStride#
Returns the animation stride.
Returns:
The stride value.
function getTime#
Retrieves the time for a specific step .
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:
stepIndex of the step from which to retrieve the time.timeOutput 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.
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.
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 .
Retrieves the unit cell for a specific step.
Parameters:
stepIndex of the step.unitCellOutput parameter that receives the unit cell.
Returns:
true if the unit cell was successfully retrieved; otherwise false.
function getUnitCellData#
Returns the unit-cell data.
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:
stepThe step index.atomIndexThe atom index.positionThe 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:
stepThe step index.atomThe atom pointer.positionThe 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:
stepIndex of the step from which to retrieve the velocity.atomIndexIndex of the atom within the atom indexer.atomVelocityOutput 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:
stepIndex of the step from which to retrieve the velocity.atomPointer to the atom for which to retrieve the velocity.atomVelocityOutput 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.
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:
nodeTypeThe type of node to search for.selectedNodesOnlyIftrue, only selected nodes are considered.visitPredicatePredicate that determines whether a node should be visited.includeDependenciesIftrue, 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:
selectionPredicatePredicate used to select nodes.visitPredicatePredicate that determines whether a node should be visited.includeDependenciesIftrue, 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.
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 .
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:
stepPosition at which to insert the new step.conformationThe 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 .
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:
stepThe index at which to insert the copied data frompath.pathPointer 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:
stepThe index at which to insert the new step.positionDataPointer to the vector of positions for each atom for the new step. Must be non-null if the path stores positions.energyThe energy value for the new step.timeThe time value for the new step.velocityDataPointer to the vector of velocities for each atom for the new step. Must be non-null if the path stores velocities.forceDataPointer 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:
stepThe index at which to start inserting the new steps.positionDataPointer to a vector of position vectors for each new step. Must be non-null if the path stores positions.energyDataPointer to a vector of energy values for each new step. Must be non-null if the path stores energies.timeDataPointer to a vector of time values for each new step. Must be non-null if the path stores times.velocityDataPointer to a vector of velocity vectors for each new step. Must be non-null if the path stores velocities.forceDataPointer 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:
atomIndexIndex at which the atom will be inserted.atomPointer to the atom to insert.atomPositionVectorOptional vector of positions for the atom across steps.atomVelocityVectorOptional vector of velocities for the atom across steps.atomForceVectorOptional vector of forces for the atom across steps.
Returns:
true when insertion is successful; otherwise false.
function isSerializable#
Returns true __
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.
Returns:
true if the operation completed; otherwise false.
function makeWholeStep#
Reconstructs bond-connected components across periodic boundaries for a specific step .
Parameters:
stepThe step index.
Returns:
true if the operation completed; otherwise false.
function print#
Prints the path.
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:
offsetNumber 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.
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:
stepIndex 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:
firstStepIndex of the first step to remove (inclusive).lastStepIndex 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.
Removes the specified atom from the path and deletes its associated position, velocity, and force data for each step.
Parameters:
atomPointer 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:
serializerThe serializer used to write the path data.nodeIndexerThe node indexer used to resolve atom references.sdkVersionNumberThe version of the SDK for compatibility checks; defaults to the current SDK version.classVersionNumberThe version of the class for compatibility; defaults to version 1.0.0.
Implements SBDDataGraphNode::serialize
function setAnimationFlag#
Sets the animation flag.
Sets the animation flag indicating whether animation is active.
Parameters:
animationFlagTrue to enable animation,falseto disable.
function setAnimationType#
Sets the animation type.
Parameters:
animationTypeThe animation type to set.
function setCurrentStep#
Sets the current step along the path.
Sets the current step of the path animation.
Parameters:
currentStepThe 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:
stepIndex of the step for which to set the energy.energyEnergy 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.
Sets the container of energy data for the path.
Parameters:
energyDataPointer 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:
stepIndex of the step for which to set the force.atomIndexIndex of the atom within the atom indexer.atomForceForce 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:
stepIndex of the step for which to set the force.atomPointer to the atom for which to set the force.atomForceForce 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:
forceDataPointer 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.
Sets the forward flag indicating the direction of animation.
Parameters:
forwardFlagTrue 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:
atomIndexIndex of the atom.massMass to assign.
Returns:
true if the mass was successfully updated; otherwise false.
function setMass [2/2]#
Sets the mass of atom atom .
Sets the mass of a specific atom.
Parameters:
atomPointer to the atom.massMass to assign.
Returns:
true if the mass was successfully updated; otherwise false.
function setMassData#
Sets the mass data.
Parameters:
massDataPointer 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:
stepIndex of the step.atomIndexIndex of the atom.atomPositionThe 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:
stepIndex of the step.atomPointer to the atom.atomPositionThe 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:
positionDataPointer to the new position data container.
function setSmoothingWindowSize#
Sets the size of the smoothing window.
Sets the size of the smoothing window used for position smoothing.
Parameters:
smoothingWindowSizeThe new smoothing window size.
function setSourceFileName#
Sets the name of the file associated to the path.
Sets the source file name for the path.
Parameters:
fileNameThe new source file name to associate with the path.
function setStepDuration#
Sets the step duration.
Parameters:
stepDurationThe step duration to set.
function setStride#
Sets the animation stride.
Parameters:
strideThe stride value to set.
function setTime#
Sets the time for a specific step .
Sets the time value for a specific step of the path.
Parameters:
stepIndex of the step for which to set the time.timeTime 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.
Sets the time data vector for the path.
Parameters:
timeDataPointer to a vector of time values to associate with the path.
function setUnitCell#
Sets the unit cell for a specific step .
Sets the unit cell for a specific step.
Parameters:
stepIndex of the step.unitCellThe unit cell to assign.
Returns:
true if the unit cell was successfully updated; otherwise false.
function setUnitCellData#
Sets the unit-cell data.
Parameters:
unitCellDataPointer 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:
stepIndex of the step for which to set the velocity.atomIndexIndex of the atom within the atom indexer.atomVelocityVelocity 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:
stepIndex of the step for which to set the velocity.atomPointer to the atom for which to set the velocity.atomVelocityVelocity 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:
velocityDataPointer 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:
serializerPointer to the serializer from which data is read.nodeIndexerIndexer that maps node indices to node pointers, used to resolve atom references.sdkVersionNumberVersion of the SDK that wrote the data, influencing how the data is interpreted.classVersionNumberVersion of the class serialization format.
Implements SBDDataGraphNode::unserialize
function unwrap#
Unwraps the trajectory over time using successive minimum-image displacements.
Returns:
true if the operation completed; otherwise false.
function updateState#
Updates the state along the path according to the animation parameters.
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.
Parameters:
keepConnectedComponentsWholeWhether 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:
stepThe step index.keepConnectedComponentsWholeWhether to keep bond-connected components whole while wrapping.
Returns:
true if the operation completed; otherwise false.
function ~SBMStructuralModelPath#
Destructs the path.
Destroys the structural path.
Performs necessary cleanup before the SBMStructuralModelPath object is destroyed.