Rémi Verschelde
03e11c13bf
Add check to clang 6.0 compiler bug workaround
...
Extending on b68222e4e7
to ensure that it still
has the exact same behaviour as the previous code, as discussed with @hpvb.
2018-07-26 17:25:16 +02:00
Rémi Verschelde
ef93fec789
Merge pull request #15643 from organicpencil/bullet_contact_impulse
...
Expose PhysicsDirectBodyState.get_contact_impulse
2018-07-26 15:36:37 +02:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Rémi Verschelde
f778bd8e69
Merge pull request #20404 from TigerCaldwell/master
...
Ensured consistency between RigidBody, PhysicsDirectBodyState, PhysicsServers and their 2D counterparts
2018-07-25 08:25:34 +02:00
Tiger Caldwell
40c7716586
Modified RigidBody, PhysicsDirectBodyState, PhysicsServer, and their respective 2D counterparts to be more consistent and to include more useful methods.
...
RigidBody:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
RigidBody2D:
- Added add_central_force
- Added add_torque
- Added apply_central_impulse
- Added apply_torque_impulse
PhysicsDirectBodyState:
- Added apply_central_impulse
Physics2DDirectBodyState:
- Added add_central_force
- Added add_force
- Added add_torque
- Added apply_central_impulse
- Added apply_impulse
- Added apply_torque_impulse
PhysicsServer:
- Added body_add_force
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
Physics2DServer:
- Added body_add_torque
- Added body_add_central_force
- Added body_apply_central_impulse
- Added body_apply_torque_impulse
Also fixed some small bugs along the way
2018-07-24 05:00:56 -04:00
Wilson E. Alvarez
a22e746bc3
Removed unnecessary assignments
2018-07-24 09:51:03 +02:00
AndreaCatania
17ebbfb56d
Implemented Soft body
...
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky
1ad20dc2f1
Merge pull request #12403 from AndreaCatania/phymat
...
Physics material
2018-07-23 07:37:03 -03:00
Juan Linietsky
2b9902db06
-Fix disable_3d flag
...
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21 17:26:49 -03:00
muiroc
0a36e974da
added cylinder shape support
2018-07-01 11:16:54 +02:00
bruvzg
b68222e4e7
Workaround for clang 6 bug.
2018-05-14 18:11:26 +03:00
AndreaCatania
5f66734d2d
Implemented physics material
...
Hidden a function
Fixed travis static check
2018-05-11 03:23:09 +02:00
Rémi Verschelde
bf7ca623a6
Fix Coverity reports of uninitialized scalar variable
...
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Juan Linietsky
10448063c4
Merge pull request #17594 from ivodopiviz/float-overflow
...
Changed debug max distance to avoid overflow
2018-04-08 09:14:29 -03:00
Marcelo Fernandez
9042ef3836
Fix missing const in CapsuleShapeSW::get_area
2018-03-21 23:58:40 -03:00
Ivan Vodopiviz
55f79f2e80
Changed debug max distance to avoid overflow
...
Changed it to roughly sqrt(FLT_MAX), it's a little less to account for float inaccuracies.
Fixes #1835
2018-03-17 23:32:07 +01:00
Rémi Verschelde
497a4e9e25
Merge pull request #16757 from AndreaCatania/kinpush
...
Improved kinematic body, Now can move rigid body
2018-02-20 15:41:10 +01:00
Andrea Catania
6ed392f47a
Improved kinematic body 2D and 3D, Now can move rigid body
2018-02-20 12:43:47 +01:00
Rémi Verschelde
b2aeb02e7d
Merge pull request #16530 from AndreaCatania/rays
...
Improved ray shape (2D and 3D) by addiing the possibility to act as r…
2018-02-19 22:15:49 +01:00
Andrea Catania
ffc3ef8677
Improved ray shape (2D and 3D) by addiing the possibility to act as regular shape
2018-02-19 20:59:57 +01:00
Rémi Verschelde
be67f2e4ba
Merge pull request #16751 from AndreaCatania/moreAPIs
...
Added Physics state APIs
2018-02-19 20:22:18 +01:00
Artem Varaksa
d35e486228
Clean up some bad words from code comments
2018-02-17 16:00:39 +03:00
Andrea Catania
a930797c31
Added Physics state APIs
2018-02-16 17:48:07 +01:00
Andrea Catania
a42765dada
Added physics API in order to enable/disable collisions between rigidbody attached to a joint with bullet physics bullet
...
Fixes #16424
2018-02-05 18:54:07 +01:00
Paolo Perkovic
08d4bfacaf
Fix inconsistencies and typos in argument names
2018-02-01 16:47:20 +01:00
Lee Pugh
ac26bf0fb4
Expose PhysicsDirectBodyState.get_contact_impulse
2018-01-12 15:27:45 -06:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
AndreaCatania
5dee44bbc1
Implemented physics linear and angular lock
2017-12-10 17:21:14 +01:00
Rémi Verschelde
25b36f18d3
Merge pull request #12756 from Stratos695/master
...
Allowing double-axis lock in RigidBody & KinematicBody (Fixes #12500 )
2017-12-09 13:01:41 +01:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
AndreaCatania
d6e413bb9c
Removed type_mask and fixed some variable name
2017-11-21 22:56:40 +01:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Eric Rybicki
bd5df84199
Allow double-axis lock in RigidBody and KinematicBody
2017-11-10 22:33:54 +01:00
Juan Linietsky
19b1ff0fc5
Disabled filter clip by default and made it optional, fixes #12368 , likely others too
2017-11-10 09:22:25 -03:00
Juan Linietsky
50a9bd4e23
Merge pull request #12713 from AndreaCatania/master
...
Rewritten kinematic system
2017-11-09 16:08:58 -03:00
Rémi Verschelde
0095d642c7
Merge pull request #11379 from m4nu3lf/feature/no_bias_overrotation
...
Avoid bias over rotation in contact resolution
2017-11-08 08:19:28 +01:00
AndreaCatania
10f879bf88
Rewritten kinematic system
2017-11-07 15:22:09 +01:00
Rémi Verschelde
cb3f594b14
Merge pull request #11249 from m4nu3lf/bugfix/get_euler
...
Fix inertia tensor update & Generic6DOFJoint & Simplify Basis::get_euler()
2017-10-31 23:03:01 +01:00
Rémi Verschelde
24b3733f3b
Merge pull request #10770 from RandomShaper/fix-joints
...
Fix joints collision exceptions, plus a bit more
2017-10-31 23:02:37 +01:00
Pedro J. Estébanez
7b12ae39f2
Rename RayCasts collision_layer to collision_mask
...
The point is that `RayCast`s are checked against objects' `collision_layer`(s), but they themselves are considered no to _belong_ to any layer. Therefore, the correct name for their property is `collision_mask`, rather than `collision_layer`.
Only renaming is needed since the behavior was already the right one, only that it wasn't matching what users would expect from the name and description of the property.
Fixes #7589 , where it's also discussed.
2017-10-21 22:17:47 +02:00
Grosskopf
f8c7d32987
Added documentation for 3D Joints, the 2D Pin Joint, and the Physicsservers, also a minor bugfix in the 3D Pinjoint.
2017-10-14 22:17:26 +02:00
Rémi Verschelde
8e9b99fe59
Merge pull request #11702 from AndreaCatania/bodyDS
...
Added new API to get body direct state
2017-10-09 11:01:36 +02:00
AndreaCatania
4537977d6d
Renamed fixed_process to physics_process
2017-09-30 16:19:07 +02:00
AndreaCatania
c56c67db39
Added new API to get body direct state
2017-09-29 17:33:30 +02:00
m4nu3lf
0cb8d3ccbf
Fix wrong index in get_euler_xyz and wrong get_euler in G6DF Joint
2017-09-22 20:06:23 +01:00
m4nu3lf
d4452e3a65
Fix Inertia tensor update & Generic 6DOF Joint
2017-09-22 20:05:02 +01:00
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
2017-09-20 13:11:10 +02:00
m4nu3lf
650d5630af
Avoid bias overrotation in contact resolution
2017-09-18 18:31:58 +01:00
Wilson E. Alvarez
072e379ffe
Renamed function arguments to keep them consistent between declaration and implementation
2017-09-14 13:49:15 -04:00