00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CS_ARRAYS_H__
00021 #define __CS_ARRAYS_H__
00022
00023 #include "csutil/typedvec.h"
00024
00025 class csCurve;
00026 class csLightHalo;
00027 class csPolygonInt;
00028 class csPolygon3D;
00029
00031 CS_DECLARE_TYPED_VECTOR_NODELETE (csCurvesArrayHelper, csCurve);
00032
00033 class csCurvesArray : public csCurvesArrayHelper {
00034 public:
00035 virtual bool FreeItem (csSome item);
00036 virtual int CompareKey (csSome Item, csConstSome Key, int Mode) const;
00037 csCurvesArray (int l=8, int t=8) : csCurvesArrayHelper (l, t) {}
00038 };
00039
00041 CS_DECLARE_TYPED_VECTOR_NODELETE (csHaloArrayHelper, csLightHalo);
00042
00043 class csHaloArray : public csHaloArrayHelper {
00044 public:
00045 virtual bool FreeItem (csSome item);
00046 virtual int CompareKey (csSome Item, csConstSome Key, int Mode) const;
00047 csHaloArray (int l=8, int t=8) : csHaloArrayHelper (l, t) {}
00048 };
00049
00055 class csPolygonArray : public csVector
00056 {
00057 public:
00059 csPolygonArray (int iLimit, int iDelta) : csVector (iLimit, iDelta)
00060 { }
00061
00063 virtual ~csPolygonArray ();
00064
00066 virtual bool FreeItem (csSome Item);
00067
00069 virtual int CompareKey (csSome Item, csConstSome Key, int Mode) const;
00070
00072 csPolygon3D *Get (int iIndex) const;
00073
00075 csPolygonInt **GetArray ()
00076 { return (csPolygonInt **)root; }
00077 };
00078
00079 #endif // __CS_ARRAYS_H__