Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
Chunk.hpp
1#pragma once
2
3#include <Infinity/api.h>
4#include <Infinity/Types/Core/Value.hpp>
5#include <Infinity/Types/Containers/Array.hpp>
6#include <Infinity/Types/Spatial/Volume.hpp>
7
8#include <cstdint>
9
11{
12
87 struct INFINITY_API_PUBLIC Chunk
88 {
105 uint64_t id;
106
118
134 };
135
146 inline std::ostream& operator<<(std::ostream& out, const Chunk& v)
147 {
148 out << v.id << " " << v.vol;
149 return out;
150 }
151
162 inline std::istream& operator>>(std::istream& in, Chunk& v)
163 {
164 in >> v.id >> v.vol;
165 return in;
166 }
167}
168
Dynamic contiguous container for homogeneous elements in the Infinity type system.
Definition Array.hpp:77
Template wrapper for primitive types to integrate with the Infinity type system.
Definition Value.hpp:89
Definition Chunk.hpp:11
std::ostream & operator<<(std::ostream &out, const Chunk &v)
Stream output operator for Chunk.
Definition Chunk.hpp:146
std::istream & operator>>(std::istream &in, Chunk &v)
Stream input operator for Chunk.
Definition Chunk.hpp:162
Template structure representing a 3-component vector.
Definition Vector3.hpp:82
Fundamental unit of spatial partitioning for procedural world generation.
Definition Chunk.hpp:88
uint64_t id
Unique identifier for this chunk.
Definition Chunk.hpp:105
Math::Vector3 position()
Gets the center position of the chunk.
Spatial::Volume vol
Spatial volume defining the chunk's bounds.
Definition Chunk.hpp:117
Axis-aligned bounding box (AABB) representing a rectangular 3D region.
Definition Volume.hpp:71