aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-10-12 12:31:58 +0200
committerCrozet Sébastien <developer@crozet.re>2020-11-19 13:54:03 +0100
commitc26c3af50803e964c86df52a0c29bc74362aea71 (patch)
tree726bc737848fa2528d9c4bd5fd8ab5a63ae98e9b /src/dynamics
parent3f619d81ffc7899330e94ac34d3992a508dcf41b (diff)
downloadrapier-c26c3af50803e964c86df52a0c29bc74362aea71.tar.gz
rapier-c26c3af50803e964c86df52a0c29bc74362aea71.tar.bz2
rapier-c26c3af50803e964c86df52a0c29bc74362aea71.zip
Start integrating salva into rapier.
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.