aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamics')
-rw-r--r--src/dynamics/mod.rs3
-rw-r--r--src/dynamics/rigid_body.rs6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/dynamics/mod.rs b/src/dynamics/mod.rs
index 10cdd29..71b73c9 100644
--- a/src/dynamics/mod.rs
+++ b/src/dynamics/mod.rs
@@ -17,6 +17,9 @@ pub(crate) use self::solver::IslandSolver;
#[cfg(feature = "parallel")]
pub(crate) use self::solver::ParallelIslandSolver;
+#[cfg(feature = "fluids")]
+pub use salva::object::{Boundary, BoundaryHandle, BoundarySet, Fluid, FluidHandle, FluidSet};
+
mod integration_parameters;
mod joint;
mod mass_properties;
diff --git a/src/dynamics/rigid_body.rs b/src/dynamics/rigid_body.rs
index a1a23a0..303d1a0 100644
--- a/src/dynamics/rigid_body.rs
+++ b/src/dynamics/rigid_body.rs
@@ -370,6 +370,12 @@ impl RigidBody {
self.apply_impulse(impulse, wake_up);
self.apply_torque_impulse(torque_impulse, wake_up);
}
+
+ /// The velocity of the given world-space point on this rigid-body.
+ pub fn velocity_at_point(&self, point: &Point<f32>) -> Vector<f32> {
+ let dpt = point - self.world_com;
+ self.linvel + self.angvel.gcross(dpt)
+ }
}
/// A builder for rigid-bodies.