HMI API Documentation

This is the API specification of the core HMI packages.

See:
          Description

HmiAnimation
hmi.animation Documentation in the central Hmi Packages LaTeX report.

 

HmiBML
hmi.bml Support for parsing of core BML and several extensions; interfaces for transparent access to different BML Realizers; support for feedback mechanisms.
hmi.bml.bridge This package provides transparent access to BML Realizers: directly, through socket connections, to other realizers than Elckerlyc, etc.
hmi.bml.bridge.emitters Emitters send out proactively, possibly in their own thread, BML blocks to a realizerbridge.
hmi.bml.bridge.ui Several GUI and utility classes that operate only on a RealizerBridge (and are independent of HmiElckerlyc and HmiEnvironment)
hmi.bml.core  
hmi.bml.ext.bmlt  
hmi.bml.ext.bmlt.feedback  
hmi.bml.ext.maryxml  
hmi.bml.ext.msapi  
hmi.bml.ext.ssml  
hmi.bml.feedback  
hmi.bml.parser  
hmi.bml.util  

 

HmiDebug
hmi.debug This package contains some debug visualisations: for vjoint hierarchies, for procanimations, for physicalhumanoids... to be extended with more!
hmi.debug.animation  
hmi.debug.physics  

 

HmiElckerlyc
hmi.elckerlyc The Hmi BML realizer Elckerlyc.
hmi.elckerlyc.animationengine  
hmi.elckerlyc.animationengine.controller  
hmi.elckerlyc.animationengine.gaze  
hmi.elckerlyc.animationengine.gesturebinding  
hmi.elckerlyc.animationengine.keyframe  
hmi.elckerlyc.animationengine.mixed  
hmi.elckerlyc.animationengine.motionunit  
hmi.elckerlyc.animationengine.pointing  
hmi.elckerlyc.animationengine.procanimation  
hmi.elckerlyc.animationengine.transitions  
hmi.elckerlyc.anticipator  
hmi.elckerlyc.anticipator.gui  
hmi.elckerlyc.audioengine The AudioEngine is for playing sound fragments from disk (wav, mp3, etc).
hmi.elckerlyc.bridge RealizerBridge implementations that are specific to the ElckerlycRealizer.
hmi.elckerlyc.faceengine  
hmi.elckerlyc.faceengine.facebinding  
hmi.elckerlyc.faceengine.faceunit  
hmi.elckerlyc.faceengine.viseme  
hmi.elckerlyc.interrupt  
hmi.elckerlyc.planunit  
hmi.elckerlyc.scheduler  
hmi.elckerlyc.speechengine  
hmi.elckerlyc.speechengine.ttsbinding  
hmi.elckerlyc.util.timemanipulator  
hmi.elckerlyc.wait  
hmi.elckerlyc.world  

 

HmiEnvironment
hmi.environment This package contains several base classes that facilitate easy access to building an environment with graphics, physics and virtual human animation.
hmi.environment.avatars This package contains code for loading avatars, mixed systems, face bindings, etc.
hmi.environment.bridge.emitters  

 

HmiFaceAnimation
hmi.faceanimation This package and its subpackages contain the abstract interfacing to control a face, independent of the mesh rendering.
hmi.faceanimation.converters  
hmi.faceanimation.converters.ui  
hmi.faceanimation.model  
hmi.faceanimation.util  

 

HmiFaceGraphics
hmi.facegraphics This package and its subpackages make the connection between the abstract specification of face animations using Elckerlyc and the actual deformation of the mesh in the HmiGraphics packages.
hmi.facegraphics.deformers Mesh deformations.

 

HmiGraphics
hmi.graphics The HMI Graphics package contains the functionality for rendering graphics.
hmi.graphics.collada Support for loading Collada Graphics files
hmi.graphics.collada.scenegraph Support for loading Collada Graphics files
hmi.graphics.gen The HmiGraphivs gen package contains code for generation of the opengl binding interface, i.e. the hmi.graphics.opengl.GLBinding file, and two implementations of this interface, for jogl and for lwjgl, in hmi.graphics.jogl.JOGLContext.java, and hmi.graphics.lwjgl.LWJGLContext.java
hmi.graphics.geometry The HmiGraphics geometry package contains a few utilities for geometry, like polygon triangulation
hmi.graphics.jogl The HmiGraphics jogl package contains jogl-specific OpenGL code.
hmi.graphics.lwjgl The HmiGraphics lwjgl package contains LWJGL-specific OpenGL code.
hmi.graphics.opengl The HmiGraphics opengl package contains code for opengl based rendering, that is still independent from particular OpenGL java bindings, like jogl and lwjgl
hmi.graphics.opengl.geometry The HmiGraphics opengl.geometry package contains a few utility classes for OpenGL based rendering of basic geometry.
hmi.graphics.opengl.renderobjects The HmiGraphics opengl.renderobjects package contains a few utility classes for OpenGL based rendering.
hmi.graphics.opengl.scenegraph The HmiGraphics opengl.scenegraph package contains code for OpenGL based scenegraphs, on top of the more basic opengl package.
hmi.graphics.opengl.state The HmiGraphics opebgl.state package contains code for maintaining the runtime OpenGL state.
hmi.graphics.scenegraph The HmiGraphics scenegraph package contains code for graphics scenegraphs in a render platform independent way, and also independent from a particular graphics file format.
hmi.graphics.util The HmiGraphics util package contains a few utilities that combine functionality from other HmiGraphics packages.
hmi.graphics.util.basicobjects  

 

HmiMath
hmi.math Mathematical utility classes for dealing with vectors, quaternions, splines, matrices, filters, etcetera.
hmi.math.digitalfilter Butterworth and Winters filters

 

HmiNeurophysics
hmi.neurophysics Package dealing with models and implementations for neurophysiological laws for human movement, such as Fitts law and Donders law.

 

HmiPhysics
hmi.physics Support for physical simulation of humanoids and other objects; also supports inverse dynamics and physical controllers.
hmi.physics.assembler  
hmi.physics.controller  
hmi.physics.featherstone  
hmi.physics.inversedynamics  
hmi.physics.ode  

 

Semaine
hmi.environment.semaine Bridging for several Elckerlyc modules to the SEMAINE API.

 

HmiSensors
hmi.sensors.eyebox2 API for accessing the Xuuk EyeBox2 eye contact sensor.
hmi.sensors.eyebox2.aggregate  
hmi.sensors.eyebox2.directaccess  
hmi.sensors.eyebox2.util  

 

HmiTestUtil
hmi.testutil Packages with util classes for JUnit testing and for run-time testing of Elckerlyc.
hmi.testutil.animation  
hmi.testutil.bml.feedback  
hmi.testutil.math  
hmi.testutil.tts  

 

HmiTTS
hmi.tts Classes and interfaces for TTS Generation, independent of actual TTS systems such as SAPI5 or MARYTTS.
hmi.tts.mary Implementation of TTSGenerator specifically for MARYTTS.
hmi.tts.sapi5 Implementation of TTSGenerator specifically for SAPI5 voices.
hmi.tts.util  

 

HmiUtil
hmi.util NO PACKAGE DOCUMENTATION

 

HmiXml
hmi.xml Support for reading and writing XML.
hmi.xml.wrap NO PACKAGE DOCUMENTATION

 

This is the API specification of the core HMI packages. Please note that an important part of the documentation can also be found in the following PDF files: