RepastHPC
2.3.1
src
relogo
RandomMove.h
1
/*
2
* Repast for High Performance Computing (Repast HPC)
3
*
4
* Copyright (c) 2010 Argonne National Laboratory
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with
8
* or without modification, are permitted provided that the following
9
* conditions are met:
10
*
11
* Redistributions of source code must retain the above copyright notice,
12
* this list of conditions and the following disclaimer.
13
*
14
* Redistributions in binary form must reproduce the above copyright notice,
15
* this list of conditions and the following disclaimer in the documentation
16
* and/or other materials provided with the distribution.
17
*
18
* Neither the name of the Argonne National Laboratory nor the names of its
19
* contributors may be used to endorse or promote products derived from
20
* this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR
26
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
32
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
*
34
*
35
* RandomXY.h
36
*
37
* Created on: Sep 1, 2010
38
* Author: nick
39
*/
40
41
#ifndef RANDOMXY_H_
42
#define RANDOMXY_H_
43
44
#include "Observer.h"
45
46
namespace
repast {
47
namespace
relogo {
48
49
class
Turtle;
50
54
class
RandomMove
{
55
private
:
56
Observer
*obs;
57
58
public
:
65
RandomMove
(
Observer
* observer) : obs(observer) {}
66
virtual
~
RandomMove
() {}
67
73
void
operator()
(Turtle* turtle)
const
;
74
};
75
76
}
77
}
78
79
#endif
/* RANDOMXY_H_ */
repast::relogo::RandomMove
Operator(() that implements random move for a turtle.
Definition:
RandomMove.h:54
repast::relogo::RandomMove::RandomMove
RandomMove(Observer *observer)
Creates a RandomMove that randomly move turtles within the spaces managed by the specified observer.
Definition:
RandomMove.h:65
repast::relogo::RandomMove::operator()
void operator()(Turtle *turtle) const
Move the specified turtle at random.
Definition:
RandomMove.cpp:47
repast::relogo::Observer
Implementation of a logo Observer.
Definition:
Observer.h:110
Generated on Thu Oct 21 2021 10:07:39 for RepastHPC by
1.8.17