Mac OS 9
QD3DView.h File Reference

View types and routines. More...

#include <QD3D.h>
#include <QD3DStyle.h>
#include <QD3DSet.h>

Go to the source code of this file.

Macros

#define kQ3ViewDefaultAmbientCoefficient   1.0
 
#define kQ3ViewDefaultDiffuseColor   1.0, 1.0, 1.0
 
#define kQ3ViewDefaultSpecularColor   0.5, 0.5, 0.5
 
#define kQ3ViewDefaultSpecularControl   4.0
 
#define kQ3ViewDefaultTransparency   1.0, 1.0, 1.0
 
#define kQ3ViewDefaultHighlightState   kQ3Off
 
#define kQ3ViewDefaultHighlightColor   1.0, 0.0, 0.0
 
#define kQ3ViewDefaultSubdivisionMethod   kQ3SubdivisionMethodScreenSpace
 
#define kQ3ViewDefaultSubdivisionC1   20.0
 
#define kQ3ViewDefaultSubdivisionC2   20.0
 

Typedefs

typedef enum TQ3ViewStatus TQ3ViewStatus
 
typedef const void * idlerData
 
typedef const void unsigned long current
 
typedef const void unsigned long unsigned long completed
 
typedef void * endFrameData
 

Enumerations

enum  TQ3ViewStatus { kQ3ViewStatusDone = 0 , kQ3ViewStatusRetraverse = 1 , kQ3ViewStatusError = 2 , kQ3ViewStatusCancelled = 3 }
 

Functions

TQ3ViewObject Q3View_New (void)
 
TQ3Status Q3View_Cancel (TQ3ViewObject view)
 
TQ3Status Q3View_SetRendererByType (TQ3ViewObject view, TQ3ObjectType theType)
 
TQ3Status Q3View_SetRenderer (TQ3ViewObject view, TQ3RendererObject renderer)
 
TQ3Status Q3View_GetRenderer (TQ3ViewObject view, TQ3RendererObject *renderer)
 
TQ3Status Q3View_StartRendering (TQ3ViewObject view)
 
TQ3ViewStatus Q3View_EndRendering (TQ3ViewObject view)
 
TQ3Status Q3View_Flush (TQ3ViewObject view)
 
TQ3Status Q3View_Sync (TQ3ViewObject view)
 
TQ3Status Q3View_StartBoundingBox (TQ3ViewObject view, TQ3ComputeBounds computeBounds)
 
TQ3ViewStatus Q3View_EndBoundingBox (TQ3ViewObject view, TQ3BoundingBox *result)
 
TQ3Status Q3View_StartBoundingSphere (TQ3ViewObject view, TQ3ComputeBounds computeBounds)
 
TQ3ViewStatus Q3View_EndBoundingSphere (TQ3ViewObject view, TQ3BoundingSphere *result)
 
TQ3Status Q3View_StartPicking (TQ3ViewObject view, TQ3PickObject pick)
 
TQ3ViewStatus Q3View_EndPicking (TQ3ViewObject view)
 
TQ3Status Q3View_GetCamera (TQ3ViewObject view, TQ3CameraObject *camera)
 
TQ3Status Q3View_SetCamera (TQ3ViewObject view, TQ3CameraObject camera)
 
TQ3Status Q3View_SetLightGroup (TQ3ViewObject view, TQ3GroupObject lightGroup)
 
TQ3Status Q3View_GetLightGroup (TQ3ViewObject view, TQ3GroupObject *lightGroup)
 
typedef CALLBACK_API_C (TQ3Status, TQ3ViewIdleMethod)(TQ3ViewObject view
 
typedef CALLBACK_API_C (TQ3Status, TQ3ViewIdleProgressMethod)(TQ3ViewObject view
 
TQ3Status Q3View_SetIdleMethod (TQ3ViewObject view, TQ3ViewIdleMethod idleMethod, const void *idleData)
 
TQ3Status Q3View_SetIdleProgressMethod (TQ3ViewObject view, TQ3ViewIdleProgressMethod idleMethod, const void *idleData)
 
typedef CALLBACK_API_C (void, TQ3ViewEndFrameMethod)(TQ3ViewObject view
 
TQ3Status Q3View_SetEndFrameMethod (TQ3ViewObject view, TQ3ViewEndFrameMethod endFrame, void *endFrameData)
 
TQ3Status Q3Push_Submit (TQ3ViewObject view)
 
TQ3Status Q3Pop_Submit (TQ3ViewObject view)
 
TQ3StateOperatorObject Q3Push_New (void)
 
TQ3StateOperatorObject Q3Pop_New (void)
 
TQ3Status Q3StateOperator_Submit (TQ3StateOperatorObject stateOperator, TQ3ViewObject view)
 
TQ3Boolean Q3View_IsBoundingBoxVisible (TQ3ViewObject view, const TQ3BoundingBox *bbox)
 
TQ3Status Q3View_AllowAllGroupCulling (TQ3ViewObject view, TQ3Boolean allowCulling)
 
TQ3Status Q3View_SetDrawContext (TQ3ViewObject view, TQ3DrawContextObject drawContext)
 
TQ3Status Q3View_GetDrawContext (TQ3ViewObject view, TQ3DrawContextObject *drawContext)
 
TQ3Status Q3View_GetLocalToWorldMatrixState (TQ3ViewObject view, TQ3Matrix4x4 *matrix)
 
TQ3Status Q3View_GetWorldToFrustumMatrixState (TQ3ViewObject view, TQ3Matrix4x4 *matrix)
 
TQ3Status Q3View_GetFrustumToWindowMatrixState (TQ3ViewObject view, TQ3Matrix4x4 *matrix)
 
TQ3Status Q3View_GetBackfacingStyleState (TQ3ViewObject view, TQ3BackfacingStyle *backfacingStyle)
 
TQ3Status Q3View_GetInterpolationStyleState (TQ3ViewObject view, TQ3InterpolationStyle *interpolationType)
 
TQ3Status Q3View_GetFillStyleState (TQ3ViewObject view, TQ3FillStyle *fillStyle)
 
TQ3Status Q3View_GetHighlightStyleState (TQ3ViewObject view, TQ3AttributeSet *highlightStyle)
 
TQ3Status Q3View_GetSubdivisionStyleState (TQ3ViewObject view, TQ3SubdivisionStyleData *subdivisionStyle)
 
TQ3Status Q3View_GetOrientationStyleState (TQ3ViewObject view, TQ3OrientationStyle *fontFacingDirectionStyle)
 
TQ3Status Q3View_GetReceiveShadowsStyleState (TQ3ViewObject view, TQ3Boolean *receives)
 
TQ3Status Q3View_GetPickIDStyleState (TQ3ViewObject view, unsigned long *pickIDStyle)
 
TQ3Status Q3View_GetPickPartsStyleState (TQ3ViewObject view, TQ3PickParts *pickPartsStyle)
 
TQ3Status Q3View_GetAntiAliasStyleState (TQ3ViewObject view, TQ3AntiAliasStyleData *antiAliasData)
 
TQ3Status Q3View_GetDefaultAttributeSet (TQ3ViewObject view, TQ3AttributeSet *attributeSet)
 
TQ3Status Q3View_SetDefaultAttributeSet (TQ3ViewObject view, TQ3AttributeSet attributeSet)
 
TQ3Status Q3View_GetAttributeSetState (TQ3ViewObject view, TQ3AttributeSet *attributeSet)
 
TQ3Status Q3View_GetAttributeState (TQ3ViewObject view, TQ3AttributeType attributeType, void *data)
 

Detailed Description

View types and routines.

Introduced In: Quickdraw 3D 1.6
Avaliable From: Universal Interfaces 3.4.1
Copyright: © 1995-2001 by Apple Computer, Inc., all rights reserved.

For bug reports, consult the following page on the World Wide Web:

http://developer.apple.com/bugreporter/

Function Documentation

◆ CALLBACK_API_C() [1/2]

typedef CALLBACK_API_C ( TQ3Status  ,
TQ3ViewIdleMethod   
)

The idle methods allow the application to register callback routines which will be called by the view during especially long operations.

The idle methods may also be used to interrupt long renderings or traversals. Inside the idler callback the application can check for Command-Period, Control-C or clicking a "Cancel" button or whatever else may be used to let the user interrupt rendering.

It is NOT LEGAL to call QD3D routines inside an idler callback.

Return kQ3Failure to cancel rendering, kQ3Success to continue. Don't bother posting an error.

Q3View_SetIdleMethod registers a callback that can be called by the system during rendering. Unfortunately there is no way yet to set timer intervals when you want to be called. Basically, it is up to the application's idler callback to check clocks to see if you were called back only a millisecond ago or an hour ago!

Q3View_SetIdleProgressMethod registers a callback that also gives progress information. This information is supplied by the renderer, and may or may not be based on real time.

If a renderer doesn't support the progress method, your method will be called with current == 0 and completed == 0.

Otherwise, you are GUARANTEED to get called at least 2 or more times:

ONCE idleMethod(view, 0, n) -> Initialize, Show Dialog zero or more idleMethod(view, 1..n-1, n) -> Update progress ONCE idleMethod(view, n, n) -> Exit, Hide Dialog

"current" is guaranteed to be less than or equal to "completed" "completed" may change values, but current/complete always indicates the degree of completion.

The calling conventions aid in managing any data associated with a progress user interface indicator.

◆ CALLBACK_API_C() [2/2]

typedef CALLBACK_API_C ( void  ,
TQ3ViewEndFrameMethod   
)

The end frame method is an alternate way of determining when an asynchronous renderer has completed rendering a frame. It differs from Q3View_Sync in that notification of the frame completion is the opposite direction.

With Q3View_Sync the application asks a renderer to finish rendering a frame, and blocks until the frame is complete.

With the EndFrame method, the renderer tells the application that is has completed a frame.

If "Q3View_Sync" is called BEFORE this method has been called, this method will NOT be called ever.

If "Q3View_Sync" is called AFTER this method has been called, the call will return immediately (as the frame has already been completed).

◆ Q3Pop_New()

TQ3StateOperatorObject Q3Pop_New ( void  )

Q3Pop_New()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3Pop_Submit()

TQ3Status Q3Pop_Submit ( TQ3ViewObject  view)

Q3Pop_Submit()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3Push_New()

TQ3StateOperatorObject Q3Push_New ( void  )

Q3Push_New()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3Push_Submit()

TQ3Status Q3Push_Submit ( TQ3ViewObject  view)

Q3Push_Submit()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3StateOperator_Submit()

TQ3Status Q3StateOperator_Submit ( TQ3StateOperatorObject  stateOperator,
TQ3ViewObject  view 
)

Q3StateOperator_Submit()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_AllowAllGroupCulling()

TQ3Status Q3View_AllowAllGroupCulling ( TQ3ViewObject  view,
TQ3Boolean  allowCulling 
)

Q3View_AllowAllGroupCulling()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_Cancel()

TQ3Status Q3View_Cancel ( TQ3ViewObject  view)

Q3View_Cancel()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_EndBoundingBox()

TQ3ViewStatus Q3View_EndBoundingBox ( TQ3ViewObject  view,
TQ3BoundingBox result 
)

Q3View_EndBoundingBox()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_EndBoundingSphere()

TQ3ViewStatus Q3View_EndBoundingSphere ( TQ3ViewObject  view,
TQ3BoundingSphere result 
)

Q3View_EndBoundingSphere()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_EndPicking()

TQ3ViewStatus Q3View_EndPicking ( TQ3ViewObject  view)

Q3View_EndPicking()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_EndRendering()

TQ3ViewStatus Q3View_EndRendering ( TQ3ViewObject  view)

Q3View_EndRendering()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_Flush()

TQ3Status Q3View_Flush ( TQ3ViewObject  view)

Q3View_Flush()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetAntiAliasStyleState()

TQ3Status Q3View_GetAntiAliasStyleState ( TQ3ViewObject  view,
TQ3AntiAliasStyleData antiAliasData 
)

Q3View_GetAntiAliasStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetAttributeSetState()

TQ3Status Q3View_GetAttributeSetState ( TQ3ViewObject  view,
TQ3AttributeSet attributeSet 
)

Q3View_GetAttributeSetState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetAttributeState()

TQ3Status Q3View_GetAttributeState ( TQ3ViewObject  view,
TQ3AttributeType  attributeType,
void *  data 
)

Q3View_GetAttributeState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetBackfacingStyleState()

TQ3Status Q3View_GetBackfacingStyleState ( TQ3ViewObject  view,
TQ3BackfacingStyle backfacingStyle 
)

Q3View_GetBackfacingStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetCamera()

TQ3Status Q3View_GetCamera ( TQ3ViewObject  view,
TQ3CameraObject *  camera 
)

Q3View_GetCamera()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetDefaultAttributeSet()

TQ3Status Q3View_GetDefaultAttributeSet ( TQ3ViewObject  view,
TQ3AttributeSet attributeSet 
)

Q3View_GetDefaultAttributeSet()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetDrawContext()

TQ3Status Q3View_GetDrawContext ( TQ3ViewObject  view,
TQ3DrawContextObject *  drawContext 
)

Q3View_GetDrawContext()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetFillStyleState()

TQ3Status Q3View_GetFillStyleState ( TQ3ViewObject  view,
TQ3FillStyle fillStyle 
)

Q3View_GetFillStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetFrustumToWindowMatrixState()

TQ3Status Q3View_GetFrustumToWindowMatrixState ( TQ3ViewObject  view,
TQ3Matrix4x4 matrix 
)

Q3View_GetFrustumToWindowMatrixState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetHighlightStyleState()

TQ3Status Q3View_GetHighlightStyleState ( TQ3ViewObject  view,
TQ3AttributeSet highlightStyle 
)

Q3View_GetHighlightStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetInterpolationStyleState()

TQ3Status Q3View_GetInterpolationStyleState ( TQ3ViewObject  view,
TQ3InterpolationStyle interpolationType 
)

Q3View_GetInterpolationStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetLightGroup()

TQ3Status Q3View_GetLightGroup ( TQ3ViewObject  view,
TQ3GroupObject lightGroup 
)

Q3View_GetLightGroup()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetLocalToWorldMatrixState()

TQ3Status Q3View_GetLocalToWorldMatrixState ( TQ3ViewObject  view,
TQ3Matrix4x4 matrix 
)

Q3View_GetLocalToWorldMatrixState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetOrientationStyleState()

TQ3Status Q3View_GetOrientationStyleState ( TQ3ViewObject  view,
TQ3OrientationStyle fontFacingDirectionStyle 
)

Q3View_GetOrientationStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetPickIDStyleState()

TQ3Status Q3View_GetPickIDStyleState ( TQ3ViewObject  view,
unsigned long *  pickIDStyle 
)

Q3View_GetPickIDStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetPickPartsStyleState()

TQ3Status Q3View_GetPickPartsStyleState ( TQ3ViewObject  view,
TQ3PickParts *  pickPartsStyle 
)

Q3View_GetPickPartsStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetReceiveShadowsStyleState()

TQ3Status Q3View_GetReceiveShadowsStyleState ( TQ3ViewObject  view,
TQ3Boolean *  receives 
)

Q3View_GetReceiveShadowsStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetRenderer()

TQ3Status Q3View_GetRenderer ( TQ3ViewObject  view,
TQ3RendererObject renderer 
)

Q3View_GetRenderer()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetSubdivisionStyleState()

TQ3Status Q3View_GetSubdivisionStyleState ( TQ3ViewObject  view,
TQ3SubdivisionStyleData subdivisionStyle 
)

Q3View_GetSubdivisionStyleState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_GetWorldToFrustumMatrixState()

TQ3Status Q3View_GetWorldToFrustumMatrixState ( TQ3ViewObject  view,
TQ3Matrix4x4 matrix 
)

Q3View_GetWorldToFrustumMatrixState()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_IsBoundingBoxVisible()

TQ3Boolean Q3View_IsBoundingBoxVisible ( TQ3ViewObject  view,
const TQ3BoundingBox bbox 
)

Q3View_IsBoundingBoxVisible()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_New()

TQ3ViewObject Q3View_New ( void  )

Q3View_New()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetCamera()

TQ3Status Q3View_SetCamera ( TQ3ViewObject  view,
TQ3CameraObject  camera 
)

Q3View_SetCamera()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetDefaultAttributeSet()

TQ3Status Q3View_SetDefaultAttributeSet ( TQ3ViewObject  view,
TQ3AttributeSet  attributeSet 
)

Q3View_SetDefaultAttributeSet()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetDrawContext()

TQ3Status Q3View_SetDrawContext ( TQ3ViewObject  view,
TQ3DrawContextObject  drawContext 
)

Q3View_SetDrawContext()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetEndFrameMethod()

TQ3Status Q3View_SetEndFrameMethod ( TQ3ViewObject  view,
TQ3ViewEndFrameMethod  endFrame,
void *  endFrameData 
)

Q3View_SetEndFrameMethod()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetIdleMethod()

TQ3Status Q3View_SetIdleMethod ( TQ3ViewObject  view,
TQ3ViewIdleMethod  idleMethod,
const void *  idleData 
)

Q3View_SetIdleMethod()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetIdleProgressMethod()

TQ3Status Q3View_SetIdleProgressMethod ( TQ3ViewObject  view,
TQ3ViewIdleProgressMethod  idleMethod,
const void *  idleData 
)

Q3View_SetIdleProgressMethod()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetLightGroup()

TQ3Status Q3View_SetLightGroup ( TQ3ViewObject  view,
TQ3GroupObject  lightGroup 
)

Q3View_SetLightGroup()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetRenderer()

TQ3Status Q3View_SetRenderer ( TQ3ViewObject  view,
TQ3RendererObject  renderer 
)

Q3View_SetRenderer()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_SetRendererByType()

TQ3Status Q3View_SetRendererByType ( TQ3ViewObject  view,
TQ3ObjectType  theType 
)

Q3View_SetRendererByType()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_StartBoundingBox()

TQ3Status Q3View_StartBoundingBox ( TQ3ViewObject  view,
TQ3ComputeBounds  computeBounds 
)

Q3View_StartBoundingBox()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_StartBoundingSphere()

TQ3Status Q3View_StartBoundingSphere ( TQ3ViewObject  view,
TQ3ComputeBounds  computeBounds 
)

Q3View_StartBoundingSphere()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_StartPicking()

TQ3Status Q3View_StartPicking ( TQ3ViewObject  view,
TQ3PickObject  pick 
)

Q3View_StartPicking()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_StartRendering()

TQ3Status Q3View_StartRendering ( TQ3ViewObject  view)

Q3View_StartRendering()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available

◆ Q3View_Sync()

TQ3Status Q3View_Sync ( TQ3ViewObject  view)

Q3View_Sync()

Non-Carbon CFM: not available
Carbon Lib: not available
Mac OS X: not available