Loading...
Searching...
No Matches
SBDDocument Class Reference

This class describes a document. More...

Constructors and destructors

 SBDDocument ()
 Constructs a document.
 
 SBDDocument (const std::string &fileName)
 Constructs a document with name name.
 
virtual ~SBDDocument ()
 Destructs the document.
 

Serialization

virtual bool isSerializable () const override
 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 override
 Serializes the document.
 
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 document.
 

Topology

SBDDocumentgetNextDocument () const
 Returns the next document.
 
SBDDocumentgetPreviousDocument () const
 Returns the previous document.
 
virtual SBDDocumentclone () override
 Returns a copy of the node and its descendants.
 

Identity <br>

virtual SBNode::Type getType () const override
 Returns the data graph node type.
 

File management

std::string getFileName () const
 Returns the name of the file associated to the document.
 
void setFileName (const std::string &name)
 Sets the name of the file associated to the document.
 

Camera <br>

SBDDocumentCameragetActiveCamera () const
 Returns the active camera.
 
void setActiveCamera (SBCamera *documentCamera)
 Sets the active camera.
 

Presentation <br>

SBDDocumentPresentationgetActivePresentation () const
 Returns the active presentation.
 
void setActivePresentation (SBPresentation *activePresentation)
 Sets the active presentation.
 

Modeling

SBStructuralModelgetActiveStructuralModel () const
 Returns the active structural model.
 
void setActiveStructuralModel (SBStructuralModel *structuralModel)
 Sets the active structural model.
 

Groups <br>

SBNodeGroupcreateGroup (const std::string &name, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All())
 Create a group with name name based on a selectionPredicate and a visitPredicate.
 
SBNodeGroupgroupSelection (const std::string &name)
 Stores the selected nodes into a group with name name.
 

Selection

void clearSelection ()
 Clears the selection.
 
void addNodeToSelection (SBNode *node)
 Adds a node to the selection.
 
void removeNodeFromSelection (SBNode *node)
 Removes a node from the selection.
 
SBPointerIndexer< SBNode > const * getSelectedNodes () const
 Returns the indexer of selected nodes.
 
void getSelectedNodes (SBNodeIndexer &nodeIndexer, SBNode::Type type) const
 Returns an indexer of selected nodes of a given type.
 
void getSelectedNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All()) const
 Returns an indexer of selected nodes satisfying a given selectionPredicate.
 
unsigned int getNumberOfSelectedNodes (const SBProxy *proxy) const
 Returns the number of selected nodes corresponding to a given proxy.
 
unsigned int getNumberOfSelectedNodes (const SBUUID &classUUID, const SBUUID &extensionUUID) const
 Returns the number of selected nodes corresponding to a given classUUID and extensionUUID.
 
void selectGroupNodes (SBNodeGroup *group) const
 Clears the document selection and select the group nodes.
 
void addGroupNodesToSelection (SBNodeGroup *group) const
 Adds the group nodes to the document selection.
 
void removeGroupNodesFromSelection (SBNodeGroup *group) const
 Removes the group nodes from the document selection.
 
void intersectGroupNodesWithSelection (SBNodeGroup *group) const
 Keeps in the document selection only the nodes stored in this group.
 

Highlighting

void clearHighlighting ()
 Clears the highlighting.
 

Saving

void setSaved ()
 Sets the document as saved.
 
bool isSaved ()
 Returns whether the document is saved.
 

Trusting

void setTrusted ()
 Sets the document as trusted.
 
bool isTrusted ()
 Returns whether the document is trusted.
 

Debugging

virtual void print (unsigned int offset=0) const override
 Prints the document.
 
 SB_DECLARE_DATA (SBDDocument)
 

Additional Inherited Members

- Public Types inherited from SBDDataGraphNode
enum  Type {
  Undefined ,
  StructuralModel ,
  StructuralModelNode ,
  StructuralModelConformation ,
  Conformation ,
  StructuralModelPath ,
  Path ,
  StructuralModelNodeGroup ,
  StructuralGroup ,
  StructuralModelNodeRoot ,
  Root ,
  StructuralModelNodeAtom ,
  Atom ,
  StructuralModelNodeBond ,
  Bond ,
  StructuralModelNodeHydrogenBond ,
  HydrogenBond ,
  StructuralModelNodeHydrogenBondGroup ,
  HydrogenBondGroup ,
  StructuralModelNodeResidue ,
  Residue ,
  StructuralModelNodeSegment ,
  Segment ,
  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 ,
  Particle ,
  DynamicalModelNodeRigidBody ,
  RigidBody ,
  DynamicalModelNodeArticulatedBody ,
  ArticulatedBody ,
  InteractionModel ,
  InteractionModelParticleSystem ,
  InteractionModelRigidBodySystem ,
  InteractionModelArticulatedBodySystem ,
  PropertyModel ,
  PropertyModelFunction ,
  Simulator ,
  SimulatorParticleSystem ,
  SimulatorRigidBodySystem ,
  SimulatorArticulatedBodySystem ,
  StateUpdater ,
  StateUpdaterParticleSystem ,
  StateUpdaterRigidBodySystem ,
  StateUpdaterArticulatedBodySystem ,
  Animation ,
  Camera ,
  Document ,
  DocumentManager ,
  File ,
  Folder ,
  Label ,
  Light ,
  Note ,
  Presentation ,
  RenderPreset ,
  DataGraphNodeGroup ,
  NodeGroup ,
  Controller ,
  ControllerNode ,
  Asset
}
 The type of the data graph node. More...
 
enum class  RenderingPass {
  Setup ,
  OpaqueGeometry ,
  SelectableGeometry ,
  ShadowingGeometry ,
  TransparentGeometry ,
  Interface ,
  Text
}
 The rendering pass. More...
 
- Public Member Functions inherited from SBDDocumentFolder
 SBDDocumentFolder ()
 Constructs a folder.
 
 SBDDocumentFolder (const std::string &name)
 Constructs a folder with name name.
 
virtual ~SBDDocumentFolder ()
 Destructs the folder.
 
virtual bool initialize ()
 Initializes the folder.
 
SBPointerList< SBNode > const * getChildren () const
 Returns the children of the folder.
 
virtual bool canAddChild (const SBNode *node, const SBNode *nextNode=nullptr) const override
 Returns whether this node can add node as a child.
 
virtual bool canAddChildType (SBNode::Type nodeType) const override
 Returns whether this node can add a node with type nodeType as a child.
 
virtual bool canHaveDescendantType (SBNode::Type nodeType) const override
 Returns whether this node can have a node with type nodeType as a descendant.
 
virtual bool addChild (SBNode *node, SBNode *nextNode=nullptr) override
 Adds a child to the folder.
 
virtual bool removeChild (SBNode *node) override
 Removes a child from the folder.
 
SBDDocumentFoldergetNextFolder () const
 Returns the next folder.
 
SBDDocumentFoldergetPreviousFolder () const
 Returns the previous folder.
 
SBPointerList< SBDDocumentFolder > const * getFolderList () const
 Returns the list of folders.
 
SBPointerList< SBMModel > const * getModelList () const
 Returns the list of models

 
SBPointerList< SBMStructuralModel > const * getStructuralModelList () const
 Returns the list of structural models.
 
SBPointerList< SBMVisualModel > const * getVisualModelList () const
 Returns the list of visual models.
 
SBPointerList< SBMDynamicalModel > const * getDynamicalModelList () const
 Returns the list of dynamical models.
 
SBPointerList< SBMInteractionModel > const * getInteractionModelList () const
 Returns the list of interaction models.
 
SBPointerList< SBMPropertyModel > const * getPropertyModelList () const
 Returns the list of property models.
 
SBPointerList< SBSSimulator > const * getSimulatorList () const
 Returns the list of Simulators

 
SBPointerList< SBDController > const * getControllerList () const
 Returns the list of controllers.
 
SBPointerList< SBNodeGroup > const * getNodeGroupList () const
 Returns the list of node groups.
 
SBPointerList< SBConformation > const * getConformationList () const
 Returns the list of conformations.
 
SBPointerList< SBPath > const * getPathList () const
 Returns the list of paths.
 
SBPointerList< SBLabel > const * getLabelList () const
 Returns the list of labels.
 
SBPointerList< SBLight > const * getLightList () const
 Returns the list of lights.
 
SBPointerList< SBNote > const * getNoteList () const
 Returns the list of notes.
 
SBPointerList< SBFile > const * getFileList () const
 Returns the list of files.
 
SBPointerList< SBCamera > const * getCameraList () const
 Returns the list of cameras.
 
SBPointerList< SBRenderPreset > const * getRenderPresetList () const
 Returns the list of render presets.
 
SBPointerList< SBAsset > const * getAssetList () const
 Returns the list of assets.
 
SBPointerList< SBAnimation > const * getAnimationList () const
 Returns the list of animations.
 
SBPointerList< SBPresentation > const * getPresentationList () const
 Returns the list of presentations.
 
SBUUID getUUID () const
 Returns the folder UUID.
 
void setUUID (const SBUUID &uuid)
 sets the folder UUID
 
virtual unsigned int getOpacity () const override
 Returns the opacity.
 
virtual void setOpacity (unsigned int opacity) override
 Sets the opacity.
 
virtual unsigned int getMinimumOpacity () const override
 Returns the minimum opacity.
 
virtual unsigned int getTransparency () const override
 Returns the transparency.
 
virtual void setTransparency (unsigned int transparency) override
 Sets the transparency.
 
virtual unsigned int getMaximumTransparency () const override
 Returns the maximum transparency.
 
virtual void getNodes (SBNodeIndexer &nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const override
 Collects nodes into nodeIndexer, based on a nodeType, a selection status and a visitPredicate, with or without dependencies.
 
virtual void getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const override
 Collects nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with or without dependencies.
 
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const override
 Checks for nodes based on a nodeType, a selection status and a visitPredicate, with or without dependencies.
 
virtual bool hasNode (const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const override
 Checks for nodes based on a selectionPredicate and a visitPredicate, with or without dependencies.
 
virtual void forEachNodeDepthFirst (void(*action)(SBNode *node)) override
 Performs action action on each node of this document.
 
virtual void forEachNodeDepthFirst (SBCClass *object, void(SBCClass::*action)(SBNode *node)) override
 Performs action action of object object on each node of this document.
 
void connectDocumentSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBDocumentEvent *)=0)
 Connects the document signal to a slot.
 
bool documentSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *)) const
 Returns true if and only if the document signal is connected to the slot.
 
void disconnectDocumentSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDocumentEvent *))
 Disconnects the document signal from a slot.
 
virtual unsigned int getNumberOfChains () override
 Returns the number of chains.
 
virtual unsigned int getNumberOfMolecules () override
 Returns the number of molecules.
 
virtual unsigned int getNumberOfResidues () override
 Returns the number of residues.
 
virtual unsigned int getNumberOfSegments () override
 Returns the number of segments.
 
virtual unsigned int getNumberOfStructuralGroups () override
 Returns the number of structural groups.
 
virtual unsigned int getNumberOfStructuralModels () override
 Returns the number of structural models.
 
virtual unsigned int getNumberOfAtoms () override
 Returns the number of atoms.
 
virtual unsigned int getNumberOfCarbons () override
 Returns the number of carbons.
 
virtual unsigned int getNumberOfHydrogens () override
 Returns the number of hydrogens.
 
virtual unsigned int getNumberOfNitrogens () override
 Returns the number of nitrogens.
 
virtual unsigned int getNumberOfOxygens () override
 Returns the number of oxygens.
 
virtual unsigned int getNumberOfSulfurs () override
 Returns the number of sulfurs.
 
virtual unsigned int getNumberOfCoarseGrainedAtoms () override
 Returns the number of coarse-grained atoms.
 
virtual unsigned int getNumberOfOtherAtoms () override
 Returns the number of other atoms.
 
virtual int getSumOfFormalCharges () override
 Returns the sum of formal charges.
 
virtual float getSumOfPartialCharges () override
 Returns the sum of partial charges.
 
virtual SBQuantity::mass getMolecularWeight () override
 Returns the molecular weight.
 
 SB_DECLARE_DATA (SBDDocumentFolder)
 
- Public Member Functions inherited from SBDDataGraphNode
SBDDataGraphNodegetParent () const
 Returns the parent of the node.
 
SBDDataGraphNodegetThisNode () const
 Returns the pointer to this node.
 
SBDDataGraphNodegetNextNode () const
 Returns the pointer to the next node in the children of the node's parent.
 
SBDDataGraphNodegetPreviousNode () const
 Returns the pointer to the previous node in the children of the node's parent.
 
SBDDataGraphNodegetNextNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the next node with type nodeType in the children of the node's parent.
 
SBDDataGraphNodegetPreviousNode (SBDDataGraphNode::Type nodeType) const
 Returns the pointer to the previous node with type nodeType in the children of the node's parent.
 
SBDDocumentgetDocument () const
 Returns the document the node belongs to.
 
virtual bool canAddChild (const SBDDataGraphNode *node, const SBDDataGraphNode *nextNode=nullptr) const
 Returns whether this node can add node as a child.
 
virtual bool addChild (SBDDataGraphNode *node, SBDDataGraphNode *nextNode=nullptr)
 Adds a child to the node.
 
virtual bool removeChild (SBDDataGraphNode *node)
 Removes a child from the node.
 
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, or is a group that stores one of them.
 
bool descendsFrom (const SBDDataGraphNode *node) const
 Returns true if and only if this node is node, or descends from it.
 
bool descendsFrom (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.
 
bool descendsFrom (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.
 
bool isIn (const SBDDataGraphNode *node) const
 Returns true if and only if this node is node, or descends from it, or belongs to a group stored in node.
 
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, or belongs to a group stored in one of the nodes of the nodeIndexer.
 
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, or belongs to a group stored in of the nodes of the nodePointerIndexer.
 
bool isOneOf (const SBNodeIndexer &nodeIndexer) const
 Returns true if and only if this node is one of the nodes of the nodeIndexer.
 
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > *nodePointerIndexer) const
 Returns true if and only if this node is one of the nodes of the nodePointerIndexer.
 
SBDDataGraphNodegetRoot () const
 Returns the root of the hierarchy the node belongs to.
 
unsigned int getNodeIndex () const
 Returns the node index (unique in the whole data graph, but non-persistent)
 
std::string getTypeString (bool humanReadable=false) const
 Returns a string describing the type of the data graph node.
 
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.
 
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 isAtom () const
 Returns true when the node is an atom.
 
bool isBond () const
 Returns true when the node is a bond.
 
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 isLight () const
 Returns true when the node is a light.
 
bool isSimulator () const
 Returns true when the node is a simulator.
 
bool isBallAndStick () const
 Returns true when the node is the default ball-and-stick visual model.
 
bool isLicorice () const
 Returns true when the node is the default licorice visual model.
 
bool isVanDerWaals () const
 Returns true when the node is the default van der Waals visual model.
 
bool isCartoon () const
 Returns true when the node is the default cartoon visual model.
 
bool isRibbon () const
 Returns true when the node is the default ribbon visual model.
 
bool isTube () const
 Returns true when the node is the default tube visual model.
 
bool isGaussianSurface () const
 Returns true when the node is the default Gaussian surface visual model.
 
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.
 
virtual bool isLocked () const
 Returns whether the node is locked.
 
virtual bool getLockedFlag () const
 Returns the locked flag.
 
virtual void setLockedFlag (bool flag)
 Sets the locked flag.
 
bool isCreated () const
 Returns true if and only if the node is created.
 
void create ()
 Creates the node.
 
bool isErased () const
 Returns true if and only if the node is erased.
 
void erase ()
 Erases the node.
 
virtual unsigned int getFlags () const
 Returns the flags.
 
virtual unsigned int getInheritedFlags () const
 Returns the inherited flags.
 
bool isSelected () const
 Returns whether the node is selected.
 
bool getSelected () const
 Returns whether the node is selected.
 
bool getSelectionFlag () const
 Returns the selection flag.
 
void setSelectionFlag (bool flag)
 Sets the selection flag.
 
bool isVisible () const
 Returns whether the node is visible.
 
bool getVisible () const
 Returns whether the node is visible.
 
bool getVisibilityFlag () const
 Returns the visibility flag.
 
void setVisibilityFlag (bool flag)
 Sets the visibility flag.
 
bool isHighlighted () const
 Returns whether the node is highlighted.
 
bool getHighlightingFlag () const
 Returns the highlighting flag.
 
void setHighlightingFlag (bool flag)
 Sets the highlighting flag.
 
virtual void display (RenderingPass renderingPass)
 Displays the node.
 
virtual void display ()
 Displays the node (deprecated)
 
virtual void displayForShadow ()
 Displays the node for shadowing purposes (deprecated)
 
virtual void displayForSelection ()
 Displays the node for selection purposes (deprecated)
 
virtual bool hasOpacityRange () const
 Returns whether the node has the opacity range.
 
virtual unsigned int getDefaultOpacity () const
 Returns the default opacity.
 
virtual unsigned int getMaximumOpacity () const
 Returns the maximum opacity.
 
virtual unsigned int getOpacitySingleStep () const
 Returns the opacity single step.
 
virtual std::string getOpacitySuffix () const
 Returns the opacity suffix.
 
virtual bool hasTransparencyRange () const
 Returns whether the node has the transparency range.
 
virtual unsigned int getDefaultTransparency () const
 Returns the default transparency.
 
virtual unsigned int getMinimumTransparency () const
 Returns the minimum transparency.
 
virtual unsigned int getTransparencySingleStep () const
 Returns the transparency single step.
 
virtual std::string getTransparencySuffix () const
 Returns the transparency suffix.
 
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.
 
bool canAddMaterial () const
 Returns whether can add a material to the node based on its type.
 
bool addMaterial (SBDDataGraphNodeMaterial *material)
 Adds a material.
 
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.
 
bool hasMaterial () const
 Returns whether the node has a material (by itself, or inherited)
 
bool ownsMaterial () const
 Returns whether the node owns a material.
 
SBDDataGraphNodeMaterialgetMaterial () const
 Returns the material.
 
SBDDataGraphNodegetMaterialOwner () const
 Returns the node whose material is inherited.
 
void connectBaseSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBBaseEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBBaseEvent *)=0)
 Connects the base signal to a slot.
 
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 (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 a visitPredicate, 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 a visitPredicate, with or without dependencies.
 
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.
 
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.
 
 SB_DECLARE_DATA (SBDDataGraphNode)
 
- Public Member Functions inherited from SBCReferenceTarget
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
- 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.
 
static SBDDataGraphNodegetNode (unsigned int nodeIndex)
 Returns the unique node corresponding to the node index nodeIndex.
 
static std::string getTypeString (Type type, bool humanReadable=false)
 Returns a string describing the type of the data graph node.
 
static bool canAddMaterial (SBDDataGraphNode::Type nodeType)
 Returns whether can add a material to a node of type nodeType.
 
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 SBDDocumentFolder
 SBDDocumentFolder (SBDDocumentFolderData *dataPointer)
 Builds a folder.
 
- Protected Member Functions inherited from SBDDataGraphNode
 SBDDataGraphNode ()
 Builds a data graph node.
 
 SBDDataGraphNode (SBDDataGraphNodeData *dataPointer)
 Builds a data graph node.
 
virtual ~SBDDataGraphNode ()
 Destroys the node.
 
- Protected Member Functions inherited from SBCReferenceTarget
void removeAllReferenceOwners ()
 
 SBCReferenceTarget (SBCReferenceTargetData *dataPointer)
 
- Protected Attributes inherited from SBCReferenceTarget
SBCReferenceTargetData * dataPointer
 

Detailed Description

This class describes a document. A document may contain folders, cameras, groups, conformations and paths.

SAMSON Extensions access the active document through SAMSON:

SBPointer<SBDocument> activeDocument = SAMSON::getActiveDocument();
static SBDDocument * getActiveDocument()
Returns a pointer to SAMSON's active document.
Definition: SAMSON.cpp:738

The set of selected nodes is accessible from the document:

SBPointerIndexer<SBNode> const* selectedNodes = activeDocument->getSelectedNodes();

The index cannot be modified, because SAMSON needs to perform bookkeeping when managing selected nodes, so the selection is manipulated either by modifying the selection flag of a node:

atom->setSelectionFlag(true); // the atom is selected
atom->setSelectionFlag(false); // the atom is deselected

or by modifying the document selection itself:

document->addNodeToSelection(atom); // the atom is selected
document->removeNodeFromSelection(atom); // the atom is deselected

Whenever the selection flag of a node changes, through either one of these methods, a SelectionFlagChanged base signal is emitted by the node and the document (thus, adding a node twice to a selection, for example, emits a signal only once).

Note that you should always turn the Undo system on when modifying the selection:

SAMSON::beginHolding("Modify selection"); // turn the undo system on
SAMSON::getActiveDocument()->clearSelection(); // clear the selection
atom->setSelectionFlag(true); // the atom is selected
SAMSON::endHolding(); // turn the undo system off
SAMSON::undo(); // go back to before clearing
static void endHolding()
Ends holding.
Definition: SAMSON.cpp:2141
static void beginHolding(const std::string &name)
Begins holding.
Definition: SAMSON.cpp:2138
static void undo()
Undo one command.
Definition: SAMSON.cpp:2147
void clearSelection()
Clears the selection.
Definition: SBDDocument.cpp:838

Short name: SBDocument

See also
SBDDocumentFolder
SBCamera
SBDDataGraphNodeGroup
SBMStructuralModelConformation
SBMStructuralModelPath
Signals and slots

Member Function Documentation

◆ clone()

SBDDocument * SBDDocument::clone ( )
overridevirtual

Reimplemented from SBDDocumentFolder.

◆ createGroup()

SBNodeGroup * SBDDocument::createGroup ( const std::string &  name,
const SBNodePredicate selectionPredicate = SBDDataGraphNode::All(),
const SBNodePredicate visitPredicate = SBDDataGraphNode::All() 
)

This function is undoable

See also
SBDDataGraphNodeGroup

◆ getType()

SBDDataGraphNode::Type SBDDocument::getType ( ) const
overridevirtual

Reimplemented from SBDDocumentFolder.

◆ groupSelection()

SBNodeGroup * SBDDocument::groupSelection ( const std::string &  name)

This function is undoable

See also
SBDDataGraphNodeGroup

◆ isSerializable()

bool SBDDocument::isSerializable ( ) const
overridevirtual

Reimplemented from SBDDocumentFolder.

◆ print()

void SBDDocument::print ( unsigned int  offset = 0) const
overridevirtual

Reimplemented from SBDDocumentFolder.

◆ serialize()

void SBDDocument::serialize ( SBCSerializer serializer,
const SBNodeIndexer nodeIndexer,
const SBVersionNumber sdkVersionNumber = SB_SDK_VERSION_NUMBER,
const SBVersionNumber classVersionNumber = SBVersionNumber(1, 0, 0) 
) const
overridevirtual

Reimplemented from SBDDocumentFolder.

◆ unserialize()

void SBDDocument::unserialize ( SBCSerializer serializer,
const SBNodeIndexer nodeIndexer,
const SBVersionNumber sdkVersionNumber = SB_SDK_VERSION_NUMBER,
const SBVersionNumber classVersionNumber = SBVersionNumber(1, 0, 0) 
)
overridevirtual

Reimplemented from SBDDocumentFolder.