Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Common Files/QTVRUtilities.h
////////// |
// |
// 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): |
// |
// <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__ |
#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__ |
#include "WinPrefix.h" |
#endif |
#ifndef __QD3D__ |
#include "QD3D.h" |
#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)) |
////////// |
// |
// 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__ |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14