summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/QD3DPick.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/QD3DPick.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/QD3DPick.h')
-rw-r--r--common/quicktime_win32/QD3DPick.h679
1 files changed, 679 insertions, 0 deletions
diff --git a/common/quicktime_win32/QD3DPick.h b/common/quicktime_win32/QD3DPick.h
new file mode 100644
index 0000000..dcfdc0b
--- /dev/null
+++ b/common/quicktime_win32/QD3DPick.h
@@ -0,0 +1,679 @@
+/*
+ File: QD3DPick.h
+
+ Contains: Q3Pick methods
+
+ Version: Technology: Quickdraw 3D 1.6
+ Release: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1995-1998 by Apple Computer, Inc., all rights reserved.
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __QD3DPICK__
+#define __QD3DPICK__
+
+#ifndef __QD3D__
+#include <QD3D.h>
+#endif
+
+
+#ifndef __QD3DSTYLE__
+#include <QD3DStyle.h>
+#endif
+
+#ifndef __QD3DGEOMETRY__
+#include <QD3DGeometry.h>
+#endif
+
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=power
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+#if PRAGMA_ENUM_ALWAYSINT
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DPICK__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
+#elif PRAGMA_ENUM_OPTIONS
+ #pragma option enum=int
+#elif PRAGMA_ENUM_PACK
+ #if __option(pack_enums)
+ #define __QD3DPICK__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
+#endif
+
+/*****************************************************************************
+ ** **
+ ** Mask bits for hit information **
+ ** **
+ *****************************************************************************/
+enum TQ3PickDetailMasks {
+ kQ3PickDetailNone = 0,
+ kQ3PickDetailMaskPickID = 1 << 0,
+ kQ3PickDetailMaskPath = 1 << 1,
+ kQ3PickDetailMaskObject = 1 << 2,
+ kQ3PickDetailMaskLocalToWorldMatrix = 1 << 3,
+ kQ3PickDetailMaskXYZ = 1 << 4,
+ kQ3PickDetailMaskDistance = 1 << 5,
+ kQ3PickDetailMaskNormal = 1 << 6,
+ kQ3PickDetailMaskShapePart = 1 << 7,
+ kQ3PickDetailMaskPickPart = 1 << 8,
+ kQ3PickDetailMaskUV = 1 << 9
+};
+typedef enum TQ3PickDetailMasks TQ3PickDetailMasks;
+
+typedef unsigned long TQ3PickDetail;
+/******************************************************************************
+ ** **
+ ** Hitlist sorting **
+ ** **
+ *****************************************************************************/
+enum TQ3PickSort {
+ kQ3PickSortNone = 0,
+ kQ3PickSortNearToFar = 1,
+ kQ3PickSortFarToNear = 2
+};
+typedef enum TQ3PickSort TQ3PickSort;
+
+
+/******************************************************************************
+ ** **
+ ** Data structures to set up the pick object **
+ ** **
+ *****************************************************************************/
+#define kQ3ReturnAllHits 0
+struct TQ3PickData {
+ TQ3PickSort sort;
+ TQ3PickDetail mask;
+ unsigned long numHitsToReturn;
+};
+typedef struct TQ3PickData TQ3PickData;
+struct TQ3WindowPointPickData {
+ TQ3PickData data;
+ TQ3Point2D point;
+ float vertexTolerance;
+ float edgeTolerance;
+};
+typedef struct TQ3WindowPointPickData TQ3WindowPointPickData;
+struct TQ3WindowRectPickData {
+ TQ3PickData data;
+ TQ3Area rect;
+};
+typedef struct TQ3WindowRectPickData TQ3WindowRectPickData;
+struct TQ3WorldRayPickData {
+ TQ3PickData data;
+ TQ3Ray3D ray;
+ float vertexTolerance;
+ float edgeTolerance;
+};
+typedef struct TQ3WorldRayPickData TQ3WorldRayPickData;
+
+/******************************************************************************
+ ** **
+ ** Hit data **
+ ** **
+ *****************************************************************************/
+struct TQ3HitPath {
+ TQ3GroupObject rootGroup;
+ unsigned long depth;
+ TQ3GroupPosition * positions;
+};
+typedef struct TQ3HitPath TQ3HitPath;
+/******************************************************************************
+ ** **
+ ** Pick class methods **
+ ** **
+ *****************************************************************************/
+#if CALL_NOT_IN_CARBON
+/*
+ * Q3Pick_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Pick_GetType(TQ3PickObject pick);
+
+
+/*
+ * Q3Pick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetData(
+ TQ3PickObject pick,
+ TQ3PickData * data);
+
+
+/*
+ * Q3Pick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetData(
+ TQ3PickObject pick,
+ const TQ3PickData * data);
+
+
+/*
+ * Q3Pick_GetVertexTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetVertexTolerance(
+ TQ3PickObject pick,
+ float * vertexTolerance);
+
+
+/*
+ * Q3Pick_GetEdgeTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetEdgeTolerance(
+ TQ3PickObject pick,
+ float * edgeTolerance);
+
+
+/*
+ * Q3Pick_SetVertexTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetVertexTolerance(
+ TQ3PickObject pick,
+ float vertexTolerance);
+
+
+/*
+ * Q3Pick_SetEdgeTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetEdgeTolerance(
+ TQ3PickObject pick,
+ float edgeTolerance);
+
+
+/*
+ * Q3Pick_GetNumHits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetNumHits(
+ TQ3PickObject pick,
+ unsigned long * numHits);
+
+
+/*
+ * Q3Pick_EmptyHitList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_EmptyHitList(TQ3PickObject pick);
+
+
+/*
+ * Q3Pick_GetPickDetailValidMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetPickDetailValidMask(
+ TQ3PickObject pick,
+ unsigned long index,
+ TQ3PickDetail * pickDetailValidMask);
+
+
+/*
+ * Q3Pick_GetPickDetailData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetPickDetailData(
+ TQ3PickObject pick,
+ unsigned long index,
+ TQ3PickDetail pickDetailValue,
+ void * detailData);
+
+
+/*
+ * Q3HitPath_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HitPath_EmptyData(TQ3HitPath * hitPath);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/******************************************************************************
+ ** **
+ ** Window point pick methods **
+ ** **
+ *****************************************************************************/
+#if CALL_NOT_IN_CARBON
+/*
+ * Q3WindowPointPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WindowPointPick_New(const TQ3WindowPointPickData * data);
+
+
+/*
+ * Q3WindowPointPick_GetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_GetPoint(
+ TQ3PickObject pick,
+ TQ3Point2D * point);
+
+
+/*
+ * Q3WindowPointPick_SetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_SetPoint(
+ TQ3PickObject pick,
+ const TQ3Point2D * point);
+
+
+/*
+ * Q3WindowPointPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_GetData(
+ TQ3PickObject pick,
+ TQ3WindowPointPickData * data);
+
+
+/*
+ * Q3WindowPointPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WindowPointPickData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Window rect pick methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3WindowRectPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WindowRectPick_New(const TQ3WindowRectPickData * data);
+
+
+/*
+ * Q3WindowRectPick_GetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_GetRect(
+ TQ3PickObject pick,
+ TQ3Area * rect);
+
+
+/*
+ * Q3WindowRectPick_SetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_SetRect(
+ TQ3PickObject pick,
+ const TQ3Area * rect);
+
+
+/*
+ * Q3WindowRectPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_GetData(
+ TQ3PickObject pick,
+ TQ3WindowRectPickData * data);
+
+
+/*
+ * Q3WindowRectPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WindowRectPickData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** World ray pick methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3WorldRayPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WorldRayPick_New(const TQ3WorldRayPickData * data);
+
+
+/*
+ * Q3WorldRayPick_GetRay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_GetRay(
+ TQ3PickObject pick,
+ TQ3Ray3D * ray);
+
+
+/*
+ * Q3WorldRayPick_SetRay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_SetRay(
+ TQ3PickObject pick,
+ const TQ3Ray3D * ray);
+
+
+/*
+ * Q3WorldRayPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_GetData(
+ TQ3PickObject pick,
+ TQ3WorldRayPickData * data);
+
+
+/*
+ * Q3WorldRayPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WorldRayPickData * data);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Shape Part methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ShapePart_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3ShapePart_GetType(TQ3ShapePartObject shapePartObject);
+
+
+/*
+ * Q3MeshPart_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3MeshPart_GetType(TQ3MeshPartObject meshPartObject);
+
+
+/*
+ * Q3ShapePart_GetShape()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ShapePart_GetShape(
+ TQ3ShapePartObject shapePartObject,
+ TQ3ShapeObject * shapeObject);
+
+
+/*
+ * Q3MeshPart_GetComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshPart_GetComponent(
+ TQ3MeshPartObject meshPartObject,
+ TQ3MeshComponent * component);
+
+
+/*
+ * Q3MeshFacePart_GetFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshFacePart_GetFace(
+ TQ3MeshFacePartObject meshFacePartObject,
+ TQ3MeshFace * face);
+
+
+/*
+ * Q3MeshEdgePart_GetEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshEdgePart_GetEdge(
+ TQ3MeshEdgePartObject meshEdgePartObject,
+ TQ3MeshEdge * edge);
+
+
+/*
+ * Q3MeshVertexPart_GetVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshVertexPart_GetVertex(
+ TQ3MeshVertexPartObject meshVertexPartObject,
+ TQ3MeshVertex * vertex);
+
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+
+#if PRAGMA_ENUM_ALWAYSINT
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DPICK__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
+#elif PRAGMA_ENUM_OPTIONS
+ #pragma option enum=reset
+#elif defined(__QD3DPICK__RESTORE_PACKED_ENUMS)
+ #pragma options(pack_enums)
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __QD3DPICK__ */
+