home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / AIncludes / QD3DTransform.a < prev    next >
Encoding:
Text File  |  1998-04-09  |  14.2 KB  |  475 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DTransform.a
  3. ;
  4. ;    Contains:    Q3Transform routines                                                 
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    QuickTime 3.0
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__QD3DTRANSFORM__') = 'UNDEFINED' THEN
  19. __QD3DTRANSFORM__ SET 1
  20.  
  21.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  22.     include 'QD3D.a'
  23.     ENDIF
  24.  
  25. ; ******************************************************************************
  26. ; **                                                                             **
  27. ; **                            Transform Routines                                 **
  28. ; **                                                                             **
  29. ; ****************************************************************************
  30.  
  31. ;
  32. ; extern TQ3ObjectType Q3Transform_GetType(TQ3TransformObject transform)
  33. ;
  34.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  35.         IMPORT_CFM_FUNCTION Q3Transform_GetType
  36.     ENDIF
  37.  
  38. ;
  39. ; extern TQ3Matrix4x4 *Q3Transform_GetMatrix(TQ3TransformObject transform, TQ3Matrix4x4 *matrix)
  40. ;
  41.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  42.         IMPORT_CFM_FUNCTION Q3Transform_GetMatrix
  43.     ENDIF
  44.  
  45. ;
  46. ; extern TQ3Status Q3Transform_Submit(TQ3TransformObject transform, TQ3ViewObject view)
  47. ;
  48.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  49.         IMPORT_CFM_FUNCTION Q3Transform_Submit
  50.     ENDIF
  51.  
  52.  
  53. ; ******************************************************************************
  54. ; **                                                                             **
  55. ; **                            MatrixTransform Routines                         **
  56. ; **                                                                             **
  57. ; ****************************************************************************
  58.  
  59. ;
  60. ; extern TQ3TransformObject Q3MatrixTransform_New(const TQ3Matrix4x4 *matrix)
  61. ;
  62.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  63.         IMPORT_CFM_FUNCTION Q3MatrixTransform_New
  64.     ENDIF
  65.  
  66. ;
  67. ; extern TQ3Status Q3MatrixTransform_Submit(const TQ3Matrix4x4 *matrix, TQ3ViewObject view)
  68. ;
  69.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  70.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Submit
  71.     ENDIF
  72.  
  73. ;
  74. ; extern TQ3Status Q3MatrixTransform_Set(TQ3TransformObject transform, const TQ3Matrix4x4 *matrix)
  75. ;
  76.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  77.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Set
  78.     ENDIF
  79.  
  80. ;
  81. ; extern TQ3Status Q3MatrixTransform_Get(TQ3TransformObject transform, TQ3Matrix4x4 *matrix)
  82. ;
  83.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  84.         IMPORT_CFM_FUNCTION Q3MatrixTransform_Get
  85.     ENDIF
  86.  
  87.  
  88. ; ******************************************************************************
  89. ; **                                                                             **
  90. ; **                            RotateTransform Data                             **
  91. ; **                                                                             **
  92. ; ****************************************************************************
  93.  
  94. TQ3RotateTransformData    RECORD 0
  95. axis                     ds.l    1                ; offset: $0 (0)
  96. radians                     ds        Float32            ; offset: $4 (4)
  97. sizeof                     EQU *                    ; size:   $8 (8)
  98.                         ENDR
  99. ; ******************************************************************************
  100. ; **                                                                             **
  101. ; **                            RotateTransform Routines                         **
  102. ; **                                                                             **
  103. ; ****************************************************************************
  104.  
  105. ;
  106. ; extern TQ3TransformObject Q3RotateTransform_New(const TQ3RotateTransformData *data)
  107. ;
  108.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  109.         IMPORT_CFM_FUNCTION Q3RotateTransform_New
  110.     ENDIF
  111.  
  112.  
  113. ;
  114. ; extern TQ3Status Q3RotateTransform_Submit(const TQ3RotateTransformData *data, TQ3ViewObject view)
  115. ;
  116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  117.         IMPORT_CFM_FUNCTION Q3RotateTransform_Submit
  118.     ENDIF
  119.  
  120. ;
  121. ; extern TQ3Status Q3RotateTransform_SetData(TQ3TransformObject transform, const TQ3RotateTransformData *data)
  122. ;
  123.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  124.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetData
  125.     ENDIF
  126.  
  127. ;
  128. ; extern TQ3Status Q3RotateTransform_GetData(TQ3TransformObject transform, TQ3RotateTransformData *data)
  129. ;
  130.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  131.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetData
  132.     ENDIF
  133.  
  134. ;
  135. ; extern TQ3Status Q3RotateTransform_SetAxis(TQ3TransformObject transform, TQ3Axis axis)
  136. ;
  137.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  138.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetAxis
  139.     ENDIF
  140.  
  141. ;
  142. ; extern TQ3Status Q3RotateTransform_SetAngle(TQ3TransformObject transform, float radians)
  143. ;
  144.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  145.         IMPORT_CFM_FUNCTION Q3RotateTransform_SetAngle
  146.     ENDIF
  147.  
  148. ;
  149. ; extern TQ3Status Q3RotateTransform_GetAxis(TQ3TransformObject renderable, TQ3Axis *axis)
  150. ;
  151.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  152.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetAxis
  153.     ENDIF
  154.  
  155. ;
  156. ; extern TQ3Status Q3RotateTransform_GetAngle(TQ3TransformObject transform, float *radians)
  157. ;
  158.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  159.         IMPORT_CFM_FUNCTION Q3RotateTransform_GetAngle
  160.     ENDIF
  161.  
  162.  
  163. ; ******************************************************************************
  164. ; **                                                                             **
  165. ; **                    RotateAboutPointTransform Data                             **
  166. ; **                                                                             **
  167. ; ****************************************************************************
  168.  
  169. TQ3RotateAboutPointTransformData RECORD 0
  170. axis                     ds.l    1                ; offset: $0 (0)
  171. radians                     ds        Float32            ; offset: $4 (4)
  172. about                     ds        TQ3Point3D        ; offset: $8 (8)
  173. sizeof                     EQU *                    ; size:   $14 (20)
  174.                         ENDR
  175. ; ******************************************************************************
  176. ; **                                                                             **
  177. ; **                    RotateAboutPointTransform Routines                         **
  178. ; **                                                                             **
  179. ; ****************************************************************************
  180.  
  181. ;
  182. ; extern TQ3TransformObject Q3RotateAboutPointTransform_New(const TQ3RotateAboutPointTransformData *data)
  183. ;
  184.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  185.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_New
  186.     ENDIF
  187.  
  188. ;
  189. ; extern TQ3Status Q3RotateAboutPointTransform_Submit(const TQ3RotateAboutPointTransformData *data, TQ3ViewObject view)
  190. ;
  191.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  192.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_Submit
  193.     ENDIF
  194.  
  195. ;
  196. ; extern TQ3Status Q3RotateAboutPointTransform_SetData(TQ3TransformObject transform, const TQ3RotateAboutPointTransformData *data)
  197. ;
  198.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  199.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetData
  200.     ENDIF
  201.  
  202. ;
  203. ; extern TQ3Status Q3RotateAboutPointTransform_GetData(TQ3TransformObject transform, TQ3RotateAboutPointTransformData *data)
  204. ;
  205.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  206.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetData
  207.     ENDIF
  208.  
  209. ;
  210. ; extern TQ3Status Q3RotateAboutPointTransform_SetAxis(TQ3TransformObject transform, TQ3Axis axis)
  211. ;
  212.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  213.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAxis
  214.     ENDIF
  215.  
  216. ;
  217. ; extern TQ3Status Q3RotateAboutPointTransform_GetAxis(TQ3TransformObject transform, TQ3Axis *axis)
  218. ;
  219.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  220.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAxis
  221.     ENDIF
  222.  
  223.  
  224. ;
  225. ; extern TQ3Status Q3RotateAboutPointTransform_SetAngle(TQ3TransformObject transform, float radians)
  226. ;
  227.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  228.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAngle
  229.     ENDIF
  230.  
  231. ;
  232. ; extern TQ3Status Q3RotateAboutPointTransform_GetAngle(TQ3TransformObject transform, float *radians)
  233. ;
  234.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  235.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAngle
  236.     ENDIF
  237.  
  238.  
  239. ;
  240. ; extern TQ3Status Q3RotateAboutPointTransform_SetAboutPoint(TQ3TransformObject transform, const TQ3Point3D *about)
  241. ;
  242.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  243.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_SetAboutPoint
  244.     ENDIF
  245.  
  246. ;
  247. ; extern TQ3Status Q3RotateAboutPointTransform_GetAboutPoint(TQ3TransformObject transform, TQ3Point3D *about)
  248. ;
  249.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  250.         IMPORT_CFM_FUNCTION Q3RotateAboutPointTransform_GetAboutPoint
  251.     ENDIF
  252.  
  253.  
  254. ; ******************************************************************************
  255. ; **                                                                             **
  256. ; **                    RotateAboutAxisTransform Data                             **
  257. ; **                                                                             **
  258. ; ****************************************************************************
  259.  
  260. TQ3RotateAboutAxisTransformData RECORD 0
  261. origin                     ds        TQ3Point3D        ; offset: $0 (0)
  262. orientation                 ds        TQ3Vector3D        ; offset: $C (12)
  263. radians                     ds        Float32            ; offset: $18 (24)
  264. sizeof                     EQU *                    ; size:   $1C (28)
  265.                         ENDR
  266. ; ******************************************************************************
  267. ; **                                                                             **
  268. ; **                    RotateAboutAxisTransform Routines                         **
  269. ; **                                                                             **
  270. ; ****************************************************************************
  271.  
  272. ;
  273. ; extern TQ3TransformObject Q3RotateAboutAxisTransform_New(const TQ3RotateAboutAxisTransformData *data)
  274. ;
  275.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  276.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_New
  277.     ENDIF
  278.  
  279. ;
  280. ; extern TQ3Status Q3RotateAboutAxisTransform_Submit(const TQ3RotateAboutAxisTransformData *data, TQ3ViewObject view)
  281. ;
  282.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  283.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_Submit
  284.     ENDIF
  285.  
  286. ;
  287. ; extern TQ3Status Q3RotateAboutAxisTransform_SetData(TQ3TransformObject transform, const TQ3RotateAboutAxisTransformData *data)
  288. ;
  289.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  290.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetData
  291.     ENDIF
  292.  
  293. ;
  294. ; extern TQ3Status Q3RotateAboutAxisTransform_GetData(TQ3TransformObject transform, TQ3RotateAboutAxisTransformData *data)
  295. ;
  296.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  297.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetData
  298.     ENDIF
  299.  
  300.  
  301. ;
  302. ; extern TQ3Status Q3RotateAboutAxisTransform_SetOrientation(TQ3TransformObject transform, const TQ3Vector3D *axis)
  303. ;
  304.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  305.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetOrientation
  306.     ENDIF
  307.  
  308. ;
  309. ; extern TQ3Status Q3RotateAboutAxisTransform_GetOrientation(TQ3TransformObject transform, TQ3Vector3D *axis)
  310. ;
  311.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  312.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetOrientation
  313.     ENDIF
  314.  
  315.  
  316. ;
  317. ; extern TQ3Status Q3RotateAboutAxisTransform_SetAngle(TQ3TransformObject transform, float radians)
  318. ;
  319.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  320.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetAngle
  321.     ENDIF
  322.  
  323. ;
  324. ; extern TQ3Status Q3RotateAboutAxisTransform_GetAngle(TQ3TransformObject transform, float *radians)
  325. ;
  326.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  327.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetAngle
  328.     ENDIF
  329.  
  330.  
  331. ;
  332. ; extern TQ3Status Q3RotateAboutAxisTransform_SetOrigin(TQ3TransformObject transform, const TQ3Point3D *origin)
  333. ;
  334.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  335.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_SetOrigin
  336.     ENDIF
  337.  
  338. ;
  339. ; extern TQ3Status Q3RotateAboutAxisTransform_GetOrigin(TQ3TransformObject transform, TQ3Point3D *origin)
  340. ;
  341.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  342.         IMPORT_CFM_FUNCTION Q3RotateAboutAxisTransform_GetOrigin
  343.     ENDIF
  344.  
  345.  
  346. ; ******************************************************************************
  347. ; **                                                                             **
  348. ; **                            ScaleTransform Routines                             **
  349. ; **                                                                             **
  350. ; ****************************************************************************
  351.  
  352. ;
  353. ; extern TQ3TransformObject Q3ScaleTransform_New(const TQ3Vector3D *scale)
  354. ;
  355.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  356.         IMPORT_CFM_FUNCTION Q3ScaleTransform_New
  357.     ENDIF
  358.  
  359. ;
  360. ; extern TQ3Status Q3ScaleTransform_Submit(const TQ3Vector3D *scale, TQ3ViewObject view)
  361. ;
  362.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  363.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Submit
  364.     ENDIF
  365.  
  366. ;
  367. ; extern TQ3Status Q3ScaleTransform_Set(TQ3TransformObject transform, const TQ3Vector3D *scale)
  368. ;
  369.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  370.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Set
  371.     ENDIF
  372.  
  373. ;
  374. ; extern TQ3Status Q3ScaleTransform_Get(TQ3TransformObject transform, TQ3Vector3D *scale)
  375. ;
  376.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  377.         IMPORT_CFM_FUNCTION Q3ScaleTransform_Get
  378.     ENDIF
  379.  
  380.  
  381. ; ******************************************************************************
  382. ; **                                                                             **
  383. ; **                            TranslateTransform Routines                         **
  384. ; **                                                                             **
  385. ; ****************************************************************************
  386.  
  387. ;
  388. ; extern TQ3TransformObject Q3TranslateTransform_New(const TQ3Vector3D *translate)
  389. ;
  390.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  391.         IMPORT_CFM_FUNCTION Q3TranslateTransform_New
  392.     ENDIF
  393.  
  394. ;
  395. ; extern TQ3Status Q3TranslateTransform_Submit(const TQ3Vector3D *translate, TQ3ViewObject view)
  396. ;
  397.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  398.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Submit
  399.     ENDIF
  400.  
  401. ;
  402. ; extern TQ3Status Q3TranslateTransform_Set(TQ3TransformObject transform, const TQ3Vector3D *translate)
  403. ;
  404.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  405.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Set
  406.     ENDIF
  407.  
  408. ;
  409. ; extern TQ3Status Q3TranslateTransform_Get(TQ3TransformObject transform, TQ3Vector3D *translate)
  410. ;
  411.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  412.         IMPORT_CFM_FUNCTION Q3TranslateTransform_Get
  413.     ENDIF
  414.  
  415. ; ******************************************************************************
  416. ; **                                                                             **
  417. ; **                            QuaternionTransform Routines                     **
  418. ; **                                                                             **
  419. ; ****************************************************************************
  420.  
  421. ;
  422. ; extern TQ3TransformObject Q3QuaternionTransform_New(const TQ3Quaternion *quaternion)
  423. ;
  424.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  425.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_New
  426.     ENDIF
  427.  
  428. ;
  429. ; extern TQ3Status Q3QuaternionTransform_Submit(const TQ3Quaternion *quaternion, TQ3ViewObject view)
  430. ;
  431.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  432.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Submit
  433.     ENDIF
  434.  
  435. ;
  436. ; extern TQ3Status Q3QuaternionTransform_Set(TQ3TransformObject transform, const TQ3Quaternion *quaternion)
  437. ;
  438.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  439.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Set
  440.     ENDIF
  441.  
  442. ;
  443. ; extern TQ3Status Q3QuaternionTransform_Get(TQ3TransformObject transform, TQ3Quaternion *quaternion)
  444. ;
  445.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  446.         IMPORT_CFM_FUNCTION Q3QuaternionTransform_Get
  447.     ENDIF
  448.  
  449.  
  450. ; ******************************************************************************
  451. ; **                                                                             **
  452. ; **                            ResetTransform Routines                             **
  453. ; **                                                                             **
  454. ; ****************************************************************************
  455.  
  456. ;
  457. ; extern TQ3TransformObject Q3ResetTransform_New(void )
  458. ;
  459.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  460.         IMPORT_CFM_FUNCTION Q3ResetTransform_New
  461.     ENDIF
  462.  
  463. ;
  464. ; extern TQ3Status Q3ResetTransform_Submit(TQ3ViewObject view)
  465. ;
  466.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  467.         IMPORT_CFM_FUNCTION Q3ResetTransform_Submit
  468.     ENDIF
  469.  
  470.  
  471.  
  472.  
  473.     ENDIF ; __QD3DTRANSFORM__ 
  474.  
  475.