Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
This commit is contained in:
@ -33,7 +33,6 @@
|
||||
#include "core/math/geometry.h"
|
||||
|
||||
int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_over[3]) const {
|
||||
|
||||
ERR_FAIL_COND_V(is_degenerate(), 0);
|
||||
|
||||
Vector3 above[4];
|
||||
@ -43,7 +42,6 @@ int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_
|
||||
int below_count = 0;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
if (p_plane.has_point(vertex[i], CMP_EPSILON)) { // point is in plane
|
||||
|
||||
ERR_FAIL_COND_V(above_count >= 4, 0);
|
||||
@ -52,7 +50,6 @@ int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_
|
||||
below[below_count++] = vertex[i];
|
||||
|
||||
} else {
|
||||
|
||||
if (p_plane.is_point_over(vertex[i])) {
|
||||
//Point is over
|
||||
ERR_FAIL_COND_V(above_count >= 4, 0);
|
||||
@ -83,13 +80,11 @@ int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_
|
||||
ERR_FAIL_COND_V(above_count >= 4 && below_count >= 4, 0); //bug in the algo
|
||||
|
||||
if (above_count >= 3) {
|
||||
|
||||
p_res[polygons_created] = Face3(above[0], above[1], above[2]);
|
||||
p_is_point_over[polygons_created] = true;
|
||||
polygons_created++;
|
||||
|
||||
if (above_count == 4) {
|
||||
|
||||
p_res[polygons_created] = Face3(above[2], above[3], above[0]);
|
||||
p_is_point_over[polygons_created] = true;
|
||||
polygons_created++;
|
||||
@ -97,13 +92,11 @@ int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_
|
||||
}
|
||||
|
||||
if (below_count >= 3) {
|
||||
|
||||
p_res[polygons_created] = Face3(below[0], below[1], below[2]);
|
||||
p_is_point_over[polygons_created] = false;
|
||||
polygons_created++;
|
||||
|
||||
if (below_count == 4) {
|
||||
|
||||
p_res[polygons_created] = Face3(below[2], below[3], below[0]);
|
||||
p_is_point_over[polygons_created] = false;
|
||||
polygons_created++;
|
||||
@ -114,29 +107,24 @@ int Face3::split_by_plane(const Plane &p_plane, Face3 p_res[3], bool p_is_point_
|
||||
}
|
||||
|
||||
bool Face3::intersects_ray(const Vector3 &p_from, const Vector3 &p_dir, Vector3 *p_intersection) const {
|
||||
|
||||
return Geometry::ray_intersects_triangle(p_from, p_dir, vertex[0], vertex[1], vertex[2], p_intersection);
|
||||
}
|
||||
|
||||
bool Face3::intersects_segment(const Vector3 &p_from, const Vector3 &p_dir, Vector3 *p_intersection) const {
|
||||
|
||||
return Geometry::segment_intersects_triangle(p_from, p_dir, vertex[0], vertex[1], vertex[2], p_intersection);
|
||||
}
|
||||
|
||||
bool Face3::is_degenerate() const {
|
||||
|
||||
Vector3 normal = vec3_cross(vertex[0] - vertex[1], vertex[0] - vertex[2]);
|
||||
return (normal.length_squared() < CMP_EPSILON2);
|
||||
}
|
||||
|
||||
Face3::Side Face3::get_side_of(const Face3 &p_face, ClockDirection p_clock_dir) const {
|
||||
|
||||
int over = 0, under = 0;
|
||||
|
||||
Plane plane = get_plane(p_clock_dir);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
const Vector3 &v = p_face.vertex[i];
|
||||
|
||||
if (plane.has_point(v)) //coplanar, don't bother
|
||||
@ -159,7 +147,6 @@ Face3::Side Face3::get_side_of(const Face3 &p_face, ClockDirection p_clock_dir)
|
||||
}
|
||||
|
||||
Vector3 Face3::get_random_point_inside() const {
|
||||
|
||||
real_t a = Math::random(0, 1);
|
||||
real_t b = Math::random(0, 1);
|
||||
if (a > b) {
|
||||
@ -170,29 +157,24 @@ Vector3 Face3::get_random_point_inside() const {
|
||||
}
|
||||
|
||||
Plane Face3::get_plane(ClockDirection p_dir) const {
|
||||
|
||||
return Plane(vertex[0], vertex[1], vertex[2], p_dir);
|
||||
}
|
||||
|
||||
Vector3 Face3::get_median_point() const {
|
||||
|
||||
return (vertex[0] + vertex[1] + vertex[2]) / 3.0;
|
||||
}
|
||||
|
||||
real_t Face3::get_area() const {
|
||||
|
||||
return vec3_cross(vertex[0] - vertex[1], vertex[0] - vertex[2]).length();
|
||||
}
|
||||
|
||||
ClockDirection Face3::get_clock_dir() const {
|
||||
|
||||
Vector3 normal = vec3_cross(vertex[0] - vertex[1], vertex[0] - vertex[2]);
|
||||
//printf("normal is %g,%g,%g x %g,%g,%g- wtfu is %g\n",tofloat(normal.x),tofloat(normal.y),tofloat(normal.z),tofloat(vertex[0].x),tofloat(vertex[0].y),tofloat(vertex[0].z),tofloat( normal.dot( vertex[0] ) ) );
|
||||
return (normal.dot(vertex[0]) >= 0) ? CLOCKWISE : COUNTERCLOCKWISE;
|
||||
}
|
||||
|
||||
bool Face3::intersects_aabb(const AABB &p_aabb) const {
|
||||
|
||||
/** TEST PLANE **/
|
||||
if (!p_aabb.intersects_plane(get_plane()))
|
||||
return false;
|
||||
@ -228,7 +210,6 @@ bool Face3::intersects_aabb(const AABB &p_aabb) const {
|
||||
};
|
||||
|
||||
for (int i = 0; i < 12; i++) {
|
||||
|
||||
Vector3 from, to;
|
||||
p_aabb.get_edge(i, from, to);
|
||||
Vector3 e1 = from - to;
|
||||
@ -253,14 +234,11 @@ bool Face3::intersects_aabb(const AABB &p_aabb) const {
|
||||
}
|
||||
|
||||
Face3::operator String() const {
|
||||
|
||||
return String() + vertex[0] + ", " + vertex[1] + ", " + vertex[2];
|
||||
}
|
||||
|
||||
void Face3::project_range(const Vector3 &p_normal, const Transform &p_transform, real_t &r_min, real_t &r_max) const {
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
Vector3 v = p_transform.xform(vertex[i]);
|
||||
real_t d = p_normal.dot(v);
|
||||
|
||||
@ -273,7 +251,6 @@ void Face3::project_range(const Vector3 &p_normal, const Transform &p_transform,
|
||||
}
|
||||
|
||||
void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, Vector3 *p_vertices, int *p_count, int p_max) const {
|
||||
|
||||
#define _FACE_IS_VALID_SUPPORT_THRESHOLD 0.98
|
||||
#define _EDGE_IS_VALID_SUPPORT_THRESHOLD 0.05
|
||||
|
||||
@ -284,11 +261,9 @@ void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, V
|
||||
|
||||
/** TEST FACE AS SUPPORT **/
|
||||
if (get_plane().normal.dot(n) > _FACE_IS_VALID_SUPPORT_THRESHOLD) {
|
||||
|
||||
*p_count = MIN(3, p_max);
|
||||
|
||||
for (int i = 0; i < *p_count; i++) {
|
||||
|
||||
p_vertices[i] = p_transform.xform(vertex[i]);
|
||||
}
|
||||
|
||||
@ -301,7 +276,6 @@ void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, V
|
||||
real_t support_max = 0;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
real_t d = n.dot(vertex[i]);
|
||||
|
||||
if (i == 0 || d > support_max) {
|
||||
@ -313,7 +287,6 @@ void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, V
|
||||
/** TEST EDGES AS SUPPORT **/
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
if (i != vert_support_idx && i + 1 != vert_support_idx)
|
||||
continue;
|
||||
|
||||
@ -321,7 +294,6 @@ void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, V
|
||||
real_t dot = (vertex[i] - vertex[(i + 1) % 3]).normalized().dot(n);
|
||||
dot = ABS(dot);
|
||||
if (dot < _EDGE_IS_VALID_SUPPORT_THRESHOLD) {
|
||||
|
||||
*p_count = MIN(2, p_max);
|
||||
|
||||
for (int j = 0; j < *p_count; j++)
|
||||
@ -336,7 +308,6 @@ void Face3::get_support(const Vector3 &p_normal, const Transform &p_transform, V
|
||||
}
|
||||
|
||||
Vector3 Face3::get_closest_point_to(const Vector3 &p_point) const {
|
||||
|
||||
Vector3 edge0 = vertex[1] - vertex[0];
|
||||
Vector3 edge1 = vertex[2] - vertex[0];
|
||||
Vector3 v0 = vertex[0] - p_point;
|
||||
|
||||
Reference in New Issue
Block a user