All Versions
28
Latest Version
Avg Release Cycle
40 days
Latest Release
1683 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v0.16.0 Changes
🐛 Bug-fixes and dependencies updates.
-
v0.15.0 Changes
➕ Added
* This re-adds time-of-impact computation in the `query`module. * Add `::try_from_points(...)` methods to construct a 2D `ConvexPolygon` or an 3D `Convex` shape from a set of point. The convex hull of those points are automatically computed.
Modified
* All the dependencies have been updated to their latest.
-
v0.14.0 Changes
➕ Added
* The EPA algorithm in both 2D and 3D. * Voronoï region based simplex projection algorithms for 2D and 3D (and used for the GJK instead of the n-dimensional Johnson algorithm). * `SupportMap::support_point_toward` that takes a direction that is already normalized.
Modified
* The `Plane` geometry is now initialized with a `Unit` vector. Its `.normal()` method also returns a `Unit` vector. * The `Contact<...>` structure now represents the contact normal as a `Unit<Vector<N>>` instead of just a `Vector<N>`. * All the fields of `CollisionObject` are now private and must be accessed using methods. * The trait Point now requires additional methods to compute the normal of a face and to project the origin on it. * Everything is now Send/Sync (useful for, e.g., ECS compatibility). * Rename `RichPointQuery` -> `PointQueryWithLocation`. * Rename `RichPointQuery::project_point_with_extra_info` -> `PointQueryWithLocation::project_point_with_location`. * Rename `CollisionWorld::deferred_add -> CollisionWorld::add`. Now, the addition is performed immediately. * Rename `CollisionWorld::deferred_remove -> CollisionWorld::remove`. Now, the removal is performed immediately. * Rename `CollisionWorld::deferred_set_position -> CollisionWorld::set_position`. Now, the change of position is performed immediately. * The interface of `BroadPhase` has been significantly altered: now the uid allocated to each object added to the broad phase is automatically generated by the broad phase itself. * Rename `BroadPhase::deferred_remove -> BroadPhase::remove`. Now the removal is performed immediately.
-
v0.12.0 Changes
Modified
* The `ShapeHandle` is now a `Arc<Shape<N>>` instead of `Arc<Box<Shape<N>>>` (this removes one allocation indirection). * Update to nalgebra 0.12.
-
v0.11.0 Changes
* Update to nalgebra 0.11.0.
-
v0.10.0 Changes
➕ Added
* Re-export `Ray2`, `Ray3`, `RayIntersection2`, and `RayIntersection3` on the `query` module.
Modified
* Rename `.perform_removals_and_broad_phase()` -> `.perform_additions_removals_and_broad_phase()`. * Rename the collision world method `.add()` to `.deferred_add()`. * The collision world `.deferred_set_position()` now fails with a meaningful error when the user attempts to set the position of an object not actually added (including those that have been `.deferred_add()`-ed without a subsequent `.update()`.
-
v0.9.0 Changes
➕ Added
* Added 2D and 3D testbeds (available on crates.io as `ncollide_testbed2d` and `ncollide_testbed3d`). * Added a method to the narrow phase to retrieve all the proximity pairs. * Added a method to the collision world to retrieve all the proximity pairs. * Added a method to the collision world to retrieve the collision object from its identifier.
Modified
* Merge the `ncollide_queries` and `ncollide_entities` crates into `ncollide_geometry`. * Rename the `geometry` module to `query`. * `::implicit_shape_aabb(...)` becomes `::support_map_aabb(...)` * `CompositeShape::aabb_at(...)` now returns an AABB by-value (instead of by-ref). * `PointQuery::distance_to_point(...)` now has a `solid` flag as well. * Point queries result now indicates if the point was inside of the object or not by returning a `PointProjection` structure instead of just the point. * Rename `CollisionGroups::can_collide_with` to `CollisionGroups::can_interact_with`. * Rename `NarrowPhase::handle_proximity` to `NarrowPhase::handle_interaction`. * Rename all `.*CollisionDetector` to `.*ContactGenerator`. Methods have been renamed as well (e.g. `.get_collision_algorithm` becomes `.get_contact_algorithm`, `.colls` becomes `.contacts`, etc.) * Rename `CollisionQueryType` to `GeometricQueryType`. * Moved the `ray` and `point` modules into the `query` module. Also, they are renamed `ray_internal` and `point_internal`.
✂ Removed
* Removed the `CompositeShape::len()` method.
-
v0.8.0 Changes
➕ Added
* Added proximity queries, including persistant proximity detector and algorithm dispatcher. * Added methods to set directly collision group membership/whitelist/blacklist.
Modified
* The last type parameter of the `BVTCostFn` trait (the user-defined data return by leaves) is now an associated type. * The shape handles `Arc<Box<Repr<N>>>` are now wrapped into a structure with a more explicit name: `ShapeHandle<N>`. * Renamed `Convex` to `ConvexHull` * Swapped the first two arguments of `CompositeShape::map_transformed_part_at`. * All fields of `Polyline` are now private. Added corresponding accessors.