Cogs.Core
ClipmapUpdate.h
1#pragma once
2
3#include "ClipmapLevel.h"
4
5namespace Cogs
6{
8 {
9 public:
10 ClipmapUpdate(ClipmapLevel * level, int west, int south, int east, int north);
11 ClipmapUpdate(ClipmapLevel * level, Extent extent) : level(level), extent(extent) {}
12
13 ClipmapLevel * getLevel() const { return level; }
14
15 int getWest() const { return extent.west; }
16 int getSouth() const { return extent.south; }
17 int getEast() const { return extent.east; }
18 int getNorth() const { return extent.north; }
19
20 int getWidth() const;
21 int getHeight() const;
22
23 ClipmapUpdate addBufferWithinLevelNextExtent() const;
24
25 static ClipmapUpdate intersectUpdates(const ClipmapUpdate & first, const ClipmapUpdate & second);
26 static void splitUpdateToAvoidWrapping(const ClipmapUpdate & update, std::vector<ClipmapUpdate> & results);
27
28 const Extent & getExtent() const { return extent; }
29
30 private:
31 ClipmapLevel * level;
32 Extent extent;
33 };
34}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
Raster index extent.
Definition: Extent.h:7