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
Rémi Verschelde
6ec9383706
Merge pull request #11125 from zavb074/master
...
Removed code that flips normal if facing away from test direction
2017-09-13 19:33:01 +02:00