This class describes a dynamical rigid-body system.
Protected Attributes | |
| bool | isAcceptingStructuralEvents |
| True when the rigid-body system is accepting structural events. | |
Protected Attributes inherited from SBCReferenceTarget | |
| SBCReferenceTargetData * | dataPointer |
Constructors and destructors | |
| SBMDynamicalModelRigidBodySystem () | |
| Builds an empty rigid-body system. More... | |
| virtual | ~SBMDynamicalModelRigidBodySystem () |
| Deletes the rigid-body system. More... | |
Identity | |
| virtual SBDDataGraphNode::Type | getType () const |
| Returns the type of the data graph node. | |
| virtual SBDDataGraphNode::Type | getDynamicalModelType () const |
| Returns the dynamical model type. | |
Simulation | |
| virtual void | updateStructuralNodes () |
| Updates the structural nodes based on the state of the rigid-body system. | |
Position buffer | |
| virtual SBVector6 const & | getPosition (unsigned int i) const |
| Returns the position of a rigid body. | |
| virtual unsigned int | getNumberOfChangedPositions () const |
| Returns the number of changed positions. | |
| virtual unsigned int | getChangedPositionIndex (unsigned int i) const |
| Returns the index of an changed position. | |
| virtual void | setPosition (unsigned int i, const SBVector6 &newPosition) |
| Updates the position of a rigid body. | |
| virtual void | flushPositionBuffer () |
| Flushes the position buffer. | |
Debugging | |
| virtual void | print (unsigned int offset=0) const |
| Prints debugging information. | |
Structural model | |
| SBPointer< SBStructuralModel > * | structuralModel |
| A pointer to a structural model. | |
RigidBodys | |
| SBPointerIndexer< SBDynamicalRigidBody > * | rigidBodyIndexer |
| The rigid-body indexer. | |
Event handling | |
| virtual void | onBaseEvent (SBEvent *event) |
| Handles a base event. | |
| virtual void | onStructuralEvent (SBStructuralEvent *structuralEvent) |
| Handles a structural event. | |
Dynamics | |
| SBVector< SBDynamicalRigidBody > * | dynamicalRigidBodyVector |
| The vector of activity flags. | |
| SBVector< bool > * | activityFlagVector |
| The vector of activity flags. | |
| SBVector< SBQuantity::mass > * | massVector |
| The vector of masses. | |
| SBBuffer< SBVector6 > * | positionBuffer |
| The buffer of internal positions. | |
| SBBuffer< SBVector6 > * | structuralPositionBuffer |
| The buffer which accumulates the changes that have to be communicated to structural nodes. | |
| SBBuffer< SBVector6 > * | momentumBuffer |
| The buffer of internal momenta. | |
Additional Inherited Members | |
Public Types inherited from SBDDataGraphNode | |
| enum | RenderingPass { RenderingPass::Setup, 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, StructuralModelNodePseudoBond, PseudoBond, StructuralModelNodeHydrogenBond, HydrogenBond, StructuralModelNodeHydrogenBondGroup, HydrogenBondGroup, 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, Note, Animation, Presentation, DataGraphNodeGroup, NodeGroup, Controller, ControllerNode, Asset } |
| The type of the data graph node. More... | |
Public Member Functions inherited from SBMDynamicalModel | |
| SB_DECLARE_DATA (SBMDynamicalModel) | |
| bool | isSerializable () const |
| Returns true when the class is serializable. | |
| 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. | |
| SBMDynamicalModelNodeRoot * | getDynamicalRoot () const |
| Returns the root of the dynamical model. | |
| virtual SBMDynamicalModel * | clone () |
| Returns a copy of the node and its descendants. | |
| virtual SBDDataGraphNode::Type | getModelType () const |
| Returns the model type. | |
| virtual bool | getPositionChanged (unsigned int i) const |
Returns whether position i has been changed since the last flush. | |
| SBIAPosition3 const & | getPeriodicBoundaryConditions () const |
| Returns the periodic boundary conditions. | |
| void | setPeriodicBoundaryConditions (SBIAPosition3 const &box) |
| Sets the periodic boundary conditions. | |
| bool | getPeriodicBoundaryConditionsFlag () const |
| Returns the periodic boundary conditions flag. | |
| void | setPeriodicBoundaryConditionsFlag (bool flag) |
| Sets the periodic boundary conditions flag. | |
| virtual bool | enforcePeriodicBoundaryConditions () |
| Enforces the periodic boundary conditions. | |
| void | connectDynamicalSignalToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDynamicalEvent *), SBCReferenceTarget *nextReferenceTarget=0, void(SBCReferenceTarget::*nextFunctionPointer)(SBDynamicalEvent *)=0) |
| Connects the dynamical signal to a slot. | |
| bool | dynamicalSignalIsConnectedToSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDynamicalEvent *)) const |
| Returns true if and only if the dynamical signal is connected to a given slot. | |
| void | disconnectDynamicalSignalFromSlot (SBCReferenceTarget *referenceTarget, void(SBCReferenceTarget::*functionPointer)(SBDynamicalEvent *)) |
| Disconnects the dynamical signal from a slot. | |
| virtual void | getNodes (SBNodeIndexer &nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const |
Collects nodes into nodeIndexer, based on a nodeType, a selection status and a visitPredicate, with our without dependencies. | |
| virtual void | getNodes (SBNodeIndexer &nodeIndexer, const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const |
| Returns some nodes. | |
| 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. | |
Public Member Functions inherited from SBMModel | |
| SB_NODE_GETTER_0 (, SBDDataGraphNode::Type, GetModelType) | |
| SB_NODE_PREDICATE_1 (, IsModelType, SBDDataGraphNode::Type) | |
| SB_DECLARE_DATA (SBMModel) | |
| virtual | ~SBMModel () |
| Delete the model. | |
| bool | isSerializable () const |
| Returns true. | |
| SBMModel * | getNextModel () const |
| Returns the next model in the parent. | |
| SBMModel * | getPreviousModel () const |
| Returns the previous model in the parent. | |
| virtual unsigned int | getOpacity () const |
| Returns the opacity. | |
| virtual void | setOpacity (unsigned int opacity) |
| Sets the opacity. | |
| virtual unsigned int | getMinimumOpacity () const |
| Returns the minimum opacity. | |
| virtual unsigned int | getTransparency () const |
| Returns the transparency. | |
| virtual void | setTransparency (unsigned int transparency) |
| Sets the transparency. | |
| virtual unsigned int | getMaximumTransparency () const |
| Returns the maximum transparency. | |
Public Member Functions inherited from SBDDataGraphNode | |
| SB_DECLARE_DATA (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 | canAddChildType (SBDDataGraphNode::Type nodeType) const |
Returns whether this node can add a node with type nodeType as a child. More... | |
| virtual bool | canHaveDescendantType (SBDDataGraphNode::Type nodeType) const |
Returns whether this node can have a node with type nodeType as a descendant. 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 | descendsFrom (SBDDataGraphNode *node) const |
Returns true if and only if this node is node, or descends from it. More... | |
| 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. More... | |
| 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. More... | |
| bool | isIn (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. 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, or belongs to a group stored in one of the nodes of the nodeIndexer. 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, or belongs to a group stored in of the nodes of the nodePointerIndexer. 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... | |
| std::string | getTypeString (bool humanReadable=false) const |
| Returns a string describing the type of the data graph node. More... | |
| virtual std::string const & | getName () const |
| Returns the name of the node. | |
| virtual void | setName (const std::string &name) |
| Sets the name of the node. More... | |
| bool | isType (Type type) const |
Returns true when the type of the node corresponds to type. | |
| bool | isModel () const |
| Returns true when the node is a model. | |
| bool | isStructuralNode () const |
| Returns true when the node is a structural node. | |
| bool | isStructuralModel () const |
| Returns true when the node is a structural model. | |
| bool | isVisualModel () const |
| Returns true when the node is a visual model. | |
| bool | isDynamicalModel () const |
| Returns true when the node is a dynamical model. | |
| bool | isInteractionModel () const |
| Returns true when the node is a interaction model. | |
| bool | isPropertyModel () const |
| Returns true when the node is a property model. | |
| bool | isMesh () const |
| Returns true when the node is a mesh. | |
| bool | isSimulator () const |
| Returns true when the node is a simulator. | |
| bool | isStructuralParticle () const |
| Returns true when the node is a structural particle (an atom or a pseudo-atom) | |
| 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. 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 selected. | |
| 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... | |
| 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 | 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... | |
| 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 (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const |
Collects nodes into nodeIndexer, based on a nodeType, a selection status and a visitPredicate, with our without dependencies. More... | |
| unsigned int | countNodes (const SBNodePredicate &selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate &visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const |
Collects nodes into nodeIndexer, based on a selectionPredicate and a visitPredicate, with our without dependencies. More... | |
| virtual std::string | getHierarchyString (const std::string &separator="/", bool includeNodeType=false) const |
| Returns a string with hierarchical information on the node and its parents names. More... | |
Public Member Functions inherited from SBCReferenceTarget | |
| SBCReferenceTarget () | |
| virtual | ~SBCReferenceTarget () |
| unsigned int | getMemoryFootprint () const |
| void | printReferencesToOwners () const |
Static Public Member Functions inherited from 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 SBDDataGraphNode * | getNode (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 SBMDynamicalModel | |
| SBMDynamicalModel () | |
| Builds a dynamical model. | |
| SBMDynamicalModel (SBMDynamicalModelData *dataPointer) | |
| Builds a dynamical model. | |
| virtual | ~SBMDynamicalModel () |
| Deletes the dynamical model. | |
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... | |
Protected Member Functions inherited from SBCReferenceTarget | |
| void | removeAllReferenceOwners () |
| SBCReferenceTarget (SBCReferenceTargetData *dataPointer) | |
| SBMDynamicalModelRigidBodySystem::SBMDynamicalModelRigidBodySystem | ( | ) |
Builds a base model.
|
virtual |
Deletes the model.