Rev 105 | Rev 107 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | |||
3 | Werner | 2 | #ifndef TREE_H |
3 | #define TREE_H |
||
4 | #include <QPointF> |
||
5 | |||
83 | Werner | 6 | #include "grid.h" |
3 | Werner | 7 | |
90 | Werner | 8 | class Species; |
38 | Werner | 9 | class Stamp; |
106 | Werner | 10 | class RessourceUnit; |
3 | Werner | 11 | |
12 | class Tree |
||
13 | { |
||
14 | public: |
||
15 | Tree(); |
||
106 | Werner | 16 | void setId(const int id) { mId=id;} |
17 | const int id() const { return mId; } |
||
18 | void setPosition(const QPointF pos) { mPosition=pos; } |
||
19 | const QPointF position() const { return mPosition; } |
||
3 | Werner | 20 | |
106 | Werner | 21 | void setDbh(const float dbh) { mDbh=dbh; } |
22 | const float dbh() const { return mDbh; } |
||
3 | Werner | 23 | |
106 | Werner | 24 | void setHeight(const float height) { mHeight=height; } |
25 | const float height() const { return mHeight; } |
||
3 | Werner | 26 | |
106 | Werner | 27 | const float lightRessourceIndex() const { return mLRI; } |
3 | Werner | 28 | |
106 | Werner | 29 | const Species* species() const { return mSpecies; } |
30 | void setSpecies(Species *ts) { mSpecies=ts; } |
||
31 | const RessourceUnit *ru() const { return mRU; } |
||
32 | void setRU(RessourceUnit *ru) { mRU = ru; } |
||
39 | Werner | 33 | |
38 | Werner | 34 | void setup(); |
35 | |||
106 | Werner | 36 | void enableDebugging() { mDebugid = mId; } |
58 | Werner | 37 | |
3 | Werner | 38 | |
39 | Werner | 39 | // grid based stamp functions |
106 | Werner | 40 | static void setGrid(FloatGrid* gridToStamp, FloatGrid *dominanceGrid) { mGrid = gridToStamp; mHeightGrid = dominanceGrid; } |
39 | Werner | 41 | void applyStamp(); |
40 | Werner | 42 | double readStamp(); |
58 | Werner | 43 | double readStampMul(); |
44 | void heightGrid(); |
||
39 | Werner | 45 | |
40 | Werner | 46 | // statistics |
47 | static void resetStatistics(); |
||
48 | static const int statPrints() { return m_statPrint; } |
||
106 | Werner | 49 | static const int statCreated() { return m_statCreated; } |
40 | Werner | 50 | |
53 | Werner | 51 | static float lafactor; |
58 | Werner | 52 | |
3 | Werner | 53 | private: |
106 | Werner | 54 | bool isDebugging() { return mId == mDebugid; } |
55 | int mId; |
||
56 | float mDbh; |
||
57 | float mHeight; |
||
58 | QPointF mPosition; |
||
59 | //float mOwnImpact; |
||
60 | //float mImpactArea; |
||
61 | //float mImpactRadius; |
||
62 | float mLRI; |
||
38 | Werner | 63 | // Stamp |
106 | Werner | 64 | const Stamp *mStamp; |
65 | Species *mSpecies; |
||
66 | RessourceUnit *mRU; |
||
67 | static FloatGrid *mGrid; |
||
68 | static FloatGrid *mHeightGrid; |
||
58 | Werner | 69 | // debugging |
106 | Werner | 70 | static int mDebugid; |
53 | Werner | 71 | |
40 | Werner | 72 | // statistics |
73 | static int m_statPrint; |
||
48 | Werner | 74 | static int m_statAboveZ; |
105 | Werner | 75 | static int m_statCreated; |
40 | Werner | 76 | static int m_nextId; |
3 | Werner | 77 | }; |
78 | |||
79 | #endif // TREE_H |