/* * 作成日: 2008/06/18 */ package jp.ac.fit.asura.nao.vision; import java.util.EnumMap; import java.util.Map; import jp.ac.fit.asura.nao.Camera; import jp.ac.fit.asura.nao.Context; import jp.ac.fit.asura.nao.Image; import jp.ac.fit.asura.nao.RobotContext; import jp.ac.fit.asura.nao.VisualFrameContext; import jp.ac.fit.asura.nao.vision.perception.BallVision; import jp.ac.fit.asura.nao.vision.perception.BlobVision; import jp.ac.fit.asura.nao.vision.perception.GeneralVision; import jp.ac.fit.asura.nao.vision.perception.GoalVision; import jp.ac.fit.asura.nao.vision.perception.RobotVision; import jp.ac.fit.asura.nao.vision.perception.VisualObject; /** * @author sey * * @version $Id: VisualContext.java 704 2008-10-23 17:25:51Z sey $ * */ public class VisualContext extends Context { private RobotContext robotContext; private VisualFrameContext frameContext; private EnumMap<VisualParam.Boolean, Boolean> boolParams; private EnumMap<VisualParam.Float, Float> floatParams; private EnumMap<VisualParam.Int, Integer> intParams; public Camera camera; public Image image; public byte[] gcdPlane; public byte[] houghPlane; public BlobVision blobVision; public BallVision ballVision; public GoalVision goalVision; public RobotVision robotVision; public GeneralVision generalVision; protected Map<VisualObjects, VisualObject> objects; public VisualContext(RobotContext robotContext) { this.robotContext = robotContext; boolParams = new EnumMap<VisualParam.Boolean, Boolean>( VisualParam.Boolean.class); floatParams = new EnumMap<VisualParam.Float, Float>( VisualParam.Float.class); intParams = new EnumMap<VisualParam.Int, Integer>(VisualParam.Int.class); } public RobotContext getSuperContext() { return robotContext; } /** * @return frameContext */ public VisualFrameContext getFrameContext() { return frameContext; } /** * @param frameContext * セットする frameContext */ void setFrameContext(VisualFrameContext frameContext) { this.frameContext = frameContext; } public VisualObject get(VisualObjects vo) { return objects.get(vo); } public boolean getParam(VisualParam.Boolean key) { if (boolParams.containsKey(key)) return boolParams.get(key).booleanValue(); return key.getDefault(); } public float getParam(VisualParam.Float key) { if (floatParams.containsKey(key)) return floatParams.get(key).floatValue(); return key.getDefault(); } public int getParam(VisualParam.Int key) { if (intParams.containsKey(key)) return intParams.get(key).intValue(); return key.getDefault(); } public void setParam(VisualParam.Boolean key, boolean value) { boolParams.put(key, value); } public void setParam(VisualParam.Float key, float value) { floatParams.put(key, value); } public void setParam(VisualParam.Int key, int value) { intParams.put(key, value); } }