- Forked from Godot Engine 4.7-dev (MIT License) - Rebranded to AeThex Engine with cyan/purple theme - Added AI-powered development assistant module - Integrated Claude API for code completion & error fixing - Custom hexagon logo and branding - Multi-platform CI/CD (Windows, Linux, macOS) - Built Linux editor binary (151MB) - Complete source code with all customizations Tech Stack: - C++ game engine core - AI Module: Claude 3.5 Sonnet integration - Build: SCons, 14K+ source files - License: MIT (Godot) + Custom (AeThex features) Ready for Windows build via GitHub Actions!
39 lines
952 B
C++
39 lines
952 B
C++
// Copyright 2009-2021 Intel Corporation
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#pragma once
|
|
|
|
#include "bbox.h"
|
|
#include "linearspace3.h"
|
|
|
|
namespace embree
|
|
{
|
|
/*! Oriented bounding box */
|
|
template<typename T>
|
|
struct OBBox
|
|
{
|
|
public:
|
|
|
|
__forceinline OBBox () {}
|
|
|
|
__forceinline OBBox (EmptyTy)
|
|
: space(one), bounds(empty) {}
|
|
|
|
__forceinline OBBox (const BBox<T>& bounds)
|
|
: space(one), bounds(bounds) {}
|
|
|
|
__forceinline OBBox (const LinearSpace3<T>& space, const BBox<T>& bounds)
|
|
: space(space), bounds(bounds) {}
|
|
|
|
friend embree_ostream operator<<(embree_ostream cout, const OBBox& p) {
|
|
return cout << "{ space = " << p.space << ", bounds = " << p.bounds << "}";
|
|
}
|
|
|
|
public:
|
|
LinearSpace3<T> space; //!< orthonormal transformation
|
|
BBox<T> bounds; //!< bounds in transformed space
|
|
};
|
|
|
|
typedef OBBox<Vec3f> OBBox3f;
|
|
typedef OBBox<Vec3fa> OBBox3fa;
|
|
}
|