This commit is contained in:
Quaternions 2023-11-21 20:28:24 -08:00
parent cdfa4db1c9
commit 481a37e0f4

View File

@ -956,6 +956,7 @@ impl TouchingState{
//detect model collision in reverse //detect model collision in reverse
let model_mesh=models.mesh(intersect.model_id); let model_mesh=models.mesh(intersect.model_id);
let minkowski=crate::model_physics::MinkowskiMesh::minkowski_sum(&model_mesh,&style_mesh); let minkowski=crate::model_physics::MinkowskiMesh::minkowski_sum(&model_mesh,&style_mesh);
println!("### predict_collision_out id={} body={} time_limit={}",intersect.model_id,relative_body,collector.time());
collector.collect(minkowski.predict_collision_out(&relative_body,collector.time()).map(|(face,time)|{ collector.collect(minkowski.predict_collision_out(&relative_body,collector.time()).map(|(face,time)|{
TimedInstruction{ TimedInstruction{
time, time,
@ -1295,6 +1296,7 @@ impl crate::instruction::InstructionEmitter<PhysicsInstruction> for PhysicsState
//no checks are needed because of the time limits. //no checks are needed because of the time limits.
let model_mesh=self.models.mesh(id); let model_mesh=self.models.mesh(id);
let minkowski=crate::model_physics::MinkowskiMesh::minkowski_sum(&model_mesh,&style_mesh); let minkowski=crate::model_physics::MinkowskiMesh::minkowski_sum(&model_mesh,&style_mesh);
println!("### predict_collision_in id={} body={} time_limit={}",id,relative_body,collector.time());
collector.collect(minkowski.predict_collision_in(&relative_body,collector.time()) collector.collect(minkowski.predict_collision_in(&relative_body,collector.time())
//temp (?) code to avoid collision loops //temp (?) code to avoid collision loops
.map_or(None,|(face,time)|if time==self.time{None}else{Some((face,time))}) .map_or(None,|(face,time)|if time==self.time{None}else{Some((face,time))})
@ -1916,4 +1918,4 @@ fn already_inside_hit_nothing(){
Planar64Vec3::int(0,1,0), Planar64Vec3::int(0,1,0),
Time::ZERO Time::ZERO
),None); ),None);
} }