Class SBMStructuralModelPath#
ClassList > SBMStructuralModelPath
This class describes a structural path. More...
#include <SBMStructuralModelPath.hpp>
Inherits the following classes: SBDDataGraphNode
Public Types#
Type | Name |
---|---|
enum | AnimationType Animation type. |
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=0, SBVector< SBQuantity::time > * timeData=0, SBVector< SBVector< SBVelocity3 > * > * velocityData=0, SBVector< SBVector< SBForce3 > * > * forceData=0) Constructs a path with name name from the atoms innodeIndexer . |
|
SB_DECLARE_DATA (SBMStructuralModelPath) |
|
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=0, SBVector< SBForce3 > * forceData=0) Adds a frame to the path. |
virtual bool | add (SBVector< SBVector< SBPosition3 > * > * positionData, SBVector< SBQuantity::energy > * energyData=0, SBVector< SBQuantity::time > * timeData=0, SBVector< SBVector< SBVelocity3 > * > * velocityData=0, SBVector< SBVector< SBForce3 > * > * forceData=0) Adds frames to the path. |
bool | addAtom (SBAtom * atom, SBVector< SBPosition3 > * atomPositionVector=0, SBVector< SBVelocity3 > * atomVelocityVector=0, SBVector< SBForce3 > * atomForceVector=0) Adds an atom 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 action action on each node of this document. |
virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override Performs action action of objectobject on each node of this document. |
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. |
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. |
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 | 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. |
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=0, SBVector< SBForce3 > * forceData=0) Inserts a frame in the path at position step . |
virtual bool | insert (unsigned int step, SBVector< SBVector< SBPosition3 > * > * positionData, SBVector< SBQuantity::energy > * energyData=0, SBVector< SBQuantity::time > * timeData=0, SBVector< SBVector< SBVelocity3 > * > * velocityData=0, SBVector< SBVector< SBForce3 > * > * forceData=0) Inserts frames in the path at position step . |
bool | insertAtom (unsigned int atomIndex, SBAtom * atom, SBVector< SBPosition3 > * atomPositionVector=0, SBVector< SBVelocity3 > * atomVelocityVector=0, SBVector< SBForce3 > * atomForceVector=0) Inserts an atom at indexatomIndex to the path. |
virtual bool | isSerializable () override const Returns true. |
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 | 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. |
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 | 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 void | updateState () Updates the state along the path according to the animation parameters. |
virtual | ~SBMStructuralModelPath () Destructs the path. |
Public Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
Type | Name |
---|---|
SB_DECLARE_DATA (SBDDataGraphNode) |
|
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 is node , or descends from it. |
bool | descendsFrom (const SBNodeIndexer & nodeIndexer) const Returns true if and only if this node is one of the nodes of the nodeIndexer , or descends from one of them. |
bool | descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns true if and only if this node is one of the nodes of the nodePointerIndexer , or descends from one of them. |
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 an action on each node. |
virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs an action on each node. |
virtual unsigned int | getDefaultOpacity () const Returns the default opacity. |
virtual 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. |
virtual unsigned int | getMaximumOpacity () const Returns the maximum opacity. |
virtual unsigned int | getMaximumTransparency () const Returns the maximum transparency. |
virtual unsigned int | getMinimumOpacity () const Returns the minimum opacity. |
virtual 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. |
virtual unsigned int | getOpacitySingleStep () const Returns the opacity single step. |
virtual 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. |
virtual unsigned int | getTransparencySingleStep () const Returns the transparency single step. |
virtual 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 the nodeIndexer , or is the ancestor of one of them, or is a group that stores one of them. |
virtual bool | hasOpacityRange () const Returns whether the node has the opacity range. |
virtual 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 is node , 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 the nodeIndexer , 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 the nodePointerIndexer , 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 the nodeIndexer . |
bool | isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns true if and only if this node is one of the nodes of the nodePointerIndexer . |
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 to type . |
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 () |
|
unsigned int | getMemoryFootprint () const |
void | printReferencesToOwners () const |
virtual | ~SBCReferenceTarget () |
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 an action for each node in a selection. |
void | forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs an action for each node in a selection. |
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 |
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) |
|
void | removeAllReferenceOwners () |
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#
Animation type.
Public Functions Documentation#
function SBMStructuralModelPath [1/3]#
Constructs a path.
function SBMStructuralModelPath [2/3]#
Constructs a path with name name
from the conformations innodeIndexer
.
SBMStructuralModelPath::SBMStructuralModelPath (
const std::string & name,
const SBNodeIndexer & nodeIndexer=SBNodeIndexer ()
)
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=0,
SBVector< SBQuantity::time > * timeData=0,
SBVector< SBVector< SBVelocity3 > * > * velocityData=0,
SBVector< SBVector< SBForce3 > * > * forceData=0
)
function SB_DECLARE_DATA#
function add [1/4]#
Adds a frame to the path.
This function 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 to 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.
The function returns true when successful.
function add [2/4]#
Adds frames to the path.
This function adds frames to the path by copying information from a path. The 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 to 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.
The function returns true when successful.
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=0,
SBVector< SBForce3 > * forceData=0
)
This function adds a step to the path. 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.
The function returns true when successful.
function add [4/4]#
Adds frames to the path.
virtual bool SBMStructuralModelPath::add (
SBVector< SBVector< SBPosition3 > * > * positionData,
SBVector< SBQuantity::energy > * energyData=0,
SBVector< SBQuantity::time > * timeData=0,
SBVector< SBVector< SBVelocity3 > * > * velocityData=0,
SBVector< SBVector< SBForce3 > * > * forceData=0
)
This function adds steps to the path. 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.
The function returns true when successful.
function addAtom#
Adds an atom
to the path.
bool SBMStructuralModelPath::addAtom (
SBAtom * atom,
SBVector< SBPosition3 > * atomPositionVector=0,
SBVector< SBVelocity3 > * atomVelocityVector=0,
SBVector< SBForce3 > * atomForceVector=0
)
This function 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.
The function returns true when insertion is successful, and false otherwise.
function clone#
Returns a copy of the node and its descendants.
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
)
This function creates a deep copy of all the frames between (and including) steps firstStep
and lastStep
, and returns a path containing these frames.
function createConformation#
Create a conformation corresponding to a specific step
.
virtual void SBMStructuralModelPath::createConformation (
unsigned int step,
SBNodeIndexer & conformationIndexer
) const
function createConformations#
Create conformations corresponding to all steps.
virtual void SBMStructuralModelPath::createConformations (
SBNodeIndexer & conformationIndexer
) const
function createStructuralModels [1/2]#
Create structural models corresponding to a specific step
.
virtual void SBMStructuralModelPath::createStructuralModels (
unsigned int step,
SBNodeIndexer & structuralModelIndexer
) const
function createStructuralModels [2/2]#
Create structural models corresponding to all steps.
virtual void SBMStructuralModelPath::createStructuralModels (
SBNodeIndexer & structuralModelIndexer
) const
function forEachNodeDepthFirst [1/2]#
Performs action action
on each node of this document.
virtual void SBMStructuralModelPath::forEachNodeDepthFirst (
void(*)( SBDDataGraphNode *node) action
) override
Implements SBDDataGraphNode::forEachNodeDepthFirst
function forEachNodeDepthFirst [2/2]#
Performs action action
of objectobject
on each node of this document.
virtual void SBMStructuralModelPath::forEachNodeDepthFirst (
SBCClass * object,
void(SBCClass::*)( SBDDataGraphNode *node) action
) override
Implements SBDDataGraphNode::forEachNodeDepthFirst
function getAnimationFlag#
Returns the animation flag.
function getAnimationType#
Returns the animation type.
function getAtomIndexer#
Returns the atoms for which a position is saved.
function getCurrentEnergy#
Returns the current energy.
function getCurrentStep#
Returns the current step along the path.
function getCurrentTime#
Returns the current time.
function getEnergy#
Retrieves the energy for a specific step
.
virtual bool SBMStructuralModelPath::getEnergy (
unsigned int step,
SBQuantity::energy & energy
) const
function getEnergyData#
Returns the energy data.
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
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
function getForceData#
Returns the force data.
function getForwardFlag#
Returns the forward flag, which indicates when the animation is moving forward.
function getNextPath#
Returns the next path in the document.
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
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
Implements SBDDataGraphNode::getNodes
function getNumberOfAtoms#
Returns the number of atoms for which a position is saved.
function getNumberOfSteps#
Returns the number of steps in the path.
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
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
function getPositionData#
Returns the position data.
function getPreviousPath#
Returns the previous path in the document.
function getSmoothingWindowSize#
Returns the size of the smoothing window.
function getStepDuration#
Returns the step duration.
function getStride#
Returns the animation stride.
function getTime#
Retrieves the time for a specific step
.
function getTimeData#
Returns the time data.
function getType#
Returns the data graph node type.
Implements SBDDataGraphNode::getType
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
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
function getVelocityData#
Returns the velocity data.
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
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
Implements SBDDataGraphNode::hasNode
function insert [1/4]#
Inserts a frame in the path at position step
.
This function inserts a step to the path at position step
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 to 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.
The function returns true when successful.
function insert [2/4]#
Inserts frames in the path at position 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.
The function returns true when successful.
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=0,
SBVector< SBForce3 > * forceData=0
)
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.
The function returns true when successful.
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=0,
SBVector< SBQuantity::time > * timeData=0,
SBVector< SBVector< SBVelocity3 > * > * velocityData=0,
SBVector< SBVector< SBForce3 > * > * forceData=0
)
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.
The function returns true when successful.
function insertAtom#
Inserts an atom
at indexatomIndex
to the path.
bool SBMStructuralModelPath::insertAtom (
unsigned int atomIndex,
SBAtom * atom,
SBVector< SBPosition3 > * atomPositionVector=0,
SBVector< SBVelocity3 > * atomVelocityVector=0,
SBVector< SBForce3 > * atomForceVector=0
)
This function inserts 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 inserted at position atomIndex
in the path indexer.
The function returns true when insertion is successful, and false otherwise.
function isSerializable#
Returns true.
Implements SBDDataGraphNode::isSerializable
function print#
Prints the path.
Implements SBDDataGraphNode::print
function remove [1/2]#
Remove a frame from the path to create a conformation.
function remove [2/2]#
Removes frames from the path to create a new path.
virtual SBMStructuralModelPath * SBMStructuralModelPath::remove (
unsigned int firstStep,
unsigned int lastStep
)
This function 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 path containing the copied frames.
function removeAtom#
Removes an atom from the path.
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
Implements SBDDataGraphNode::serialize
function setAnimationFlag#
Sets the animation flag.
function setAnimationType#
Sets the animation type.
function setCurrentStep#
Sets the current step along the path.
function setEnergy#
Sets the energy for a specific step
.
virtual bool SBMStructuralModelPath::setEnergy (
unsigned int step,
const SBQuantity::energy & energy
)
function setEnergyData#
Sets the energy data.
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
)
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
)
function setForceData#
Sets the force data.
virtual void SBMStructuralModelPath::setForceData (
SBVector< SBVector< SBForce3 > * > * forceData
)
function setForwardFlag#
Sets the forward flag, which indicates when the animation is moving forward.
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
)
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
)
function setPositionData#
Sets the position data.
virtual void SBMStructuralModelPath::setPositionData (
SBVector< SBVector< SBPosition3 > * > * positionData
)
function setSmoothingWindowSize#
Sets the size of the smoothing window.
function setStepDuration#
Sets the step duration.
function setStride#
Sets the animation stride.
function setTime#
Sets the time for a specific step
.
function setTimeData#
Sets the time 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
)
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
)
function setVelocityData#
Sets the velocity data.
virtual void SBMStructuralModelPath::setVelocityData (
SBVector< SBVector< SBVelocity3 > * > * velocityData
)
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
Implements SBDDataGraphNode::unserialize
function updateState#
Updates the state along the path according to the animation parameters.
function ~SBMStructuralModelPath#
Destructs the path.