hmi.environment.semaine
Class XuukSemaineBridge

java.lang.Object
  extended by java.lang.Thread
      extended by eu.semaine.components.Component
          extended by hmi.environment.semaine.XuukSemaineBridge
All Implemented Interfaces:
eu.semaine.jms.SEMAINEMessageAvailableListener, XuukListener, Runnable

public class XuukSemaineBridge
extends eu.semaine.components.Component
implements XuukListener

sends messages from the Xuuk EyeBox program to the semaine API over the channel semaine.data.hmi.sensor.facetracker. Does NOT send the eye-loking info, because that part of the xuuk software does not work. singleton -- i.e. one of these per JVM (actually, only one per machine as you cannot have more than one xuuk connected); using static getXuukSemaineBridge you get the instance. message content: type (content): faceappeared (Face) | facedisappeared (int id as attrib) | newfacepositions (more faces) | eyeschange (EyePair) | eyesdisappeared (int id as attrib) \ neweyespositions (list of eyepairs)


Nested Class Summary
 
Nested classes/interfaces inherited from class eu.semaine.components.Component
eu.semaine.components.Component.State
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.UncaughtExceptionHandler
 
Field Summary
private  eu.semaine.jms.sender.XMLSender facetrackSender
           
private static org.slf4j.Logger logger
           
private static XuukSemaineBridge singleton
           
 
Fields inherited from class eu.semaine.components.Component
inputWaiting, isInput, isOutput, log, meta, receivers, senders, state, waitingTime
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
XuukSemaineBridge()
           
 
Method Summary
protected  void act()
           
 void customStartIO()
          Slow loop, because there is no proactive element here...
 void eyesChange(EyePair eyes)
           
 void eyesDisappeared(int id)
           
 void faceAppeared(Face face)
           
 void faceDisappeared(int id)
           
static XuukSemaineBridge getXuukSemaineBridge()
           
 void newEyesPositions(ArrayList<EyePair> eyes)
           
 void newFacePositions(ArrayList<Face> faces)
           
protected  void react(eu.semaine.jms.message.SEMAINEMessage m)
           
 
Methods inherited from class eu.semaine.components.Component
exitRequested, messageAvailableFrom, requestExit, run
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

private static org.slf4j.Logger logger

facetrackSender

private eu.semaine.jms.sender.XMLSender facetrackSender

singleton

private static XuukSemaineBridge singleton
Constructor Detail

XuukSemaineBridge

public XuukSemaineBridge()
                  throws javax.jms.JMSException
Throws:
javax.jms.JMSException
Method Detail

getXuukSemaineBridge

public static XuukSemaineBridge getXuukSemaineBridge()

customStartIO

public void customStartIO()
                   throws Exception
Slow loop, because there is no proactive element here...

Overrides:
customStartIO in class eu.semaine.components.Component
Throws:
Exception

act

protected void act()
            throws javax.jms.JMSException
Overrides:
act in class eu.semaine.components.Component
Throws:
javax.jms.JMSException

react

protected void react(eu.semaine.jms.message.SEMAINEMessage m)
              throws eu.semaine.exceptions.MessageFormatException
Overrides:
react in class eu.semaine.components.Component
Throws:
eu.semaine.exceptions.MessageFormatException

faceAppeared

public void faceAppeared(Face face)
Specified by:
faceAppeared in interface XuukListener

faceDisappeared

public void faceDisappeared(int id)
Specified by:
faceDisappeared in interface XuukListener

newFacePositions

public void newFacePositions(ArrayList<Face> faces)
Specified by:
newFacePositions in interface XuukListener

eyesChange

public void eyesChange(EyePair eyes)
Specified by:
eyesChange in interface XuukListener

eyesDisappeared

public void eyesDisappeared(int id)
Specified by:
eyesDisappeared in interface XuukListener

newEyesPositions

public void newEyesPositions(ArrayList<EyePair> eyes)
Specified by:
newEyesPositions in interface XuukListener