SBMStructuralModelNodeBond Class Reference

This class describes a bond in a structural model.

Constructors and destructors

 SBMStructuralModelNodeBond ()
 Constructs a bond.
 
 SBMStructuralModelNodeBond (SBMStructuralModelNodeAtom *leftAtom, SBMStructuralModelNodeAtom *rightAtom, const SBQuantity::dimensionless &order=SBQuantity::dimensionless(1.0))
 Constructs a bond between atoms leftAtom and rightAtom and a specific bond order.
 
virtual ~SBMStructuralModelNodeBond ()
 Destructs the bond.
 

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

Topology

enum  BondType {
  Undefined,
  Single,
  Double,
  Triple,
  Amide,
  Aromatic,
  Dummy
}
 The bond type. More...
 
SBQuantity::dimensionless const & getOrder () const
 Returns the bond order.
 
void setOrder (const SBQuantity::dimensionless &order)
 Sets the bond order to order.
 
SBQuantity::dimensionless const & getMinimumOrder () const
 Returns the minimum bond order for the inspector.
 
SBQuantity::dimensionless const & getMaximumOrder () const
 Returns the maximum bond order for the inspector.
 
SBQuantity::dimensionless const & getOrderSingleStep () const
 Returns the bond order single step for the inspector.
 
std::string getOrderSuffix () const
 Returns the bond order suffix for the inspector.
 
BondType getBondType () const
 Returns the bond type.
 
void setBondType (BondType bondType)
 Sets the bond type to bondType.
 
SBMStructuralModelNodeAtomgetLeftAtom () const
 Returns a pointer to the left atom.
 
SBMStructuralModelNodeAtomgetRightAtom () const
 Returns a pointer to the right atom.
 
SBMStructuralModelNodeAtomgetOppositeAtom (const SBMStructuralModelNodeAtom *atom) const
 Returns the pointer to the atom opposite atom, when atom is either the left atom or the right atom of the bond.
 
SBQuantity::length getLength () const
 Compute the length of the bond.
 
SBPosition3 getMidPoint () const
 Compute the mid point of the bond.
 
bool isLinking (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if either atom is in nodeIndexer, or descends from a node of nodeIndexer.
 
virtual SBMStructuralModelNodeBondclone ()
 Returns a copy of the node and its descendants.
 
static std::string getBondTypeString (BondType bondType)
 Returns the string corresponding to the bondType.
 

Identity

SBDDataGraphNode::Type getType () const
 Returns the node type (SBNode::Bond)
 

Selection functions

virtual void getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false)
 Returns some nodes. More...
 

Properties

bool hasStatusBit () const
 Returns true when the bond's status bit is set.
 
std::string const & getStatusBit () const
 Returns the bond's status bit.
 
void setStatusBit (const std::string &statusBit)
 Sets the bond's status bit.
 
void clearStatusBit ()
 Clears the bond's status bit.
 
bool hasCustomType () const
 Returns true when the bond's custom type is set.
 
int const & getCustomType () const
 Returns the bond's custom type.
 
void setCustomType (const int &water)
 Sets the bond's custom type.
 
void clearCustomType ()
 Clears the bond's custom type.
 
bool isAmideBond () const
 Returns true if the bond is an amide bond, i.e. between a Nytrogen and a carbonyl Carbon: N-C=O.
 
bool isPrimaryAmideBond () const
 Returns true if the bond is a primary amide bond, i.e. an amid bond where the Nytrogen atom has exactly one non-Hydronen bond.
 
bool isSecondaryAmideBond () const
 Returns true if the bond is a secondary amide bond, i.e. an amid bond where the Nytrogen atom has exactly two non-Hydronen bonds.
 
bool isTertiaryAmideBond () const
 Returns true if the bond is a tertiary amide bond, i.e. an amid bond where the Nytrogen atom has exactly three non-Hydronen bonds.
 
bool isCarbonylBond () const
 Returns true if the bond is a carbonyl bond (C=O)
 
bool isEsterBond () const
 Returns true if the bond is an ester bond, i.e. between an Oxygen and a carbonyl Carbon: O-C=O.
 

Debugging

virtual void print (unsigned int offset=0) const
 Prints debugging information.
 

Additional Inherited Members

- Public Types inherited from SBDDataGraphNode
enum  RenderingPass {
  RenderingPass::OpaqueGeometry,
  RenderingPass::SelectableGeometry,
  RenderingPass::ShadowingGeometry,
  RenderingPass::TransparentGeometry,
  RenderingPass::Interface,
  RenderingPass::Text
}
 The rendering pass. More...
 
enum  Type {
  Undefined,
  StructuralModel,
  StructuralModelNode,
  StructuralModelConformation,
  Conformation,
  StructuralModelPath,
  Path,
  StructuralModelNodeGroup,
  StructuralGroup,
  StructuralModelNodeRoot,
  Root,
  StructuralModelNodeParticle,
  StructuralParticle,
  StructuralModelNodeAtom,
  Atom,
  StructuralModelNodePseudoAtom,
  PseudoAtom,
  StructuralModelNodeBond,
  Bond,
  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,
  DataGraphNodeGroup,
  NodeGroup,
  Controller,
  ControllerNode,
  Asset
}
 The type of the data graph node. More...
 
- Public Member Functions inherited from SBMStructuralModelNode
virtual ~SBMStructuralModelNode ()
 
virtual SBPointerList< SBMStructuralModelNode > const * getChildren () const
 
SBMStructuralModelNodegetNextStructuralNode () const
 
SBMStructuralModelNodegetPreviousStructuralNode () const
 
SBMStructuralModelgetModel () const
 
bool getMobilityFlag () const
 Returns the mobility flag.
 
void setMobilityFlag (bool flag)
 Sets the mobility flag to flag.
 
void connectStructuralSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBStructuralEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBStructuralEvent *)=0)
 
bool structuralSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBStructuralEvent *)) const
 
void disconnectStructuralSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBStructuralEvent *))
 
void getAllStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getInternalStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getLeafStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getStructuralNodesBreadthFirstTopDown (std::vector< SBMStructuralModelNode *> &nodeIndexer, bool(*selectionRule)(SBMStructuralModelNode *))
 
void getAllStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getInternalStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getLeafStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getStructuralNodesBreadthFirstBottomUp (std::vector< SBMStructuralModelNode *> &nodeIndexer, bool(*selectionRule)(SBMStructuralModelNode *))
 
void getAllStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getInternalStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getLeafStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode *> &nodeIndexer)
 
void getStructuralNodesDepthFirst (std::vector< SBMStructuralModelNode *> &nodeIndexer, bool(*selectionRule)(SBMStructuralModelNode *))
 
void getStructuralNodesBreadthFirst (std::vector< SBMStructuralModelNode *> &nodeVectorTopDown, std::vector< SBMStructuralModelNode *> &nodeVectorBottomUp, bool(*selectionRule)(SBMStructuralModelNode *))
 
virtual void forEachNodeDepthFirst (void(*action)(SBDDataGraphNode *node))
 Performs an action on each node.
 
virtual void forEachNodeDepthFirst (SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node))
 Performs an action on each node.
 
void forEachStructuralNodeBreadthFirst (void(*action)(SBMStructuralModelNode *node))
 
void forEachStructuralNodeDepthFirst (void(*action)(SBMStructuralModelNode *node))
 
void forEachStructuralNodeBreadthFirst (SBCClass *object, void(SBCClass::*action)(SBMStructuralModelNode *node))
 
void forEachStructuralNodeDepthFirst (SBCClass *object, void(SBCClass::*action)(SBMStructuralModelNode *node))
 
- Public Member Functions inherited from SBMModelNode
- 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 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...
 
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)
 
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...
 
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 (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...
 
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...
 
- Public Member Functions inherited from SBCReferenceTarget
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
- Static Public Member Functions inherited from SBMStructuralModelNode
static void forEachStructuralNodeInSelection (std::vector< SBMStructuralModelNode *> &selection, void(*action)(SBMStructuralModelNode *node))
 
static void forEachStructuralNodeInSelection (std::vector< SBMStructuralModelNode *> &selection, SBCClass *object, void(SBCClass::*action)(SBMStructuralModelNode *node))
 
- 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 SBMStructuralModelNode
 SBMStructuralModelNode ()
 Builds a structural model node.
 
 SBMStructuralModelNode (SBMStructuralModelNodeData *dataPointer)
 Builds a structural model node.
 
- Protected Member Functions inherited from SBMModelNode
 SBMModelNode ()
 Builds a base object.
 
 SBMModelNode (SBMModelNodeData *dataPointer)
 Builds a base object.
 
virtual ~SBMModelNode ()
 
- 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...
 

Member Enumeration Documentation

◆ BondType

Enumerator
Undefined 

The bond type.

Single 

The single bond type.

Double 

The double bond type.

Triple 

The triple bond type.

Amide 

The amide bond type.

Aromatic 

The aromatic bond type.

Dummy 

The dummy bond type.

Member Function Documentation

◆ getNodes()

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

This function adds to nodeIndexer the bond itself (if the predicates are valid) and, if includeDependencies is true, attempts to add the bonded atoms as well.

Reimplemented from SBMStructuralModelNode.