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.
header/dpg.h
/****************************************************************************** |
** ** |
** Module: dpg.h ** |
** ** |
** ** |
** ** |
** ** |
** ** |
** Copyright (C) 1995-1996 Apple Computer, Inc. All rights reserved. ** |
** ** |
** ** |
*****************************************************************************/ |
#ifndef DistanceProxyGroup_sys_h |
#define DistanceProxyGroup_sys_h |
#if PRAGMA_ONCE |
#pragma once |
#endif |
#include "QD3D.h" |
#include "QD3DGroup.h" |
#include "DPGGroup.h" |
/****************************************************************************** |
** ** |
** Distance Proxy Display Groups ** |
** ** |
*****************************************************************************/ |
typedef struct TQ3DistanceData { |
float distance; |
TQ3GroupPosition position; |
} TQ3DistanceData; |
typedef struct TQ3DistanceIOData { |
float distance; |
unsigned long index; |
} TQ3DistanceIOData; |
typedef struct TQ3DistanceProxyDisplayGroupPrivate { |
TQ3Point3D refPt; |
TQ3DPGFlag flag; |
float d; |
TQ3GroupPosition position; |
TQ3DistanceData *distTbl; |
unsigned long distTblCnt; |
TQ3DistanceIOData *distIOTbl; |
unsigned long distIOTblCnt; |
} TQ3DistanceProxyDisplayGroupPrivate; |
typedef struct TQ3DPGPositionPrivate { |
TQ3Boolean flag; |
float distance; |
} TQ3DPGPositionPrivate; |
extern void *EiGroup_GetPositionPrivate( |
TQ3XObjectClass objectClass, |
TQ3GroupObject group, |
TQ3GroupPosition gPos); |
extern TQ3XObjectClass EgDistanceProxyDisplayGroupClass; |
#define DPG_GETPRIVATE(x)\ |
(TQ3DistanceProxyDisplayGroupPrivate *)Q3XObjectClass_GetPrivate(EgDistanceProxyDisplayGroupClass, (x)) |
#define DPG_POSITION_GETPRIVATE(group, pos)\ |
(TQ3DPGPositionPrivate *)Q3XGroup_GetPositionPrivate( (group), (pos)) |
#ifdef __cplusplus |
extern "C" { |
#endif /* __cplusplus */ |
TQ3Status exDistanceProxyGroup_Register( |
void); |
TQ3GroupObject exDistanceProxyGroup_New( |
TQ3Point3D *position, |
unsigned long flags); |
TQ3GroupPosition exDistanceProxyGroup_AddObjectDistance( |
TQ3GroupObject group, |
TQ3Object object, |
float distance); |
TQ3Status exDistanceProxyGroup_SetFlag( |
TQ3GroupObject group, |
TQ3DPGFlag flag); |
TQ3Status exDistanceProxyGroup_GetFlag( |
TQ3GroupObject group, |
TQ3DPGFlag *flag); |
TQ3Status exDistanceProxyGroup_SetReferencePoint( |
TQ3GroupObject group, |
TQ3Point3D *refPt); |
TQ3Status exDistanceProxyGroup_GetReferencePoint( |
TQ3GroupObject group, |
TQ3Point3D *refPt); |
TQ3Boolean exDistanceProxyGroup_SetDistanceAtPosition( |
TQ3GroupObject group, |
TQ3GroupPosition position, |
float distance); |
TQ3Boolean exDistanceProxyGroup_GetDistanceAtPosition( |
TQ3GroupObject group, |
TQ3GroupPosition position, |
float *distance); |
#ifdef __cplusplus |
} |
#endif /* __cplusplus */ |
#endif |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14