|
Blender V5.0
|
#include "LinearMath/btScalar.h"Go to the source code of this file.
Macros | |
| #define | GREAL btScalar |
| #define | GREAL2 double |
| #define | GINT int |
| #define | GUINT unsigned int |
| #define | GSHORT short |
| #define | GUSHORT unsigned short |
| #define | GINT64 long long |
| #define | GUINT64 unsigned long long |
| #define | G_PI 3.14159265358979f |
| #define | G_HALF_PI 1.5707963f |
| #define | G_TWO_PI 6.28318530f |
| #define | G_ROOT3 1.73205f |
| #define | G_ROOT2 1.41421f |
| #define | G_UINT_INFINITY 0xffffffff |
| A very very high value. | |
| #define | G_REAL_INFINITY FLT_MAX |
| #define | G_SIGN_BITMASK 0x80000000 |
| #define | G_EPSILON SIMD_EPSILON |
| #define | G_DEGTORAD(X) |
| #define | G_RADTODEG(X) |
| #define | GIM_IR(x) |
| Integer representation of a floating-point value. | |
| #define | GIM_SIR(x) |
| Signed integer representation of a floating-point value. | |
| #define | GIM_AIR(x) |
| Absolute integer representation of a floating-point value. | |
| #define | GIM_FR(x) |
| Floating-point representation of an integer value. | |
| #define | GIM_MAX(a, b) |
| #define | GIM_MIN(a, b) |
| #define | GIM_MAX3(a, b, c) |
| #define | GIM_MIN3(a, b, c) |
| #define | GIM_IS_ZERO(value) |
| #define | GIM_IS_NEGATIVE(value) |
| #define | GIM_IS_POSISITVE(value) |
| #define | GIM_NEAR_EQUAL(v1, v2) |
| #define | GIM_CLAMP(number, minval, maxval) |
| returns a clamped number | |
| #define | GIM_GREATER(x, y) |
| #define | GIM_SWAP_NUMBERS(a, b) |
| Swap numbers. | |
| #define | GIM_INV_SQRT(va, isva) |
| #define | GIM_SQRT(va, sva) |
Enumerations | |
| enum | GIM_SCALAR_TYPES { G_STYPE_REAL = 0 , G_STYPE_REAL2 , G_STYPE_SHORT , G_STYPE_USHORT , G_STYPE_INT , G_STYPE_UINT , G_STYPE_INT64 , G_STYPE_UINT64 } |
Functions | |
| GREAL | gim_inv_sqrt (GREAL f) |
| Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html. | |
| GREAL | gim_sqrt (GREAL f) |
Definition in file gim_math.h.
| #define G_DEGTORAD | ( | X | ) |
Definition at line 70 of file gim_math.h.
| #define G_EPSILON SIMD_EPSILON |
Definition at line 56 of file gim_math.h.
Referenced by GIM_TRIANGLE::get_uv_parameters(), GIM_TRIANGLE_CONTACT_DATA::mergepoints_generic(), PLANE_CLIP_POLYGON_COLLECT(), PLANE_CLIP_POLYGON_GENERIC(), PLANE_CLIP_SEGMENT2(), PLANE_CLIP_TRIANGLE_GENERIC(), and SEGMENT_COLLISION().
| #define G_HALF_PI 1.5707963f |
Definition at line 47 of file gim_math.h.
| #define G_PI 3.14159265358979f |
Definition at line 46 of file gim_math.h.
| #define G_RADTODEG | ( | X | ) |
Definition at line 71 of file gim_math.h.
| #define G_REAL_INFINITY FLT_MAX |
Definition at line 54 of file gim_math.h.
Referenced by GIM_AABB::invalidate(), GIM_TRIANGLE::ray_collision(), and GIM_TRIANGLE::ray_collision_front_side().
| #define G_ROOT2 1.41421f |
Definition at line 52 of file gim_math.h.
| #define G_ROOT3 1.73205f |
Definition at line 51 of file gim_math.h.
| #define G_SIGN_BITMASK 0x80000000 |
Definition at line 55 of file gim_math.h.
| #define G_TWO_PI 6.28318530f |
Definition at line 49 of file gim_math.h.
| #define G_UINT_INFINITY 0xffffffff |
A very very high value.
Definition at line 53 of file gim_math.h.
Referenced by GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::GIM_TREE_TREE_COLLIDER().
| #define GIM_AIR | ( | x | ) |
Absolute integer representation of a floating-point value.
Definition at line 80 of file gim_math.h.
| #define GIM_CLAMP | ( | number, | |
| minval, | |||
| maxval ) |
returns a clamped number
Definition at line 100 of file gim_math.h.
Referenced by SEGMENT_COLLISION().
| #define GIM_FR | ( | x | ) |
Definition at line 102 of file gim_math.h.
Referenced by GIM_AABB::collide_ray(), and GIM_AABB::overlapping_trans_cache().
| #define GIM_INV_SQRT | ( | va, | |
| isva ) |
Definition at line 112 of file gim_math.h.
Referenced by gim_inv_sqrt(), and GIM_CONTACT::interpolate_normals().
| #define GIM_IR | ( | x | ) |
Integer representation of a floating-point value.
Definition at line 74 of file gim_math.h.
| #define GIM_IS_NEGATIVE | ( | value | ) |
Definition at line 93 of file gim_math.h.
| #define GIM_IS_POSISITVE | ( | value | ) |
Definition at line 95 of file gim_math.h.
| #define GIM_IS_ZERO | ( | value | ) |
Definition at line 91 of file gim_math.h.
Referenced by BOX_AXIS_INTERSECT(), INTERSECT_PLANES(), and LINE_INTERSECTION_PARAMS().
| #define GIM_MAX | ( | a, | |
| b ) |
Definition at line 85 of file gim_math.h.
Referenced by BOX_AXIS_INTERSECT(), GIM_AABB::find_intersection(), GIM_AABB::merge(), and GIM_AABB::merge_point().
| #define GIM_MAX3 | ( | a, | |
| b, | |||
| c ) |
Definition at line 88 of file gim_math.h.
Referenced by GIM_AABB::calc_from_triangle(), GIM_AABB::calc_from_triangle_margin(), GIM_AABB::GIM_AABB(), GIM_AABB::GIM_AABB(), and GIM_TRIANGLE_CALCULATION_CACHE::triangle_collision().
| #define GIM_MIN | ( | a, | |
| b ) |
Definition at line 86 of file gim_math.h.
Referenced by BOX_AXIS_INTERSECT(), GIM_AABB::find_intersection(), GIM_AABB::merge(), and GIM_AABB::merge_point().
| #define GIM_MIN3 | ( | a, | |
| b, | |||
| c ) |
Definition at line 89 of file gim_math.h.
Referenced by GIM_AABB::calc_from_triangle(), GIM_AABB::calc_from_triangle_margin(), GIM_AABB::GIM_AABB(), GIM_AABB::GIM_AABB(), and GIM_TRIANGLE_CALCULATION_CACHE::triangle_collision().
| #define GIM_NEAR_EQUAL | ( | v1, | |
| v2 ) |
Definition at line 97 of file gim_math.h.
| #define GIM_SIR | ( | x | ) |
Signed integer representation of a floating-point value.
Definition at line 77 of file gim_math.h.
| #define GIM_SQRT | ( | va, | |
| sva ) |
Definition at line 127 of file gim_math.h.
Referenced by gim_sqrt().
| #define GIM_SWAP_NUMBERS | ( | a, | |
| b ) |
Swap numbers.
Definition at line 105 of file gim_math.h.
Referenced by BOX_AXIS_INTERSECT(), SEGMENT_COLLISION(), and GIM_TRIANGLE_CALCULATION_CACHE::sort_isect().
| #define GINT int |
Definition at line 39 of file gim_math.h.
Referenced by GIM_CONTACT::calc_key_contact().
Definition at line 43 of file gim_math.h.
| #define GREAL btScalar |
Definition at line 37 of file gim_math.h.
Referenced by BOX_AXIS_INTERSECT(), CLOSEST_POINT_ON_SEGMENT(), GIM_TRIANGLE_CALCULATION_CACHE::compute_intervals(), GIM_TRIANGLE_CALCULATION_CACHE::cross_line_intersection_test(), GIM_TRIANGLE::get_uv_parameters(), GIM_AABB::GIM_AABB(), GIM_CONTACT::GIM_CONTACT(), gim_inv_sqrt(), gim_sqrt(), GIM_CONTACT::interpolate_normals(), INTERSECT_PLANES(), GIM_TRIANGLE::is_point_inside(), LINE_INTERSECTION_PARAMS(), LINE_PLANE_COLLISION(), gim_contact_array::merge_contacts_unique(), GIM_TRIANGLE_CONTACT_DATA::merge_points(), GIM_TRIANGLE_CONTACT_DATA::mergepoints_generic(), DISTANCE_PLANE_3D_FUNC::operator()(), PLANE_CLIP_POLYGON_COLLECT(), PLANE_CLIP_POLYGON_GENERIC(), PLANE_CLIP_SEGMENT(), PLANE_CLIP_SEGMENT2(), PLANE_CLIP_TRIANGLE_GENERIC(), POINT_IN_HULL(), gim_contact_array::push_contact(), GIM_TRIANGLE::ray_collision(), GIM_TRIANGLE::ray_collision_front_side(), RAY_PLANE_COLLISION(), SEGMENT_COLLISION(), GIM_TRIANGLE_CALCULATION_CACHE::sort_isect(), and GIM_TRIANGLE_CALCULATION_CACHE::triangle_collision().
| #define GREAL2 double |
Definition at line 38 of file gim_math.h.
| #define GSHORT short |
Definition at line 41 of file gim_math.h.
| #define GUINT unsigned int |
Definition at line 40 of file gim_math.h.
Referenced by gim_hash_table< T >::_assign_hash_table_cell(), GIM_BOX_TREE::_build_sub_tree(), GIM_BOX_TREE::_calc_splitting_axis(), gim_hash_table< T >::_erase_by_index_hash_table(), gim_hash_table< T >::_erase_hash_table(), gim_hash_table< T >::_erase_sorted(), gim_hash_table< T >::_erase_unsorted(), gim_hash_table< T >::_find_avaliable_cell(), gim_hash_table< T >::_find_cell(), gim_hash_table< T >::_insert_hash_table(), gim_hash_table< T >::_insert_hash_table_replace(), gim_hash_table< T >::_insert_in_pos(), gim_hash_table< T >::_insert_sorted(), gim_hash_table< T >::_insert_sorted_replace(), gim_hash_table< T >::_insert_unsorted(), gim_hash_table< T >::_invalidate_keys(), gim_hash_table< T >::_rehash(), gim_hash_table< T >::_reserve_table_memory(), gim_hash_table< T >::_resize_table(), GIM_BOX_TREE::_sort_and_calc_splitting_index(), gim_array< T >::at(), gim_array< T >::at(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQuery(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet(), GIM_CONTACT::calc_key_contact(), gim_bitset::clear(), gim_hash_table< T >::clear(), gim_bitset::clear_all(), gim_array< T >::clear_range(), GIM_TRIANGLE_CALCULATION_CACHE::clip_triangle(), GIM_TRIANGLE_CALCULATION_CACHE::compute_intervals(), GIM_TRIANGLE_CONTACT_DATA::copy_from(), GIM_TRIANGLE_CALCULATION_CACHE::cross_line_intersection_test(), gim_array< T >::erase(), gim_hash_table< T >::erase_by_index(), gim_hash_table< T >::erase_by_index_unsorted(), gim_hash_table< T >::erase_by_key(), gim_array< T >::erase_sorted(), gim_array< T >::erase_sorted_mem(), gim_hash_table< T >::find(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs(), gim_bitset::get(), GIM_TRIANGLE::get_edge_plane(), gim_hash_table< T >::get_key(), gim_array< T >::get_pointer_at(), gim_array< T >::get_pointer_at(), GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_box(), GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_count(), GIM_PRIMITIVE_MANAGER_PROTOTYPE::get_primitive_triangle(), GIM_TRIANGLE::get_uv_parameters(), gim_hash_table< T >::get_value(), gim_hash_table< T >::get_value_by_index(), GIM_BOX_TREE::getLeftNodeIndex(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getLeftNodeIndex(), GIM_BOX_TREE::getNodeBound(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeBound(), GIM_BOX_TREE::getNodeCount(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeCount(), GIM_BOX_TREE::getNodeData(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeData(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeTriangle(), GIM_BOX_TREE::getRightNodeIndex(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getRightNodeIndex(), GIM_BOX_TREE::getScapeNodeIndex(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getScapeNodeIndex(), gim_array< T >::gim_array(), gim_binary_search(), gim_binary_search_ex(), gim_bitset::gim_bitset(), GIM_CONTACT::GIM_CONTACT(), gim_down_heap(), gim_hash_table< T >::gim_hash_table(), GIM_HASH_TABLE_NODE< T >::GIM_HASH_TABLE_NODE(), gim_heap_sort(), gim_next_prime(), gim_radix_sort(), gim_radix_sort_array_tokens(), gim_radix_sort_rtokens(), gim_sort_hash_node_array(), gim_array< T >::growingCheck(), gim_array< T >::insert(), gim_hash_table< T >::insert(), gim_array< T >::insert_mem(), gim_hash_table< T >::insert_override(), gim_hash_table< T >::insert_unsorted(), GIM_CONTACT::interpolate_normals(), GIM_BOX_TREE::isLeafNode(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::isLeafNode(), LINE_PLANE_COLLISION(), gim_array< T >::max_size(), gim_contact_array::merge_contacts(), gim_contact_array::merge_contacts_unique(), GIM_TRIANGLE_CONTACT_DATA::merge_points(), GIM_TRIANGLE_CONTACT_DATA::mergepoints_generic(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::node_collision(), GIM_HASH_NODE_CMP_KEY_MACRO::operator()(), GIM_HASH_NODE_GET_KEY::operator()(), uint_key_func::operator()(), gim_hash_table< T >::operator[](), gim_hash_table< T >::operator[](), PLANE_CLIP_POLYGON3D(), PLANE_CLIP_POLYGON_COLLECT(), PLANE_CLIP_POLYGON_GENERIC(), PLANE_CLIP_TRIANGLE3D(), PLANE_CLIP_TRIANGLE_GENERIC(), POINT_IN_HULL(), gim_contact_array::push_contact(), gim_pair_set::push_pair(), gim_pair_set::push_pair_inv(), gim_contact_array::push_triangle_contacts(), GIM_TRIANGLE::ray_collision(), GIM_TRIANGLE::ray_collision_front_side(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::rayQuery(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::refit(), gim_array< T >::reserve(), gim_array< T >::resize(), gim_bitset::resize(), gim_array< T >::resizeData(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node0_info(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node0_triangle(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node1_info(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::retrieve_node1_triangle(), gim_bitset::set(), gim_bitset::set_all(), GIM_BOX_TREE::setNodeBound(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::setNodeBound(), gim_array< T >::size(), gim_bitset::size(), gim_hash_table< T >::size(), gim_hash_table< T >::sort(), SORT_3_INDICES(), GIM_TRIANGLE_CALCULATION_CACHE::sort_isect(), gim_array< T >::swap(), and GIM_TRIANGLE_CALCULATION_CACHE::triangle_collision().
Definition at line 44 of file gim_math.h.
| #define GUSHORT unsigned short |
Definition at line 42 of file gim_math.h.
| enum GIM_SCALAR_TYPES |
| Enumerator | |
|---|---|
| G_STYPE_REAL | |
| G_STYPE_REAL2 | |
| G_STYPE_SHORT | |
| G_STYPE_USHORT | |
| G_STYPE_INT | |
| G_STYPE_UINT | |
| G_STYPE_INT64 | |
| G_STYPE_UINT64 | |
Definition at line 58 of file gim_math.h.
Computes 1.0f / sqrtf(x). Comes from Quake3. See http://www.magic-software.com/3DGEDInvSqrt.html.
Definition at line 134 of file gim_math.h.
References GIM_INV_SQRT, and GREAL.