All Versions
28
Latest Version
Avg Release Cycle
40 days
Latest Release
1409 days ago

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.