-
Notifications
You must be signed in to change notification settings - Fork 3
/
listing12.html
executable file
·305 lines (264 loc) · 11.5 KB
/
listing12.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<!-- BEGIN META TAG INFO -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="home" href="http://developer.apple.com/">
<link rel="find" href="http://developer.apple.com/search/">
<link rel="stylesheet" type="text/css" href="../../documentation/css/adcstyle.css" title="fonts">
<script language="JavaScript" src="../../documentation/js/adc.js" type="text/javascript"></script>
<!-- END META TAG INFO -->
<!-- BEGIN TITLE -->
<title>vrmovies - /Common Files/QTVRUtilities.h</title>
<!-- END TITLE -->
<script language="JavaScript">
function JumpToNewPage() {
window.location=document.scpopupmenu.gotop.value;
return true;
}
</script>
</head>
<!-- BEGIN BODY OPEN -->
<body>
<!--END BODY OPEN -->
<!-- START CENTER OPEN -->
<center>
<!-- END CENTER OPEN -->
<!-- BEGIN LOGO AND SEARCH -->
<!--#include virtual="/includes/adcnavbar"-->
<!-- END LOGO AND SEARCH -->
<!-- START BREADCRUMB -->
<div id="breadcrumb">
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td scope="row"><img width="340" height="10" src="images/1dot.gif" alt=""></td>
<td><img width="340" height="10" src="images/1dot.gif" alt=""></td>
</tr>
<tr valign="middle">
<td align="left" colspan="2">
<a href="http://developer.apple.com/">ADC Home</a> > <a href="../../referencelibrary/index.html">Reference Library</a> > <a href="../../samplecode/index.html">Sample Code</a> > <a href="../../samplecode/QuickTime/index.html">QuickTime</a> > <a href="../../samplecode/QuickTime/idxVirtualReality-date.html">Virtual Reality</a> > <A HREF="javascript:location.replace('index.html');">vrmovies</A> >
</td>
</tr>
<tr>
<td colspan="2" scope="row"><img width="680" height="35" src="images/1dot.gif" alt=""></td>
</tr>
</table>
</div>
<!-- END BREADCRUMB -->
<!-- START MAIN CONTENT -->
<!-- START TITLE GRAPHIC AND INTRO-->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td><h1><div id="pagehead">vrmovies</div></h1></td>
</tr>
</table>
<!-- END TITLE GRAPHIC AND INTRO -->
<!-- START WIDE COLUMN -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td id="scdetails">
<h2>/Common Files/QTVRUtilities.h</h2>
<form name="scpopupmenu" onSubmit="return false;" method=post>
<p><strong>View Source Code:</strong>
<select name="gotop" onChange="JumpToNewPage();" style="width:340px"><option selected value="ingnore">Select File</option>
<option value="listing1.html">/Application Files/ComApplication.c</option>
<option value="listing2.html">/Application Files/ComApplication.h</option>
<option value="listing3.html">/Application Files/ComResource.h</option>
<option value="listing4.html">/Common Files/ComFramework.c</option>
<option value="listing5.html">/Common Files/ComFramework.h</option>
<option value="listing6.html">/Common Files/MacFramework.c</option>
<option value="listing7.html">/Common Files/MacFramework.h</option>
<option value="listing8.html">/Common Files/MacPrefix.h</option>
<option value="listing9.html">/Common Files/QTUtilities.c</option>
<option value="listing10.html">/Common Files/QTUtilities.h</option>
<option value="listing11.html">/Common Files/QTVRUtilities.c</option>
<option value="listing12.html">/Common Files/QTVRUtilities.h</option>
<option value="listing13.html">/Common Files/WinFramework.c</option>
<option value="listing14.html">/Common Files/WinFramework.h</option>
<option value="listing15.html">/Common Files/WinPrefix.h</option>
<option value="listing16.html">/README.txt</option>
<option value="listing17.html">/VRMovies.c</option>
<option value="listing18.html">/VRMovies.h</option></select>
</p>
</form>
<p><strong><a href="vrmovies.zip">Download Sample</a></strong> (“vrmovies.zip”, 1.00M)<BR>
<strong><a href="vrmovies.dmg">Download Sample</a></strong> (“vrmovies.dmg”, 1.46M)</p>
<!--
<p><strong><a href="#">Download Sample</a></strong> (“filename.sit”, 500K)</p>
-->
</td>
</tr>
<tr>
<td scope="row"><img width="680" height="10" src="images/1dot.gif" alt=""><br>
<img height="1" width="680" src="images/1dot_919699.gif" alt=""><br>
<img width="680" height="20" src="images/1dot.gif" alt=""></td>
</tr>
<tr>
<td scope="row">
<!--googleon: index -->
<pre class="sourcecodebox">////////////// File: QTVRUtilities.h//// Contains: Some utilities for working with QuickTime VR movies.// All utilities start with the prefix "QTVRUtils_".//// Written by: Tim Monroe//// Copyright: © 1996-1997 by Apple Computer, Inc., all rights reserved.//// Change History (most recent first)://// <4> 10/21/02 era building Mach-O// <3> 02/03/99 rtm moved non-QTVR-specific utilities to QTUtilities// <2> 01/27/97 rtm added some constants// <1> 11/27/96 rtm first file// //////////#pragma once////////////// header files////////////#ifndef __QTVRUtilities__#define __QTVRUtilities__#ifdef __MACH__ #include <Carbon/Carbon.h> #include <QuickTime/QuickTime.h>#else #ifndef __MOVIES__ #include <Movies.h> #endif #ifndef __QUICKTIMEVR__ #include <QuickTimeVR.h> #endif #ifndef __QUICKTIMEVRFORMAT__ #include <QuickTimeVRFormat.h> #endif #ifndef __ENDIAN__ #include <Endian.h> #endif #ifndef __GESTALT__ #include <Gestalt.h> #endif #ifndef __Prefix_File__ #if TARGET_OS_MAC #include "MacPrefix.h" #endif #if TARGET_OS_WIN32 #include "WinPrefix.h" #endif #endif #ifndef __QD3D__ #include "QD3D.h" #endif#endif////////////// constants////////////// values of ¹#define kVRPi ((float)3.1415926535898)#define kVR2Pi ((float)(2.0 * 3.1415926535898))#define kVRPiOver2 ((float)(3.1415926535898 / 2.0))#define kVR3PiOver2 ((float)(3.0 * 3.1415926535898 / 2.0))// define a constant for an invalid hot spot ID;// hot spot IDs are just indices into an 8-bit palette, so valid IDs range from 0 to 255#define kQTVRUtils_InvalidHotSpotID (UInt32)-1////////////// angle conversion utilities////////////#define QTVRUtils_DegreesToRadians(x) ((float)((x) * kVRPi / 180.0))#define QTVRUtils_RadiansToDegrees(x) ((float)((x) * 180.0 / kVRPi))// some other define'd symbols#define QTVRUtils_GetDistance(thePoint) sqrt((thePoint.x*thePoint.x)+(thePoint.y*thePoint.y)+(thePoint.z*thePoint.z))#ifdef __MACH__// QD3D struct not available in Mach-O frameworksstruct TQ3Point3D { float x; float y; float z;};typedef struct TQ3Point3D TQ3Point3D;#endif////////////// function prototypes////////////Boolean QTVRUtils_IsQTVRMgrInstalled (void);long QTVRUtils_GetQTVRVersion (void);Boolean QTVRUtils_IsQTVRMovie (Movie theMovie);Boolean QTVRUtils_Is20QTVRMovie (Movie theMovie);Boolean QTVRUtils_IsTranslateAvailable (QTVRInstance theInstance);Boolean QTVRUtils_IsZoomAvailable (QTVRInstance theInstance);Boolean QTVRUtils_IsPanoNode (QTVRInstance theInstance);Boolean QTVRUtils_IsObjectNode (QTVRInstance theInstance);Boolean QTVRUtils_IsHotSpotInNode (QTVRInstance theInstance);Boolean QTVRUtils_IsMultiNode (QTVRInstance theInstance);Boolean QTVRUtils_IsBackBufferHorizontal (QTVRInstance theInstance);void QTVRUtils_HideHotSpotNames (MovieController theMC);void QTVRUtils_ShowHotSpotNames (MovieController theMC);void QTVRUtils_ToggleHotSpotNames (MovieController theMC);OSErr QTVRUtils_GetVRWorldHeaderAtomData (QTVRInstance theInstance, QTVRWorldHeaderAtomPtr theVRWorldHdrAtomPtr);OSErr QTVRUtils_GetNodeHeaderAtomData (QTVRInstance theInstance, UInt32 theNodeID, QTVRNodeHeaderAtomPtr theNodeHdrPtr);OSErr QTVRUtils_GetHotSpotAtomData (QTVRInstance theInstance, UInt32 theNodeID, UInt32 theHotSpotID, QTVRHotSpotInfoAtomPtr theHotSpotInfoPtr);char * QTVRUtils_GetStringFromAtom (QTAtomContainer theContainer, QTAtom theParent, QTAtomID theID);OSErr QTVRUtils_AddStr255ToAtomContainer (QTAtomContainer theContainer, QTAtom theParent, Str255 theString, QTAtomID *theID);UInt32 QTVRUtils_GetDefaultNodeID (QTVRInstance theInstance);UInt32 QTVRUtils_GetSceneFlags (QTVRInstance theInstance);char * QTVRUtils_GetSceneName (QTVRInstance theInstance);UInt32 QTVRUtils_GetNodeCount (QTVRInstance theInstance);OSErr QTVRUtils_GetNodeType (QTVRInstance theInstance, UInt32 theNodeID, OSType *theNodeType);char * QTVRUtils_GetNodeName (QTVRInstance theInstance, UInt32 theNodeID);char * QTVRUtils_GetNodeComment (QTVRInstance theInstance, UInt32 theNodeID);UInt32 QTVRUtils_GetHotSpotCount (QTVRInstance theInstance, UInt32 theNodeID, Handle theHotSpotIDs);UInt32 QTVRUtils_GetHotSpotIDByIndex (QTVRInstance theInstance, Handle theHotSpotIDs, UInt32 theIndex);OSErr QTVRUtils_GetHotSpotType (QTVRInstance theInstance, UInt32 theNodeID, UInt32 theHotSpotID, OSType *theHotSpotType);char * QTVRUtils_GetHotSpotName (QTVRInstance theInstance, UInt32 theNodeID, UInt32 theHotSpotID);float QTVRUtils_Point3DToPanAngle (float theX, float theY, float theZ);float QTVRUtils_Point3DToTiltAngle (float theX, float theY, float theZ);void QTVRUtils_PanAngleToPoint3D (float thePanAngle, float *theX, float *theZ);PASCAL_RTN OSErr QTVRUtils_StandardEnteringNodeProc (QTVRInstance theInstance, long theNodeID, MovieController theMC);PASCAL_RTN OSErr QTVRUtils_StandardLeavingNodeProc (QTVRInstance theInstance, long fromNodeID, long toNodeID, Boolean *theCancel, MovieController theMC);#endif // ifndef __QTVRUtilities__</pre>
<!--googleoff: index -->
</td>
</tr>
</table>
<!-- END WIDE COLUMN -->
<!-- END MAIN CONTENT -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div style="width: 100%; height: 1px; background-color: #919699; margin-top: 5px; margin-bottom: 15px"></div></td>
</tr>
<tr>
<td align="center"><br/>
<table border="0" cellpadding="0" cellspacing="0" class="graybox">
<tr>
<th>Did this document help you?</th>
</tr>
<tr>
<td>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=1&url=/samplecode/vrmovies/listing12.html%3Fid%3DDTS10001030-1.0&media=dvd" target=_new>Yes</a>: Tell us what works for you.</div>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=2&url=/samplecode/vrmovies/listing12.html%3Fid%3DDTS10001030-1.0&media=dvd" target=_new>It’s good, but:</a> Report typos, inaccuracies, and so forth.</div>
<div><a href="http://developer.apple.com/feedback/?v=3&url=/samplecode/vrmovies/listing12.html%3Fid%3DDTS10001030-1.0&media=dvd" target=_new>It wasn’t helpful</a>: Tell us what would have helped.</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- START BOTTOM APPLE NAVIGATION -->
<!--#include virtual="/includes/footer"-->
<!-- END BOTTOM APPLE NAVIGATION -->
<!-- START CENTER CLOSE -->
</center>
<!-- END CENTER CLOSE -->
</body>
</html>