Subversion Repositories public iLand

Rev

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;