summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2MatterArray.h
blob: 1dbd1fc45ca6c5119da5440b9c4d8f9e66bf4344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef T2DLL_T2MATTERARRAY_H
#define T2DLL_T2MATTERARRAY_H
#include "../common.h"
#include "T2Matter.h"
#include "T2ObjectArray.h"

class AFX_CLASS_EXPORT T2MatterArray : public T2ObjectArray {
public:
    enum { kGroupSize = 448 };

    T2MatterArray(unsigned int jobType, unsigned int validRange, unsigned int startID);
	virtual ~T2MatterArray() { }

	void SetValidRange(unsigned int validRange);
	T2Matter* FindUnusedMatter(unsigned int);

	unsigned int GetJobType() { return mJobType; }
	unsigned int GetValidRange() { return mValidRange; }
	unsigned int GetSpare() { return kGroupSize - mValidRange; }
	T2Matter* GetIndexMatter(int i) { return &mMatter[i]; }

protected:
    friend class T2MatterArrayList;

	unsigned int mJobType;
	unsigned int mValidRange;
	T2Matter mMatter[kGroupSize];
};
#endif