Rev 105 | Rev 107 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 105 | Rev 106 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | #define TREE_H
|
3 | #define TREE_H
|
4 | #include <QPointF>
|
4 | #include <QPointF>
|
5 | 5 | ||
6 | #include "grid.h"
|
6 | #include "grid.h"
|
7 | 7 | ||
8 | class ImageStamp; |
- | |
9 | class Species; |
8 | class Species; |
10 | class Stamp; |
9 | class Stamp; |
- | 10 | class RessourceUnit; |
|
11 | 11 | ||
12 | class Tree
|
12 | class Tree
|
13 | {
|
13 | {
|
14 | public: |
14 | public: |
15 | Tree(); |
15 | Tree(); |
16 | void setId(const int id) { m_id=id;} |
- | |
17 | const int id() const { return m_id; } |
- | |
18 | void setPosition(const QPointF pos) { m_Position=pos; } |
- | |
19 | const QPointF position() const { return m_Position; } |
- | |
- | 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; } |
|
20 | 20 | ||
21 | void setDbh(const float dbh) { m_Dbh=dbh; } |
- | |
22 | const float dbh() const { return m_Dbh; } |
- | |
- | 21 | void setDbh(const float dbh) { mDbh=dbh; } |
|
- | 22 | const float dbh() const { return mDbh; } |
|
23 | 23 | ||
24 | void setHeight(const float height) { m_Height=height; } |
- | |
25 | const float height() const { return m_Height; } |
- | |
- | 24 | void setHeight(const float height) { mHeight=height; } |
|
- | 25 | const float height() const { return mHeight; } |
|
26 | 26 | ||
27 | const float impact() const { return mImpact; } |
- | |
28 | const float impactRadius() const { return mImpactRadius; } |
- | |
- | 27 | const float lightRessourceIndex() const { return mLRI; } |
|
29 | 28 | ||
30 | const Species* species() const { return m_species; } |
- | |
31 | void setSpecies(Species *ts) { m_species=ts; } |
- | |
- | 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; } |
|
32 | 33 | ||
33 | void setup(); |
34 | void setup(); |
34 | 35 | ||
35 | void enableDebugging() { m_debugid = m_id; } |
- | |
- | 36 | void enableDebugging() { mDebugid = mId; } |
|
36 | 37 | ||
37 | 38 | ||
38 | // grid based stamp functions
|
39 | // grid based stamp functions
|
39 | static void setGrid(FloatGrid* gridToStamp, FloatGrid *dominanceGrid) { m_grid = gridToStamp; m_dominanceGrid = dominanceGrid; } |
- | |
- | 40 | static void setGrid(FloatGrid* gridToStamp, FloatGrid *dominanceGrid) { mGrid = gridToStamp; mHeightGrid = dominanceGrid; } |
|
40 | void applyStamp(); |
41 | void applyStamp(); |
41 | double readStamp(); |
42 | double readStamp(); |
42 | double readStampMul(); |
43 | double readStampMul(); |
43 | void heightGrid(); |
44 | void heightGrid(); |
44 | 45 | ||
45 | // statistics
|
46 | // statistics
|
46 | static void resetStatistics(); |
47 | static void resetStatistics(); |
47 | static const int statPrints() { return m_statPrint; } |
48 | static const int statPrints() { return m_statPrint; } |
48 | static const int statAboveZ() { return m_statAboveZ; } ///< # of trees that are above Z*, i.e. the top is above the dominant height grid |
- | |
- | 49 | static const int statCreated() { return m_statCreated; } |
|
49 | 50 | ||
50 | static float lafactor; |
51 | static float lafactor; |
51 | 52 | ||
52 | private: |
53 | private: |
53 | bool isDebugging() { return m_id == m_debugid; } |
- | |
54 | int m_id; |
- | |
55 | float m_Dbh; |
- | |
56 | float m_Height; |
- | |
57 | QPointF m_Position;
|
- | |
58 | float mOwnImpact; |
- | |
59 | float mImpactArea; |
- | |
60 | float mImpactRadius; |
- | |
61 | float mImpact; |
- | |
- | 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; |
|
62 | // Stamp
|
63 | // Stamp
|
63 | const Stamp *m_stamp; |
- | |
64 | Species *m_species; |
- | |
65 | static FloatGrid *m_grid; |
- | |
66 | static FloatGrid *m_dominanceGrid; |
- | |
- | 64 | const Stamp *mStamp; |
|
- | 65 | Species *mSpecies; |
|
- | 66 | RessourceUnit *mRU; |
|
- | 67 | static FloatGrid *mGrid; |
|
- | 68 | static FloatGrid *mHeightGrid; |
|
67 | // debugging
|
69 | // debugging
|
68 | static int m_debugid; |
- | |
- | 70 | static int mDebugid; |
|
69 | 71 | ||
70 | // statistics
|
72 | // statistics
|
71 | static int m_statPrint; |
73 | static int m_statPrint; |
72 | static int m_statAboveZ; |
74 | static int m_statAboveZ; |
73 | static int m_statCreated; |
75 | static int m_statCreated; |