Blender  V3.3
Classes | Macros | Functions | Variables
btVector3.h File Reference
#include "btScalar.h"
#include "btMinMax.h"
#include "btAlignedAllocator.h"

Go to the source code of this file.

Classes

class  btVector4
 
struct  btVector3FloatData
 
struct  btVector3DoubleData
 

Macros

#define btVector3Data   btVector3FloatData
 
#define btVector3DataName   "btVector3FloatData"
 

Functions

SIMD_FORCE_INLINE btVector3 (const btScalar &_x, const btScalar &_y, const btScalar &_z)
 Constructor from scalars. More...
 
SIMD_FORCE_INLINE btVector3operator+= (const btVector3 &v)
 Add a vector to this one. More...
 
SIMD_FORCE_INLINE btVector3operator-= (const btVector3 &v)
 Subtract a vector from this one. More...
 
SIMD_FORCE_INLINE btVector3operator*= (const btScalar &s)
 Scale the vector. More...
 
SIMD_FORCE_INLINE btVector3operator/= (const btScalar &s)
 Inversely scale the vector. More...
 
SIMD_FORCE_INLINE btScalar dot (const btVector3 &v) const
 Return the dot product. More...
 
SIMD_FORCE_INLINE btScalar length2 () const
 Return the length of the vector squared. More...
 
SIMD_FORCE_INLINE btScalar length () const
 Return the length of the vector. More...
 
SIMD_FORCE_INLINE btScalar norm () const
 Return the norm (length) of the vector. More...
 
SIMD_FORCE_INLINE btScalar safeNorm () const
 Return the norm (length) of the vector. More...
 
SIMD_FORCE_INLINE btScalar distance2 (const btVector3 &v) const
 Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point. More...
 
SIMD_FORCE_INLINE btScalar distance (const btVector3 &v) const
 Return the distance between the ends of this and another vector This is symantically treating the vector like a point. More...
 
SIMD_FORCE_INLINE btVector3safeNormalize ()
 
SIMD_FORCE_INLINE btVector3normalize ()
 Normalize this vector x^2 + y^2 + z^2 = 1. More...
 
SIMD_FORCE_INLINE btVector3 normalized () const
 Return a normalized version of this vector. More...
 
SIMD_FORCE_INLINE btVector3 rotate (const btVector3 &wAxis, const btScalar angle) const
 Return a rotated version of this vector. More...
 
SIMD_FORCE_INLINE btScalar angle (const btVector3 &v) const
 Return the angle between this and another vector. More...
 
SIMD_FORCE_INLINE btVector3 absolute () const
 Return a vector with the absolute values of each element. More...
 
SIMD_FORCE_INLINE btVector3 cross (const btVector3 &v) const
 Return the cross product between this and another vector. More...
 
SIMD_FORCE_INLINE btScalar triple (const btVector3 &v1, const btVector3 &v2) const
 
SIMD_FORCE_INLINE int minAxis () const
 Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z. More...
 
SIMD_FORCE_INLINE int maxAxis () const
 Return the axis with the largest value Note return values are 0,1,2 for x, y, or z. More...
 
SIMD_FORCE_INLINE int furthestAxis () const
 
SIMD_FORCE_INLINE int closestAxis () const
 
SIMD_FORCE_INLINE void setInterpolate3 (const btVector3 &v0, const btVector3 &v1, btScalar rt)
 
SIMD_FORCE_INLINE btVector3 lerp (const btVector3 &v, const btScalar &t) const
 Return the linear interpolation between this and another vector. More...
 
SIMD_FORCE_INLINE btVector3operator*= (const btVector3 &v)
 Elementwise multiply this vector by the other. More...
 
SIMD_FORCE_INLINE const btScalargetX () const
 Return the x value. More...
 
SIMD_FORCE_INLINE const btScalargetY () const
 Return the y value. More...
 
SIMD_FORCE_INLINE const btScalargetZ () const
 Return the z value. More...
 
SIMD_FORCE_INLINE void setX (btScalar _x)
 Set the x value. More...
 
SIMD_FORCE_INLINE void setY (btScalar _y)
 Set the y value. More...
 
SIMD_FORCE_INLINE void setZ (btScalar _z)
 Set the z value. More...
 
SIMD_FORCE_INLINE void setW (btScalar _w)
 Set the w value. More...
 
SIMD_FORCE_INLINE const btScalarx () const
 Return the x value. More...
 
SIMD_FORCE_INLINE const btScalary () const
 Return the y value. More...
 
SIMD_FORCE_INLINE const btScalarz () const
 Return the z value. More...
 
SIMD_FORCE_INLINE const btScalarw () const
 Return the w value. More...
 
SIMD_FORCE_INLINE operator btScalar * ()
 operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons. More...
 
SIMD_FORCE_INLINE operator const btScalar * () const
 
SIMD_FORCE_INLINE bool operator== (const btVector3 &other) const
 
SIMD_FORCE_INLINE bool operator!= (const btVector3 &other) const
 
SIMD_FORCE_INLINE void setMax (const btVector3 &other)
 Set each element to the max of the current values and the values of another btVector3. More...
 
SIMD_FORCE_INLINE void setMin (const btVector3 &other)
 Set each element to the min of the current values and the values of another btVector3. More...
 
SIMD_FORCE_INLINE void setValue (const btScalar &_x, const btScalar &_y, const btScalar &_z)
 
void getSkewSymmetricMatrix (btVector3 *v0, btVector3 *v1, btVector3 *v2) const
 
void setZero ()
 
SIMD_FORCE_INLINE bool isZero () const
 
SIMD_FORCE_INLINE bool fuzzyZero () const
 
SIMD_FORCE_INLINE void serialize (struct btVector3Data &dataOut) const
 
SIMD_FORCE_INLINE void deSerialize (const struct btVector3DoubleData &dataIn)
 
SIMD_FORCE_INLINE void deSerialize (const struct btVector3FloatData &dataIn)
 
SIMD_FORCE_INLINE void serializeFloat (struct btVector3FloatData &dataOut) const
 
SIMD_FORCE_INLINE void deSerializeFloat (const struct btVector3FloatData &dataIn)
 
SIMD_FORCE_INLINE void serializeDouble (struct btVector3DoubleData &dataOut) const
 
SIMD_FORCE_INLINE void deSerializeDouble (const struct btVector3DoubleData &dataIn)
 
SIMD_FORCE_INLINE long maxDot (const btVector3 *array, long array_count, btScalar &dotOut) const
 returns index of maximum dot product between this and vectors in array[] More...
 
SIMD_FORCE_INLINE long minDot (const btVector3 *array, long array_count, btScalar &dotOut) const
 returns index of minimum dot product between this and vectors in array[] More...
 
SIMD_FORCE_INLINE btVector3 dot3 (const btVector3 &v0, const btVector3 &v1, const btVector3 &v2) const
 
SIMD_FORCE_INLINE btVector3 operator+ (const btVector3 &v1, const btVector3 &v2)
 Return the sum of two vectors (Point symantics) More...
 
SIMD_FORCE_INLINE btVector3 operator* (const btVector3 &v1, const btVector3 &v2)
 Return the elementwise product of two vectors. More...
 
SIMD_FORCE_INLINE btVector3 operator- (const btVector3 &v1, const btVector3 &v2)
 Return the difference between two vectors. More...
 
SIMD_FORCE_INLINE btVector3 operator- (const btVector3 &v)
 Return the negative of the vector. More...
 
SIMD_FORCE_INLINE btVector3 operator* (const btVector3 &v, const btScalar &s)
 Return the vector scaled by s. More...
 
SIMD_FORCE_INLINE btVector3 operator* (const btScalar &s, const btVector3 &v)
 Return the vector scaled by s. More...
 
SIMD_FORCE_INLINE btVector3 operator/ (const btVector3 &v, const btScalar &s)
 Return the vector inversely scaled by s. More...
 
SIMD_FORCE_INLINE btVector3 operator/ (const btVector3 &v1, const btVector3 &v2)
 Return the vector inversely scaled by s. More...
 
SIMD_FORCE_INLINE btScalar btDot (const btVector3 &v1, const btVector3 &v2)
 Return the dot product between two vectors. More...
 
SIMD_FORCE_INLINE btScalar btDistance2 (const btVector3 &v1, const btVector3 &v2)
 Return the distance squared between two vectors. More...
 
SIMD_FORCE_INLINE btScalar btDistance (const btVector3 &v1, const btVector3 &v2)
 Return the distance between two vectors. More...
 
SIMD_FORCE_INLINE btScalar btAngle (const btVector3 &v1, const btVector3 &v2)
 Return the angle between two vectors. More...
 
SIMD_FORCE_INLINE btVector3 btCross (const btVector3 &v1, const btVector3 &v2)
 Return the cross product of two vectors. More...
 
SIMD_FORCE_INLINE btScalar btTriple (const btVector3 &v1, const btVector3 &v2, const btVector3 &v3)
 
SIMD_FORCE_INLINE btVector3 lerp (const btVector3 &v1, const btVector3 &v2, const btScalar &t)
 Return the linear interpolation between two vectors. More...
 
SIMD_FORCE_INLINE void btSwapScalarEndian (const btScalar &sourceVal, btScalar &destVal)
 btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization More...
 
SIMD_FORCE_INLINE void btSwapVector3Endian (const btVector3 &sourceVec, btVector3 &destVec)
 btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization More...
 
SIMD_FORCE_INLINE void btUnSwapVector3Endian (btVector3 &vector)
 btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization More...
 
template<class T >
SIMD_FORCE_INLINE void btPlaneSpace1 (const T &n, T &p, T &q)
 

Variables

 btVector3
 btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers More...
 
btScalar m_floats [4]
 

Macro Definition Documentation

◆ btVector3Data

#define btVector3Data   btVector3FloatData

Definition at line 27 of file btVector3.h.

◆ btVector3DataName

#define btVector3DataName   "btVector3FloatData"

Definition at line 28 of file btVector3.h.

Function Documentation

◆ absolute()

SIMD_FORCE_INLINE btVector3 absolute ( ) const

Return a vector with the absolute values of each element.

Return the matrix with all values non negative.

Definition at line 364 of file btVector3.h.

References btFabs(), btMatrix3x3, btVector3, m_floats, x, y, and z.

Referenced by bpy_blend_paths(), closestAxis(), edbm_normals_tools_exec(), float4_to_half4_display(), float_to_half_display(), and furthestAxis().

◆ angle()

SIMD_FORCE_INLINE btScalar angle ( const btVector3 v) const

Return the angle between this and another vector.

Parameters
vThe other vector

Definition at line 356 of file btVector3.h.

References btAcos(), btFullAssert, btSqrt(), dot(), length2(), and v.

Referenced by angle_compat_rad(), angle_signed_on_axis_normalized_v3v3_v3(), angle_signed_on_axis_v3v3_v3(), angle_to_mat2(), angle_wrap_deg(), angle_wrap_rad(), applyNormalRotation(), applyRotationValue(), applyTrackballValue(), attr_create_pointiness(), axis_angle_normalized_to_mat3(), axis_angle_normalized_to_quat(), axis_angle_to_eulO(), axis_angle_to_gimbal_axis(), axis_angle_to_mat3(), axis_angle_to_mat3_single(), axis_angle_to_mat4(), axis_angle_to_mat4_single(), axis_angle_to_quat(), axis_angle_to_quat_single(), axisProjection(), basic_rotate(), Bend(), bevel_quarter_fill(), BKE_brush_sample_masktex(), BKE_brush_sample_tex_3d(), BKE_gpencil_convert_mesh(), BKE_gpencil_stroke_stretch(), BKE_maskrasterize_handle_init(), BKE_movieclip_get_stable_ibuf(), BKE_rotMode_change_values(), BKE_tracking_stabilization_data_get(), BKE_tracking_stabilization_data_to_mat4(), BKE_tracking_stabilize_frame(), BLF_rotation(), BLI_convexhull_aabb_fit_points_2d(), BLI_dial_angle(), BLI_rctf_rotate_expand(), BLI_uvproject_from_camera(), BM_edge_calc_face_angle_signed_ex(), bm_edge_is_delimit(), bm_edgering_pair_interpolate(), bm_face_array_uv_rotate_fit_aabb(), bm_interior_face_group_calc_cost(), bm_vert_edge_face_angle(), boid_body(), bpy_bmedge_calc_face_angle(), bpy_bmedge_calc_face_angle_signed(), bpy_bmvert_calc_edge_angle(), bsdf_diffuse_toon_eval_reflect(), bsdf_diffuse_toon_sample(), bsdf_glossy_toon_eval_reflect(), bsdf_glossy_toon_sample(), bsdf_toon_get_intensity(), btAtan2Fast(), btGetAngle(), btNormalizeAnglePositive(), build_emats_stack(), C_Matrix_Rotation(), cache_key_incremental_rotation(), calc_brush_local_mat(), calc_overlap(), calc_radial_symmetry_feather(), calc_solidify_normals(), calculate_autoscale_factor(), blender::nodes::calculate_cone_uvs(), blender::nodes::calculate_cone_vertices(), blender::bke::curves::poly::calculate_next_normal(), calculate_next_normal(), blender::bke::curves::poly::calculate_normals_minimum(), calculate_normals_minimum(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), btTransformUtil::calculateVelocity(), btTransformUtil::calculateVelocityQuaternion(), camera_stereo3d_model_matrix(), check_zone(), circle_dashed_verts(), circle_verts(), compensate_rotation_center(), compute_seam_normal(), computeBindWeights(), connection_node_mat(), blender::compositor::MovieClipNode::convert_to_operations(), blender::nodes::node_geo_curve_primitive_arc_cc::create_arc_curve_from_points(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), cubic_tangent_factor_circle_v3(), cursor_draw_point_with_symmetry(), curve_bevel_make_full_circle(), TransformReader::dae_rotate_to_mat4(), deformStroke(), LightManager::device_update_points(), dial_ghostarc_draw_helpline(), do_boundary_brush_bend_task_cb_ex(), do_boundary_brush_twist_task_cb_ex(), do_guides(), do_multiplane_scrape_brush_task_cb_ex(), do_radial_symmetry(), do_rotate_brush_task_cb_ex(), do_twist(), KDL::RotationVel::DoRotX(), KDL::Rotation::DoRotX(), KDL::RotationVel::DoRotY(), KDL::Rotation::DoRotY(), KDL::RotationVel::DoRotZ(), KDL::Rotation::DoRotZ(), draw_disk_shaded(), btIDebugDraw::drawArc(), libmv::DrawEllipse(), DRW_cache_cursor_get(), DRW_cache_empty_capsule_cap_get(), DRW_cache_empty_cone_get(), DRW_cache_empty_cylinder_get(), DRW_cache_field_cone_limit_get(), DRW_cache_field_tube_limit_get(), DRW_cache_field_vortex_get(), DRW_cache_light_spot_lines_get(), DRW_cache_light_spot_volume_get(), DRW_cache_light_sun_lines_get(), DRW_cache_particles_get_prim(), DRW_text_edit_mesh_measure_stats(), dvar_eval_rotDiff(), dyntopo_detail_size_parallel_lines_draw(), ED_space_clip_get_stable_buffer(), ED_view3d_radius_to_dist(), ED_view3d_radius_to_dist_persp(), edbm_dupli_extrude_cursor_invoke(), edbm_fill_grid_prepare(), edbm_spin_exec(), Euler_rotate_axis(), eulO_to_axis_angle(), AnimationImporter::evaluate_animation(), expmap_to_quat(), extrawindow_spin_cursor(), btAngularLimit::fit(), flip_qt_qt(), gearGL(), generate_arc_from_point_to_point(), generate_semi_circle_from_point_to_point(), blender::nodes::node_fn_rotate_euler_cc::get_multi_function(), blender::nodes::node_fn_compare_cc::get_multi_function(), blender::nodes::node_shader_vector_rotate_cc::get_multi_function(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), getHingeAngle(), KDL::Rotation::GetRotAngle(), gizmo_bisect_prop_angle_get(), gizmo_bisect_prop_angle_set(), gizmo_cage2d_modal(), gizmo_ruler_draw(), gizmo_spin_prop_axis_angle_get(), gizmo_spin_prop_axis_angle_set(), gpencil_add_arc_points(), gpencil_add_guide_points(), gpencil_bake_mesh_animation_exec(), gpencil_brush_angle(), gpencil_brush_angle_segment(), gpencil_brush_jitter(), gpencil_brush_twist_apply(), gpencil_calc_points_factor(), gpencil_draw_modal(), gpencil_generate_edgeloops(), gpencil_guide_event_handling(), gpencil_guide_rotate(), gpencil_next_edge(), gpencil_primitive_constrain(), gpencil_primitive_rotate_line(), gpencil_rotate_v2_v2v2fl(), gpencil_snap_to_rotated_grid_fl(), gpencil_speed_guide_init(), gpencil_stroke_need_flip(), gpencil_stroke_perimeter_ex(), gpencil_walk_edge(), imm_draw_circle(), imm_draw_circle_3D(), imm_draw_circle_partial(), imm_draw_circle_partial_3d(), imm_draw_disk_partial(), imm_draw_disk_partial_3d(), blender::compositor::DirectionalBlurOperation::init_execution(), init_track_for_stabilization(), knifetool_draw_angle(), knifetool_draw_visible_angles(), large_rotation_limit(), blender::geometry::limit_radius(), load_tex_task_cb_ex(), loc_axisangle_size_to_mat4(), make_bevel_list_2D(), make_bevel_list_3D_minimum_twist(), map_to_plane_axis_angle_v2_v3v3fl(), mat3_normalized_to_axis_angle(), mat3_to_axis_angle(), mat3_to_quat_is_ok(), mat4_normalized_to_axis_angle(), mat4_to_axis_angle(), mid_v3_angle_weighted(), mid_v3_v3v3_angle_weighted(), minimum_twist_between_two_points(), MOD_lineart_chain_split_angle(), MOD_solidify_extrude_modifyMesh(), MOD_solidify_nonmanifold_modifyMesh(), modifyMesh(), neighbor_dirty_mask(), NODE_DEFINE(), object_convert_exec(), object_warp_transverts(), KDL::operator>>(), orthogonalize_stable(), p_chart_fill_boundary(), p_chart_rotate_fit_aabb(), p_chart_rotate_minimum_area(), p_edge_boundary_angle(), paint_stroke_line_constrain(), pdf_uniform_cone(), pivotcon_evaluate(), polar_to_x(), polar_to_y(), pow_qt_fl_normalized(), protectedAxisAngleBits(), py_blf_rotation(), quat__axis_angle_sanitize(), quat_normalized_to_expmap(), quat_to_axis_angle(), Quaternion_angle_get(), Quaternion_angle_set(), Quaternion_axis_vector_set(), Quaternion_new(), Quaternion_to_axis_angle(), blender::io::usd::USDLightReader::read_object_data(), regular_polygon_sample(), RemoveEulerAngleFromMatrix(), resolveConeFrictionConstraintRows(), rmat_cache_init(), rmat_cache_update(), Rot(), KDL::Rotation::Rot(), KDL::RotationVel::Rot(), KDL::Rotation2::Rot(), KDL::RotationVel::Rot2(), KDL::Rotation::Rot2(), blender::math::rotate_around_axis(), rotate_around_axis(), rotate_around_center_v2(), rotate_direction_around_axis(), blender::math::rotate_direction_around_axis(), rotate_m4(), rotate_normalized_v3_v3v3fl(), rotate_point_v2(), rotate_v2_v2fl(), rotate_v3_v3v3fl(), blender::nodes::node_geo_curve_primitive_arc_cc::rotate_vector_around_axis(), rotation_between_vecs_to_quat(), libmv::RotationAroundX(), libmv::RotationAroundY(), libmv::RotationAroundZ(), RotationBetween(), KDL::RotationVel::RotX(), KDL::Rotation::RotX(), KDL::RotationVel::RotY(), KDL::Rotation::RotY(), KDL::RotationVel::RotZ(), KDL::Rotation::RotZ(), blender::bke::mesh_surface_sample::sample_surface_points_projected(), blender::bke::mesh_surface_sample::sample_surface_points_spherical(), sample_uniform_cone(), SCULPT_cache_calc_brushdata_symm(), SCULPT_do_rotate_brush(), SCULPT_multiplane_scrape_preview_draw(), sculpt_update_brush_delta(), Freestyle::Controller::setCreaseAngle(), Freestyle::FEdgeXDetector::setCreaseAngle(), KDL::Rotation2::SetRot(), blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_around_axis(), shell_angle_to_dist(), shift_cos_in(), SIM_mass_spring_force_spring_angular(), similar_edge_select_exec(), slide_marker_modal(), snap_v2_angle(), snap_v3_angle_plane(), sphere_wire_vbo(), stabilization_data_to_mat4(), blender::draw::statvis_calc_sharp(), stencil_control_calculate(), svm_node_vector_rotate(), btAngularLimit::test(), testAngularLimitMotor(), transdata_elem_bend(), transdata_elem_rotate(), transdata_elem_trackball(), transform_data_ext_rotate(), transform_draw_cursor_draw(), transform_rotate(), tri_to_quat_ex(), ui_but_pie_dir(), ui_draw_pie_center(), UI_fontstyle_draw_rotated(), ui_numedit_but_UNITVEC(), unit_axis_angle(), vec_to_quat(), view_angle_limits_init(), view_roll_angle(), vieworbit_exec(), viewroll_apply(), viewroll_exec(), viewrotate_apply(), viewrotate_apply_snap(), vpaint_do_paint(), vpaint_do_radial_symmetry(), walkApply(), wm_gesture_straightline_do_angle_snap(), wpaint_do_paint(), and wpaint_do_radial_symmetry().

◆ btAngle()

SIMD_FORCE_INLINE btScalar btAngle ( const btVector3 v1,
const btVector3 v2 
)

Return the angle between two vectors.

Definition at line 911 of file btVector3.h.

References v1, and v2.

◆ btCross()

SIMD_FORCE_INLINE btVector3 btCross ( const btVector3 v1,
const btVector3 v2 
)

◆ btDistance()

SIMD_FORCE_INLINE btScalar btDistance ( const btVector3 v1,
const btVector3 v2 
)

Return the distance between two vectors.

Definition at line 904 of file btVector3.h.

References v1, and v2.

◆ btDistance2()

SIMD_FORCE_INLINE btScalar btDistance2 ( const btVector3 v1,
const btVector3 v2 
)

Return the distance squared between two vectors.

Definition at line 897 of file btVector3.h.

References v1, and v2.

◆ btDot()

SIMD_FORCE_INLINE btScalar btDot ( const btVector3 v1,
const btVector3 v2 
)

Return the dot product between two vectors.

Definition at line 890 of file btVector3.h.

References v1, and v2.

Referenced by above(), btSoftBody::addAeroForceToFace(), btSoftBody::addAeroForceToNode(), btDeformableFaceRigidContactConstraint::applyImpulse(), btSoftBody::applyRepulsionForce(), btMprVec3Dot(), btSegmentsClosestPoints(), btSoftBody::checkContact(), btDbvtAabbMm::Classify(), DistanceBetweenLines(), btSoftColliders::CollideSDF_RS::DoNode(), btSoftBodyHelpers::Draw(), GJK< btConvexTemplate >::Evaluate(), gjkepa2_impl::GJK::Evaluate(), gjkepa2_impl::EPA::Evaluate(), EPA< btConvexTemplate >::Evaluate(), EvaluateMedium(), gjkepa2_impl::EPA::expand(), EPA< btConvexTemplate >::expand(), btSoftBodyHelpers::getBarycentricWeights(), gjkepa2_impl::EPA::getedgedist(), EPA< btConvexTemplate >::getedgedist(), btSoftBody::getVolume(), leftOfAxis(), btSoftClusterCollisionShape::localGetSupportingVertex(), maxdirfiltered(), gjkepa2_impl::EPA::newface(), EPA< btConvexTemplate >::newface(), PlaneLineIntersection(), PlaneProject(), PlaneTest(), btSoftBody::AJoint::Prepare(), btDbvtAabbMm::ProjectMinimum(), ProjectOnAxis(), gjkepa2_impl::GJK::projectorigin(), GJK< btConvexTemplate >::projectorigin(), ProjectOrigin(), btSoftBody::PSolve_RContacts(), btSoftBody::PSolve_SContacts(), btSoftBody::RayFromToCaster::rayFromToTriangle(), segmentsClosestPoints(), btSoftBody::AJoint::Solve(), btSoftBody::CJoint::Solve(), solve33(), btDeformableNodeAnchorConstraint::solveConstraint(), btDeformableRigidContactConstraint::solveConstraint(), btDeformableFaceNodeContactConstraint::solveConstraint(), btSoftColliders::ClusterBase::SolveContact(), btDeformableRigidContactConstraint::solveSplitImpulse(), topdown(), VolumeOf(), and btSoftBody::VSolve_Links().

◆ btPlaneSpace1()

template<class T >
SIMD_FORCE_INLINE void btPlaneSpace1 ( const T n,
T p,
T q 
)

◆ btSwapScalarEndian()

SIMD_FORCE_INLINE void btSwapScalarEndian ( const btScalar sourceVal,
btScalar destVal 
)

btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization

Definition at line 1208 of file btVector3.h.

References dest, and src.

Referenced by btSwapVector3Endian(), and btUnSwapVector3Endian().

◆ btSwapVector3Endian()

SIMD_FORCE_INLINE void btSwapVector3Endian ( const btVector3 sourceVec,
btVector3 destVec 
)

btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization

Definition at line 1231 of file btVector3.h.

References btSwapScalarEndian().

◆ btTriple()

SIMD_FORCE_INLINE btScalar btTriple ( const btVector3 v1,
const btVector3 v2,
const btVector3 v3 
)

Definition at line 924 of file btVector3.h.

References v1, and v2.

Referenced by determinant().

◆ btUnSwapVector3Endian()

SIMD_FORCE_INLINE void btUnSwapVector3Endian ( btVector3 vector)

btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization

Definition at line 1240 of file btVector3.h.

References btSwapScalarEndian(), and btVector3.

◆ btVector3()

SIMD_FORCE_INLINE btVector3 ( const btScalar _x,
const btScalar _y,
const btScalar _z 
)

Constructor from scalars.

Parameters
xX value
yY value
zZ value

Definition at line 126 of file btVector3.h.

References m_floats.

◆ closestAxis()

SIMD_FORCE_INLINE int closestAxis ( ) const

Definition at line 487 of file btVector3.h.

References absolute().

◆ cross()

SIMD_FORCE_INLINE btVector3 cross ( const btVector3 v) const

Return the cross product between this and another vector.

Parameters
vThe other vector

Definition at line 380 of file btVector3.h.

References btVector3, m_floats, T, V, and v.

◆ deSerialize() [1/2]

SIMD_FORCE_INLINE void deSerialize ( const struct btVector3DoubleData dataIn)

◆ deSerialize() [2/2]

SIMD_FORCE_INLINE void deSerialize ( const struct btVector3FloatData dataIn)

◆ deSerializeDouble()

SIMD_FORCE_INLINE void deSerializeDouble ( const struct btVector3DoubleData dataIn)

◆ deSerializeFloat()

SIMD_FORCE_INLINE void deSerializeFloat ( const struct btVector3FloatData dataIn)

◆ distance()

SIMD_FORCE_INLINE btScalar distance ( const btVector3 v) const

Return the distance between the ends of this and another vector This is symantically treating the vector like a point.

◆ distance2()

SIMD_FORCE_INLINE btScalar btVector3::distance2 ( const btVector3 v) const

Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point.

Definition at line 939 of file btVector3.h.

References v.

Referenced by btComputeGjkEpaPenetration(), btGjkPairDetector::getClosestPointsNonVirtual(), inSimplex(), and stepForwardAndStrafe().

◆ dot()

SIMD_FORCE_INLINE btScalar dot ( const btVector3 v) const

Return the dot product.

Parameters
vThe other vector in the dot product

Definition at line 229 of file btVector3.h.

References m_floats, v, x(), y(), and z().

Referenced by angle(), dot3(), length2(), maxDot(), and minDot().

◆ dot3()

SIMD_FORCE_INLINE btVector3 dot3 ( const btVector3 v0,
const btVector3 v1,
const btVector3 v2 
) const

Definition at line 720 of file btVector3.h.

References btVector3, dot(), r, v1, and v2.

◆ furthestAxis()

SIMD_FORCE_INLINE int furthestAxis ( ) const

Definition at line 482 of file btVector3.h.

References absolute().

◆ fuzzyZero()

SIMD_FORCE_INLINE bool fuzzyZero ( ) const

Definition at line 688 of file btVector3.h.

References length2(), and SIMD_EPSILON.

Referenced by normalize().

◆ getSkewSymmetricMatrix()

void getSkewSymmetricMatrix ( btVector3 v0,
btVector3 v1,
btVector3 v2 
) const

Definition at line 648 of file btVector3.h.

References V, v1, v2, x(), y(), and z().

◆ getX()

SIMD_FORCE_INLINE const btScalar& getX ( ) const

Return the x value.

Definition at line 561 of file btVector3.h.

References m_floats.

◆ getY()

SIMD_FORCE_INLINE const btScalar& getY ( ) const

Return the y value.

Definition at line 563 of file btVector3.h.

References m_floats.

◆ getZ()

SIMD_FORCE_INLINE const btScalar& getZ ( ) const

Return the z value.

Definition at line 565 of file btVector3.h.

References m_floats.

◆ isZero()

SIMD_FORCE_INLINE bool isZero ( ) const

Definition at line 683 of file btVector3.h.

References m_floats.

◆ length()

SIMD_FORCE_INLINE btScalar length ( ) const

Return the length of the vector.

Definition at line 257 of file btVector3.h.

References btSqrt(), and length2().

Referenced by norm(), and normalize().

◆ length2()

SIMD_FORCE_INLINE btScalar length2 ( ) const

◆ lerp() [1/2]

SIMD_FORCE_INLINE btVector3 lerp ( const btVector3 v,
const btScalar t 
) const

Return the linear interpolation between this and another vector.

Parameters
vThe other vector
tThe ration of this to v (t = 0 => return this, t=1 => return other)

Definition at line 521 of file btVector3.h.

References btVector3, m_floats, t, and v.

◆ lerp() [2/2]

SIMD_FORCE_INLINE btVector3 lerp ( const btVector3 v1,
const btVector3 v2,
const btScalar t 
)

Return the linear interpolation between two vectors.

Parameters
v1One vector
v2The other vector
tThe ration of this to v (t = 0 => return v1, t=1 => return v2)

Definition at line 934 of file btVector3.h.

References t, v1, and v2.

◆ maxAxis()

SIMD_FORCE_INLINE int maxAxis ( ) const

Return the axis with the largest value Note return values are 0,1,2 for x, y, or z.

Definition at line 477 of file btVector3.h.

References m_floats.

Referenced by btConvexHullInternal::compute(), btConvexHullInternal::getCoordinates(), and btConvexHullInternal::shrink().

◆ maxDot()

SIMD_FORCE_INLINE long btVector3::maxDot ( const btVector3 array,
long  array_count,
btScalar dotOut 
) const

returns index of maximum dot product between this and vectors in array[]

Parameters
arrayThe other vectors
array_countThe number of other vectors
dotOutThe maximum dot product

Definition at line 998 of file btVector3.h.

References dot(), m_floats, and SIMD_INFINITY.

Referenced by convexHullSupport(), FindMaxSeparation(), and localGetSupportVertexWithoutMarginNonVirtual().

◆ minAxis()

SIMD_FORCE_INLINE int minAxis ( ) const

Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z.

Definition at line 470 of file btVector3.h.

References m_floats.

Referenced by btConvexHullInternal::compute(), btConvexHullInternal::getCoordinates(), and btConvexHullInternal::shrink().

◆ minDot()

SIMD_FORCE_INLINE long btVector3::minDot ( const btVector3 array,
long  array_count,
btScalar dotOut 
) const

returns index of minimum dot product between this and vectors in array[]

Parameters
arrayThe other vectors
array_countThe number of other vectors
dotOutThe minimum dot product

Definition at line 1033 of file btVector3.h.

References dot(), m_floats, and SIMD_INFINITY.

Referenced by EdgeSeparation(), and FindIncidentEdge().

◆ norm()

SIMD_FORCE_INLINE btScalar norm ( ) const

Return the norm (length) of the vector.

Definition at line 263 of file btVector3.h.

References length().

Referenced by add_node(), Freestyle::SteerableViewMap::AddFEdge(), axisProjection(), bevel_harden_normals(), bindVert(), bsdf_ashikhmin_shirley_eval_reflect(), buildHull(), C_Matrix_OrthoProjection(), C_Matrix_Scale(), btMinkowskiPenetrationDepthSolver::calcPenDepth(), compute_face_normal(), Mesh::Triangle::compute_normal(), computeConeLimitInfo(), Freestyle::GaussianFilter::computeMask(), Freestyle::createStroke(), damptrack_do_transform(), deformVert(), eff_calc_visibility(), libmv::euclidean_resection::EuclideanResectionPPnP(), Freestyle::WFace::getArea(), GetNormal(), GetPointForAngle(), Freestyle::SteerableViewMap::getSVMNumber(), getVerticalAndHorizontalChange(), KDL::Rotation::GetXZRot(), Freestyle::GeomUtils::intersectRayPlane(), Freestyle::NodeTransform::isScaled(), Freestyle::Controller::LoadMesh(), M_Noise_random_unit_vector(), libmv::Dogleg< Function, Jacobian, Solver >::minimize(), minimize(), normalize(), libmv::NormalizeL1(), libmv::NormalizeL2(), libmv::NormalizeLInfinity(), btVectorX< T >::nrm2(), Freestyle::epsilonEquals::operator()(), p_abf_compute_gradient(), p_chart_abf_solve(), btDeformableBodySolver::predictDeformableMotion(), Freestyle::FEdgeXDetector::processShapes(), Freestyle::SphericalGrid::Iterator::reportDepth(), Freestyle::NodeTransform::Rotate(), iTaSC::WDLSSolver::solve(), iTaSC::WSDLSSolver::solve(), IK_QJacobianSolver::Solve(), btSoftColliders::ClusterBase::SolveContact(), libmv::SolveCubicPolynomial(), splineik_evaluate_bone(), mv::TEST(), transform_decompose(), iTaSC::Armature::updateJoint(), Freestyle::Stroke::UpdateLength(), vgroup_fix(), Freestyle::AppView::zfar(), and Freestyle::AppView::znear().

◆ normalize()

SIMD_FORCE_INLINE btVector3& normalize ( )

Normalize this vector x^2 + y^2 + z^2 = 1.

Definition at line 303 of file btVector3.h.

References btAssert, fuzzyZero(), length(), y(), and z().

◆ normalized()

SIMD_FORCE_INLINE btVector3 normalized ( ) const

◆ operator btScalar *()

SIMD_FORCE_INLINE operator btScalar * ( )

operator btScalar*() replaces operator[], using implicit conversion. We added operator != and operator == to avoid pointer comparisons.

Definition at line 586 of file btVector3.h.

References m_floats.

◆ operator const btScalar *()

SIMD_FORCE_INLINE operator const btScalar * ( ) const

Definition at line 587 of file btVector3.h.

References m_floats.

◆ operator!=()

SIMD_FORCE_INLINE bool operator!= ( const btVector3 other) const

Definition at line 601 of file btVector3.h.

◆ operator*() [1/3]

SIMD_FORCE_INLINE btVector3 operator* ( const btScalar s,
const btVector3 v 
)

Return the vector scaled by s.

Definition at line 836 of file btVector3.h.

References v.

◆ operator*() [2/3]

SIMD_FORCE_INLINE btVector3 operator* ( const btVector3 v,
const btScalar s 
)

Return the vector scaled by s.

Definition at line 820 of file btVector3.h.

References btVector3, r, and v.

◆ operator*() [3/3]

SIMD_FORCE_INLINE btVector3 operator* ( const btVector3 v1,
const btVector3 v2 
)

Return the elementwise product of two vectors.

Definition at line 770 of file btVector3.h.

References btVector3, v1, and v2.

◆ operator*=() [1/2]

SIMD_FORCE_INLINE btVector3& operator*= ( const btScalar s)

Scale the vector.

Parameters
sScale factor

Definition at line 191 of file btVector3.h.

References m_floats.

◆ operator*=() [2/2]

SIMD_FORCE_INLINE btVector3& operator*= ( const btVector3 v)

Elementwise multiply this vector by the other.

Parameters
vThe other vector

Definition at line 546 of file btVector3.h.

References m_floats, and v.

◆ operator+()

SIMD_FORCE_INLINE btVector3 operator+ ( const btVector3 v1,
const btVector3 v2 
)

Return the sum of two vectors (Point symantics)

Definition at line 754 of file btVector3.h.

References btVector3, v1, and v2.

◆ operator+=()

SIMD_FORCE_INLINE btVector3& operator+= ( const btVector3 v)

Add a vector to this one.

Parameters
Thevector to add to this one

Definition at line 159 of file btVector3.h.

References m_floats, and v.

◆ operator-() [1/2]

SIMD_FORCE_INLINE btVector3 operator- ( const btVector3 v)

Return the negative of the vector.

Definition at line 806 of file btVector3.h.

References btVector3, r, and v.

◆ operator-() [2/2]

SIMD_FORCE_INLINE btVector3 operator- ( const btVector3 v1,
const btVector3 v2 
)

Return the difference between two vectors.

Definition at line 786 of file btVector3.h.

References btVector3, r, v1, and v2.

◆ operator-=()

SIMD_FORCE_INLINE btVector3& operator-= ( const btVector3 v)

Subtract a vector from this one.

Parameters
Thevector to subtract

Definition at line 175 of file btVector3.h.

References m_floats, and v.

◆ operator/() [1/2]

SIMD_FORCE_INLINE btVector3 operator/ ( const btVector3 v,
const btScalar s 
)

Return the vector inversely scaled by s.

Definition at line 843 of file btVector3.h.

References btFullAssert, btVector3, and v.

◆ operator/() [2/2]

SIMD_FORCE_INLINE btVector3 operator/ ( const btVector3 v1,
const btVector3 v2 
)

Return the vector inversely scaled by s.

Definition at line 860 of file btVector3.h.

References btVector3, v, v1, v2, x(), and y().

◆ operator/=()

SIMD_FORCE_INLINE btVector3& operator/= ( const btScalar s)

Inversely scale the vector.

Parameters
sScale factor to divide by

Definition at line 209 of file btVector3.h.

References btFullAssert.

◆ operator==()

SIMD_FORCE_INLINE bool operator== ( const btVector3 other) const

Definition at line 589 of file btVector3.h.

References m_floats.

◆ rotate()

SIMD_FORCE_INLINE btVector3 rotate ( const btVector3 wAxis,
const btScalar  angle 
) const

◆ safeNorm()

SIMD_FORCE_INLINE btScalar safeNorm ( ) const

Return the norm (length) of the vector.

Definition at line 269 of file btVector3.h.

References btSqrt(), length2(), and SIMD_EPSILON.

Referenced by btDeformableFaceRigidContactConstraint::applyImpulse(), and btMultiBodySliderConstraint::createConstraintRows().

◆ safeNormalize()

SIMD_FORCE_INLINE btVector3& safeNormalize ( )

Definition at line 286 of file btVector3.h.

References btSqrt(), length2(), setValue(), and SIMD_EPSILON.

Referenced by calculateNormalCone().

◆ serialize()

SIMD_FORCE_INLINE void serialize ( struct btVector3Data dataOut) const

◆ serializeDouble()

SIMD_FORCE_INLINE void serializeDouble ( struct btVector3DoubleData dataOut) const

◆ serializeFloat()

SIMD_FORCE_INLINE void serializeFloat ( struct btVector3FloatData dataOut) const

◆ setInterpolate3()

SIMD_FORCE_INLINE void setInterpolate3 ( const btVector3 v0,
const btVector3 v1,
btScalar  rt 
)

Definition at line 492 of file btVector3.h.

References m_floats, and v1.

◆ setMax()

SIMD_FORCE_INLINE void setMax ( const btVector3 other)

Set each element to the max of the current values and the values of another btVector3.

Parameters
otherThe other btVector3 to compare with

Definition at line 609 of file btVector3.h.

References btSetMax(), and m_floats.

◆ setMin()

SIMD_FORCE_INLINE void setMin ( const btVector3 other)

Set each element to the min of the current values and the values of another btVector3.

Parameters
otherThe other btVector3 to compare with

Definition at line 626 of file btVector3.h.

References btSetMin(), and m_floats.

◆ setValue()

SIMD_FORCE_INLINE void setValue ( const btScalar _x,
const btScalar _y,
const btScalar _z 
)

Definition at line 640 of file btVector3.h.

References m_floats.

Referenced by safeNormalize(), and setZero().

◆ setW()

Set the w value.

Definition at line 573 of file btVector3.h.

References m_floats.

◆ setX()

Set the x value.

Definition at line 567 of file btVector3.h.

References m_floats.

◆ setY()

Set the y value.

Definition at line 569 of file btVector3.h.

References m_floats.

◆ setZ()

Set the z value.

Definition at line 571 of file btVector3.h.

References m_floats.

◆ setZero()

void setZero ( )

Definition at line 671 of file btVector3.h.

References setValue().

◆ triple()

SIMD_FORCE_INLINE btScalar triple ( const btVector3 v1,
const btVector3 v2 
) const

Definition at line 419 of file btVector3.h.

References m_floats, T, V, v1, v2, x(), y(), and z().

Referenced by calculatePrincipalAxisTransform().

◆ w()

SIMD_FORCE_INLINE const btScalar& w ( ) const

Return the w value.

Definition at line 581 of file btVector3.h.

References m_floats.

◆ x()

SIMD_FORCE_INLINE const btScalar& x ( ) const

Return the x value.

Definition at line 575 of file btVector3.h.

References m_floats.

Referenced by dot(), getSkewSymmetricMatrix(), operator/(), and triple().

◆ y()

SIMD_FORCE_INLINE const btScalar& y ( ) const

Return the y value.

Definition at line 577 of file btVector3.h.

References m_floats.

Referenced by dot(), getSkewSymmetricMatrix(), normalize(), operator/(), and triple().

◆ z()

SIMD_FORCE_INLINE const btScalar& z ( ) const

Return the z value.

Definition at line 579 of file btVector3.h.

References m_floats.

Referenced by dot(), getSkewSymmetricMatrix(), normalize(), and triple().

Variable Documentation

◆ btVector3

SIMD_FORCE_INLINE btVector3
Initial value:
{
public:
#define BT_DECLARE_ALIGNED_ALLOCATOR()
Definition: btScalar.h:425

btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers

No initialization constructor.

Definition at line 81 of file btVector3.h.

Referenced by _btMprVec3PointSegmentDist2(), GIM_BOX_TREE::_calc_splitting_axis(), btBvhTree::_calc_splitting_axis(), btQuantizedBvhTree::_calc_splitting_axis(), btBvhTree::_sort_and_calc_splitting_index(), btQuantizedBvhTree::_sort_and_calc_splitting_index(), above(), absolute(), btSoftBody::addAeroForceToFace(), btSoftBody::addAeroForceToNode(), btCollisionWorld::addCollisionObject(), btBridgedManifoldResult::addContactPoint(), btManifoldResult::addContactPoint(), btPerturbedContactResult::addContactPoint(), addPoint(), btDeformableLinearElasticityForce::addScaledDampingForce(), btDeformableMassSpringForce::addScaledDampingForce(), btDeformableMousePickingForce::addScaledDampingForce(), btDeformableNeoHookeanForce::addScaledDampingForce(), btDeformableLinearElasticityForce::addScaledDampingForceDifferential(), btDeformableMassSpringForce::addScaledDampingForceDifferential(), btDeformableMousePickingForce::addScaledDampingForceDifferential(), btDeformableNeoHookeanForce::addScaledDampingForceDifferential(), btDeformableCorotatedForce::addScaledElasticForce(), btDeformableLinearElasticityForce::addScaledElasticForce(), btDeformableMassSpringForce::addScaledElasticForce(), btDeformableMousePickingForce::addScaledElasticForce(), btDeformableNeoHookeanForce::addScaledElasticForce(), btDeformableLinearElasticityForce::addScaledElasticForceDifferential(), btDeformableMassSpringForce::addScaledElasticForceDifferential(), btDeformableMousePickingForce::addScaledElasticForceDifferential(), btDeformableNeoHookeanForce::addScaledElasticForceDifferential(), btDeformableGravityForce::addScaledGravityForce(), btDeformableLinearElasticityForce::addScaledHessian(), btKinematicClosestNotMeConvexResultCallback::addSingleResult(), btClosestNotMeConvexResultCallback::addSingleResult(), btCollisionWorld::AllHitsRayResultCallback::addSingleResult(), btSoftBody::Body::angularVelocity(), DeformableContactConstraint::append(), btSoftBody::appendAnchor(), btSoftBody::appendDeformableAnchor(), applyAnisotropicFriction(), btSoftBody::applyClusters(), btRigidBody::applyDamping(), btDeformableBackwardEulerObjective::applyExplicitForce(), btDeformableNodeAnchorConstraint::applyImpulse(), btDeformableNodeRigidContactConstraint::applyImpulse(), btDeformableFaceRigidContactConstraint::applyImpulse(), btDeformableFaceNodeContactConstraint::applyImpulse(), btSoftBody::applyRepulsionForce(), btDeformableNodeRigidContactConstraint::applySplitImpulse(), btDeformableFaceRigidContactConstraint::applySplitImpulse(), appy_transform(), GIM_AABB::appy_transform(), appy_transform_trans_cache(), AreaOf(), btGeometryUtil::areVerticesBehindPlane(), b2CollidePolygons(), BaryCoord(), batchedUnitVectorGetSupportingVertexWithoutMargin(), bt_calc_quantization_parameters(), bt_closest_point_on_segment(), bt_edge_plane(), bt_quantize_clamp(), bt_segment_collision(), bt_unquantize(), btAabbSupport(), btAdjustInternalEdgeContacts(), btAxisSweep3Internal< BP_FP_INT_TYPE >::btAxisSweep3Internal(), btBox2dShape(), btBoxShape(), btClampNormal(), btComputeGjkDistance(), btComputeGjkEpaPenetration(), btComputeMprPenetration(), btComputeSupport(), btConeShape(), btConeTwistConstraint(), btConvexHullShape(), btCreateCompoundFromGimpactShape(), btCylinderShape(), btDeformableMultiBodyDynamicsWorld::btDeformableMultiBodyDynamicsWorld(), btDeformableMultiBodyDynamicsWorld::btDeformableSingleRayCallback::btDeformableSingleRayCallback(), btDiscoverPortal(), btDoSimplex2(), btDoSimplex3(), btDoSimplex4(), btExpandPortal(), btFindPenetr(), btFindPenetrTouch(), btFindPos(), btGenerateInternalEdgeInfo(), btGetAngle(), btGjkEpaCalcPenDepth(), btGjkEpaSolver3_Distance(), btGjkEpaSolver3_Penetration(), btHinge2Constraint(), btHingeConstraint(), btJacobianEntry(), btMprSupport(), btMprVec3Dist2(), btMprVec3PointTriDist2(), btNearestPointInLineSegment(), btPortalDir(), btRayAabb(), btRefinePortal(), btSingleRayCallback::btSingleRayCallback(), btSingleSweepCallback::btSingleSweepCallback(), btSoftBody::btSoftBody(), btSoftMultiBodyDynamicsWorld::btSoftMultiBodyDynamicsWorld(), btSoftRigidDynamicsWorld::btSoftRigidDynamicsWorld(), btSoftSingleRayCallback::btSoftSingleRayCallback(), btTransformAabb(), btTriangleMesh::btTriangleMesh(), btTripleCross(), btUniversalConstraint(), btUnSwapVector3Endian(), btVec3PointSegmentDist2(), btVec3PointTriDist2(), btSparseSdf< CELLSIZE >::BuildCell(), btDeformableMassSpringForce::buildDampingForceDifferentialDiagonal(), KKTPreconditioner::buildDiagonalA(), KKTPreconditioner::buildDiagonalS(), buildHull(), buildJacobian(), btPrimitiveTriangle::buildTriPlane(), btTriangleShapeEx::buildTriPlane(), GIM_BOX_BOX_TRANSFORM_CACHE::calc_absolute_matrix(), calcAnchorPos(), calcAngleInfo(), calcAngleInfo2(), calcArea4Points(), btMinkowskiPenetrationDepthSolver::calcPenDepth(), btGjkEpaPenetrationDepthSolver::calcPenDepth(), calcRollingFriction(), calcSplittingAxis(), btContinuousConvexCollision::calcTimeOfImpact(), btGjkConvexCast::calcTimeOfImpact(), btSubsimplexConvexCast::calcTimeOfImpact(), calculateAabbBruteForce(), calculateAngleInfo(), btDeformableBackwardEulerObjective::calculateContactForce(), btTransformUtil::calculateDiffAxisAngle(), btTransformUtil::calculateDiffAxisAngleQuaternion(), calculateJacobi(), calculateLocalInertia(), btGImpactCompoundShape::calculateLocalInertia(), btGImpactMeshShapePart::calculateLocalInertia(), btGImpactMeshShape::calculateLocalInertia(), calculateNormalCone(), calculatePrincipalAxisTransform(), calculateTemporalAabb(), btSoftBodyConcaveCollisionAlgorithm::calculateTimeOfImpact(), btTransformUtil::calculateVelocity(), btTransformUtil::calculateVelocityQuaternion(), capsuleCapsuleDistance(), ccdVec3Dist2(), btDeformableContactProjection::checkConstraints(), btSoftBody::checkContact(), btSoftBody::checkDeformableContact(), btSoftBody::checkDeformableFaceContact(), btDbvtAabbMm::Classify(), btPrimitiveTriangle::clip_triangle(), btPolyhedralContactClipping::clipFace(), btPolyhedralContactClipping::clipFaceAgainstHull(), btPolyhedralContactClipping::clipHullAgainstHull(), closestPtPointTetrahedron(), closestPtPointTriangle(), btSoftBody::clusterCom(), btSoftBody::clusterDAImpulse(), btSoftBody::clusterDImpulse(), ClusterMetric(), btSoftBody::clusterVAImpulse(), btSoftBody::clusterVImpulse(), SphereTriangleDetector::collide(), GIM_AABB::collide_ray(), collide_ray(), GIM_AABB::collide_triangle_exact(), collide_triangle_exact(), btConvexPlaneCollisionAlgorithm::collideSingleContact(), btConvexHullInternal::compute(), btRigidBody::computeAngularImpulseDenominator(), computeAngularImpulseDenominator(), computeConeLimitInfo(), btRigidBody::computeGyroscopicForceExplicit(), btRigidBody::computeGyroscopicImpulseImplicit_Body(), btRigidBody::computeGyroscopicImpulseImplicit_World(), btRigidBody::computeImpulseDenominator(), computeTwistLimitInfo(), coneLocalSupport(), btCollisionWorld::contactTest(), continuousCollisionDetection(), convertBodies(), btCollisionWorldImporter::convertCollisionShape(), convertContact(), convertJoint(), convexHullSupport(), btCollisionWorld::convexSweepTest(), btDefaultSoftBodySolver::copySoftBodyToVertexBuffer(), createAabbTreeFromChildren(), btMultiBodyFixedConstraint::createConstraintRows(), btMultiBodyGearConstraint::createConstraintRows(), btMultiBodyJointLimitConstraint::createConstraintRows(), btMultiBodyJointMotor::createConstraintRows(), btMultiBodySliderConstraint::createConstraintRows(), btMultiBodySphericalJointMotor::createConstraintRows(), HullLibrary::CreateConvexHull(), btCollisionWorldImporter::createCylinderShapeX(), btCollisionWorldImporter::createCylinderShapeY(), btCollisionWorldImporter::createCylinderShapeZ(), btSoftBodyHelpers::CreateEllipsoid(), btSoftBodyHelpers::CreateFromTriMesh(), btSoftBodyHelpers::CreateFromVtkFile(), btMLCPSolver::createMLCP(), btMLCPSolver::createMLCPFast(), btMultiBodyMLCPConstraintSolver::createMLCPFastRigidBody(), btSoftBodyHelpers::CreatePatch(), btSoftBodyHelpers::CreatePatchUV(), createPredictiveContactsInternal(), btSoftBodyHelpers::CreateRope(), Cross(), cross(), GIM_TRIANGLE_CALCULATION_CACHE::cross_line_intersection_test(), btSoftBody::cutLink(), CylinderLocalSupportX(), CylinderLocalSupportY(), CylinderLocalSupportZ(), btSoftBody::dampClusters(), dBoxBox2(), btRaycastVehicle::debugDraw(), btMultiBodyFixedConstraint::debugDraw(), btMultiBodySliderConstraint::debugDraw(), debugDrawAllBatches(), debugDrawConstraint(), btCollisionWorld::debugDrawObject(), debugDrawPhase(), debugDrawSingleBatch(), btCollisionWorld::debugDrawWorld(), btMultiBodyDynamicsWorld::debugDrawWorld(), btSoftBody::defaultCollisionHandler(), Diagonal(), diagonalize(), btGjkEpaSolver2::Distance(), DistanceBetweenLines(), dLineClosestApproach(), btSoftColliders::CollideSDF_RDF::DoNode(), btSoftColliders::CollideSDF_RS::DoNode(), btSoftColliders::CollideSDF_RD::DoNode(), dot3(), btSoftBodyHelpers::Draw(), btIDebugDraw::drawAabb(), btIDebugDraw::drawArc(), drawBox(), btIDebugDraw::drawBox(), btIDebugDraw::drawCapsule(), btSoftBodyHelpers::DrawClusterTree(), btIDebugDraw::drawCone(), btIDebugDraw::drawCylinder(), btSoftBodyHelpers::DrawFaceTree(), btSoftBodyHelpers::DrawFrame(), btSoftBodyHelpers::DrawNodeTree(), btIDebugDraw::drawPlane(), btIDebugDraw::drawSphere(), btIDebugDraw::drawSpherePatch(), btIDebugDraw::drawTransform(), drawTree(), drawVertex(), btDeformableLagrangianForce::Ds(), btDeformableLagrangianForce::DsFromVelocity(), btSoftBodyHelpers::duplicateFaces(), EdgeSeparation(), gjkepa2_impl::GJK::EncloseOrigin(), GJK< btConvexTemplate >::EncloseOrigin(), evalEulerEqn(), evalEulerEqnDeriv(), btSparseSdf< CELLSIZE >::Evaluate(), GJK< btConvexTemplate >::Evaluate(), gjkepa2_impl::GJK::Evaluate(), gjkepa2_impl::EPA::Evaluate(), EPA< btConvexTemplate >::Evaluate(), btSoftBody::evaluateCom(), EvaluateMedium(), ProcessTrianglesAction::exec(), extractRotation(), btSoftBodyHelpers::extrapolateBarycentricWeights(), fillContactJacobianMultiDof(), fillMultiBodyConstraint(), btPrimitiveTriangle::find_triangle_collision_clip_method(), FindIncidentEdge(), findMaxDynamicConstraintExtent(), FindMaxSeparation(), btTriangleMesh::findOrAddVertex(), btPolyhedralContactClipping::findSeparatingAxis(), btDbvtAabbMm::FromCR(), btSoftBody::generateClusters(), generateUnitOrthogonalVector(), GIM_TRIANGLE::get_edge_plane(), btPrimitiveTriangle::get_edge_plane(), get_limit_motor_info2(), btPlaneShape::get_plane_equation_transformed(), GIM_TRIANGLE::get_triangle_transform(), GIM_TRIANGLE::get_uv_parameters(), getAabb(), btSdfCollisionShape::getAabb(), btTriangleShapeEx::getAabb(), btSoftBodyCollisionShape::getAabb(), getAabbNonVirtual(), getAncorInA(), getAncorInB(), getAngularMotionDisc(), getAnisotropicRollingFrictionDirection(), btConeShapeX::getAnisotropicRollingFrictionDirection(), btConeShapeZ::getAnisotropicRollingFrictionDirection(), btQuaternion::getAxis(), getBarycentric(), btSoftBodyHelpers::getBarycentricWeights(), getBaseOmega(), getBaseVel(), getBernsteinCoeff(), getBoundingSphere(), btDbvtBroadphase::getBroadphaseAabb(), getCacheEntry(), btSoftBody::getCenterOfMass(), btBoxBoxDetector::getClosestPoints(), SphereTriangleDetector::getClosestPoints(), btGjkPairDetector::getClosestPointsNonVirtual(), getColumn(), btConvexHullInternal::getCoordinates(), btDeformableFaceRigidContactConstraint::getDv(), btDeformableFaceNodeContactConstraint::getDv(), btDeformableStaticConstraint::getDv(), btDeformableNodeAnchorConstraint::getDv(), gjkepa2_impl::EPA::getedgedist(), EPA< btConvexTemplate >::getedgedist(), btActionInterface::getFixedBody(), btRaycastVehicle::getForwardVector(), getHalfExtentsWithMargin(), getHingeAngle(), btGearConstraint::getInfo2(), getInfo2Internal(), getInfo2InternalUsingFrameOffset(), getInfo2NonVirtual(), getJs(), btSoftBody::getLinearVelocity(), btRigidBody::getLocalInertia(), btSoftBodyCollisionShape::getLocalScaling(), getNonDiagonal(), getNormalizedVector(), btMinkowskiPenetrationDepthSolver::getPenetrationDirections(), getPlane(), getPlaneEquation(), btGeometryUtil::getPlaneEquationsFromVertices(), GetPointForAngle(), getRelativeVelocity(), btSoftBody::getRigidTransform(), btSphereBoxCollisionAlgorithm::getSphereDistance(), btDeformableRigidContactConstraint::getSplitVa(), btDeformableFaceRigidContactConstraint::getSplitVb(), getUnitSpherePoints(), getUpAxisDirections(), btDeformableStaticConstraint::getVa(), btDeformableNodeAnchorConstraint::getVa(), btDeformableRigidContactConstraint::getVa(), btDeformableStaticConstraint::getVb(), btDeformableFaceRigidContactConstraint::getVb(), btDeformableFaceNodeContactConstraint::getVb(), getVertex(), btGeometryUtil::getVerticesFromPlaneEquations(), btSoftBody::getVolume(), gim_get_point_inertia(), gim_inertia_add_transformed(), btGImpactCollisionAlgorithm::gimpact_vs_concave(), btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision(), GrahamScanConvexHull2D(), hasSeparatingPlane(), HullDesc::HullDesc(), btSoftBody::initDefaults(), gjkepa2_impl::GJK::Initialize(), gjkepa2_impl::EPA::Initialize(), GJK< btConvexTemplate >::Initialize(), EPA< btConvexTemplate >::Initialize(), gjkepa2_impl::Initialize(), Initialize(), initialize2(), btSoftBody::initializeClusters(), btSoftBody::initializeDmInverse(), initializePolyhedralFeatures(), btConvexSeparatingDistanceUtil::initSeparatingDistance(), initSolverBody(), btTransformUtil::integrateTransform(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), integrateTransformsInternal(), internalConvertBodies(), InternalProcessAllTriangles(), MyInternalTriangleIndexCallback::internalProcessTriangleIndex(), internalSetupContactConstraints(), btMiniSDF::interpolate(), GIM_CONTACT::interpolate_normals(), btSoftBodyHelpers::interpolateBarycentricWeights(), btSoftBody::interpolateRenderMesh(), inverseTimes(), invXform(), isInside(), btGeometryUtil::isPointInsidePlanes(), lerp(), btSoftBody::Body::linearVelocity(), lineIntersectsTriangle(), localFrameToWorld(), localGetSupportingVertex(), localGetSupportingVertexWithoutMargin(), localGetSupportVertexNonVirtual(), localGetSupportVertexWithoutMarginNonVirtual(), make_constraint_transforms(), btContactArray::merge_contacts(), gim_contact_array::merge_contacts(), btDeformableBackwardEulerObjective::multiply(), MyIntersect(), NormalizeAny(), notExist(), btCollisionWorld::objectQuerySingleInternal(), ProcessVBoundsAction::operator()(), operator*(), operator+(), operator-(), operator/(), optimizeConvexHull(), orth(), OuterProduct(), outerProduct(), overlapping_trans_cache(), GIM_AABB::overlapping_trans_cache(), btGjkEpaSolver2::Penetration(), performConvexcast(), performRaycast(), PlaneLineIntersection(), plConvexHullGetVertex(), pointOutsideOfPlane(), btDeformableMultiBodyDynamicsWorld::positionCorrection(), btSoftBody::predictMotion(), btSoftBody::CJoint::Prepare(), btSingleRayCallback::process(), btDeformableMultiBodyDynamicsWorld::btDeformableSingleRayCallback::process(), btSoftSingleRayCallback::process(), btCompoundLeafCallback::Process(), btSoftColliders::CollideCL_RS::Process(), btCompoundCompoundLeafCallback::Process(), btSoftColliders::CollideVF_SS::Process(), btSoftColliders::CollideVF_DD::Process(), btSoftColliders::CollideCCD::Process(), btGImpactMeshShapePart::processAllTrianglesRay(), btCompoundLeafCallback::ProcessChildShape(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btConvex2dConvex2dAlgorithm::processCollision(), btConvexConvexAlgorithm::processCollision(), btConvexPlaneCollisionAlgorithm::processCollision(), btSphereBoxCollisionAlgorithm::processCollision(), btSphereSphereCollisionAlgorithm::processCollision(), btSoftColliders::CollideCL_RS::ProcessColObj(), DebugDrawcallback::processTriangle(), btConnectivityProcessor::processTriangle(), b3ProcessAllTrianglesHeightfield::processTriangle(), btScaledTriangleCallback::processTriangle(), btTriangleRaycastCallback::processTriangle(), btSoftBodyTriangleCallback::processTriangle(), btDeformableContactProjection::project(), projection_interval(), GIM_AABB::projection_interval(), btDbvtAabbMm::ProjectMinimum(), gjkepa2_impl::GJK::projectorigin(), GJK< btConvexTemplate >::projectorigin(), ProjectOrigin(), proximityTest(), btSoftBody::PSolve_Anchors(), btSoftBody::PSolve_Links(), btSoftBody::PSolve_RContacts(), btSoftBody::PSolve_SContacts(), btAxisSweep3Internal< BP_FP_INT_TYPE >::quantize(), quantize(), quantizeWithClamp(), quatRotate(), btSdfCollisionShape::queryPoint(), GIM_TRIANGLE::ray_collision(), GIM_TRIANGLE::ray_collision_front_side(), btRaycastVehicle::rayCast(), btSoftBody::RayFromToCaster::rayFromToTriangle(), rayIntersectsTriangle(), btDbvt::rayTest(), btSoftBody::rayTest(), btDbvt::rayTestInternal(), btSoftMultiBodyDynamicsWorld::rayTestSingle(), btSoftRigidDynamicsWorld::rayTestSingle(), btDeformableMultiBodyDynamicsWorld::rayTestSingle(), btCollisionWorld::rayTestSingleInternal(), RB_body_apply_central_force(), RB_body_new(), RB_body_set_angular_factor(), RB_body_set_angular_velocity(), RB_body_set_linear_factor(), RB_body_set_linear_velocity(), RB_body_set_loc_rot(), RB_body_set_mass(), RB_body_set_scale(), RB_compound_add_child_shape(), RB_constraint_new_point(), RB_dworld_set_gravity(), RB_shape_new_box(), RB_shape_new_cylinder(), RB_shape_new_trimesh(), RB_shape_trimesh_update(), RB_world_convex_sweep_test(), btConvexInternalAabbCachingShape::recalcLocalAabb(), btPolyhedralConvexAabbCachingShape::recalcLocalAabb(), recalculateLocalAabb(), recoverFromPenetration(), btSoftBody::refine(), btCollisionWorld::refreshBroadphaseProxy(), btDeformableBodySolver::reinitialize(), btSoftColliders::CollideFF_DD::Repel(), btSoftColliders::CollideCCD::Repel(), reportRayOverlappingNodex(), resolveSingleBilateral(), resolveSingleCollision(), btRigidBody::saveKinematicState(), ScaleAlongAxis(), SegmentSqrDistance(), btDbvtBroadphase::setAabb(), setAngularLimits(), btSoftBody::setAngularVelocity(), setAxis(), btSoftBody::setCollisionQuadrature(), btDeformableContactProjection::setLagrangeMultiplier(), setLinearLimits(), btSoftBody::setLinearVelocity(), setLocalScaling(), setLowerLimit(), setMargin(), setMotorTarget(), setMotorTargetInConstraintSpace(), btSoftBody::setPose(), btDeformableContactProjection::setProjection(), setQuantizationValues(), btSoftBodyTriangleCallback::setTimeStepAndCounters(), setupContactConstraint(), setupFrictionConstraint(), setupMultiBodyContactConstraint(), setupMultiBodyTorsionalFrictionConstraint(), setUpperLimit(), setupSpatialGridBatchesMt(), setupTorsionalFrictionConstraint(), setUpVector(), shortestArcQuat(), btConvexHullInternal::shrink(), btGjkEpaSolver2::SignedDistance(), size(), btSoftBody::LJoint::Solve(), btSoftBody::AJoint::Solve(), btSoftBody::CJoint::Solve(), solve33(), btRotationalLimitMotor::solveAngularLimits(), btDeformableNodeAnchorConstraint::solveConstraint(), btDeformableRigidContactConstraint::solveConstraint(), btDeformableFaceNodeContactConstraint::solveConstraint(), solveConstraintObsolete(), btSoftBody::solveConstraints(), btSoftColliders::ClusterBase::SolveContact(), btTranslationalLimitMotor::solveLinearAxis(), btDeformableRigidContactConstraint::solveSplitImpulse(), GIM_TRIANGLE_CALCULATION_CACHE::sort_isect(), sortAndCalcSplittingIndex(), sortCachedPoints(), stepDown(), stepForwardAndStrafe(), btMiniSDF::subdomain(), btEigen::system(), btReducedVector::testAdd(), testAngLimits(), testContainment(), btDeformableLagrangianForce::testDerivative(), btReducedVector::testDot(), btDeformableLagrangianForce::testHessian(), btReducedVector::testMinus(), btReducedVector::testMultiply(), TestSepAxis(), TestTriangleAgainstAabb2(), ThreePlaneIntersection(), topdown(), btDeformableMousePickingForce::totalDampingEnergy(), btDeformableMassSpringForce::totalElasticEnergy(), btDeformableMousePickingForce::totalElasticEnergy(), btGImpactMeshShapePart::TrimeshPrimitiveManager::TrimeshPrimitiveManager(), TriNormal(), unQuantize(), btDbvt::update(), btSimpleDynamicsWorld::updateAabbs(), btSoftBody::updateBounds(), updateBvhNodes(), btMultibodyLink::updateCacheMultiDof(), updateChildTransform(), updateClosestVectorAndPoints(), btSoftBody::updateClusters(), updateCollisionObjectInterpolationWorldTransforms(), updateCollisionObjectWorldTransforms(), btSoftBody::updateDeformation(), btSoftBody::updateFace(), btRaycastVehicle::updateFriction(), btMultibodyLink::updateInterpolationCacheMultiDof(), btSoftBody::updateNode(), btSoftBody::updateNormals(), btSoftBody::updatePose(), btConvexSeparatingDistanceUtil::updateSeparatingDistance(), btCollisionWorld::updateSingleAabb(), updateTargetPositionBasedOnCollision(), btRaycastVehicle::updateVehicle(), btWheelInfo::updateWheel(), btRaycastVehicle::updateWheelTransform(), VolumeOf(), walkStacklessQuantizedTree(), walkStacklessQuantizedTreeAgainstRay(), walkStacklessTreeAgainstRay(), and writeBackSolverBodyToMultiBody().

◆ m_floats

btScalar m_floats[4]