ALMaSS Partridge ODdox
1.1
The partridge model description following ODdox protocol
Partridge_Communication.h
Go to the documentation of this file.
1
/*
2
*******************************************************************************************************
3
Copyright (c) 2011, Christopher John Topping, University of Aarhus
4
All rights reserved.
5
6
Redistribution and use in source and binary forms, with or without modification, are permitted provided
7
that the following conditions are met:
8
9
Redistributions of source code must retain the above copyright notice, this list of conditions and the
10
following disclaimer.
11
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
12
the following disclaimer in the documentation and/or other materials provided with the distribution.
13
14
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
15
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
17
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
18
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
19
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
21
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
********************************************************************************************************
23
*/
37
//---------------------------------------------------------------------------
38
#ifndef partridge_communicationH
39
#define partridge_communicationH
40
//---------------------------------------------------------------------------
41
42
class
Partridge_Covey
;
43
class
Partridge_Clutch
;
44
class
Partridge_Chick
;
45
class
Partridge_Chick2
;
46
class
Partridge_Male
;
47
class
Partridge_Female
;
48
53
typedef
enum
{
54
pcomm_KillChick
,
55
pcomm_MaleDying
,
56
pcomm_ChicksMature
,
57
pcomm_Mating
,
58
pcomm_MatingM
,
59
pcomm_ClutchDead
,
60
pcomm_AllInfertile
,
61
pcomm_EggsHatch
,
62
pcomm_SetClutch
,
63
pcomm_AllChicksDead
,
64
pcomm_WaitForMale
,
65
pcomm_ClutchMown
,
66
pcomm_MumDeadC
,
67
pcomm_FemaleGivingUp
,
68
pcomm_ClutchEaten
,
69
pcomm_StoppingBreeding
,
70
pcomm_MovingHome
71
}
72
TypeOfPartridge_Communication
;
73
78
struct
PartridgeCommunicationData
{
79
// Attributes
80
Partridge_Clutch
*
m_clutch
;
81
Partridge_Chick
*
m_chick
;
82
Partridge_Chick2
*
m_chick2
;
83
Partridge_Male
*
m_male
;
84
Partridge_Female
*
m_female
;
85
Partridge_Covey
*
m_covey
;
86
bool
m_HaveTerritory
;
// Special bool - used a lot
87
bool
m_boolean
;
// used for transfer of boolean values
88
int
m_int
;
// used for transfer of int values
89
double
m_float
;
// used for transfer of double values
90
};
91
100
class
Partridge_Communication
{
101
public
:
102
// Methods
107
void
ClearData
(
PartridgeCommunicationData
* pc_data);
112
bool
PassMessage
(
PartridgeCommunicationData
* pc_data,
TypeOfPartridge_Communication
pc);
113
};
114
115
#endif
pcomm_MumDeadC
Definition:
Partridge_Communication.h:66
Partridge_Male
The partridge male class.
Definition:
Partridge_All.h:657
Partridge_Female
The partridge female class.
Definition:
Partridge_All.h:770
Partridge_Communication::PassMessage
bool PassMessage(PartridgeCommunicationData *pc_data, TypeOfPartridge_Communication pc)
Pass a message.
Definition:
Partridge_Communication.cpp:86
pcomm_KillChick
Definition:
Partridge_Communication.h:54
pcomm_ClutchEaten
Definition:
Partridge_Communication.h:68
Partridge_Communication
Used for messaging.
Definition:
Partridge_Communication.h:100
pcomm_MovingHome
Definition:
Partridge_Communication.h:70
pcomm_ClutchMown
Definition:
Partridge_Communication.h:65
PartridgeCommunicationData::m_boolean
bool m_boolean
Definition:
Partridge_Communication.h:87
pcomm_ChicksMature
Definition:
Partridge_Communication.h:56
Partridge_Clutch
The partridge clutch class.
Definition:
Partridge_All.h:518
pcomm_Mating
Definition:
Partridge_Communication.h:57
PartridgeCommunicationData::m_male
Partridge_Male * m_male
Definition:
Partridge_Communication.h:83
Partridge_Communication::ClearData
void ClearData(PartridgeCommunicationData *pc_data)
Void data.
Definition:
Partridge_Communication.cpp:66
pcomm_StoppingBreeding
Definition:
Partridge_Communication.h:69
PartridgeCommunicationData::m_chick2
Partridge_Chick2 * m_chick2
Definition:
Partridge_Communication.h:82
PartridgeCommunicationData::m_female
Partridge_Female * m_female
Definition:
Partridge_Communication.h:84
pcomm_FemaleGivingUp
Definition:
Partridge_Communication.h:67
Partridge_Covey
The collective for a family of partridges
Definition:
Partridge_Covey.h:90
PartridgeCommunicationData::m_float
double m_float
Definition:
Partridge_Communication.h:89
PartridgeCommunicationData::m_covey
Partridge_Covey * m_covey
Definition:
Partridge_Communication.h:85
pcomm_SetClutch
Definition:
Partridge_Communication.h:62
pcomm_WaitForMale
Definition:
Partridge_Communication.h:64
pcomm_EggsHatch
Definition:
Partridge_Communication.h:61
pcomm_MaleDying
Definition:
Partridge_Communication.h:55
pcomm_AllChicksDead
Definition:
Partridge_Communication.h:63
pcomm_MatingM
Definition:
Partridge_Communication.h:58
Partridge_Chick
Partridge chick class.
Definition:
Partridge_All.h:581
PartridgeCommunicationData::m_int
int m_int
Definition:
Partridge_Communication.h:88
PartridgeCommunicationData
Data structure of a message.
Definition:
Partridge_Communication.h:78
TypeOfPartridge_Communication
TypeOfPartridge_Communication
Possible messages to pass.
Definition:
Partridge_Communication.h:53
PartridgeCommunicationData::m_clutch
Partridge_Clutch * m_clutch
Definition:
Partridge_Communication.h:80
pcomm_AllInfertile
Definition:
Partridge_Communication.h:60
PartridgeCommunicationData::m_chick
Partridge_Chick * m_chick
Definition:
Partridge_Communication.h:81
Partridge_Chick2
The partridge Chick2 class.
Definition:
Partridge_All.h:628
pcomm_ClutchDead
Definition:
Partridge_Communication.h:59
PartridgeCommunicationData::m_HaveTerritory
bool m_HaveTerritory
Definition:
Partridge_Communication.h:86
ALMaSS_All
Partridge
Partridge_Communication.h
Generated on Wed Oct 2 2019 11:12:08 for ALMaSS Partridge ODdox by
1.8.16