Web Analytics Made Easy - Statcounter
Skip to content

Class SBMStructuralModelConformation#

ClassList > SBMStructuralModelConformation

This class describes a structural conformation. More...

  • #include <SBMStructuralModelConformation.hpp>

Inherits the following classes: SBDDataGraphNode

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
SBMStructuralModelConformation ()
Constructs a structural model conformation.
SBMStructuralModelConformation (const std::string & name, const SBNodeIndexer & nodeIndexer, SBVector< SBPosition3 > * positionData=nullptr, const SBQuantity::energy & energy=SBQuantity::energy::zero, const SBQuantity::time & time=SBQuantity::time::zero, SBVector< SBVelocity3 > * velocityData=nullptr, SBVector< SBForce3 > * forceData=nullptr)
Constructs a structural model conformation with name name from the nodes innodeIndexer .
bool addAtom (SBAtom * atom, const SBPosition3 & atomPosition)
Adds a atom with positionatomPosition .
void clearSourceFileName ()
Clears the name of the file associated to the conformation.
virtual SBMStructuralModelConformation * clone () override
Returns a copy of the node and its descendants.
virtual void createStructuralModels (SBNodeIndexer & structuralModelIndexer) const
Create structural models corresponding to all steps.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) override
Performs the action on this conformation.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override
Performs the object 'saction on this conformation.
SBPointerIndexer< SBAtom > const * getAtomIndexer () const
Returns the indexer of atoms for which a position is saved.
virtual SBQuantity::energy getEnergy () const
Returns the energy data.
virtual bool getForce (unsigned int atomIndex, SBForce3 & force) const
Retrieves the force of atom atomIndex and stores it inforce .
virtual bool getForce (SBAtom * atom, SBForce3 & force) const
Retrieves the force of atom atom and stores it inforce .
virtual SBVector< SBForce3 > * getForceData () const
Returns the force data.
SBMStructuralModelConformation * getNextConformation () const
Returns the next conformation 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.
unsigned int getNumberOfAtoms () const
Returns the number of atoms for which a position is saved.
bool getPosition (unsigned int atomIndex, SBPosition3 & atomPosition) const
Retrieves the position of atom atomIndex and stores it inatomPosition .
bool getPosition (SBAtom * atom, SBPosition3 & atomPosition) const
Retrieves the position of atom atom and stores it inatomPosition .
virtual SBVector< SBPosition3 > * getPositionData () const
Returns the position data.
SBMStructuralModelConformation * getPreviousConformation () const
Returns the previous conformation in the document.
const std::string & getSourceFileName () const
Returns the name of the file associated to the conformation.
virtual SBQuantity::time getTime () const
Returns the time data.
virtual SBNode::Type getType () override const
Returns the data graph node type.
virtual bool getVelocity (unsigned int atomIndex, SBVelocity3 & velocity) const
Retrieves the velocity of atom atomIndex and stores it invelocity .
virtual bool getVelocity (SBAtom * atom, SBVelocity3 & velocity) const
Retrieves the velocity of atom atom and stores it invelocity .
virtual SBVector< SBVelocity3 > * getVelocityData () const
Returns the velocity data.
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasSourceFileName () const
Returns true when the conformation has the source file name set.
bool insertAtom (unsigned int atomIndex, SBAtom * atom, const SBPosition3 & atomPosition)
Inserts a atom with positionatomPosition at indexatomIndex .
virtual bool isSerializable () override const
Returns true __
virtual void print (unsigned int offset=0) override const
Prints the conformation.
bool removeAtom (SBAtom * atom)
Removes an atom from the conformation.
void restore () const
Restores the conformation.
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 conformation.
virtual void setEnergy (const SBQuantity::energy & energy)
Sets the energy data.
virtual bool setForce (unsigned int atomIndex, const SBForce3 & force)
Sets the force of atom atomIndex toforce .
virtual bool setForce (SBAtom * atom, const SBForce3 & force)
Sets the force of atom atom toforce .
virtual void setForceData (SBVector< SBForce3 > * forceData)
Sets the force data.
bool setPosition (unsigned int atomIndex, const SBPosition3 & atomPosition)
Sets the position of atom atomIndex and stores it inatomPosition .
bool setPosition (SBAtom * atom, const SBPosition3 & atomPosition)
Sets the position of atom atom and stores it inatomPosition .
virtual void setPositionData (SBVector< SBPosition3 > * positionData)
Sets the position data.
void setSourceFileName (const std::string & fileName)
Sets the name of the file associated to the conformation.
virtual void setTime (const SBQuantity::time & time)
Sets the time data.
virtual bool setVelocity (unsigned int atomIndex, const SBVelocity3 & velocity)
Sets the velocity of atom atomIndex tovelocity .
virtual bool setVelocity (SBAtom * atom, const SBVelocity3 & velocity)
Sets the velocity of atom atom tovelocity .
virtual void setVelocityData (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 conformation.
virtual ~SBMStructuralModelConformation ()
Destructs the conformation.

Public Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCClassProxy *, GetProxy)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, This)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetParent)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetThis)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetNextNode)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetPreviousNode)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDocument *, GetDocument)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode *, GetRoot)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetNodeIndex)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBDDataGraphNode::Type, GetType)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetSelectionFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetLockedFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetVisibilityFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, bool, GetHighlightingFlag)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, unsigned int, GetFlags)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetName)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetClass)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, std::string, GetElement)
SB_NODE_GETTER_0 (SB_SBDDATAGRAPH_EXPORT, SBCContainerUUID, GetElementUUID)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, All)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, None)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsAtom)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBond)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralNode)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsStructuralModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisualModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsMesh)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLight)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsInteractionModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsDynamicalModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsPropertyModel)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSimulator)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsBallAndStick)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLicorice)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVanDerWaals)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCartoon)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsRibbon)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsTube)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsGaussianSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventAccessibleSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSolventExcludedSurface)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, HasMaterial)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, OwnsMaterial)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsLocked)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSerializable)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsCreated)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsErased)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsSelected)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsVisible)
SB_NODE_PREDICATE_0 (SB_SBDDATAGRAPH_EXPORT, IsHighlighted)
SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, IsType, SBDDataGraphNode::Type)
SB_NODE_PREDICATE_1 (SB_SBDDATAGRAPH_EXPORT, HasOneOf, SBNodeIndexer)
virtual bool addChild (SBDDataGraphNode * node, SBDDataGraphNode * nextNode=nullptr)
Adds a child to the node.
bool addMaterial (SBDDataGraphNodeMaterial * material)
Adds a material.
bool baseSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) const
Returns true when the base signal is connected to a slot.
virtual bool canAddChild (const SBDDataGraphNode * node, const SBDDataGraphNode * nextNode=nullptr) const
Returns whether this node can add node as a child.
virtual bool canAddChildType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can add a node with type nodeType as a child.
bool canAddMaterial () const
Returns whether can add a material to the node based on its type.
virtual bool canHaveDescendantType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can have a node with type nodeType as a descendant.
virtual SBDDataGraphNode * clone ()
Returns a copy of the node and its descendants.
void connectBaseSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBBaseEvent *) nextFunctionPointer=0)
Connects the base signal to a slot.
unsigned int countNodes (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
unsigned int countNodes (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
void create ()
Creates the node.
bool descendsFrom (const SBDDataGraphNode * node) const
Returns true if and only if this node isnode , or descends from it.
bool descendsFrom (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them.
bool descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them.
void disconnectBaseSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer)
Disconnects the base signal from a slot.
virtual void display (RenderingPass renderingPass)
Displays the node.
virtual void display ()
Displays the node (deprecated)
virtual void displayForSelection ()
Displays the node for selection purposes (deprecated)
virtual void displayForShadow ()
Displays the node for shadowing purposes (deprecated)
void erase ()
Erases the node.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action)
Performs the action on this node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs the objects 'saction on this node.
unsigned int getDefaultOpacity () const
Returns the default opacity.
unsigned int getDefaultTransparency () const
Returns the default transparency.
SBDDocument * getDocument () const
Returns the document the node belongs to.
virtual unsigned int getFlags () const
Returns the flags.
virtual std::string getHierarchyString (const std::string & separator=" / ", bool includeNodeType=false) const
Returns a string with hierarchical information on the node and its parents names.
bool getHighlightingFlag () const
Returns the highlighting flag.
virtual unsigned int getInheritedFlags () const
Returns the inherited flags.
float getInheritedOpacity () const
Returns the cumulative opacity, when taking into account the ascendants.
float getInheritedTransparency () const
Returns the cumulative transparency, when taking into account the ascendants.
virtual bool getLockedFlag () const
Returns the locked flag.
SBDDataGraphNodeMaterial * getMaterial () const
Returns the material.
SBDDataGraphNode * getMaterialOwner () const
Returns the node whose material is inherited.
unsigned int getMaximumOpacity () const
Returns the maximum opacity.
unsigned int getMaximumTransparency () const
Returns the maximum transparency.
unsigned int getMinimumOpacity () const
Returns the minimum opacity.
unsigned int getMinimumTransparency () const
Returns the minimum transparency.
virtual SBQuantity::mass getMolecularWeight ()
Returns the molecular weight.
virtual std::string const & getName () const
Returns the name of the node.
SBDDataGraphNode * getNextNode () const
Returns the pointer to the next node in the children of the node's parent.
SBDDataGraphNode * getNextNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the next node with type nodeType in the children of the node's parent.
unsigned int getNodeIndex () const
Returns the node index (unique in the whole data graph, but non-persistent)
SBUUID getNodeUUID () const
Returns the node UUID.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfAtoms ()
Returns the number of atoms.
virtual unsigned int getNumberOfCarbons ()
Returns the number of carbons.
virtual unsigned int getNumberOfChains ()
Returns the number of chains.
virtual unsigned int getNumberOfCoarseGrainedAtoms ()
Returns the number of coarse-grained atoms.
virtual unsigned int getNumberOfHydrogens ()
Returns the number of hydrogens.
virtual unsigned int getNumberOfMolecules ()
Returns the number of molecules.
virtual unsigned int getNumberOfNitrogens ()
Returns the number of nitrogens.
virtual unsigned int getNumberOfOtherAtoms ()
Returns the number of other atoms.
virtual unsigned int getNumberOfOxygens ()
Returns the number of oxygens.
virtual unsigned int getNumberOfResidues ()
Returns the number of residues.
virtual unsigned int getNumberOfSegments ()
Returns the number of segments.
virtual unsigned int getNumberOfStructuralGroups ()
Returns the number of structural groups.
virtual unsigned int getNumberOfStructuralModels ()
Returns the number of structural models.
virtual unsigned int getNumberOfSulfurs ()
Returns the number of sulfurs.
virtual unsigned int getOpacity () const
Returns the opacity.
unsigned int getOpacitySingleStep () const
Returns the opacity single step.
std::string getOpacitySuffix () const
Returns the opacity suffix.
SBDDataGraphNode * getParent () const
Returns the parent of the node.
SBDDataGraphNode * getPreviousNode () const
Returns the pointer to the previous node in the children of the node's parent.
SBDDataGraphNode * getPreviousNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the previous node with type nodeType in the children of the node's parent.
SBDDataGraphNode * getRoot () const
Returns the root of the hierarchy the node belongs to.
bool getSelected () const
Returns whether the node is selected.
bool getSelectionFlag () const
Returns the selection flag.
virtual int getSumOfFormalCharges ()
Returns the sum of formal charges.
virtual float getSumOfPartialCharges ()
Returns the sum of partial charges.
SBDDataGraphNode * getThisNode () const
Returns the pointer to this node.
virtual unsigned int getTransparency () const
Returns the transparency.
unsigned int getTransparencySingleStep () const
Returns the transparency single step.
std::string getTransparencySuffix () const
Returns the transparency suffix.
virtual Type getType () const
Returns the type of the data graph node.
std::string getTypeString (bool humanReadable=false) const
Returns a string describing the type of the data graph node.
bool getVisibilityFlag () const
Returns the visibility flag.
bool getVisible () const
Returns whether the node is visible.
bool hasMaterial () const
Returns whether the node has a material (by itself, or inherited)
virtual bool hasNode (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or is the ancestor of one of them, or is a group that stores one of them.
bool hasOpacityRange () const
Returns whether the node has the opacity range.
bool hasTransparencyRange () const
Returns whether the node has the transparency range.
bool isAtom () const
Returns true when the node is an atom.
bool isBallAndStick () const
Returns true when the node is the default ball-and-stick visual model.
bool isBond () const
Returns true when the node is a bond.
bool isCartoon () const
Returns true when the node is the default cartoon visual model.
bool isCreated () const
Returns true if and only if the node is created.
bool isDynamicalModel () const
Returns true when the node is a dynamical model.
bool isErased () const
Returns true if and only if the node is erased.
bool isGaussianSurface () const
Returns true when the node is the default Gaussian surface visual model.
bool isHighlighted () const
Returns whether the node is highlighted.
bool isIn (const SBDDataGraphNode * node) const
Returns true if and only if this node isnode , or descends from it, or belongs to a group stored innode .
bool isIn (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer , or descends from one of them, or belongs to a group stored in one of the nodes of thenodeIndexer .
bool isIn (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer , or descends from one of them, or belongs to a group stored in of the nodes of thenodePointerIndexer .
bool isInteractionModel () const
Returns true when the node is a interaction model.
bool isLicorice () const
Returns true when the node is the default licorice visual model.
bool isLight () const
Returns true when the node is a light.
virtual bool isLocked () const
Returns whether the node is locked.
bool isMesh () const
Returns true when the node is a mesh.
bool isModel () const
Returns true when the node is a model.
bool isOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of thenodeIndexer .
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of thenodePointerIndexer .
bool isPropertyModel () const
Returns true when the node is a property model.
bool isRibbon () const
Returns true when the node is the default ribbon visual model.
bool isSelected () const
Returns whether the node is selected.
virtual bool isSerializable () const
Returns true when the class is serializable.
bool isSimulator () const
Returns true when the node is a simulator.
bool isSolventAccessibleSurface () const
Returns true when the node is the default solvent accessible surface visual model.
bool isSolventExcludedSurface () const
Returns true when the node is the default solvent excluded surface visual model.
bool isStructuralModel () const
Returns true when the node is a structural model.
bool isStructuralNode () const
Returns true when the node is a structural node.
bool isTube () const
Returns true when the node is the default tube visual model.
bool isType (Type type) const
Returns true when the type of the node corresponds totype .
bool isVanDerWaals () const
Returns true when the node is the default van der Waals visual model.
bool isVisible () const
Returns whether the node is visible.
bool isVisualModel () const
Returns true when the node is a visual model.
bool ownsMaterial () const
Returns whether the node owns a material.
virtual void print (unsigned int offset=0) const
Prints some debugging information.
virtual bool removeChild (SBDDataGraphNode * node)
Removes a child from the node.
bool removeMaterial ()
Removes the material.
void removeMaterialsFromDescendants ()
Removes materials from all nodes that descend from this node, but it does not remove the material from the node itself.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) const
Serializes the node.
void setHighlightingFlag (bool flag)
Sets the highlighting flag.
virtual void setLockedFlag (bool flag)
Sets the locked flag.
virtual void setName (const std::string & name)
Sets the name of the node.
virtual void setOpacity (unsigned int opacity)
Sets the opacity.
void setSelectionFlag (bool flag)
Sets the selection flag.
virtual void setTransparency (unsigned int transparency)
Sets the transparency.
void setVisibilityFlag (bool flag)
Sets the visibility flag.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0))
Unserializes the node.

Public Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget ()
Builds the reference target.
unsigned int getMemoryFootprint () const
Returns the memory footprint.
void printReferencesToOwners () const
Prints the references to the owners of this reference target.
virtual ~SBCReferenceTarget ()
Destructor.

Public Static Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
bool canAddMaterial (SBDDataGraphNode::Type nodeType)
Returns whether can add a material to a node of type nodeType .
void clone (const SBNodeIndexer & sourceNodeIndexer, SBNodeIndexer & destinationNodeIndexer)
Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones indestinationNodeIndexer .
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, void(*)(SBDDataGraphNode *node) action)
Performs the action for each node innodeIndexer __
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs the objects 'saction for each node innodeIndexer __
SBDDataGraphNode * getNode (unsigned int nodeIndex)
Returns the unique node corresponding to the node index nodeIndex .
std::string getTypeString (Type type, bool humanReadable=false)
Returns a string describing the type of the data graph node.

Protected Attributes inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTargetData * dataPointer
A pointer to the private data.

Protected Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SBDDataGraphNode ()
Builds a data graph node.
SBDDataGraphNode (SBDDataGraphNodeData * dataPointer)
Builds a data graph node.
virtual ~SBDDataGraphNode ()
Destroys the node.

Protected Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget (SBCReferenceTargetData * dataPointer)
Protected constructor.
void removeAllReferenceOwners ()
Stops all the reference owners from referencing this reference target.

Detailed Description#

This class describes a structural conformation, i.e.

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

Short name: SBConformation

See also: SBDDocument

Public Functions Documentation#

function SBMStructuralModelConformation [1/2]#

Constructs a structural model conformation.

SBMStructuralModelConformation::SBMStructuralModelConformation () 

Constructs a structural model conformation with the default name "Conformation" and an empty node indexer.

This default constructor delegates to the named constructor.


function SBMStructuralModelConformation [2/2]#

Constructs a structural model conformation with name name from the nodes innodeIndexer .

SBMStructuralModelConformation::SBMStructuralModelConformation (
    const std::string & name,
    const SBNodeIndexer & nodeIndexer,
    SBVector< SBPosition3 > * positionData=nullptr,
    const SBQuantity::energy & energy=SBQuantity::energy::zero,
    const SBQuantity::time & time=SBQuantity::time::zero,
    SBVector< SBVelocity3 > * velocityData=nullptr,
    SBVector< SBForce3 > * forceData=nullptr
) 

Constructs a structural model conformation with the given name, node indexer, and optional data.

Parameters:

  • name The name of the conformation.
  • nodeIndexer The node indexer describing the nodes included in the conformation.
  • positionData Optional pointer to a vector of atom positions. May be nullptr.
  • energy The energy value of the conformation. Defaults to zero.
  • time The time value of the conformation. Defaults to zero.
  • velocityData Optional pointer to a vector of atom velocities. May be nullptr.
  • forceData Optional pointer to a vector of atom forces. May be nullptr.

function addAtom#

Adds a atom with positionatomPosition .

bool SBMStructuralModelConformation::addAtom (
    SBAtom * atom,
    const SBPosition3 & atomPosition
) 

Adds an atom with a specified position to the conformation.

The atom is appended to the end of the atom list.

Parameters:

  • atom Pointer to the atom to add.
  • atomPosition Position of the atom to be stored.

Returns:

true if the atom was added successfully, otherwise false.


function clearSourceFileName#

Clears the name of the file associated to the conformation.

void SBMStructuralModelConformation::clearSourceFileName () 

Clears the source file name associated with the conformation.

After calling this function, the conformation will no longer have a source file name set.


function clone#

Returns a copy of the node and its descendants.

virtual SBMStructuralModelConformation * SBMStructuralModelConformation::clone () override

Creates a copy of this conformation and its descendants.

The cloned object is a new instance that duplicates the original conformation's data.

Returns:

Pointer to the newly created conformation.

Implements SBDDataGraphNode::clone


function createStructuralModels#

Create structural models corresponding to all steps.

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

Creates structural model nodes corresponding to this conformation and adds them to the provided indexer.

Parameters:

  • structuralModelIndexer Indexer to which the newly created structural model nodes will be added.

function forEachNodeDepthFirst [1/2]#

Performs the action on this conformation.

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

Executes a callback for this conformation in a depth-first traversal.

The provided function pointer is invoked with this node as its argument.

Parameters:

  • action Function pointer to be called for each node.

Implements SBDDataGraphNode::forEachNodeDepthFirst


function forEachNodeDepthFirst [2/2]#

Performs the object 'saction on this conformation.

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

Executes a member function callback for this conformation in a depth-first traversal.

The specified member function of the given object is invoked with this node as its argument.

Parameters:

  • object Pointer to the object whose member function will be called.
  • action Pointer to the member function to invoke for each node.

Implements SBDDataGraphNode::forEachNodeDepthFirst


function getAtomIndexer#

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

SBPointerIndexer< SBAtom > const * SBMStructuralModelConformation::getAtomIndexer () const

Returns a pointer to the atom indexer used by this conformation.

The returned pointer may be null if no atom indexer is present.

Returns:

Pointer to the atom indexer, or nullptr.


function getEnergy#

Returns the energy data.

virtual SBQuantity::energy SBMStructuralModelConformation::getEnergy () const

Retrieves the energy value associated with the conformation.

Returns:

The energy of the conformation.


function getForce [1/2]#

Retrieves the force of atom atomIndex and stores it inforce .

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

Retrieves the force applied to an atom by its index.

Parameters:

  • atomIndex Index of the atom whose force is requested.
  • atomForce Output parameter that receives the force of the atom.

Returns:

true if the force data exists and the index is valid; false otherwise.


function getForce [2/2]#

Retrieves the force of atom atom and stores it inforce .

virtual bool SBMStructuralModelConformation::getForce (
    SBAtom * atom,
    SBForce3 & force
) const

Retrieves the force applied to a specific atom.

Parameters:

  • atom Pointer to the atom whose force is requested.
  • atomForce Output parameter that receives the force of the atom.

Returns:

true if the force data exists for the atom; false otherwise.


function getForceData#

Returns the force data.

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

Retrieves the force data vector for the conformation.

Returns:

Pointer to the vector of forces, or nullptr if no force data is stored.


function getNextConformation#

Returns the next conformation in the document.

SBMStructuralModelConformation * SBMStructuralModelConformation::getNextConformation () const

Returns the next conformation in the document sequence.

Traverses the linked list of nodes to find the next node that is a conformation.

Returns:

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


function getNodes [1/2]#

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

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

Collects nodes of a specified type into an indexer.

The function adds this conformation and optionally its dependent atoms to the provided node indexer based on the given criteria.

Parameters:

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

Implements SBDDataGraphNode::getNodes


function getNodes [2/2]#

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

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

Collects nodes based on selection and visit predicates into an indexer.

The function adds this conformation and optionally its dependent atoms to the provided node indexer according to the supplied predicates.

Parameters:

  • nodeIndexer Container that will receive the collected nodes.
  • selectionPredicate Predicate that selects nodes to be added.
  • visitPredicate Predicate that determines whether this node should be visited.
  • includeDependencies If true, dependent nodes are also collected.

Implements SBDDataGraphNode::getNodes


function getNumberOfAtoms#

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

unsigned int SBMStructuralModelConformation::getNumberOfAtoms () const

Returns the number of atoms stored in the conformation.

Returns:

The count of atoms.


function getPosition [1/2]#

Retrieves the position of atom atomIndex and stores it inatomPosition .

bool SBMStructuralModelConformation::getPosition (
    unsigned int atomIndex,
    SBPosition3 & atomPosition
) const

Retrieves the position of the atom at the given index.

Parameters:

  • atomIndex Index of the atom whose position is requested.
  • atomPosition Output parameter that receives the atom's position.

Returns:

true if the position was retrieved successfully, otherwise false.


function getPosition [2/2]#

Retrieves the position of atom atom and stores it inatomPosition .

bool SBMStructuralModelConformation::getPosition (
    SBAtom * atom,
    SBPosition3 & atomPosition
) const

Retrieves the position of the specified atom.

Parameters:

  • atom Pointer to the atom whose position is requested.
  • atomPosition Output parameter that receives the atom's position.

Returns:

true if the position was retrieved successfully, otherwise false.


function getPositionData#

Returns the position data.

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

Returns the position data vector associated with the conformation.

Returns:

Pointer to the vector of atom positions.


function getPreviousConformation#

Returns the previous conformation in the document.

SBMStructuralModelConformation * SBMStructuralModelConformation::getPreviousConformation () const

Returns the previous conformation in the document sequence.

Traverses the linked list of nodes to find the preceding node that is a conformation.

Returns:

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


function getSourceFileName#

Returns the name of the file associated to the conformation.

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

Returns the source file name associated with the conformation.

If a source file name has not been set, the default structural model conformation source file name is returned.

Returns:

Reference to the source file name string.


function getTime#

Returns the time data.

virtual SBQuantity::time SBMStructuralModelConformation::getTime () const

Retrieves the time value associated with the conformation.

Returns:

The time of the conformation.


function getType#

Returns the data graph node type.

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

Returns the type identifier of this data graph node.

The returned value indicates that this node is a conformation.

Returns:

The node type enumeration value.

Implements SBDDataGraphNode::getType


function getVelocity [1/2]#

Retrieves the velocity of atom atomIndex and stores it invelocity .

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

Retrieves the velocity of an atom by its index.

Parameters:

  • atomIndex Index of the atom whose velocity is requested.
  • atomVelocity Output parameter that receives the velocity of the atom.

Returns:

true if the velocity data exists and the index is valid; false otherwise.


function getVelocity [2/2]#

Retrieves the velocity of atom atom and stores it invelocity .

virtual bool SBMStructuralModelConformation::getVelocity (
    SBAtom * atom,
    SBVelocity3 & velocity
) const

Retrieves the velocity of a specific atom.

Parameters:

  • atom Pointer to the atom whose velocity is requested.
  • atomVelocity Output parameter that receives the velocity of the atom.

Returns:

true if the velocity data exists for the atom; false otherwise.


function getVelocityData#

Returns the velocity data.

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

Retrieves the velocity data vector for the conformation.

Returns:

Pointer to the vector of velocities, or nullptr if no velocity data is stored.


function hasNode [1/2]#

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

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

Checks whether a node of the specified type exists in the conformation.

The check can be limited to selected nodes and may include dependent nodes.

Parameters:

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

Returns:

true if a matching node is found, otherwise false.

Implements SBDDataGraphNode::hasNode


function hasNode [2/2]#

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

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

Checks whether any node satisfying the given selection predicate exists in the conformation.

The check may also include dependent nodes based on the provided flag.

Parameters:

  • selectionPredicate Predicate that selects nodes to be checked.
  • visitPredicate Predicate that determines whether this node should be visited.
  • includeDependencies If true, dependent nodes are also considered.

Returns:

true if a matching node is found, otherwise false.

Implements SBDDataGraphNode::hasNode


function hasSourceFileName#

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

bool SBMStructuralModelConformation::hasSourceFileName () const

Checks whether a source file name is set for the conformation.

Returns:

true if a source file name is set, false otherwise.


function insertAtom#

Inserts a atom with positionatomPosition at indexatomIndex .

bool SBMStructuralModelConformation::insertAtom (
    unsigned int atomIndex,
    SBAtom * atom,
    const SBPosition3 & atomPosition
) 

Inserts an atom at a specified index with a given position.

The atom is placed at the provided index, shifting subsequent atoms as needed.

Parameters:

  • atomIndex Index at which to insert the atom.
  • atom Pointer to the atom to insert.
  • atomPosition Position of the atom to be stored.

Returns:

true if the insertion succeeded, otherwise false.


function isSerializable#

Returns true __

virtual bool SBMStructuralModelConformation::isSerializable () override const

Indicates whether the conformation can be serialized.

Returns:

True, indicating that the conformation is serializable.

Implements SBDDataGraphNode::isSerializable


function print#

Prints the conformation.

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

Prints a textual representation of the conformation to standard output.

Parameters:

  • offset Number of indentation levels to prepend to each printed line.

Implements SBDDataGraphNode::print


function removeAtom#

Removes an atom from the conformation.

bool SBMStructuralModelConformation::removeAtom (
    SBAtom * atom
) 

Removes the specified atom from the conformation.

The atom is removed from the internal atom list and its position data is discarded.

Parameters:

  • atom Pointer to the atom to remove.

Returns:

true if the atom was removed successfully, otherwise false.


function restore#

Restores the conformation.

void SBMStructuralModelConformation::restore () const

Restores the positions of all atoms in the conformation to the stored values.

The function iterates over each atom in the conformation and sets its position to the stored position data.


function serialize#

Serializes the conformation.

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

Serializes the conformation to the given serializer.

Serializes the conformation data, handling version-specific formats and writing atom information, positions, energy, time, velocities, and forces.

Parameters:

  • serializer The serializer used to write the conformation data.
  • nodeIndexer The node indexer used to map nodes to their indices for serialization.
  • sdkVersionNumber The SDK version number for versioned serialization.
  • classVersionNumber The class version number for versioned serialization.

Implements SBDDataGraphNode::serialize


function setEnergy#

Sets the energy data.

virtual void SBMStructuralModelConformation::setEnergy (
    const SBQuantity::energy & energy
) 

Sets the energy value for the conformation.

Parameters:

  • energy Energy value to assign to the conformation.

function setForce [1/2]#

Sets the force of atom atomIndex toforce .

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

Sets the force applied to an atom specified by its index.

Parameters:

  • atomIndex Index of the atom to modify.
  • atomForce New force for the atom.

Returns:

true if the index is valid and the force was set; false otherwise.


function setForce [2/2]#

Sets the force of atom atom toforce .

virtual bool SBMStructuralModelConformation::setForce (
    SBAtom * atom,
    const SBForce3 & force
) 

Sets the force applied to a specific atom.

Parameters:

  • atom Pointer to the atom whose force is to be set.
  • atomForce New force for the atom.

Returns:

true if the atom is part of the conformation and the force was set; false otherwise.


function setForceData#

Sets the force data.

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

Sets the force data vector for the conformation.

Parameters:

  • forceData Pointer to a vector of forces to associate with the conformation.

function setPosition [1/2]#

Sets the position of atom atomIndex and stores it inatomPosition .

bool SBMStructuralModelConformation::setPosition (
    unsigned int atomIndex,
    const SBPosition3 & atomPosition
) 

Sets the position of an atom specified by its index.

Parameters:

  • atomIndex Index of the atom to modify.
  • atomPosition New position for the atom.

Returns:

true if the atom index is valid and the position was set; false otherwise.


function setPosition [2/2]#

Sets the position of atom atom and stores it inatomPosition .

bool SBMStructuralModelConformation::setPosition (
    SBAtom * atom,
    const SBPosition3 & atomPosition
) 

Sets the position of a specific atom.

Parameters:

  • atom Pointer to the atom whose position is to be set.
  • atomPosition New position for the atom.

Returns:

true if the atom is part of the conformation and the position was set; false otherwise.


function setPositionData#

Sets the position data.

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

Sets the position data vector for the conformation.

Parameters:

  • positionData Pointer to the new position data vector.

function setSourceFileName#

Sets the name of the file associated to the conformation.

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

Sets the source file name for the conformation.

The provided file name becomes the new source file name associated with this conformation.

Parameters:

  • fileName The name of the source file to set.

function setTime#

Sets the time data.

virtual void SBMStructuralModelConformation::setTime (
    const SBQuantity::time & time
) 

Sets the time value for the conformation.

Parameters:

  • time Time value to assign to the conformation.

function setVelocity [1/2]#

Sets the velocity of atom atomIndex tovelocity .

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

Sets the velocity of an atom specified by its index.

Parameters:

  • atomIndex Index of the atom to modify.
  • atomVelocity New velocity for the atom.

Returns:

true if the index is valid and the velocity was set; false otherwise.


function setVelocity [2/2]#

Sets the velocity of atom atom tovelocity .

virtual bool SBMStructuralModelConformation::setVelocity (
    SBAtom * atom,
    const SBVelocity3 & velocity
) 

Sets the velocity of a specific atom.

Parameters:

  • atom Pointer to the atom whose velocity is to be set.
  • atomVelocity New velocity for the atom.

Returns:

true if the atom is part of the conformation and the velocity was set; false otherwise.


function setVelocityData#

Sets the velocity data.

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

Sets the velocity data vector for the conformation.

Parameters:

  • velocityData Pointer to a vector of velocities to associate with the conformation.

function unserialize#

Unserializes the conformation.

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

Unserializes the conformation from the given serializer.

Parameters:

  • serializer The serializer used to read the conformation data.
  • nodeIndexer The node indexer used to map indices back to nodes during deserialization.
  • sdkVersionNumber The SDK version number for versioned deserialization.
  • classVersionNumber The class version number for versioned deserialization.

Implements SBDDataGraphNode::unserialize


function ~SBMStructuralModelConformation#

Destructs the conformation.

virtual SBMStructuralModelConformation::~SBMStructuralModelConformation () 

Destroys the structural model conformation and emits a node deletion begin event.