aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamics/solver/mod.rs')
-rw-r--r--src/dynamics/solver/mod.rs81
1 files changed, 36 insertions, 45 deletions
diff --git a/src/dynamics/solver/mod.rs b/src/dynamics/solver/mod.rs
index 3ffa94c..5b11545 100644
--- a/src/dynamics/solver/mod.rs
+++ b/src/dynamics/solver/mod.rs
@@ -1,56 +1,47 @@
-#[cfg(not(feature = "parallel"))]
+// #[cfg(not(feature = "parallel"))]
pub(crate) use self::island_solver::IslandSolver;
-#[cfg(feature = "parallel")]
-pub(crate) use self::parallel_island_solver::{ParallelIslandSolver, ThreadContext};
-#[cfg(feature = "parallel")]
-pub(self) use self::parallel_solver_constraints::ParallelSolverConstraints;
-#[cfg(feature = "parallel")]
-pub(self) use self::parallel_velocity_solver::ParallelVelocitySolver;
-#[cfg(not(feature = "parallel"))]
-pub(self) use self::solver_constraints::SolverConstraints;
-#[cfg(not(feature = "parallel"))]
+// #[cfg(feature = "parallel")]
+// pub(crate) use self::parallel_island_solver::{ParallelIslandSolver, ThreadContext};
+// #[cfg(feature = "parallel")]
+// pub(self) use self::parallel_solver_constraints::ParallelSolverConstraints;
+// #[cfg(feature = "parallel")]
+// pub(self) use self::parallel_velocity_solver::ParallelVelocitySolver;
+// #[cfg(not(feature = "parallel"))]
+pub(self) use self::solver_constraints_set::SolverConstraintsSet;
+// #[cfg(not(feature = "parallel"))]
pub(self) use self::velocity_solver::VelocitySolver;
-pub(self) use delta_vel::DeltaVel;
-pub(self) use generic_velocity_constraint::*;
-pub(self) use generic_velocity_constraint_element::*;
-pub(self) use generic_velocity_ground_constraint::*;
+
+pub(self) use contact_constraint::*;
pub(self) use interaction_groups::*;
pub(crate) use joint_constraint::MotorParameters;
pub use joint_constraint::*;
-pub(self) use velocity_constraint::*;
-pub(self) use velocity_constraint_element::*;
-#[cfg(feature = "simd-is-enabled")]
-pub(self) use velocity_constraint_wide::*;
-pub(self) use velocity_ground_constraint::*;
-pub(self) use velocity_ground_constraint_element::*;
-#[cfg(feature = "simd-is-enabled")]
-pub(self) use velocity_ground_constraint_wide::*;
+pub(self) use solver_body::SolverBody;
+pub(self) use solver_constraints_set::{AnyConstraintMut, ConstraintTypes};
+pub(self) use solver_vel::SolverVel;
mod categorization;
-mod delta_vel;
-mod generic_velocity_constraint;
-mod generic_velocity_constraint_element;
-mod generic_velocity_ground_constraint;
-mod generic_velocity_ground_constraint_element;
+mod contact_constraint;
mod interaction_groups;
-#[cfg(not(feature = "parallel"))]
+// #[cfg(not(feature = "parallel"))]
mod island_solver;
mod joint_constraint;
-#[cfg(feature = "parallel")]
-mod parallel_island_solver;
-#[cfg(feature = "parallel")]
-mod parallel_solver_constraints;
-#[cfg(feature = "parallel")]
-mod parallel_velocity_solver;
-#[cfg(not(feature = "parallel"))]
-mod solver_constraints;
-mod velocity_constraint;
-mod velocity_constraint_element;
-#[cfg(feature = "simd-is-enabled")]
-mod velocity_constraint_wide;
-mod velocity_ground_constraint;
-mod velocity_ground_constraint_element;
-#[cfg(feature = "simd-is-enabled")]
-mod velocity_ground_constraint_wide;
-#[cfg(not(feature = "parallel"))]
+// #[cfg(feature = "parallel")]
+// mod parallel_island_solver;
+// #[cfg(feature = "parallel")]
+// mod parallel_solver_constraints;
+// #[cfg(feature = "parallel")]
+// mod parallel_velocity_solver;
+mod solver_body;
+// #[cfg(not(feature = "parallel"))]
+mod solver_constraints_set;
+mod solver_vel;
+// #[cfg(not(feature = "parallel"))]
mod velocity_solver;
+
+// TODO: SAFETY: restrict with bytemuck::AnyBitPattern to make this safe.
+pub unsafe fn reset_buffer<T>(buffer: &mut Vec<T>, len: usize) {
+ buffer.clear();
+ buffer.reserve(len);
+ buffer.as_mut_ptr().write_bytes(u8::MAX, len);
+ buffer.set_len(len);
+}