SBMStructuralModelNodeAtom Class Reference

This class describes an atom in a structural model.

Public Types

enum  Hybridization {
  Hybridization::None,
  Hybridization::SP,
  Hybridization::SP2,
  Hybridization::SP3,
  Hybridization::SP3D,
  Hybridization::SP3D2,
  Hybridization::Unknown
}
 
enum  Geometry {
  Geometry::Undefined,
  Geometry::Linear,
  Geometry::Bent,
  Geometry::TrigonalPlanar,
  Geometry::TrigonalPyramidal,
  Geometry::TShaped,
  Geometry::Tetrahedral,
  Geometry::SquarePlanar,
  Geometry::Seesaw,
  Geometry::TrigonalBipyramidal,
  Geometry::SquarePyramidal,
  Geometry::PentagonalPlanar,
  Geometry::Octahedral,
  Geometry::TrigonalPrismatic,
  Geometry::PentagonalPyramidal,
  Geometry::PentagonalBipyramidal,
  Geometry::CappedOctahedral,
  Geometry::CappedTrigonalPrismatic,
  Geometry::SquareAntiprismatic,
  Geometry::Dodecahedral,
  Geometry::BicappedTrigonalPrismatic,
  Geometry::TricappedTrigonalPrismatic,
  Geometry::CappedSquareAntiprismatic
}
 
- 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...
 

Constructors and destructors

 SBMStructuralModelNodeAtom ()
 
 SBMStructuralModelNodeAtom (SBElement::Type element)
 Constructs an atom (default position = (0,0,0))
 
 SBMStructuralModelNodeAtom (SBElement::Type element, const SBQuantity::length &x, const SBQuantity::length &y, const SBQuantity::length &z)
 Constructs an atom at position = (x,y,z)
 
 SBMStructuralModelNodeAtom (SBElement::Type element, SBPosition3 const &p)
 Constructs an atom at position p.
 
 SBMStructuralModelNodeAtom (SBElement::Type element, std::string &n, SBPosition3 const &p)
 Constructs an atom with name n at position p.
 
virtual ~SBMStructuralModelNodeAtom ()
 Destructs the atom.
 

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

Topology

SBPointerList< SBBond > const * getBondList () const
 Returns the bond list.
 
SBBondgetBondTo (SBMStructuralModelNodeAtom *atom) const
 Returns the bond to an atom (0 if no bond)
 
unsigned int getNumberOfBonds () const
 Returns the number of bonds without taking into account the bond order (NB: a double bond is considered as one bond)
 
SBQuantity::dimensionless getCurrentValence () const
 Returns the current valence, i.e. the sum of the orders of the bonds connected to the atom, rounded to the closest integer.
 
SBQuantity::dimensionless getExpectedValence () const
 Returns the expected valence of the atom based on its formal charge and its number of bonds (based on the MDL valence model)
 
void getBondedAtoms (SBNodeIndexer &nodeIndexer, const SBElement::Type element)
 Gets all bonded atoms of type element.
 
unsigned int getNumberOfBondedAtoms (const SBElement::Type element) const
 Returns the number of bonded atoms with element type element.
 
void getHydrogens (SBNodeIndexer &nodeIndexer)
 Gets all bonded hydrogens.
 
unsigned int getNumberOfHydrogens () const
 Returns the number of all bonded hydrogens.
 
unsigned int addHydrogens ()
 Adds hydrogens and returns the number of added hydrogens. More...
 
unsigned int removeHydrogens ()
 Removes the hydrogens bonded to the atom and returns the number of removed hydrogens.
 
void getNewBondDirections (SBVector< SBVector3 > &bondDirectionVector, unsigned int numberOfBonds, bool includeExistingHydrogens=false)
 Generates directions that numberOfBonds new neighboring bonds would have.
 
void getConnectedComponent (SBNodeIndexer &nodeIndexer)
 Gets all atoms in the connected component containing the atom.
 
bool isCarboxylOxygen () const
 Returns true for an Oxygen atom in a carboxyl group (C(=O)OH) More...
 
bool isThiocarboxylOxygen () const
 Returns true for an Oxygen atom in a thiocarboxyl group (C(=S)OH or C(=O)SH) More...
 
bool isNitroOxygen () const
 Returns true for an Oxygen atom in a nitro group (-NO2) More...
 
bool isSulfoneOxygen () const
 Returns true for an Oxygen atom in a sulfone (R1-SO2-R2) More...
 
bool isHydrogenBondAcceptor () const
 Returns true if the atom is an H-Bond acceptor.
 
bool isHydrogenBondDonor () const
 Returns true if the atom is an H-Bond donor.
 
bool isDonorborneHydrogen () const
 Returns true if the atom is a hydrogen connected to an H-Bond donor.
 
bool isAttachedToHydrogenBondDonor () const
 Returns true if the atom is connected to an H-Bond donor.
 
virtual SBMStructuralModelNodeAtomclone ()
 Returns a copy of the node and its descendants.
 

Identity

virtual SBDDataGraphNode::Type getType () const
 Returns the node type (returns SBNode::Atom)
 
virtual SBElement::Type getElementType () const
 Returns the atom's element type.
 
virtual void setElementType (SBElement::Type e)
 Sets the atom's element type.
 
virtual std::string getElementName () const
 Returns the atom's element name.
 
virtual std::string getElementSymbol () const
 Returns the atom's element symbol.
 
std::string getPeriod () const
 Returns the atom's element period.
 
unsigned int getGroup () const
 Returns the atom's element group.
 
std::string getBlock () const
 Returns the atom's element block.
 
SBQuantity::mass getAtomicWeight () const
 Returns the atom's element atomic weight.
 
SBQuantity::length getCovalentRadius () const
 Returns the atom's element covalent radius.
 
SBQuantity::length getVanDerWaalsRadius () const
 Returns the atom's element van der Waals radius.
 
SBQuantity::dimensionless getElectronegativity () const
 Returns the atom's element electronegativity.
 
SBElement::MetalSubcategory getMetalSubcategory () const
 Returns the atom's subcategory type in the metal–metalloid–nonmetal trend.
 
std::string getMetalSubcategoryString () const
 Returns the string representation of the atom's subcategory type in the metal–metalloid–nonmetal trend.
 
bool isMetal () const
 Returns true if the atom is metal.
 

Hierarchy

bool isInMolecule () const
 Returns true when the atom is in a molecule.
 
SBMStructuralModelNodeMoleculegetMolecule () const
 Returns a pointer to the molecule.
 
std::string getMoleculeName () const
 Returns the atom's molecule name.
 
bool isInChain () const
 Returns true when the atom is in a chain.
 
SBMStructuralModelNodeChaingetChain () const
 Returns a pointer to the chain.
 
std::string getChainName () const
 Returns the atom's chain name.
 
bool hasChainID () const
 Returns true when the atom's chain ID is set. The chain ID is used to separate chains with the same name but divided into 2, e.g. with TER record.
 
int getChainID () const
 Returns the atom's chain ID.
 
std::string getChainIDString () const
 Returns the atom's chain ID string.
 
bool isInSegment () const
 Returns true when the atom is in a segment.
 
SBMStructuralModelNodeSegmentgetSegment () const
 Returns a pointer to the segment.
 
std::string getSegmentName () const
 Returns the atom's segment name.
 
bool isInSubstructure () const
 Returns true when the atom is in a substructure.
 
SBMStructuralModelNodeGroupgetSubstructure () const
 Returns a pointer to the substructure.
 
std::string getSubstructureName () const
 Returns the atom's substructure name.
 
bool hasSubstructureSequenceNumber () const
 Returns true when the atom's substructure sequence number is set.
 
int getSubstructureSequenceNumber () const
 Returns the atom's substructure sequence number.
 
std::string getSubstructureSequenceNumberString () const
 Returns the atom's substructure sequence number string.
 
bool isInResidue () const
 Returns true when the atom's residue is set.
 
SBMStructuralModelNodeResiduegetResidue () const
 Returns a pointer to the residue.
 
std::string getResidueName () const
 Returns the atom's residue name.
 
std::string getResidueTypeString () const
 Returns the atom's residue type string.
 
bool hasResidueSequenceNumber () const
 Returns true when the atom's residue sequence number is set.
 
int getResidueSequenceNumber () const
 Returns the atom's residue sequence number.
 
std::string getResidueSequenceNumberString () const
 Returns the atom's residue sequence number string.
 
bool isFromAminoAcidBackbone () const
 Returns true when the atom is from an amino-acid backbone.
 
bool isFromNucleicAcidBackbone () const
 Returns true when the atom is from a nucleic acid backbone.
 

Properties

bool hasName () const
 Returns true when the atom's name is set.
 
virtual std::string const & getName () const
 Returns the atom's full name (e.g. CA for an alpha carbon)
 
virtual void setName (const std::string &name)
 Sets the atom's full name.
 
void clearName ()
 Clears the atom's full name.
 
bool hasAltLocation () const
 Returns true when the atom's alternate location is set.
 
char const & getAltLocation () const
 Returns the atom's alternate location.
 
void setAltLocation (const char &altLocation)
 Sets the atom's alternate location.
 
void clearAltLocation ()
 Clears the atom's alternate location.
 
bool hasInsertionCode () const
 Returns true when the atom's insertion code is set.
 
char const & getInsertionCode () const
 Returns the atom's insertion code.
 
void setInsertionCode (const char &insertionCode)
 Sets the atom's insertion code.
 
void clearInsertionCode ()
 Clears the atom's insertion code.
 
bool hasSerialNumber () const
 Returns true when the atom's serial number is set.
 
int const & getSerialNumber () const
 Returns the atom's serial number.
 
void setSerialNumber (const int &serialNumber)
 Sets the atom's serial number.
 
void clearSerialNumber ()
 Clears the atom's serial number.
 
bool hasOccupancy () const
 Returns true when the atom's occupancy is set.
 
SBQuantity::dimensionless const & getOccupancy () const
 Returns the atom's occupancy.
 
void setOccupancy (const SBQuantity::dimensionless &occupancy)
 Sets the atom's occupancy.
 
void clearOccupancy ()
 Clears the atom's occupancy.
 
bool hasRecordType () const
 Returns true when the atom's record type is set.
 
char *const & getRecordType () const
 Returns the atom's record type.
 
unsigned int getRecordTypeSize () const
 Returns the atom's record type size.
 
void setRecordType (char *const &recordType, int const &size)
 Sets the atom's record type.
 
void clearRecordType ()
 Clears the atom's record type.
 
bool hasTemperatureFactor () const
 Returns true when the atom's temperature factor is set.
 
double const & getTemperatureFactor () const
 Returns the atom's temperature factor.
 
void setTemperatureFactor (const double &temperatureFactor)
 Sets the atom's temperature factor.
 
void clearTemperatureFactor ()
 Clears the atom's temperature factor.
 
bool hasPartialCharge () const
 Returns true when the atom's partial charge is set.
 
float const & getPartialCharge () const
 Returns the atom's partial charge.
 
void setPartialCharge (const float &partialCharge)
 Sets the atom's partial charge.
 
void clearPartialCharge ()
 Clears the atom's partial charge.
 
bool hasFormalCharge () const
 Returns true when the atom's formal charge is set.
 
int const & getFormalCharge () const
 Returns the atom's formal charge.
 
void setFormalCharge (const int &formalCharge)
 Sets the atom's formal charge.
 
void clearFormalCharge ()
 Clears the atom's formal charge.
 
bool hasComment () const
 Returns true when the atom's comment is set.
 
char *const & getComment () const
 Returns the atom's comment.
 
unsigned int getCommentSize () const
 Returns the atom's comment size.
 
void setComment (char *const &comment, int const &size)
 Sets the atom's comment.
 
void clearComment ()
 Clears the atom's comment.
 
bool hasAnisotropicTFactors () const
 Returns true when the atom's anisotropic temperature factors are set.
 
std::vector< int > const & getAnisotropicTFactors () const
 Returns the atom's anisotropic temperature factors.
 
void setAnisotropicTFactors (const std::vector< int > &ATF)
 Sets the atom's anisotropic temperature factors.
 
void clearAnisotropicTFactors ()
 Clears the atom's anisotropic temperature factors.
 
bool hasSYBYLType () const
 Returns true when the SYBYL atom's type is set.
 
char *const & getSYBYLType () const
 Returns the SYBYL atom's type.
 
unsigned int getSYBYLTypeSize () const
 Returns the SYBYL atom's type size.
 
void setSYBYLType (char *const &SYBYLType, int const &size)
 Sets the SYBYL atom's type.
 
void clearSYBYLType ()
 Clears the SYBYL atom's type.
 
bool hasStatusBit () const
 Returns true when the atom's status bit is set.
 
char *const & getStatusBit () const
 Returns the atom's status bit.
 
unsigned int getStatusBitSize () const
 Returns the atom's status bit size.
 
void setStatusBit (char *const &statusBit, int const &size)
 Sets the atom's status bit.
 
void clearStatusBit ()
 Clears the atom's status bit.
 
bool hasHybridization () const
 Returns true when the atom's hybridization is set.
 
Hybridization const & getHybridization () const
 Returns the atom's hybridization.
 
void setHybridization (const Hybridization &hybridization)
 Sets the atom's hybridization.
 
void clearHybridization ()
 Clears the atom's hybridization.
 
std::string getHybridizationString () const
 Returns the hybridization as a string.
 
Hybridization perceiveHybridization ()
 Perceives, sets and returns the atom's hybridization.
 
bool hasGeometry () const
 Returns true when the atom's geometry is set.
 
Geometry const & getGeometry () const
 Returns the atom's geometry.
 
void setGeometry (const Geometry &geometry)
 Sets the atom's geometry.
 
void clearGeometry ()
 Clears the atom's geometry.
 
std::string getGeometryString () const
 Returns the geometry as a string.
 
bool hasOxidationState () const
 Returns true when the atom's oxidation state is set.
 
int const & getOxidationState () const
 Returns the atom's oxidation state.
 
void setOxidationState (const int &oxidationState)
 Sets the atom's oxidation state.
 
void clearOxidationState ()
 Clears the atom's oxidation state.
 
bool hasResonance () const
 Returns true when the atom's resonance is set.
 
bool const & getResonance () const
 Returns the atom's resonance (true if resonant, false else)
 
void setResonance (const bool &resonance)
 Sets the atom's resonance.
 
void clearResonance ()
 Clears the atom's resonance.
 
bool hasAromaticity () const
 Returns true when the atom's aromaticity is set.
 
bool const & getAromaticity () const
 Returns the atom's aromaticity (true if aromatic, false else)
 
void setAromaticity (const bool &aromaticity)
 Sets the atom's aromaticity.
 
void clearAromaticity ()
 Clears the atom's aromaticity.
 
bool hasWaterFlag () const
 Returns true when the atom's water flag is set.
 
bool const & getWaterFlag () const
 Returns the atom's water flag (true if the atom is a water atom, false else)
 
void setWaterFlag (const bool &water)
 Sets the atom's water flag.
 
void clearWaterFlag ()
 Clears the atom's water flag.
 
bool hasCustomType () const
 Returns true when the atom's custom type is set.
 
int const & getCustomType () const
 Returns the atom's custom type.
 
void setCustomType (const int &water)
 Sets the atom's custom type.
 
void clearCustomType ()
 Clears the atom's custom type.
 
static std::string getHybridizationString (Hybridization hybridization)
 Returns the hybridization as a string.
 
static std::string getGeometryString (Geometry geometry)
 Returns the geometry as a string.
 

Information

virtual std::string getHierarchyString (const std::string &separator="/", bool includeNodeType=false) const
 Returns a string with hierarchical information on the atom and its parents names. More...
 

Debugging

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

Additional Inherited Members

- Public Member Functions inherited from SBMStructuralModelNodeParticle
virtual ~SBMStructuralModelNodeParticle ()
 
bool isSerializable () const
 Returns true.
 
SBQuantity::length const & getX () const
 Returns the x coordinate.
 
void setX (const SBQuantity::length &x)
 Sets the x coordinate.
 
SBQuantity::length const & getY () const
 Returns the y coordinate.
 
void setY (const SBQuantity::length &y)
 Sets the y coordinate.
 
SBQuantity::length const & getZ () const
 Returns the z coordinate.
 
void setZ (const SBQuantity::length &z)
 Sets the z coordinate.
 
SBPosition3 const & getPosition () const
 Returns the particle's position.
 
void setPosition (SBPosition3 const &newPosition)
 Sets the particle's position.
 
void setPosition (SBPosition3 const &newPosition, SBPosition3 const &oldPosition)
 Sets the particle's position.
 
void setPositionOnTetrahedron (SBPosition3 const &center, SBPosition3 const &vertex1, SBPosition3 const &vertex2, SBPosition3 const &vertex3, SBQuantity::length const &distanceFromCenter)
 Sets the particle's position on a tetrahedron vertex based on the center position, the distance from the center distanceFromCenter, and positions of other 3 vertices vertex1, vertex2, and vertex3.
 
- Public Member Functions inherited from SBMStructuralModelNode
virtual ~SBMStructuralModelNode ()
 
bool isSerializable () const
 Returns true.
 
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 *))
 
virtual void getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false)
 Returns some nodes.
 
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
bool isSerializable () const
 Returns true.
 
- 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...
 
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...
 
- 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 SBMStructuralModelNodeParticle
 SBMStructuralModelNodeParticle (SBMStructuralModelNodeParticleData *dataPointer)
 Builds a particle at position p.
 
- 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

◆ Geometry

Enumerator
Undefined 

Undefined geometry.

Linear 

Linear geometry.

Bent 

Bent geometry.

TrigonalPlanar 

Trigonal planar geometry.

TrigonalPyramidal 

Trigonal pyramidal geometry.

TShaped 

T-shaped geometry.

Tetrahedral 

Tetrahedral geometry.

SquarePlanar 

Square planar geometry.

Seesaw 

Seesaw geometry.

TrigonalBipyramidal 

Trigonal bipyramidal geometry.

SquarePyramidal 

Square pyramidal geometry.

PentagonalPlanar 

Pentagonal planar geometry.

Octahedral 

Octahedral geometry.

TrigonalPrismatic 

Trigonal prismatic geometry.

PentagonalPyramidal 

Pentagonal pyramidal geometry.

PentagonalBipyramidal 

Pentagonal bipyramidal geometry.

CappedOctahedral 

Capped octahedral geometry.

CappedTrigonalPrismatic 

Capped trigonal prismatic geometry.

SquareAntiprismatic 

Square antiprismatic geometry.

Dodecahedral 

Dodecahedral geometry.

BicappedTrigonalPrismatic 

Bicapped trigonal prismatic geometry.

TricappedTrigonalPrismatic 

Tricapped trigonal prismatic geometry.

CappedSquareAntiprismatic 

Capped square antiprismatic geometry.

◆ Hybridization

Enumerator
None 

No hybridization.

SP 

Hybridization of an s-orbital and one p-orbital.

SP2 

Hybridization of an s-orbital and two p-orbitals.

SP3 

Hybridization of an s-orbital and three p-orbitals.

SP3D 

Hybridization of an s-orbital, three p-orbitals, and a d-orbital.

SP3D2 

Hybridization of an s-orbital, three p-orbitals, and two d-orbital.

Unknown 

Hybridization is unknown.

Member Function Documentation

◆ addHydrogens()

unsigned int SBMStructuralModelNodeAtom::addHydrogens ( )

The number of expected hydrogens is the expected valence minus the number of bonds. The added hydrogens and bonds become children of the atom's parent if it has one.

If an atom has an alternate location or occupancy fields, the same values will be set for added hydrogens.

◆ getHierarchyString()

std::string SBMStructuralModelNodeAtom::getHierarchyString ( const std::string &  separator = "/",
bool  includeNodeType = false 
) const
virtual

This functions returns a string with information on the atom's hierarchy. If the atom has a name then this name is provided in the hierarchy information, else the atom's element symbol is used. If the atom has an alternate location then it is added after its name in square brackets. This information can be used for logging and debugging.

Reimplemented from SBDDataGraphNode.

◆ isCarboxylOxygen()

bool SBMStructuralModelNodeAtom::isCarboxylOxygen ( ) const

SBMStructuralModelNodeAtom::isCarboxylOxygen Checks if the atom is an Oxygen atom in a carboxyl group (C(=O)OH): an Oxygen atom connected to a Carbon atom in a carboxyl group.

HO-C=O | R

Returns
True if the atom is an Oxygen in a carboxyl group

◆ isNitroOxygen()

bool SBMStructuralModelNodeAtom::isNitroOxygen ( ) const

SBMStructuralModelNodeAtom::isNitroOxygen Check if the atom is an Oxygen atom in a nitro (-NO2) group:

HO-N-OH | R

Returns
True if the atom is an Oxygen in a nitro group

◆ isSulfoneOxygen()

bool SBMStructuralModelNodeAtom::isSulfoneOxygen ( ) const

SBMStructuralModelNodeAtom::isSulfoneOxygen Check if the atom is an Oxygen atom in a sulfone (R1-SO2-R2).

Returns
True if the atom is an Oxygen in a sulfone

◆ isThiocarboxylOxygen()

bool SBMStructuralModelNodeAtom::isThiocarboxylOxygen ( ) const

SBMStructuralModelNodeAtom::isThiocarboxylOxygen Checks if the atom is an Oxygen atom in a thiocarboxyl group (C(=S)OH or C(=O)SH): an Oxygen atom connected to a Carbon atom in a thiocarboxyl group.

Returns
True if the atom is an Oxygen in a thiocarboxyl group