Class SBSStateUpdater#
This class is the base class of state updaters. More...
- #include "SBSStateUpdater.hpp"
Inherits the following classes: SBDDataGraphNode
Inherited by the following classes: SBSStateUpdaterParticleSystem
Public Types inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name | 
|---|---|
| enum | RenderingPass The rendering pass. | 
| enum | Type The type of the data graph node. | 
Public Functions#
| Type | Name | 
|---|---|
| virtual void | changed () Emits the StateUpdaterChanged event. | 
| virtual SBSStateUpdater * | clone () override Returns a copy of the node and its descendants. | 
| 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. | 
| void | connectStateUpdaterSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStateUpdaterEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=nullptr, void(SBCReferenceTarget::*)(SBStateUpdaterEvent *) nextFunctionPointer=nullptr) Connects the state updater signal to a slot. | 
| void | disconnectStateUpdaterSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStateUpdaterEvent *) functionPointer) Disconnects the state updater signal from a slot. | 
| virtual void | expandBounds (SBIAPosition3 & bounds) const Expands the bounds to make sure the visual model fits inside them. | 
| virtual SBMDynamicalModel * | getDynamicalModel () const Returns the associated dynamical model. | 
| virtual SBMInteractionModel * | getInteractionModel () const Returns the associated interaction model. | 
| const unsigned int & | getNumberOfSteps () const Returns the number of steps. | 
| virtual SBDDataGraphNode::Type | getStateUpdaterType () const Returns the state updater type. | 
| const SBQuantity::time & | getStepSize () const Returns the time step size. | 
| virtual SBDDataGraphNode::Type | getType () override const Returns the node type (returns SBNode::StateUpdater ) | 
| virtual bool | isSerializable () override const Returns truewhen the class is serializable. | 
| virtual void | onDynamicalEvent (SBMDynamicalModelEvent * dynamicalEvent) Handles dynamical model events. | 
| virtual void | onInteractionEvent (SBMInteractionModelEvent * interactionEvent) Handles interaction model events. | 
| virtual void | print (unsigned int offset=0) override const Prints debugging information. | 
| virtual void | serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const Serializes the node. | 
| void | setNumberOfSteps (const unsigned int & nSteps) Sets the number of steps. | 
| void | setStepSize (const SBQuantity::time & step) Sets the time step size. | 
| bool | stateUpdaterSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBStateUpdaterEvent *) functionPointer) const Returns trueif and only if the state updater signal is connected to the slot. | 
| 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 node. | 
| virtual void | updateState () Updates the state of the particle system. | 
| virtual | ~SBSStateUpdater () Destructor. | 
Public Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name | 
|---|---|
| SB_DECLARE_DATA (SBDDataGraphNode) | |
| virtual bool | addChild (SBDDataGraphNode * node, SBDDataGraphNode * nextNode=nullptr) Adds a child to the node. | 
| bool | addMaterial (SBDDataGraphNodeMaterial * material) Adds a material. | 
| bool | baseSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) const Returns truewhen the base signal is connected to a slot. | 
| virtual bool | canAddChild (const SBDDataGraphNode * node, const SBDDataGraphNode * nextNode=nullptr) const Returns whether this node can add nodeas a child. | 
| virtual bool | canAddChildType (SBDDataGraphNode::Type nodeType) const Returns whether this node can add a node with type nodeTypeas a child. | 
| bool | canAddMaterial () const Returns whether can add a material to the node based on its type. | 
| virtual bool | canHaveDescendantType (SBDDataGraphNode::Type nodeType) const Returns whether this node can have a node with type nodeTypeas a descendant. | 
| virtual SBDDataGraphNode * | clone () Returns a copy of the node and its descendants. | 
| void | connectBaseSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBBaseEvent *) nextFunctionPointer=0) Connects the base signal to 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 avisitPredicate, 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 selectionPredicateand avisitPredicate, with or without dependencies. | 
| void | create () Creates the node. | 
| bool | descendsFrom (const SBDDataGraphNode * node) const Returns trueif and only if this node isnode, or descends from it. | 
| bool | descendsFrom (const SBNodeIndexer & nodeIndexer) const Returns trueif and only if this node is one of the nodes of thenodeIndexer, or descends from one of them. | 
| bool | descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns trueif and only if this node is one of the nodes of thenodePointerIndexer, or descends from one of them. | 
| void | disconnectBaseSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) Disconnects the base signal from a slot. | 
| virtual void | display (RenderingPass renderingPass) Displays the node. | 
| virtual void | display () Displays the node (deprecated) | 
| virtual void | displayForSelection () Displays the node for selection purposes (deprecated) | 
| virtual void | displayForShadow () Displays the node for shadowing purposes (deprecated) | 
| void | erase () Erases the node. | 
| virtual void | forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) Performs the actionon this node. | 
| virtual void | forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs the objects'sactionon this node. | 
| unsigned int | getDefaultOpacity () const Returns the default opacity. | 
| unsigned int | getDefaultTransparency () const Returns the default transparency. | 
| SBDDocument * | getDocument () const Returns the document the node belongs to. | 
| virtual unsigned int | getFlags () const Returns the flags. | 
| 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. | 
| bool | getHighlightingFlag () const Returns the highlighting flag. | 
| virtual unsigned int | getInheritedFlags () const Returns the inherited flags. | 
| 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. | 
| virtual bool | getLockedFlag () const Returns the locked flag. | 
| SBDDataGraphNodeMaterial * | getMaterial () const Returns the material. | 
| SBDDataGraphNode * | getMaterialOwner () const Returns the node whose material is inherited. | 
| unsigned int | getMaximumOpacity () const Returns the maximum opacity. | 
| unsigned int | getMaximumTransparency () const Returns the maximum transparency. | 
| unsigned int | getMinimumOpacity () const Returns the minimum opacity. | 
| unsigned int | getMinimumTransparency () const Returns the minimum transparency. | 
| virtual SBQuantity::mass | getMolecularWeight () Returns the molecular weight. | 
| virtual std::string const & | getName () const Returns the name of the node. | 
| SBDDataGraphNode * | getNextNode () const Returns the pointer to the next node in the children of the node's parent. | 
| SBDDataGraphNode * | getNextNode (SBDDataGraphNode::Type nodeType) const Returns the pointer to the next node with type nodeTypein the children of the node's parent. | 
| unsigned int | getNodeIndex () const Returns the node index (unique in the whole data graph, but non-persistent) | 
| SBUUID | getNodeUUID () const Returns the node UUID. | 
| virtual void | getNodes (SBNodeIndexer & nodeIndexer, SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Collects nodes into nodeIndexer, based on anodeType, a selection status and avisitPredicate, with or without dependencies. | 
| virtual void | getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Collects nodes into nodeIndexer, based on aselectionPredicateand avisitPredicate, with or without dependencies. | 
| virtual unsigned int | getNumberOfAtoms () Returns the number of atoms. | 
| virtual unsigned int | getNumberOfCarbons () Returns the number of carbons. | 
| virtual unsigned int | getNumberOfChains () Returns the number of chains. | 
| virtual unsigned int | getNumberOfCoarseGrainedAtoms () Returns the number of coarse-grained atoms. | 
| virtual unsigned int | getNumberOfHydrogens () Returns the number of hydrogens. | 
| virtual unsigned int | getNumberOfMolecules () Returns the number of molecules. | 
| virtual unsigned int | getNumberOfNitrogens () Returns the number of nitrogens. | 
| virtual unsigned int | getNumberOfOtherAtoms () Returns the number of other atoms. | 
| virtual unsigned int | getNumberOfOxygens () Returns the number of oxygens. | 
| virtual unsigned int | getNumberOfResidues () Returns the number of residues. | 
| virtual unsigned int | getNumberOfSegments () Returns the number of segments. | 
| virtual unsigned int | getNumberOfStructuralGroups () Returns the number of structural groups. | 
| virtual unsigned int | getNumberOfStructuralModels () Returns the number of structural models. | 
| virtual unsigned int | getNumberOfSulfurs () Returns the number of sulfurs. | 
| virtual unsigned int | getOpacity () const Returns the opacity. | 
| unsigned int | getOpacitySingleStep () const Returns the opacity single step. | 
| std::string | getOpacitySuffix () const Returns the opacity suffix. | 
| SBDDataGraphNode * | getParent () const Returns the parent of the node. | 
| SBDDataGraphNode * | getPreviousNode () const Returns the pointer to the previous node in the children of the node's parent. | 
| SBDDataGraphNode * | getPreviousNode (SBDDataGraphNode::Type nodeType) const Returns the pointer to the previous node with type nodeTypein the children of the node's parent. | 
| SBDDataGraphNode * | getRoot () const Returns the root of the hierarchy the node belongs to. | 
| bool | getSelected () const Returns whether the node is selected. | 
| bool | getSelectionFlag () const Returns the selection flag. | 
| virtual int | getSumOfFormalCharges () Returns the sum of formal charges. | 
| virtual float | getSumOfPartialCharges () Returns the sum of partial charges. | 
| SBDDataGraphNode * | getThisNode () const Returns the pointer to this node. | 
| virtual unsigned int | getTransparency () const Returns the transparency. | 
| unsigned int | getTransparencySingleStep () const Returns the transparency single step. | 
| std::string | getTransparencySuffix () const Returns the transparency suffix. | 
| virtual Type | getType () const Returns the type of the data graph node. | 
| std::string | getTypeString (bool humanReadable=false) const Returns a string describing the type of the data graph node. | 
| bool | getVisibilityFlag () const Returns the visibility flag. | 
| bool | getVisible () const Returns whether the node is visible. | 
| bool | hasMaterial () const Returns whether the node has a material (by itself, or inherited) | 
| virtual bool | hasNode (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Returns whether the node has nodes based on a nodeType, a selection status and avisitPredicate, with or without dependencies. | 
| virtual bool | hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const Returns whether the node has nodes based on a selectionPredicateand avisitPredicate, with or without dependencies. | 
| bool | hasOneOf (const SBNodeIndexer & nodeIndexer) const Returns trueif and only if this node is one of the nodes of thenodeIndexer, or is the ancestor of one of them, or is a group that stores one of them. | 
| bool | hasOpacityRange () const Returns whether the node has the opacity range. | 
| bool | hasTransparencyRange () const Returns whether the node has the transparency range. | 
| bool | isAtom () const Returns truewhen the node is an atom. | 
| bool | isBallAndStick () const Returns truewhen the node is the default ball-and-stick visual model. | 
| bool | isBond () const Returns truewhen the node is a bond. | 
| bool | isCartoon () const Returns truewhen the node is the default cartoon visual model. | 
| bool | isCreated () const Returns trueif and only if the node is created. | 
| bool | isDynamicalModel () const Returns truewhen the node is a dynamical model. | 
| bool | isErased () const Returns trueif and only if the node is erased. | 
| bool | isGaussianSurface () const Returns truewhen the node is the default Gaussian surface visual model. | 
| bool | isHighlighted () const Returns whether the node is highlighted. | 
| bool | isIn (const SBDDataGraphNode * node) const Returns trueif and only if this node isnode, or descends from it, or belongs to a group stored innode. | 
| bool | isIn (const SBNodeIndexer & nodeIndexer) const Returns trueif and only if this node is one of the nodes of thenodeIndexer, or descends from one of them, or belongs to a group stored in one of the nodes of thenodeIndexer. | 
| bool | isIn (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns trueif and only if this node is one of the nodes of thenodePointerIndexer, or descends from one of them, or belongs to a group stored in of the nodes of thenodePointerIndexer. | 
| bool | isInteractionModel () const Returns truewhen the node is a interaction model. | 
| bool | isLicorice () const Returns truewhen the node is the default licorice visual model. | 
| bool | isLight () const Returns truewhen the node is a light. | 
| virtual bool | isLocked () const Returns whether the node is locked. | 
| bool | isMesh () const Returns truewhen the node is a mesh. | 
| bool | isModel () const Returns truewhen the node is a model. | 
| bool | isOneOf (const SBNodeIndexer & nodeIndexer) const Returns trueif and only if this node is one of the nodes of thenodeIndexer. | 
| bool | isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const Returns trueif and only if this node is one of the nodes of thenodePointerIndexer. | 
| bool | isPropertyModel () const Returns truewhen the node is a property model. | 
| bool | isRibbon () const Returns truewhen the node is the default ribbon visual model. | 
| bool | isSelected () const Returns whether the node is selected. | 
| virtual bool | isSerializable () const Returns truewhen the class is serializable. | 
| bool | isSimulator () const Returns truewhen the node is a simulator. | 
| bool | isSolventAccessibleSurface () const Returns truewhen the node is the default solvent accessible surface visual model. | 
| bool | isSolventExcludedSurface () const Returns truewhen the node is the default solvent excluded surface visual model. | 
| bool | isStructuralModel () const Returns truewhen the node is a structural model. | 
| bool | isStructuralNode () const Returns truewhen the node is a structural node. | 
| bool | isTube () const Returns truewhen the node is the default tube visual model. | 
| bool | isType (Type type) const Returns truewhen the type of the node corresponds totype. | 
| bool | isVanDerWaals () const Returns truewhen the node is the default van der Waals visual model. | 
| bool | isVisible () const Returns whether the node is visible. | 
| bool | isVisualModel () const Returns truewhen the node is a visual model. | 
| bool | ownsMaterial () const Returns whether the node owns a material. | 
| virtual void | print (unsigned int offset=0) const Prints some debugging information. | 
| virtual bool | removeChild (SBDDataGraphNode * node) Removes a child from the node. | 
| 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. | 
| 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. | 
| void | setHighlightingFlag (bool flag) Sets the highlighting flag. | 
| virtual void | setLockedFlag (bool flag) Sets the locked flag. | 
| virtual void | setName (const std::string & name) Sets the name of the node. | 
| virtual void | setOpacity (unsigned int opacity) Sets the opacity. | 
| void | setSelectionFlag (bool flag) Sets the selection flag. | 
| virtual void | setTransparency (unsigned int transparency) Sets the transparency. | 
| void | setVisibilityFlag (bool flag) Sets the visibility flag. | 
| 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. | 
Public Functions inherited from SBCReferenceTarget#
| Type | Name | 
|---|---|
| SBCReferenceTarget () Builds the reference target. | |
| unsigned int | getMemoryFootprint () const Returns the memory footprint. | 
| void | printReferencesToOwners () const Prints the references to the owners of this reference target. | 
| virtual | ~SBCReferenceTarget () Destructor. | 
Public Static Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name | 
|---|---|
| bool | canAddMaterial (SBDDataGraphNode::Type nodeType) Returns whether can add a material to a node of type nodeType. | 
| void | clone (const SBNodeIndexer & sourceNodeIndexer, SBNodeIndexer & destinationNodeIndexer) Clones the nodes in sourceNodeIndexer(treated as a whole) and places the clones indestinationNodeIndexer. | 
| void | forEachNodeInSelection (SBNodeIndexer & nodeIndexer, void(*)(SBDDataGraphNode *node) action) Performs the actionfor each node innodeIndexer__ | 
| void | forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) Performs the objects'sactionfor each node innodeIndexer__ | 
| SBDDataGraphNode * | getNode (unsigned int nodeIndex) Returns the unique node corresponding to the node index nodeIndex. | 
| std::string | getTypeString (Type type, bool humanReadable=false) Returns a string describing the type of the data graph node. | 
Protected Attributes#
| Type | Name | 
|---|---|
| SBSignal1< SBSStateUpdaterEvent * > * | stateUpdaterSignal The visual signal. | 
Protected Attributes inherited from SBCReferenceTarget#
| Type | Name | 
|---|---|
| SBCReferenceTargetData * | dataPointer A pointer to the private data. | 
Protected Functions#
| Type | Name | 
|---|---|
| SBSStateUpdater () Protected constructor. | |
| virtual void | emitStateUpdaterSignal (SBStateUpdaterEvent * event) Emits the visual signal. | 
Protected Functions inherited from SBDDataGraphNode#
See SBDDataGraphNode
| Type | Name | 
|---|---|
| SBDDataGraphNode () Builds a data graph node. | |
| SBDDataGraphNode (SBDDataGraphNodeData * dataPointer) Builds a data graph node. | |
| virtual | ~SBDDataGraphNode () Destroys the node. | 
Protected Functions inherited from SBCReferenceTarget#
| Type | Name | 
|---|---|
| SBCReferenceTarget (SBCReferenceTargetData * dataPointer) Protected constructor. | |
| void | removeAllReferenceOwners () Stops all the reference owners from referencing this reference target. | 
Detailed Description#
Short name: SBStateUpdater
Public Functions Documentation#
function changed#
Emits the StateUpdaterChanged event.
function clone#
Returns a copy of the node and its descendants.
Implements SBDDataGraphNode::clone
function collectAmbientOcclusion#
To collect ambient occlusion data.
virtual void SBSStateUpdater::collectAmbientOcclusion (
    const SBPosition3 & boxOrigin,
    const SBPosition3 & boxSize,
    unsigned int nCellsX,
    unsigned int nCellsY,
    unsigned int nCellsZ,
    float * ambientOcclusionData
) 
function connectStateUpdaterSignalToSlot#
Connects the state updater signal to a slot.
void SBSStateUpdater::connectStateUpdaterSignalToSlot (
    SBCReferenceTarget * referenceTarget,
    void(SBCReferenceTarget::*)( SBStateUpdaterEvent *) functionPointer,
    SBCReferenceTarget * nextReferenceTarget=nullptr,
    void(SBCReferenceTarget::*)( SBStateUpdaterEvent *) nextFunctionPointer=nullptr
) 
function disconnectStateUpdaterSignalFromSlot#
Disconnects the state updater signal from a slot.
void SBSStateUpdater::disconnectStateUpdaterSignalFromSlot (
    SBCReferenceTarget * referenceTarget,
    void(SBCReferenceTarget::*)( SBStateUpdaterEvent *) functionPointer
) 
function expandBounds#
Expands the bounds to make sure the visual model fits inside them.
function getDynamicalModel#
Returns the associated dynamical model.
function getInteractionModel#
Returns the associated interaction model.
function getNumberOfSteps#
Returns the number of steps.
function getStateUpdaterType#
Returns the state updater type.
function getStepSize#
Returns the time step size.
function getType#
Returns the node type (returns SBNode::StateUpdater )
Implements SBDDataGraphNode::getType
function isSerializable#
Returns true when the class is serializable.
Implements SBDDataGraphNode::isSerializable
function onDynamicalEvent#
Handles dynamical model events.
function onInteractionEvent#
Handles interaction model events.
function print#
Prints debugging information.
Implements SBDDataGraphNode::print
function serialize#
Serializes the node.
virtual void SBSStateUpdater::serialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override const
Implements SBDDataGraphNode::serialize
function setNumberOfSteps#
Sets the number of steps.
function setStepSize#
Sets the time step size.
function stateUpdaterSignalIsConnectedToSlot#
Returns true if and only if the state updater signal is connected to the slot.
bool SBSStateUpdater::stateUpdaterSignalIsConnectedToSlot (
    SBCReferenceTarget * referenceTarget,
    void(SBCReferenceTarget::*)( SBStateUpdaterEvent *) functionPointer
) const
function unserialize#
Unserializes the node.
virtual void SBSStateUpdater::unserialize (
    SBCSerializer * serializer,
    const SBNodeIndexer & nodeIndexer,
    const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
    const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override
Implements SBDDataGraphNode::unserialize
function updateState#
Updates the state of the particle system.
function ~SBSStateUpdater#
Destructor.
Protected Attributes Documentation#
variable stateUpdaterSignal#
The visual signal.
Protected Functions Documentation#
function SBSStateUpdater#
Protected constructor.
function emitStateUpdaterSignal#
Emits the visual signal.