This class describes a structural path. 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 SBMStructuralModelPath * | clone () |
Returns a copy of the node and its descendants. | |
Identity | |
virtual SBNode::Type | getType () const |
Returns the data graph node type. | |
std::string const & | getName () const |
Returns the name of the path. | |
void | setName (const std::string &n) |
Sets the name of the path. | |
SBMStructuralModelPath * | getNextPath () const |
Returns the next path in the document. | |
SBMStructuralModelPath * | getPreviousPath () const |
Returns the previous path in the document. | |
Selection | |
virtual void | getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) |
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 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. More... | |
virtual SBMStructuralModelPath * | copy (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. | |
Additional Inherited Members | |
Public Member Functions inherited from SBDDataGraphNode | |
SBDDataGraphNode * | getParent () const |
Returns the parent of the node. More... | |
SBDDataGraphNode * | getThisNode () const |
Returns the pointer to this node. More... | |
SBDDataGraphNode * | getNextNode () const |
Returns the pointer to the next node in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode () const |
Returns the pointer to the previous node in the children of the node's parent. More... | |
SBDDataGraphNode * | getNextNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the next node with type nodeType in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the previous node with type nodeType in the children of the node's parent. More... | |
SBDDocument * | getDocument () 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 | 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 | isIn (SBDDataGraphNode *node) const |
Returns true if and only if this node is node , or descends from it. 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. 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. 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... | |
SBDDataGraphNode * | getRoot () 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... | |
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 | 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) | |
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 visible. | |
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... | |
bool | addMaterial (SBDDataGraphNodeMaterial *material) |
Adds a material. More... | |
bool | removeMaterial () |
Removes the material. More... | |
SBDDataGraphNodeMaterial * | getMaterial () const |
Returns the material. More... | |
SBDDataGraphNode * | getMaterialOwner () 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 (const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) |
Collects nodes into nodeIndexer , based on a selectionPredicate and a visitPredicate , with our without dependencies. More... | |
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 SBDDataGraphNode * | getNode (unsigned int nodeIndex) |
Returns the unique node corresponding to the node index nodeIndex . More... | |
static std::string | getTypeString (Type type) |
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... | |
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
|
strong |
|
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.
|
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.
|
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.
|
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.
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.
|
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.
|
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.
|
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.
|
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.
|
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.
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.
|
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.