OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
bounds.h
Go to the documentation of this file.
1#pragma once
2
3#include <Tempest/Matrix4x4>
4#include <Tempest/Point>
5
6#include <vector>
7
8#include "resources.h"
9
10class Bounds final {
11 public:
12 Bounds();
13
14 void assign(const Tempest::Vec3& cen, float sizeSz);
15 void assign(const Bounds& a, const Bounds& b);
16 void assign(const Tempest::Vec3* bbox);
17 void assign(const std::pair<Tempest::Vec3, Tempest::Vec3>& bbox);
18 void assign(const std::vector<Resources::Vertex>& vbo);
19 void assign(const std::vector<Resources::Vertex>& vbo, const std::vector<uint32_t>& ibo, size_t iboOffset, size_t iboLenght);
20 void setObjMatrix(const Tempest::Matrix4x4& m);
21
22 Tempest::Vec3 bbox[2];
23 Tempest::Vec3 midTr;
24 float r = 0, rConservative = 0;
25
26 private:
27 void transformBbox(const Tempest::Matrix4x4& m);
28 void calcR();
29
30 Tempest::Vec3 mid;
31 };
32
Tempest::Vec3 bbox[2]
Definition bounds.h:22
float rConservative
Definition bounds.h:24
Bounds()
Definition bounds.cpp:7
Tempest::Vec3 midTr
Definition bounds.h:23
void assign(const Tempest::Vec3 &cen, float sizeSz)
void setObjMatrix(const Tempest::Matrix4x4 &m)
Definition bounds.cpp:101
void assign(const Tempest::Vec3 *bbox)
float r
Definition bounds.h:24