diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-02-04 19:02:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-04 19:02:57 +0100 |
commit | 84290fe4b1a51cae21bcfb83b6c6d4ecc4392186 (patch) | |
tree | c65e98d7b3d409eaab752868a3c5e82096193615 | |
parent | 61c57491bc346aef567990c293deaa1706f6afca (diff) | |
parent | 5ddb51849666759f1ad172eb999791663501aaee (diff) |
Merge pull request #57623 from akien-mga/core-math-struct-em-all
-rw-r--r-- | core/math/aabb.h | 8 | ||||
-rw-r--r-- | core/math/basis.h | 11 | ||||
-rw-r--r-- | core/math/camera_matrix.h | 6 | ||||
-rw-r--r-- | core/math/dynamic_bvh.h | 6 | ||||
-rw-r--r-- | core/math/face3.h | 6 | ||||
-rw-r--r-- | core/math/plane.h | 5 | ||||
-rw-r--r-- | core/math/quaternion.h | 3 | ||||
-rw-r--r-- | core/math/transform_3d.h | 9 | ||||
-rw-r--r-- | core/math/vector3.h | 3 |
9 files changed, 26 insertions, 31 deletions
diff --git a/core/math/aabb.h b/core/math/aabb.h index 3d19410ddf..cb6f05e9ea 100644 --- a/core/math/aabb.h +++ b/core/math/aabb.h @@ -36,13 +36,13 @@ #include "core/math/vector3.h" /** - * AABB / AABB (Axis Aligned Bounding Box) - * This is implemented by a point (position) and the box size + * AABB (Axis Aligned Bounding Box) + * This is implemented by a point (position) and the box size. */ + class Variant; -class _NO_DISCARD_ AABB { -public: +struct _NO_DISCARD_ AABB { Vector3 position; Vector3 size; diff --git a/core/math/basis.h b/core/math/basis.h index 802da82089..683f05150c 100644 --- a/core/math/basis.h +++ b/core/math/basis.h @@ -34,11 +34,7 @@ #include "core/math/quaternion.h" #include "core/math/vector3.h" -class _NO_DISCARD_ Basis { -private: - void _set_diagonal(const Vector3 &p_diag); - -public: +struct _NO_DISCARD_ Basis { Vector3 elements[3] = { Vector3(1, 0, 0), Vector3(0, 1, 0), @@ -263,6 +259,10 @@ public: } _FORCE_INLINE_ Basis() {} + +private: + // Helper method. + void _set_diagonal(const Vector3 &p_diag); }; _FORCE_INLINE_ void Basis::operator*=(const Basis &p_matrix) { @@ -334,4 +334,5 @@ real_t Basis::determinant() const { elements[1][0] * (elements[0][1] * elements[2][2] - elements[2][1] * elements[0][2]) + elements[2][0] * (elements[0][1] * elements[1][2] - elements[1][1] * elements[0][2]); } + #endif // BASIS_H diff --git a/core/math/camera_matrix.h b/core/math/camera_matrix.h index 4b7a4c9346..285d2ae384 100644 --- a/core/math/camera_matrix.h +++ b/core/math/camera_matrix.h @@ -34,10 +34,10 @@ #include "core/math/math_defs.h" #include "core/math/vector3.h" -class AABB; -class Plane; -class Transform3D; +struct AABB; +struct Plane; struct Rect2; +struct Transform3D; struct Vector2; struct CameraMatrix { diff --git a/core/math/dynamic_bvh.h b/core/math/dynamic_bvh.h index 3041cdf268..50ec2c2b30 100644 --- a/core/math/dynamic_bvh.h +++ b/core/math/dynamic_bvh.h @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef DYNAMICBVH_H -#define DYNAMICBVH_H +#ifndef DYNAMIC_BVH_H +#define DYNAMIC_BVH_H #include "core/math/aabb.h" #include "core/templates/list.h" @@ -474,4 +474,4 @@ void DynamicBVH::ray_query(const Vector3 &p_from, const Vector3 &p_to, QueryResu } while (depth > 0); } -#endif // DYNAMICBVH_H +#endif // DYNAMIC_BVH_H diff --git a/core/math/face3.h b/core/math/face3.h index 3dbbca09e0..8b123f078c 100644 --- a/core/math/face3.h +++ b/core/math/face3.h @@ -36,8 +36,7 @@ #include "core/math/transform_3d.h" #include "core/math/vector3.h" -class _NO_DISCARD_ Face3 { -public: +struct _NO_DISCARD_ Face3 { enum Side { SIDE_OVER, SIDE_UNDER, @@ -48,14 +47,11 @@ public: Vector3 vertex[3]; /** - * * @param p_plane plane used to split the face * @param p_res array of at least 3 faces, amount used in function return * @param p_is_point_over array of at least 3 booleans, determining which face is over the plane, amount used in function return - * @param _epsilon constant used for numerical error rounding, to add "thickness" to the plane (so coplanar points can happen) * @return amount of faces generated by the split, either 0 (means no split possible), 2 or 3 */ - int split_by_plane(const Plane &p_plane, Face3 *p_res, bool *p_is_point_over) const; Plane get_plane(ClockDirection p_dir = CLOCKWISE) const; diff --git a/core/math/plane.h b/core/math/plane.h index 8cb6f62b3b..66c1741662 100644 --- a/core/math/plane.h +++ b/core/math/plane.h @@ -35,13 +35,12 @@ class Variant; -class _NO_DISCARD_ Plane { -public: +struct _NO_DISCARD_ Plane { Vector3 normal; real_t d = 0; void set_normal(const Vector3 &p_normal); - _FORCE_INLINE_ Vector3 get_normal() const { return normal; }; ///Point is coplanar, CMP_EPSILON for precision + _FORCE_INLINE_ Vector3 get_normal() const { return normal; }; void normalize(); Plane normalized() const; diff --git a/core/math/quaternion.h b/core/math/quaternion.h index 2575d7d229..7874e4f428 100644 --- a/core/math/quaternion.h +++ b/core/math/quaternion.h @@ -36,8 +36,7 @@ #include "core/math/vector3.h" #include "core/string/ustring.h" -class _NO_DISCARD_ Quaternion { -public: +struct _NO_DISCARD_ Quaternion { union { struct { real_t x; diff --git a/core/math/transform_3d.h b/core/math/transform_3d.h index c16c278e74..3b4762e221 100644 --- a/core/math/transform_3d.h +++ b/core/math/transform_3d.h @@ -28,15 +28,14 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef TRANSFORM_H -#define TRANSFORM_H +#ifndef TRANSFORM_3D_H +#define TRANSFORM_3D_H #include "core/math/aabb.h" #include "core/math/basis.h" #include "core/math/plane.h" -class _NO_DISCARD_ Transform3D { -public: +struct _NO_DISCARD_ Transform3D { Basis basis; Vector3 origin; @@ -265,4 +264,4 @@ _FORCE_INLINE_ Plane Transform3D::xform_inv_fast(const Plane &p_plane, const Tra return Plane(normal, d); } -#endif // TRANSFORM_H +#endif // TRANSFORM_3D_H diff --git a/core/math/vector3.h b/core/math/vector3.h index b62edef40f..79ba5c4f15 100644 --- a/core/math/vector3.h +++ b/core/math/vector3.h @@ -35,7 +35,8 @@ #include "core/math/vector2.h" #include "core/math/vector3i.h" #include "core/string/ustring.h" -class Basis; + +struct Basis; struct _NO_DISCARD_ Vector3 { static const int AXIS_COUNT = 3; |