Folder¶

This class describes a document folder. A document folder may contain objects from following modules: samson.Modeling.StructuralModel, samson.Modeling.StructuralModel, samson.Modeling.DynamicalModel, samson.Modeling.VisualModel, samson.Simulation.Simulator, etc.

Appart from possibility to get nodes using getNodes or getChildren function, Folder provides additional functionality to get a list of nodes with specific types. Let’s for example get a list of folders inside of a folder:

# get a list of all folders in the given folder
folderIndexer = folder.getFolderList()

# print names of subfolders
for f in folderIndexer:
        print(f)

Note that this function is not recursive.

You can clone a folder with all its descendants as any other data graph node:

# clone the folder
clonedFolder = folder.clone()

# turn the undo system on
SAMSON.beginHolding("Add new folder")
# hold the cloned folder instance
SAMSON.hold(clonedFolder)

# create the cloned folder
clonedFolder.create()

# add the cloned folder to the active document
SAMSON.getActiveDocument().addChild(clonedFolder)

# turn the undo system off
SAMSON.endHolding()

See also

SAMSON API: SBDDocumentFolder

class samson.DataModel.Document.Folder(*args, **kwargs)¶

Bases: samson.DataModel.DataGraph.Node

This class describes a document folder.

Overloaded function.

  1. __init__(self: samson.DataModel.Document.Folder) -> None

Constructs a folder

  1. __init__(self: samson.DataModel.Document.Folder, name: str) -> None

Constructs a folder with name

class NodeType(self: samson.DataModel.DataGraph.Node.NodeType, arg0: int) → None¶

Bases: pybind11_builtins.pybind11_object

ArticulatedBody = NodeType.DynamicalModelNodeArticulatedBody¶
ArticulatedBodySystem = NodeType.DynamicalModelArticulatedBodySystem¶
Atom = NodeType.Atom¶
Backbone = NodeType.StructuralModelNodeBackbone¶
Bond = NodeType.StructuralModelNodeBond¶
Camera = NodeType.Camera¶
Chain = NodeType.StructuralModelNodeChain¶
Conformation = NodeType.StructuralModelConformation¶
Controller = NodeType.Controller¶
ControllerNode = NodeType.ControllerNode¶
DataGraphNodeGroup = NodeType.DataGraphNodeGroup¶
Document = NodeType.Document¶
DocumentManager = NodeType.DocumentManager¶
DynamicalGroup = NodeType.DynamicalModelNodeGroup¶
DynamicalModel = NodeType.DynamicalModel¶
DynamicalModelArticulatedBodySystem = NodeType.DynamicalModelArticulatedBodySystem¶
DynamicalModelNode = NodeType.DynamicalModelNode¶
DynamicalModelNodeArticulatedBody = NodeType.DynamicalModelNodeArticulatedBody¶
DynamicalModelNodeGroup = NodeType.DynamicalModelNodeGroup¶
DynamicalModelNodeParticle = NodeType.DynamicalModelNodeParticle¶
DynamicalModelNodeRigidBody = NodeType.DynamicalModelNodeRigidBody¶
DynamicalModelNodeRoot = NodeType.DynamicalModelNodeRoot¶
DynamicalModelParticleSystem = NodeType.DynamicalModelParticleSystem¶
DynamicalModelRigidBodySystem = NodeType.DynamicalModelRigidBodySystem¶
DynamicalNode = NodeType.DynamicalModelNode¶
DynamicalParticle = NodeType.DynamicalModelNodeParticle¶
DynamicalRoot = NodeType.DynamicalModelNodeRoot¶
Folder = NodeType.Folder¶
InteractionModel = NodeType.InteractionModel¶
InteractionModelArticulatedBodySystem = NodeType.InteractionModelArticulatedBodySystem¶
InteractionModelParticleSystem = NodeType.InteractionModelParticleSystem¶
InteractionModelRigidBodySystem = NodeType.InteractionModelRigidBodySystem¶
Label = NodeType.Label¶
Molecule = NodeType.StructuralModelNodeMolecule¶
NodeGroup = NodeType.DataGraphNodeGroup¶
ParticleSystem = NodeType.DynamicalModelParticleSystem¶
Path = NodeType.StructuralModelPath¶
PropertyModel = NodeType.PropertyModel¶
PropertyModelFunction = NodeType.PropertyModelFunction¶
Protein = NodeType.StructuralModelNodeProtein¶
PseudoAtom = NodeType.StructuralModelNodePseudoAtom¶
Residue = NodeType.StructuralModelNodeResidue¶
RigidBody = NodeType.DynamicalModelNodeRigidBody¶
RigidBodySystem = NodeType.DynamicalModelRigidBodySystem¶
Root = NodeType.StructuralModelNodeRoot¶
Segment = NodeType.StructuralModelNodeSegment¶
SideChain = NodeType.StructuralModelNodeSideChain¶
Simulator = NodeType.Simulator¶
SimulatorArticulatedBodySystem = NodeType.SimulatorArticulatedBodySystem¶
SimulatorParticleSystem = NodeType.SimulatorParticleSystem¶
SimulatorRigidBodySystem = NodeType.SimulatorRigidBodySystem¶
StateUpdater = NodeType.StateUpdater¶
StateUpdaterArticulatedBodySystem = NodeType.StateUpdaterArticulatedBodySystem¶
StateUpdaterParticleSystem = NodeType.StateUpdaterParticleSystem¶
StateUpdaterRigidBodySystem = NodeType.StateUpdaterRigidBodySystem¶
StructuralGroup = NodeType.StructuralModelNodeGroup¶
StructuralModel = NodeType.StructuralModel¶
StructuralModelConformation = NodeType.StructuralModelConformation¶
StructuralModelNode = NodeType.StructuralModelNode¶
StructuralModelNodeAtom = NodeType.Atom¶
StructuralModelNodeBackbone = NodeType.StructuralModelNodeBackbone¶
StructuralModelNodeBond = NodeType.StructuralModelNodeBond¶
StructuralModelNodeChain = NodeType.StructuralModelNodeChain¶
StructuralModelNodeGroup = NodeType.StructuralModelNodeGroup¶
StructuralModelNodeMolecule = NodeType.StructuralModelNodeMolecule¶
StructuralModelNodeParticle = NodeType.StructuralModelNodeParticle¶
StructuralModelNodeProtein = NodeType.StructuralModelNodeProtein¶
StructuralModelNodePseudoAtom = NodeType.StructuralModelNodePseudoAtom¶
StructuralModelNodeResidue = NodeType.StructuralModelNodeResidue¶
StructuralModelNodeRoot = NodeType.StructuralModelNodeRoot¶
StructuralModelNodeSegment = NodeType.StructuralModelNodeSegment¶
StructuralModelNodeSideChain = NodeType.StructuralModelNodeSideChain¶
StructuralModelPath = NodeType.StructuralModelPath¶
StructuralParticle = NodeType.StructuralModelNodeParticle¶
Undefined = NodeType.Undefined¶
VisualModel = NodeType.VisualModel¶
addChild(self: samson.DataModel.Document.Folder, node: samson.DataModel.DataGraph.Node, nextNode: samson.DataModel.DataGraph.Node=None) → bool¶

Adds a child to the Folder

canAddChild(self: samson.DataModel.Document.Folder, node: samson.DataModel.DataGraph.Node, nextNode: samson.DataModel.DataGraph.Node=None) → bool¶

Returns whether this node can add node as a child

canAddChildType(self: samson.DataModel.Document.Folder, nodeType: samson.DataModel.DataGraph.Node.NodeType) → bool¶

Returns whether this node can add a node with type nodeType as a child

castToInteractionModelParticleSystem(self: samson.DataModel.DataGraph.Node) → SBMInteractionModelParticleSystem¶

Casts (if possible) from SBDDataGraphNode to SBMInteractionModelParticleSystem

castToLabel(self: samson.DataModel.DataGraph.Node) → SBDDocumentLabel¶

Casts (if possible) from SBDDataGraphNode to SBDDocumentLabel

castToVisualModel(self: samson.DataModel.DataGraph.Node) → SBMVisualModel¶

Casts (if possible) from SBDDataGraphNode to SBMVisualModel

clone(self: samson.DataModel.Document.Folder) → samson.DataModel.Document.Folder¶

Returns a copy of the node and its descendants

countNodes(self: samson.DataModel.DataGraph.Node, selectionString: str='*', visitString: str='*', includeDependencies: bool=False) → int¶
Count nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with our without dependencies).
For selectionString and visitString use Node Specification Language (SAMSON API: Node Specification Language
create(self: samson.DataModel.DataGraph.Node) → None¶

Creates the node

erase(self: samson.DataModel.DataGraph.Node) → None¶

Erases the node

getCameraList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of cameras

getChildren(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the children of the folder

getConformationList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of conformations

getControllerList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of controllers

getDocument(self: samson.DataModel.DataGraph.Node) → SBDDocument¶

Returns the document the node belongs to

getDynamicalModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of dynamical models

getFlags(self: samson.DataModel.DataGraph.Node) → int¶

Returns the flags

getFolderList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of folders

getInheritedFlags(self: samson.DataModel.DataGraph.Node) → int¶

Returns the inherited flags

getInteractionModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of interaction models

getLabelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of labels

getMaterial(self: samson.DataModel.DataGraph.Node) → SBDDataGraphNodeMaterial¶

Returns the material of the node

getMaterialOwner(self: samson.DataModel.DataGraph.Node) → samson.DataModel.DataGraph.Node¶

Returns the node whose material is inherited

getMemoryFootprint(self: samson.Core.Reference.ReferenceTarget) → int¶

Returns the memory footprint

getModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of models

getNextNode(*args, **kwargs)¶

Overloaded function.

  1. getNextNode(self: samson.DataModel.DataGraph.Node) -> samson.DataModel.DataGraph.Node

Returns the pointer to the next node in the children of the node’s parent

  1. getNextNode(self: samson.DataModel.DataGraph.Node, nodeType: SBDDataGraphNode::Type) -> samson.DataModel.DataGraph.Node

Returns the pointer to the next node with type nodeType in the children of the node’s parent

getNode(self: int) → samson.DataModel.DataGraph.Node¶

Returns the unique node corresponding to the node index nodeIndex

getNodeGroupList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of node groups

getNodes(self: samson.DataModel.Document.Folder, selectionString: str='*', visitString: str='*', includeDependencies: bool=False) → samson.DataModel.DataGraph.NodeIndexer¶
Returns nodes (in a node indexer), based on a selectionString and a visitString, with our without dependencies).
For selectionString and visitString use the Node Specification Language (SAMSON API: Node Specification Language
getParent(self: samson.DataModel.DataGraph.Node) → samson.DataModel.DataGraph.Node¶

Returns the parent of the node

getPathList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of paths

getPreviousNode(*args, **kwargs)¶

Overloaded function.

  1. getPreviousNode(self: samson.DataModel.DataGraph.Node) -> samson.DataModel.DataGraph.Node

Returns the pointer to the previous node in the children of the node’s parent

  1. getPreviousNode(self: samson.DataModel.DataGraph.Node, nodeType: SBDDataGraphNode::Type) -> samson.DataModel.DataGraph.Node

Returns the pointer to the previous node with type nodeType in the children of the node’s parent

getPropertyModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of property models

getRoot(self: samson.DataModel.DataGraph.Node) → samson.DataModel.DataGraph.Node¶

Returns the root of the hierarchy the node belongs to

getSimulatorList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of simulators

getStructuralModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of structural models

getThisNode(self: samson.DataModel.DataGraph.Node) → samson.DataModel.DataGraph.Node¶

Returns the pointer to this node

getTypeString(type: SBDDataGraphNode::Type) → str¶

Returns a string describing the type of the data graph node

getVisualModelList(self: samson.DataModel.Document.Folder) → samson.DataModel.DataGraph.NodeIndexer¶

Returns the list of visual models

hasOneOf(self: samson.DataModel.DataGraph.Node, nodeIndexer: SBDDataGraphNodeIndexer) → bool¶

Returns true if and only if this node is one of the nodes of the nodeIndexer, or is the ancestor of one of them

isDynamicalModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a dynamical model

isIn(*args, **kwargs)¶

Overloaded function.

  1. isIn(self: samson.DataModel.DataGraph.Node, node: samson.DataModel.DataGraph.Node) -> bool

Returns true if and only if this node is node, or descends from it

  1. isIn(self: samson.DataModel.DataGraph.Node, nodeIndexer: SBDDataGraphNodeIndexer) -> bool

Returns true if and only if this node is one of the nodes of the nodeIndexer, or descends from one of them

isInteractionModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a interaction model

isModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a model

isOneOf(self: samson.DataModel.DataGraph.Node, nodeIndexer: SBDDataGraphNodeIndexer) → bool¶

Returns true if and only if this node is one of the nodes of the nodeIndexer

isPropertyModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a property model

isSimulator(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a simulator

isStructuralModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a structural model

isStructuralParticle(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a structural particle (an atom or a pseudo-atom)

isType(self: samson.DataModel.DataGraph.Node, type: SBDDataGraphNode::Type) → bool¶

Returns true when the type of the node corresponds to type

isVisualModel(self: samson.DataModel.DataGraph.Node) → bool¶

Returns true when the node is a visual model

printDebugInfo(self: samson.DataModel.Document.Folder, offset: int=0) → None¶

Prints some debugging information in stdout

removeChild(self: samson.DataModel.Document.Folder, node: samson.DataModel.DataGraph.Node) → bool¶

Removes a child from the Folder

removeMaterial(self: samson.DataModel.DataGraph.Node) → bool¶

Removes material from the node

setColor(self: samson.DataModel.DataGraph.Node, color: SBDColor) → bool¶

Sets the color for the node (modifies an existing material of the node or adds a material with a given color)

Args:
color (Color): color to set
setColorScheme(self: samson.DataModel.DataGraph.Node, colorScheme: SBDDataGraphNodeColorScheme) → bool¶

Sets the color scheme for the node (modifies an existing material of the node or adds a material with a given color scheme)

Args:
colorScheme (ColorScheme): color scheme to set
setMaterial(self: samson.DataModel.DataGraph.Node, material: SBDDataGraphNodeMaterial) → bool¶

Sets the material for the node.

Args:
material (Material): material to set
toString(self: samson.DataModel.Document.Folder) → str¶

A string representation

ArticulatedBody = NodeType.DynamicalModelNodeArticulatedBody¶
ArticulatedBodySystem = NodeType.DynamicalModelArticulatedBodySystem¶
Atom = NodeType.Atom¶
Backbone = NodeType.StructuralModelNodeBackbone¶
Bond = NodeType.StructuralModelNodeBond¶
Camera = NodeType.Camera¶
Chain = NodeType.StructuralModelNodeChain¶
Conformation = NodeType.StructuralModelConformation¶
Controller = NodeType.Controller¶
ControllerNode = NodeType.ControllerNode¶
DataGraphNodeGroup = NodeType.DataGraphNodeGroup¶
Document = NodeType.Document¶
DocumentManager = NodeType.DocumentManager¶
DynamicalGroup = NodeType.DynamicalModelNodeGroup¶
DynamicalModel = NodeType.DynamicalModel¶
DynamicalModelArticulatedBodySystem = NodeType.DynamicalModelArticulatedBodySystem¶
DynamicalModelNode = NodeType.DynamicalModelNode¶
DynamicalModelNodeArticulatedBody = NodeType.DynamicalModelNodeArticulatedBody¶
DynamicalModelNodeGroup = NodeType.DynamicalModelNodeGroup¶
DynamicalModelNodeParticle = NodeType.DynamicalModelNodeParticle¶
DynamicalModelNodeRigidBody = NodeType.DynamicalModelNodeRigidBody¶
DynamicalModelNodeRoot = NodeType.DynamicalModelNodeRoot¶
DynamicalModelParticleSystem = NodeType.DynamicalModelParticleSystem¶
DynamicalModelRigidBodySystem = NodeType.DynamicalModelRigidBodySystem¶
DynamicalNode = NodeType.DynamicalModelNode¶
DynamicalParticle = NodeType.DynamicalModelNodeParticle¶
DynamicalRoot = NodeType.DynamicalModelNodeRoot¶
Folder = NodeType.Folder¶
InteractionModel = NodeType.InteractionModel¶
InteractionModelArticulatedBodySystem = NodeType.InteractionModelArticulatedBodySystem¶
InteractionModelParticleSystem = NodeType.InteractionModelParticleSystem¶
InteractionModelRigidBodySystem = NodeType.InteractionModelRigidBodySystem¶
Label = NodeType.Label¶
Molecule = NodeType.StructuralModelNodeMolecule¶
NodeGroup = NodeType.DataGraphNodeGroup¶
ParticleSystem = NodeType.DynamicalModelParticleSystem¶
Path = NodeType.StructuralModelPath¶
PropertyModel = NodeType.PropertyModel¶
PropertyModelFunction = NodeType.PropertyModelFunction¶
Protein = NodeType.StructuralModelNodeProtein¶
PseudoAtom = NodeType.StructuralModelNodePseudoAtom¶
Residue = NodeType.StructuralModelNodeResidue¶
RigidBody = NodeType.DynamicalModelNodeRigidBody¶
RigidBodySystem = NodeType.DynamicalModelRigidBodySystem¶
Root = NodeType.StructuralModelNodeRoot¶
Segment = NodeType.StructuralModelNodeSegment¶
SideChain = NodeType.StructuralModelNodeSideChain¶
Simulator = NodeType.Simulator¶
SimulatorArticulatedBodySystem = NodeType.SimulatorArticulatedBodySystem¶
SimulatorParticleSystem = NodeType.SimulatorParticleSystem¶
SimulatorRigidBodySystem = NodeType.SimulatorRigidBodySystem¶
StateUpdater = NodeType.StateUpdater¶
StateUpdaterArticulatedBodySystem = NodeType.StateUpdaterArticulatedBodySystem¶
StateUpdaterParticleSystem = NodeType.StateUpdaterParticleSystem¶
StateUpdaterRigidBodySystem = NodeType.StateUpdaterRigidBodySystem¶
StructuralGroup = NodeType.StructuralModelNodeGroup¶
StructuralModel = NodeType.StructuralModel¶
StructuralModelConformation = NodeType.StructuralModelConformation¶
StructuralModelNode = NodeType.StructuralModelNode¶
StructuralModelNodeAtom = NodeType.Atom¶
StructuralModelNodeBackbone = NodeType.StructuralModelNodeBackbone¶
StructuralModelNodeBond = NodeType.StructuralModelNodeBond¶
StructuralModelNodeChain = NodeType.StructuralModelNodeChain¶
StructuralModelNodeGroup = NodeType.StructuralModelNodeGroup¶
StructuralModelNodeMolecule = NodeType.StructuralModelNodeMolecule¶
StructuralModelNodeParticle = NodeType.StructuralModelNodeParticle¶
StructuralModelNodeProtein = NodeType.StructuralModelNodeProtein¶
StructuralModelNodePseudoAtom = NodeType.StructuralModelNodePseudoAtom¶
StructuralModelNodeResidue = NodeType.StructuralModelNodeResidue¶
StructuralModelNodeRoot = NodeType.StructuralModelNodeRoot¶
StructuralModelNodeSegment = NodeType.StructuralModelNodeSegment¶
StructuralModelNodeSideChain = NodeType.StructuralModelNodeSideChain¶
StructuralModelPath = NodeType.StructuralModelPath¶
StructuralParticle = NodeType.StructuralModelNodeParticle¶
Undefined = NodeType.Undefined¶
VisualModel = NodeType.VisualModel¶
highlightingFlag¶
isCreated¶

Returns true if and only if the node is created

isErased¶

Returns true if and only if the node is erased

isHighlighted¶

Returns whether the node is highlighted

isSelected¶

Returns whether the node is selected

isSerializable¶

Returns true when the class is serializable

isVisible¶

Returns whether the node is visible

name¶

The folder name

nodeIndex¶

Returns the node index (unique in the whole data graph, but non-persistent)

selectionFlag¶
type¶

Returns the type of the data graph node

typeString¶

Returns a string describing the type of this data graph node

visibilityFlag¶