PowerVR Software Development Kit


Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

PVRTBoneBatch.h

Go to the documentation of this file.
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.


Generated by DOXYGEN 1.3.6