diff options
| author | Sébastien Crozet <developer@crozet.re> | 2021-04-01 11:00:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-01 11:00:27 +0200 |
| commit | f8536e73fc092da5ded5c793d513c59296949aff (patch) | |
| tree | 50af9e4312b22ea2c1cabc0e6d80dc73e59b3104 /src/counters | |
| parent | 4b637c66ca40695f97f1ebdc38965e0d83ac5934 (diff) | |
| parent | cc3f16eb85f23a86ddd9d182d967cb12acc32354 (diff) | |
| download | rapier-f8536e73fc092da5ded5c793d513c59296949aff.tar.gz rapier-f8536e73fc092da5ded5c793d513c59296949aff.tar.bz2 rapier-f8536e73fc092da5ded5c793d513c59296949aff.zip | |
Merge pull request #157 from dimforge/ccd
Implement Continuous Collision Detection
Diffstat (limited to 'src/counters')
| -rw-r--r-- | src/counters/collision_detection_counters.rs | 7 | ||||
| -rw-r--r-- | src/counters/mod.rs | 12 | ||||
| -rw-r--r-- | src/counters/stages_counters.rs | 9 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/counters/collision_detection_counters.rs b/src/counters/collision_detection_counters.rs index d164452..90c5141 100644 --- a/src/counters/collision_detection_counters.rs +++ b/src/counters/collision_detection_counters.rs @@ -21,6 +21,13 @@ impl CollisionDetectionCounters { narrow_phase_time: Timer::new(), } } + + /// Resets all the coounters and timers. + pub fn reset(&mut self) { + self.ncontact_pairs = 0; + self.broad_phase_time.reset(); + self.narrow_phase_time.reset(); + } } impl Display for CollisionDetectionCounters { diff --git a/src/counters/mod.rs b/src/counters/mod.rs index c172350..4d4d05d 100644 --- a/src/counters/mod.rs +++ b/src/counters/mod.rs @@ -114,6 +114,18 @@ impl Counters { pub fn set_ncontact_pairs(&mut self, n: usize) { self.cd.ncontact_pairs = n; } + + /// Resets all the counters and timers. + pub fn reset(&mut self) { + if self.enabled { + self.step_time.reset(); + self.custom.reset(); + self.stages.reset(); + self.cd.reset(); + self.solver.reset(); + self.ccd.reset(); + } + } } macro_rules! measure_method { diff --git a/src/counters/stages_counters.rs b/src/counters/stages_counters.rs index 856b759..b61adb7 100644 --- a/src/counters/stages_counters.rs +++ b/src/counters/stages_counters.rs @@ -27,6 +27,15 @@ impl StagesCounters { ccd_time: Timer::new(), } } + + /// Resets all the counters and timers. + pub fn reset(&mut self) { + self.update_time.reset(); + self.collision_detection_time.reset(); + self.island_construction_time.reset(); + self.solver_time.reset(); + self.ccd_time.reset(); + } } impl Display for StagesCounters { |
