Programming Reference:Stimulus Class
- 1 Stimulus Class
- 2 SetOfStimuli Class
- 3 See also
The Stimulus class is a virtual base class which defines an event handling interface for stimuli. There, a "Stimulus" is defined as "an object that can present (and possibly conceal) itself."
The Stimulus class is purely virtual; descendant classes need to implement its OnPresent() and OnConceal() event handlers. An application uses the public Stimulus::Present() and Stimulus::Conceal() functions to control its behavior; these, in turn, call the virtual event handlers.
The SetOfStimuli class allows to define sets of stimuli, and to present or conceal all of the stimuli it contains.
int Tag (rw)
An arbitrary integer that may be used to encode information about a given stimulus (e.g., its corresponding row in a configuration matrix).
Prompts a stimulus to present itself by calling its OnPresent() event handler.
Prompts a stimulus to conceal itself by calling its OnConceal() event handler.
In its OnPresent event handler, a stimulus is supposed to present itself, e.g., to make itself visible, play itself if it is a sound or a movie, or highlight itself if it is a P300 matrix element.
In its OnConceal event handler, a stimulus is supposed to conceal itself, e.g., make itself invisible, or switch back to normal mode. For non-visual stimuli, this handler is typically empty.
This event is called Conceal rather than Hide because "Hide" is already used as a name for a GraphObject's function that makes it invisible.
The Stimulus class is parent to a class hierarchy containing a number of auditory and visual stimuli:
Stimulus |-> VisualStimulus |-> ImageStimulus | |-> TextStimulus |-> AudioStimulus |-> SpeechStimulus |-> SoundStimulus
SetOfStimuli is declared in the Stimulus class header file.
SetOfStimuli is a helper class that allows to prompt presentation, concealing, and destruction of a group of stimuli.
Adds a stimulus object to the set.
Removes a given stimulus object from the set; nothing happens when the specified stimulus is not a member of the set.
Clears the set. Stimuli that were represented in the set in form of pointers are unaffected.
Deletes all stimulus objects that are in the set, and clears the set. To avoid dangling pointers, and multiple deletion, you should make sure that the set's members are not part of any other SetOfStimuli by the time you call SetOfStimuli::DeleteObjects().
bool Contains(Stimulus pointer)
Returns true if the specified stimulus object is part of the set, and false otherwise.
Returns true if any of the elements of the specified set is part of the set on which Intersects is called, and false otherwise.
Prompts each element of the set to present itself by calling its Present() method.
Prompts each element of the set to conceal itself by calling its Conceal() method.