home *** CD-ROM | disk | FTP | other *** search
/ The Best of Windows 95.com 1996 September / WIN95_09962.iso / vrml / cp2b2x.exe / DATA.Z / vsinit.tcl < prev    next >
Text File  |  1996-04-23  |  15KB  |  469 lines

  1. #*-----------------------------------------------------------------------
  2. # * Copyright(C) 1995 Sony Corporation
  3. # * All Rights Reserved.
  4. # *
  5. # * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Sony Corporation;
  6. # * the contents of this file is not to be disclosed to third parties, copied
  7. # * or duplicated in any form, in whole or in part, without the prior written
  8. # * permission of Sony Corporation.
  9. # *
  10. # * File:   vsinit.tcl
  11. # * Auther: sugino
  12. # *
  13. # History:
  14. #      1.02 95/12/20: Camera, Light attributes added.
  15. #      1.03 96/02/02: vscp wrapper added.
  16. #      1.04 96/02/14: vscp enum flg.
  17. #      1.05 96/02/14: CameraID vsMirrorCamera added.
  18. #      1.06 96/02/15: Myself,SetAttr,ApplSpecific event id added. 
  19. #      1.06 96/02/15: vstkCName2Rgb added. 
  20. #      1.06 96/02/15: vsTclError changed .
  21. #      1.07 96/03/22: add vscpSendKeepConnection.
  22. #      1.08 96/03/29: add return status of vscpGetSockState.
  23. #      1.08 96/03/29: add ID for vsMenuStatus, vsButtonStatus.
  24. # *$Id$
  25. # *---------------------------------------------------------------------
  26. set vsVersion 1.08
  27.  
  28. #**********************************************************
  29. # material.h:VsMaterialAttribute
  30. #**********************************************************
  31. set vsAllMaterialAttribute  0
  32. set vsAmbient               1
  33. set vsDiffuse               2
  34. set vsSpecular              3
  35. set vsEmissive              4
  36. set vsShininess             5
  37. set vsTransparency          6
  38. set vsMaterialAttributeSize 7
  39.  
  40. #**********************************************************
  41. # transfar.h:VsCoordSystem
  42. #**********************************************************
  43. set vsCSLocal        0
  44. set vsCSWorld        1
  45. set vsCSParent       2
  46. set vsCSRelative     3
  47.  
  48. #**********************************************************
  49. # transfer.h:VsTransferMode
  50. #**********************************************************
  51. set vsAbsolute       0
  52. set vsRelative       1
  53.  
  54. #**********************************************************
  55. # timeout.h:VsTaskType
  56. #**********************************************************
  57. set vsSporadicTask   0
  58. set vsPeriodicTask   1
  59.  
  60. #**********************************************************
  61. # event.h:VsBitMask(VsEventType)
  62. #**********************************************************
  63. set vsNoEvent           0
  64. set vsDFeventEOF    25
  65. set vsKeyDown           [expr 1<<0]
  66. set vsKeyUp             [expr 1<<1]
  67. set vsCollision         [expr 1<<2]
  68. #*--------------------------------------------------------
  69. # mouse event 
  70. #*--------------------------------------------------------
  71. set vsLeftButtonUp     [expr 1<<3]
  72. set vsLeftButtonDown   [expr 1<<4]
  73. set vsMiddleButtonUp   [expr 1<<5]
  74. set vsMiddleButtonDown [expr 1<<6]
  75. set vsRightButtonUp    [expr 1<<7]
  76. set vsRightButtonDown  [expr 1<<8]
  77.  
  78. set vsWorldIn          [expr 1<<9]
  79. set vsWorldOut         [expr 1<<10]
  80.  
  81. set vsCreateNotify     [expr 1<<11]
  82. set vsDeleteNotify     [expr 1<<12]
  83.  
  84. set vsTimeOut          [expr 1<<13]
  85.  
  86.  set vsFrame [expr 1<<14]
  87.  set vsDrag [expr 1<<15]
  88.  set vsPick [expr 1<<16]
  89.  
  90.  set vsGrab [expr 1<<17]
  91.  set vsRelease [expr 1<<18]
  92.  
  93.  set vsEvCreateWorld [expr 1<<19]
  94.  
  95.  set vsEvApplSpecific [expr 1<<20]
  96.  set vsEvMyself [expr 1<<21]
  97.  set vsEvSetAttribute [expr 1<<22]
  98.  set vsEvIdleWarning  [expr 1<<23]
  99.  set vsEvDisconnect   [expr 1<<24]
  100.  
  101.  set vsEvDeleteWorld [expr 1<< $vsDFeventEOF]
  102.  
  103. set vsAllEvent -1
  104. set vsKeyEvent [expr $vsKeyDown|$vsKeyUp]
  105. set vsMouseButtonUp \
  106.     [expr $vsLeftButtonUp|$vsRightButtonUp|$vsMiddleButtonUp]
  107. set vsMouseButtonDown \
  108.     [expr $vsLeftButtonDown|$vsRightButtonDown|$vsMiddleButtonDown]
  109. set vsMouseButton [expr $vsMouseButtonUp|$vsMouseButtonDown]
  110.  
  111. #**********************************************************
  112. # script.h:VsScriptType 
  113. #**********************************************************
  114. set vsPythonScript      0
  115. set vsTclScript         1
  116. set vsJavaScript        2
  117. set vsVBScript          3
  118. set vsCBinary           4
  119.  
  120. #**********************************************************
  121. # 3dtypes.h:VsBoolean
  122. #**********************************************************
  123. set  vsFalse 0
  124. set  vsTrue  1
  125.  
  126. #**************************************
  127. # error.h:VsReturn 
  128. #**************************************
  129. set vsSuccess                           0
  130. set vsFailure                           -1
  131. set vsFindObject                        -2
  132. set vsNoObject                          -3
  133. set vsRangeOver                         -4
  134. set vsMemoryFailure                     -5
  135. set vsIdOutOfRange                      -6
  136. set vsCannotPickUpShape                 -7
  137.  
  138. #***************************************
  139. # Return value for TimeOutHandler . 
  140. #***************************************
  141.  
  142. set vsStop 1
  143. set vsContinue 0
  144.  
  145. #***************************************
  146. # event.h:VsKeyType 
  147. #***************************************
  148. set vsKey_A                             0
  149. set vsKey_B                             1
  150. set vsKey_C                             2
  151. set vsKey_D                             3
  152. set vsKey_E                             4
  153. set vsKey_F                             5
  154. set vsKey_G                             6
  155. set vsKey_H                             7
  156. set vsKey_I                             8
  157. set vsKey_J                             9
  158. set vsKey_K                             10
  159. set vsKey_L                             11
  160. set vsKey_M                             12
  161. set vsKey_N                             13
  162. set vsKey_O                             14
  163. set vsKey_P                             15
  164. set vsKey_Q                             16
  165. set vsKey_R                             17
  166. set vsKey_S                             18
  167. set vsKey_T                             19
  168. set vsKey_U                             20
  169. set vsKey_V                             21
  170. set vsKey_W                             22
  171. set vsKey_X                             23
  172. set vsKey_Y                             24
  173. set vsKey_Z                             25
  174. set vsKey_a                             26
  175. set vsKey_b                             27
  176. set vsKey_c                             28
  177. set vsKey_d                             29
  178. set vsKey_e                             30
  179. set vsKey_f                             31
  180. set vsKey_g                             32
  181. set vsKey_h                             33
  182. set vsKey_i                             34
  183. set vsKey_j                             35
  184. set vsKey_k                             36
  185. set vsKey_l                             37
  186. set vsKey_m                             38
  187. set vsKey_n                             39
  188. set vsKey_o                             40
  189. set vsKey_p                             41
  190. set vsKey_q                             42
  191. set vsKey_r                             43
  192. set vsKey_s                             44
  193. set vsKey_t                             45
  194. set vsKey_u                             46
  195. set vsKey_v                             47
  196. set vsKey_w                             48
  197. set vsKey_x                             49
  198. set vsKey_y                             50
  199. set vsKey_z                             51
  200. set vsKey_0                             52
  201. set vsKey_1                             53
  202. set vsKey_2                             54
  203. set vsKey_3                             55
  204. set vsKey_4                             56
  205. set vsKey_5                             57
  206. set vsKey_6                             58
  207. set vsKey_7                             59
  208. set vsKey_8                             60
  209. set vsKey_9                             61
  210. set vsKey_BackSpace                     62
  211. set vsKey_Tab                           63
  212. set vsKey_LineFeed                      64
  213. set vsKey_Clear                         65
  214. set vsKey_Return                        66
  215. set vsKey_Pause                         67
  216. set vsKey_ScrollLock                    68
  217. set vsKey_Escape                        69
  218. set vsKey_Delete                        70
  219. #****************************************
  220. # event.h:VsBitMask ( ModifierType )
  221. #****************************************
  222. set ShiftMask       [expr 1<<0]
  223. set LockMask        [expr 1<<1]
  224. set ControlMask     [expr 1<<2]
  225. set AltMask         [expr 1<<3]
  226. set CommandMask     [expr 1<<4]
  227. set OptionMask      [expr 1<<5]
  228. set Mod1Mask        [expr 1<<6]
  229. set Mod2Mask        [expr 1<<7]
  230.  
  231. #****************************************
  232. # gethwnd.h:VsMenuId 
  233. #****************************************
  234. set vsForward             0
  235. set vsBackward            1 
  236. set vsFileExit            2
  237. set vsFileOpenUrl         3
  238. set vsFileOpenFile        4
  239. set vsAddBookmark         5
  240. set vsAbout               6
  241. set vsReload              7
  242. set vsStopLoading         8
  243.  
  244. #****************************************
  245. # vsButtonStatus:ButtonID 
  246. #****************************************
  247. set vsBtnHome              112
  248. set vsBtnUndo              113
  249. set vsBtnJumpEye           121
  250. set vsBtnScouter           122
  251.  
  252. #****************************************
  253. # vsMenuStatus:MenuID 
  254. #****************************************
  255. set vsMenuJumpEye            121
  256. set vsMenuViewAvatar         118
  257. set vsMenuAvatarColor        119
  258.  
  259. #****************************************
  260. # camera.h:VsCameraId 
  261. #****************************************
  262. set  vsInvalidCamera      0
  263. set  vsDefaultCamera      1
  264. set  vsPersonEye          2
  265. set  vsWorldCamera        3
  266. set  vsMirrorCamera       4
  267. set  vsNumOfCameraID      5
  268.  
  269. #*********************************************************
  270. #* Object's Part.
  271. #*********************************************************/
  272. set  vsConeSide           2
  273. set  vsConeBottom      3
  274. set  vsCylinderSide       4
  275. set  vsCylinderBottom       5
  276. set  vsCylinderTop      6
  277. #*********************************************************
  278. #* Object's Attributes.
  279. #*********************************************************/
  280. set vsObjAttrId           0
  281. set vsObjAttrparent       1
  282. set vsObjAttrChild        2
  283. set vsObjAttrNode         3
  284. set vsObjAttrName         4
  285. set vsObjAttrUrl          5
  286. set vsObjAttrComment      6
  287. set vsObjAttrExtention    7
  288. set vsObjAttrHaveBcube    8
  289. set vsObjAttrBcubeValid   9
  290. set vsObjAttrBcubePValid  10
  291. set vsObjAttrWRTValid     11
  292. set vsObjAttrVisible      12
  293. set vsObjAttrGrasp        13
  294. set vsObjAttrSolid        14
  295. set vsObjAttrCollision    15
  296. set vsObjAttrMobile       16
  297.  
  298. #*********************************************************^M
  299. #* Light's Attributes.^M
  300. #*********************************************************/^M
  301. set vsLightAttrOn                 0
  302. set vsLightAttrIntensity          1
  303. set vsLightAttrColor              2
  304. set vsLightAttrLocation           3
  305. set vsLightAttrDirection          4
  306. set vsLightAttrDropOffRate        5
  307. set vsLightAttrCutOffAngle        6
  308.  
  309. #*********************************************************^M
  310. #* Camera's Attributes.^M
  311. #*********************************************************/^M
  312. set vsCameraAttrPosition          0
  313. set vsCameraAttrLookAt            1
  314. set vsCameraAttrFocalDistance     2
  315. set vsCameraAttrHeight            3
  316. set vsCameraAttrHeightAngle       4 
  317. set vsCameraAttrBackground        5
  318.  
  319. ############################################################
  320. #
  321. # suspend and resume procs.
  322. #
  323. # globals: vsTkWininfo(winlst)           : window pathname list.
  324. #          vsTkWininfo(pathname,state)   : status of pathname.
  325. #
  326. ############################################################
  327. proc vsTkSuspend {} {
  328.     global vsTkWininfo
  329.  
  330.     set vsTkWininfo(winlst) {}
  331.  
  332.     if {1 == [winfo exists .]} {
  333.         # save current state of ".".
  334.         set vsTkWininfo(.,state) [wm state .]
  335.         lappend vsTkWininfo(winlst) . 
  336.         wm withdraw . 
  337.  
  338.         set wlist [winfo children .]
  339.         foreach d $wlist {
  340.             if {"Toplevel" == [winfo class $d]} {
  341.             # save current stat of window
  342.                 set vsTkWininfo($d,state) [wm state $d]
  343.                 lappend vsTkWininfo(winlst) $d
  344.                 wm withdraw $d
  345.             }
  346.         }
  347.     }
  348. }
  349. proc vsTkResume {} {
  350.     global vsTkWininfo
  351.     
  352.     if {1 != [info exists vsTkWininfo(winlst)]} {
  353.         return;
  354.     }
  355.  
  356.     foreach d $vsTkWininfo(winlst) {
  357.         switch $vsTkWininfo($d,state) {
  358.             iconic { wm iconify $d }
  359.             normal { wm deiconify $d }
  360.         }
  361.     }
  362. }
  363. ############### end of vsTkSuspend , vsTkResume ##############
  364.  
  365. # do not destroy ".".
  366. if {"" != [info commands .]} {
  367.     wm protocol . WM_DELETE_WINDOW "wm withdraw ."
  368. }
  369. ###################################################
  370. # vsTclerror
  371. ###################################################
  372. proc vsTclerror {str} { 
  373.     global errorInfo tcl_platform
  374.     if {"" == [info commands .]} {
  375.         vsError "$str" ;
  376.         vsError "$errorInfo"
  377.         return 
  378.     }
  379.     if {"withdrawn" == "[wm state .]"} {
  380.         vsError "$str" ;
  381.         vsError "$errorInfo"
  382.         return 
  383.     }
  384.     if {1 == [catch {tkerror $str} ret]} {
  385.         vsError "$str" ;
  386.         vsError "$errorInfo"
  387.     }
  388. }
  389. ###################################################
  390. # vscp Functions.
  391. ###################################################
  392.  
  393. proc vscpRotate {obj args} {
  394.     set ret [eval "vsRotate $obj $args"]
  395.     vscpUpdateObj $obj
  396.     return $ret
  397. }
  398. proc vscpRotateAngle {obj args} {
  399.     set ret [eval "vsRotateAngle $obj $args"]
  400.     vscpUpdateObj $obj
  401.     return $ret
  402. }
  403. proc vscpTranslate {obj args} {
  404.     set ret [eval "vsTranslate $obj $args"]
  405.     vscpUpdateObj $obj
  406.     return $ret
  407. }
  408. proc vscpRotateTranslate {obj args} {
  409.     set ret [eval "vsRotateTranslate $obj $args"]
  410.     vscpUpdateObj $obj
  411.     return $ret
  412. }
  413. proc vscpRotateTranslateAngle {obj args} {
  414.     set ret [eval "vsRotateTranslateAngle $obj $args"]
  415.     vscpUpdateObj $obj
  416.     return $ret
  417. }
  418.  
  419. proc vscpSendKeepConnection {v} { 
  420.     # vscpKeepConnection
  421.     if {$v} { 
  422.         vscpSendConnectionStateRequest 5 
  423.     } { 
  424.         vscpSendConnectionStateRequest 4 
  425.     }
  426. }
  427. #*********************************************************^M
  428. #* vscp emun.
  429. #*********************************************************/^M
  430. set vscpAllClientsInAura          0
  431. set vscpAllClientsInAuraExceptMe  1
  432. set vscpResponderOnly             2
  433. set vscpAllClients                3
  434. set vscpAllClientsExceptMe        4
  435. #*********************************************************^M
  436. #* VsSockState emun.
  437. #*********************************************************/^M
  438. set vsSockNotConnected    0
  439. set vsSockConnecting      1
  440. set vsSockConnected       2
  441. set vsSockDisconnecting   3
  442.  
  443. #################################
  444. # color name to RGB converter.
  445. # return: empty space :  failure
  446. #         "r g b" : success 
  447. #################################
  448. proc vstkCName2Rgb {name} {
  449.  
  450.     if {"" == "$name"} {
  451.         return ""
  452.     }
  453.  
  454.     if {"" == [info command winfo]} {
  455.     }
  456.     catch "winfo rgb . $name" t
  457.     if {[regexp unknown "$t"]} {
  458.         return ""
  459.     }
  460.  
  461.     set ret "" 
  462.     foreach d "$t" { 
  463.         lappend ret [expr $d.0 / 65535.0]
  464.     }
  465.     return "$ret"
  466. }
  467.  
  468. ## end of vsinit.tcl ##
  469.