亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? baseobject.java

?? 一款機器人仿真軟件,功能上與microsoft robotics studio有些相似,但基于Java平臺.突出特點是給出了傳感器仿真,如聲納,激光等.
?? JAVA
字號:
/* *  Simbad - Robot Simulator *  Copyright (C) 2004 Louis Hugues * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful,  *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * ----------------------------------------------------------------------------- * $Author: sioulseuguh $  * $Date: 2005/08/07 12:24:57 $ * $Revision: 1.11 $ * $Source: /cvsroot/simbad/src/simbad/sim/BaseObject.java,v $ *  * Note :  LH - 12/08/2005 made class public. */package simbad.sim;import javax.media.j3d.Bounds;import javax.media.j3d.BranchGroup;import javax.media.j3d.Group;import javax.media.j3d.Material;import javax.media.j3d.Node;import javax.media.j3d.Transform3D;import javax.media.j3d.TransformGroup;import javax.vecmath.Color3f;import javax.vecmath.Vector3d;import javax.vecmath.Vector3f;/** * Base class for all objects added in the environment. It mainly contains the translation and * rotation transform groups- Descendants should * override create3D and call super.create3D(). * */public  abstract class BaseObject {    /** Material used for the object body.*/    Material material;    /** Branch group corresponding to this object */    BranchGroup branchGroup;    /** rotation applied to this object */    TransformGroup rotationGroup;    /** translation applied  to this object */    TransformGroup translationGroup;    /** Link back to containing world.*/    World world;        /** indicates that the object is detached from the scenegraph. */    protected boolean detachedFromSceneGraph;         /**  A Group to attach all sub objects.  */    Group group;    /** Current rotation transform  - same  transform as in rotationGroup */     Transform3D rotation;    /** Current translation transform  - same transform as in translationGroup */     Transform3D translation;        /** A prepared color */    static Color3f black = new Color3f(0.0f, 0.0f, 0.0f);    /** A prepared color */    static Color3f white = new Color3f(1.0f, 1.0f, 1.0f);    /** Indicates that the wall object branch can be compiled to optimize sceneGraph */     boolean compilable;        /** keep direct pointer onto bounds object associated  to group node. */    protected Bounds localBounds;    /** if true the  object can be traversed - no collision  */    boolean canBeTraversed;        BaseObject() {        compilable = false;          canBeTraversed = false;        // Material for object body.        material = new Material();        material.setCapability(Material.ALLOW_COMPONENT_WRITE);           }    /** Translates (relative to current pos) the object to given position. */    public void translateTo(Vector3d t) {        Transform3D t3d = new Transform3D();        t3d.setTranslation(t);        translation.mul(t3d);        translationGroup.setTransform(translation);             }    /** Rotates (relative to current rotation) the object about Y axis. */   public void rotateY(double angle) {        Transform3D t3d = new Transform3D();        t3d.rotY(angle);        rotation.mul(t3d);        rotationGroup.setTransform(rotation);    }   /** Resets translation and rotation transforms. */   	void resetTransforms(){        translation.setIdentity();        rotation.setIdentity();        translationGroup.setTransform(translation);        rotationGroup.setTransform(rotation);   	}      	/** Create the object geometry. */    void create3D(boolean allowTransformReadWrite) {        //STRUCTURE Branch group->Translation Transform Group -> Rotation Transform Group->Group                branchGroup = new BranchGroup();        branchGroup.setCapability(BranchGroup.ALLOW_LOCAL_TO_VWORLD_READ);        branchGroup.setCapability(BranchGroup.ALLOW_DETACH);                translation = new Transform3D();        translation.setIdentity();        translationGroup = new TransformGroup();        translationGroup.setTransform(translation);        branchGroup.addChild(translationGroup);        if (allowTransformReadWrite){      		        translationGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);	        translationGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);	        translationGroup.setCapability(TransformGroup.ALLOW_LOCAL_TO_VWORLD_READ);	        translationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_TRANSFORM_WRITE);	        translationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_TRANSFORM_READ);	        translationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_LOCAL_TO_VWORLD_READ);        }        // rotation transform        rotation = new Transform3D();        rotation.setIdentity();        rotationGroup = new TransformGroup();        rotationGroup.setTransform(rotation);        translationGroup.addChild(rotationGroup);        if (allowTransformReadWrite){      		        rotationGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);	        rotationGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);	        rotationGroup.setCapability(TransformGroup.ALLOW_LOCAL_TO_VWORLD_READ);	        rotationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_TRANSFORM_READ);	        rotationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_TRANSFORM_WRITE);	        rotationGroup.setCapabilityIsFrequent(TransformGroup.ALLOW_LOCAL_TO_VWORLD_READ);        }        // Create group to attach all gemotries        group = new Group();        group.setCapability(Group.ALLOW_LOCAL_TO_VWORLD_READ);        // we want to setup the bounds manually        group.setBoundsAutoCompute(false);     //   group.setCapability(Group.ALLOW_BOUNDS_READ); // No more needed, use localBounds        rotationGroup.addChild(group);                }    void compile(){        if (compilable) branchGroup.compile();    }    final Node getNode() {        return branchGroup;    }    protected void addChild(BaseObject object) {        group.addChild(object.getNode());    }    final void addChild(Node node) {        group.addChild(node);      }    Vector3f getTranslation() {        Vector3f v = new Vector3f();        translation.get(v);        return v;    }    TransformGroup getRotationTransformGroup(){        return rotationGroup;    }    TransformGroup getTranslationTransform(){        return translationGroup;    }    Group getGroup(){ return group;}            /** Sets the bounds object for collision/interaction detection */    void setBounds(Bounds bounds){        localBounds = bounds;        group.setBounds(bounds);    }    Bounds getBounds (){        return localBounds;       // return group.getBounds();    }      	 /**	  * Obtain  translation transform.	 */	public void getTranslationTransform(Transform3D t){	    t.set(translation);	}	 /**	  * Obtain  rotation transform.	 */	public void getRotationTransform(Transform3D t){	    t.set(rotation);	}	/** Sets the containing world.*/	protected void setWorld(World world){	    this.world = world;	}	    /** Removes object from the scenegraph. */    public void detach(){                world.detach(this);        detachedFromSceneGraph = true;    }    /** Re-add object to the scenegraph. */    public void attach(){        world.attach(this);        detachedFromSceneGraph = false;    }        /** Sets the canBeTraversed Flag. */    public void setCanBeTraversed(boolean canbetraversed){        this.canBeTraversed = canbetraversed;    }       /** Gets the canBeTraversed Flag. */    public boolean getCanBeTraversed(){        return canBeTraversed;    }     	 /** Change the color while the  simulation is running.*/    public void setColor(Color3f color){        material.setDiffuseColor(color);        material.setAmbientColor(color);    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产伦精品一区二区三区免费 | 136国产福利精品导航| 亚洲欧洲性图库| 轻轻草成人在线| 色菇凉天天综合网| 久久精品一区二区三区不卡| 视频在线观看一区| 96av麻豆蜜桃一区二区| 久久久精品天堂| 欧美变态凌虐bdsm| 夜色激情一区二区| 成人动漫中文字幕| 国产亚洲视频系列| 日精品一区二区三区| av电影在线观看一区| 久久精品亚洲一区二区三区浴池 | 久久麻豆一区二区| 日本特黄久久久高潮| 欧美日韩精品欧美日韩精品一| 日韩一区中文字幕| 99视频一区二区三区| 国产午夜精品理论片a级大结局| 日本欧美一区二区在线观看| 欧美日韩国产一区二区三区地区| 亚洲蜜臀av乱码久久精品蜜桃| 成人美女视频在线观看| 国产欧美精品一区二区色综合朱莉| 欧美精品1区2区| 666欧美在线视频| 亚洲一级片在线观看| 欧美在线free| 亚洲永久免费视频| 在线欧美小视频| 亚洲国产va精品久久久不卡综合| 91免费在线视频观看| 亚洲欧洲综合另类| 色婷婷亚洲精品| 一区二区三区日韩在线观看| 日本乱人伦一区| 亚洲愉拍自拍另类高清精品| 欧美乱妇23p| 久久成人av少妇免费| 日韩欧美国产一区二区在线播放| 麻豆一区二区三区| 久久一留热品黄| 成人免费电影视频| 综合亚洲深深色噜噜狠狠网站| 色呦呦网站一区| 亚洲成a人片在线不卡一二三区| 制服视频三区第一页精品| 日本sm残虐另类| 久久综合一区二区| 本田岬高潮一区二区三区| 亚洲精品国产精华液| 欧美日韩成人激情| 国精产品一区一区三区mba桃花| 国产亚洲一区二区三区| 91久久精品午夜一区二区| 日韩精品欧美精品| 久久久久国产精品麻豆ai换脸| 国产激情精品久久久第一区二区| 亚洲视频在线一区| 6080午夜不卡| 99国产精品一区| 日韩电影在线观看电影| 久久精品水蜜桃av综合天堂| 91美女蜜桃在线| 久久97超碰国产精品超碰| 亚洲国产电影在线观看| 欧美美女直播网站| 国产·精品毛片| 日韩专区在线视频| 国产精品麻豆视频| 日韩欧美在线不卡| 不卡一区在线观看| 久久99国产精品免费网站| 亚洲欧美激情插| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久精品国产久精国产| 亚洲精品欧美二区三区中文字幕| 日韩一区二区精品葵司在线| 色综合天天天天做夜夜夜夜做| 免费成人在线网站| 一区二区三区四区视频精品免费| www成人在线观看| 欧美日本韩国一区二区三区视频 | 国产精品久久久久影院色老大| 欧美人伦禁忌dvd放荡欲情| 不卡的看片网站| 国产呦萝稀缺另类资源| 视频一区免费在线观看| 亚洲综合免费观看高清完整版在线| 精品国产一区二区三区av性色| 在线视频亚洲一区| 99精品视频在线观看免费| 国模少妇一区二区三区| 日韩电影免费在线观看网站| 亚洲欧美日韩中文字幕一区二区三区| 久久久久久99精品| 日韩欧美在线网站| 51精品久久久久久久蜜臀| 色婷婷av久久久久久久| 成人av中文字幕| 成人永久免费视频| 成人激情午夜影院| 国产福利精品导航| 国产福利91精品一区二区三区| 久久99国产精品久久99| 久久精品国产免费| 久久超碰97人人做人人爱| 日韩精品免费专区| 日韩av中文字幕一区二区| 亚洲成人动漫av| 日韩精品国产欧美| 奇米一区二区三区av| 日本亚洲免费观看| 看电影不卡的网站| 激情亚洲综合在线| 国产成人欧美日韩在线电影| 国产精品亚洲成人| 成人白浆超碰人人人人| 99精品热视频| 色综合久久综合| 欧美三区在线视频| 日韩视频在线观看一区二区| 日韩精品一区二区三区四区视频 | 成人丝袜18视频在线观看| 国产成a人无v码亚洲福利| 床上的激情91.| 色综合色综合色综合色综合色综合 | 欧美日韩中文字幕一区二区| 欧美日韩大陆在线| wwwwxxxxx欧美| 亚洲日韩欧美一区二区在线| 亚洲一区二区高清| 蜜桃精品视频在线观看| 国产成人在线视频网站| av不卡在线观看| 日本国产一区二区| 欧美大片拔萝卜| 国产精品久久久久久久久免费桃花| 国产精品久久久久久久久免费樱桃 | 精品一区二区三区香蕉蜜桃 | 韩日欧美一区二区三区| voyeur盗摄精品| 欧美日韩另类一区| 精品国产乱码久久久久久久| 国产女人18水真多18精品一级做| 亚洲精品国产一区二区精华液| 日本成人在线电影网| 成人精品免费看| 欧美日韩aaaaa| 国产三级精品三级在线专区| 一区二区成人在线| 国产精品一区二区视频| 91小视频在线| 亚洲精品在线一区二区| 一区二区三区中文在线观看| 韩国一区二区三区| 欧美日韩免费观看一区三区| 中文字幕第一区二区| 日韩专区欧美专区| 91色porny| 国产丝袜欧美中文另类| 天天操天天色综合| 成人不卡免费av| 久久综合色鬼综合色| 亚洲无人区一区| 99re这里只有精品视频首页| 精品国产91亚洲一区二区三区婷婷| 亚洲另类春色校园小说| 国产精品白丝jk黑袜喷水| 欧美一区二区三区免费| 一片黄亚洲嫩模| 成人午夜伦理影院| 亚洲精品一区二区三区福利| 天天爽夜夜爽夜夜爽精品视频| 91麻豆精品视频| 欧美激情一区在线| 国产一区在线视频| 欧美一级搡bbbb搡bbbb| 性久久久久久久久| 91精品办公室少妇高潮对白| 中文字幕一区二区三区四区不卡| 国产乱理伦片在线观看夜一区| 欧美精品久久久久久久久老牛影院| 亚洲久本草在线中文字幕| 丁香五精品蜜臀久久久久99网站| 欧美mv日韩mv| 日本一道高清亚洲日美韩| 欧美综合一区二区三区| 亚洲精品久久7777| 在线一区二区视频| 亚洲欧美精品午睡沙发| 91亚洲午夜精品久久久久久| 成人欧美一区二区三区| 成人av在线资源网站| 中文字幕在线一区| 99久久99久久久精品齐齐| 一区视频在线播放|