source: branches/help/GDE/MUSCLE/src/dpreglist.h

Last change on this file was 10390, checked in by aboeckma, 11 years ago

added muscle sourcles amd makefile

File size: 1.0 KB
Line 
1#ifndef dpreglist_h
2#define dpreglist_h
3
4#include "diaglist.h"
5
6enum DPREGIONTYPE
7        {
8        DPREGIONTYPE_Unknown,
9        DPREGIONTYPE_Diag,
10        DPREGIONTYPE_Rect
11        };
12
13struct DPRegion
14        {
15        DPREGIONTYPE m_Type;
16        union
17                {
18                Diag m_Diag;
19                Rect m_Rect;
20                };
21        };
22
23const unsigned MAX_DPREGIONS = 1024;
24
25class DPRegionList
26        {
27public:
28        DPRegionList()
29                {
30                m_uCount = 0;
31                }
32        ~DPRegionList()
33                {
34                Free();
35                }
36
37public:
38// Creation
39        void Clear()
40                {
41                Free();
42                }
43        void Add(const DPRegion &r);
44
45// Accessors
46        unsigned GetCount() const
47                {
48                return m_uCount;
49                }
50
51        const DPRegion &Get(unsigned uIndex) const
52                {
53                assert(uIndex < m_uCount);
54                return m_DPRegions[uIndex];
55                }
56
57        unsigned GetDPArea() const;
58
59// Diagnostics
60        void LogMe() const;
61
62private:
63        void Free()
64                {
65                m_uCount = 0;
66                }
67
68private:
69        unsigned m_uCount;
70        DPRegion m_DPRegions[MAX_DPREGIONS];
71        };
72
73void DiagListToDPRegionList(const DiagList &DL, DPRegionList &RL,
74  unsigned uLengthA, unsigned uLengthB);
75
76#endif  // dpreglist_h
Note: See TracBrowser for help on using the repository browser.