forked from StrafesNET/strafe-client
absurd test: swap left and right faces + parities
This commit is contained in:
parent
47560bb25f
commit
38731c4a10
@ -163,7 +163,7 @@ impl From<&crate::model::IndexedModel> for PhysicsMesh{
|
|||||||
let (edge_ref_faces,edge_id)=edge_pool.push(edge_ref_verts);
|
let (edge_ref_faces,edge_id)=edge_pool.push(edge_ref_verts);
|
||||||
//polygon vertices as assumed to be listed clockwise
|
//polygon vertices as assumed to be listed clockwise
|
||||||
//populate the edge face on the left or right depending on how the edge vertices got sorted
|
//populate the edge face on the left or right depending on how the edge vertices got sorted
|
||||||
edge_ref_faces.push(is_sorted as usize,face_id);
|
edge_ref_faces.push(!is_sorted as usize,face_id);
|
||||||
//index edges & face into vertices
|
//index edges & face into vertices
|
||||||
{
|
{
|
||||||
let vert_ref_guy=unsafe{vert_ref_guys.get_unchecked_mut(vert0_id)};
|
let vert_ref_guy=unsafe{vert_ref_guys.get_unchecked_mut(vert0_id)};
|
||||||
@ -579,7 +579,7 @@ impl MeshQuery<MinkowskiFace,MinkowskiDirectedEdge,MinkowskiVert> for MinkowskiM
|
|||||||
let &[e1f0,e1f1]=self.mesh1.edge_faces(e1).borrow();
|
let &[e1f0,e1f1]=self.mesh1.edge_faces(e1).borrow();
|
||||||
let e1f0_n=self.mesh0.face_nd(e1f0).0;
|
let e1f0_n=self.mesh0.face_nd(e1f0).0;
|
||||||
let e1f1_n=self.mesh0.face_nd(e1f1).0;
|
let e1f1_n=self.mesh0.face_nd(e1f1).0;
|
||||||
Cow::Owned([(e1f1,e1f1_n,e1f0_n,false),(e1f0,e1f0_n,e1f1_n,true)].map(|(edge_face_id1,edge_face1_n,edge_other_face1_n,face_parity)|{
|
Cow::Owned([(e1f1,e1f1_n,e1f0_n,true),(e1f0,e1f0_n,e1f1_n,false)].map(|(edge_face_id1,edge_face1_n,edge_other_face1_n,face_parity)|{
|
||||||
let mut best_edge=None;
|
let mut best_edge=None;
|
||||||
let mut best_d=Planar64::MAX;
|
let mut best_d=Planar64::MAX;
|
||||||
let edge_face1_nn=edge_face1_n.dot(edge_face1_n);
|
let edge_face1_nn=edge_face1_n.dot(edge_face1_n);
|
||||||
@ -608,7 +608,7 @@ impl MeshQuery<MinkowskiFace,MinkowskiDirectedEdge,MinkowskiVert> for MinkowskiM
|
|||||||
let &[e0f0,e0f1]=self.mesh0.edge_faces(e0).borrow();
|
let &[e0f0,e0f1]=self.mesh0.edge_faces(e0).borrow();
|
||||||
let e0f0_n=self.mesh0.face_nd(e0f0).0;
|
let e0f0_n=self.mesh0.face_nd(e0f0).0;
|
||||||
let e0f1_n=self.mesh0.face_nd(e0f1).0;
|
let e0f1_n=self.mesh0.face_nd(e0f1).0;
|
||||||
Cow::Owned([(e0f0,e0f0_n,e0f1_n,false),(e0f1,e0f1_n,e0f0_n,true)].map(|(edge_face_id0,edge_face0_n,edge_other_face0_n,face_parity)|{
|
Cow::Owned([(e0f0,e0f0_n,e0f1_n,true),(e0f1,e0f1_n,e0f0_n,false)].map(|(edge_face_id0,edge_face0_n,edge_other_face0_n,face_parity)|{
|
||||||
let mut best_edge=None;
|
let mut best_edge=None;
|
||||||
let mut best_d=Planar64::MAX;
|
let mut best_d=Planar64::MAX;
|
||||||
let edge_face0_nn=edge_face0_n.dot(edge_face0_n);
|
let edge_face0_nn=edge_face0_n.dot(edge_face0_n);
|
||||||
|
Loading…
Reference in New Issue
Block a user