org.cogchar.app.puma.body
Class PumaBodyGateway

java.lang.Object
  extended by org.appdapter.core.log.BasicDebugger
      extended by org.cogchar.app.puma.body.PumaBodyGateway
All Implemented Interfaces:
org.appdapter.core.log.Loggable

public class PumaBodyGateway
extends org.appdapter.core.log.BasicDebugger

Author:
Stu B. A Puma character uses this object to control its embodiment, with or without an OpenGL avatar. Here we create a ModelRobot and connect it to all the Robokind services. Optionally, we also create an OpenGL Avatar, and bind it to the ModelRobot (via HumanoidFigure/State).

Field Summary
 
Fields inherited from interface org.appdapter.core.log.Loggable
IMPO_HI, IMPO_HIHI, IMPO_LO, IMPO_LOLO, IMPO_MAX, IMPO_MIN, IMPO_NORM
 
Constructor Summary
PumaBodyGateway(PumaVirtualWorldMapper vWorldMapper, org.osgi.framework.BundleContext bundleCtx, org.appdapter.core.name.Ident charIdent)
           
 
Method Summary
 void connectBonyRobotToHumanoidFigure()
           
 boolean connectBonyRobotToRobokindAndVWorld(org.osgi.framework.BundleContext bundleCtx, HumanoidConfig hc, org.appdapter.core.name.Ident qGraph, org.appdapter.help.repo.RepoClient qi, BoneCN bqn, List<ClassLoader> clsForRKConf)
           
 void disconnectBonyCharFromRobokindSvcs()
           
protected  ModelRobot getBonyRobot()
          Unsafe access to the Robokind-compliant Cogchar model of an Avatar's joints, at protected scope.
protected  CogcharMotionSource getCogcharMotionSource()
           
protected  HumanoidFigure getHumanoidFigure()
           
protected  HumanoidRenderContext getHumanoidRenderContext()
           
 ModelBlendingRobotServiceContext getRobotServiceContext()
           
protected  boolean initModelRobotUsingBoneRobotConfig(BoneRobotConfig brc)
           
 boolean initVWorldHumanoid(org.appdapter.help.repo.RepoClient qi, org.appdapter.core.name.Ident qGraph, HumanoidConfig hc)
           
protected  void registerFrameReceiver()
           
protected  void startJointGroup(HumanoidConfig hc, List<ClassLoader> possibleCLs)
           
protected  boolean startVisemePump(List<ClassLoader> clsForRKConf)
           
 void updateModelRobotUsingBoneRobotConfig(BoneRobotConfig brc)
           
 
Methods inherited from class org.appdapter.core.log.BasicDebugger
checkDebugImportance, forceLog4jConfig, getLogger, getLoggerForClass, isLoggerUsable, logDebug, logError, logError, logInfo, logInfo, logInfoEvent, logWarning, logWarning, logWithException, setDebugImportanceThreshold, setLogger, useLoggerForClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PumaBodyGateway

public PumaBodyGateway(PumaVirtualWorldMapper vWorldMapper,
                       org.osgi.framework.BundleContext bundleCtx,
                       org.appdapter.core.name.Ident charIdent)
Method Detail

getHumanoidRenderContext

protected HumanoidRenderContext getHumanoidRenderContext()

getBonyRobot

protected ModelRobot getBonyRobot()
Unsafe access to the Robokind-compliant Cogchar model of an Avatar's joints, at protected scope.

Returns:

getRobotServiceContext

public ModelBlendingRobotServiceContext getRobotServiceContext()
Returns:

getCogcharMotionSource

protected CogcharMotionSource getCogcharMotionSource()

initVWorldHumanoid

public boolean initVWorldHumanoid(org.appdapter.help.repo.RepoClient qi,
                                  org.appdapter.core.name.Ident qGraph,
                                  HumanoidConfig hc)
                           throws Throwable
Throws:
Throwable

initModelRobotUsingBoneRobotConfig

protected boolean initModelRobotUsingBoneRobotConfig(BoneRobotConfig brc)
                                              throws Throwable
Parameters:
qi -
brc -
qGraph -
hc -
behavCE -
Returns:
true if the "boneRobot" is "OK". That means it is animatable, but it may or may not have a VWorld humanoid figure.
Throws:
Throwable

startVisemePump

protected boolean startVisemePump(List<ClassLoader> clsForRKConf)

updateModelRobotUsingBoneRobotConfig

public void updateModelRobotUsingBoneRobotConfig(BoneRobotConfig brc)
                                          throws Throwable
Throws:
Throwable

connectBonyRobotToHumanoidFigure

public void connectBonyRobotToHumanoidFigure()
                                      throws Exception
Throws:
Exception

connectBonyRobotToRobokindAndVWorld

public boolean connectBonyRobotToRobokindAndVWorld(org.osgi.framework.BundleContext bundleCtx,
                                                   HumanoidConfig hc,
                                                   org.appdapter.core.name.Ident qGraph,
                                                   org.appdapter.help.repo.RepoClient qi,
                                                   BoneCN bqn,
                                                   List<ClassLoader> clsForRKConf)
                                            throws Throwable
Throws:
Throwable

startJointGroup

protected void startJointGroup(HumanoidConfig hc,
                               List<ClassLoader> possibleCLs)

getHumanoidFigure

protected HumanoidFigure getHumanoidFigure()

registerFrameReceiver

protected void registerFrameReceiver()
                              throws Throwable
Throws:
Throwable

disconnectBonyCharFromRobokindSvcs

public void disconnectBonyCharFromRobokindSvcs()


Copyright © 2010-2013. All Rights Reserved.