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

  1. {
  2.      File:        QD3DTransform.p
  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. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DTransform;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DTRANSFORM__}
  28. {$SETC __QD3DTRANSFORM__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DTransformIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37.  
  38.  
  39. {$PUSH}
  40. {$ALIGN POWER}
  41. {$LibExport+}
  42.  
  43. {*****************************************************************************
  44.  **                                                                             **
  45.  **                            Transform Routines                                 **
  46.  **                                                                             **
  47.  ****************************************************************************}
  48. FUNCTION Q3Transform_GetType(transform: TQ3TransformObject): TQ3ObjectType; C;
  49. FUNCTION Q3Transform_GetMatrix(transform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Matrix4x4Ptr; C;
  50. FUNCTION Q3Transform_Submit(transform: TQ3TransformObject; view: TQ3ViewObject): TQ3Status; C;
  51.  
  52. {*****************************************************************************
  53.  **                                                                             **
  54.  **                            MatrixTransform Routines                         **
  55.  **                                                                             **
  56.  ****************************************************************************}
  57. FUNCTION Q3MatrixTransform_New({CONST}VAR matrix: TQ3Matrix4x4): TQ3TransformObject; C;
  58. FUNCTION Q3MatrixTransform_Submit({CONST}VAR matrix: TQ3Matrix4x4; view: TQ3ViewObject): TQ3Status; C;
  59. FUNCTION Q3MatrixTransform_Set(transform: TQ3TransformObject; {CONST}VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  60. FUNCTION Q3MatrixTransform_Get(transform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  61.  
  62. {*****************************************************************************
  63.  **                                                                             **
  64.  **                            RotateTransform Data                             **
  65.  **                                                                             **
  66.  ****************************************************************************}
  67.  
  68. TYPE
  69.     TQ3RotateTransformDataPtr = ^TQ3RotateTransformData;
  70.     TQ3RotateTransformData = RECORD
  71.         axis:                    TQ3Axis;
  72.         radians:                Single;
  73.     END;
  74.  
  75. {*****************************************************************************
  76.  **                                                                             **
  77.  **                            RotateTransform Routines                         **
  78.  **                                                                             **
  79.  ****************************************************************************}
  80. FUNCTION Q3RotateTransform_New({CONST}VAR data: TQ3RotateTransformData): TQ3TransformObject; C;
  81.  
  82. FUNCTION Q3RotateTransform_Submit({CONST}VAR data: TQ3RotateTransformData; view: TQ3ViewObject): TQ3Status; C;
  83. FUNCTION Q3RotateTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateTransformData): TQ3Status; C;
  84. FUNCTION Q3RotateTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateTransformData): TQ3Status; C;
  85. FUNCTION Q3RotateTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  86. FUNCTION Q3RotateTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  87. FUNCTION Q3RotateTransform_GetAxis(renderable: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  88. FUNCTION Q3RotateTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  89.  
  90. {*****************************************************************************
  91.  **                                                                             **
  92.  **                    RotateAboutPointTransform Data                             **
  93.  **                                                                             **
  94.  ****************************************************************************}
  95.  
  96. TYPE
  97.     TQ3RotateAboutPointTransformDataPtr = ^TQ3RotateAboutPointTransformData;
  98.     TQ3RotateAboutPointTransformData = RECORD
  99.         axis:                    TQ3Axis;
  100.         radians:                Single;
  101.         about:                    TQ3Point3D;
  102.     END;
  103.  
  104. {*****************************************************************************
  105.  **                                                                             **
  106.  **                    RotateAboutPointTransform Routines                         **
  107.  **                                                                             **
  108.  ****************************************************************************}
  109. FUNCTION Q3RotateAboutPointTransform_New({CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3TransformObject; C;
  110. FUNCTION Q3RotateAboutPointTransform_Submit({CONST}VAR data: TQ3RotateAboutPointTransformData; view: TQ3ViewObject): TQ3Status; C;
  111. FUNCTION Q3RotateAboutPointTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  112. FUNCTION Q3RotateAboutPointTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  113. FUNCTION Q3RotateAboutPointTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  114. FUNCTION Q3RotateAboutPointTransform_GetAxis(transform: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  115.  
  116. FUNCTION Q3RotateAboutPointTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  117. FUNCTION Q3RotateAboutPointTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  118.  
  119. FUNCTION Q3RotateAboutPointTransform_SetAboutPoint(transform: TQ3TransformObject; {CONST}VAR about: TQ3Point3D): TQ3Status; C;
  120. FUNCTION Q3RotateAboutPointTransform_GetAboutPoint(transform: TQ3TransformObject; VAR about: TQ3Point3D): TQ3Status; C;
  121.  
  122. {*****************************************************************************
  123.  **                                                                             **
  124.  **                    RotateAboutAxisTransform Data                             **
  125.  **                                                                             **
  126.  ****************************************************************************}
  127.  
  128. TYPE
  129.     TQ3RotateAboutAxisTransformDataPtr = ^TQ3RotateAboutAxisTransformData;
  130.     TQ3RotateAboutAxisTransformData = RECORD
  131.         origin:                    TQ3Point3D;
  132.         orientation:            TQ3Vector3D;
  133.         radians:                Single;
  134.     END;
  135.  
  136. {*****************************************************************************
  137.  **                                                                             **
  138.  **                    RotateAboutAxisTransform Routines                         **
  139.  **                                                                             **
  140.  ****************************************************************************}
  141. FUNCTION Q3RotateAboutAxisTransform_New({CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3TransformObject; C;
  142. FUNCTION Q3RotateAboutAxisTransform_Submit({CONST}VAR data: TQ3RotateAboutAxisTransformData; view: TQ3ViewObject): TQ3Status; C;
  143. FUNCTION Q3RotateAboutAxisTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  144. FUNCTION Q3RotateAboutAxisTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  145.  
  146. FUNCTION Q3RotateAboutAxisTransform_SetOrientation(transform: TQ3TransformObject; {CONST}VAR axis: TQ3Vector3D): TQ3Status; C;
  147. FUNCTION Q3RotateAboutAxisTransform_GetOrientation(transform: TQ3TransformObject; VAR axis: TQ3Vector3D): TQ3Status; C;
  148.  
  149. FUNCTION Q3RotateAboutAxisTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  150. FUNCTION Q3RotateAboutAxisTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  151.  
  152. FUNCTION Q3RotateAboutAxisTransform_SetOrigin(transform: TQ3TransformObject; {CONST}VAR origin: TQ3Point3D): TQ3Status; C;
  153. FUNCTION Q3RotateAboutAxisTransform_GetOrigin(transform: TQ3TransformObject; VAR origin: TQ3Point3D): TQ3Status; C;
  154.  
  155. {*****************************************************************************
  156.  **                                                                             **
  157.  **                            ScaleTransform Routines                             **
  158.  **                                                                             **
  159.  ****************************************************************************}
  160. FUNCTION Q3ScaleTransform_New({CONST}VAR scale: TQ3Vector3D): TQ3TransformObject; C;
  161. FUNCTION Q3ScaleTransform_Submit({CONST}VAR scale: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  162. FUNCTION Q3ScaleTransform_Set(transform: TQ3TransformObject; {CONST}VAR scale: TQ3Vector3D): TQ3Status; C;
  163. FUNCTION Q3ScaleTransform_Get(transform: TQ3TransformObject; VAR scale: TQ3Vector3D): TQ3Status; C;
  164.  
  165. {*****************************************************************************
  166.  **                                                                             **
  167.  **                            TranslateTransform Routines                         **
  168.  **                                                                             **
  169.  ****************************************************************************}
  170. FUNCTION Q3TranslateTransform_New({CONST}VAR translate: TQ3Vector3D): TQ3TransformObject; C;
  171. FUNCTION Q3TranslateTransform_Submit({CONST}VAR translate: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  172. FUNCTION Q3TranslateTransform_Set(transform: TQ3TransformObject; {CONST}VAR translate: TQ3Vector3D): TQ3Status; C;
  173. FUNCTION Q3TranslateTransform_Get(transform: TQ3TransformObject; VAR translate: TQ3Vector3D): TQ3Status; C;
  174. {*****************************************************************************
  175.  **                                                                             **
  176.  **                            QuaternionTransform Routines                     **
  177.  **                                                                             **
  178.  ****************************************************************************}
  179. FUNCTION Q3QuaternionTransform_New({CONST}VAR quaternion: TQ3Quaternion): TQ3TransformObject; C;
  180. FUNCTION Q3QuaternionTransform_Submit({CONST}VAR quaternion: TQ3Quaternion; view: TQ3ViewObject): TQ3Status; C;
  181. FUNCTION Q3QuaternionTransform_Set(transform: TQ3TransformObject; {CONST}VAR quaternion: TQ3Quaternion): TQ3Status; C;
  182. FUNCTION Q3QuaternionTransform_Get(transform: TQ3TransformObject; VAR quaternion: TQ3Quaternion): TQ3Status; C;
  183.  
  184. {*****************************************************************************
  185.  **                                                                             **
  186.  **                            ResetTransform Routines                             **
  187.  **                                                                             **
  188.  ****************************************************************************}
  189. FUNCTION Q3ResetTransform_New: TQ3TransformObject; C;
  190. FUNCTION Q3ResetTransform_Submit(view: TQ3ViewObject): TQ3Status; C;
  191.  
  192.  
  193.  
  194. {$ALIGN RESET}
  195. {$POP}
  196.  
  197. {$SETC UsingIncludes := QD3DTransformIncludes}
  198.  
  199. {$ENDC} {__QD3DTRANSFORM__}
  200.  
  201. {$IFC NOT UsingIncludes}
  202.  END.
  203. {$ENDC}
  204.