Package hmi.environment

This package contains several base classes that facilitate easy access to building an environment with graphics, physics and virtual human animation.

See:
          Description

Interface Summary
PoisonPillRunnable Marker interface to indicate the final Runnable.
 

Class Summary
ElckerlycDemo Elckerlyc demo.
ElckerlycDemoEnvironment Adds mixed dynamics animatino to PhysicalDemoEnvironment, plus a lot of other functionlaity for creating, managing and controlling virtual humans with body, voices, bmlrealizer, etc.
ElckerlycDemoEnvironment.ToggleVHUIListener Toggle visibility of given VHUI...
GLTextureWow 2D texture.
GraphicsDemoEnvironment Graphical demo helper class, contains a key navigator, 3D environment with checkerboard ground, play button and some useful function hooks for subclasses.
HmiEnvironmentAutoBehaviourCallback  
Info The Info class is intended to be used as "Main class" when the package is jarred.
NavigationControl A simple form of keyboard based NavigationScene module.
PhysicalDemoEnvironment Extends GraphicsDemoEnvironment with a physical world and physical simulation.
PhysicalDemoEnvironment.Sleeper Added as a hack to enforce high precision timing
VirtualHumanUI A graphical UI to a VirtualHuman, allowing for a few simple interactions with the virtual human such as changing it's voice and sending BML to it.
XuukTargetMover Needs to be connected to a SingleUserTracker
 

Package hmi.environment Description

This package contains several base classes that facilitate easy access to building an environment with graphics, physics and virtual human animation.

This documentation is under construction. This documentation is under construction. This documentation is under construction. This documentation is under construction. This documentation is under construction. This documentation is under construction. This documentation is under construction. This documentation is under construction.

Types of Demo Environments

There are three types of demo environment, that extend each other to add progressively more functionality. The third one, ElckerlycDemoEnvironment, offers a complete environment for multiple Virtual Humans with mixed dynamics animation, TTS generation, and, upon request, a dedicated BMLRealizer for each Virtual Human.

GraphicsDemoEnvironment: This environment is responsible for creating a graphical scene, with rendering and some basic navigation, and for building a basic UI (frame, canvas, toolbar with reset button, etc).

PhysicsDemoEnvironment: This environment extends the graphics environment with basic world physics.

ElckerlycDemoEnvironment: This environment builds upon the previous two, and allows one to request the creation of a Virtual Human with all kinds of properties (different bodies, BMLRealizer yes or no, voice type, etc). These requests are specified using a VirtualHumanSpec, and the pointers to resulting AnimationPlayer and Verbalplanner and other important objects for the created VirtualHuman are stored in the VirtualHumanSpec, too.

How to use the Demo Environments

Construct demo environment; call init(); call startAll();

Each type of demo environment will, upon calling init(), perform a series of basic tasks to set up the environment. These tasks are done in a particular order (e.g., the basic scene must be set up before objects can be added to it, etc) in separate initXX() methods. To build a specific demo, one can extend or override these initXX() methods. Don't forget to take into account the state of the environment before and after execution of each method (e.g., before initWorldPhysics() has been executed, there is no phsyics simulation available yet in PhysicsDemoEnvironment).

Detailed documentation for each type of environment can be found in the class documentation of each; inspecting the source of these classes can be very helpful, too.

A number of example applications in which different types of demo environment are used, can be found in the package environment.examples