This class describes a structural model.
Constructors and destructors | |
SBMStructuralModel () | |
Builds a base model. | |
virtual | ~SBMStructuralModel () |
Deletes the model. | |
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 node. | |
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. | |
Rendering | |
virtual void | display () |
Displays the property model. | |
virtual void | displayForShadow () |
Displays the property model for shadow purposes. | |
virtual void | displayForSelection () |
Displays the property model for selection purposes. | |
virtual void | expandBounds (SBIAPosition3 &bounds) const |
Expands the bounds to make sure the visual model fits inside them. | |
virtual void | collectAmbientOcclusion (const SBPosition3 &boxOrigin, const SBPosition3 &boxSize, unsigned int nCellsX, unsigned int nCellsY, unsigned int nCellsZ, float *ambientOcclusionData) |
To collect ambient occlusion data. | |
Topology | |
virtual bool | canAddChild (SBNode *node, SBNode *nextNode=0) const |
Returns whether this node can add node as a child. More... | |
virtual bool | canAddChildType (SBNode::Type nodeType) const |
Returns whether this node can add a node with type nodeType as a child. More... | |
virtual bool | addChild (SBNode *node, SBNode *nextNode=0) |
Adds a child to the node. More... | |
virtual bool | removeChild (SBNode *node) |
Removes a child from the node. More... | |
virtual SBPointerList< SBMStructuralModelNode > const * | getChildren () const |
This function is a convenience function equivalent to getStructuralRoot()->getChildren | |
SBMStructuralModelNodeRoot * | getStructuralRoot () const |
virtual SBMStructuralModel * | clone () |
Returns a copy of the node and its descendants. | |
static bool | extractStructuralNodes (SBNodeIndexer &structuralModelIndexer, const SBNodeIndexer &structuralNodeIndexer) |
Adds in structuralModelIndexer the structural models resulting from extracting the structural nodes in structuralNodeIndexer . | |
static bool | cloneStructuralNodes (SBNodeIndexer &structuralModelIndexer, const SBNodeIndexer &structuralNodeIndexer) |
Adds in structuralModelIndexer the structural models resulting from cloning the structural nodes in structuralNodeIndexer . | |
Identity | |
virtual SBDDataGraphNode::Type | getType () const |
Returns the type of the data graph node. | |
virtual SBDDataGraphNode::Type | getModelType () const |
Returns the model type. | |
Covalent bonds | |
void | createCovalentBonds () |
Builds covalent bonds for the atoms belonging to the structural model according to the inter-atomic distances. | |
void | createCovalentBondsByResidueType () |
Builds covalent bonds for the atoms belonging to the structural model according to the residue types, regardless of inter-atomic distances. | |
Secondary structure | |
bool | computeSecondaryStructure (bool &updated, bool forceUpdate=false) |
Computes the secondary structure for all residues in the structural model. More... | |
Messaging | |
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 *)) |
Selection functions | |
virtual void | getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) |
Returns some nodes. | |
Visitor functions | |
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. | |
Properties | |
bool | hasTitleInformation () const |
Returns true when the model's title information is set. | |
std::string const & | getTitleInformation () const |
Returns the model's title information. | |
void | setTitleInformation (const std::string &info) |
Sets the model's title information. | |
void | clearTitleInformation () |
Clears the model's title information. | |
bool | hasPrimaryStructureInformation () const |
Returns true when the model's primary structure information is set. | |
std::string const & | getPrimaryStructureInformation () const |
Returns the model's primary structure information. | |
void | setPrimaryStructureInformation (const std::string &info) |
Sets the model's primary structure information. | |
void | clearPrimaryStructureInformation () |
Clears the model's primary structure information. | |
bool | hasHeterogenInformation () const |
Returns true when the model's heterogen information is set. | |
std::string const & | getHeterogenInformation () const |
Returns the model's heterogen information. | |
void | setHeterogenInformation (const std::string &info) |
Sets the model's heterogen information. | |
void | clearHeterogenInformation () |
Clears the model's heterogen information. | |
bool | hasSecondaryStructureInformation () const |
Returns true when the model's secondary structure information is set. | |
std::string const & | getSecondaryStructureInformation () const |
Returns the model's secondary structure information. | |
void | setSecondaryStructureInformation (const std::string &info) |
Sets the model's secondary structure information. | |
void | clearSecondaryStructureInformation () |
Clears the model's secondary structure information. | |
bool | hasConnectivityAnnotationInformation () const |
Returns true when the model's connectivity annotation information is set. | |
std::string const & | getConnectivityAnnotationInformation () const |
Returns the model's connectivity annotation information. | |
void | setConnectivityAnnotationInformation (const std::string &info) |
Sets the model's connectivity annotation information. | |
void | clearConnectivityAnnotationInformation () |
Clears the model's connectivity annotation information. | |
bool | hasMiscellaneousInformation () const |
Returns true when the model's miscellaneous information is set. | |
std::string const & | getMiscellaneousInformation () const |
Returns the model's miscellaneous information. | |
void | setMiscellaneousInformation (const std::string &info) |
Sets the model's miscellaneous information. | |
void | clearMiscellaneousInformation () |
Clears the model's miscellaneous information. | |
bool | hasCrystallographicAndTransformationInformation () const |
Returns true when the model's crystallographic and transformation information is set. | |
std::string const & | getCrystallographicAndTransformationInformation () const |
Returns the model's crystallographic and transformation information. | |
void | setCrystallographicAndTransformationInformation (const std::string &info) |
Sets the model's crystallographic and transformation information. | |
void | clearCrystallographicAndTransformationInformation () |
Clears the model's crystallographic and transformation information. | |
Debugging | |
virtual void | print (unsigned int offset=0) const |
Prints debugging information. | |
Additional Inherited Members | |
Public Types inherited from SBDDataGraphNode | |
enum | Type { Undefined, StructuralModel, StructuralModelNode, StructuralModelConformation, Conformation, StructuralModelPath, Path, StructuralModelNodeGroup, StructuralGroup, StructuralModelNodeRoot, Root, StructuralModelNodeParticle, StructuralParticle, StructuralModelNodeAtom, Atom, StructuralModelNodePseudoAtom, PseudoAtom, StructuralModelNodeBond, Bond, StructuralModelNodeResidue, Residue, StructuralModelNodeSegment, Segment, StructuralModelNodeProtein, Protein, StructuralModelNodeChain, Chain, StructuralModelNodeMolecule, Molecule, StructuralModelNodeBackbone, Backbone, StructuralModelNodeSideChain, SideChain, VisualModel, 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 } |
The type of the data graph node. More... | |
Public Member Functions inherited from SBMModel | |
virtual | ~SBMModel () |
Delete the model. | |
SBMModel * | getNextModel () const |
Returns the next model in the parent. | |
SBMModel * | getPreviousModel () const |
Returns the previous model in the parent. | |
std::string const & | getName () const |
Returns the name of the model. | |
void | setName (const std::string &name) |
Sets the name of the model. | |
Public Member Functions inherited from SBDDataGraphNode | |
SBDDataGraphNode * | getParent () const |
Returns the parent of the node. More... | |
SBDDataGraphNode * | getThisNode () const |
Returns the pointer to this node. More... | |
SBDDataGraphNode * | getNextNode () const |
Returns the pointer to the next node in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode () const |
Returns the pointer to the previous node in the children of the node's parent. More... | |
SBDDataGraphNode * | getNextNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the next node with type nodeType in the children of the node's parent. More... | |
SBDDataGraphNode * | getPreviousNode (SBDDataGraphNode::Type nodeType) const |
Returns the pointer to the previous node with type nodeType in the children of the node's parent. More... | |
SBDDocument * | getDocument () const |
Returns the document the node belongs to. More... | |
virtual bool | canAddChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0) const |
Returns whether this node can add node as a child. More... | |
virtual bool | addChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=0) |
Adds a child to the node. More... | |
virtual bool | removeChild (SBDDataGraphNode *node) |
Removes a child from the node. More... | |
bool | hasOneOf (const SBNodeIndexer &nodeIndexer) const |
Returns true if and only if this node is one of the nodes of the nodeIndexer , or is the ancestor of one of them. More... | |
bool | isIn (SBDDataGraphNode *node) const |
Returns true if and only if this node is node , or descends from it. More... | |
bool | isIn (const SBNodeIndexer &nodeIndexer) const |
Returns true if and only if this node is one of the nodes of the nodeIndexer , or descends from one of them. More... | |
bool | isIn (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const |
Returns true if and only if this node is one of the nodes of the nodePointerIndexer , or descends from one of them. More... | |
bool | isOneOf (const SBNodeIndexer &nodeIndexer) const |
Returns true if and only if this node is one of the nodes of the nodeIndexer . More... | |
bool | isOneOf (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const |
Returns true if and only if this node is one of the nodes of the nodePointerIndexer . More... | |
SBDDataGraphNode * | getRoot () const |
Returns the root of the hierarchy the node belongs to. More... | |
unsigned int | getNodeIndex () const |
Returns the node index (unique in the whole data graph, but non-persistent) More... | |
bool | isType (Type type) const |
Returns true when the type of the node corresponds to type . | |
bool | isModel () const |
Returns true when the node is a model. | |
bool | isStructuralModel () const |
Returns true when the node is a structural model. | |
bool | isVisualModel () const |
Returns true when the node is a visual model. | |
bool | isDynamicalModel () const |
Returns true when the node is a dynamical model. | |
bool | isInteractionModel () const |
Returns true when the node is a interaction model. | |
bool | isPropertyModel () const |
Returns true when the node is a property model. | |
bool | isSimulator () const |
Returns true when the node is a simulator. | |
bool | isStructuralParticle () const |
Returns true when the node is a structural particle (an atom or a pseudo-atom) | |
bool | isCreated () const |
Returns true if and only if the node is created. More... | |
void | create () |
Creates the node. More... | |
bool | isErased () const |
Returns true if and only if the node is erased. More... | |
void | erase () |
Erases the node. More... | |
unsigned int | getFlags () const |
Returns the flags. More... | |
unsigned int | getInheritedFlags () const |
Returns the inherited flags. More... | |
bool | isSelected () const |
Returns whether the node is selected. More... | |
bool | getSelected () const |
Returns whether the node is visible. | |
bool | getSelectionFlag () const |
Returns the selection flag. More... | |
void | setSelectionFlag (bool flag) |
Sets the selection flag. More... | |
bool | isVisible () const |
Returns whether the node is visible. More... | |
bool | getVisible () const |
Returns whether the node is visible. | |
bool | getVisibilityFlag () const |
Returns the visibility flag. More... | |
void | setVisibilityFlag (bool flag) |
Sets the visibility flag. More... | |
bool | isHighlighted () const |
Returns whether the node is highlighted. More... | |
bool | getHighlightingFlag () const |
Returns the highlighting flag. More... | |
void | setHighlightingFlag (bool flag) |
Sets the highlighting flag. More... | |
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... | |
bool | addMaterial (SBDDataGraphNodeMaterial *material) |
Adds a material. More... | |
bool | removeMaterial () |
Removes the material. More... | |
SBDDataGraphNodeMaterial * | getMaterial () const |
Returns the material. More... | |
SBDDataGraphNode * | getMaterialOwner () const |
Returns the node whose material is inherited. More... | |
Public Member Functions inherited from SBCReferenceTarget | |
SBCReferenceTarget () | |
virtual | ~SBCReferenceTarget () |
unsigned int | getMemoryFootprint () const |
void | printReferencesToOwners () const |
Static Public Member Functions inherited from SBDDataGraphNode | |
static SBDDataGraphNode * | getNode (unsigned int nodeIndex) |
Returns the unique node corresponding to the node index nodeIndex . More... | |
static std::string | getTypeString (Type type) |
Returns a string describing the type of the data graph node. More... | |
static void | forEachNodeInSelection (SBNodeIndexer &nodeIndexer, void(*action)(SBDDataGraphNode *node)) |
Performs an action for each node in a selection. | |
static void | forEachNodeInSelection (SBNodeIndexer &nodeIndexer, SBCClass *object, void(SBCClass::*action)(SBDDataGraphNode *node)) |
Performs an action for each node in a selection. | |
Protected Member Functions inherited from SBMModel | |
SBMModel () | |
Builds a model. | |
SBMModel (SBMModelData *dataPointer) | |
Builds a model. | |
Protected Member Functions inherited from SBDDataGraphNode | |
SBDDataGraphNode () | |
Builds a data graph node. More... | |
SBDDataGraphNode (SBDDataGraphNodeData *dataPointer) | |
Builds a data graph node. | |
virtual | ~SBDDataGraphNode () |
Destroys the node. More... | |
This function is a convenience function equivalent to getStructuralRoot()->addChild(node, nextNode)
This function is a convenience function equivalent to getStructuralRoot()->canAddChild(node, nextNode)
|
virtual |
This function is a convenience function equivalent to getStructuralRoot()->canAddChildType(nodeType)
Reimplemented from SBDDataGraphNode.
bool SBMStructuralModel::computeSecondaryStructure | ( | bool & | secondaryStructureChanged, |
bool | forceUpdate = false |
||
) |
This functions incrementally computes the secondary structure of the structural model, i.e. both the secondary structure types of residues and geometric descriptors. The function returns true
if and only if everything went well. The boolean secondaryStructureChanged
is modified by the function and is true
if and only if the secondary structure was changed compared to the previous call. Since several objects may call this function, a SecondaryStructureChanged
event is also sent when this is the case, so that all objects may be warned.
SBMStructuralModelNodeRoot * SBMStructuralModel::getStructuralRoot | ( | ) | const |
This function returns a pointer to the structural root of the structural model. This root is a structural node, and can be used as a convenience root for e.g. recursive algorithms that operate on structural nodes (such algorithms could not work on the structural model itself, since the SBMStructuralModel class does not derive from SBMStructuralModelNode).
|
virtual |
This function is a convenience function equivalent to getStructuralRoot()->removeChild(node)