Class World
Defined in File World.h
Class Documentation
-
class World
This file defines the members and methods implemented as part of the World class.
This class represents a Minecraft world as a list of axis aligned bounding boxes and blocks.
Public Functions
-
std::vector<std::unique_ptr<AABB>> &getAABBList()
Returns the vector that holds the AABBs. Do not transfer ownership of any unique_ptr as it may cause scope issues.
- Returns:
vector<AABB*>& The AABB list.
-
std::vector<std::unique_ptr<Block>> &getBlockList()
Returns the vector that holds the Blocks. Do not transfer ownership of any unique_ptr as it may cause scope issues.
- Returns:
vector<Block*>& The Block list.
-
std::vector<std::unique_ptr<Entity>> &getEntityList()
Returns the Entity vector for this World. Do not transfer ownership of any unique_ptr as it may cause scope issues.
- Returns:
std::vector<Entity*>& The Entity list.
-
std::vector<std::unique_ptr<Object>> &getObjectList()
Returns the Object vector for this World. Do not transfer ownership of any unique_ptr as it may cause scope issues.
- Returns:
std::vector<Object*>& The object list.
-
std::vector<std::unique_ptr<Connection>> &getConnectionList()
Returns the Connection vector for this World. Do not transfer ownership of any unique_ptr as it may cause scope issues.
- Returns:
std::vector<Connection*>& The connection list.
-
void addAABB(std::unique_ptr<AABB> aabb)
Add an AABB to the vector of AABB held inside the world.
- Parameters:
aabb – The AABB to add.
-
void addEntity(std::unique_ptr<Entity> entity)
Add an Entity for this world to keep track of.
- Parameters:
entity – The Entity object.
-
void addBlock(std::unique_ptr<Block> block)
Add a Block to the vector of Block held inside the world.
- Parameters:
block – The Block to add.
-
void addObject(std::unique_ptr<Object> object)
Add an object to the vector of object held inside the world.
- Parameters:
object – The object to add.
-
void addConnection(std::unique_ptr<Connection> connection)
Add an connection to the vector of connection held inside the world.
- Parameters:
connection – The connection to add.
-
virtual std::string toLowLevelMapJSON()
Converts the world into its alternate JSON representation with each entry indented by 4 and returns the string representation of it.
- Returns:
string The JSON as a string.
-
virtual std::string toSemanticMapJSON()
Converts the world into a JSON representation with each entry indented by 4 and returns the string representation of it.
- Returns:
string The JSON as a string.
-
void writeToFile(std::string jsonPath, std::string lowLevelMapJSONPath)
Writes the world’s JSON and alternate JSON output to the given filepaths.
- Parameters:
jsonPath – Path to store json.
lowLevelMapJSONPath – Path to store the alternate json representation.
-
std::mt19937_64 &getRandom()
Get the random object used by this generator.
- Returns:
std::mt19937_64& The random object.
-
void setRandom(int seed)
Set the seed the random object used by this class is initialized with.
- Parameters:
seed – The seed to use.
-
std::vector<std::unique_ptr<AABB>> &getAABBList()