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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jclipplanes.py

?? matlab aamtool box
?? PY
字號:
# Copyright 2006, Karljohan Lundin#"""This file provides extra functionality to the VHTK package. Formore information read the comments for the included classes. This file is part of Volume Haptics Toolkit. Volume Haptics Toolkit 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. Volume Haptics Toolkit 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 Volume Haptics Toolkit; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA"""from H3D import *from H3DInterface import *GRAB_DISTANCE  = 0.01SMALL_DISTANCE = 0.005refs = references.getValue()# Clipped groupgroupA = refs[0]# Unclipped group for iconsif len(refs) > 1:  groupB = refs[1]else:  groupB = groupA# LocalInfo for the groupsif len(refs) > 2:  info = refs[2]else:  info = None# An icon shapeif len(refs) > 3:  icon = refs[3]else:  icon = createX3DNodeFromString( """   <Group>   <MagneticPointEffect springConstant="200" startDistance="0.01" escapeDistance="0.01" />    <Shape>     <Appearance DEF="APP">      <Material diffuseColor=".4 .3 .8"/>     </Appearance>     <Sphere radius="0.005"/>    </Shape>    <Transform      translation="0 0 0.008"      rotation="1 0 0 1.570796">     <Shape>      <Appearance USE="APP"/>      <Cone bottomRadius="0.004" height="0.015"/>     </Shape>    </Transform>   </Group>  """ )[0]class ClipPlanes(TypedField(AutoUpdate(SFBool),                            (SFBool,SFVec3f,SFRotation))):  """ClipPlanes allows the user to interactively control clipplanes  in a scene. A button click adds a clipplane at the current  position with the current orientation. The plane can then be moved  and rotated. Previously added planes can be interactively moved  and rotated, and removed.    The following must be provided through the "references" field:  1) the group node which should be clipped  The following may also be provided through the "references" field:  1) a identically transformed group for clipplane icons,  2) an identically transformed LocalInfo node,  3) an icon for the clipplanes.    To the provided field clipPlanes the following must be routed:  1) the button to control the clipplanes with,  2) the position to control the clipplanes, and  3) the orientation to control the clipplanes.  """      def __init__(self):    AutoUpdate(SFBool).__init__(self)    self.button = 0    self.clipplanes = []      def update(self,event):    try:      input = self.getRoutesIn()      button = input[0].getValue()      position = input[1].getValue()      orientation = input[2].getValue()      self_button = self.button    except:      return 0        if button == 1 and self_button == 0:      # Note on using this script multiple times with several volumes:      # Bounding box checking with the volumes is needed to see in which      # volume space we are when placing a new clipping plane.      # For moving the planes we will encounter problems when two planes      # From the different volumes are within grabing distance; both      # planes will be moved. This might be resolved with a global switch that      # tells us the name of the selected volume, provided we can access the volume      # through here in order to know which copy of the script we are accessing            self.current_plane = None      for clipplane in self.clipplanes:        if ( clipplane[0].point.getValue()             - position ).length() < GRAB_DISTANCE * self.scaling:          self.current_plane = clipplane            if self.current_plane == None:        plane = createX3DNodeFromString( """         <PointNormalClipPlane />        """ )[0]        plane_shape = createX3DNodeFromString( """         <Transform>         </Transform>        """ )[0]        plane_shape.children.push_back(icon)                if info != None:          M = info.accInverseMatrix.getValue().getScaleRotationPart()          s = 0.57735 * Vec3f( ( M * Vec3f(1,0,0) ).length(),                               ( M * Vec3f(0,1,0) ).length(),                               ( M * Vec3f(0,0,1) ).length() ).length()          plane_shape.scale.setValue( Vec3f(s,s,s) )          self.scaling = s                children = groupA.children.getValue()        children.insert( len(self.clipplanes), plane )        groupA.children.setValue(children)                children = groupB.children.getValue()        children.insert( len(self.clipplanes), plane_shape )        groupB.children.setValue(children)                self.clipplanes.append( (plane,plane_shape) )        self.current_plane = self.clipplanes[-1]        self.newly_added = True              else:        self.newly_added = False            self.current_plane[0].point.setValue( position )      self.current_plane[0].normal.setValue( Matrix3f(orientation)                                             * Vec3f(0,0,-1) )      self.current_plane[1].translation.setValue( position )      self.current_plane[1].rotation.setValue( orientation )            self.start_position = position      self.start_orientation = orientation      transformChildren = self.current_plane[1].children.getValue()      transformChildren[0].children.getValue()[0].springConstant.setValue(0)      self.current_plane[1].children.setValue(transformChildren)    elif button == 1 and self_button == 1:      self.current_plane[0].point.setValue( position )      self.current_plane[0].normal.setValue( Matrix3f(orientation)                                             * Vec3f(0,0,-1) )      self.current_plane[1].translation.setValue( position )      self.current_plane[1].rotation.setValue( orientation )      transformChildren = self.current_plane[1].children.getValue()      transformChildren[0].children.getValue()[0].springConstant.setValue(0)      self.current_plane[1].children.setValue(transformChildren)    elif button == 0 and self_button == 1:      transformChildren = self.current_plane[1].children.getValue()      transformChildren[0].children.getValue()[0].springConstant.setValue(200)      self.current_plane[1].children.setValue(transformChildren)      if not self.newly_added \         and ( position - self.start_position ).length() \             < SMALL_DISTANCE * self.scaling \         and ( Matrix3f(self.start_orientation) * Vec3f(1,0,0) -               Matrix3f(orientation) * Vec3f(1,0,0) ).length() < 0.1:        children = groupA.children.getValue()        children.remove( self.current_plane[0] )        groupA.children.setValue(children)              children = groupB.children.getValue()        children.remove( self.current_plane[1] )        groupB.children.setValue(children)              self.clipplanes.remove( self.current_plane )        self.current_plane = None        self.button = button    return 1clipPlanes = ClipPlanes()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av电影免费在线观看| 亚洲国产欧美在线人成| 国产一区二区剧情av在线| 欧美色图一区二区三区| 又紧又大又爽精品一区二区| 91黄视频在线观看| 性欧美大战久久久久久久久| 7777女厕盗摄久久久| 激情都市一区二区| 国产精品美日韩| 欧美影院午夜播放| 免费成人深夜小野草| 久久精品水蜜桃av综合天堂| 成人久久视频在线观看| 亚洲欧美一区二区三区久本道91| 欧美日韩中文字幕一区| 人人狠狠综合久久亚洲| 亚洲国产高清不卡| 在线观看www91| 国产综合久久久久影院| 日韩一区中文字幕| 91精品国产乱| 成人激情午夜影院| 亚洲国产成人tv| 国产午夜精品久久久久久久| 欧亚一区二区三区| 九色|91porny| 亚洲欧美另类久久久精品| 日韩精品影音先锋| av成人老司机| 久久精品99国产精品| 国产精品理伦片| 欧美成人官网二区| 日本电影欧美片| 国产一区二区久久| 亚洲va国产天堂va久久en| 久久美女高清视频| 欧美男男青年gay1069videost| 国产精品综合二区| 日本中文字幕不卡| 亚洲精品日日夜夜| 欧美激情一区二区在线| 91精品国产综合久久蜜臀| caoporm超碰国产精品| 久久精品国产99国产精品| 亚洲综合一区二区| 国产精品国产自产拍高清av王其| 5月丁香婷婷综合| 91色综合久久久久婷婷| 国产成人综合自拍| 免费成人美女在线观看| 亚洲成av人片在线观看无码| 中文字幕在线不卡视频| 国产亚洲精品超碰| 日韩一区二区影院| 欧美电影在线免费观看| 一本大道av一区二区在线播放| 国产精品一色哟哟哟| 日本欧美一区二区| 亚洲成人av免费| 一区二区三区产品免费精品久久75| 欧美国产国产综合| 国产日韩高清在线| 久久精品这里都是精品| 日韩欧美成人午夜| 日韩欧美成人激情| 日韩女优视频免费观看| 日韩一级片在线观看| 欧美高清视频不卡网| 欧美亚洲一区三区| 欧美性猛片aaaaaaa做受| 一道本成人在线| 在线中文字幕一区二区| 在线观看www91| 欧洲亚洲国产日韩| 欧美日韩亚洲丝袜制服| 欧美在线free| 欧美日韩一区二区在线观看视频| 色婷婷精品久久二区二区蜜臀av | 久久亚洲一区二区三区明星换脸 | 麻豆一区二区三| 蜜臀av在线播放一区二区三区| 日韩国产一二三区| 麻豆精品久久精品色综合| 麻豆精品视频在线观看免费| 麻豆精品在线看| 国产一区欧美日韩| 国产成人一级电影| 99精品久久久久久| 欧美视频一区在线观看| 91精品国产综合久久久久久久 | 亚洲一区二区av电影| 性久久久久久久| 伦理电影国产精品| 国产v综合v亚洲欧| 91在线一区二区三区| 欧美中文字幕不卡| 日韩精品资源二区在线| 国产午夜亚洲精品羞羞网站| 中文字幕在线观看一区| 亚洲成人一二三| 狠狠色丁香婷综合久久| 99精品黄色片免费大全| 欧美日产在线观看| 久久久.com| 一区二区三国产精华液| 日本va欧美va欧美va精品| 国产成人av电影在线播放| 在线视频一区二区三区| 日韩一区二区三区免费看 | 91精品国产品国语在线不卡| 久久婷婷一区二区三区| 成人免费小视频| 蜜桃av一区二区| 成人动漫精品一区二区| 欧美日韩亚洲国产综合| 国产日韩一级二级三级| 夜夜揉揉日日人人青青一国产精品| 青青草97国产精品免费观看无弹窗版 | 欧美日韩三级视频| 国产午夜亚洲精品不卡| 亚洲电影一区二区三区| 国产精品69毛片高清亚洲| 欧美性生活影院| 久久九九久久九九| 日日夜夜精品免费视频| 国产91精品在线观看| 欧美美女一区二区在线观看| 欧美国产精品专区| 美女一区二区三区在线观看| 91麻豆免费观看| 亚洲精品一区二区精华| 无吗不卡中文字幕| 99久久国产免费看| 久久九九久精品国产免费直播| 亚洲午夜一区二区| 99r精品视频| 久久人人爽人人爽| 丝袜美腿亚洲色图| 色综合一个色综合亚洲| 国产午夜亚洲精品午夜鲁丝片| 日韩和欧美的一区| 色噜噜狠狠成人中文综合| 久久精品免视看| 久久99热这里只有精品| 精品视频在线免费看| 亚洲猫色日本管| 99久久er热在这里只有精品15| 久久久久成人黄色影片| 久久se这里有精品| 制服视频三区第一页精品| 亚洲一区中文日韩| 色综合激情五月| 国产精品毛片高清在线完整版| 国产在线精品免费| 日韩精品在线网站| 人妖欧美一区二区| 6080yy午夜一二三区久久| 亚洲福利视频导航| 欧美色成人综合| 亚洲大型综合色站| 欧美日韩在线观看一区二区 | 欧美经典一区二区| 国产一区二区三区日韩 | 欧美日韩亚洲综合在线 | 精品久久久久一区二区国产| 午夜视频一区二区| 欧美乱妇20p| 美女看a上一区| 日韩一级欧美一级| 国产揄拍国内精品对白| 午夜精品福利在线| 欧美日韩情趣电影| 日韩专区在线视频| 777午夜精品免费视频| 日本欧美久久久久免费播放网| 日韩女优av电影在线观看| 狠狠网亚洲精品| 久久亚洲一区二区三区明星换脸| 国产在线日韩欧美| 欧美国产综合色视频| 99综合影院在线| 亚洲网友自拍偷拍| 日韩视频中午一区| 国产成人午夜视频| 亚洲免费观看在线观看| 欧美日韩一区精品| 国模一区二区三区白浆| 国产欧美一区二区三区鸳鸯浴| 成年人国产精品| 亚洲第一主播视频| 久久嫩草精品久久久精品一| 成人午夜伦理影院| 亚洲一级二级三级在线免费观看| 欧美精品v日韩精品v韩国精品v| 久热成人在线视频| 国产精品高清亚洲| 91精品国产综合久久婷婷香蕉| 国产一区二区影院| 亚洲精品伦理在线|