Show kdatalist.h syntax highlighted
/*
Copyright (C) 2003, 2004, 2005 by Luca Cappa
Written by Luca Cappa groton@users.sourceforge.net
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __KDATALIST_H__
#define __KDATALIST_H__
#include "csutil/nobjvec.h"
struct iEngine;
struct iGraphics3D;
struct iMaterialWrapper;
struct iMeshWrapper;
class csTransform;
struct iPolygon3D;
struct iCollideSystem;
struct iDocumentNode;
class csVector3;
class BlockId;
class KFlags;
class csBox3;
class KData;
class KDataList
{
private:
csRefArrayObject<KData> m_vector;
csRef<iString> m_name;
public:
KDataList ();
KDataList(const char* p_name);
~KDataList();
char* GetName ();
void SetName (const char* p_name);
int GetCount ();
KData* Get (int n);
int Add (KData *obj);
bool Remove (KData *obj);
bool Remove (int n);
void RemoveAll ();
int Find (KData *p_sprite);
KData* FindByName (const char *p_name);
//Utility functions
int GetLastSampleTimestamp ();
int GetLastSampleMeters ();
void GetAtTime (int p_msecs, csVector3& p_pos, KQuaternion& p_hQ,
KQuaternion& p_bQ, csVector3& p_vel);
//Storing utility function.
bool WriteXML (iDocumentNode* p_parent);
bool ReadXML (iDocumentNode* p_parent);
};
#endif // __KDATALIST_H__
See more files for this project here