GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
StateSpace.hh
Go to the documentation of this file.
1
2template<class V, class T>
4{
5public:
6 virtual void set(V v)=0;
7 virtual T CurrentState() const=0;
8};
9
10class InterpolateStateSpace : public StateSpace<float,Point>
11{
12public:
13 InterpolateStateSpace(Point p1, Point p2) : p1(p1), p2(p2) { }
14 void set(float val_) { val = val_; }
15
17 {
18 return p1+Vector(p2-p1)*val;
19 }
20private:
21 Point p1,p2;
22 float val;
23};
24
25template<class V, class T>
26class FunctionStateSpace : public StateSpace<V,T>
27{
28public:
29 FunctionStateSpace(Function<V,T> &func) : func(func) { }
30 void set(V v) { var = v; }
31 T CurrentState() const { return func.Index(var); }
32private:
34 V var;
35};
36
37template<class V1, class V2, class T1, class T2>
38class ProductStateSpace : public StateSpace<std::pair<V1,V2>,std::pair<T1,T2> >
39{
40public:
41 ProductStateSpace(StateSpace<V1,T1> &sp, StateSpace<V2,T2> &sp2) : sp(sp), sp2(sp2) { }
42 void set(std::pair<V1,V2> p)
43 {
44 sp.set(p.first);
45 sp2.set(p.second);
46 }
47 std::pair<T1,T2> CurrentState() const
48 {
49 return std::make_pair(sp.CurrentState(),sp2.CurrentState());
50 }
51private:
54};
P func(int c, EveryApi &ev)
Definition test.cpp:59
T CurrentState() const
Definition StateSpace.hh:31
FunctionStateSpace(Function< V, T > &func)
Definition StateSpace.hh:29
void set(V v)
Definition StateSpace.hh:30
Definition EffectI.hh:11
Point CurrentState() const
Definition StateSpace.hh:16
void set(float val_)
Definition StateSpace.hh:14
InterpolateStateSpace(Point p1, Point p2)
Definition StateSpace.hh:13
ProductStateSpace(StateSpace< V1, T1 > &sp, StateSpace< V2, T2 > &sp2)
Definition StateSpace.hh:41
void set(std::pair< V1, V2 > p)
Definition StateSpace.hh:42
std::pair< T1, T2 > CurrentState() const
Definition StateSpace.hh:47
Definition StateSpace.hh:4
virtual void set(V v)=0
virtual T CurrentState() const =0
Definition VectorTools.hh:125
Definition Parser.cc:60
Definition GameApi.h:42
Definition GameApi.h:17