Tramway SDK
transition.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3#ifndef TRAM_SDK_FRAMEWORK_TRANSITION_H
4#define TRAM_SDK_FRAMEWORK_TRANSITION_H
5
6#include <vector>
7
8#include <framework/uid.h>
9#include <framework/math.h>
10
11namespace tram {
12
13class WorldCell;
14
16public:
18 ~Transition() = delete;
19 void AddPoint (vec3 point);
20 void GeneratePlanes (bool disp = false);
21 bool IsInside (vec3 point);
23 static Transition* Find(name_t name);
25protected:
28 std::vector<vec3> points;
29 std::vector<vec4> planes;
30 friend class WorldCell;
31};
32
33}
34
35#endif // TRAM_SDK_FRAMEWORK_TRANSITION_H
Connects WorldCells together.
Definition: transition.h:15
void AddPoint(vec3 point)
Adds a point to the transition volume.
Definition: transition.cpp:63
WorldCell * cell_into
Definition: transition.h:27
static Transition * Find(name_t name)
Finds a transition with the given name.
Definition: transition.cpp:29
std::vector< vec4 > planes
Definition: transition.h:29
Transition(name_t name, WorldCell *cell_into)
Definition: transition.cpp:52
std::vector< vec3 > points
Definition: transition.h:28
name_t name
Definition: transition.h:26
~Transition()=delete
bool IsInside(vec3 point)
Checks whether a point is inside the transition volume.
Definition: transition.cpp:68
static Transition * Make(name_t name, WorldCell *cell_into)
Creates a new transition.
Definition: transition.cpp:38
WorldCell * GetCell()
Definition: transition.h:22
void GeneratePlanes(bool disp=false)
Finalizes the transition after adding points to it.
Definition: transition.cpp:76
World streaming unit.
Definition: worldcell.h:16
Serialization, i.e.
glm::vec3 vec3
Definition: math.h:11
Interned string type.
Definition: uid.h:10