Blender V4.3
poly34.cpp File Reference
#include <math.h>
#include "poly34.h"

Go to the source code of this file.

Macros

#define TwoPi   6.28318530717958648
 
#define SWAP(a, b)
 
#define F5(t)   (((((t + a) * t + b) * t + c) * t + d) * t + e)
 

Functions

static SIMD_FORCE_INLINE btScalar _root3 (btScalar x)
 
btScalar SIMD_FORCE_INLINE root3 (btScalar x)
 
int SolveP2 (btScalar *x, btScalar a, btScalar b)
 
int SolveP3 (btScalar *x, btScalar a, btScalar b, btScalar c)
 
void CSqrt (btScalar x, btScalar y, btScalar &a, btScalar &b)
 
int SolveP4Bi (btScalar *x, btScalar b, btScalar d)
 
static void dblSort3 (btScalar &a, btScalar &b, btScalar &c)
 
int SolveP4De (btScalar *x, btScalar b, btScalar c, btScalar d)
 
btScalar N4Step (btScalar x, btScalar a, btScalar b, btScalar c, btScalar d)
 
int SolveP4 (btScalar *x, btScalar a, btScalar b, btScalar c, btScalar d)
 
btScalar SolveP5_1 (btScalar a, btScalar b, btScalar c, btScalar d, btScalar e)
 
int SolveP5 (btScalar *x, btScalar a, btScalar b, btScalar c, btScalar d, btScalar e)
 

Variables

const btScalar eps = SIMD_EPSILON
 

Macro Definition Documentation

◆ F5

#define F5 ( t)    (((((t + a) * t + b) * t + c) * t + d) * t + e)

Definition at line 339 of file poly34.cpp.

Referenced by SolveP5_1().

◆ SWAP

#define SWAP ( a,
b )
Value:
{ \
t = b; \
b = a; \
a = t; \
}
local_group_size(16, 16) .push_constant(Type b

Definition at line 189 of file poly34.cpp.

Referenced by dblSort3().

◆ TwoPi

#define TwoPi   6.28318530717958648

Definition at line 10 of file poly34.cpp.

Referenced by SolveP3().

Function Documentation

◆ _root3()

static SIMD_FORCE_INLINE btScalar _root3 ( btScalar x)
static

Definition at line 16 of file poly34.cpp.

Referenced by root3().

◆ CSqrt()

void CSqrt ( btScalar x,
btScalar y,
btScalar & a,
btScalar & b )

Definition at line 119 of file poly34.cpp.

References b, and sqrt().

Referenced by SolveP4Bi(), and SolveP4De().

◆ dblSort3()

static void dblSort3 ( btScalar & a,
btScalar & b,
btScalar & c )
static

Definition at line 195 of file poly34.cpp.

References b, and SWAP.

Referenced by SolveP4De().

◆ N4Step()

btScalar N4Step ( btScalar x,
btScalar a,
btScalar b,
btScalar c,
btScalar d )

Definition at line 287 of file poly34.cpp.

References b, and x.

Referenced by SolveP4().

◆ root3()

Definition at line 39 of file poly34.cpp.

References _root3().

Referenced by SolveP3().

◆ SolveP2()

int SolveP2 ( btScalar * x,
btScalar a,
btScalar b )

Definition at line 52 of file poly34.cpp.

References b, D, and sqrt().

Referenced by continuousCollisionDetection().

◆ SolveP3()

int SolveP3 ( btScalar * x,
btScalar a,
btScalar b,
btScalar c )

Definition at line 71 of file poly34.cpp.

References A, B, b, cos(), eps, fabs(), root3(), sqrt(), and TwoPi.

Referenced by continuousCollisionDetection(), and SolveP4De().

◆ SolveP4()

int SolveP4 ( btScalar * x,
btScalar a,
btScalar b,
btScalar c,
btScalar d )

Definition at line 300 of file poly34.cpp.

References b, N4Step(), and SolveP4De().

Referenced by SolveP5().

◆ SolveP4Bi()

int SolveP4Bi ( btScalar * x,
btScalar b,
btScalar d )

Definition at line 143 of file poly34.cpp.

References b, CSqrt(), and sqrt().

Referenced by SolveP4De().

◆ SolveP4De()

int SolveP4De ( btScalar * x,
btScalar b,
btScalar c,
btScalar d )

Definition at line 208 of file poly34.cpp.

References b, CSqrt(), dblSort3(), e, fabs(), SolveP3(), SolveP4Bi(), and sqrt().

Referenced by SolveP4().

◆ SolveP5()

int SolveP5 ( btScalar * x,
btScalar a,
btScalar b,
btScalar c,
btScalar d,
btScalar e )

Definition at line 441 of file poly34.cpp.

References b, e, SolveP4(), and SolveP5_1().

◆ SolveP5_1()

btScalar SolveP5_1 ( btScalar a,
btScalar b,
btScalar c,
btScalar d,
btScalar e )

Definition at line 341 of file poly34.cpp.

References b, e, eps, F5, and fabs().

Referenced by SolveP5().

Variable Documentation

◆ eps

const btScalar eps = SIMD_EPSILON

Definition at line 11 of file poly34.cpp.

Referenced by add_vertex_invoke(), BKE_nurb_handles_autocalc(), BKE_nurb_makeCurve(), BKE_object_empty_image_data_is_visible_in_view3d(), blf_glyph_to_curves(), bm_edge_calc_rotate_beauty__area(), BM_face_is_normal_valid(), bm_face_split_by_concave(), BM_mesh_bisect_plane(), BM_mesh_intersect(), bm_vert_pair_to_matrix(), bmo_planar_faces_exec(), bridge_loop_pair(), blender::ed::sculpt_paint::brush_delta_update(), btEqual(), btGreaterEqual(), calchandleNurb_intern(), colorband_init_from_table_rgba_simple(), continuousCollisionDetection(), cubic_tangent_factor_circle_v3(), DRW_draw_cursor(), edbm_intersect_boolean_exec(), edbm_intersect_exec(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), Equal(), KDL::Equal(), KDL::Equal(), KDL::Equal(), KDL::Equal(), fcurve_eval_keyframes_interpolate(), blender::math::from_vector(), KDL::Rotation::GetRotAngle(), interp_dot_slerp(), interp_weights_poly_v2(), interp_weights_poly_v3(), blender::math::interpolate_dot_slerp(), is_uniform_scaled_m3(), blender::math::is_uniformly_scaled(), isect_bvhtree_point_v3(), isect_seg_seg_v2_point_ex(), isPlaneProjectionViewAligned(), Freestyle::less_SVertex2D::less_SVertex2D(), matrix_invert_safe_internal(), mdisp_in_mdispquad(), mesh_customdatacorrect_apply_vert(), mesh_symmetry_snap_exec(), nonzerof(), KDL::Vector2::Normalize(), KDL::Vector::Normalize(), Normalize(), libmv::NumericJacobian< Function, mode >::operator()(), ortho_basis_v3v3_v3(), blender::math::projection::orthographic_infinite(), blender::geometry::p_chart_correct_degenerate_triangles2(), blender::geometry::p_edge_matrix(), blender::math::projection::perspective_infinite(), plane_point_test_v3(), quat_to_compatible_quat(), ray_triangle_intersect(), ray_triangle_intersect_self(), recalc_face_normals_find_index(), replaceContactPoint(), signum_i_ex(), smooth_iter__length_weight(), btSolveProjectedGaussSeidel::solveMLCP(), SolveP3(), SolveP5_1(), svd_m4(), btModifiedGramSchmidt< TV >::test(), blender::draw::test_eevee_lut_gen(), test_polyfill_area(), Freestyle::BlenderFileLoader::testDegenerateTriangle(), transform_uniform_scale(), UI_view2d_view_ortho(), update_location_for_2d_curve(), slim::update_weights_and_closest_rotations(), btSoftBody::updateClusters(), btSoftBody::updatePose(), vcloud_estimate_transform_v3(), and vec_to_quat().