fix usage of Cow in model_physics
This commit is contained in:
parent
2faa61225f
commit
83a067320b
@ -84,11 +84,11 @@ pub trait MeshQuery{
|
|||||||
}
|
}
|
||||||
fn vert(&self,vert_id:Self::Vert)->Planar64Vec3;
|
fn vert(&self,vert_id:Self::Vert)->Planar64Vec3;
|
||||||
fn face_nd(&self,face_id:Self::Face)->(Self::Normal,Self::Offset);
|
fn face_nd(&self,face_id:Self::Face)->(Self::Normal,Self::Offset);
|
||||||
fn face_edges(&self,face_id:Self::Face)->Cow<Vec<Self::Edge>>;
|
fn face_edges(&self,face_id:Self::Face)->Cow<[Self::Edge]>;
|
||||||
fn edge_faces(&self,edge_id:<Self::Edge as DirectedEdge>::UndirectedEdge)->Cow<[Self::Face;2]>;
|
fn edge_faces(&self,edge_id:<Self::Edge as DirectedEdge>::UndirectedEdge)->Cow<[Self::Face;2]>;
|
||||||
fn edge_verts(&self,edge_id:<Self::Edge as DirectedEdge>::UndirectedEdge)->Cow<[Self::Vert;2]>;
|
fn edge_verts(&self,edge_id:<Self::Edge as DirectedEdge>::UndirectedEdge)->Cow<[Self::Vert;2]>;
|
||||||
fn vert_edges(&self,vert_id:Self::Vert)->Cow<Vec<Self::Edge>>;
|
fn vert_edges(&self,vert_id:Self::Vert)->Cow<[Self::Edge]>;
|
||||||
fn vert_faces(&self,vert_id:Self::Vert)->Cow<Vec<Self::Face>>;
|
fn vert_faces(&self,vert_id:Self::Vert)->Cow<[Self::Face]>;
|
||||||
}
|
}
|
||||||
struct FaceRefs{
|
struct FaceRefs{
|
||||||
edges:Vec<SubmeshDirectedEdgeId>,
|
edges:Vec<SubmeshDirectedEdgeId>,
|
||||||
@ -434,7 +434,7 @@ impl MeshQuery for PhysicsMeshView<'_>{
|
|||||||
let vert_idx=self.topology.verts[vert_id.get() as usize].get() as usize;
|
let vert_idx=self.topology.verts[vert_id.get() as usize].get() as usize;
|
||||||
self.data.verts[vert_idx].0
|
self.data.verts[vert_idx].0
|
||||||
}
|
}
|
||||||
fn face_edges(&self,face_id:SubmeshFaceId)->Cow<Vec<SubmeshDirectedEdgeId>>{
|
fn face_edges(&self,face_id:SubmeshFaceId)->Cow<[SubmeshDirectedEdgeId]>{
|
||||||
Cow::Borrowed(&self.topology.face_topology[face_id.get() as usize].edges)
|
Cow::Borrowed(&self.topology.face_topology[face_id.get() as usize].edges)
|
||||||
}
|
}
|
||||||
fn edge_faces(&self,edge_id:SubmeshEdgeId)->Cow<[SubmeshFaceId;2]>{
|
fn edge_faces(&self,edge_id:SubmeshEdgeId)->Cow<[SubmeshFaceId;2]>{
|
||||||
@ -443,10 +443,10 @@ impl MeshQuery for PhysicsMeshView<'_>{
|
|||||||
fn edge_verts(&self,edge_id:SubmeshEdgeId)->Cow<[SubmeshVertId;2]>{
|
fn edge_verts(&self,edge_id:SubmeshEdgeId)->Cow<[SubmeshVertId;2]>{
|
||||||
Cow::Borrowed(&self.topology.edge_topology[edge_id.get() as usize].verts)
|
Cow::Borrowed(&self.topology.edge_topology[edge_id.get() as usize].verts)
|
||||||
}
|
}
|
||||||
fn vert_edges(&self,vert_id:SubmeshVertId)->Cow<Vec<SubmeshDirectedEdgeId>>{
|
fn vert_edges(&self,vert_id:SubmeshVertId)->Cow<[SubmeshDirectedEdgeId]>{
|
||||||
Cow::Borrowed(&self.topology.vert_topology[vert_id.get() as usize].edges)
|
Cow::Borrowed(&self.topology.vert_topology[vert_id.get() as usize].edges)
|
||||||
}
|
}
|
||||||
fn vert_faces(&self,vert_id:SubmeshVertId)->Cow<Vec<SubmeshFaceId>>{
|
fn vert_faces(&self,vert_id:SubmeshVertId)->Cow<[SubmeshFaceId]>{
|
||||||
Cow::Borrowed(&self.topology.vert_topology[vert_id.get() as usize].faces)
|
Cow::Borrowed(&self.topology.vert_topology[vert_id.get() as usize].faces)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,7 +512,7 @@ impl MeshQuery for TransformedMesh<'_>{
|
|||||||
self.transform.vertex.transform_point3(self.view.vert(vert_id)).fix_1()
|
self.transform.vertex.transform_point3(self.view.vert(vert_id)).fix_1()
|
||||||
}
|
}
|
||||||
#[inline]
|
#[inline]
|
||||||
fn face_edges(&self,face_id:SubmeshFaceId)->Cow<Vec<SubmeshDirectedEdgeId>>{
|
fn face_edges(&self,face_id:SubmeshFaceId)->Cow<[SubmeshDirectedEdgeId]>{
|
||||||
self.view.face_edges(face_id)
|
self.view.face_edges(face_id)
|
||||||
}
|
}
|
||||||
#[inline]
|
#[inline]
|
||||||
@ -524,11 +524,11 @@ impl MeshQuery for TransformedMesh<'_>{
|
|||||||
self.view.edge_verts(edge_id)
|
self.view.edge_verts(edge_id)
|
||||||
}
|
}
|
||||||
#[inline]
|
#[inline]
|
||||||
fn vert_edges(&self,vert_id:SubmeshVertId)->Cow<Vec<SubmeshDirectedEdgeId>>{
|
fn vert_edges(&self,vert_id:SubmeshVertId)->Cow<[SubmeshDirectedEdgeId]>{
|
||||||
self.view.vert_edges(vert_id)
|
self.view.vert_edges(vert_id)
|
||||||
}
|
}
|
||||||
#[inline]
|
#[inline]
|
||||||
fn vert_faces(&self,vert_id:SubmeshVertId)->Cow<Vec<SubmeshFaceId>>{
|
fn vert_faces(&self,vert_id:SubmeshVertId)->Cow<[SubmeshFaceId]>{
|
||||||
self.view.vert_faces(vert_id)
|
self.view.vert_faces(vert_id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -838,7 +838,7 @@ impl MeshQuery for MinkowskiMesh<'_>{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn face_edges(&self,face_id:MinkowskiFace)->Cow<Vec<MinkowskiDirectedEdge>>{
|
fn face_edges(&self,face_id:MinkowskiFace)->Cow<[MinkowskiDirectedEdge]>{
|
||||||
match face_id{
|
match face_id{
|
||||||
MinkowskiFace::VertFace(v0,f1)=>{
|
MinkowskiFace::VertFace(v0,f1)=>{
|
||||||
Cow::Owned(self.mesh1.face_edges(f1).iter().map(|&edge_id1|{
|
Cow::Owned(self.mesh1.face_edges(f1).iter().map(|&edge_id1|{
|
||||||
@ -939,7 +939,7 @@ impl MeshQuery for MinkowskiMesh<'_>{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn vert_edges(&self,vert_id:MinkowskiVert)->Cow<Vec<MinkowskiDirectedEdge>>{
|
fn vert_edges(&self,vert_id:MinkowskiVert)->Cow<[MinkowskiDirectedEdge]>{
|
||||||
match vert_id{
|
match vert_id{
|
||||||
MinkowskiVert::VertVert(v0,v1)=>{
|
MinkowskiVert::VertVert(v0,v1)=>{
|
||||||
let mut edges=Vec::new();
|
let mut edges=Vec::new();
|
||||||
@ -981,7 +981,7 @@ impl MeshQuery for MinkowskiMesh<'_>{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn vert_faces(&self,_vert_id:MinkowskiVert)->Cow<Vec<MinkowskiFace>>{
|
fn vert_faces(&self,_vert_id:MinkowskiVert)->Cow<[MinkowskiFace]>{
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user