Cogs.Core
OGC3DTilesUtils.h
1#pragma once
2
3#include "OGC3DTiles.h"
4#include "OGC3DTilesTileset.h"
5
6#include "Foundation/Geometry/Glm.hpp"
7#include "Foundation/Geometry/BoundingBox.hpp"
8
9#include <glm/glm.hpp>
10#include <string>
11
12namespace Cogs {
13 namespace Core {
14 namespace OGC3DTilesUtils {
15 double distanceFromBBox(const glm::dvec3 pt, const Cogs::Geometry::DBoundingBox& bbox);
16 int bboxInsideViewFrustum(const Cogs::Geometry::DBoundingBox& bbox, const glm::mat4& viewProjectionMatrix);
17 void transformBBox(Cogs::Geometry::DBoundingBox& bbox, const glm::mat4& mat);
18 void translateBBox(Cogs::Geometry::DBoundingBox& bbox, const glm::dvec3& offset);
19
20 Cogs::Geometry::DBoundingBox boundingVolumeConverter(const OGC3DTiles::BoundingVolume& bv, const glm::mat4& transform);
21 Cogs::Geometry::DBoundingBox getBBoxFromCoord(const OGC3DTiles::Coord& tileCoord, const Cogs::Geometry::DBoundingBox& tilesetBBox);
22 OGC3DTiles::BoundingVolume getBoundingVolumeFromCoord(const OGC3DTiles::Coord& tileCoord, const OGC3DTiles::BoundingVolume& globalBoundingVolume);
23
24 bool isInsideBox(const glm::dvec3& point, const Cogs::Geometry::DBoundingBox& box);
25 void printBBox(const ::Cogs::Geometry::DBoundingBox& bbox, const std::string& prefix = std::string(""));
26 void printBBox(const ::Cogs::Geometry::BoundingBox& bbox, const std::string& prefix = std::string(""));
27 };
28 };
29};
Contains all Cogs related functionality.
Definition: FieldSetter.h:23