本文整理汇总了Java中com.thalmic.myo.Pose类的典型用法代码示例。如果您正苦于以下问题:Java Pose类的具体用法?Java Pose怎么用?Java Pose使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Pose类属于com.thalmic.myo包,在下文中一共展示了Pose类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: reset
import com.thalmic.myo.Pose; //导入依赖的package包/类
public void reset()
{
onArm = false;
whichArm = Arm.UNKNOWN;
currentPose = Pose.UNKNOWN;
accelerationX = 0;
accelerationY = 0;
accelerationZ = 0;
orientationX = 0;
orientationY = 0;
orientationZ = 0;
orientationW = 0;
rollW = 0;
yawW = 0;
pitchW = 0;
Arrays.fill(emg, 0);
}
示例2: MyoThalmic
import com.thalmic.myo.Pose; //导入依赖的package包/类
public MyoThalmic(String n) {
super(n);
pitchW = 0;
yawW = 0;
currentPose = new Pose();
}
示例3: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
currentPose = pose;
if (currentPose.getType() == PoseType.FIST) {
myo.vibrate(VibrationType.VIBRATION_MEDIUM);
}
invoke("publishPose", pose);
}
示例4: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
currentPose = pose;
if (currentPose.getType() == PoseType.FIST) {
myo.vibrate(VibrationType.VIBRATION_MEDIUM);
}
}
示例5: connect
import com.thalmic.myo.Pose; //导入依赖的package包/类
public void connect() {
if (hub == null) {
// FIXME - put in connect
try {
currentPose = new Pose();
hub = new HubProxy();
} catch (Exception e) {
Logging.logError(e);
}
}
if (myo == null) {
info("Attempting to find a Myo...");
myo = hub.waitForMyo(10000);
}
if (myo == null) {
error("Unable to find a Myo");
isConnected = false;
return;
}
info("Connected to a Myo armband!");
hub.addListener(this);
if (hubThread == null) {
hubThread = new HubThread(this);
hubThread.start();
}
isConnected = true;
myo.requestBatteryLevel();
broadcastState();
}
示例6: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
currentPose = pose;
myodata.currentPose = pose.getType().toString();
if (currentPose.getType() == PoseType.FIST) {
myo.vibrate(VibrationType.VIBRATION_MEDIUM);
}
invoke("publishPose", pose);
invoke("publishMyoData", myodata);
}
示例7: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
currentPose = pose;
if (currentPose.getType() == PoseType.FIST) {
myo.vibrate(VibrationType.VIBRATION_MEDIUM);
}
}
示例8: onOrientationData
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long timestamp, Quaternion rotation) {
updateValues(rotation);
if(mPanningEnabled) {
//X Factor
normalizeYaw();
double yawDiff = ((mCurrentYaw - mStartingYaw) * -1.0) / DIV;
if(Math.abs(yawDiff) >= THRESHOLD) {
yawDiff = (yawDiff < 0) ? yawDiff*yawDiff*-1.0 : yawDiff*yawDiff;
xFactor = factorBase + yawDiff;
} else {
xFactor = factorBase;
}
//Y Factor
double pitchDiff = ((mCurrentPitch - mStartingPitch) * -1.0) / DIV;
if(Math.abs(pitchDiff) >= THRESHOLD) {
pitchDiff = (pitchDiff < 0) ? pitchDiff*pitchDiff*-1.0 : pitchDiff*pitchDiff;
yFactor = factorBase + pitchDiff;
} else {
yFactor = factorBase;
}
if(mPanTimer == null) {
mPanTimer = new Timer();
mPanTimer.schedule(new PanTimerTask(), 0, 16 /*16ms ensure 60Hz refresh rate*/);
}
}
if(myo.isUnlocked() && mCurrentPose == Pose.FIST) {
normalizeRoll();
double rollDiff = mCurrentRoll - mStartingRoll;
if(Math.abs(rollDiff) >= 5.0) {
double newRoll = mMapView.getRotationAngle() + rollDiff;
mMapView.setRotationAngle(newRoll);
}
}
}
示例9: onOrientationData
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long timestamp, Quaternion rotation) {
updateValues(rotation);
if(mPanningEnabled) {
//X Factor
normalizeYaw();
double yawDiff = ((mCurrentYaw - mStartingYaw) * -1.0) / DIV;
if(Math.abs(yawDiff) >= THRESHOLD) {
yawDiff = (yawDiff < 0) ? yawDiff*yawDiff*-1.0 : yawDiff*yawDiff;
xFactor = factorBase + yawDiff;
} else {
xFactor = factorBase;
}
//Y Factor
double pitchDiff = ((mCurrentPitch - mStartingPitch) * -1.0) / DIV;
if(Math.abs(pitchDiff) >= THRESHOLD) {
pitchDiff = (pitchDiff < 0) ? pitchDiff*pitchDiff*-1.0 : pitchDiff*pitchDiff;
yFactor = factorBase + pitchDiff;
} else {
yFactor = factorBase;
}
if(mPanTimer == null) {
mPanTimer = new Timer();
mPanTimer.schedule(new PanTimerTask(), 0, 16 /*16ms ensures 60Hz refresh rate*/);
}
}
if(myo.isUnlocked() && mCurrentPose == Pose.FIST) {
normalizeRoll();
double rollDiff = mCurrentRoll - mStartingRoll;
if(Math.abs(rollDiff) >= 5.0) {
double newRoll = mMapView.getRotationAngle() + rollDiff;
mMapView.setRotationAngle(newRoll);
}
}
}
示例10: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
super.onPose(myo, timestamp, pose);
// doesn't lock the Myo until an explicit action is done
// such as myo.lock()
myo.unlock(Myo.UnlockType.HOLD);
// unused cases are in the following list just for tutorial purposes
switch (pose) {
case DOUBLE_TAP:
// double tap works as a locker/unlocker
myo.lock();
break;
case WAVE_IN:
mCallback.onPoseRecognition(Actions.LEFT);
break;
case WAVE_OUT:
mCallback.onPoseRecognition(Actions.RIGHT);
break;
case REST:
// noop
break;
case FIST:
mCallback.onPoseRecognition(Actions.FORWARD);
break;
case FINGERS_SPREAD:
mCallback.onPoseRecognition(Actions.BACKWARD);
break;
case UNKNOWN:
// noop
break;
}
}
示例11: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long l, Pose pose)
{
currentPose = pose;
}
示例12: onPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
// Handle the cases of the Pose enumeration
Gesture gesture = null;
switch (pose) {
case UNKNOWN:
gesture = Gesture.UNKNOWN;
break;
case REST:
gesture = Gesture.REST;
break;
case DOUBLE_TAP:
gesture = Gesture.DOUBLE_TAP;
break;
case FIST:
gesture = Gesture.FIST;
break;
case WAVE_IN:
gesture = Gesture.WAVE_IN;
break;
case WAVE_OUT:
gesture = Gesture.WAVE_OUT;
break;
case FINGERS_SPREAD:
gesture = Gesture.FINGERS_SPREAD;
break;
}
MyoGestureDataFrame frame = new MyoGestureDataFrame(MyoSensor.this, timestamp, gesture);
sendNewData(frame);
if (pose != Pose.UNKNOWN && pose != Pose.REST) {
// Tell the Myo to stay unlocked until told otherwise. We do that here so you can
// hold the poses without the Myo becoming locked.
myo.unlock(Myo.UnlockType.HOLD);
// Notify the Myo that the pose has resulted in an action, in this case changing
// the text on the screen. The Myo will vibrate.
myo.notifyUserAction();
} else {
// Tell the Myo to stay unlocked only for a short period. This allows the Myo to
// stay unlocked while poses are being performed, but lock after inactivity.
myo.unlock(Myo.UnlockType.TIMED);
}
}
示例13: addPoseListener
import com.thalmic.myo.Pose; //导入依赖的package包/类
public void addPoseListener(Service service){
addListener("publishPose", service.getName(), "onPose", Pose.class);
}
示例14: publishPose
import com.thalmic.myo.Pose; //导入依赖的package包/类
public Pose publishPose(Pose pose){
return pose;
}
示例15: DataCollector
import com.thalmic.myo.Pose; //导入依赖的package包/类
public DataCollector() {
rollW = 0;
pitchW = 0;
yawW = 0;
currentPose = new Pose();
}