PowerVR Software Development Kit |
00001 /*!*************************************************************************** 00002 @File PVRTBoneBatch.h 00003 00004 @Brief Utility functions which process vertices. 00005 00006 @Author PowerVR 00007 00008 @Date Febuary 2003 00009 00010 @Copyright Copyright 2003-2004 by Imagination Technologies Limited. 00011 All rights reserved. No part of this software, either 00012 material or conceptual may be copied or distributed, 00013 transmitted, transcribed, stored in a retrieval system 00014 or translated into any human or computer language in any 00015 form by any means, electronic, mechanical, manual or 00016 other-wise, or disclosed to third parties without the 00017 express written permission of Imagination Technologies 00018 Limited, Unit 8, HomePark Industrial Estate, 00019 King's Langley, Hertfordshire, WD4 8LZ, U.K. 00020 00021 @Platform ANSI compatible 00022 00023 @Description Utility functions which process vertices. 00024 00025 $Revision: 1.4 $ 00026 *****************************************************************************/ 00027 #ifndef _PVRTBONEBATCH_H_ 00028 #define _PVRTBONEBATCH_H_ 00029 00030 00031 /*!*************************************************************************** 00032 Handles a batch of bones 00033 *****************************************************************************/ 00034 class CPVRTBoneBatches 00035 { 00036 public: 00037 int *pnBatches; 00038 int *pnBatchBoneCnt; 00039 int *pnBatchOffset; 00040 int nBatchBoneMax; 00041 int nBatchCnt; 00043 public: 00044 /*!*********************************************************************** 00045 @Function Create 00046 @Output pnVtxNumOut vertex count 00047 @Output pVtxOut Output vertices (program must free() this) 00048 @Modified pwIdx index array for triangle list 00049 @Input nVtxNum vertex count 00050 @Input pVtx vertices 00051 @Input nStride Size of a vertex (in bytes) 00052 @Input nOffsetWeight Offset in bytes to the vertex bone-weights 00053 @Input eTypeWeight Data type of the vertex bone-weights 00054 @Input nOffsetIdx Offset in bytes to the vertex bone-indices 00055 @Input eTypeIdx Data type of the vertex bone-indices 00056 @Input nTriNum Number of triangles 00057 @Input nBatchBoneMax Number of bones a batch can reference 00058 @Input nVertexBones Number of bones affecting each vertex 00059 @Description Fills the bone batch structure 00060 *************************************************************************/ 00061 void Create( 00062 int * const pnVtxNumOut, 00063 char ** const pVtxOut, 00064 unsigned short * const pwIdx, 00065 const int nVtxNum, 00066 const char * const pVtx, 00067 const int nStride, 00068 const int nOffsetWeight, 00069 EPVRTDataType eTypeWeight, 00070 const int nOffsetIdx, 00071 EPVRTDataType eTypeIdx, 00072 const int nTriNum, 00073 const int nBatchBoneMax, 00074 const int nVertexBones); 00075 00076 /*!*********************************************************************** 00077 @Function Release 00078 @Description Destroy the bone batch structure 00079 *************************************************************************/ 00080 void Release() 00081 { 00082 { delete pnBatches; pnBatches = 0; } 00083 { delete pnBatchBoneCnt; pnBatchBoneCnt = 0; } 00084 { delete pnBatchOffset; pnBatchOffset = 0; } 00085 nBatchCnt = 0; 00086 } 00087 }; 00088 00089 00090 #endif /* _PVRTBONEBATCH_H_ */ 00091 00092 /***************************************************************************** 00093 End of file (PVRTBoneBatch.h) 00094 *****************************************************************************/
Copyright © 1999-2006, PowerVR Technologies and partners. PowerVR Technologies is a division of Imagination Technologies Ltd.