Blender V5.0
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)

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)
Value:
(((((t + a) * t + b) * t + c) * t + d) * t + e)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * 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; \
}

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()

SIMD_FORCE_INLINE btScalar _root3 ( btScalar x)
static

Definition at line 16 of file poly34.cpp.

References SIMD_FORCE_INLINE, and x.

Referenced by root3().

◆ CSqrt()

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

Definition at line 119 of file poly34.cpp.

References b, sqrt, x, and y.

Referenced by SolveP4Bi(), and SolveP4De().

◆ dblSort3()

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(), SIMD_FORCE_INLINE, and x.

Referenced by SolveP3().

◆ SolveP2()

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

Definition at line 52 of file poly34.cpp.

References b, D, sqrt, and x.

Referenced by continuousCollisionDetection().

◆ SolveP3()

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

Definition at line 71 of file poly34.cpp.

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

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(), SolveP4De(), and x.

Referenced by SolveP5().

◆ SolveP4Bi()

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

Definition at line 143 of file poly34.cpp.

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

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(), sqrt, and x.

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(), SolveP5_1(), and x.

◆ 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_mball_polygonize(), BKE_nurb_handles_autocalc(), BKE_nurb_makeCurve(), BKE_object_empty_image_data_is_visible_in_view3d(), blf_glyph_to_curves(), BLI_polyfill_edge_calc_rotate_beauty__area(), BM_face_is_normal_valid(), bm_face_split_by_concave(), BM_mesh_bisect_plane(), BM_mesh_intersect(), 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(), KDL::RotationVel::DoRotX(), KDL::VectorAcc::dot, 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(), KDL::Jacobian::Equal, KDL::JntArray::Equal, KDL::JntArrayAcc::Equal, KDL::JntArrayVel::Equal, KDL::Vector::Equal, KDL::VectorAcc::Equal, fcurve_eval_keyframes_interpolate(), KDL::Frame2::Frame2(), blender::math::from_vector(), KDL::Rotation::GetRotAngle(), KDL::Frame::getValue(), KDL::Rotation::getValue(), interp_dot_slerp(), interp_weights_poly_v2(), interp_weights_poly_v3(), blender::math::interpolate_dot_slerp(), KDL::Frame2::Inverse(), KDL::RotationAcc::Inverse(), is_uniform_scaled_m3(), blender::math::is_uniformly_scaled(), isect_bvhtree_point_v3(), isect_seg_seg_v2_point_ex(), blender::ed::transform::isPlaneProjectionViewAligned(), Freestyle::less_SVertex2D::less_SVertex2D(), matrix_invert_safe_internal(), mdisp_in_mdispquad(), blender::ed::transform::mesh_customdatacorrect_apply_vert(), mesh_symmetry_snap_exec(), nonzerof(), KDL::VectorAcc::Norm(), KDL::Vector2::Normalize(), KDL::Vector::Normalize(), Normalize(), KDL::Frame2::operator()(), KDL::Rotation2::operator()(), KDL::Wrench::operator()(), KDL::Wrench::operator()(), libmv::NumericJacobian< Function, mode >::operator()(), KDL::VectorAcc::operator*, KDL::Wrench::operator*, KDL::Twist::operator-, KDL::VectorVel::operator-, KDL::Wrench::operator-=(), KDL::RotationVel::operator=(), KDL::VectorVel::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().