Blender  V3.3
Macros | Functions | Variables
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.

◆ SWAP

#define SWAP (   a,
 
)
Value:
{ \
t = b; \
b = a; \
a = t; \
}
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
static unsigned a[3]
Definition: RandGen.cpp:78
static const pxr::TfToken b("b", pxr::TfToken::Immortal)

Definition at line 189 of file poly34.cpp.

◆ TwoPi

#define TwoPi   6.28318530717958648

Definition at line 10 of file poly34.cpp.

Function Documentation

◆ _root3()

static SIMD_FORCE_INLINE btScalar _root3 ( btScalar  x)
static

Definition at line 16 of file poly34.cpp.

References r, 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 Freestyle::a, usdtokens::b(), r, sqrt(), x, and y.

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 Freestyle::a, usdtokens::b(), Freestyle::c, SWAP, and t.

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 Freestyle::a, usdtokens::b(), Freestyle::c, and x.

Referenced by SolveP4().

◆ root3()

Definition at line 39 of file poly34.cpp.

References _root3(), and x.

Referenced by SolveP3().

◆ SolveP2()

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

Definition at line 52 of file poly34.cpp.

References Freestyle::a, usdtokens::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, Freestyle::a, KDL::acos(), B, usdtokens::b(), Freestyle::c, KDL::cos(), eps, fabs(), r, root3(), sqrt(), t, 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 Freestyle::a, usdtokens::b(), Freestyle::c, 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 usdtokens::b(), CSqrt(), D(), sqrt(), x, and x2.

Referenced by SolveP4De().

◆ SolveP4De()

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

Definition at line 208 of file poly34.cpp.

References usdtokens::b(), Freestyle::c, 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 Freestyle::a, usdtokens::b(), Freestyle::c, e, r, 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 Freestyle::a, usdtokens::b(), Freestyle::c, e, eps, F5, fabs(), and x2.

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(), 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(), 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(), KDL::Equal(), Equal(), fcurve_eval_keyframes_interpolate(), freetypechar_to_vchar(), KDL::Rotation::GetRotAngle(), interp_dot_slerp(), interp_weights_poly_v2(), interp_weights_poly_v3(), is_uniform_scaled_m3(), isect_bvhtree_point_v3(), isect_seg_seg_v2_point_ex(), isPlaneProjectionViewAligned(), Freestyle::less_SVertex2D::less_SVertex2D(), matrix_invert_safe_internal(), mdisp_in_mdispquad(), mesh_symmetry_snap_exec(), nonzerof(), Normalize(), KDL::Vector::Normalize(), KDL::Vector2::Normalize(), libmv::NumericJacobian< Function, mode >::operator()(), ortho_basis_v3v3_v3(), plane_point_test_v3(), quat_to_compatible_quat(), ray_triangle_intersect(), ray_triangle_intersect_self(), recalc_face_normals_find_index(), replaceContactPoint(), sculpt_update_brush_delta(), signum_i_ex(), smooth_iter__length_weight(), btSolveProjectedGaussSeidel::solveMLCP(), SolveP3(), SolveP5_1(), svd_m4(), tc_mesh_customdatacorrect_apply_vert(), btModifiedGramSchmidt< TV >::test(), test_polyfill_area(), Freestyle::BlenderFileLoader::testDegenerateTriangle(), transform_uniform_scale(), UI_view2d_view_ortho(), update_location_for_2d_curve(), btSoftBody::updateClusters(), btSoftBody::updatePose(), vcloud_estimate_transform_v3(), and vec_to_quat().