SBMStructuralModelPath Class Reference

This class describes a structural path. More...

Public Types

enum  AnimationType {
  AnimationType::Once,
  AnimationType::Loop,
  AnimationType::Bounce
}
 Animation type. More...
 
- Public Types inherited from SBDDataGraphNode
enum  Type {
  Undefined,
  StructuralModel,
  StructuralModelNode,
  StructuralModelConformation,
  Conformation,
  StructuralModelPath,
  Path,
  StructuralModelNodeGroup,
  StructuralGroup,
  StructuralModelNodeRoot,
  Root,
  StructuralModelNodeParticle,
  StructuralParticle,
  StructuralModelNodeAtom,
  Atom,
  StructuralModelNodePseudoAtom,
  PseudoAtom,
  StructuralModelNodeBond,
  Bond,
  StructuralModelNodePseudoBond,
  PseudoBond,
  StructuralModelNodeHydrogenBond,
  HydrogenBond,
  StructuralModelNodeHydrogenBondGroup,
  HydrogenBondGroup,
  StructuralModelNodeResidue,
  Residue,
  StructuralModelNodeSegment,
  Segment,
  StructuralModelNodeProtein,
  Protein,
  StructuralModelNodeChain,
  Chain,
  StructuralModelNodeMolecule,
  Molecule,
  StructuralModelNodeBackbone,
  Backbone,
  StructuralModelNodeSideChain,
  SideChain,
  VisualModel,
  VisualModelMesh,
  Mesh,
  DynamicalModel,
  DynamicalModelParticleSystem,
  ParticleSystem,
  DynamicalModelRigidBodySystem,
  RigidBodySystem,
  DynamicalModelArticulatedBodySystem,
  ArticulatedBodySystem,
  DynamicalModelNode,
  DynamicalNode,
  DynamicalModelNodeGroup,
  DynamicalGroup,
  DynamicalModelNodeRoot,
  DynamicalRoot,
  DynamicalModelNodeParticle,
  DynamicalParticle,
  DynamicalModelNodeRigidBody,
  RigidBody,
  DynamicalModelNodeArticulatedBody,
  ArticulatedBody,
  InteractionModel,
  InteractionModelParticleSystem,
  InteractionModelRigidBodySystem,
  InteractionModelArticulatedBodySystem,
  PropertyModel,
  PropertyModelFunction,
  Simulator,
  SimulatorParticleSystem,
  SimulatorRigidBodySystem,
  SimulatorArticulatedBodySystem,
  StateUpdater,
  StateUpdaterParticleSystem,
  StateUpdaterRigidBodySystem,
  StateUpdaterArticulatedBodySystem,
  DocumentManager,
  Document,
  Folder,
  Camera,
  Label,
  Note,
  Animation,
  Presentation,
  DataGraphNodeGroup,
  NodeGroup,
  Controller,
  ControllerNode,
  Asset
}
 The type of the data graph node. More...
 
enum  RenderingPass {
  RenderingPass::Setup,
  RenderingPass::OpaqueGeometry,
  RenderingPass::SelectableGeometry,
  RenderingPass::ShadowingGeometry,
  RenderingPass::TransparentGeometry,
  RenderingPass::Interface,
  RenderingPass::Text
}
 The rendering pass. More...
 

Constructors and destructors

 SBMStructuralModelPath ()
 Constructs a path.
 
 SBMStructuralModelPath (const std::string &name, const SBNodeIndexer &nodeIndexer)
 Constructs a path with name name from the conformations in nodeIndexer.
 
 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 structural particles in nodeIndexer.
 
virtual ~SBMStructuralModelPath ()
 Destructs the path.
 

Serialization

bool isSerializable () const
 Returns true.
 
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 path.
 
virtual void unserialize (SBCSerializer *serializer, const SBNodeIndexer &nodeIndexer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber &classVersionNumber=SBVersionNumber(1, 0, 0))
 Unserializes the path.
 

Topology

virtual SBMStructuralModelPathclone ()
 Returns a copy of the node and its descendants.
 

Identity

virtual SBNode::Type getType () const
 Returns the data graph node type.
 
SBMStructuralModelPathgetNextPath () const
 Returns the next path in the document.
 
SBMStructuralModelPathgetPreviousPath () const
 Returns the previous path in the document.
 

Selection

virtual void getNodes (SBNodeIndexer &nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
 Collects nodes into nodeIndexer, based on a nodeType, a selection status and a visitPredicate, with our without dependencies.
 
virtual void getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
 Returns some nodes.
 

Visitor

virtual void forEachNodeDepthFirst (void(*action)(SBDDataGraphNode *node))
 Performs action action on each node of this document.
 
virtual void forEachNodeDepthFirst (SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node))
 Performs action action of object object on each node of this document.
 

Indexer

virtual SBPointerIndexer< SBStructuralParticle > const * getStructuralParticleIndexer () const
 Returns the indexer of structural particles for which a position is saved.
 
virtual unsigned int getNumberOfStructuralParticles () const
 Returns the number of structural particles for which a position is saved.
 
bool addStructuralParticle (SBStructuralParticle *structuralParticle, SBVector< SBPosition3 > *structuralParticlePositionVector=0, SBVector< SBVelocity3 > *structuralParticleVelocityVector=0, SBVector< SBForce3 > *structuralParticleForceVector=0)
 Adds a structuralParticle to the path. More...
 
bool insertStructuralParticle (unsigned int structuralParticleIndex, SBStructuralParticle *structuralParticle, SBVector< SBPosition3 > *structuralParticlePositionVector=0, SBVector< SBVelocity3 > *structuralParticleVelocityVector=0, SBVector< SBForce3 > *structuralParticleForceVector=0)
 Inserts a structuralParticle at index structuralParticleIndex to the path. More...
 
bool removeStructuralParticle (SBStructuralParticle *structuralParticle)
 Removes a structural particle from the path.
 

Path management

virtual unsigned int getNumberOfSteps () const
 Returns the number of steps in the path.
 
virtual bool add (SBConformation *conformation)
 Adds a frame to the path. More...
 
virtual bool add (SBMStructuralModelPath *path)
 Adds frames to the path. More...
 
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. More...
 
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. More...
 
virtual bool insert (unsigned int step, SBConformation *conformation)
 Inserts a frame in the path at position step. More...
 
virtual bool insert (unsigned int step, SBMStructuralModelPath *path)
 Inserts frames in the path at position step. More...
 
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. More...
 
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. More...
 
virtual SBConformationremove (unsigned int step)
 Remove a frame from the path to create a conformation.
 
virtual SBMStructuralModelPathremove (unsigned int firstStep, unsigned int lastStep)
 Removes frames from the path to create a new path. More...
 
virtual SBMStructuralModelPathcopy (unsigned int firstStep, unsigned int lastStep)
 Copies frames from the path to create a new path. More...
 

Smoothing

virtual unsigned int getSmoothingWindowSize () const
 Returns the size of the smoothing window.
 
virtual void setSmoothingWindowSize (unsigned int smoothingWindowSize)
 Sets the size of the smoothing window.
 

Positions

virtual SBVector< SBVector< SBPosition3 > * > * getPositionData () const
 Returns the position data.
 
virtual void setPositionData (SBVector< SBVector< SBPosition3 > * > *positionData)
 Sets the position data.
 
virtual bool getPosition (unsigned int step, unsigned int structuralParticleIndex, SBPosition3 &position) const
 Retrieves the position of structural particle structuralParticleIndex and stores it in position for a specific step.
 
virtual bool getPosition (unsigned int step, SBStructuralParticle *structuralParticle, SBPosition3 &position) const
 Retrieves the position of structural particle structuralParticle and stores it in position for a specific step.
 
virtual bool setPosition (unsigned int step, unsigned int structuralParticleIndex, const SBPosition3 &position)
 Sets the position of structural particle structuralParticleIndex to position for a specific step.
 
virtual bool setPosition (unsigned int step, SBStructuralParticle *structuralParticle, const SBPosition3 &position)
 Sets the position of structural particle structuralParticle to position for a specific step.
 

Energy

virtual SBVector< SBQuantity::energy > * getEnergyData () const
 Returns the energy data.
 
virtual void setEnergyData (SBVector< SBQuantity::energy > *energyData)
 Sets the energy data.
 
virtual bool getEnergy (unsigned int step, SBQuantity::energy &energy) const
 Retrieves the energy for a specific step.
 
virtual bool setEnergy (unsigned int step, const SBQuantity::energy &energy)
 Sets the energy for a specific step.
 

Time

virtual SBVector< SBQuantity::time > * getTimeData () const
 Returns the time data.
 
virtual void setTimeData (SBVector< SBQuantity::time > *timeData)
 Sets the time data.
 
virtual bool getTime (unsigned int step, SBQuantity::time &time) const
 Retrieves the time for a specific step.
 
virtual bool setTime (unsigned int step, const SBQuantity::time &time)
 Sets the time for a specific step.
 

Velocities

virtual SBVector< SBVector< SBVelocity3 > * > * getVelocityData () const
 Returns the velocity data.
 
virtual void setVelocityData (SBVector< SBVector< SBVelocity3 > * > *velocityData)
 Sets the velocity data.
 
virtual bool getVelocity (unsigned int step, unsigned int structuralParticleIndex, SBVelocity3 &velocity) const
 Retrieves the velocity of structural particle structuralParticleIndex and stores it in velocity for a specific step.
 
virtual bool getVelocity (unsigned int step, SBStructuralParticle *structuralParticle, SBVelocity3 &velocity) const
 Retrieves the velocity of structural particle structuralParticle and stores it in velocity for a specific step.
 
virtual bool setVelocity (unsigned int step, unsigned int structuralParticleIndex, const SBVelocity3 &velocity)
 Sets the velocity of structural particle structuralParticleIndex to velocity for a specific step.
 
virtual bool setVelocity (unsigned int step, SBStructuralParticle *structuralParticle, const SBVelocity3 &velocity)
 Sets the velocity of structural particle structuralParticle to velocity for a specific step.
 

Forces

virtual SBVector< SBVector< SBForce3 > * > * getForceData () const
 Returns the force data.
 
virtual void setForceData (SBVector< SBVector< SBForce3 > * > *forceData)
 Sets the force data.
 
virtual bool getForce (unsigned int step, unsigned int structuralParticleIndex, SBForce3 &force) const
 Retrieves the force of structural particle structuralParticleIndex and stores it in force for a specific step.
 
virtual bool getForce (unsigned int step, SBStructuralParticle *structuralParticle, SBForce3 &force) const
 Retrieves the force of structural particle structuralParticle and stores it in force for a specific step.
 
virtual bool setForce (unsigned int step, unsigned int structuralParticleIndex, const SBForce3 &force)
 Sets the force of structural particle structuralParticleIndex to force for a specific step.
 
virtual bool setForce (unsigned int step, SBStructuralParticle *structuralParticle, const SBForce3 &force)
 Sets the force of structural particle structuralParticle to force for a specific step.
 

Conformations

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.
 

Structural models

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.
 

Animation

virtual unsigned int getCurrentStep () const
 Returns the current step along the path.
 
virtual void setCurrentStep (unsigned int currentStep)
 Sets the current step along the path.
 
virtual unsigned int getStride () const
 Returns the animation stride.
 
virtual void setStride (unsigned int stride)
 Sets the animation stride.
 
virtual bool getAnimationFlag () const
 Returns the animation flag.
 
virtual void setAnimationFlag (bool animationFlag)
 Sets the animation flag.
 
virtual AnimationType getAnimationType () const
 Returns the animation type.
 
virtual void setAnimationType (AnimationType animationType)
 Sets the animation type.
 
virtual SBQuantity::second const & getStepDuration () const
 Returns the step duration.
 
virtual void setStepDuration (const SBQuantity::second &stepDuration)
 Sets the step duration.
 
virtual bool getForwardFlag () const
 Returns the forward flag, which indicates when the animation is moving forward.
 
virtual void setForwardFlag (bool forwardFlag)
 Sets the forward flag, which indicates when the animation is moving forward.
 
virtual void updateState ()
 Updates the state along the path according to the animation parameters.
 

Current

virtual SBQuantity::energy getCurrentEnergy () const
 Returns the current energy.
 
virtual SBQuantity::time getCurrentTime () const
 Returns the current time.
 

Debugging

void print (unsigned int offset=0) const
 Prints the path.
 
 SB_DECLARE_DATA (SBMStructuralModelPath)
 

Additional Inherited Members

- Public Member Functions inherited from SBDDataGraphNode
SBDDataGraphNodegetParent () const
 Returns the parent of the node. More...
 
SBDDataGraphNodegetThisNode () const
 Returns the pointer to this node. More...
 
SBDDataGraphNodegetNextNode () const
 Returns the pointer to the next node in the children of the node's parent. More...
 
SBDDataGraphNodegetPreviousNode () const
 Returns the pointer to the previous node in the children of the node's parent. More...
 
SBDDataGraphNodegetNextNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the next node with type nodeType in the children of the node's parent. More...
 
SBDDataGraphNodegetPreviousNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the previous node with type nodeType in the children of the node's parent. More...
 
SBDDocumentgetDocument () const
 Returns the document the node belongs to. More...
 
virtual bool canAddChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0) const
 Returns whether this node can add node as a child. More...
 
virtual bool canAddChildType (SBDDataGraphNode::Type nodeType) const
 Returns whether this node can add a node with type nodeType as a child. More...
 
virtual bool canHaveDescendantType (SBDDataGraphNode::Type nodeType) const
 Returns whether this node can have a node with type nodeType as a descendant. More...
 
virtual bool addChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0)
 Adds a child to the node. More...
 
virtual bool removeChild (SBDDataGraphNode *node)
 Removes a child from the node. More...
 
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. More...
 
bool descendsFrom (SBDDataGraphNode *node) const
 Returns true if and only if this node is node, or descends from it. More...
 
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. More...
 
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. More...
 
bool isIn (SBDDataGraphNode *node) const
 Returns true if and only if this node is node, or descends from it, or belongs to a group stored in node. More...
 
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 the nodeIndexer. More...
 
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 the nodePointerIndexer. More...
 
bool isOneOf (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if this node is one of the nodes of the nodeIndexer. More...
 
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const
 Returns true if and only if this node is one of the nodes of the nodePointerIndexer. More...
 
SBDDataGraphNodegetRoot () const
 Returns the root of the hierarchy the node belongs to. More...
 
unsigned int getNodeIndex () const
 Returns the node index (unique in the whole data graph, but non-persistent) More...
 
std::string getTypeString (bool humanReadable=false) const
 Returns a string describing the type of the data graph node. More...
 
virtual std::string const & getName () const
 Returns the name of the node.
 
virtual void setName (const std::string &name)
 Sets the name of the node. More...
 
bool isType (Type type) const
 Returns true when the type of the node corresponds to type.
 
bool isModel () const
 Returns true when the node is a model.
 
bool isStructuralNode () const
 Returns true when the node is a structural node.
 
bool isStructuralModel () const
 Returns true when the node is a structural model.
 
bool isVisualModel () const
 Returns true when the node is a visual model.
 
bool isDynamicalModel () const
 Returns true when the node is a dynamical model.
 
bool isInteractionModel () const
 Returns true when the node is a interaction model.
 
bool isPropertyModel () const
 Returns true when the node is a property model.
 
bool isMesh () const
 Returns true when the node is a mesh.
 
bool isSimulator () const
 Returns true when the node is a simulator.
 
bool isStructuralParticle () const
 Returns true when the node is a structural particle (an atom or a pseudo-atom)
 
virtual bool isLocked () const
 Returns whether the node is locked.
 
virtual bool getLockedFlag () const
 Returns the locked flag.
 
virtual void setLockedFlag (bool flag)
 Sets the locked flag.
 
bool isCreated () const
 Returns true if and only if the node is created. More...
 
void create ()
 Creates the node. More...
 
bool isErased () const
 Returns true if and only if the node is erased. More...
 
void erase ()
 Erases the node. More...
 
unsigned int getFlags () const
 Returns the flags. More...
 
unsigned int getInheritedFlags () const
 Returns the inherited flags. More...
 
bool isSelected () const
 Returns whether the node is selected. More...
 
bool getSelected () const
 Returns whether the node is selected.
 
bool getSelectionFlag () const
 Returns the selection flag. More...
 
void setSelectionFlag (bool flag)
 Sets the selection flag. More...
 
bool isVisible () const
 Returns whether the node is visible. More...
 
bool getVisible () const
 Returns whether the node is visible.
 
bool getVisibilityFlag () const
 Returns the visibility flag. More...
 
void setVisibilityFlag (bool flag)
 Sets the visibility flag. More...
 
bool isHighlighted () const
 Returns whether the node is highlighted. More...
 
bool getHighlightingFlag () const
 Returns the highlighting flag. More...
 
void setHighlightingFlag (bool flag)
 Sets the highlighting flag. More...
 
virtual void display (RenderingPass renderingPass)
 Displays the node. More...
 
virtual void display ()
 Displays the node (deprecated) More...
 
virtual void displayForShadow ()
 Displays the node for shadowing purposes (deprecated) More...
 
virtual void displayForSelection ()
 Displays the node for selection purposes (deprecated) More...
 
virtual unsigned int getOpacity () const
 Returns the opacity.
 
virtual void setOpacity (unsigned int opacity)
 Sets the opacity.
 
virtual bool hasOpacityRange () const
 Returns whether the node has the opacity range.
 
virtual unsigned int getDefaultOpacity () const
 Returns the default opacity.
 
virtual unsigned int getMinimumOpacity () const
 Returns the minimum opacity.
 
virtual unsigned int getMaximumOpacity () const
 Returns the maximum opacity.
 
virtual unsigned int getOpacitySingleStep () const
 Returns the opacity single step.
 
virtual std::string getOpacitySuffix () const
 Returns the opacity suffix.
 
virtual unsigned int getTransparency () const
 Returns the transparency.
 
virtual void setTransparency (unsigned int transparency)
 Sets the transparency.
 
virtual bool hasTransparencyRange () const
 Returns whether the node has the transparency range.
 
virtual unsigned int getDefaultTransparency () const
 Returns the default transparency.
 
virtual unsigned int getMinimumTransparency () const
 Returns the minimum transparency.
 
virtual unsigned int getMaximumTransparency () const
 Returns the maximum transparency.
 
virtual unsigned int getTransparencySingleStep () const
 Returns the transparency single step.
 
virtual std::string getTransparencySuffix () const
 Returns the transparency suffix.
 
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.
 
bool addMaterial (SBDDataGraphNodeMaterial *material)
 Adds a material. More...
 
bool removeMaterial ()
 Removes the material. More...
 
bool hasMaterial () const
 Returns whether the node has a material (by itself, or inherited)
 
bool ownsMaterial () const
 Returns whether the node owns a material.
 
SBDDataGraphNodeMaterialgetMaterial () const
 Returns the material. More...
 
SBDDataGraphNodegetMaterialOwner () const
 Returns the node whose material is inherited. More...
 
void connectBaseSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBBaseEvent *)=0)
 Connects the base signal to a slot. More...
 
bool baseSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *)) const
 Returns true when the base signal is connected to a slot.
 
void disconnectBaseSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *))
 Disconnects the base signal from a slot.
 
unsigned int countNodes (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
 Collects nodes into nodeIndexer, based on a nodeType, a selection status and a visitPredicate, with our without dependencies. More...
 
unsigned int countNodes (const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
 Collects nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with our without dependencies. More...
 
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. More...
 
virtual unsigned int getNumberOfChains ()
 Returns the number of chains.
 
virtual unsigned int getNumberOfMolecules ()
 Returns the number of molecules.
 
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 getNumberOfAtoms ()
 Returns the number of atoms.
 
virtual unsigned int getNumberOfCarbons ()
 Returns the number of carbons.
 
virtual unsigned int getNumberOfHydrogens ()
 Returns the number of hydrogens.
 
virtual unsigned int getNumberOfNitrogens ()
 Returns the number of nitrogens.
 
virtual unsigned int getNumberOfOxygens ()
 Returns the number of oxygens.
 
virtual unsigned int getNumberOfSulfurs ()
 Returns the number of sulfurs.
 
virtual unsigned int getNumberOfOtherAtoms ()
 Returns the number of other atoms.
 
virtual int getSumOfFormalCharges ()
 Returns the sum of formal charges.
 
virtual float getSumOfPartialCharges ()
 Returns the sum of partial charges.
 
virtual SBQuantity::mass getMolecularWeight ()
 Returns the molecular weight.
 
 SB_DECLARE_DATA (SBDDataGraphNode)
 
- Public Member Functions inherited from SBCReferenceTarget
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
- Static Public Member Functions inherited from SBDDataGraphNode
static void clone (const SBNodeIndexer &sourceNodeIndexer, SBNodeIndexer &destinationNodeIndexer)
 Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones in destinationNodeIndexer. More...
 
static SBDDataGraphNodegetNode (unsigned int nodeIndex)
 Returns the unique node corresponding to the node index nodeIndex. More...
 
static std::string getTypeString (Type type, bool humanReadable=false)
 Returns a string describing the type of the data graph node. More...
 
static void forEachNodeInSelection (SBNodeIndexer &nodeIndexer, void(*action)(SBDDataGraphNode *node))
 Performs an action for each node in a selection.
 
static void forEachNodeInSelection (SBNodeIndexer &nodeIndexer, SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node))
 Performs an action for each node in a selection.
 
- Protected Member Functions inherited from SBDDataGraphNode
 SBDDataGraphNode ()
 Builds a data graph node. More...
 
 SBDDataGraphNode (SBDDataGraphNodeData *dataPointer)
 Builds a data graph node.
 
virtual ~SBDDataGraphNode ()
 Destroys the node. More...
 
- Protected Member Functions inherited from SBCReferenceTarget
void removeAllReferenceOwners ()
 
 SBCReferenceTarget (SBCReferenceTargetData *dataPointer)
 
- Protected Attributes inherited from SBCReferenceTarget
SBCReferenceTargetData * dataPointer
 

Detailed Description

This class describes a structural path, i.e. a set of positions of structural particles. 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

Member Enumeration Documentation

◆ AnimationType

Enumerator
Once 

Animate once.

Loop 

Animate in loops.

Bounce 

Animate in bouncing loops.

Member Function Documentation

◆ add() [1/4]

bool SBMStructuralModelPath::add ( SBConformation conformation)
virtual

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

◆ add() [2/4]

bool SBMStructuralModelPath::add ( SBMStructuralModelPath path)
virtual

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

◆ add() [3/4]

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 
)
virtual

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 particles indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

The function returns true when successful.

◆ add() [4/4]

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 
)
virtual

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 particles indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

The function returns true when successful.

◆ addStructuralParticle()

bool SBMStructuralModelPath::addStructuralParticle ( SBStructuralParticle structuralParticle,
SBVector< SBPosition3 > *  structuralParticlePositionVector = 0,
SBVector< SBVelocity3 > *  structuralParticleVelocityVector = 0,
SBVector< SBForce3 > *  structuralParticleForceVector = 0 
)

This function adds a structural particle 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 structuralParticlePositionVector should be one hundred, since each frame will need to have one new position inserted,
corresponding to the inserted structural particle. The particle is added at the end of the path indexer.

The function returns true when insertion is successful, and false otherwise.

◆ copy()

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

This function creates a deep copy of all the frames between (and including) steps firstStep and lastStep, and returns a path containing these frames.

◆ insert() [1/4]

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

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

◆ insert() [2/4]

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

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

◆ insert() [3/4]

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 
)
virtual

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 particles indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

The function returns true when successful.

◆ insert() [4/4]

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 
)
virtual

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 particles indexed in the path. The passed information is copied, and may thus be deleted after the function returns.

The function returns true when successful.

◆ insertStructuralParticle()

bool SBMStructuralModelPath::insertStructuralParticle ( unsigned int  structuralParticleIndex,
SBStructuralParticle structuralParticle,
SBVector< SBPosition3 > *  structuralParticlePositionVector = 0,
SBVector< SBVelocity3 > *  structuralParticleVelocityVector = 0,
SBVector< SBForce3 > *  structuralParticleForceVector = 0 
)

This function inserts a structural particle 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 structuralParticlePositionVector should be one hundred, since each frame will need to have one new position inserted,
corresponding to the inserted structural particle. The particle is inserted at position structuralParticleIndex in the path indexer.

The function returns true when insertion is successful, and false otherwise.

◆ remove()

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

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.